Var xa,ya,xb,yb,d2a,d2b:real; begin Write('Введите координаты (x,y) точки А: '); Readln(xa,ya); Write('Введите координаты (x,y) точки B: '); Readln(xb,yb); d2a:=sqr(xa)+sqr(ya); d2b:=sqr(xb)+sqr(yb); if d2a<d2b then Writeln('Точка А расположена ближе к началу координат') else if d2b<d2a then Writeln('Точка B расположена ближе к началу координат') else Writeln('Обе точки равноудалены от начала координат') end.
Тестовое решение: Введите координаты (x,y) точки А: 5 -3.7 Введите координаты (x,y) точки B: -4.2 3.8 Точка B расположена ближе к началу координат
1. Современный вариант (коротко, быстро и наглядно, кто знает). Так уже начали учить в некоторых школах.
// PascalABC.NET 3.2, сборка 1417 от 28.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var s:=ArrRandom(ReadInteger('n='),1,300).Println. Where(k->(k>=100) and ((k mod 100) div 10=0)); if s.Count>0 then Writeln(s.Max) else Writeln('Нет элементов') end.
2. А так по-прежнему учат в большинстве школ. Стиль "80-х годов века". Долго, длинно, можно наделать ошибок, но по-другому эти учителя сами не могут.
const nn=100; var i,n,max:integer; a:array[1..nn] of integer; begin Write('n='); Read(n); Randomize; max:=0; for i:=1 to n do begin a[i]:=Random(300)+1; Write(a[i],' '); if (a[i]>=100) and ((a[i] mod 100) div 10=0) then if a[i]>max then max:=a[i] end; Writeln; if max>0 then Writeln(max) else Writeln('Нет элементов') end.
xa,ya,xb,yb,d2a,d2b:real;
begin
Write('Введите координаты (x,y) точки А: '); Readln(xa,ya);
Write('Введите координаты (x,y) точки B: '); Readln(xb,yb);
d2a:=sqr(xa)+sqr(ya); d2b:=sqr(xb)+sqr(yb);
if d2a<d2b then Writeln('Точка А расположена ближе к началу координат')
else
if d2b<d2a then Writeln('Точка B расположена ближе к началу координат')
else Writeln('Обе точки равноудалены от начала координат')
end.
Тестовое решение:
Введите координаты (x,y) точки А: 5 -3.7
Введите координаты (x,y) точки B: -4.2 3.8
Точка B расположена ближе к началу координат