Построение графиков функций (перевести в PascalABC) - Pascal ABC
Формулировка задачи:
программа была набрана в турбо паскале, помогите перевести его в PascalABC
Решение задачи: «Построение графиков функций (перевести в PascalABC)»
textual
Листинг программы
program chukreev; uses graphABC,crt; var y:array[1..101] of real; nom:integer; i,k,l,n,mx,dr,mo:integer; a,b,x,h,ymax,ymin,my: real; xs,Yx:string; begin hidecursor; writeln(' Виды функций'); writeln('1: y:=sqr(x)-x+1');writeln('2: y:=sin(x)/cos(x)'); writeln('3: y:=cos(x)');writeln('4: y:=sqrt(x)'); writeln('5: y:=3*x+1');writeln('6: y:=-x/2'); writeln('7: y:=exp(3*ln(x))'); writeln('8: y:=1/x'); writeln('9: y:=sqr(x)'); write('введите номер:');readln(nom); write('введите начальное значение x='); readln(a); write('введите конечное значение x='); readln(b); write('введите число точек ='); readln(n); ymax:=-maxint; ymin:=maxint; h:=(b-a)/n; readln; clearwindow; x:=a; for i:=1 to n do begin Case nom of {1: y[i]:=sqr(x)-x+1; {2: y[i]:=sin(x)/cos(x);} {3: y[i]:=cos(x); {4: y[i]:=sqrt(x);} {5: y[i]:=3*x+1; {6: y[i]:=-x/2; {7: y[i]:=exp(3*ln(x));} 8: y[i]:=1/x; 9: y[i]:=sqr(x); end; if y[i]>ymax then ymax:=y[i]; if y[i]<ymin then ymin:=y[i]; x:=x+h; end; mx:=round((windowwidth-50)/n); my:=(ymax-ymin)/(windowheight-20); k:=round(abs(ymin)/my); line(20,20,20,windowheight-20); textout(18,20,'^'); textout(10,10,'y'); line(20,windowheight-20-k,windowwidth-20,windowheight-20-k); textout(windowwidth-20,windowheight-22-k,'>'); textout(windowwidth-20,windowheight-15-k,'x'); Case nom of 1: Yx:='sqr(x)-x+1'; 2: Yx:='sin(x)/cos(x)'; 3: Yx:='cos(x)'; 4: Yx:='sqrt(x)'; 5: Yx:='3*x+1'; 6: Yx:='-x/2'; 7: Yx:='exp(3*ln(x))'; 8: Yx:='1/x'; 9: Yx:='sqr(x)'; end; textout(windowwidth-100,windowheight-10,Yx); X:=A; for i:=1 to n do begin str(x,xs); l:=round((y[i]-ymin)/my); if(i-1) mod 5=0 then textout((i-1)*mx+20,windowheight-15-k,xs); textout((i-1)*mx+20,windowheight-20-l,'*'); x:=x+h end; end.
Объяснение кода листинга программы
Этот код написан на языке Pascal ABC и используется для построения графиков функций. Он использует библиотеку graphABC и функцию crt для отображения графиков. Переменные:
- y: массив из 101 элемента, представляющий значения функции на интервале от x=0 до x=100.
- nom: номер функции, которую нужно отобразить.
- i, k, l, n, mx, dr, mo: счетчики для итерации по точкам функции.
- a, b: начальные и конечные значения переменной x.
- ymax, ymin: минимальное и максимальное значения функции.
- my: шаг оси y.
- mx: шаг оси x.
- dr: размер окна графика.
- mo: цвет линии.
- a, b: координаты верхнего и нижнего края окна графика.
- X, Yx: координаты правой и левой границы окна графика.
Код начинается с объявления всех переменных и начальных значений. Затем он запрашивает у пользователя номер функции и начальное значение x. После этого он вычисляет шаг оси x и y, а также определяет размеры окна графика.
Затем идет цикл, который проходит по всем точкам функции. Внутри цикла происходит проверка условия, при котором отображается символ
*
. Это условие выполняется каждые 5 итераций. После завершения цикла происходит вывод координат верхней и нижней границ окна графика, а также значения функции для выбранной точки. Наконец, код выводит координаты левой границы окна графика и значение функции для выбранной точки.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д