Цель:
- сформировать знания основных операторов
алгоритмической структуры "ветвление”,
- привить навык программирования с
использованием операторов условных переходов
для решения конкретных задач.
Задачи:
Учебная – углубление, обобщение и
систематизация знаний по программированию.
Развивающая – развитие алгоритмического
мышления, памяти, внимательности.
Воспитательная – развитие
познавательного интереса, логического мышления.
Ход урока
1. Организационный момент.
2. Повторение.
Задание 2.1. Найти ошибку в записи программы:
Программа с ошибками |
Исправленная программа |
Programm Задача; Uses Crt;
Var R, l, S – real
Begin
Write ln (ввести значение R)
Readln (R);
L = 2*Pi*R;
S = Pi * Sqrt (R);
Writeln (‘S=’, S:7);
Writeln (‘l=’, l:7);
End. |
Program Zadacha; Uses Crt;
Var R, l, S : real;
Begin
Writeln (‘ввести значение R’);
Readln (R);
L := 2*Pi*R;
S := Pi * Sqr (R);
Writeln (‘S=’, S:7:2);
Writeln (‘l=’, l:7:2);
End. |
3. Введение нового материала
Задание 3.1.Чтобы определить вид
алгоритмической структуры, которую мы будем
изучать на уроке, необходимо отгадать ребус:
рис. 1.
Ответ: вЕТ вЛЕ НиЕ
Разветвляющимся называется алгоритм в
котором порядок выполнения действий зависит от
некоторого условия.
Общий вид блок-схем алгоритмической структуры
"ветвление”
рис. 2.
Задание 3.2. Составим блок схему сказочного
алгоритма: "Поехал Иван – Царевич на сером волке
за Жар – Птицей. Ехал он, ехал, глядь – перед ним
лежит огромный камень. На камне надпись:
"Направо пойдешь – коня потеряешь, налево
пойдешь – голову сложишь…”
Ответ: Рисунок 3.
рис. 3.
Задание 3.3. По условию в блок-схеме определить
результат:
рис. 4.
Ответ: 1 – кислая среда; 2 – щелочная среда; 3-
нейтральная среда.
Синтаксис на языке программирования TurboPascal:
Полное ветвление: if <условие> then
<оператор1> else <оператор2>;
Неполное ветвление: if <условие> then
<оператор1 >;
Если <условие> истинно (true), то
выполняется <оператор_1>, в противном
случае (false) - <оператор_2>.
<Условие> - логическое выражение типа Boolean;
Если <условий> несколько, то они
заключаются в скобки и объединяются ключевыми
словами: and, or, not.
Математическая
запись |
Запись на
языке
TurboPascal |
= <
>
<
>
|
= <
>
<=
>=
<> |
В TurboPascal, если в качестве оператора должны
выполняться серия операторов, то они
объединяются в операторные скобки Begin – end;
if <условие> then
begin
<операторы>;
end;
else
begin
<операторы>;
end;
4. Осмысление
Задание 4.1. Даны два числа А и В. Найти
наибольшее из них.
(Задача решается на основе этапов решения задач
на ПК)
1. Постановка задачи |
Дано: А и В – целые Найти: наибольшее из
А или В |
2. Математическая постановка задачи |
Если А>B, то А – наибольшее число, иначе
В – наибольшее. |
3. Разработка алгоритма |
рис. 5. |
4. Разработка программы на изучаемом
языке программирования |
Язык программирования TurboPascal: Program
Vetvlenie1;
Uses Crt;
Var a,b: integer;
Begin
ClrScr;
write (‘а=’); readln (a);
write (‘b=’); readln (b);
if a>b then
writeln (‘а - наибольшее’)
else
writeln (‘b - наибольшее’);
end. |
5. Реализация программы на ПК и её
отладка. |
6. Тестирование |
- a=3 b= 4
- b – наибольшее
- a=4 b= 3
- a - наибольшее
|
Задание 4.2. Дополним "Задание 4.1.”: найти
наибольшее из трех заданных чисел А, В, и С.
Обратим внимание на отличие в записи блок-схемы
и программы.
1. Постановка задачи |
Дано: А, В, С – целые Найти: наибольшее
из трех чисел |
2. Математическая постановка задачи |
Если А>B и А>C, то А – наибольшее число. Далее
можно сравнить только два числа: если В>C, то В –
наибольшее, иначе С – наибольшее. |
3. Разработка алгоритма |
рис. 6. |
4. Разработка программы на изучаемом
языке программирования |
Язык программирования TurboPascal: Program
Vetvlenie2;
Uses Crt;
Var a,b,c : integer;
Begin
ClrScr;
write (‘а=’); readln (a);
write (‘b=’); readln (b);
write (‘c=’); readln (c);
if (a>b) and (b>c) then
writeln (‘а - наибольшее’)
else
iIf b>c then
writeln (‘b - наибольшее’)
else
writeln (‘c - наибольшее’);
end. |
5. Реализация программы на ПК и её
отладка. |
6. Тестирование |
- a=3 b= 4 c=1
- b – наибольшее
- a=4 b= 3 c= 1
- a – наибольшее
- а= 3 b = 1 c=4
- с – наибольшее
|
5. Подведение итогов.
Задание 5.1. Если а = - 3, то чему будет равно Z
после выполнения фрагмента программы:
if a>=0 then z:=10;
if a<0 then if a<-5 then z:=20;
if a>=-5 then if a<-3 then z:=30 else z:=0;
Ответ: z = 0
Задание 5.2. (домашнее) Составить
блок-схему и программу, в которой значение
переменной вычисляется по формуле: a + b, если а
– нечетное и a*b, если а – четное (условие
четности числа: а mod 2 = 0).
|