
Блок-схемы - во вложениях
1.
Program Irina09Gross1;
const n=10;
var a,b,c,p,s: real;
begin
writeln('*** Alphaues is thinking... ***');
writeln('*** OK! ***');
writeln();
writeln('Введите стороны треугольника');
write('Введите а');
readln(a);
write('Введите b');
readln(b);
write('Введите c');
readln(c);
p:=(a+b+C)/2;
S := sqrt(p*(p-a)*(p-b)*(p-c));
writeln('Площадь треугольника равна ',s);
end.
2.
Program Irina09Gross2;
const n=10;
var a,b,h,v,s,r: real;
begin
writeln('*** Alphaues is thinking... ***');
writeln('*** OK! ***');
writeln();
write('Введите длину основания ');
readln(a);
write('Введите ширину основания ');
readln(b);
write('Введите высоту параллелепипеда ');
readln(h);
s := 2*(a*b+b*h+h*a);
v := a*b*h;
r := 4*(a+b+h);
writeln('Объём равен ',v);
writeln('Площадь полной поверхности равна ',s);
writeln('Сумма рёбер равна ',r);
end.

задача 1
program ProcArray;
procedure GetMax (A: array of Integer; var imax: Integer);
var
i: Integer;
begin
imax := Low (A);
for i := Low (A) to High (A) do
if A [i] > A [imax] then
imax := i;
end;
procedure GetMin (A: array of Integer; var imin: Integer);
var
i: Integer;
begin
imin := Low (A);
for i := Low (A) to High (A) do
if A [i] < A [imin] then
imin := i;
end;
procedure Repl (var A: array of Integer; OldValue, NewValue: Integer);
var
i: Integer;
begin
for i := Low (A) to High (A) do
if A [i] > OldValue then
A [i] := NewValue;
end;
var
A: array [0..49] of Integer;
i, imax, imin: Integer;
begin
Randomize;
for i := Low (A) to High (A) do begin
A [i] := Random (21) - 10;
Write (A [i] :3, ' ');
end;
WriteLn;
GetMax (A, imax);
WriteLn ('Максимальное значение = ', A [imax]);
GetMin (A, imin);
WriteLn ('Минимальное значение = ', A [imin]);
Repl (A, 1, 0);
WriteLn ('Замена >1 на 0');
for i := Low (A) to High (A) do
Write (A [i] :3, ' ');
ReadLn;
end.
задача 2
program ProcArray1;
procedure Multi (A: array of Integer; var Prod: LongInt);
var
i: Integer;
begin
Prod := 1;
for i := Low (A) to High (A) do
Prod := Prod * A [i];
end;
procedure Repl (var A: array of Integer; OldValue, NewValue: Integer);
var
i: Integer;
begin
for i := Low (A) to High (A) do
if A [i] > OldValue then
A [i] := NewValue;
end;
var
A: array [0..29] of Integer;
i: Integer;
p: LongInt;
begin
Randomize;
for i := Low (A) to High (A) do begin
A [i] := Random (3) + 1;
Write (A [i] :3, ' ');
end;
WriteLn;
Multi (A, p);
WriteLn ('Произведение = ', p);
Repl (A, 5, 1);
WriteLn ('Замена >5 на 1');
for i := Low (A) to High (A) do
Write (A [i] :3, ' ');
ReadLn;
end.
Объяснение:
Во задаче №2 при заполнении массива значениями больше 5 начинает возникать переполнение LongInt из за чего значение произведения становится отрицательным