Урок по информатике в 9 классе.
Дата___________
Тема урока: «Циклические алгоритмы.
Цели урока:
определить роль и масштабность циклических алгоритмов в повседневной жизни;
показать необходимость автоматизации циклических алгоритмов;
сформулировать определения цикла и циклического алгоритма и необходимость их
использования для компактности и понятности записи алгоритма;
рассмотреть структуру цикла с предисловием, его работу и блок-схему;
научить составлять циклические алгоритмы и исполнять их формально;
научить анализировать фрагменты, содержащие циклы.
Задачи урока:
Воспитательная
-развитие познавательного интереса к теме;
- формирование коммуникативных качеств: обсуждение ситуаций, умение слушать, высказывать свои суждения и аргументировать их.
Образовательная
-дать представление о циклических алгоритмах;
- научить составлять циклические алгоритмы и исполнять их формально;
- научить анализировать фрагменты, содержащие циклы;
- научить составлять блок-схемы к алгоритмам, содержащим цикл с предусловием и по блок-схеме «читать» алгоритм.
Развивающая
- развивать мышление, память, кругозор, умение анализировать ситуации;
- формирование у учащихся умения вести полемику, аргументировать свою точку зрения.
Форма урока: лекция
Ход урока
Организационный момент
(проверка готовности к уроку, отсутствующих)
Объяснение нового материала.
В течение дня, недели, месяца …нам приходиться выполнять однообразные действия, причем многократно. Так, изо дня в день мы совершаем алгоритм, который условно можно назвать «Моя рабочая неделя». Действительно, каждый день (за исключением выходных), мы после пробуждения совершаем утренние процедуры, завтракаем, идем в школу (на работу), приходим из неё, обедаем, отдыхаем, делаем уроки, гуляем, ужинаем, ложимся спать…И так все 5 дней, каждую неделю, за исключением каникул!
Мы циклически повторяем одни и те же действия каждый день. И если делать это без отдыха или перерыва, то можно сойти с ума, или, говорят компьютерным языком «зациклиться»!
Очень многие алгоритмы, выполнение которых поручается компьютеру, по своей природе являются циклическими. И это не случайно, потому что человек обычно поручает машине рутинную работу, где нужно много считать (и счет производится по некоторым одинаковым правилам) или эта работа однообразна (штамповка изделий, конвейерный метод и т.д).
Определение.
Цикл – это последовательность операторов, которая может выполняться более одного раза.
Определение.
Циклический алгоритм – это алгоритм, содержащий один или несколько циклов.
Существуют удобные конструкции для организации циклов:
цикл с предусловием;
цикл с постусловием;
цикл со счетчиком (или параметром).
Познакомимся с первым из них – оператором цикла с предусловием ПОКА.
Циклы с предусловием используются тогда, когда выполнение цикла связано с некоторым логическим условием. Оператор цикла с предусловием имеет две части: условие выполнения цикла и тело цикла.
Общая форма записи следующая:
ПОКА
НЦ
Серия команд (тело цикла)
КЦ
При выполнении оператора ПОКА определенная группа команд выполняется до тех пор, пока определенное в операторе ПОКА булево условие истинно. Если условие сразу ложно, то группа операторов не выполнится ни разу.
Циклом удобно пользоваться тогда, когда одинаковые действия повторяются некоторое число раз.
Вспомним, как Том Сойер красил забор. Тетушка Поли тогда сказала Тому: «Крась до тех пор, пока забор не кончится». Тем самым она определили ему условие. В чем же состояли действия Тома?
- покрасил доску, повторяются
- передвинулся вправо,
- окунул кисть в ведро с краской,
- покрасил доску,
- передвинулся вправо, … и т.д.
Мы видим, что три действия повторяются многократно, и если бы мы записывали этот алгоритм линейно, то он был бы слишком громоздким (количество досок в заборе не малое!)
Поэтому целесообразно оформить этот алгоритм с использованием цикла с предусловием.
ЛГ покраска забора
НАЧ
Подойти к правому краю забора
ПОКА забор не окончен
НЦ
окунул кисть в ведро с краской,
покрасил доску,
передвинулся вправо
КЦ
Пойти гулять
КОН.
Заметим, что условие могло быть и другим. Например,
ПОКА не позовут обедать
не кончится краска
ПОКА не устанешь и т.д.
Далее исполнитель идет в проверку условия.
ПОКА забор не окончен (да, покрашена только 1 доска)
Значит, снова будет выполняться тело цикла, т.е. последовательность из трех повторяющихся команд.
окунул кисть в ведро с краской,
покрасил доску,
передвинулся вправо (действия выполнились второй раз)
КЦ
Program zadacha1; Var j:integer; s:longint; Begin S:=0; FOR J:=10 TO 99 DO S:=S+J; Writeln(‘Сумма всех двузначных чисел:’, S); Readln; End. | Program zadacha2; Var j:integer; s:longint; Begin S:=0; FOR J:=10 TO 99 DO IF J MOD 2 = 0 THEN S:=S+J; Writeln(‘Сумма всех четных двузначных чисел:’, S); Readln; End. |
Задача 1. Вычислить 12+22+…+122. programz1; usescrt; var i: integer; s: longint; begin s:=0; for i:=1 to 100 do s:=s+sqr(i); writeln (s); S= 650 end. | Задача 2. Найти все делители числа n. program z1; usescrt; var n, i: integer; k: real; begin read (n); for i:=1 to n do if n mod I = 0 then writeln (i); end. |
program Zam { Подсчет суммы цифр числа } var a,x:integer; i,s:integer; begin writeln('введите целое число'); readln( a ); x:=a; s:=0; while ( x 0 ) do begin s := s + (x mod 10); x := x div 10; end; writeln( 'Сумма цифр числа ',a,' = ', s ); readln; end. | program example_while; var i, N: integer; { объявляем переменные } begin i := 1; { Присваиваем i значение 1 } readln(N); { Считываем последнее число } while i begin {Открываем операторные скобки} write(i, ' '); {Выводим i} Inc(i); {увеличиваем i на один.} end; { закрываем скобки } end. |
program Zaewq var i, n: integer; begin write ('Количество знаков: '); readln (n); for i := 1 to n do write ('(*) '); readln end. | |