Добавил:
anersisyan1999
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ЛАБ 3 / LAB-3(var 12)
.cpp// а Ў®в б ўЁ¤Ґ®бЁб⥬®© ў Ја дЁзҐбЄ®¬ ०Ё¬Ґ
#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, NormedResult[500]; // Ј«®Ў «млҐ ЇҐаҐ¬ҐлҐ, б¬лб« Є®в®але ®ЇЁб Ё¦Ґ
// Result[500]- ¬ ббЁў ¤«п еа ҐЁп § 票© дгЄжЁЁ Ї® Є ¦¤®¬г аЈг¬Ґвг е, (Є®Ј¤ ЏЁ2 <= x <= 8ЏЁ)
float Result[500], Rmax=0.;
// ”®а¬Ёа®ў ЁҐ ¬ ббЁў § 票© ®в®Ўа ¦ Ґ¬®© дгЄжЁЁ
void RESULTofFX(int N) // N- Є®«ЁзҐбвў® в®зҐЄ Ї® е-г, нв® ¤«Ё ®бЁ е ў ЇЁЄбҐ«пе
{
double x, dx=8.*M_PI/N; // Їа®¬Ґ¦гв®з п ЇҐаҐ¬Ґ п е Ё Є®Ґзл© ¤Ё Ї §® 8ЏЁ
int i; // ЁвҐа в®а жЁЄ« for, Ґ«м§п ᤥ« вм ўгваЁ в Є, Є Є Ё¤Ґв ЇҐаҐ®ЇаҐ¤Ґ«ҐЁҐ е б double int
for (i=0, x=M_PI/2.; i<N; i++, x+=dx) // Ї®Є Ґ ¤®и«Ё ¤® Є®ж ®бЁ е (е ¬ Єб) ў Є ¦¤®© ЁвҐа жЁЁ Ё¤Ґ¬ ®¤Ё ЇЁЄбҐ«м ўЇҐаҐ¤
{
Result[i]=(float)(pow(sin(x),3)-pow(cos(x),2)); // б ¬ дгЄжЁп, § 票Ґ дгЄжЁЁ ў Є ¦¤®© в®зЄҐ б®еа 塞 ў ¬ ббЁў
if(Rmax<Result[i]) Rmax=Result[i]; // ®ЇаҐ¤Ґ«пҐ¬ ¬ Єб § 票Ґ дгЄжЁЁ ў 室Ґ а бзҐв § 票Ё©. Џ®б«Ґ ®Є з Ёп жЁЄ«
} // ў Rmax Ўг¤Ґв ¬ ЄбЁ¬г¬ дгЄжЁЁ
}
// Џа®Ја ¬¬ ўлў®¤ Ја дЁЄ дгЄжЁЁ нЄа
int main()
{
int i, N;
clrscr(); // ЋзЁбвЄ нЄа
gotoxy(13,10); // ЇҐаҐе®¤ Є®ЄаҐвго в®зЄг ў ®ЄҐ Ї® Є®®а¤Ё в ¬ е г
cprintf("Press any key...");
getch(); // Ћ¦Ё¤ Ґ¬ ¦ вЁп Є« ўЁиЁ...
detectgraph(&GrDr,&GrM); // ЋвЄал«Ё Ја дЁзҐбЁ© ०Ё¬
initgraph(&GrDr,&GrM,"..//BORLANDC//BGI"); // ђ бЇ®«®¦ҐЁҐ ¤а ©ўҐа®ў BGI
//setcolor(0); // 梥в ⥪бв
setbkcolor(0); // 梥в д® Є®б®«Ё
/*
Є®¤л 梥⮢
BLACK зҐал© 0
BLUE бЁЁ© 1
GREEN §Ґ«Ґл© 2
CYAN бЁҐ-§Ґ«Ґл© 3
RED Єа бл© 4
MAGENTA Єа б®-бЁЁ© 5
BROWN Є®аЁзҐўл© 6
LIGHTGRAY ᢥ⫮-бҐал© 7
DARKGRAY ⥬®-бҐал© 8
LIGHTBLUE паЄ®-бЁЁ© 9
LIGHTGREEN паЄ®-§Ґ«Ґл© 10
LIGHTCYAN паЄЁ© бЁҐ-§Ґ«Ґл© 11
LIGHTRED паЄ®-Єа бл© 12
LIGHTMAGENTA паЄЁ© Єа б®-бЁЁ© 13
YELLOW ¦Ґ«вл© 14
WHITE ЎҐ«л© 15
*/
Xmax=getmaxx(); // Ї®«гз Ґ¬ а §¬Ґал нЄа , Ё в Є Є Є ®взҐв Ї® 㬮«з Ёо Ё¤Ґв б «Ґў®Ј® ўҐа奣® гЈ« в.Ґ. в ¬ в®зЄ 0,0
Ymax=getmaxy(); // Ї®«гзЁ«Ё а §¬Ґал нЄа
// Ї®ў®а зЁў Ґ¬ в Є зв®Ўл •0, “0 Ўл«® ў «Ґў®¬ Ё¦Ґ¬ гЈ«г, Ї®в®¬г зв® в Є ЇаЁўл祥 Ё а бзҐвл ЇаЁЎ«Ё§ЁвҐ«м® ЇаҐ¤бв ўЁ¬л
X0=40; Y0=Ymax-200; // ‹Ґўл© Ё¦Ё© гЈ®« Ја дЁЄ
X1=Xmax-200; Y1=200; // Џа ўл© ўҐаеЁ© гЈ®« Ја дЁЄ
N = X1-X0; // Љ®«ЁзҐбвў® в®зҐЄ Ї® ®бЁ X
char Ox[9][6] = {" ", "Pi", "2Pi", "3Pi", "4Pi", "5Pi", "6Pi", "7Pi", "8Pi"}; // ¬ҐвЄЁ Є®®а¤Ё в®© ®бЁ е
setlinestyle(0,1,3); // Ї а ¬Ґвал «ЁЁ©, 0 - бвЁ«м, 1 - 梥в, 3 - в®«йЁ // ¤®Ї®«ЁвҐ«м® ў ¬Ґв®¤ЁЄҐ бва 43
outtextxy(125, 30, "f(x)=sin^3(x)-cos^2(x) ®в१ЄҐ ®в Pi/2 ¤® 8Pi"); // Ї
outtextxy (200, 50, "Њ ЄбЁ¬ «м®Ґ § 票Ґ дгЄжЁЁ 1");
RESULTofFX(N); // ‚лзЁб«Ё«Ё § 票п дгЄжЁЁ
for (i=0;i<N;i++) // Ќ®а¬Ёа㥬 ўбҐ § 票п дгЄжЁЁ
NormedResult[i]=Y0-(int)(Result[i]/Rmax*(float)(Y0-Y1));
setlinestyle(0,1,1); // ђЁб㥬 Є®®а¤Ё влҐ ®бЁ // § ¤ Ґ¬ бвЁ«м «ЁЁЁ
line(X0, Y0+130, X0, Y1); // ®бм г
line(X0, Y0, X1+2, Y0); // ®бм е
outtextxy(X0+3,Y1,"f(x)"); // Џ®¬Ґз Ґ¬ ®бЁ... y - Є Є дгЄжЁп f(x)
outtextxy(X1+20,Y0+1,"x"); // .. е
outtextxy(X0-10, Y0-10, "0"); // ®в¬Ґз Ґ¬ 0
outtextxy(X0-10, Y1, "1"); // ¬ ЄбЁ¬г¬ дгЄжЁЁ
outtextxy(X0-18, Y0+125, "-1"); // ¬ЁЁ¬г¬ дгЄжЁЁ
for (i=1; i<9; i++) //ђЁб㥬 ¬ҐвЄЁ Ё Ї®¤ЇЁбЁ ®бЁ •
{
line(X0+(int)(N/8)*i, Y0-3, X0+(int)(N/8)*i, Y0+3); //ЊҐвЄЁ
outtextxy(X0+(int)(N/8)*i-10, Y0+5, Ox[i]); //Џ®¤ЇЁбЁ
};
// зв® вў®аЁвмбп ў бва®ЄҐ ¬ҐвЄЁ? X0+(int)(N/8)*i -- ЎҐаҐ¬ з «® Є®®а¤Ё в Ё Є Ґ¬г Ї«об㥬 ¤«Ёг Є®®а¤Ё в е
// а §¤Ґ«Ґго 8 з б⥩ (Ї®в®¬г зв® ¬Ґв®Є 8) 㬮¦ Ґ¬ ЁвҐа жЁо (Є ¦¤л© а § а®ў® ®¤® Ё в®
// ¦Ґ ®в१®Є ¤ўЁЈ Ґ¬бп ўЇҐаҐ¤) в.Є i = 1,2,3,....8 // (int) - нв® ®Єа㣫塞 зЁб«® ЇЁЄбҐ«Ґ© ¤® 楫®Ј®
// ўбҐ нв® Ї®«г祬 Є®®а¤Ё вг Ї® е, § г ў§п«Ё га®ўҐм е Ё +-3 ЇЁЄбҐ«п ўўҐае Ё ўЁ§
// ў Ёв®ЈҐ г б ¤ўҐ Ї ал Є®®а¤Ё в (е,г) Ї® Є®в®ал¬ зҐавЁ¬ «ЁЁо
// Ё в Є 8 а § ( зЁ Ґ¬ б 1, Ї®в®¬г зв® 0 - нв® ®бм г, Ё§ § в®Ј® зв® зЁ Ґ¬ б 1, § Є зЁў Ґ¬ 9 Ґ 8;
// ў бва®ЄҐ Џ®¤ЇЁбЁ
// ЎҐаҐ¬ вг ¦Ґ ¤«Ёг (¤«Ёг Є ¦¤®Ј® ®в१Є ), Ё¤Ґ¬ ®Ўа в® 10 ЇЁЄбҐ«Ґ© Ї® е, бЇгбЄҐ¬бп ўЁ§ 5 ЇЁЄбҐ«Ґ© Ї® г
// Ё ўбв ў«пҐ¬ ®зҐаҐ¤®© Ї®¤ЇЁбм Ё§ ¬ ббЁў Ox //" ", "Pi", "2Pi",....,"8Pi" // ЇҐаў п Їгбв Ї®в®¬г зв® 0
for (i=0;i<N;i++)
{
// ђЁб㥬 Ја дЁЄ дгЄжЁЁ
putpixel(i+X0,NormedResult[i],2); // 2 - нв® жўв «ЁЁЁ Ја дЁЄ
delay(10); // § ¤Ґ¦Є ¤«п Єа бЁў®Ј® ўлў®¤
}
getch(); // Ћ¦Ё¤ Ґ¬ ¦ вЁп Є« ўЁиЁ...
closegraph(); // ‡ Єалў Ґ¬ Ја дЁзҐбЁ© ०Ё¬
getch(); // Ћ¦Ё¤ Ґ¬ ¦ вЁп Є« ўЁиЁ...
return 0;
}
Соседние файлы в папке ЛАБ 3