Const n=5; var a:array[1..n,1..n] of integer; b:array[1..n] of integer; i,j,max,min,s:integer; begin Randomize; writeln('Исходный массив:'); for i:=1 to n do begin for j:=1 to n do begin a[i,j]:=random(21); write(a[i,j]:4); end; writeln; end; max:=a[1,n]; for i:=2 to n do if a[i,n-i+1]>max then max:=a[i,n-i+1]; writeln('1. max = ',max); for i:=1 to n do begin min:=a[i,1]; for j:=2 to n do if a[i,j]<min then min:=a[i,j]; b[i]:=min; end; s:=0; writeln('2. Массив B'); for i:=1 to n do begin write(b[i]:4); s:=s+b[i]; end; writeln; writeln('3. среднее = ',s/n); for i:=1 to n do if b[i]>s/n then write(b[i]:4); writeln; end.
//PascalABC.Net 3.0, сборка 1052 var d:single; begin Write('Введите угол в градусах: '); Read(d); Writeln('Угол в радианах: ',DegToRad(d)) end.
Тестовое решение: Введите угол в градусах: 57.3 Угол в радианах: 1.00007364807695
Вариант с формулой вместо функции: //PascalABC.Net 3.0, сборка 1052 var d:single; begin Write('Введите угол в градусах: '); Read(d); Writeln('Угол в радианах: ',Pi*d/180) end.
Вариант, если не хочется использовать константу Pi: //PascalABC.Net 3.0, сборка 1052 var d:single; begin Write('Введите угол в градусах: '); Read(d); Writeln('Угол в радианах: ',ArcTan(1)*d/45) end.
Вариант для тех, кто не помнит, что arctg(1)=π/4: //PascalABC.Net 3.0, сборка 1052 const Pi=3.14; var d:single; begin Write('Введите угол в градусах: '); Read(d); Writeln('Угол в радианах: ',Pi*d/180) end.
Тестовое решение для этого случая: Введите угол в градусах: 57.3 Угол в радианах: 0.999566653357612
Как видно, из-за значения π, заданного с низкой точностью, снизилась и точность результата.
var
a:array[1..n,1..n] of integer;
b:array[1..n] of integer;
i,j,max,min,s:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to n do
begin
a[i,j]:=random(21);
write(a[i,j]:4);
end;
writeln;
end;
max:=a[1,n];
for i:=2 to n do
if a[i,n-i+1]>max then max:=a[i,n-i+1];
writeln('1. max = ',max);
for i:=1 to n do
begin
min:=a[i,1];
for j:=2 to n do
if a[i,j]<min then min:=a[i,j];
b[i]:=min;
end;
s:=0;
writeln('2. Массив B');
for i:=1 to n do
begin
write(b[i]:4);
s:=s+b[i];
end;
writeln;
writeln('3. среднее = ',s/n);
for i:=1 to n do
if b[i]>s/n then write(b[i]:4);
writeln;
end.
Пример:
Исходный массив:
10 19 15 17 10
12 12 10 1 5
17 8 8 14 15
12 11 8 0 13
2 2 4 10 6
1. max = 11
2. Массив B
10 1 8 0 2
3. среднее = 4.2
10 8