Pascal - Оператор цикла FOR

Практическая работа №42

Счетный оператор цикла FOR

 

Цель работы:  Овладеть техникой  составления программ с повторяющимися фрагментами.  Научиться использовать оператор цикла FOR в программах циклического типа.

Обеспечивающие средства: Сборник  описаний  практических работ по программированию на Turbo-Pascal; персональный компьютер.

Задание: Составить программы, используя оператор цикла FOR.

Требования к отчету:  Итоги практической работы представить в виде блок-схемы алгоритма и текста программы, привести значения исходных данных и значения полученных результатов, ответить на контрольные вопросы.

 

 Технология работы:

 

  Счетный оператор используется в тех случаях, когда необходимо повторить некоторое действие некоторое количество раз.

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

FOR <пар_цикл > := <нач_знач> TO <кон_знач> DO <оператор>

Здесь FOR, TO, DO – зарезервированные слова ( для, до, выполнить);

<пар_цикл > - параметр цикла (переменная, любого порядкового типа INTEGER);

<нач_знач> - начальное значение (выражение того же типа);

<кон_знач> - конечное значение (выражение того же типа);

<оператор> - произвольный оператор Турбо Паскаля.

При выполнении оператора FOR вначале вычисляется выражение <нач_знач> и осуществляется присваивание <пар_цикл > := <нач_знач> После этого циклически повторяется:


  • Проверка условия <пар_цикл > <= <конеч_знач>; если условие не выполнено, оператор FOR завершает свою работу;
  • Выполнение оператора <оператор>;
  • Наращивание переменной <пар_цикл > на единицу.


В качестве иллюстрации рассмотрим программу, осуществляющую ввод с клавиатуры произвольного целого числа N и вычисление суммы всех целых чисел от 1 до N.

 

Выполните следующее упражнение:

Упражнение 1. Наберите текст программы,  с использованием изученного оператора

 

Program Tp6pr1;                               {Название программы}

Var

I, N, S: integer;                      {Объявление переменных I, N, S}

Begin                                                  {Начало программы}

Write (‘ N = ‘);                      {Вывод на экран запроса числа N}

Readln (N);                            {Ввод и чтение значения переменной N}

S :=0;                                      {Начальное значение суммы}

For I := 1 to N do                              {Цикл подсчета суммы}

S := S+I ;

Writeln (‘Сумма = ’,S)               {Выводим результат}

end.                                                    {Конец программы}

Сохраните программу под именем ТP6PR1. Выполните программу. Проанализируйте результат.

 

Существует другая форма оператора:

FOR <пар_цикл > := <нач_знач>DOWNTO <кон_знач> DO <оператор>

 

Здесь замена зарезервированного слова TO на  DOWNTO означает, что шаг наращивания параметра цикла равен (-1), а управляющее условие приобретает вид <пар_цикл > = <кон_знач>.

 

Создайте и выполните следующие программы самостоятельно.

 


  1. Создать программу, в которой расположить пять чисел, начиная с большего, в сторону уменьшения. Результат вывести на экран. Сохраните программу под именем TP6PR2.
  2. Создать программу, в которой вычислить значение y=x3+2k2, если каждому значению х соответствует пять значений k при x=1, 2, 3, 4, 5; k=0, 3, 6, 9, 12. Результат вывести на экран. Сохраните программу под именем TP6PR3.


 

 Окончание работы:


  1. Сохраните созданные программы.
  2. Покажите работу преподавателю.
  3. Завершите работу Turbo-Pascal.


 

Контрольные вопросы:


  1. Какова функция счетного оператора цикла?
  2. В программах какого типа используется счетный оператор цикла?
  3. Каким образом изменить наращивание переменной цикла в отрицательную сторону?