КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Оператор цикла с параметромФормат оператора цикла с параметром: 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.
Массивы в языке программирования паскаль
|