Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


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




Формат оператора цикла с параметром:

for V:=E1 to E2 do S

где V - переменная порядкового типа, Е1, Е2 - выражения того же типа, S - оператор, называемый телом цикла. Выражения Е1 и Е2 вычисляются один раз при входе в цикл. Параметр V принимает сначала значение Е1 затем непосредственно следующее за ним (SUCC (V)) и т.д. до достижения Е2. При каждом значении V выполняется оператор S. Если в теле цикла необходимо выполнить несколько операторов, то их объединяют в один с помощью составного оператора. Если конечное значение Е2 меньше начального Е1, то оператор S не выполняется ни разу.

Оператор цикла с параметром применяется также в следующем виде:

for V:=Е1 downto E2 do S

В отличии от первого случая, V изменяется от Е1 до Е2, переходя от V к pred (V).

Отметим, что если V, Е1, Е2 типа INTEGER, то в первом случае это цикл с шагом +1, а во втором с шагом -1.

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

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

while B do S

где B - логическое выражение, S - оператор. Оператор S будет выполняться пока условие B будет истинно. Выполнение оператора цикла завершится когда выражение B впервые примет значение false.

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

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

repeat S until B

где B - логическое выражение, S - оператор. Оператор S выполняется до тех пор, пока B не станет истинным. Оператор REPEAT выполняется по крайней мере один раз, так как проверка истинности условия B осуществляется после выполнения оператора S.

Служебные слова REPEAT и UNTIL уже играют роль скобок, поэтому операторные скобки BEGIN и END являются необязательными.

Примеры программ

В качестве примера использования операторов цикла рассмотрим программу вычисления факториала.

Программа 2.1.1. Цикл с параметром (шаг +1)

PROGRAM FACTORIAL1;

VAR I,N:INTEGER;

F:REAL;

BEGIN

WRITE('ВВЕДИТЕ N');

READLN(N); F:=1;

FOR I:=1 TO N DO F:=F*I;

WRITELN ('ФАКТОРИАЛ ОТ ',N,' РАВЕН ',F)

END.

Программа 2.1.2. Цикл с параметром (шаг -1)

PROGRAM FACTORIAL2;

VAR I,N:INTEGER;

F:REAL;

BEGIN

WRITE('ВВЕДИТЕ N');

READLN(N); F:=1;

FOR I:=N DOWNTO 1 DO F:=F*I;

WRITELN ('ФАКТОРИАЛ ОТ ',N,' РАВЕН ',F)

END.

Программа 2.2. Цикл с предусловием

PROGRAM FACTORIAL3;

VAR I,N:INTEGER;

F:REAL;

BEGIN

WRITE('ВВЕДИТЕ N');

READLN(N); F:=1; I:=1;

WHILE I<=N DO

BEGIN

F:=F*I;

I:=SUCC(I)

END;

WRITELN ('ФАКТОРИАЛ ОТ ',N,' РАВЕН ',F)

END.

Программа 2.3. Цикл с постусловием

PROGRAM FACTORIAL4;

VAR I,N:INTEGER;

F:REAL;

BEGIN

WRITE('ВВЕДИТЕ N');

READLN(N); F:=1; I:=1;

REPEAT

F:=F*I;

I:=SUCC(I)

UNTIL I>N;

WRITELN ('ФАКТОРИАЛ ОТ ',N,' РАВЕН ',F)

END.

 

Массивы в языке программирования паскаль

 


Поделиться:

Дата добавления: 2015-01-29; просмотров: 96; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты