Урок №
Тема. Программирование циклов.
Цель: познакомить учащихся с особенностями разных типов операторов
цикла, сформировать у учащихся умение записывать на языке программирования
операторы цикл.
Задачи:
Образовательные:
формировать у учащихся представления о
видах цикла;
Развивающая:
развитие логического и аналитического мышления; развитие
у учащихся навыков самостоятельной работы;
Воспитательная:
формирование
у учащихся познавательного интереса; воспитание
дисциплинированности.
Тип урока: изучение нового материала.
Ход урока
I.
Организационный этап
Приветствие,
проверка присутствующих и готовности учащихся к уроку.
II. Актуализация
знаний.
Ответы на вопросы из §
III.
Постановка
целей урока
В процессе решения
множества задач часто требуется повторять те или иные действия. При этом
бывают разные ситуации. Например:
1)
количество повторений
известно до выполнения тела цикла;
2)
до выполнения тела цикла
количество повторений неизвестно;
3)
тело цикла должно
выполниться хотя бы один раз.
Для разных ситуаций
существуют различные циклические конструкции. В языке программирования Паскаль
их три, в соответствии с пунктами, описанными выше. Самой универсальной и
поэтому чаще других используемой конструкцией цикла является второй вариант
(цикл while).
IV. Объяснение
материала
1. Цикл while является циклом с предусловием (цикл-пока).
В заголовке цикла находится логическое
выражение. Если оно истинно, то тело цикла выполняется, если ложно - то нет.
Если тело цикла было выполнено, то ход программы снова возвращается в
заголовок цикла. Условие выполнения тела снова проверяется (находится значение
логического выражения). Тело цикла выполнится столько раз, сколько раз логическое
выражение вернет true. Поэтому
очень важно в теле цикла предусмотреть изменение переменной, фигурирующей в
заголовке цикла, таким образом, чтобы когда-нибудь обязательно наступала
ситуация false. Иначе
произойдет так называемое зацикливание. Например, нужно распечатать п звездочек.
Задание. Выведите
на экран строку из звездочек.
Решение:
Program
m1;
Var
i,
n: integer;
begin
write('Количество знаков: ');
readln(n);
i:=1;
while
i<=n
do
begin write('(*)');
i:=i+1;
end;
end.
2. Цикл с постусловием
Иногда при решении задач возникает
необходимость выполнить тело цикла хотя бы один раз, а потом исследовать
условие, повторять ли его еще раз. Эту задачу выполнит другой вид цикла Repeat.
repeat повторяй операторы
until <условие>;
до тех пор, пока условие не будет верным
Есть небольшое отличие в организации цикла repeat по сравнению с while: для выполнения в цикле repeat нескольких операторов не следует помещать эти
операторы в операторные скобки begin ... end. Зарезервированные слова repeat и until действуют
как операторные скобки.
Конструкция repeat... until работает аналогично циклу while. Различие заключается в том, что цикл while проверяет условие до выполнения действий, в то
время как repeat проверяет
условие после выполнения действий, это гарантирует хотя бы одно выполнение
действий до завершения цикла. Например:
Задание. Выведите
на экран строку из звездочек.
Решение:
Var i, n: integer;
begin
write('Количество знаков:'); readln(n);
i:=1;
repeat
write('(*)');
i:=i+1
until
i>n;
end.
3.
Цикл со счетчиком (цикл «для»)
Циклы со счетчиком составляют такой класс, в
котором выполнение исполнительной части должно повторяться заранее
определенное число раз. Циклы со счетчиком используются довольно часто, и
поэтому в языке Паскаль для этих целей имеется специальная конструкция. Можно,
конечно, циклы со счетчиком моделировать при помощи операторов while и
repeat, но структура цикла со счетчиком проще.
Общая форма записи цикла со
счетчиком:
Здесь i
— управляющая переменная или
переменная цикла, А — начальное значение переменной
цикла, В - конечное значение переменной цикла.
В языке программирования Паскаль отсчет идет
всегда с шагом, равным 1 (для for...to), или
уменьшается на 1 (для for... downto). Легко
понять, что количество повторений цикла определяется разностью между вторым и
первым значением плюс единица. Тело цикла не должно содержать выражений,
изменяющих счетчик, и тип управляющей переменной не должен быть real. Управляющая переменная должна описываться, как
и любая другая переменная. Обычно переменная цикла имеет тип integer.
Нужно
понимать, что количество итераций цикла for известно
именно до его выполнения, но не до выполнения всей программы.
Задание. Выведите на экран строку из звездочек.
Решение:
Var
i,
n: integer;
begin
write('Количество знаков: '); readln(n);
for
i:=1 to n do write
('(*)');
end.
V. Практическое
задание
1.
Дано
N кубиков,
на которых написаны разные буквы. Сколько различных N-буквенных
слов можно составить из этих кубиков (слова необязательно должны иметь смысл).
2.
Алгоритм
Евклида
VI. Подведение
итогов урока
-
Как программируется цикл с предусловием на языке Паскаль?
- Как программируется цикл с постусловием на языке Паскаль?
Для каких целей лучше его использовать?
- Как программируется цикл со счетчиком на языке
Паскаль? Для каких целей лучше его использовать?
VII.
Домашнее задание.
Оставьте свой комментарий
Авторизуйтесь, чтобы задавать вопросы.