68976

Умовний оператор. Оператор вибору. Цикли

Лекция

Информатика, кибернетика и программирование

Виконання тіла оператора-перемикача switch починається з вибраного таким чином оператора і продовжується до кінця тіла або до тих пір, поки який-небудь оператор не передасть управління за межі тіла. Оператор, наступний за ключовим словом default, виконується, якщо жодна з...

Украинкский

2014-09-28

38 KB

0 чел.

Лекція № 3

Тема: Умовний оператор. Оператор вибору. Цикли.

План

  1.  Умовний оператор If
  2.  Оператор вибору
  3.  Цикл з передумовою
  4.  Цикл з післяумовою
  5.  Цикл for

Умовний оператор if

Синтаксис:

if (< вираз>) < оператор 1>

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

Тіло умовного оператора if виконується залежно від значення < виразу >.  Спочатку обчислюється < вираз>,  якщо значення виразу істина (не рівно нулю), то виконується <оператор 1>,  якщо ж значення виразу помилково, то виконується <оператор 2>, безпосередньо наступний за ключовим словом else. Якщо значення <виразу> помилкове, але конструкція else опущена, то управління передається на оператор, наступний в програмі за оператором if. Приклад:

if ( і > 0 )  у = х / і;

else x =і;

у = f(x);

В прикладі, якщо і більше нуля, виконується оператор у = х/і;. Якщо і менше або рівно нулю, то значення і приcсвоюється змінній х, а значення, яке повертається функцією f(x), присвоюється змінній у.

Оператор if може бути вкладений в  <onepamop1> або <оператор2> іншого оператора if. При вкладенні операторов if рекомендується для ясності групування операторів використовувати   фігурні   дужки, які обмежують  < оператор1 >  і  <оператор2>.

Якщо ж фігурні дужки відсутні, то компілятор асоціює кожне ключове слово else з найближчим оператором if, у якого відсутня конструкція else.

Оператор вибору

Синтаксис:

switch (<вираз>)

{

[ < оголошення > ]

[case < константний - вираз >: ] [ < оператор > ]

[case < константний - вираз >: ] [<оператор> ]

[default:< оператор > ]

}

Дія:

Оператор-перемикач switch призначений для вибору одного з декількох альтернативних шляхів виконання програми. Виконання оператора-перемикача починається з обчислення значення виразу перемикання (виразу, наступного за ключовим словом switch в круглих дужках). Після цього управління передається одному з < операторів > тіла перемикача. В тілі перемикача містяться конструкції case <константний-вираз>:, які синтаксично є  мітки операторів. Константні вирази в даному контексті називаються константами варіанта. Оператор, одержуючий управління, — це той оператор значення константи варіанту якого співпадає із значення виразу перемикання. Значення кожної константи варіанта повинне бути унікальним всередині тіла оператора-перемикача.

Виконання тіла оператора-перемикача switch починається з вибраного таким чином оператора і продовжується до кінця тіла або до тих пір, поки який-небудь оператор не передасть управління за межі тіла. Оператор, наступний за ключовим словом default, виконується, якщо жодна з констант варіанту не рівна значенню виразу перемикання. Якщо ж слово default опущено, то жоден оператор в тілі перемикача не виконується, і управління передається на оператор, наступний за перемикачем в програмі.

В заголовок складового оператора, формуючого тіло оператора switch, можна поміщати оголошення, але ініціалізації, включені в оголошення, не будуть виконані, оскільки при виконанні оператора switch управління безпосередньо передається на виконувані оператори усередині тіла, обходячи рядки, які містять ініціалізацію.

Примеры:

/* пример 1 */

switch (с)

{

case 'A' :

сара + + ;

case 'a' :

lettera + +;

default :

total + + ;

}

/* пример 2 */

switch (і)

{

case -1 :

n + + ;

break;

case 0 :

z + + ;

break;

case 1 :

p+ +;

break;

}

/* пример 3 */

switch (i)

{

case 1:

if (a > 0)

{

case 2:

b = 3;

else

case 3:

k = 0;

}

}

Цикл з передумовою

Цикл while (цикл з передумовою) має вигляд:

while (вираз_умова) тіло_циклу

Як вираз_умова використовується відношення або логічний вираз. Якщо воно істинне, тобто не рівно 0, то тіло циклу виконується до тих пір, поки вираз_умова не стане помилковим. Перевірка істинності виразу здійснюється до кожного виконання тіла циклу (до кожної ітерації). Таким чином, для явно помилкової виразу_умови тіло циклу не виконається жодного разу. Вираз-умова може бути і арифметичним виразом. В цьому випадку цикл виконується, поки значення вираз_умови рівно 0.

Цикл з післяумовою

Цикл do (цикл з постумовою) має вигляд:

do

тіло_циклу

while (вираз_умова);

вираз_умова  логічна або арифметичнв, як і в циклі while. В циклі do тіло циклу завжди виконується принаймні один раз. Після кожного виконання тіла циклу перевіряється істинність вираз_умови (на рівність 0), і якщо воно помилкове (тобто рівно 0), то цикл закінчується. В іншому випадку тіло циклу виконується знов.

Цикл For

Цикл for (званий параметричним) має вигляд:

for (вираз_1; вираз _умова; вираз_3) тіло_циклу

Перший і третій вирази в операторі for можуть складатися з декількох виразів, розділених комами. Вираз визначає дії, які виконуються до початку циклу, тобто задає початкові умови для циклу; частіше всього це вираз присвоєння. Вираз_умова - звичайно логічний або арифметичний. Воно визначає умови закінчення або продовження циклу. Якщо він істиний (тобто не рівний 0), то виконується тіло циклу, а потім обчислюється вираз_3.  Вираз_3 звичайно задає необхідні для наступної ітерації зміни параметрів або будь-які змінні тіла циклу.  Після виконання виразу_3 обчислюється істинність виразу_умови, і все повторюється... Таким чином, вираз обчислюється тільки один раз, а вираз_умова выражение_3 обчислюються після кожного виконання тіла циклу. Цикл продовжується до тих пір, поки не стане помилковим вираз_умова. Будь-яке з трьох, будь-які два або всі три вирази в операторі for можуть бути відсутні, але розділяючі їх символи ";" повинні бути присутні завжди. Якщо відсутній вираз _умова, то вважається, що він є істиний і потрібні спеціальні засоби для виходу з циклу.