Тип урока: контрольно-обобщающий урок.
Цель урока: закрепить знания о разветвляющихся алгоритмах и умения применять их при решении поставленных задач.
Задачи:
Образовательные | Воспитательные | Развивающие |
Закрепление приобретённых знаний и умений, усвоение учащимися назначения и правил использования операторов выбора, безусловного перехода и условных операторов, контроль уровня знаний, умений и навыков по теме «Алгоритмы ветвления». |
Развитие познавательного интереса, воспитание самостоятельности при выполнении заданий, выработка умения работать в коллективе и индивидуально |
Развитие логического мышления, памяти, формирование творческих способностей, развитие умения выделять главное и преодолевать трудности |
Ход урока:
1. Сообщение темы и целей урока.
2. Письменный опрос:
1) Какой алгоритм называется разветвляющимся? (Ответ - Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно.)
2) Какие операторы используются для реализации разветвляющихся алгоритмов? Перечислите их.
Ответ - Оператор безусловного перехода – Goto <метка>;
Условный оператор –
If < условие> Then <оператор1 > Else <оператор2 >;
Оператор выбора – Case <селектор> of
<список меток варианта > : <оператор1>;
< список меток варианта > : < оператор2>;
…
Else < операторN>
End;
3) Ниже приведены блок-схемы некоторых алгоритмов.
Укажите, какая из вышеприведенных блок-схем является блок-схемой алгоритма ветвящейся структуры?
Рисунок 1. (Ответ - а)
4) Для реализации алгоритмов ветвящейся структуры используются операторы:
а) GOTO <метка>;
б) If <условие> then <действие1> else<действие2>;
в) : =
г) case <параметр> of <метка>:<действие 1>:<метка 2>:<действие 2> else <действие> end;
Один из пунктов здесь лишний. Укажите, какой именно. (Ответ - в)
5) Метка в Турбо Паскале – это произвольный идентификатор, позволяющий именовать некоторый оператор программы и таким образом ссылаться на него.
Верно ли данное высказывание? (Ответ - да)
6) Выберите неправильные операторы из списка:
а) if a>b then;
б) if x and y then s:= s+1; else s;= s-1;
в) if k<> m then k:=m;
г) if 5 then s:=s+5;
д) if (a<b) and c then c:=false;
е) if 2<x or x<5 then d:=0 else d:=1;
ж) if (a=b) and p then p:=p+105;
(Ответ - а, б, г, д, ж)
7) Часть ELSE <оператор 2> условного оператора не может быть опущена.
Верно ли данное высказывание? (Ответ - нет)
8) Условный оператор при выполнении программы позволяет выбрать одно
из двух возможных действий.
Верно ли данное высказывание? (Ответ - да)
9) Оператор выбора при выполнении программы позволяет выбрать одно из двух возможных действий.
Верно ли данное высказывание? (Ответ - нет)
3. Решение задач ( по группам):
При решении задач используется среда программирования Borland Pascal 7.0.
1. Вычислить значение функции у по условию:
( использовать условный оператор).
Решение:
Program wetw;
Uses CRT;
var x,y : real;
begin
CLRSCR;
write('x=');
readln(x);
if (x>0) and (x<2) then y:=Sqr(cos(x)) else y:= 1-sin(sqr(x));
writeln('y=', y);
readln;
end.
2. В старояпонском календаре был принят двенадцатилетний цикл. Годы внутри цикла носили названия животных: крысы, коровы, тигра, зайца, дракона, змеи, лошади, овцы, обезьяны, петуха, собаки и свиньи. Написать программу, которая позволяет ввести номер года и печатает его название по старояпонскому календарю. Известно, что 1996г. – год крысы. ( использовать оператор выбора).
Решение:
program Goroskop;
Uses CRT;
var year : integer;
begin
CLRSCR;
write('год=');
readln(year);
case year mod 12 of
0:writeln('год обезьяны');
1:writeln('год петyxa');
2:writeln('год собаки');
3: writeln('год свиньи');
4:writeln('год крысы');
5:writeln('год коровы');
6: writeln('год тигра');
7: writeln('год зайца');
8: writeln('год дракона');
9: writeln('год змеи');
10: writeln('год лошади');
11:writeln('год овцы');
end;
readln;
end.
3. В блок-схеме алгоритма, имитирующего работу микрокалькулятора, распознающего 4 арифметических действия( +, - , / , * ), заполните пустые блоки и составьте программу. ( К – знак арифметической операции).
Решение:
Program calc;
Uses CRT;
Var x,y,z:real;
K:char;
Begin
CLRSCR;
Writeln(‘Введите два числа’);
readln(x,y);
Writeln(‘Укажите операцию’);
readln(k);
Case k of
‘+’: z:=x+y;
‘-’: z:=x-y;
‘*’: z:=x*y;
‘/’: z:=x/y;
end;
writeln(z);
readln;
end.
4. Составить программу нахождения действительных корней квадратного уравнения: ах2 +вх+с=0 ( использовать оператор безусловного перехода – Goto).
Решение:
program uravnenie;
uses crt;
var x1, x2, d, a, b, c: real;
label 1, 2, 3, 4;
begin
clrscr;
Writeln('Vvedite znachenie a, b, c');
Readln(a, b, c);
d:=sqr(b)-(4*a*c);
If d>0 then goto 1;
If d=0 then goto 2;
If d<0 then goto 3;
1:begin
x1:=-b+sqrt(d)/(2*a);
x2:=-b-sqrt(d)/(2*a);
Write('x1=', x1,' x2=', x2);
goto 4;
2:begin
x1:=-b/(2*a);
Write('x1=', x1);
goto 4;
3:begin
Write('Resheniy net');
goto 4;
4:end;
end;
end;
readln;
end.
4. Домашнее задание.
Повторить основные циклические структуры и привести примеры для каждой из них.
5. Итоги урока.
Сегодня на уроке вы обобщили имеющиеся у вас сведения о разветвляющихся алгоритмах и применили их при решении математических задачах.
Выставление оценок за урок.