Алгоритми з розгалуженнями. Команда IF(реферат)

Алгоритми з розгалуженнями. Команда IF

Мета: — Розглянути команду розгалуження в мові Паскаль та її
застосування під час складання простих програм з розгалуженями;

розвивати алгоритмічне та логічне мислення на прикладах конкретних
задач;

виховувати інформаційну культуру, культуру алгоритмічного запису.

Обладнання: переносна дошка.

Хід уроку

I Перевірка домашнього завдання.

(вибірково перевіряється домашнє завдання у окремих учнів).

ІІ Актуалізація опорних знань.

Усно розглядаються завдання, записані на переносній дошці:

Яке призначення функцій trunk; round; операцій mod, div?

2) Що буде результатом виконання таких операцій:

а) 10div5*2;

b) 5+9mod5*3;

c) round(5/3);

e) sqrt(36)

f) abs(-5);

g) abs(2-sqrt(9));

h) cos(1div2)

i) sqr(5-3);

j) sqrt(abs(-9));

k) pred(12);

l) succ(23);

m) odd(100).

3) Чи правильно записані вирази:

а) (м1+м2)/м3; b) sin(2x)+cosx?

?

Записати вираз для обчислення суми цифр трьохзначного числа А.

ІІІ Оголошення теми і мети уроку.

ІV Вивчення нового матеріалу.

Коротко розповідається історія виникнення алгоритмів з розгалуженнями:
команду розгалуження для зміни порядку дій у алгоритмі запропонувала ще
150 років тому дочка Дж. Байрона, Ада Лавлейс, яка вважається першою
програміст кою в світі. Її ідеї реалізували лише через 100 років. Так
виникли алгоритми з розгалуженнями.

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

Розгалуження бувають кілька видів:

повне; 2) неповне; 3) вибір.

На даному уроці розглядаємо перші 2 види розгалужень.

Повне розгалуження.

Задачу формулюють так: потрібно виконати або команду 1, якщо умова
істинна, або команду 2 якщо умова хибна.

У НАМ, повна команда розгалуження має такий вигляд:

якщо умова

то серія команд 1

інакше серія команд 2

все

Відповідно блок-схема повної команди розгалуження має вигляд:

У мові Паскаль повний умовний оператор записують так;

IF <логічний вираз> then <команда 1> else <команда 2>

На місці команди 1 чи команди 2 може бути також команда розгалуження IF.

Якщо після слів then чи else треба записати не один, а кілька операторів
то ці оператори беруться в так звані операторні дужки begin, end.

Приклад Обчислити значення складної функції y для заданого значення х
формулою:

алгоритм

алг Функція

арг дійсн х

рез дійсн y

поч ввести х

якщо х>0

то y:=x+3

інакше y:=x-5

все

PROGRAM F1;

Var x, y:real;

Begin

Writeln(‘Введіть х:’)

Readln (x);

If x>0 then y:=x+3

Else y:=x-5;

Wrieteln(‘y=’,y);

End.

Неповне розгалуження.

Неповне розгалуження є частковим випадком повного. Відповідну задачу
формулюють так: виконати серію операторів, якщо справджується деяка
умова

якщо умова

то серія команд

все

Блок схема повного розгалуження

У мові Паскаль неповний умовний оператор записують так:

IF <логічний вираз> then <команда>

Приклад 1. Квадратний корінь величини в з урахуванням умови існування
обчислюють так: if в>=0 then d:=sgrt(в).

0, тобто if в<>0 then d:=a/в.

V. Розв’язування задач.

Усно розв’язати задачу, записану на переносній дошці:

Який результат виконання програми Ех1, якщо ввести значення к так: 3; 0?

PROGRAM Ex1;

Var k,m:integer;

Begin writeln (‘Введіть к’);

Readln (k);

m:=7;

if k>2 then m:=k*k;

2 then m:=k+7;

writeln(m);

end.

0)

+bх+с=0

(учень біля дошки)

PROGRAM Equation;

Var a, b, c, x1, x2, d:real:

Begin writeln (‘Введіть коефіцієнти:’);

readln (a, b, c,);

d:=b*b-4*a*c;

if d<0 then writeln (‘коренів немає’) else begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sgrt(d))/(2*a); writeln(‘корені є’:x1: 6:2, x2:6:2); end. end. Удосконалюємо програму зменшивши кількість операцій. Внаслідок цього у внутрішніх операторних дужках запишемо так: d:=sgrt(d); a:=2*a; x1:=(-b+d)/a; x2:=(-b-d)/a; Виконуємо трасування програми для деяких вхідних даних, щоб впевнитися у правильності програми. Увести ціле число. Вивести повідомлення чи число парне, чи непарне. (учень біля дошки) PROGRAM chyslo; Var a:integer; begin writeln(‘Введіть ціле число:’); readln (a); if 2*round(a/2)=a then writeln (‘число парне’) else writeln (‘число непарне’); end. Як записати умову, використовуючи операції mod; div? (самостійно) Скласти програму, яка дає довідку про назву столиці (st) та кількість населення (nas, в мільйонах) деякої країни (kr) з такого переліку: Угорщина, Італія, Греція, Туреччина, Єгипет, Бельгія, Росія. PROGRAM Countries; Var kr, st:string; nas:integer; begin write(‘Уведіть назву країни’); readln(kr); if kr=’Угорщина’ then begin st:=’Будапешт’ ;nas:=11 end; if kr=’Італія’ then begin st:=’Рим’ ;nas:=60 end; if kr=’Греція’ then begin st:=’Афіни’ ;nas:=10 end; if kr=’Туреччина’ then begin st:=’Анкара’ ;nas:=55 end; if kr=’Єгипет’ then begin st:=’Каїр’ ;nas:=53 end; if kr=’Бельгія then begin st:=’Брюссель’ ;nas:=10 end; if kr=’Росія’ then begin st:=’Москва’ ;nas:=85 end; writeln (‘Столиця-’st,’населення-’,nas, ‘млн. осіб’) end. Завдання. Доповнити програму інформацією про Україну. VI Підсумок уроку. Питання до класу Яка дія команди повного розгалуження? Яка дія команди неповного розгалуження? Чи можна ставити перед else знак ’;’? Що означає удосконалити програму? VII Виставляються оцінки за урок окремим учням. Учні записують домашнє завдання: п.2.5, №15. Логічний вираз вираз Серія 1 Серія 2 + _ У: = Х+3 Ввести х Х>0

У: = Х+3

Вивести У

Логічний

вираз

Серія

команд

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *