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

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

Оператор цикла с постусловием  REPEAT

 

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

 

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

 

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

 

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

 

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

 

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

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

Repeat <тело_цикла> UNTIL <условие>

Здесь Repeat, UNTIL – зарезервированные слова (повторять до тех пор, пока не будет выполнено условие);

< тело_цикла > - произвольная последовательность операторов Турбо Паскаля;

<условие > - выражение логического типа.

 

Операторы < тело_цикла > выполняются хотя бы один раз, после чего вычисляется  выражение <условие >: если его значение есть FALSE, операторы < тело_цикла > повторяются, в противном случае оператор Repeat … UNTIL прекращает свою работу.

 

В качестве иллюстрации рассмотрим программу, которая при вводе символа выводит на экран его код, цикл будет продолжаться до тех пор, пока очередным символом не будет CR (вводится клавишей Enter).

 

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

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

 

Program Tp8pr1;                                 

Var

ch: Char; 

Const 

            CR =13;                   

Begin                                                 

repeat

Readln (ch);   

Writeln (ch,‘ = ’, ord(ch))

Until ord(ch) = CR             

End.                                                  

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

 

Обратите внимание: пара Repeat… UNTIL операторным скобкам begin…end, поэтому перед UNTIL ставить точку с запятой необязательно.

 

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

 

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

а) sinx+sin2x+…+sinnx;

б) sinx+sinx2+…+sinxn.

 Сохраните программу под именем TP8PR2.

 

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


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


 

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


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