Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Informatika_3.doc
Скачиваний:
7
Добавлен:
16.11.2019
Размер:
521.22 Кб
Скачать

Вопрос 3 Конструкция повторение с постусловием (repeat …until) («до»)

В этой конструкции используются служебные слова языков Паскаль и Delphi:

  • Repeat – повторение;

  • until –до тех пор пока не станет истинным условие выхода из цикла.

  1. Запись конструкции в виде схемы с использованием блока решение.

вход

да

Серия

операторов

(тело цикла)

нет

выход

  1. Описание работы конструкции «до» .

При входе в конструкцию условие выполнения цикла не проверяется. Поэтому тело цикла выполняется как минимум один раз.

Если условие выхода из цикла истинно, то осуществляется выход из цикла. Если ложно, то опять выполняется тело цикла. Тело цикла выполняется до тех пор, пока не станет истинным условие выхода из цикла. После этого осуществляется выход из цикла.

  1. Запись конструкции на языке Паскаль и Delphi:

repeat

серия операторов

until условие выполнения цикла ;

Даже в случае, если серия операторов состоит не из одного оператора, то операторные скобки begin – end не являются обязательными. Это исключение из общего следующего правила языка программирования: если в некоторой конструкции находится серия операторов, то их нужно взять в операторные скобки begin – end. Наличие исключения объясняется тем, что нижняя граница серии операторов (тела цикла) явно обозначена словом until. Поэтому отпадает необходимость заключать серию операторов, в операторные скобки begin – end, хотя их использование не будет являться ошибкой. Таким образом, в данной конструкции роль операторных скобок выполняют ключевые слова языка программирования repeat и until.

  1. Пример решения предыдущей задачи с использованием конструкции повторение с постусловием (repeat…until)

    1. Схема алгоритма решения задачи.

    1. Программа решения задачи с использованием конструкции repeat … until.

program repeatp;

var a,b,x,y,xn,xk,dx:real;

begin

write('введите значения переменных a,в,xn,xk,dx: '); readln(a,b,xn,xk,dx);

writeln('Исходные данные: a=',a:4:2,' b=',b:4:2,' xn=',xn:4:2,

' xk=',xk:4:2,' dx=',dx:4:2);

writeln('Результат табуляции функции y=ax+b: ');

x:=xn;

repeat

y:=a*x+b;

writeln(' x=',x:6:2,' y=':20,y:4:2);

x:=x+dx

until(x>xk);

end.

4.3 Особенности конструкции repeat:

а) Поскольку используется постусловие, то тело цикла выполняется не меньше чем один раз;

б) В качестве постусловия записывается условие выхода из цикла, а не условие выполнения тела цикла;

в) Тип и значение параметра цикла являются произвольными;

г) При использовании этой конструкции требуется не забыть до начала цикла присвоить начальное значение параметру цикла. А в теле цикла обеспечить изменение параметра цикла на величину шага изменения параметра. При невыполнении последнего требования возможно зацикливание программы.

Вопрос 4 Запись конструкции повторение в виде схемы с использованием блока модификация

Э тот вариант схемы может быть использован для последующей реализации на языке программирования любой из возможных конструкций «повторение».

Внимание! У блока модификация два входа и два выхода

В общем случае ПЦ, НЗ, КЗ, Ш – могут быть выражениями.

Преимущество в использовании блока модификация состоит в простоте получаемой схемы и в большей доступности ее для восприятия.

Недостатком является то, что из нее не ясно какая разновидность конструкции «ПОВТОРЕНИЕ» будет использована в программе и, следовательно, как она будет работать.

Рекомендация - использовать блок модификация в основном для изображения ниже рассмотренной конструкции повторение с параметром, т.к. форма записи в блоке модификация и в заголовке цикла FOR в этом случае совпадают.

Начинающим программистам для записи конструкций «ПОКА» и «ДО» рекомендуется использовать схему с блоком «РЕШЕНИЕ».

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]