Построить график функции y=a*cos(x)+b - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Компьютер строит график функции y=a*cos(x)+b. Переменные a, b задает пользователь.

Решение задачи: «Построить график функции y=a*cos(x)+b»

textual
Листинг программы
uses graphABC;
function f(a,b,x:real):real;
begin
f:=a*cos(x)+b;
end;
var a,b,xn,xk,x,mx,dx,my:real;
    x0,y0,n,i:integer;
begin
repeat
write('Введите параметр а от -5 до 5 a=');
readln(a);
until(a>=-5)and(a<=5);
repeat
write('Введите параметр b от -5 до 5 b=');
readln(b);
until(b>=-5)and(b<=5);
setwindowsize(500,500);
centerwindow;
x0:=windowwidth div 2;
y0:=windowheight div 2;
xn:=-2*pi;xk:=2*pi;
mx:=(x0-30)/xk;
my:=(y0-30)/(1+abs(a)+abs(b));
line(0,y0,windowwidth,y0);
line(x0,0,x0,windowheight);
if abs(a)+abs(b)+1>2*pi then n:=trunc(abs(a)+abs(b))+1 else n:=7;
for i:=1 to n do
  begin
    line(x0+round(i*mx),y0-3,x0+round(i*mx),y0+3);
    line(x0-round(i*mx),y0-3,x0-round(i*mx),Y0+3);
    textout(x0+round(i*mx),y0+10,inttostr(i));
    textout(x0-round(i*mx),y0+10,inttostr(-i));
    line(x0-3,y0-round(i*my),x0+3,y0-round(i*my));
    line(x0+3,y0+round(i*my),x0+3,y0+round(i*my));
    textout(x0-10,y0-round(i*my),inttostr(i));
    textout(x0-15,y0+round(i*my),inttostr(-i));
  end;
textout(x0+5,y0+10,'0');
textout(windowwidth-20,y0-20,'X');
textout(x0+5,10, 'Y');
x:=xn;
setpencolor(clRed);
while x<=xk do
 begin
  if x=xn then moveto(x0+round(x*mx),y0-round(f(a,b,x)*my))
  else lineto(x0+round(x*mx),y0-round(f(a,b,x)*my));
  x:=x+0.1;
 end;
end.

Объяснение кода листинга программы

  1. Импортируется библиотека graphABC.
  2. Определяется функция f(a,b,x), которая вычисляет значение функции y=a*cos(x)+b для заданных значений a и b и переменной x.
  3. Определяются переменные a, b, xn, xk, x, mx, dx, my.
  4. Устанавливается размер окна графического интерфейса.
  5. Вычисляются координаты центра окна.
  6. Задаются начальные координаты для линии графика.
  7. Вычисляется количество точек на графике.
  8. Для каждой точки на графике выполняются следующие действия:
    • Строится линия между двумя точками.
    • Выводится номер точки на графике.
    • Строятся вертикальные линии для отображения масштаба.
    • Выводится значение функции в точке.
  9. Строится горизонтальная линия для отображения оси X.
  10. Строится горизонтальная линия для отображения оси Y.
  11. Выводится значение функции в точке (0,y0).
  12. Задается цвет пера.
  13. Вычисляется новая координата x для движения по оси X.
  14. Если новая координата x меньше текущей, то обновляется значение функции и пересчитываются координаты для следующей точки.
  15. Графическое окно обновляется с новыми значениями функции.
  16. Координаты окна обновляются.
  17. Выводится значение функции в точке (x0,y0).
  18. Закрывается окно графического интерфейса.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4.125 из 5
Похожие ответы