русс | укр

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

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

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

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


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

Операторы повтора (цикла)


Дата добавления: 2015-09-15; просмотров: 705; Нарушение авторских прав


Если в программе возникает необходимость неоднократного выполнения некоторых операторов, то для этого используются операторы повтора (цикла). В языке Паскаль различают три вида операторов цикла: цикл с предусловием (while), цикл с постусловием (repeat) и цикл с параметром (for).

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

Оператор цикла с параметром имеет два варианта записи:

1) for <имя переменной> := <начальное значение> to <конечное значение> do

<тело цикла>

2) for <имя переменной> := <начальное значение> downto <конечное значение> do

<тело цикла>

Имя переменной – параметр цикла, простая переменная целого типа; <тело цикла> - операторы или оператор. Цикл повторяется до тех пор пока значение параметра лежит в интервале между начальным и конечным значениями. В первом варианте при каждом повторении цикла значение параметра увеличивается на 1, во втором - уменьшается на 1.

При первом обращении к оператору for вначале определяются начальное и конечное значения, и присваивается параметру цикла начальное значение. После этого циклически повторяются следующие действия.

1. Проверяется условие параметр цикла <= конечному значению.

2. Если условие выполнено, то оператор продолжает работу (выполняется оператор в теле цикла), если условие не выполнено, то оператор завершает работу и управление в программе передается на оператор, следующий за циклом.

3. Значение параметра изменяется (увеличивается на 1 или уменьшается на 1).

Если в теле цикла располагается более одного оператора, то они заключаются в операторные скобки begin … end;

Пример 1. Вывести на экран таблицу перевода из градусов по шкале Цельсия в градусы по Фаренгейту для значений от 15°С до 30°С с шагом в 1°С. Перевод осуществляется по формуле: F=C*1.8+32.



Program zf;

Var i:integer; f:real;

Begin

Writeln(‘Температура’);

For i:=15 to 30 do

Begin

F:=i*1.8+32;

Writeln(‘по Цельсию’, i, ‘по Фаренгейту’, f:5:2);

End;

End.

Пример 2.Вывести на экраннатуральные числа от 1 до 9 в обратном порядке.

Program z;

Var i:integer;

Begin

For i:=9 downto 1 do

Writeln(i);

End.

Если число повторений заранее неизвестно, а задано лишь условие его повторения (или окончания), то используются операторы while и repeat. Оператор While часто называют оператором цикла с предусловием. Так как проверка условия выполнения цикла производится в самом начале оператора.

Общий вид: While <условие продолжения повторений> do

<тело цикла>;

Тело цикла – простой или составной оператор или операторы. Если операторов в теле цикла несколько, то тело цикла заключается в операторные скобки begin…end.

Перед каждым выполнением тела цикла вычисляется значение выражения условия. Если результат – «истина», тело цикла выполняется и снова вычисляется выражение условия. Если результат–«ложь», происходят выход из цикла и переход к первому после while оператору.

Пример. Найти сумму 10 произвольных чисел.

Program z;

Const

N=10;

Var k, x, s: integer;

Begin

k:=0; s:=0; {k- количество введенных чисел}

while k < n do

begin

k:=k+1;

write(‘Введите число’);

readln(x);

s:=s+x;

end;

writeln(‘Сумма чисел равна’, s);

end.

 

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

Общий вид: Repeat

<оператор>

. . . . .

<оператор>

until <условие окончания цикла>

Вначале выполняется тело цикла, затем проверяется условие выхода из цикла. В любом случае этот цикл выполняется хотя бы один раз. Если условие не выполняется, т.е. результатом выражения является False, то цикл активизируется еще раз. Если условие выполнено, то происходит выход из цикла. Использования операторных скобок, в случае, если тело цикла состоит из нескольких операторов, не требуется.

Пример. Составить программу, которая вводит и суммирует целые числа. Если введено значение 999, то на экран выводится результат суммирования.

Program s;

Var x, s:integer;

Begin

S:=0;

Repeat

Write(‘Ввести число’);

Readln(x);

If x<>999 then s:=s+x;

Until x=999;

Writeln(‘Сумма введенных чисел’, s);

End.



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


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


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

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

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


 


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

 
 

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

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