Скачиваний:
24
Добавлен:
04.11.2020
Размер:
3.11 Кб
Скачать
//  а Ў®в  б ўЁ¤Ґ®бЁб⥬®© ў Ја дЁзҐбЄ®¬ ०Ё¬Ґ
#include "stdio.h"
#include "conio.h"
#include "math.h"
#include "dos.h"
#include "graphics.h"
#include "iostream.h"
#include "stdlib.h"
#include "windows.h"
#include "time.h" 

int Xmax, Ymax, X0, X1, Y0, Y1, GrDr, GrM, RN[200];

float R[200], Rmax=0.;

char GrP[50]="..//BORLANDC//BGI"; // ђ бЇ®«®¦Ґ­ЁҐ ¤а ©ўҐа®ў BGI
// ”®а¬Ёа®ў ­ЁҐ ¬ ббЁў  §­ зҐ­Ё© ®в®Ўа ¦ Ґ¬®© дг­ЄжЁЁ

void make_fun(int N)
{	
	double x, dx=7.*M_PI/N;
	int i;
	for (i=0, x=M_PI/2.; i<N; i++, x+=dx)
	{
		R[i]=(float)(pow(sin(x),2)-pow(cos(x),2));  // б ¬  дг­ЄжЁп
		if(Rmax<R[i]) Rmax=R[i];
    }
}

// Џа®Ја ¬¬  ўлў®¤  Ја дЁЄ  дг­ЄжЁЁ ­  нЄа ­

void main(void)
{
	int i, N;
	clrscr();                         // ЋзЁбвЄ  нЄа ­ 
	gotoxy(20,5);
	cprintf("Џа®Ја ¬¬  ўлў®¤  Ја дЁЄ  дг­ЄжЁЁ ­  нЄа ­");
	gotoxy(13,10);
	cprintf("„«п ЇҐаҐе®¤  ў Ја дЁзҐбЄЁ© ०Ё¬ ­ ¦¬ЁвҐ «оЎго Є« ўЁиг");
	getch();                        // Ћ¦Ё¤ Ґ¬ ­ ¦ вЁп Є« ўЁиЁ...
	detectgraph(&GrDr,&GrM);        // ЋвЄал«Ё Ја дЁзҐбЁ© ०Ё¬
	initgraph(&GrDr,&GrM,GrP);
	if (graphresult()<0)
	{	
		gotoxy(18,13);
		cprintf("\nЋ€ЃЉЂ! Ќ… ЊЋѓ“ Ћ’Љђ›’њ ѓђЂ”€—…‘Љ€‰ ђ…†€Њ...\n");
		getch(); 
		return;
	}
	else
	{
		Xmax=getmaxx(); 
		Ymax=getmaxy(); // “бв ­®ўЁ«Ё а §¬Ґал нЄа ­ 
		X0=40;          
		Y0=Ymax-200;     // ‹Ґўл© ­Ё¦­Ё© гЈ®« Ја дЁЄ 
		X1=Xmax-200;     
		Y1=200;          // Џа ўл© ўҐае­Ё© гЈ®« Ја дЁЄ 
		N = X1-X0;      // Љ®«ЁзҐбвў® в®зҐЄ Ї® ®бЁ X
		char Ox[14][6] = {" ", "Pi", " ", "2Pi", " ", "3Pi", " ", "4Pi", " ", "5Pi", " ", "6Pi", " ", "7Pi"};
		setlinestyle(0,1,3);            // Ї а ¬Ґвал «Ё­Ё©
		int textLen = textwidth("f(x)=sin^2(x)-cos^2(x) on Pi/2 to 7Pi");
		outtextxy((Xmax/2)-(textLen/2), 30, "f(x)=sin^2(x)-cos^2(x) ­  ®в१ЄҐ ®в Pi/2 ¤® 7Pi");
		make_fun(N);                    // ‚лзЁб«Ё«Ё §­ зҐ­Ёп дг­ЄжЁЁ
		for (i=0;i<N;i++)                // Ќ®а¬Ёа㥬 ўбҐ §­ зҐ­Ёп дг­ЄжЁЁ
			RN[i]=Y0-(int)(R[i]/Rmax*(float)(Y0-Y1));
		setlinestyle(0,1,1);            // ђЁб㥬 Є®®а¤Ё­ в­лҐ ®бЁ
		line(X0, Y0+85, X0, Y1);
		line(X0, Y0, X1+2, Y0);
		outtextxy(X0+5,Y1,"f(x)");    // Џ®¬Ґз Ґ¬ ®бЁ
		outtextxy(X1+3,Y0+1,"x");
		outtextxy(X0-10, Y0-10, "0");
		outtextxy(X0-10, Y1, "1");
		outtextxy(X0-17, Y1+155, "-1");
		
  		for (i=1; i<14; i++)	//ђЁб㥬 ¬ҐвЄЁ Ё Ї®¤ЇЁбЁ ­  ®бЁ •
		{
			if(i%4==0 || i%6==0 || i%9==0 || i%11==0 || i%13==0)
			{
				line(X0+(int)(N/14)*i+4, Y0-3, X0+(int)(N/14)*i+4, Y0+3); //ЊҐвЄЁ
				outtextxy(X0+(int)(N/14)*i-15, Y0+5, Ox[i]); 	//Џ®¤ЇЁбЁ
			}
			else
			{
				line(X0+(int)(N/14)*i, Y0-3, X0+(int)(N/14)*i, Y0+3); //ЊҐвЄЁ
				outtextxy(X0+(int)(N/14)*i-10, Y0+5, Ox[i]); 	//Џ®¤ЇЁбЁ
			}
		};
		
		for (i=0;i<N;i++)  
		{
			// ђЁб㥬 Ја дЁЄ дг­ЄжЁЁ
			putpixel(i+X0,RN[i],12);
			delay(20);
		}
		
		window(10, 12, 70, 23);
		outtextxy (200, 50, "Њ ЄбЁ¬ «м­®Ґ §­ зҐ­ЁҐ дг­ЄжЁЁ 1");
		getch();                        // Ћ¦Ё¤ Ґ¬ ­ ¦ вЁп Є« ўЁиЁ...
		closegraph();                   // ‡ Єалў Ґ¬ Ја дЁзҐбЁ© ०Ё¬
	}
	getch();
	getch();  
	system("pause");
	getch();  
}
Соседние файлы в папке ЛАБ 3