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 в этом случае совпадают.
Начинающим программистам для записи конструкций «ПОКА» и «ДО» рекомендуется использовать схему с блоком «РЕШЕНИЕ».
Вопрос 5
Конструкция повторение с параметром (FOR) («Для»)
(При использовании в качестве параметра целочисленной переменной)
1 Особенности конструкции «Для»
|
Далее будем рассматривать случаи, когда параметр цикла будет иметь целочисленный тип. При этом имеют место следующие особенности: шаг параметра цикла равен либо +1, либо –1, а начальное и конечное значения параметра цикла являются выражениями (в частном случае переменными) целочисленного типа.
2 Запись конструкции «Для» в виде схем
Её изучение будем вести на примере частного случая, когда параметр цикла, его начальное и конечные значения обозначены соответственно: Х, Хн, Хк. Вид схемы конструкции повторение с параметром зависит от того, чему равен шаг +1 или –1, а также от того какой блок используется при её рассмотрении «решение» или «модификация». В п. 1 и 2 рассматриваются упрощенные схемы конструкции for с блоком решения, но эти схемы по результатам работы являются эквивалентными реальным схемам.
Комментарий к п.2.1.
· Переменной Х присваивается Хн - начальное значение параметра цикла.
· Проверяется условие выполнения цикла Х£Хк. Если оно истинно, то выполняется тело цикла: выполняются операторы, а затем параметру цикла Х присваивается значение параметра цикла Х плюс 1.
· Затем опять проверяется условие выполнения цикла: Х£Хк. Если оно ложно, то осуществляется выход из цикла, а если оно истинно, то выполняется тело цикла и т.д.
Комментарий к п. 2.2.
· Переменной Х присваивается Хн - начальное значение параметра цикла.
· Проверяется условие выполнения цикла Х³Хк. Если оно истинно, то выполняется тело цикла: выполняются операторы, а затем параметру цикла Х присваивается значение параметра цикла Х минус 1.
· Затем опять проверяется условие выполнения цикла: Х³Хк. Если оно ложно, то осуществляется выход из цикла, а если оно истинно, то выполняется тело цикла и т.д.
Для записи схем для реализации которых будет использована конструкция повторение с параметром, рекомендуется использовать блок “модификация” .
3 Запись конструкции «Для» на языке Паскаль (Delphi)
(на примере частного случая).
4 Замечания по применению конструкции for
· Оператор for обеспечивает автоматическое изменение параметра цикла с шагом +1 или –1 и исключает зацикливания, т.к. значения параметра цикла меняются от начального до конечного значения с заданным шагом.
· Параметр цикла, его начальное и конечное значения не могут быть действительного типа (real).
· В общем случае начальное и конечное значения параметра цикла могут быть выражениями, имеющими целочисленный результат.
· Значения Xn и Xk (начального и конечного значений параметра цикла) не должны меняться в теле цикла.
· Конструкцию for рекомендуется использовать в случае, когда известны, либо могут быть рассчитаны, целочисленные начальное и конечные значения параметра цикла, а шаг его изменения равен +1 или –1.
· Обычно удобно использовать эту конструкцию при работе с массивами.
· Тело цикла не выполняется ни разу при величине шага
· +1, в случае если начальное значение превышает конечное значение;
· -1, в случае если конечное значение превышает начальное значение.
· Таким образом, цикл с параметром является циклом с предшествующим условием. Этим объясняется то, что в некоторых случаях одна и та же схема, содержащая циклы выполненные с помощью блока решение, может быть запрограммирована, как с использованием конструкции while, так и for.
5 Пример решения задачи с использованием конструкции
повторение с параметром
Рассмотрим решение ранее сформулированной задачи при изменении Х с шагом равным 1 и при целочисленных значениях Xn и Xk.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.