Программирование циклов




Оператор цикла с параметром
Если число повторений цикла известно заранее, то используется алгоритмическая конструкция, которая называется циклом с заданным числом повторений (цикл с параметром).  На языке Паскаль повторение некоторой последовательности действий известное число раз выполняет оператор цикла for.
For <параметр цикла>:= <начальное значениеto <конечное значениеdo <оператор>;
 Кратко:    For i:=N1 to N2 do <оператор>;  (N1
Вторая форма последовательно уменьшает переменную-параметр цикла  на 1:
For <параметр цикла>:= <начальное значениеdownto <конечное значениеdo <оператор>;
Кратко:   For i:=N1 downto N2  do <оператор>;  (N1>N2)

         В представленных формах оператора цикла For……do –  заголовок цикла, <оператор> - тело цикла.  Тело цикла может быть простым либо составным оператором.  Параметр цикла, его начальное и конечное значения должны принадлежать к одному и тому же типу данных (чаще всего это целочисленный типinteger, но могут быть и другие типы, кроме вещественного).

Важно помнить:
Ø     Не рекомендуется изменять параметр цикла в теле цикла с помощью команды присваивания. Это может привести к «зацикливанию» программы (бесконечному повторению тела цикла) либо к неверным результатам выполнения программы.
Ø     Если в заголовке оператора for..to начальное значение параметра цикла больше конечного значения, то тело цикла не выполнится ни разу.
Ø     Если в заголовке оператора for..downto начальное значение параметра цикла меньше конечного значения, то тело цикла не выполнится ни разу.
Ø     При выходе из цикла текущее значение параметра цикла равно конечному значению в оператореfor..to и наоборот в операторе for..downto.
Ø     Телом цикла может быть не один оператор, а группа операторов (составной оператор), которую обязательно надо  заключать в операторные скобки begin… end.


Пример 1.  Вывести на экран 5 первых нечетных натуральных чисел.
Программа решения задачи может иметь вид:
Program N5;
var i,x:integer; {i – параметр цикла, в переменную
x записываем нечетные числа}
begin
  x:=1;       {первое нечетное натуральное число равно 1}
  for i:=1 to 5 do {параметр i (счетчик цикла) меняется
                    от 1 до 5 с шагом 1}
    begin
      write(x,' '); {вывод  нечетного числа}
      x:=x+2; {следующее нечетного число на 2 больше
предыдущего}
    end;
end.
Результат выполнения программы:

1 3 5 7 9

Упражнения
1. Сколько раз выполнится тело цикла:
For n:=3 to 6 do write (’*’);
2. Что будет выведено на экран монитора в результате выполнения цикла:
         For i:=1 to 5 do write (i,’ ’);
3. Составьте программу, которая 6 раз выведет на экран монитора ваше имя.
4*. Составьте программу, которая рисует 10 окружностей зеленого цвета разных радиусов с одним центром. 
5. Составьте программу, которая выводит на экран
а) 5 первых четных натуральных чисел;
б) сумму чисел от 20 до 40;

1 комментарий:

  1. Упражнение 1 - выполнится 4 раза
    Упражнение 2 - 5 раз
    Упражнение 3:
    program p1;
    var i:integer;
    begin
    for i:=1 to 6 do
    WriteLn (Andrey);
    end.
    Упражнение 4:
    uses GraphABC;
    var n: integer;
    begin
    n:=10;
    SetBrushColor(clGreen);
    while n<>0 do
    begin
    Circle(150,150,10*n);
    n:=n-1;
    end;
    end.

    Фадеев Андрей 8 б класс

    ОтветитьУдалить