- Учителю
- Разработка по информатике на тему 'Разветвляющийся алгоритм'
Разработка по информатике на тему 'Разветвляющийся алгоритм'
Тема урока: «Решение задач-алгоритм»
Цели урока:
расширить знания уч-ся об алгоритме;
- изучение базовой алгоритмической структуры «Ветвление», полной и неполной формах;
- развитие навыков решения задач разветвляющейся структуры на алгоритмическом языке, с помощью блок-схем;
- отработка навыков практической работы построения блок-схемы и ее отладка;
- развитие навыков самостоятельной работы уч-ся
Оборудование: презентация «Разветвляющийся алгоритм , интерактивная доска, проектор
Ход урока:
I. Оргмомент
II. Материал урока:
Разминка:
Задание: Исправь ошибки.
Найдите площадь прямоугольного треугольника с катетами Х и Y.
АЛГ площадь (цел X , Y, вещ S)
АРГ X
РЕЗ Y
НАЧ
S = X * Y : 2
КОН
ИЗУЧЕНИЕ НОВОГО МАТЕРИАЛА
Условный оператор If (оператор ветвления)
Полная формы условного оператора называется If-then-else, имеет вид:
If условие
Then [оператор1]
Else [оператор2];
Если в качестве оператора должна выполняться серия операторов, то они объединяются в операторные скобки Begin-End.
If then
Begin
[операторы1]
End
Else
begin
[операторы2]
End;
Слова if (если) и Then (то) - зарезервированные.
Замечание. Перед ключевым словом else (иначе) точка с запятой не ставится, она ставиться после всего оператора If.
Условие представляют собой логические выражение. Простые условия записываются в виде равенств или неравенств. В сложных условиях несколько простых условий объединяются с помощью логических операций or, and. В этом случае простые условия заключаются в круглые скобки.
На рисунке показана блок-схема полной формы оператора.
Алгоритм выполнения полного условного оператора:
-
Проверяется значение логического выражения, записанного в условии после слова If
-
Если условие истинно (значение выражения условие равно True), то выполняется оператор 1, указанный после слова Then
-
Если условие ложно, то выполняется оператор 2, записанный после слова Else.
Неполная форма условного оператора называется if-then, имеет вид:
If условие
Then [оператор];
Если в качестве оператора должна выполняться серия операторов, то они объединяются в операторные скобки Begin-End.
If условие Then
Begin
[операторы]
End;
В неполном ветвлении ветвь Else отсутствует.
На рисунке показана блок схема оператора if-then.
Алгоритм выполнения неполного условного оператора
-
Проверяется значение логического выражения, записанного в условии после слова If
-
Если условие истинно (значение выражения условие равно True), то выполняется операторы, указанный после слова Then
-
Если условие ложно, то ничего делать не надо. Происходит переход к следующему оператору.
Операторы ветвления могут быть вложенными, т.е. один оператор if можно расположить внутри другого. В этом случае он позволяет производить выбор более чем из двух вариантов. При написании исходного кода с вложенными операторами для удобочитаемости кода вложенные операторы выделяются отступами.
If then begin
[операторы 1;]
end
Else if eckjdbt 2 then begin
[операторы2;]
End
.
.
.
else if условиеN
[операторыN;]
end
else begin
;
end;
Применение условного оператора if рассмотрим на примерах.
Пример 1. С клавиатуры ввести два различных числа. Найти большее из них и вывести его на экран.
Решение
В этом примере нужно произвести выбор одного из двух вариантов, для этого используется оператор if-then-else.
program primer6_1;
var a, b, m:integer;
begin
writeln('Введите два числа: ');
readln(a, b);
if a>b then m:=a
else m:=b;
writeln('Большее из них: ', m);
end.
Пример 2. Даны три отрезка. Можно ли из них построить треугольник?
Решение. Для любого треугольника сумма его двух сторон должна быть больше третьей стороны (неравенство треугольника). Если a, b, c - стороны предполагаемого треугольника, то нужно сравнить длину каждого отрезка с суммой двух других. Если хотя бы в одном случае отрезок окажется больше суммы двух других, то треугольник из таких отрезков не построить.
Для решения этой задачи используется оператор if-then-else со сложным условием.
program primer6_2;
var a, b, c: integer;
begin
write (' Введите длины отрезков: ');
readln (a,b,c);
if (a < b+c) and (b < a+c) and (c < a+b) then
writeln ('Можно построить треугольник.')
else
writeln ('Нельзя построить треугольник.');
end.
Задачи для самостоятельного выполнения
-
Найти наибольшее из трех данных чисел.
-
Запишите условный оператор, в котором значение переменной вычисляется по формуле: a + b, если a - нечетное и a*b, если a - четное.
-
Вывести на экран номер четверти, которой принадлежит точка с координатами (x, y), при условии, что x и y отличны от 0.
-
После выполнения операторов
a := 0;
If a<>0 Then; a := 2
значение переменной равно двум. Объясните почему. -
Если целое число M делится нацело на целое число N, то вывести на экран частное от деления, в противном случае - сообщение ''M на N нацело не делится''.
V. ПОДВЕДЕНИЕ ИТОГОВ УРОКА
1.Устное задание:
Найди соответствие
АЛГ наименьшее ( вещ А,В,М)
АРГ А , В
РЕЗ М
НАЧ
ЕСЛИ А < В
ТО М : = А
ИНАЧЕ М : = В
ВСЕ
КОН
Ответ: схема 2
2. ВОПРОСЫ:
-Какой алгоритм называется разветвляющимся?
- Назовите формы ветвления.
- В чем отличие полного ветвления от неполного?
- В чем сходство?
VI. ДОМАШНЕЕ ЗАДАНИЕ
Ветвление полная и неполная формы
Задача: