Команда For:
For x:=1 to 9 do Writeln(x)
Команда While:
x:=-5;
While x<9 do
begin
y:=abs(x);
Writeln(y);
x:=x+1
end;
Объяснение:
Цикл For:
For переменная-счетчик := начальное значение to конечное значение do
For x:=1 to 9 do
x - переменная-счетчик
1 - начальное (минимальное) значение переменной-счетчика
9 - конечное (максимальное) значение переменной-счетчика
начальное значение <= конечного значения (если это не так, то тело цикла не выполнится ни разу)
В цикле переменная-счетчик автоматически увеличивается на 1 каждый раз при выполнении тела цикла, пока не достигнет конечного значения включительно.
В цикле While переменную надо увеличивать (или уменьшать) в теле цикла, но зато это можно делать на нужный шаг.
// Cборка 1590 от 03.12.2017
1)
begin
var (a,b,c):=ReadInteger3('Введите a,b,c,d-> '); var d:=ReadInteger;
if a=d then begin Println('Первое число равно',d); exit; end;
if b=d then begin Println('Второе число равно',d); exit; end;
if c=d then begin Println('Третье число равно',d); exit; end;
a:=d-a; b:=d-b; c:=d-c;
var max:=max(max(a,b),c);
Println('Максимальная разность->',max);
end.
2)
begin
var a:=ReadInteger('Введите возраст->');
if (a mod 10=1) and (a<>11)
then writelnformat('Вам {0} год',a)
else
if (a mod 10=2) or (a mod 10=3) or (a mod 10=4)
then writelnformat('Вам {0} года',a)
else writelnformat('Вам {0} лет',a);
end.
3)
begin
var (x,a,b):=readreal3('Введите x,a,b->');
WritelnFormat('Нужно приобрести {0} банок краски',Round((a*b)/x));
end.
4)
begin
var (a,b):=readreal2('Введите a,b->');
if a+b>10
then println(2*a*b)
else
if a>b
then
Println(a+b,a-b)
else
Println(a-b,a+b);
end.