Написать алгоритм движения робота по треугольнику и по кругу. В качестве примера можете посмотреть алгоритм движения робота по квадрату С ИНФОРМАТИКОЙ
var a,b,c,d,x,x1,x2:real; begin write ('a='); read (a); write ('b='); read (b); write ('c='); read (c); d:=b*b-4*a*c; if d<0 then writeln ('NO') else if d>0 then begin x1:=(-b+sqrt(d))/(2*a); x2:=(-b-sqrt(d))/(2*a); writeln ('x1=',x1:0:2,' x2=',x2:0:2) end else begin x:=-b/(2*a); writeln ('x=',x); end end.
type M = array[1..mm, 1..nn] of integer; KS = array[1..2, 1..nn] of integer;
procedure GetKS(var a: M; var b: KS; m, n: integer); { Помещает в b[1,*] суммы отрицательных элементов массива а[m,n] по столбцам, а в b[2,*] - количества этих элементов } var i, j, s, k: integer; begin for j := 1 to n do begin k := 0; s := 0; for i := 1 to m do if a[i, j] < 0 then begin s := s + a[i, j]; Inc(k) end; b[1, j] := s; b[2, j] := k end end;
procedure Init(var a: M; m, n: integer); { Заполняет массив a[m,n] случайными значениями на интервале [-50;50] и выводит их на экран } var i, j: integer; begin for i := 1 to m do begin for j := 1 to n do begin a[i, j] := Random(101) - 50; Write(a[i, j]:5) end; Writeln end end;
procedure OutKS(var a: KS; n: integer); { Выводит на экран элементы массива a[2,n]} var i, j: integer; begin for i := 1 to 2 do begin for j := 1 to n do Write(a[i, j]:5); Writeln end end;
procedure Work(var a: M; var b: KS; m, n: integer); { цикл работы с массивом } begin Init(a, m, n); GetKS(a, b, m, n); Writeln('Суммы и количество'); OutKS(b, n); end;
begin
write ('a='); read (a);
write ('b='); read (b);
write ('c='); read (c);
d:=b*b-4*a*c;
if d<0 then writeln ('NO')
else if d>0 then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln ('x1=',x1:0:2,' x2=',x2:0:2)
end
else
begin
x:=-b/(2*a);
writeln ('x=',x);
end
end.