урок 17 поліваріантне розгалуження
TRANSCRIPT
![Page 1: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/1.jpg)
Шосткинська гімназія Пата О.І.
Урок 17 Поліваріантне розгалуження. Робота з елементами вибору.
Оператор варіанту. (CASE–ELSE-END)
Мітка. (LABEL)
Оператор переходу.(GOTO)
![Page 2: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/2.jpg)
Шосткинська гімназія Пата О.І.
Приклад програми з розгалуженням (Повторення)
Program Prog1;
var x, y : Real;
Begin
readln(x);
if x<=9
then y:=2*x
else y:=2+x;
writeln(y);
End.
випадкахіншихвx
xприxy
,2
9,2
Записати програму
визначення значення
змінної y та виведення
його на екран, якщо:
![Page 3: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/3.jpg)
Шосткинська гімназія Пата О.І.
Приклад програми з розгалуженням (Повторення)
Program Prog1;
var x, y : Real;
Begin
readln(x);
if (x>=1) and (x<=9)
then y:=2*x
else y:=2+x;
writeln(y);
End.
випадкахіншихвx
xприxy
,2
91,2
Записати програму
визначення значення
змінної y та виведення
його на екран, якщо:
![Page 4: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/4.jpg)
Шосткинська гімназія Пата О.І.
Деякі зауваження
Щоб програма була більшзрозумілою, її записуютьтак, як показано ліворуч.
Рамкою обведена однавказівка, яка є вказівкоюрозгалуження. Її такожможна було б записати водин рядок, але так воназрозуміліша.
Program Prog1;
var x, y : Real;
Begin
readln(x);
if x<=9
then y:=2*x
else y:=2+x;
writeln(y);
End.
Program Prog1; var x, y : Real; Begin readln(x); if
x<=9 then y:=2*x else y:=2+x; writeln(y); End.
![Page 5: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/5.jpg)
Шосткинська гімназія Пата О.І.
Оператор варіанту
Оператор варіанту - є об'єднанням умовного оператора, де гілка ТАК має багато варіантів вибору, і від вірності якої виконується та чи інша дія.
Формат запису:
CASE <селектор варіанту> OF<мітка1>: <дія1>; <мітка2>: <дія2>;……
ELSE <дія1>; END;
![Page 6: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/6.jpg)
Шосткинська гімназія Пата О.І.
Пояснення по оператору варіанта
Селектор варіанту - належить до цілого, символьного або логічного типів;
Мітка варіанту - константи, які співпадають з типами селектора варіанту. Мітки варіанту не потрібно описувати у розділі міток, та не можуть бути використанні з оператором безумовного переходу.
![Page 7: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/7.jpg)
Шосткинська гімназія Пата О.І.
Приклад програми з використанням оператора варіанту
Розділ міток
Розділ змінних
Використання мітка (повертання по програмі на дію)
Оператор варіанту
Оператор переходу
Label 33;Var m:integer; {m- номер місяця} --------------33: write ('Введіть номер місяця m='); readln(m); case m of
12,1,2: writeln ('3има');3,4,5: writeln (‘Весна');6,7,8: writeln (‘Літо');9,10,11: writeln (‘Осінь')
else beginwriteln('Taкoro місяця немає');goto 33; end;
end;
1. Умова задачі.
Вивести пору року по введеному номеру місяця.
![Page 8: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/8.jpg)
Шосткинська гімназія Пата О.І.
2. Умова задачі.
Скласти програму обчислення значення Y по введеному значенню X, використовуючи таблицю значень.
X Х<0 0 1 2 3 4 5 6 7 8 9 10 Х>10
У 0 3 1 3 2 2 1 1 3 3 3 2 0
![Page 9: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/9.jpg)
Шосткинська гімназія Пата О.І.
2. Умова задачі.
Розділ змінних
Введення значення Х
Оператор варіанту
Виведення результату
Var x,y:integer;------------------write ('Введіть х='); readln(x); case х of
1,5,6: y:=1;3,4,10: y:=2;0,2,7,8,9: y:=3
else y:=0; end;writeln(' Результат y=', y);
![Page 10: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/10.jpg)
Шосткинська гімназія Пата О.І.
Практична робота
1. Введення програм в середовище Free Pascal
2. Компіляція програм
3. Відлагодження програм
4. Редагування програм в зошитах
5. Збереження розв'язку
![Page 11: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/11.jpg)
Шосткинська гімназія Пата О.І.
Домашнє завдання
Вивчити конспект
Скласти дві програми за зразком.
Умови задач: 1) Ввести дві змінні X та Y. Обчислити
арифметичні дії за введеним знаком D: + - * /. Результат присвоїти змінній Zта вивести.
2) Визначити тип натисненої клавіші. Буква, цифра, математичний знак, розділовий знак, допоміжні клавіші.
![Page 12: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/12.jpg)
Шосткинська гімназія Пата О.І.
Розв'язок Задача 1
Program znak;Uses crt;Label 55;Var x,y: integer;
Z:real; D:char;Begin ClrScr;
Writeln(‘Обчислення арифметичної дії’);x:=5;y:=4;
55: write ('Введіть знак дії D:'); readln(D);case D of
‘+ ‘ : Z := x + y;‘ – ‘ : Z := x – y;‘ * ‘ : Z := x * y; ‘ / ’: Z:= x / y
else beginwriteln('Такого знака немає');goto 55;end;
end;writeln (‘Результат дії Z= ', Z);
Readln;End.
![Page 13: урок 17 поліваріантне розгалуження](https://reader035.vdocuments.pub/reader035/viewer/2022073009/55af66101a28ab25488b4674/html5/thumbnails/13.jpg)
Шосткинська гімназія Пата О.І.
Розв'язок Задача 2
Program klavisha;Uses crt;Var x:char;Begin CLRSCR;
writeln (‘Визначення категорії натисненої клавіші’);write (‘Натисніть клавішу: ’);readln(x);case х of
‘A’.. ‘Z’,’a’.. ‘z’: writeln ('Буква');‘0’.. ‘9’: writeln ('Цифра');‘+’,‘-’,‘*’,‘/’,‘=’,‘<’,‘>’: writeln ('Математичний знак');‘:’, ‘;’, ‘!’, ‘?’, ‘,’ : writeln ('Розділовий знак')
else writeln (‘Допоміжна клавіша’);end;
Readln;End.