График функции - Pascal ABC (16841)

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

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

1 . Очистить экран монитора и при необходимости установить желаемый цвет фона. 2 . Выбрать размещение системы координат в соответствии с левым и правым интервалом и в соответствии с минимальным и максимальным значением функции , которые могут быть достигнуты на этом интервале .(Левый интервал 0,правый интервал 2П) 3 . Построить горизонтальную и вертикальную координатные оси. 4 . Подписать названия координатных осей . 5 . Построить на координатных осях масштабные метки . 6 . Подписать числовые значения масштабных меток . 7 . Построить координатную сеть. 8 . Построить непосредственно сам график функции . Функция 10sin(x)sin(5x)

Решение задачи: «График функции»

textual
Листинг программы
uses graphABC;
function F(x:real):real;
begin
F:=10*sin(x)*sin(5*x);
end;
var xn,xk,x,mx,my,dx,max:real;
    x0,y0,i:integer;
    s:string;
begin
x0:=50;//начало координат
y0:=windowheight div 2;
xn:=0;xk:=2*pi;//интервал по Х
x:=xn;
mx:=(windowwidth-2*x0)/xk;{масштаб по Х}
my:=(y0-20)/10;//max;{по У}
line(0,y0,windowwidth,y0);{оси}
line(x0,0,x0,windowheight);
for i:=1 to 10 do{максимальное количество засечек в одну сторону}
  begin
    line(x0+round(i*pi*mx/2),y0-3,x0+round(i*pi*mx/2),y0+3); {засечки на оси Х}
    line(x0+3,y0-round(i*my),x0-3,y0-round(i*my)); {засечки на оси Y}
    line(x0+3,y0+round(i*my),x0-3,y0+round(i*my));
    {подпись оси Х}
    textout(x0+round(mx*pi/2)-15,y0+10,'pi/2');
    textout(x0+round(pi*mx),y0+10,'pi');
    textout(x0+round(3*pi*mx/2),y0+10,'3pi/2');
    textout(x0+round(2*pi*mx),y0+10,'2pi');
    {подписи по оси Y}
    str(i,s);
    textout(x0-25,y0-round(i*my),s);
    textout(x0-30,y0+round(i*my),'-'+s);
  end;
{центр}
textout(x0+5,y0+10,'0');
{подписи концов осей}
textout(windowwidth-15,y0-15,'X');
textout(x0+10,10, 'Y');
{графики}
x:=xn;
dx:=0.001;
while x<=xk do
 begin
  x:=x+dx; {наращиваем х}
  setpixel(x0+round(x*mx),y0-round(F(x)*my),clBlue);
 end;
setfontsize(12);
setfontcolor(clBlue);
textout(x0+200,10,'y=10*sin(x)*sin(5*x)');
end.

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

  1. Используется библиотека graphABC.
  2. Определяется функция F(x), которая вычисляет значение функции y=10sin(x)sin(5*x).
  3. Определяются переменные xn, xk, x, mx, my, dx, max, x0, y0, i, s.
  4. Задаются начальные значения x0, y0, i, s.
  5. Вычисляется масштаб по оси Х (mx) и по оси У (my).
  6. Строятся оси: ось X от x0 до x0+windowwidth, ось Y от y0 до y0+windowheight.
  7. Строятся засечки на оси Х для каждого i в диапазоне от 1 до 10.
  8. Строятся засечки на оси Y для каждого i в диапазоне от 1 до 10.
  9. Строится центр оси Х.
  10. Строятся подписи концов осей: X под x0-25, Y под x0+10, 0 под x0+5.
  11. Строятся подписи для каждого i в диапазоне от 1 до 10.
  12. Строится текст y=10*sin(x)*sin(5*x) под x0+200,10.
  13. Устанавливается размер шрифта 12 и цвет текста синий.
  14. Вычисляется значение x для каждого i в диапазоне от 1 до 10.
  15. Вычисляется значение F(x) для каждого i в диапазоне от 1 до 10.
  16. Вычисляется значение x для каждого i в диапазоне от 1 до 10.
  17. Строится график функции y=10sin(x)sin(5*x) для каждого i в диапазоне от 1 до 10.

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

12   голосов , оценка 4.583 из 5