program kovyarovsany; var x1,y1,x2,y2,x3,y3: integer; d1,d2,d3: real; begin write ('x1 = '); readln(x1); write ('y1 = '); readln(y1); write ('x2 = '); readln(x2); write ('y2 = '); readln(y2); write ('x3 = '); readln(x3); write ('y3 = '); readln(y3); d1: =sqrt(x1*x1+y1*y1); d2: =sqrt(x2*x2+y2*y2); d3: =sqrt(x3*x3+y3*y3); if (d1=d2) and (d1=d3) then writeln ('все три точки на одинаковом расстоянии от начала координат ') else if (d1=d2) and (d1< d3) then writeln ('точка 1 и точка 2 на одинаковом расстоянии от начала координат ') else if (d2=d3) and (d2< d1) then writeln ('точка 2 и точка 3 на одинаковом расстоянии от начала координат ') else if (d1=d3) and (d1< d2) then writeln ('точка 1 и точка 3 на одинаковом расстоянии от начала координат ') else if (d1< d2) and (d1< d3) then writeln ('точка 1 ближе всех') else if (d2< d1) and (d2< d3) then writeln ('точка 2 ближе всех') else writeln ('точка 3 ближе всех'); end.
tanu0618
16.01.2022
Ответ давал уже когда- отклика не дождался, видимо. оно так надо было. function knight(x1, y1, x2, y2: integer): boolean; { возвращает true, если возможен переход с (x1,y1) на (x2,y2) } begin if abs(x2 - x1) = 2 then knight : = (abs(y2 - y1) = 1) else if abs(x2 - x1) = 1 then knight : = (abs(y2 - y1) = 2) else knight : = false end; function queen(x1, y1, x2, y2: integer): boolean; { возвращает true, если возможен переход с (x1,y1) на (x2,y2) } begin queen : = (x1 = x2) or (y1 = y2) or (abs(x2 - x1) = abs(y2 - y1)) end; var xk, yk, xq, yq: integer; begin write('укажите через пробел координаты коня [1..8]: '); readln(xk, yk); write('укажите через пробел координаты ферзя [1..8]: '); readln(xq, yq); if knight(xk, yk, xq, yq) then writeln('конь бьет ферзя') else if queen(xq, yq, xk, yk) then writeln('ферзь бьет коня') else writeln('фигуры не угрожают друг другу') end.
catmos
16.01.2022
Var z, s: real; n, p: integer; begin write('введите размер оплаты труда: '); readln(z); write('лицензия первичная (1) или повторная (2)? '); readln(p); writeln('на сколько лет выдается лицензия? '); writeln('0 - до года, 1 - 1-2 года, 2 - 2-3 года,'); write('3 - 3-4 года, 4 - 4-5 лет: '); readln(n); case n of 0: s : = 0.3 * z; 1: s : = 0.4 * z; 2: s : = 0.5 * z; 3: s : = 0.6 * z; 4: s : = 0.7 * z; else s : = 1e9 end; if p = 2 then s : = 0.2 * s; writeln('сумма лицензионного сбора составит ', s: 0: 2) end. тестовое решение: введите размер оплаты труда: 26400 лицензия первичная (1) или повторная (2)? 1 на сколько лет выдается лицензия? 0 - до года, 1 - 1-2 года, 2 - 2-3 года, 3 - 3-4 года, 4 - 4-5 лет: 2 сумма лицензионного сбора составит 13200.00
проверено - работает на паскаль авс:
program kovyarovsany; var x1,y1,x2,y2,x3,y3: integer; d1,d2,d3: real; begin write ('x1 = '); readln(x1); write ('y1 = '); readln(y1); write ('x2 = '); readln(x2); write ('y2 = '); readln(y2); write ('x3 = '); readln(x3); write ('y3 = '); readln(y3); d1: =sqrt(x1*x1+y1*y1); d2: =sqrt(x2*x2+y2*y2); d3: =sqrt(x3*x3+y3*y3); if (d1=d2) and (d1=d3) then writeln ('все три точки на одинаковом расстоянии от начала координат ') else if (d1=d2) and (d1< d3) then writeln ('точка 1 и точка 2 на одинаковом расстоянии от начала координат ') else if (d2=d3) and (d2< d1) then writeln ('точка 2 и точка 3 на одинаковом расстоянии от начала координат ') else if (d1=d3) and (d1< d2) then writeln ('точка 1 и точка 3 на одинаковом расстоянии от начала координат ') else if (d1< d2) and (d1< d3) then writeln ('точка 1 ближе всех') else if (d2< d1) and (d2< d3) then writeln ('точка 2 ближе всех') else writeln ('точка 3 ближе всех'); end.