На головну

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

Для ситуацій, де є кілька (три і більше) альтернатив, замість умовного оператора більше підходить оператор вибору.

Загальна форма запису:

case <Вираз-селектор> of

 <Список значень 1> : <Оператор 1>;

 <Список значень 2> : <Оператор 2>;

 ..............................:..................... ;

 <Список значень N> : <Оператор N>;

else <Оператор>;

end;

Принцип роботи оператора вибору: при виконанні даного оператора спочатку обчислюється значення вираження-селектора стоїть після зарезервованого слова case. Потім вибирається той список значень, Якому належить отримане значення, і виконується відповідний оператор, Наступний за двокрапкою. оператор стоїть після зарезервованого слова else виконується якщо жоден з списків значень не задовольнив значенням вираження-селектора и може бути відсутнім. В списках значень допустимими є скалярні типи змінних, які включають цілі та виключають речові типи. Будь-яке задане значення вираження-селектора може входити в список значень неодноразово, але виконуватися буде лише перша підходяща гілка.

Розглянемо приклади.

Приклад 1. Вивести на екран словесну інтерпретацію введеного однозначного натурального числа.

Program ramdjon;

Digit:integer;

Begin

Write ( 'Ввести одне число');

Readn (Digit);

If (Digit <0) or (Digit> 9)

Then

Writeln ( 'Ви ввели на однозначне число!')

Else

Case digit of

0:writeln ( 'Нуль');

1:writeln('один');

2:writeln('два');

3:writeln('три');

4:writeln('чотири');

5:writeln(П'ять ');

6:writeln('шість');

7:writeln('сім');

8:wirteln('вісім');

9:writeln( 'Дев'ять');

End;

End.

Приклад 2. Дано натуральне число N. Перетворити його в залежності від залишку ділення числа N на число 17 за правилом:

якщо залишок дорівнює 0, то N має стати рівним теж 0;

якщо залишок дорівнює 1 або 6, то N має стати рівним -N;

якщо залишок дорівнює 2,3 або 5, то N має стати рівним 2N;

якщо залишок дорівнює 4, то N має стати рівним 3N;

в інших випадках N дорівнює 5N.

Program Ost;

Var n:word;

Begin

Write( 'Введіть число n =');

Readln(N);

Case n mod 17 of

0: n: = 0;

1,6: n: = - n;

2,3,5: n: = 2 * n;

4: n: = 3 * n;

Else n: = 5 * n;

end;

Writeln( 'N =', n);

End.

Приклад 2. Дано ціле число N (N <10000 та N> -10000). Визначити яке це число (однозначне, двозначне, тризначне або чотиризначний).

Program Nat;

Var n:integer;

Begin

Write( 'Введіть число n =');

Readln(N);

Case n of

-9..9:Writeln( 'Число', n, 'однозначне');

-99..99:Writeln( 'Число', n, 'двозначне');

-999..999:Writeln( 'Число', n, 'тризначне');

-9999..9999:Writeln( 'Число', n, 'чотиризначний');

Else Writeln( 'Число', n, 'більше 10000 або менше -10000');

end;

End.

 



Умовний оператор. | Практична робота

Вступ. | Середовище програмування Turbo Pascal. | Типи даних в мові Pascal. | Речовий поділ Целочисленное розподіл Розподіл по модулю | Оператори ТР7. | Мені 16 років | Практична робота | Циклом з умовою поста. | Факторіал негативного числа не існує. | Практична робота |

© um.co.ua - учбові матеріали та реферати