Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab_cpp.doc
Скачиваний:
10
Добавлен:
07.06.2015
Размер:
2.81 Mб
Скачать

Контрольные вопросы для подготовки и самостоятельной работы

  1. С помощью каких операторов можно досрочно завершать выполнение операторов цикла?

  2. Какие выражения можно использовать в операторе цикла?

  3. Как интерпретируются значения выражений операторов цикла? Какого типа могут быть эти выражения?

  4. Можно ли записать следующие операторы: for (; ;); while (); do while(i--); for (; i && j ; i++, j- -); for (int i, k ; ; i+=2) j++ ; k-=5;?: Объясните, почему можно или нельзя ?

  5. Объясните результат работы приведенных операторов.

  6. В чём разница в работе операторов с предусловием и с постусловием?

  7. Каково назначение выражений в операторе for?

  8. Зачем используются составные операторы (операторные скобки)?

  9. С помощью какого оператора можно прекратить выполнение текущей итерации в цикле?

  10. Назовите порядок вычисления и интерпретации выражений в операторе for.

  11. Объясните работу операторов в примерах.

Лабораторная работа №5 Разветвляющийся вычислительный процесс с различными логическими условиями: оператор if... Else, условная операция (?:), оператор switch, оператор break, оператор goto (2 часа)

Цель работы: Изучить реализацию в языке ветвящихся вычислительных процессов . Научиться писать программы, используя операторы: ветвления if...else, переключения switch в паре с оператором break, оператор перехода goto, тернарную условную операцию (?:).

Теоретические сведения

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

Оператор if…else (если…иначе)

Формат оператора if…else приведен ниже:

if(<выражение>) <оператор 1>

[else <оператор2>]

Действия оператора зависят от значения выражения. Реализация различных возможностей выполняется следующими способами. Если <выражение> в скобках не равно (“Истинно”), то будет выполнятся <оператор1>. В противном случае, если указанное <выражение> равно (“Ложно”), то будет выполняться <оператор2> в блоке else, если он присутствует.

В теле оператора if может находиться один или более операторов. Если должны выполняться два или более операторов, их необходимо заключить в операторные скобки: "{" и "}". <Выражение> представляет собой запись логического условия или условий. Например: 1) if(i<=j)...; 2) if(size= =a)...; 3) if(t>10 && v<3) ..; 4) if(a){…}else{…}; 5) if(!a){…}else{…}.

В первом случае <выражение> истинно, если значение переменной i будет меньше или равно значению переменной j; во втором случае условие будет истинно, если значения переменных size и a будут равны; в третьем выражении истина будет соблюдаться, когда переменная t будет больше десяти “И” (&&) переменная v будет меньше трех. В четвертом случае первый блок будет выполняться при а не равном , в противном случае выполняется блок после else. В пятом выполняются действия, обратные, указанные в четвертом варианте. Вместо переменных можно использовать выражения, которые будут непосредственно вычисляться, например: if ( (i+2)/3 < 4*j )...выделение. Основные операции, которые ставятся между сравниваемыми величинами, следующие :

= = - знак "равно" (Не путать с присваиванием "="(!));

! = - знак "не равно";

< - знак "меньше";

<= - знак "меньше или равно";

> - знак "больше";

> = - знак "больше или равно".

Основные логические операции, которые ставятся между сравниваемыми выражениями (если их два как в примере 3 или более), следующие :

! - операция "НЕ". Пример: if ( !(num % 2) )... // истина -если num нечетно.

&& - операция "И". Пример 3 (см. выше).

|| - операция "ИЛИ". Пример: if ( i+n*2<l || i%2=0)...

Детально логические операции будут рассмотрены в следующей лабораторной работе. Ниже приведен фрагмент программы, который выполняет следующие действия: запрашивает на ввод три числа и выдает в результате сравнения наименьшее из них. Оператор if…else допускает возможность вложенности при ветвлении, что обеспечивает гибкость реализации логики и компактность записи операторов.

Пример

...

printf("Ввести три числа через пробел: ");

scanf(" %d%d%d ", &a, &b, &c);

if (a<=b && a<=c) printf("\ n Наименьшее: %d", a);

else

if (b<=a && b<=c) printf("\ n Наименьшее: %d", b);

else printf("\ n Наименьшее: %d", c);

...

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]