Главная страница

теория-билеты экзамен по информатике. Система счисления это совокупность приемов и правил, по которым числа записываются и читаются


Скачать 144.81 Kb.
НазваниеСистема счисления это совокупность приемов и правил, по которым числа записываются и читаются
Анкортеория-билеты экзамен по информатике
Дата18.05.2022
Размер144.81 Kb.
Формат файлаdocx
Имя файлаInfaBilety_Teoria.docx
ТипДокументы
#537403
страница2 из 5
1   2   3   4   5

Управляющие конструкции языка: оператор if-else. Стандартные функции ввода-вывода scanf и printf.
Другие управляющие конструкции языка С/C++: циклы while и for, операторы пропуска итерации цикла continue и выхода из цикла break. Операторы, которые лучше не использовать: цикл с постусловием do-while (вместо него лучше использовать циклы с предусловием while и for), вычисляемый оператор перехода switch (вместо него лучше использовать конструкцию выбора
if—else if—else if—...else if— else).
Разбиение программы на функции, описание прототипов функций и их реализация, использование функций.




Билет №5, №22, №37. Условный оператор (if … else …). Переключатель (switch).

Оператор if:

Оператор выбора if позволяет нам выполнять или не выполнять определенные участки кода, в зависимости от того является ли истинным или ложным условие этого оператора. Одно из самых важных назначений оператора выбора if так это то, что он позволяет программе совершить действие на выбор, в зависимости от того, какие данные ввел пользователь.

Перед тем как начать разбираться в структуре оператора if, стоит обратить внимание на такие значения как ИСТИНА и ЛОЖЬ в контексте программирования и компьютерной терминологии.

Истинное значение (ИСТИНА) имеет значение отличное от нуля, ЛОЖЬ эквивалентна нулю. При использовании операторов сравнения, оператор будет возвращать единицу, если выражение сравнения — истинно, или — 0, если условное выражение ложно. Например, выражение 3 == 2 вернет значение 0, так как три не равно двум. Выражение 5 == 5 оценивается как истинное и вернет значение 1.

==

равно

5 == 5 - это истина

!=

не равно

3 != 2 - это истина

>

больше

7 > 6 - это истина

>=

больше или равно

1 <= 1 - это истина

<

меньше

5 < 5 - это ложь

<=

меньше или равно

3 <= 2 - это ложь

Структура if:

if ( условное выражение )

   // тут располагается один оператор, который выполнится, если условное выражение - истинно

Пример:

if ( 7 > 6 )

    printf"Семь больше шести" );

В этом примере программа оценивает условное выражение — «семь больше шести?» Чтобы увидеть результат работы этого фрагмента кода просто вставьте его в функцию main() и не забудьте включить заголовок stdio.h, запускаем программу и видим результат — true. Конструкция оператора выбора if c фигурными скобочками:

if ( TRUE ) {

    /* весь код который помещен внутрь скобок - выполнится */

}

Оператор else:

Иногда, когда условное выражение — ложное, было бы удобно, чтобы выполнялся некоторый код, отличный от того кода, который выполняется при ИСТИННОМ условии. Как же это делается?

Вот пример использования оператора if else:

if ( TRUE ) {

    /* выполняется этот код, если условие истинно  */

}

else {

    /* выполняется этот код, если условие ложно  */

}

Конструкция else if:

Обычно операторы else if используют, когда необходим множественный выбор, то есть, например, определены несколько условий, которые одновременно могут быть истинными, но нам необходимо только одно истинное условное выражение. Вы можете использовать оператор if else сразу после оператора выбора if, после его тела. В таком случае, если условие первого оператора выбора — ИСТИННО, тогда конструкция else if будет игнорироваться, тогда как в противном случае, если условие первого оператора выбора — ЛОЖНО, начнет выполняться проверка в конструкции else if. То есть если условие одного оператора if будет истинно, то другие проверяться не будут. Теперь чтобы все это хорошо закрепить в голове и понять, давайте рассмотрим простой пример с использование конструкций операторов выбора.

#include      

#include

int main()

{

    int age;                              

    printf"Сколько вам лет? " );       

    scanf"%d", &age );                 // ввод пользователем количества лет

    if ( age < 100 ) {                   // если введенный возраст меньше 100

        printf ("Вы очень молоды!\n" );  // показываем что программа сработала верно

    }

    else if ( age == 100 ) {             // используем else для примера

        printf"Молодость уже позади\n" ); // \n - символ перевода на новую строку

    }

    else {

        printf"Столько не живут\n" );  // если ни одно из выше-перечисленных условий не подошло, то программа покажет этот вариант ответа

    }

  return 0;

}

Оператор-переключатель switch:

Оператор выбора switch является очень удобной заменой множественного использования операторов if. Оператор switch сравнивает значение одной переменной с несколькими константами. Основной формат для использования оператора множественного выбора switch case показан — ниже. Значение переменной указанной в условии switch сравнивается со значениями, которые следуют за ключевым словом case. Когда значение в переменной, соответствует значению в строке с оператором case, компьютер продолжит выполнение программы с этого места.

switch /*variable*/ ) {

case const1:

  /*Тут находится код, который необходимо выполнить, если переменная  variable будет равна const1*/

  break;

case const2:

  /*этот код выполнится, если variable будет равна const2*/

  break;

/*...*/

default:

  /*Код, который выполнится, если ни одно из константных значению не соответствует значение в переменной variable*/

  break;

}

Когда сравниваемое значение в переменной variable совпадет с первым значением оператора case, программа начнет выполнять код, который находится между текущим оператором case и оператором break. Оператор break используется для того, чтобы прерывать ход программы в операторе switch и передавать управление следующему оператору, после switch. Если не использовать оператор break, то, сразу после того, как выполнится один блок кода, программа переключится на выполнения следующего case, даже, если константное значение не будет равно значению в переменной variable. Поэтому, в операторе выбора switch, блоки кода после case всегда должны предваряться оператором break.

Также стоит обратить внимание на ключевое слово default, оно не является обязательным, но в то же время оно необходимо для обработки неожиданных ситуаций. Например, когда значение переменной не совпадает ни с одним из значений case, в таком случае выполнится код, который находится в ветке default. Это может быть полезно, в случае, если мы не ожидаем, что ни одно из значений case не совпало со значением переменной в условии switch. В таком случае, мы увидим, что сработал код в ветке default.

Пример:

#include

 

int main()

{

    printf"Что бы сегодня посмотреть?\n" );

    printf"1. Стрела(Arrow)\n" );

    printf"2. Сверхъестественное(Supernatural)\n" );

    printf"3. Ходячие мертвецы(Walking Dead)\n" );

    printf"4. Выход\n" );

    printf"Ваш выбор: " );

    int input;

    scanf"%d", &input );

    switch ( input ) {

        case 1:            /* обратите внимание на двоеточие, точки с запятой тут нет */

            printf( "«His Death Was Just The Beginning»\n" );

            break;

        case 2:

            printf( "«Scary Just Got Sexy»\n" );

            break;

        case 3:

            printf( "«Fight the dead. Fear the living»\n" );

            break;

        case 4:

            printf"Сегодня смотреть ничего не будем :(\n" );

            break;

        default:

            printf"Неправильный ввод\n" );

    }

    getchar();

    return 0;

}

Итак, как же работает этот код? Для начала, мы сделали небольшое меню (строки 5 — 10), чтобы как-то информировать пользователя, что необходимо водить в программу. Как вы уже поняли, необходимо ввести число — 1, 2, 3 или 4. В зависимости от введенного числа, программа будет срабатывать по-разному. В данном примере очень хорошо видно, что вводимое значение сохраняется в переменную input, и после этого, значение в этой переменной передается в оператор switch, строка 13. В строках 13 — 29 объявлен оператор множественного выбора switch. Как же он работает? Очень просто, по порядку программа сравнивает переменную input со значениями 1, 2, 3 и 4 . Например, если мы ввели число 3, то программа выполнит код, который находится в строках 21-22, при вводе единицы, программа напечатает сообщение из строки 15. Ну, а, если мы ввели другое число, отличное от заданных, выполнится блок кода в строке 27.

Билет 6 (36)

  1. Операторы цикла (while , do while, for )

1. while

Оператор while позволяет циклически выполнять определенную последовательность операторов до тех пор, пока истинно некоторое условие, проверяемое перед началом очередной итерации цикла (цикл с предусловием). Формально его синтаксис может быть описан следующей формулой:

while (expression) statement

где while - ключевое слово языка Си; expression - произвольное выражение, приводимое к логическому значению (условие продолжения итераций); statement - простой или составной оператор (тело цикла)

Если значение выражения expression истинно, то тело цикла выполняется до тех пор, пока это выражение не станет ложным, причем проверка производится всякий раз перед началом очередной итерации цикла. Если же значение выражения ложно в момент инициализации цикла, то тело цикла не выполняется ни разу и управление передается оператору, следующему за оператором while

2. do-while

Принципиальное назначение этого оператора такое же, как и оператора while. Семантическое различие двух этих операторов цикла состоит лишь в том, что в рассматриваемом случае условие продолжения проверяется после завершения очередной итерации (цикл с постусловием). В общем виде оператор do-while записывается следующим образом:

do statement while (expression);

где do и while - ключевые слова языка Си; statement - простой или составной оператор (тело цикла); expression - произвольное выражение, приводимое к логическому значению (условие продолжения итераций)

После однократного выполнения тела цикла вычисляется значение выражения expression. Если найденное значение истинно, то выполняется очередная итерация цикла. Этот процесс повторяется до тех пор, пока значение выражения не станет ложным, после чего управление передается оператору, непосредственно следующему за оператором do-while. Таким образом, тело цикла всегда будет выполнено хотя бы один раз

3. for

Оператор for объединяет в себе инициализацию переменных, проверку условия продолжения итераций и модификацию переменных перед выполнением очередной итерации

Общая форма записи оператора цикла for такова:

for (expression1; expression2; expression3) statement

где for - ключевое слово языка Си; expression1, expression2 и expression3 - произвольные выражения, причем второе из них приводится к логическому значению; statement - простой или составной оператор (тело цикла)

Любое из трех выражений, входящих в заголовок цикла, может быть опущено при сохранении следующей за ним точки с запятой

Перед началом выполнения цикла вычисляется значение инициализирующего выражения expression1 и значение выражения expression2, играющего роль условия продолжения итераций. Если expression2 истинно, то выполняется оператор statement тела цикла, вычисляется корректирующее выражение expression3 и вновь проверяется истинность выражения expression2

Этот процесс повторяется до тех пор, пока условие продолжения итераций не станет ложным, после чего управление передается оператору, следующему за оператором for. В случае отсутствия выражения expression2 ему условно присваивается постоянное значение "истина", что равносильно бесконечному циклическому процессу

Билет 7, 21, 35
1   2   3   4   5


написать администратору сайта