Добавил:
anersisyan1999
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:ЛАБ 3 / LAB-3(var 3) 866
.cpp// а Ў®в б ўЁ¤Ґ®бЁб⥬®© ў Ја дЁзҐбЄ®¬ ०Ё¬Ґ
#include "conio.h" // clrscr
#include "math.h" // M_PI, sin, cos, sqrt, pow
#include "dos.h" // delay
#include "graphics.h" // graph
#include "iostream.h" // printf, scanf3
int Xmax, Ymax, X0, X1, Y0, Y1, DRIVER, MODE, NomedDots[1000];
float Result[1000], Rmax=0.;
// ”®а¬Ёа®ў ЁҐ ¬ ббЁў § 票© ®в®Ўа ¦ Ґ¬®© дгЄжЁЁ
void counting(int N)
{
float x, dx=17.*M_PI/N;
int i;
for (i=0, x=3*M_PI/2.; i<N; i++, x+=dx)
{
Result[i]=(float)(pow(sin(x/4),2)+sqrt(x)); // б ¬ дгЄжЁп
if(Rmax<Result[i]) {
Rmax=Result[i];
}
}
}
void main()
{
int N;
clrscr(); // ЋзЁбвЄ нЄа
detectgraph(&DRIVER,&MODE); // ЋвЄал«Ё Ја дЁзҐбЁ© ०Ё¬
/* зв® в Є®Ґ detectgraph(&DRIVER,&MODE);
detectgraph ¤«п ®ЇаҐ¤Ґ«ҐЁп вЁЇ ўЁ¤Ґ® ¤ ЇвҐа , Ї®¤е®¤п饣® Ја дЁзҐбЄ®Ј® ¤а ©ўҐа
Ё Ја дЁзҐбЄ®Ј® ०Ё¬ ¬ ЄбЁ¬ «м®Ј® а §аҐиҐЁп (¬ ЄбЁ¬ «м®Ј® ०Ё¬ )
¤«п ЄвЁў®Ј® ўЁ¤Ґ® ¤ ЇвҐа бЁб⥬л. ‡ зҐЁп ¤«п ¤а ©ўҐа Ё
¬ ЄбЁ¬ «м®Ј® ०Ё¬ ў®§ўа й овбп ў п祩Є е Ї ¬пвЁ, Є®в®алҐ
гЄ §лў ов DRIVER Ё MODE
*/
initgraph(&DRIVER,&MODE,"..//BORLANDC//BGI"); // ђ бЇ®«®¦ҐЁҐ ¤а ©ўҐа®ў BGI
/*
initgraph ЁЁжЁ «Ё§ЁагҐв Ја дЁзҐбЄго бЁб⥬г, § Јаг¦ п .BGI-¤а ©ўҐа,
®ЇаҐ¤Ґ«пҐ¬л© гЄ § ⥫Ґ¬ DRIVER, Ё гбв ў«Ёў п ўЁ¤Ґ® ¤ ЇвҐа
ў Ја дЁзҐбЄЁ© ०Ё¬, § ¤ ў Ґ¬л© гЄ § ⥫Ґ¬ MODE
*/
Xmax=getmaxx();
Ymax=getmaxy(); // “бв ®ўЁ«Ё а §¬Ґал нЄа
X0=40; Y0=Ymax-30; // ‹Ґўл© Ё¦Ё© гЈ®« Ја дЁЄ
X1=Xmax-30; Y1=30; // Џа ўл© ўҐаеЁ© гЈ®« Ја дЁЄ
N = X1-X0; // Љ®«ЁзҐбвў® в®зҐЄ Ї® ®бЁ X
char Ox[9][6] = {"3Pi/2", "3Pi", "5Pi", "7Pi", "9Pi", "11Pi", "13Pi", "15Pi", "17Pi"};
setlinestyle(0,1,1);
//setlinestyle(0,1,3); // Ї а ¬Ґвал «ЁЁ©
outtextxy(200, 400, "f(x)=sin^2(x/4)+sqrt(x) on 3*P/2 to 17P");
counting(N); // ‚лзЁб«Ё«Ё § 票п дгЄжЁЁ
for (int i=0;i<N;i++) { // Ќ®а¬Ёа㥬 ўбҐ § 票п дгЄжЁЁ
NomedDots[i]=Y0-(int)(Result[i]/Rmax*(float)(Y0-Y1));
}
setlinestyle(0,1,2);
//setlinestyle(0,1,1); // ђЁб㥬 Є®®а¤Ё влҐ ®бЁ
line(X0, Y0, X0, Y1-20); // y
line(X0, Y0, X1+2, Y0); // x
outtextxy(X0+5,Y1-20,"f(x)"); // Џ®¬Ґз Ґ¬ ®бЁ
outtextxy(X1+3,Y0-10,"x");
outtextxy(X0-10, Y0-10, "0");
outtextxy(X0-10, Y1-20, "1");
for (int j=0; j<10; j++) //ђЁб㥬 ¬ҐвЄЁ Ё Ї®¤ЇЁбЁ ®бЁ •
{
line(X0+(int)(N/8)*j+4, Y0-3, X0+(int)(N/8)*j+4, Y0+3); //ЊҐвЄЁ
outtextxy(X0+(int)(N/8)*j-15, Y0+5, Ox[j]); //Џ®¤ЇЁбЁ
};
// зв® вў®аЁвмбп ў бва®ЄҐ ¬ҐвЄЁ? X0+(int)(N/8)*i -- ЎҐаҐ¬ з «® Є®®а¤Ё в Ё Є Ґ¬г Ї«об㥬 ¤«Ёг Є®®а¤Ё в е
// а §¤Ґ«Ґго 8 з б⥩ (Ї®в®¬г зв® ¬Ґв®Є 8) 㬮¦ Ґ¬ ЁвҐа жЁо (Є ¦¤л© а § а®ў® ®¤® Ё в®
// ¦Ґ ®в१®Є ¤ўЁЈ Ґ¬бп ўЇҐаҐ¤) в.Є i = 1,2,3,....9 // (int) - нв® ®Єа㣫塞 зЁб«® ЇЁЄбҐ«Ґ© ¤® 楫®Ј®
// ўбҐ нв® Ї®«г祬 Є®®а¤Ё вг Ї® е, § г ў§п«Ё га®ўҐм е Ё +-3 ЇЁЄбҐ«п ўўҐае Ё ўЁ§
// ў Ёв®ЈҐ г б ¤ўҐ Ї ал Є®®а¤Ё в (е,г) Ї® Є®в®ал¬ зҐавЁ¬ «ЁЁо
// Ё в Є 9 а § ( зЁ Ґ¬ б 1, Ї®в®¬г зв® 0 - нв® ®бм г, Ё§ § в®Ј® зв® зЁ Ґ¬ б 1, § Є зЁў Ґ¬ 10 Ґ 9;
// ў бва®ЄҐ Џ®¤ЇЁбЁ
// ЎҐаҐ¬ вг ¦Ґ ¤«Ёг (¤«Ёг Є ¦¤®Ј® ®в१Є ), Ё¤Ґ¬ ®Ўа в® 15 ЇЁЄбҐ«Ґ© Ї® е, бЇгбЄҐ¬бп ўЁ§ 5 ЇЁЄбҐ«Ґ© Ї® г
// Ё ўбв ў«пҐ¬ ®зҐаҐ¤®© Ї®¤ЇЁбм Ё§ ¬ ббЁў Ox //"3Pi/2",....,"17Pi" //
// ђЁб㥬 Ја дЁЄ дгЄжЁЁ
for (int k=0; k<N; k++)
{
putpixel(k+X0,NomedDots[k],14); // 12 - нв® жўEв «ЁЁЁ Ја дЁЄ
delay(20);
}
outtextxy (200, 50, "Maximum of F(x) is 0.92");
getch(); // Ћ¦Ё¤ Ґ¬ ¦ вЁп Є« ўЁиЁ...
closegraph(); // ‡ Єалў Ґ¬ Ја дЁзҐбЁ© ०Ё¬
getch();
}
Соседние файлы в папке ЛАБ 3