1) program s_parallelogramm; var a,h,s: real; begin write('Основание = '); readln(a); write('Высота = '); read(h); if ((a=0) or (a<0)) or ((h=0) or (h<0)) then writeln('Ошибка! Значения основания и высоты должно быть натуральными числами') else begin s:=a*h; writeln('Площадь (S) параллелограмма = ', s); end; end.
2) program sp_kvadrata; var a,p,s: real; begin write('Сторона квадрата = '); readln(a); p:=4*a; s:=sqr(a); writeln('Периметр (P) квадарата = ', p); writeln('Площадь (S) квадарата = ', s); end.
3) program e_kinet; var m,v,e: real; begin write('Масса тела (m, кг) = '); readln(m); write('Скорость тела (v, км/ч) = '); readln(v); e:=m*sqr(v)/2; writeln('Кинетическая энергия (Ек, Дж) = ', e); end.
1) program vivod_chisel; var i, a: integer; begin a:=11; for i:=1 to 45 do begin write(a:3); a:=a+2; end; end.
2) program sym_trex_chisel_krat5; var mas: array[1..900] of integer; i,a,sym: integer; begin a:=100; sym:=0; for i:=1 to 900 do begin mas[i]:=a; if mas[i] mod 5 = 0 then sym:=sym+mas[i]; a:=a+1; end; writeln('Сумма трехзначных чисел, кратных 5 = ', sym); end.
Во-первых, не whill, а while. Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу. Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.
1)
program s_parallelogramm;
var
a,h,s: real;
begin
write('Основание = '); readln(a);
write('Высота = '); read(h);
if ((a=0) or (a<0)) or ((h=0) or (h<0)) then writeln('Ошибка! Значения основания и высоты должно быть натуральными числами')
else
begin
s:=a*h;
writeln('Площадь (S) параллелограмма = ', s);
end;
end.
2)
program sp_kvadrata;
var
a,p,s: real;
begin
write('Сторона квадрата = '); readln(a);
p:=4*a;
s:=sqr(a);
writeln('Периметр (P) квадарата = ', p);
writeln('Площадь (S) квадарата = ', s);
end.
3)
program e_kinet;
var
m,v,e: real;
begin
write('Масса тела (m, кг) = '); readln(m);
write('Скорость тела (v, км/ч) = '); readln(v);
e:=m*sqr(v)/2;
writeln('Кинетическая энергия (Ек, Дж) = ', e);
end.
1)
program vivod_chisel;
var
i, a: integer;
begin
a:=11;
for i:=1 to 45 do
begin
write(a:3);
a:=a+2;
end;
end.
2)
program sym_trex_chisel_krat5;
var
mas: array[1..900] of integer;
i,a,sym: integer;
begin
a:=100;
sym:=0;
for i:=1 to 900 do
begin
mas[i]:=a;
if mas[i] mod 5 = 0 then sym:=sym+mas[i];
a:=a+1;
end;
writeln('Сумма трехзначных чисел, кратных 5 = ', sym);
end.
Во-вторых, цикл с предусловием(while) выполняется только тогда, когда его условие возвращает ложь. Если условие возвращает правду, цикл завершается. Бывает так, что при попытке первой итерации цикла условие уже возвращает правду. В этом случае цикл не будет выполнен ни разу.
Цикл с предусловием(repeat), наоборот, выполняется, пока условие возвращает правду и завершается ложью. Стоит заметить, что если цикл с предусловием проверяет своё условие перед итерацией, цикл с постусловием делает это после, а это значит, что последний выполнится хотя бы один раз.