Цикл с предусловием (с неизвестным числом повторений)

Объясняю структуру этого оператора:

While условие do

Begin

<тело цикла>

End;

Тело цикла выполняется, пока условие истинно. Чтобы не было зацикливания, переменные, входящие в условие, должны изменяться в теле цикла (слайд 11)

Работу этого оператора рассматриваю на примере программы нахождения количества цифр в введенном с клавиатуры числе (n > 0), использую опять трассировочную таблицу (слайд 12):

n m k
     
... ... ...

...

Write(‘n=‘);

Readln(n);

m:= n; k:=0;

While m <> o do

Begin

m:= m div 10;

k:= k +1;

End;

Writeln (‘количество цифр в числе‘, n, ‘=‘, k);

Readln;

End.

Цикл с постусловием

Используется также, если неизвестно число повторений.

Структура оператора:

Repeat <тело цикла> until условие;

Тело цикла выполняется пока условие ложно (слайд 13).

Предлагаю решить предыдущую задачу, используя оператор Repeat.

...

Write(‘n=‘);

Readln(n);

m:= n; k:=0;

Repeat

m:= m div 10;

k:= k +1;

Until m = 0;

Writeln (‘количество цифр в числе‘, n, ‘=‘, k);

Readln;

End.

Обращаю внимание на особенности этого оператора:

    1. Операторные скобки (begin... end) здесь не нужны;
    2. Тело цикла выполнится хотя бы раз независимо от условия (слайд 14).

Далее класс можно разбить на три группы по вариантам и предложить им решить одну и ту же задачу, например: “Вывод на экран всех 2-значных чисел, равных 7”, используя изученные операторы (слайд 17):

вариант 1 – c использованием цикла For;

вариант 2 – c использованием цикла While;

вариант 3 – c использованием цикла Repeat.

В конце урока подводятся итоги (слайд 18):

  1. В каком из рассмотренных циклов тело цикла выполнится хотя бы 1 раз независимо от условия?
  2. В теле какого цикла не рекомендуется изменять значение параметра цикла?
  1. Условие = True. В каком цикле это сигнал прекращения, и в каком – сигнал продолжения?
  2. Когда тело цикла заключается в операторные скобки (begin... end;)?
  3. Какое начальное значение должна иметь переменная, подсчитывающая количество чисел, и как вычисляется количество в теле цикла? Произведение?

Домашнее задание (19):

  1. Конспект урока.
  2. Придумать задачи, в которых использовались бы циклы For, While и Repeat.
  1. Написать программу вывода на экран всех 3-значных чисел, кратных 6 и 4, и заканчивающихся на цифру 8.
  2. Программу написать тремя способами – с использованием циклов For, While и Repeat.

Для более сильных детей можно задать на дом дополнительно “Алгоритм Евклида” (слайд 15).

Желаю удачи!


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: