Інший бік справи - програмне забезпечення

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

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

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

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

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

Хід уроку

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

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

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

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

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

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

А 10div52;

B 5+9mod53;

C round5/3;

E sqrt36

F abs-5;

G abs2-sqrt9;

H cos1div2

I sqr5-3;

J sqrtabs-9;

K pred12;

L succ23;

M odd100.

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

А м1+м2/м3; b sin2x+cosx?

4 Як записати ?

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

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

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

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

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

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

1 повне; 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 x0 then y:=x+3

Else y:=x-5;

Wrieteln‘y=’,y;

End.

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

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

Якщо Умова

То Серія команд

Все

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

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

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

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

Приклада 2. Розглянемо операцію ділення числа А на В. Результат позначимо D. Ділення можна виконати, якщо В 0, тобто if В0 then D:=A/в.

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

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

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

PROGRAM Ex1;

Var k, m:integer;

Begin writeln ‘Введіть К’;

Readln k;

m:=7;

if k2 then m:=kk;

if k2 then m:=k+7;

writelnm;

End.

2. Розв’язати квадратне рівняння А 0

Ах +BХ+с=0

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

PROGRAM Equation;

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

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

Readln a, b, c,;

D:=bb-4ac;

If d0 then writeln ‘коренів немає’ else

Begin

X1:=-b+sqrtd/2a;

X2:=-b-sgrtd/2a;

Writeln‘корені є’:x1: 6:2, x2:6:2;

End.

End.

Удосконалюємо програму зменшивши кількість операцій. Внаслідок цього у внутрішніх операторних дужках запишемо так:

d:=sgrtd;

A:=2a;

X1:=-b+d/a;

X2:=-b-d/a;

Виконуємо трасування програми для деяких вхідних даних, щоб впевнитися у правильності програми.

3. Увести ціле число. Вивести повідомлення чи число парне, чи непарне.

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

PROGRAM chyslo;

Var a:integer;

Begin writeln‘Введіть ціле число:’;

Readln a;

If 2rounda/2=a then writeln ‘число парне’ else writeln ‘число непарне’;

End.

Як записати умову, використовуючи операції mod; div?

самостійно

4. Скласти програму, яка дає довідку про назву столиці st та кількість населення nas, в мільйонах деякої країни kr з такого переліку: Угорщина, Італія, Греція, Туреччина, Єгипет, Бельгія, Росія.

PROGRAM Countries;

Var kr, st:string; nas:integer;

Begin

Write‘Уведіть назву країни’; readlnkr;

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 Підсумок уроку.

Питання до класу

1 Яка дія команди повного розгалуження?

2 Яка дія команди неповного розгалуження?

3 Чи можна ставити перед else знак ’;’?

4 Що означає удосконалити програму?

VII Виставляються оцінки за урок окремим учням. Учні записують домашнє завдання: п.2.5, №15.



Головне меню