русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2013-12-23; просмотров: 633; Нарушение авторских прав


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

Оператор цикла с пост-условием применяется если во время написания программы количество повторений неизвестно. Общий вид этого оператора таков:

repeat <операторы>;until <условие>;

Исполнение цикла повторяется до того момента, когда <условие> станет истинным.

Изображение оператора цикла на блок-схеме приведено на рисунке.

Зарезервированные слова repeat и until по действию похожи на операторные скобки, вследствие этого между словами repeat и until можно поместить несколько операторов, отделяя их друг от друга точкой с запятой. Т.е. нет необходимости вставлять составной оператор.

Примечание
При записи оператора слово until обычно выравнивается на слово repeat, к которому оно относится, а внутренние операторы цикла несколько сдвигаются вправо.

При составлении цикла с пост-условием необходимо принимать во внимание следующие моменты:

§ тело цикла выполняется как минимум один раз;

§ операторы внутри цикла должны иметь правильную последовательность, причем должен присутствовать хотя бы один оператор, влияющий на условие окончания (иначе цикл будет продолжаться бесконечно – вечный цикл).

§ условие окончания должно, в конце концов, быть удовлетворено;

Пример (ввод отрицательного числа):

var X : integer;begin repeat write('Введите отрицательное число: '); readln(X); if X>=0 then writeln('Bbi неправильно ввели число! Повторите ввод.'); until X<0;end.

Другой способ организации повторного выполнения оператора связан с использованием цикла с пред-условием. Этот оператор похож на оператор цикла с пост-условием (repeat), однако условие вычисляется и проверяется в начале цикла повторения, а не в конце. Оператор цикла с пред-условием имеет вид:

while <условие> do <оператор>;

Изображение оператора цикла на блок-схеме приведено на рисунке.



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

Исполнение цикла повторяется до тех пор, пока <условие> истинно.

Существенным является тот факт, что один из операторов, находящихся внутри цикла, должен в конечном счете влиять на значение условия, поскольку иначе цикл будет повторяться бесконечно. Кроме того, нужно наложить дополнительное требование на условие, которое заключается в том, что это условие должно иметь определенное значение перед началом выполнения оператора.

Примечание
При практическом программировании оператор цикла с пред-условием оказывается гораздо полезнее оператора цикла с пост-условием. Это связано с тем фактом, что во многих случая необходимо вначале установить, не следует ли пропустить цикл целиком. Если возникают сомнения при выборе операторов цикла с пред-условием и пост-условием, рекомендуется сначала использовать оператор цикла с пред-условием.

Пример (xk/k < a {поиск к}):

var к : integer; x,a,p : real;begin write('Введите A, X: '); readln(a,x); к := 1; p := x; while p/k>=a do begin p :=p*x; inc(k); end; writeln('Значение к равно ',к); end.

 



<== предыдущая лекция | следующая лекция ==>
Оператор цикла с параметром | Структурированные типы данных


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.003 сек.