Урок 6. Тема: «Понятие циклы» Тип урока: объяснение нового материала.

advertisement
Урок 6.
Тема: «Понятие циклы»
Тип урока: объяснение нового материала.
Цели: дать понятие циклов и их видов; научить учащихся использовать циклы при решении задач
программирования; расширить знания учащихся о возможности применения циклов; развить
логическое мышление у учащихся при составление алгоритмов; повысить информационную
культуру у учащихся; развить навыки работы за компьютером.
Ход урока
1.Объяснение нового материала.
Цикл - предусматривает многократное выполнение некоторых операторов, входящих в тело
цикла.
Рассмотрим блок-схему работы цикла: (алгоритм поиска грибов)
В языке Паскаль имеются три оператора цикла:
 For (цикл с параметром или на заданное число повторений);
 While (цикл ПОКА – с предусловием);
 Repeat (цикл ДО - с постусловием).
Если число повторений известно, то лучше воспользоваться
оператором цикла с параметром.
Рассмотрим подробно каждый вид цикла.
1)цикл с предусловием, while- пока
Цикл While сначала проверяет условие, и только если оно истинно, выполняет тело цикла.
While < условие > do
Begin
< оператор цикла>
End
Проверяется условие пока оно истинно. Выполняются операторы цикла. Как только оно станет
ложным происходит выход из цикла. Если с самого начало условие не выполняется, то операторы
цикла не выполняются не разу.
2)с постусловием (с последующей проверкой)
Цикл Repeat сначала выполняет тело цикла, а лишь затем проверяет условие, и только если оно
истинно, завершает свою работу.
Repeat-повторять until- до тех пор, пока
Repeat <операторы цикла>
Until <условие>
Нет необходимости в цикле Repeat использовать составной оператор, т.к. данная конструкция
предусматривает выполнение не одного, а нескольких операторов, заключенных между словами
Repeat и Until.
Операторы цикла выполняются (по крайней мере один раз) до тех пор, пока условие ложно, как
только условие станет истинным, происходит выход из цикла.
Пример:
Найти сумму нат чисел от 1 до 50.
1. program primer;
2. program primer2;
uses crt;
uses crt;
var
var
i, sum: integer;
i, sum:integer;
begin
begin
sum:=0;
sum:=0;
i:=0;
инициализ. начальное значение 
i:=0;
while i <50 do
repeat
begin
i:=i+1;
наращиваем счетчик цикла
i:=i+1;
sum:=sum+i;
sum:=sum+i;
end;
until i=50;
writeln ('summa = ',sum);
writeln ('Summa = ',sum);
readln;
readln;
end.
end.
Цикл работает пока изменяющаяся
переменная I не станет больше 50
3) цикл с параметром
Цикл на заданное число повторений с возрастающим или убывающим значением параметра.
Применяется в тех случаях, когда количество повторений выполнения команд заранее известно.
Форма записи:
1.for параметр: = начальное значение to конечное значение do оператор;
Пример. For k:=2 to 10 do p:=p*k
В этих операторах нет шага изменения параметра. Он в этом случае постоянен и равен 1.
2.for параметр := начальное значение down to конечное значение do оператор
Пример. For i:=640 down to 1 do x:=x+i
В данном случае шаг цикла равен 1
Для изменения шага в цикле :
 Вводят дополнительную переменную, отвечающую за изменение шага в алгоритме.
 Изменяют значение переменной цикла, при этом учитывая:
-целый тип;
-конечное значение.
В тех случаях когда изменение параметра цикла д\б иным используются циклы с предусловием и
постусловием. В качестве оператора может выступать составной оператор.
For переменная := нач. значение to (down to) конечное значение to
Begin
Оператор1;
операторные
Оператор2;
скобки
………
Оператор n;
End.
Замечания:
• Параметр – целый тип;
•
В цикле можно использовать операторные скобки;
•
В теле цикла нельзя менять параметр цикла;
•
Параметр цикла увеличивается на единицу;
•
Начальное значение > конечного, иначе тело цикла игнорируется;
•
Для уменьшения параметра, To заменяется на DownTo.
Пример3.
program for1;
uses crt;
var
i, sum: integer;
begin
sum:=0;
for i:=1 to 50 do
sum:=sum+i;
writeln ('summa =',sum);
repeat until keypressed;
end.
В программе мы должны заботиться чтобы произвольные значения, хранящиеся изначально в
переменных были уничтожены. Поэтому мы и присваиваем переменной sum значение ноль. Если
пренебречь этим правилом и не обнулить эту переменную. При первом выполнении цикла в
операции сложения будет участвовать произвольное значение, в результате чего по окончанию
цикла мы получим некорректный ответ.
Д\з: найти произведение первых 50 чисел
Download