Паскаль. Основы программирования


Оператор цикла fordowntodo


Существует другая форма оператора цикла for:

for <пар .цик.> := <нач. зн.> downto <кон. зн.> do

<оператор>.

Замена зарезервированного слова to на downto

означает, что шаг параметра цикла равен (-1).

Изменение значения параметра идет от большего значения к меньшему, т. е. <нач. знач.>

 <кон. знач.>.

Программу вычисления факториала числа можно составить, используя этот оператор цикла.

Программа

 

Program Problem1a;

     uses WinCrt;

     var

        n, i, f : longint;

     begin

        write('Введите натуральное число '); readln(n);

        f := 1;

        if n <> 0 then for i := n downto 1 do f := f*i;

       writeln('Факториал числа ', n, ' равен ', f)

     end.

Графическое изображение циклов for будет таким (см. рис. 22):

Рис. 22

Здесь: p - переменная цикла; n - ее начальное значение; k - ее конечное значение. Тело цикла составляет оператор или несколько операторов: s1; s2; ... sn;, которые нарисованы в прямоугольнике.

Задание 1

1. Выполните программу примера 1 на компьютерах.

2. Измените и дополните ее так, чтобы она вычисляла следующую сумму:

1! + 2! + 3! + ... + n!.

Разберем другие, на мой взгляд, более интересные примеры с использованием циклов for

... to ... do ..., а также вложенных друг в друга циклов (циклов в циклах), совмещение циклов с параметром с другими циклами.

Пример 2. Квадрат любого натурального числа n равен сумме n первых нечетных чисел:

12  = 1

22  = 1 + 3

32  = 1 + 3 + 5

42  = 1 + 3 + 5 + 7

52  = 1 + 3 + 5 + 7 + 9

 . . . . . . . . . . . . . . . . . . .

Основываясь на этом свойстве, составить программу, позволяющую напечатать квадраты натуральных чисел от 1 до n.

Ясно, что цикл в программе надо организовать от 1 до n, в котором выполнять всего три оператора: находить сумму нечетных чисел (а их как раз столько, сколько раз будет выполняться цикл); выдавать полученную сумму на экран; "получать" следующее нечетное число.

Программа

Program Problem2;




Начало  Назад  Вперед



Книжный магазин