Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОргЭВМиС (3 сем) / Лаба №3 / Отчёт по Лабораторной Работе №3.docx
Скачиваний:
78
Добавлен:
01.06.2019
Размер:
32.75 Кб
Скачать

Текст программы

#include <stdio.h>

#include <conio.h>

#include <dos.h>

#include <graphics.h>

#include <math.h>

#include <stdlib.h>

#define pi 3.14159265358979323846

#define dx 100

#define dy 100

#define x0 10

#define y0 10

#define MaxX 6

#define MinX 0.5

int main(void)

{

clrscr();

int graph_driver,

graph_mode,

graph_error_code,

midx,

midy;

char str[3];

graph_driver = DETECT;

initgraph(&graph_driver, &graph_mode, "C:\\BORLANDC\\BGI");

graph_error_code = graphresult();

if (graph_error_code != grOk)

{

printf("error%s\n ", grapherrormsg(graph_error_code));

getch();

return 0;

}

midx = getmaxx();

midy = getmaxy() / 2 - y0*y0;

setviewport(0, 0, midx, midy, 1);

line(x0, midy, x0, 0);

line(x0, midy, midx, midy);

int k = 0;

for (int i = dx; k <= MaxX; i += dx)

{

k++;

sprintf(str, "%dpi", k);

outtextxy(i-15, midy-20, str);

line(i, midy+5, i, midy-5);

};

k = 1;

for (int j = y0+28; k >= -1; j += dy)

{

sprintf(str, "%d", k);

outtextxy(0, j-7, str);

line(x0, j, x0+5, j);

k--;

};

double x1;

double y1;

double max = 0;

double mashtabx = dx / pi;

double x, y;

setviewport(0, 0, midx, midy, 0);

x1 = MinX * pi ;

do

{

y1 = sin(x1)*sin(x1) - cos(x1)*cos(x1);

x = x1 * mashtabx;

y = y1 * dy;

putpixel(x, midy - y, 5);

if (y1 > max)

max = y1;

x1 += 0.0001;

} while (x <= MaxX*dx);

char str2[16];

sprintf(str2, "Max value is %f", max);

outtextxy(0, midy+midy, str2);

getchar();

closegraph();

return 0;

}

Заключение

При выполнении лабораторной работы были изучены работа с видеосистемой в графическом режиме, вывод графика заданной функции с масштабированием и разметкой осей.