Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка - Лабораторні роботи.doc
Скачиваний:
16
Добавлен:
25.04.2019
Размер:
2.12 Mб
Скачать

1.6 Оператор вибору (case)

У випадку, коли необхідно використовувати декілька вказівок розгалуження, вкладених одна в одну, то краще замінити їх вказівкою варіанта (оператором вибору).

Оператор вибору (case) має вигляд: case <селектор> of

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

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

else <оператор n+1> end;

Вираз, який записується між службовим словом case і of, називається селектором. Селектор - це проста змінна цілого, символьного, перерахованого або логічного типу; списки значень - сталі або діапазони, тип яких зберігається з типом виразу. Якщо список значень складається з декількох елементів, то вони перераховуються через кому. Дійсні і рядкові типи в селекторах використовувати не можна. Складова частина else <команда n + 1> може бути відсутня - тоді матимемо коротку форму команди case.

Дія команди. Якщо значення виразу селектора збігається зі значенням із списку і, то виконується оператор з номером і, а інші оператори цієї конструкції не виконуються. Якщо значення виразу не збігається з жодним значенням з жодного списку, то виконується оператор n + 1 або у випадку короткої форми, наступний оператор після команди case, тобто після службового слова end

Задача 3. Нехай населені пункти позначені номерами від 1 до 8. Вартість одного квитка до конкретного пункту k визначається так:

Скільки коштуватимуть т квитків до населеного пункту номер якого вводять з клавіатури ?

program Kvytky;

uses Crt;

var k,m,cina: integer;

begin

clrscr;

writeln (‘Введіть номер пункту та кількість квітків:’);

readln (k, m);

case k of

1: cina:=22;

2..4 : cina:=25;

5,6 : cina:=30

else cina:=35

end;

write (m, ‘ квитків до пункту’, k,’ коштують ‘);

writeln (m*cina);

readln;

end.

Якщо під час виконання програми ввести дані так: 3 5, то на екрані отримаємо: 5 квитків до пункту 3 коштують 125.

Хід роботи:

  1. Вивчити теоретичний матеріал.

  2. Виконати індивідуальне завдання.

  3. Скласти звіт, в якому відповісти на теоретичні питання, описати алгоритм, описати програму, привести контрольний приклад виконання програми.

Контрольні запитання:

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

  2. Який оператор умови використовується у мові Pascal?

  3. Який оператор безумовного переходу використовується у мові Pascal?

  4. Що таке оператор вибору і коли його використовують?

  5. Як працює умовний оператор?

  6. Які значення приймають логічні величини?

  1. Які з наведених нижче операторів розгалуження є:

  1. правильними

  2. неправильними

а) if a<b then a:=a+1 else b:=b-1;

б) if (x<5) and (y>3) then s:=s+1 else s:=s–1;

в) if a<>b then b:=a; r) if 9 then k:=k+1.

8. Які значення будуть мати змінні a і b в результаті виконання оператору розгалуження:

if a<b then a:=b else b:=a,

якщо перед виконанням а=0.5, b=-1.7

Відповідь а= b=

Індивідуальні завдання: Створити блок-схему та програму на мові Pascal для приведеної задачі згідно варіанту.

1.

2.

3.

4.

5.

6.

7.

8.

9.

10

11.

12.

13.

14.