Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
osnovy_programmirovanija_v_srede_lazarus.pdf
Скачиваний:
185
Добавлен:
18.03.2015
Размер:
6.53 Mб
Скачать

2.1 Основные элементы языка

____________________________________________________________________

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

Иногда заранее точно известно, сколько раз должно быть выполнено опре-

деленное действие. Для задач такого типа в языке Паскаль, имеется оператор цикла с параметром. Этот оператор имеет вид:

for переменная:= выражение 1 to выражение 2 do оператор;

где for, to, do – служебные слова; переменнаяпеременная целого типа,

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

Выражение 1, выражение 2 – арифметические выражения целого типа, т.е.

значения выражений должны быть целыми;

оператор – простой или составной оператор.

Для того чтобы оператор цикла выполнялся хотя бы один раз, значение выражения 1 должно быть меньше или равно значению выражения 2 (на прак-

тике значения выражения 1 всегда меньше значения выражения 2). Оператор работает следующим образом: вначале переменной (параметру цикла) при-

сваивается значение выражения 1, затем сравнивается значение параметра цик-

ла и значение выражения 2. Если параметр цикла меньше значения выражения

2, то выполняется оператор после слова do. Затем параметр цикла увеличива-

ется на 1, после этого вновь сравнивается значение параметра цикла и выраже-

ние 2, если параметр цикла меньше, то вновь выполняется оператор после слова do. И так продолжается до тех пор, пока параметр цикла не станет больше выражения 2. Как только это происходит, оператор цикла заканчивается.

Пример: давайте вычислим снова значения функции

x2 1, x 0

y 0, x 0

для х [-10, 10] c шагом 1

 

x2 1, x 0

120

Глава 2 Введение в язык программирования Pascal

____________________________________________________________________

program fun_4; {оператор цикла с параметром for...to} {$mode objfpc}{$H+}

uses

CRT, FileUtil; var

x, y: integer; begin

for x:=-10 to 10 do begin

if x > 0 then y:=sqr(x) + 1

else

if x= 0 then y:= 0

else y:=sqr(x)-1;

writeln('x= ', x, ' y= ', y); end;

writeln(UTF8ToConsole('Нажмите любую клавишу')); readkey;

end.

2.1.23.4. Второй вариант оператора цикла с параметром

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

for переменная:= выражение 1 downto выражение 2 do оператор;

В этом варианте параметр цикла (переменная) после каждого повторения не увеличивается, а уменьшается на 1. Значение выражения 1 больше или равно

(на практике всегда больше) значения выражения 2.

121

2.1 Основные элементы языка

____________________________________________________________________

Оператор цикла заканчивается как только параметр цикла станет меньше

выражения 2.

Пример:

program fun_5; {оператор цикла с параметром for...downto} {$mode objfpc}{$H+}

uses

CRT, FileUtil;

var

x, y: integer;

begin

for x:= 10 downto - 10 do begin

if x > 0 then

y:=sqr(x) + 1

else

if x = 0 then

y:= 0

else

y:= sqr(x) - 1;

writeln('x= ', x, ' y= ', y);

end;

writeln(UTF8ToConsole('Нажмите любую клавишу')); readkey;

end.

 

10

Пример: Вычислить S

x,

 

x 1

program summa_1; {Вариант 1 используется оператор цикла for}

{$mode objfpc}{$H+}

122

Глава 2 Введение в язык программирования Pascal

____________________________________________________________________

uses

CRT, FileUtil; var

x, s: integer; begin

s:= 0; // в этой переменной накапливается сумма for x:= 1 to 10 do

s:= s + x;

writeln('x= ', x, UTF8ToConsole(' сумма s= '), s); writeln(UTF8ToConsole('Нажмите любую клавишу')); readkey;

end.

program summa_2;{Вариант 2 используется оператор цикла while…do} {$mode objfpc}{$H+}

uses

CRT, FileUtil; var

x, s: integer; begin

s:= 0; // в этой переменной накапливается сумма x:= 1;

while x <= 10 do begin

s:= s + x; x:= x + 1;

end;

writeln('x= ', x, UTF8ToConsole(' сумма s= '), s); writeln(UTF8ToConsole('Нажмите любую клавишу')); readkey;

123

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]