Алгоритм разветвляющейся структуры. Полная, неполная форма организации ветвления

Разделы: Информатика


Цель:

  • сформировать знания основных операторов алгоритмической структуры “ветвление”,
  • привить навык программирования с использованием операторов условных переходов для решения конкретных задач.

Задачи:

Учебная – углубление, обобщение и систематизация знаний по программированию.

Развивающая – развитие алгоритмического мышления, памяти, внимательности.

Воспитательная – развитие познавательного интереса, логического мышления.

Ход урока

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).

Используемая литература:

  1. Гусева И.Ю. Информатика в схемах и таблицах. – СПб.: Тригон, 2008 г.
  2. Зубрилин А.А. Занимательные задачи и ребусы по информатике. Информатика в школе: Приложение к журналу “Информатика и Образование”. №3 – 2007. – М.:Образование и Информатика, 2007.
  3. Чернов А.А. Конспекты уроков по информатики в 9-11 классах: Практикум по программированию. – Влгоград: Учитель, 2005.
  4. CD. “Информатика” Увлекательная программа тренажер для детей. – ГуруСофт, 2004