Другие языки программирования и технологии

Как составить в Паскале программу, выводящую на экран график?

Дали такое задание: Составить программу, выводящую на экран оси X, Y с подписями и график функции
y = x2+tgx в интервале от -2 до 2

Только как её составлять - ума не приложу! Знающие люди, помогите пожалуйста!
Руслан Анисов
Руслан Анисов
1 445
uses
Graph,CRT;
const
k = 100;
var
i : integer;
x:double;
y : Real;
begin
x:=-2;
D := Detect;
InitGraph(D,R,'..\bgi');
SetBkColor(Black);
ClearDevice;
SetColor(White);
Line(3,3,3,477);
Line(3,240,637,240);
OutTextXY(5,470,'Y');
OutTextXY(630,245,'X');
SetColor(58);
for i:=0 to 40 do
begin
x:=x+0.1;
y:=(x*2)+(tg(x));
putpixel(i,round(y),58);
end;

ReadLn;
ReadLn;
end.
Дмитрий Малышев
Дмитрий Малышев
1 131
Лучший ответ
Это зависит от того, в какой программной среде вы работаете. Нас, например, в своё время, учли писать программы в Borland pascal под Dos, но сейчас, насколько мне известно, Дос уже никто не использует, поэтому, думаю, лучше всего делать это в Дельфи. Там кидаете на форму компонент TImage и на его канве (Image1.Canvas) рисуете. Там есть стандартные методы для рисования. Искал вам эти методы и наткнулся на описание, как строить графики. Вот ссылка. Там, правда, предлагается не на TImage рисовать, а сразу на форме. В общем посмотрите пример, попробуйте разобраться. Если будут какие вопросы, пишите.
[*
[Н]Урсулта[Н] *
76 386
Может рисовать в окне через WinApi, поместить это в цикл и рисовать линии. Не знаю как на делфи, а на cpp так:
case WM_PAINT:

hdc = BeginPaint(hWnd, &ps);

SetMapMode(hdc, MM_ISOTROPIC);

SetWindowExtEx(hdc, 500, 500, NULL);

SetViewportExtEx(hdc, xView, -yView, NULL);

SetViewportOrgEx(hdc, xView/6, yView/2, NULL);

MoveToEx(hdc, 0, 0, NULL);

float y = 0.0f;

for(float n=-2.0f; n<2.0f; n+=0.1f){

y = n*2 + tan(n);

LineTo(hdc, );

}

EndPaint(hWnd, &ps);

break;

Для tan(x) надо вверху вписать #include <math.h>
[ссылка появится после проверки модератором] поспрашивай на этом сайте

Похожие вопросы