03.03.2016 8 класс
Основные алгоритмические конструкции. Ветвление. Полная форма ветвления
Цель:сформировать знания основных операторов алгоритмической структуры “ветвление”; привить навык программирования с использованием операторов условных переходов для решения конкретных задач.
Задачи:углубление, обобщение и систематизация знаний по программированию; развитие алгоритмического мышления, памяти, внимательности; развитие познавательного интереса, логического мышления.
Ход урока
1. Организационный момент.
2. Повторение.
Задание 1. Найти ошибку в записи программы:
Программа с ошибками | Исправленная программа |
ProgrammЗадача; Uses Crt; Var R, l, S – real Begin Write ln (ввестизначение R) End. | Program Zadacha; Uses Crt; Var R, l, S : real; Begin Writeln (‘ввестизначение R’); End. |
3. Введение нового материала
Чтобы определить вид алгоритмической структуры, которую мы будем изучать на уроке, необходимо отгадать ребус:
рис. 1.
Ответ: вЕТ вЛЕ НиЕ
Разветвляющимся называется алгоритм в котором порядок выполнения действий зависит от некоторого условия.
Общий вид блок-схем алгоритмической структуры “ветвление”
рис. 2.
Задание 2. Составим блок схему сказочного алгоритма: “Поехал Иван – Царевич на сером волке за Жар – Птицей. Ехал он, ехал, глядь – перед ним лежит огромный камень. На камне надпись: “Направо пойдешь – коня потеряешь, налево пойдешь – голову сложишь…”
Ответ: Рисунок 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. Даны два числа А и В. Найти наибольшее из них.
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 (‘а - наибольшее’) end. |
5. Реализация программы на ПК и её отладка. | |
6. Тестирование | a=3 b= 4 b – наибольшее a=4 b= 3 a - наибольшее |
Задание 5. Дополним “Задание 4.”: найти наибольшее из трех заданных чисел А, В, и С.
Обратим внимание на отличие в записи блок-схемы и программы.
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 (‘а - наибольшее’) end. |
5. Реализация программы на ПК и её отладка. | |
6. Тестирование | a=3 b= 4 c=1 b – наибольшее a=4 b= 3 c= 1 a – наибольшее а= 3 b = 1 c=4 с – наибольшее |
4. Подведение итогов.
Задание. Если а = - 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.4. , п. 2.4.2. , отвечать на вопросы № 11, 12, 13. стр. 93.