урок 17 поліваріантне розгалуження

Post on 22-Jul-2015

739 Views

Category:

Education

14 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Шосткинська гімназія Пата О.І.

Урок 17 Поліваріантне розгалуження. Робота з елементами вибору.

Оператор варіанту. (CASE–ELSE-END)

Мітка. (LABEL)

Оператор переходу.(GOTO)

Шосткинська гімназія Пата О.І.

Приклад програми з розгалуженням (Повторення)

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 та виведення

його на екран, якщо:

Шосткинська гімназія Пата О.І.

Приклад програми з розгалуженням (Повторення)

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 та виведення

його на екран, якщо:

Шосткинська гімназія Пата О.І.

Деякі зауваження

Щоб програма була більшзрозумілою, її записуютьтак, як показано ліворуч.

Рамкою обведена однавказівка, яка є вказівкоюрозгалуження. Її такожможна було б записати водин рядок, але так воназрозуміліша.

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.

Шосткинська гімназія Пата О.І.

Оператор варіанту

Оператор варіанту - є об'єднанням умовного оператора, де гілка ТАК має багато варіантів вибору, і від вірності якої виконується та чи інша дія.

Формат запису:

CASE <селектор варіанту> OF<мітка1>: <дія1>; <мітка2>: <дія2>;……

ELSE <дія1>; END;

Шосткинська гімназія Пата О.І.

Пояснення по оператору варіанта

Селектор варіанту - належить до цілого, символьного або логічного типів;

Мітка варіанту - константи, які співпадають з типами селектора варіанту. Мітки варіанту не потрібно описувати у розділі міток, та не можуть бути використанні з оператором безумовного переходу.

Шосткинська гімназія Пата О.І.

Приклад програми з використанням оператора варіанту

Розділ міток

Розділ змінних

Використання мітка (повертання по програмі на дію)

Оператор варіанту

Оператор переходу

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. Умова задачі.

Вивести пору року по введеному номеру місяця.

Шосткинська гімназія Пата О.І.

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

Шосткинська гімназія Пата О.І.

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);

Шосткинська гімназія Пата О.І.

Практична робота

1. Введення програм в середовище Free Pascal

2. Компіляція програм

3. Відлагодження програм

4. Редагування програм в зошитах

5. Збереження розв'язку

Шосткинська гімназія Пата О.І.

Домашнє завдання

Вивчити конспект

Скласти дві програми за зразком.

Умови задач: 1) Ввести дві змінні X та Y. Обчислити

арифметичні дії за введеним знаком D: + - * /. Результат присвоїти змінній Zта вивести.

2) Визначити тип натисненої клавіші. Буква, цифра, математичний знак, розділовий знак, допоміжні клавіші.

Шосткинська гімназія Пата О.І.

Розв'язок Задача 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.

Шосткинська гімназія Пата О.І.

Розв'язок Задача 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.

top related