Цикл с условием. Итерационный цикл


Урок №36.Дата ___________
Тема. Цикл с постусловием. Итерационный цикл.
Цели урока:
помочь учащимся усвоить итерационные циклические конструкции на языке Паскаль в сравнительной характеристике, базируясь на ранее изученной теме;
воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости;
развитие алгоритмического мышления, познавательных интересов, навыков работы на компьютере.
Ход урока
1. Организация детей к работе на уроке (2 мин)
2. Актуализация знаний (10 мин)
Чем характерен цикл с параметром?
Написать на доске общий вид убывающего и возрастающего цикла с параметром (2 учащихся у доски)
Разобрать у доски домашнее задание
Работа по карточкам на местах
3. Объяснение нового материала (15 мин)
Помимо цикла с параметром в языке Паскаль существуют еще две циклические конструкции: цикл с предусловием и цикл с постусловием, реализуемые специальными операторами.
Рассмотрим данные конструкции в сравнительной характеристике. Для этого построим следующую таблицу:
Цикл с предусловием «Пока»
Является итерационным циклом, т. к. количество повторений заранее не известно. Тело цикла выполняется после проверки условия выхода из цикла и только в том случае, когда условие истинно, иначе цикл заканчивает свою работу. Т. о. может ни разу не выполниться.
Параметр цикла:
Начальное значение задается вручную. Изменения параметра тоже происходят вручную на задаваемый программистом шаг. Причем действия над параметром цикла (счетчик выполнения) может совпадать с телом цикла. В отличии от цикла «Для» параметр может быть и вещественным числом.
Условие выхода
Обязательно должно быть истинным. Является полностью противоположным условию выхода цикла «До»
Реализация на языке Паскаль:
<установка нач. значений>;While <условие выхода> do <тело цикла>;
Операторные скобки
Если тело цикла состоит более чем из двух операторов языка Паскаль, включая строку изменения параметра, то они заключаются в операторные скобки
Пример. Из промежутка [a, b], где а<b, вывести на экран только четные числа.
Program pr1;Uses crt;Label k;Var a, b, i: integer; Begin Clrscr;K:Writeln ( ‘Введите границы промежутка’);Readln(a, b);If a>b tden goto k;If a mod 2 = 0 tden I:=a else i:=a+1;While i<=b do beginWrite (i:5);I:=i+2End;ReadlnEnd. Program pr2;Uses crt;Label k;Var a, b, i: integer; Begin Clrscr;K:Writeln ( ‘Введите границы промежутка’);Readln(a, b);If a>b tden goto k;If a mod 2 = 0 tden I:=a else i:=a+1;repeatWrite (i:5);I:=i+2Until i>b;ReadlnEnd.
4. Закрепление материала (10 мин)
- у доски двое учащихся решают задачу двумя способами:№1. Вычислить сумму натурального ряда чисел от 1 до n
Program Natur;
Var a, Summa: integer;
begin write (‘N=’); readln (N);
{Цикл с предусловием}
a:=1;
Summa:= 0;
while a<=N do
begin Summa:= Summa+a;
a:= a+1;
end;
end.
5. Подведение итогов (3 мин)
- запись домашнего задания: учить конспект; составить программу для решения задачи:
№2. Вычислить сумму всех нечетных чисел в интервале от 1 до N.
По условию на числа a и b наложены ограничения, при которых искомая сумма будет лежать в пределах типа integer. При a = 0 и b = 300 сумма будет наибольшей и равной 22500, что меньше 32767 (максимального значения типа integer).
Можно воспользоваться циклической программой:
 
program summa;
var  a,b,i,sum: integer;
begin  sum:=0;
  readln(a,b);
  for i:=a to b do
    if i mod 2 <> 0 then sum:= sum + i;
  writeln(sum);
end.
Карточки по теме «Цикл с параметром»К-1 Определите значение целочисленной переменной S после выполнения операторов:
S:=128;
for i:=1 To 4 do
  S:=S div 2;
Writeln (s);
Постройте блок-схему к этой части программы.
  
Карточки по теме «Цикл с параметром»К-2 Определите значение целочисленной переменной S после выполнения операторов:
S:=128
for i:=1 To 3 do begin
  S:=S+i(i+1)a;
  a:=a+2
end;
Writeln (s);
Постройте блок-схему к этой части программы.

Карточки по теме «Цикл с параметром»
К-3 Вычисление n! (n! = 1 2 3 … n)
Program Factorial; uses crt;var n, f,i :integer;  BEGIN  clrscr;writeln(‘Задайте n’);  readln(n);  for i:=1 to n do  f:=fi;  writeln(‘F = ’,f);  readln;  END.
Верно ли написана даная программа, если да, то определите значение F при n=3, если нет – запишите исправленный вариант программы.

Карточки по теме «Цикл с параметром»
К-4
Напишите фрагмент программы для решения следующей задачи: Вычислить сумму чисел от 3 до 9, кратных четырем (описательную часть программы пропустите).
varbegin for i := 3 to 9 do
 begin  if (i mod 4 = 0) then
   begin    s := s + i;
   end;
 end;
 writeln('сумма равна ',s);
end.