Var i,j,k,p:integer; a:array[1..8,1..8]of integer; begin writeln('Исходный массив:'); for i:=1 to 8 do begin for j:=1 to 8 do begin a[i,j]:=random(20); write(a[i,j]:3) end; writeln end; for i:= 1 to 8 do for j:= 1 to 8 do for k:= 1 to 8 do begin if i mod 2=0 then begin if (a[i,j]<a[i,k]) then begin p:=a[i,j]; a[i,j] := a[i,k]; a[i,k] := p end end else if a[i,j] > a[i,k] then begin p:=a[i,j]; a[i,j] := a[i,k]; a[i,k] := p end end; writeln('Преобразованный массив:'); for i:=1 to 8 do begin for j:=1 to 8 do write(a[i,j]:3); writeln end; end.
Извините, что-то я не заметил, что в задании на Паскале надо было написать, поэтому сначала на Питоне написал.
Вот на Паскале:
program HW;
var r,x,y: real;
var chk:string;
begin
write('Введите радиус: '); readln(r);
r := abs(r);
write('Введите X координату точки: '); readln(x);
write('Введите Y координату точки: '); readln(y);
if (x>=0) and (abs(x)<=r) and (y>=0) and (abs(y)<=r) then chk := 'ВХОДИТ'
else if (x<=0) and (abs(x)<=r) and (y<=0) and (abs(y)<=r) then chk := 'ВХОДИТ'
else if (x<=0) and (abs(x)<=r) and (y>=0) and (abs(y)<=r) and (y<=-1*sqrt(sqr(r)-sqr(x+r))+r) then chk := 'ВХОДИТ'
else if (x>=0) and (abs(x)<=r) and (y<=0) and (abs(y)<=r) and (y>=sqrt(sqr(r)-sqr(x-r))-r) then chk := 'ВХОДИТ'
else chk := 'НЕ ВХОДИТ';
writeln('Точка с координатам (', x:1:1, ', ', y:1:1, ') ', chk, ' в выделенную область.');
end.
А это то же на Питоне, вдруг пригодится:
import math
r = abs(float(input("Введите радиус: ")))
x = float(input("Введите X координату точки: "))
y = float(input("Введите Y координату точки: "))
if x>=0 and abs(x)<=r and y>=0 and abs(y)<=r: chk = 'ВХОДИТ'
elif x<=0 and abs(x)<=r and y<=0 and abs(y)<=r: chk = 'ВХОДИТ'
elif x<=0 and abs(x)<=r and y>=0 and abs(y)<=r and y<=-1*math.sqrt(r**2-(x+r)**2)+r: chk = 'ВХОДИТ'
elif x>=0 and abs(x)<=r and y<=0 and abs(y)<=r and y>=math.sqrt(r**2-(x-r)**2)-r: chk = 'ВХОДИТ'
else: chk = 'НЕ ВХОДИТ'
print("Точка с координатам (%.1f, %.1f) %s в выделенную область." % (x, y, chk))
i,j,k,p:integer;
a:array[1..8,1..8]of integer;
begin
writeln('Исходный массив:');
for i:=1 to 8 do
begin
for j:=1 to 8 do
begin
a[i,j]:=random(20);
write(a[i,j]:3)
end;
writeln
end;
for i:= 1 to 8 do
for j:= 1 to 8 do
for k:= 1 to 8 do
begin
if i mod 2=0 then
begin
if (a[i,j]<a[i,k]) then
begin
p:=a[i,j];
a[i,j] := a[i,k];
a[i,k] := p
end
end
else
if a[i,j] > a[i,k] then
begin
p:=a[i,j];
a[i,j] := a[i,k];
a[i,k] := p
end
end;
writeln('Преобразованный массив:');
for i:=1 to 8 do
begin
for j:=1 to 8 do
write(a[i,j]:3);
writeln
end;
end.