WWW.REFERATCENTRAL.ORG.UA - Я ТУТ НАВЧАЮСЬ

... відкритий, безкоштовний архів рефератів, курсових, дипломних робіт

ГоловнаІнформатика, Компютерні науки → Алгоритми з розгалуженнями. Команда IF - Реферат

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

Алгоритми з розгалуженнями. Команда IFМета: - Розглянути команду розгалуження в мові Паскаль та її застосування під час складання простих програм з розгалуженями;
- розвивати алгоритмічне та логічне мислення на прикладах конкретних задач;
- виховувати інформаційну культуру, культуру алгоритмічного запису.
Обладнання: переносна дошка.
Хід уроку
I Перевірка домашнього завдання.
(вибірково перевіряється домашнє завдання у окремих учнів).
ІІ Актуалізація опорних знань.
Усно розглядаються завдання, записані на переносній дошці:
1) Яке призначення функцій 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?
4) Як записати ?
5) Записати вираз для обчислення суми цифр трьохзначного числа А.
ІІІ Оголошення теми і мети уроку.
ІV Вивчення нового матеріалу.
1. Коротко розповідається історія виникнення алгоритмів з розгалуженнями: команду розгалуження для зміни порядку дій у алгоритмі запропонувала ще 150 років тому дочка Дж. Байрона, Ада Лавлейс, яка вважається першою програміст кою в світі. Її ідеї реалізували лише через 100 років. Так виникли алгоритми з розгалуженнями.
2. Розгалуження - це алгоритмічна конструкція, де перевіряється умова і залежно від її істинності чи хибності виконується та чи інша серія команд.
Розгалуження бувають кілька видів:
1) повне; 2) неповне; 3) вибір.
На даному уроці розглядаємо перші 2 види розгалужень.
Повне розгалуження.
Задачу формулюють так: потрібно виконати або команду 1, якщо умова істинна, або команду 2 якщо умова хибна.
У НАМ, повна команда розгалуження має такий вигляд:
якщо умова
то серія команд 1
інакше серія команд 2
все
Відповідно блок-схема повної команди розгалуження має вигляд:
У мові Паскаль повний умовний оператор записують так;
IF then else
На місці команди 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(в).
Приклада 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 k>2 then m:=k*k;
if k 2 then m:=k+7;
writeln(m);
end.
2. Розв'язати квадратне рівняння (а 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;
Виконуємо трасування програми для деяких вхідних даних, щоб впевнитися у правильності програми.
3. Увести ціле число. Вивести повідомлення чи число парне, чи непарне.
(учень біля дошки)
PROGRAM chyslo;
Var a:integer;
begin writeln('Введіть ціле число:');
readln (a);
if 2*round(a/2)=a then writeln ('число парне') else writeln ('число непарне');
end.
Як записати умову, використовуючи операції mod; div?
(самостійно)
4. Скласти програму, яка дає довідку про назву столиці (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 Підсумок уроку.
Питання до класу
1) Яка дія команди повного розгалуження?
2) Яка дія команди неповного розгалуження?
3) Чи можна ставити перед else знак ';'?
4) Що означає удосконалити програму?
VII Виставляються оцінки за урок окремим учням. Учні записують домашнє завдання: п.2.5, №15.
Loading...

 
 

Цікаве