Построить графики функции, заданной в параметрической форме, отдельно в четырех областях экрана для различных значений коэффициента «A». При этом указать вид функции и диапазон изменения параметра — Pascal(Паскаль)

X(t)=(1+A)Cos(t)

Y(t)=(1-A)Sin(t)

t в интервале 0..2pi

А равен -2 -1 1 4
uses graph;

var
  x0, y0, r, d: integer;

procedure Graf(a, r, cx, cy, cv: integer);
var
  dx, dy, x, y: integer;
  t: real;
begin
  t := 0; { начальный угол рисования графика }
  { координаты точек }
  x := cx + round(r * (1 + a) * cos(t));
  y := cy - round(r * (1 - a) * sin(t));
  { становимся в первую точку }
  moveto(x, y);
  while t <= 2 * pi do { делаем полный оборот }
  begin
    { вычисляем координаты остальных точек }
    x := cx + round(r * (a + 1) * cos(t));
    y := cy - round(r * (a - 1) * sin(t));
    setcolor(cv); { выбираем цвет }
    lineto(x, y); { рисуем линию }
    t := t + 0.001; { наращиваем угол }
  end;
end;

begin
  r := 0;
  { переход в графический режим }
  initgraph(r, d, '');
  { центр экрана }
  x0 := getmaxX div 2;
  y0 := getmaxY div 2;
  r := 20;
  setbkcolor(15);
  setcolor(8);
  outtextXY(x0 - 100, 20, 'Grafiki functii v parametricheskoj forme');
  outtextXY(x0 - 40, 35, 'X(t)=(1+A)cos(t)');
  outtextXY(x0 - 40, 50, 'Y(t)=(1-A)sin(t)');
  outtextXY(x0 - 40, 65, 't=0..2pi');
  { рисуем 4 графика с заданными параметрами }
  setcolor(1);
  outtextXY(x0 - 165, y0 - 2 * r - 100, 'A=-2');
  Graf(-2, r, x0 - 150, y0 - 60, 1);
  setcolor(2);
  outtextXY(x0 - 165, y0 + 2 * r, 'A=-1');
  Graf(-1, r, x0 - 150, y0 + 120, 2);
  setcolor(9);
  outtextXY(x0 + 130, y0 - 2 * r - 100, 'A=1');
  Graf(1, r, x0 + 150, y0 - 60, 9);
  setcolor(4);
  outtextXY(x0 + 130, y0 + 2 * r, 'A=4');
  Graf(4, r, x0 + 150, y0 + 120, 4);
  readln

end.

Leave a Comment

36 − 35 =