begin hidecursor; repeat write('Сторона квадрата от 20 до 100 a='); read(a); until a in [20..100]; repeat writeln('Введите 2 числа для определения соотношени m<n:'); read(m,n); until m<n; clearwindow; k:=m/n;//отношение kg:=windowwidth div a+1; //кол. кв. по горизонтали kv:=windowheight div a+1; //по вертикали for j:=1 to kg do for p:=1 to kv do begin for i:=1 to 50 do //рисуем 50 вложенных квадратов в 1 месте begin kvadrat; x1:=trunc(x1+(x2-x1)*k); y1:=trunc(y1+(y2-y1)*k); x2:=trunc(x2+(x3-x2)*k); y2:=trunc(y2+(y3-y2)*k); x3:=trunc(x3+(x4-x3)*k); y3:=trunc(y3+(y4-y3)*k); x4:=trunc(x4+(x1-x4)*k); y4:=trunc(y4+(y1-y4)*k); end; x1:=a*(j-1); y1:=a*(p-1); //на новое место x2:=a*j; y2:=a*(p-1); x3:=a*j; y3:=a*p; x4:=a*(j-1); y4:=a*p; end;
function Distance2(a,b:Point):real; { возвращает квадрат расстояния между точками } begin Distance2:=sqr(b.x-a.x)+sqr(b.y-a.y) end;
function Max(p,q:real):real; { возвращает максимальное из p,q } begin if p>q then Max:=p else Max:=q end;
procedure Vvod(var a:Point;n:integer); { процедура с изменяемым параметром a } begin Write('Введите координаты точки ',n,': '); Readln(a.x,a.y) end;
var a:array[1..3] of Point; d1,d2,d3:real; i:integer;
begin for i:=1 to 3 do Vvod(a[i],i); d1:=Distance2(a[1],a[2]); d2:=Distance2(a[1],a[3]); d3:=Distance2(a[2],a[3]); if d1>d2 then if d1>d3 then Writeln('Максимальное расстояние 1-2') else if d1=d3 then Writeln('Максимальное расстояние 1-2 и 2-3') else Writeln('Максимальное расстояние 2-3') else if d1=d2 then if d1>d3 then Writeln('Максимальное расстояние 1-2 и 1-3') else if d1=d3 then Writeln('Расстояния между всеми точками одинаковы') else Writeln('Максимальное расстояние 2-3') else if d3>d2 then Writeln('Максимальное расстояние 2-3') else if d3=d2 then Writeln('Максимальное расстояние 1-3 и 2-3') else Writeln('Максимальное расстояние 1-3'); end.
Тестовое решение: Введите координаты точки 1: -2 1 Введите координаты точки 2: 4 5 Введите координаты точки 3: 2 -2 Максимальное расстояние 2-3
0,0(0 оценок)
Полный доступ
Позволит учиться лучше и быстрее. Неограниченный доступ к базе и ответам от экспертов и ai-bota
Оформи подписку