Дали такое задание: Составить программу, выводящую на экран оси X, Y с подписями и график функции
y = x2+tgx в интервале от -2 до 2
Только как её составлять - ума не приложу! Знающие люди, помогите пожалуйста!
Другие языки программирования и технологии
Как составить в Паскале программу, выводящую на экран график?
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.
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.
Это зависит от того, в какой программной среде вы работаете. Нас, например, в своё время, учли писать программы в Borland pascal под Dos, но сейчас, насколько мне известно, Дос уже никто не использует, поэтому, думаю, лучше всего делать это в Дельфи. Там кидаете на форму компонент TImage и на его канве (Image1.Canvas) рисуете. Там есть стандартные методы для рисования. Искал вам эти методы и наткнулся на описание, как строить графики. Вот ссылка. Там, правда, предлагается не на TImage рисовать, а сразу на форме. В общем посмотрите пример, попробуйте разобраться. Если будут какие вопросы, пишите.
Может рисовать в окне через 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>
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>
[ссылка появится после проверки модератором] поспрашивай на этом сайте
Похожие вопросы
- Подскажите почему Паскаль не делает нужного расчета и выводит на экран просто S вместо его значения? Как это исправить?
- написать программу которая выводит на экран оцифрованную координатную сетку!Нужно решение через Турбо Паскаль!
- <<ПОМОГИТЕ! НАПИСАТЬ ПРОГРАММУ НА СИ ИЛИ ПАСКАЛЕ КОТОРАЯ ВЫВОДИТЬ СУММУ ЦИФР ЧИСЛА ОТ 1 ДО N
- Составить и отладить программу на паскале
- Подскажите, как можно проверить программу составленную в Паскале в excel
- Паскаль!Программа Калькулятор
- c++ цикл: for Написать программу, которая выводит на экран все числа в диапазоне указанном пользователем.
- Паскаль программа програмирование паскаль
- Напишите программу, которая выводит на экран все делители числа N, (число N вводится с клавиатуры) абсПАСКАЛЬ ПОМОГИТЕ
- Составить программу вывода на экран в алфавитном порядке всех символов заданного текста, входящих в него по одному разу.