Цели:
План:
Ход урока:
На доске и в тетради тема урока.
Повторение команд ветвления и выбора из алгоритмического языка. На правой части доски записать со слов учащихся полные и неполные команды ветвления и выбора. Проверить, как учащиеся помнят работу этих команд.
Блок-схема:
Если <условие>
то <оператор 1>
иначе <оператор 2>
все
В Турбо Паскале также имеются специальные конструкции, которые позволяют реализовать команды ветвления и выбора. Эти конструкции называются операторами: условного перехода (условный оператор), выбора.
В Турбо Паскале имеются два вида операторов, позволяющих совершать какие-либо операции в зависимости от выполнения заданного условия. Эти операторы называются операторами условного перехода или просто условными операторами.
Полная форма оператора условного перехода
If <логическое выражение> then <оператор1> else <оператор2>.
Например: if a>0 then s:=s+d else s:=s-b;
Проводим аналогию с конструкцией если, то, иначе, все.
Отмечаем, что работает оператор так же, как и команда ветвления.
Необходимо указать учащимся, что после then и else можно записать только один оператор.
В том случае, когда по условию решения поставленной задачи необходимо использовать несколько операторов или выражений, при выполнении или невыполнении условия применяется так называемый составной оператор. Даем конструкцию составного оператора (операторных скобок).
Составной оператор:
begin
операторы
end;
Например:
If a<c then begin
a:=c-a; k:= k+1;
end
else begin
c:=a-c;
l:=l+1
end;
Неполная форма оператора.
If <логическое выражение> then <оператор>;
Например:
If a<> b then а:»а-b;
If (х<=10) and (x>=0) then y:=sqr(x);
Рассмотрим пример использования при решении задач.
Найти наибольшее из трех введенных с клавиатуры чисел.
Program MAKS;
Uses crt;
Var a,b,c,max: real;
Begin
{Ввод данных}
write(‘Введите значения чисел a,b,c’);
readln(a,b,c);
{Поиск максимального числа};
if a>b then max:=a else max:=b;
if max<c then max:=c;
{Печать результатов}
Writeln ('наибольшее из введенных чисел =', max);
{задержка вывода на экран}
repeat until keypressed;
end.
Поясняем алгоритм решения задачи: сравниваются два первых числа, после определения максимального из них сравнивается максимальное и третье число и определяется максимальное значение. Значение максимального числа и есть искомый максимум. Затем это значение выводится на экран.
1. Пусть для двух целых чисел надо определить являются ли они четными или нет.
Для проверки четности используем условие: остаток от деления на 2 четного числа = 0.
Program chet;
Uses crt;
Var a,b: integer;
Begin
Writeln (‘введите 2 целых числа’);
Readln (a,b);
If a mod 2=0 then
Writeln (‘а - четное’)
Else writeln (‘а – нечетное’);
If b mod 2=0 then
Writeln (‘b - четное’)
Else writeln (‘b – нечетное’);
Repeat until keypressed;
End.
2. определить является ли введенный с клавиатуры год високосным.
Program god;
Uses crt;
Var a: integer;
Begin
Writeln (‘введите год);
Readln (a);
If a mod 4=0 then
Writeln (‘год - високосный)
Else writeln (‘год не високосный);
Repeat until keypressed;
End.