Поурочный план на тему: Программирование циклических алгоритмов


-394335-9271000
Кабышева Аида Аскаровна
учитель информатики
школы-гимназии №7 им.Г.Орманова
Тема урока: Программирование циклических алгоритмов.
Цель: развитие логического и аналитического мышления
Задачи:
Обучать работе с циклическими конструкциями в языке Паскаль.
Развивать логическое мышление.
Воспитывать интерес к предмету.Проверка домашнего задания. 
Ход урока:
Циклы применяются в программах для повторения определенных действий. Если количество повторений заранее известно, то применяется цикл с параметром-счетчиком.

Общий вид цикла с параметром:for i := A to B do  begin    <Тело цикла>;  end;for i := A downto B do  begin    <Тело цикла>;  end;Где:i – параметр;А – начальное значение параметра;В – конечное значение параметра;       Начальное и конечное значение параметров может быть представлено константами, переменными, арифметическими выражениями.
 Работа цикла For i:=А То В Do <тело цикла>:        Сначала вычисляются значения А и В. Если А<=В, то i последовательно принимает значения, равные А, А+1, …, В-1, В и для каждого из этих значений выполняется <тело цикла>. Если А>В, то <тело цикла> не выполняется ни разу.       Оператор цикла        For i:=А Downtо В Do <тело цикла> выполняется аналогичным образом, но значение i изменяется с шагом -1.       Если <тело цикла> состоит из нескольких операторов, то операторы цикла берутся в операторные скобки Begin – end.ЗадачаВывести на экран 10 раз свое имя.var i:integer;begin  for i:=1 to 10 do    begin       writeln('Лена');    end;  readln;end.ЗадачаВывести на экран все двузначные числа, сумма цифр которых равна заданному числу N.var i,n:integer;begin  writeln('Введите число:');  readln(n);    for i:=10 to 99 do      if (i div 10)+(i mod 10)=n then writeln(i);  readln;end.ЗадачаСреди четырехзначных чисел выбрать те, у которых все цифры различны.uses crt;var i,a,b,c,d:integer;begin  clrscr;    for i:=1234 to 9999 do      begin        a:=i div 1000;        b:=(i div 100) mod 10;        c:=(i mod 100) div 10;        d:=i mod 10;        if (a<>b) and (a<>c) and (a<>d) and (b<>c) and (b<>d) and (c<>d) then writeln(i);      end;  readln;end.ЗаданиеНайти сумму целых положительных чисел из промежутка от А до В, кратных 4 (значения переменных А и В вводятся с клавиатуры).
       Цикл с предусловием или с предпроверкой используется тогда, когда количество повторений заранее не известно, а задается некоторое условие продолжения цикла.
 
 
Оператор цикла с предусловием: while <условие> do  begin     <тело цикла>   end;       Выполнение цикла с предусловием начинается с проверки условия. Если <условие> соблюдается, то выполняется <тело цикла>, затем вновь проверяется условие и т.д. Как только <условие> перестает соблюдаться - <тело цикла> не выполняется.        Цикл с предпроверкой работает до тех пор, пока <условие> истинно.Примечание. 1. Если <тело цикла> состоит из нескольких операторов, то они должны быть объединены операторными скобками begin и end.2. В цикле обязательно должен быть оператор, который влияет на соблюдение условия, иначе произойдет зацикливание.ЗадачаПодсчитать количество цифр заданного натурального числа N.uses crt;var n:longint;k:integer;begin  clrscr;  writeln('Введите натуральное число');  readln(n);  k:=0;    While n<>0 do      begin        Inc(k); { k:=k+1;}        n:=n div 10;      end;  Writeln('Количество цифр: ',k);  readln;end.ЗадачаНайти количество четных цифр натурального числа.var n,k:integer;begin  k:=0;  write('Введите число: '); readln(n);    while n<>0 do      begin        if (n mod 10) mod 2=0 then inc(k);        n:=n div 10;      end;  writeln('Четных цифр - ',k);  readln;end.       Для программной реализации циклических алгоритмов с неизвестным заранее числом повторений имеется еще один оператор – оператор цикла с постусловием (постпроверкой), который имеет следующий вид: 

Оператор цикла с постусловием:Repeat {повторять}  <Тело цикла>Unill <условие выхода>;       Этот оператор отличается от цикла с предусловием тем, что проверка условия производится после очередного выполнения тела цикла. Это обеспечивает выполнение тела цикла хотя бы один раз.Обратите внимание на то, что данный оператор цикла предполагает наличие нескольких операторов в теле цикла, поэтому служебные слова begin и end не нужны.       Последовательность операторов, входящих в тело цикла, выполняется один раз, после чего проверяется соблюдение условия, записанного следом за служебным словом Until. Если условие соблюдается, цикл завершается. В противном случае – тело цикла выполняется еще раз, после чего снова проверяется соблюдение условия.Цикл с постусловием работает до тех пор, пока не станет истинным <условие>.ЗадачаНайти сумму всех нечетных цифр числа.var n,sum,k:integer;begin  sum:=0;  k:=0;  write('Введите число: '); readln(n);    repeat      k:=(n mod 10);        if k mod 2<>0 then sum:=sum+k;      n:=n div 10;    until n=0;  writeln('Сумма нечетных цифр - ',sum);  readln;end.Вопросы и задания 
Среди четырехзначных чисел выбрать те, у которых все четыре цифры различны.
Найти сумму цифр числа, больших 5.
Составить программу, проверяющую является ли последовательность из 10 чисел, введенных с клавиатуры возрастающей.
Сколько раз данная цифра встречается в числе?
Составить программу, проверяющую является ли натуральное число палиндромом, то есть таким, десятичная запись которого читается одинаково слева направо и справа налево.
Домашнее задание: конспект.