Материал: Мансуров. Основы программирования в среде Lazarus. 2010

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

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

____________________________________________________________________

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

x:= 1;

while x <= 100 do

begin

Sum:= Sum + x;

x:= x + 1;

end;

writeln('Sum= ',Sum);

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

end.

program sum_2; {Вариант 2 цикл с постусловием} {$mode objfpc}{$H+}

uses

CRT, FileUtil; var x, Sum: integer; begin

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

repeat

Sum:= Sum + x; x:= x + 1;

until x > 100; writeln('Sum= ',Sum);

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

readkey;

end.

116

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

____________________________________________________________________

Пример: Вычислить функцию:

x2 1, x 0

y 0, x 0

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

 

x2 1, x 0

Напишем программу вычисления функции с использованием оператора if…then и оператора цикла while…do:

program fun_1;{Вариант 1} {$mode objfpc}{$H+} uses

CRT, FileUtil; var

x, y: integer; begin

x:=-10;

while x <= 10 do begin

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

if x = 0 then y:= 0;

if x < 0 then y:= sqr(x) - 1;

writeln('x= ', x, ' y= ', y); x:= x + 1;

end;

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

117

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

____________________________________________________________________

Напишем программу вычисления этой же функции с использованием опе-

ратора if…then…else и оператора цикла while…do:

program fun_2;{Вариант 2} {$mode objfpc}{$H+} uses

CRT, FileUtil; var

x, y: integer; begin

x:=-10;

while x <= 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); x:= x + 1;

end;

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

end.

В программах fun_1 и fun_2, как вы могли заметить, использовались со-

ставные операторы.

118

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

____________________________________________________________________

program fun_3;{Вариант 3 с использованием оператора цикла с постусло-

вием}

{$mode objfpc}{$H+} uses

CRT, FileUtil; var

x, y: integer; begin

x:=-10; repeat

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

if x = 0 then y:= 0;

if x < 0 then y:= sqr(x) - 1;

writeln('x= ', x, ' y= ', y); x:= x + 1;

until x > 10;

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

end.

Заметим, что в операторе цикла с постусловием, если после слова repeat

используется не один, а несколько операторов, то не обязательно использовать операторные скобки begin и end, поскольку служебные слова repeat и until сами выполняют роль операторных скобок.

119

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

Смотрите также:

11 Горм +
113
14
1433
1511
1632
199
204
2N4264RE
3773