O’zbekiston respublikasi oliy va o’rta maxsus ta’lim vazirligi guliston davlat universiteti axborot texnologiyalari kafedrasi
Download 5.64 Mb. Pdf ko'rish
|
O�zbekiston respublikasi oliy va o�rta maxsus ta�lim vazirligi g
C++ dasturlash tili.
Misol. Animatsiyali aylanalar #include #include #include #include int main() { int a,b,i,k[900],l[900],j,m; cout<<"a="; cin>>a; cout<<"b="; cin>>b; cout<<"Nuqtalar soni="; cin>>m; srand(time(NULL)); for(i=1;i<=m;i++) { k[i]=rand()%(a/2)+a/4; l[i]=rand()%(b/2)+b/4; } initwindow(a,b); setbkcolor(WHITE); cleardevice; for(i=1;i<=m;i++) for(j=1;j<=m;j++) { setcolor(i%15+1); circle(k[i],l[i],round(sqrt(pow(int(k[i]-k[j]),2)+pow(int(l[i]-l[j]),2)))); } getch(); } Faylni kompyuter xotirasiga saqlaymiz va uni ishga tushiramiz. Natijada oynada ichma-ich paydo bo`luvchi animatsiyali aylanalar tasviri paydo bo`ladi. Misol. Ichma-ich joylashgan ellipslar #include int main() { int gd = DETECT, gm; int x = 320, y = 240, radius; initgraph(&gd, &gm, ""); setbkcolor(WHITE); cleardevice(); setcolor(GREEN); for ( radius = 25; radius <= 225 ; radius = radius + 20) circle(x, y, radius); getch(); closegraph(); return 0; } Faylni kompyuter xotirasiga saqlaymiz va ishga tushiramiz. Natijada oynada ichma-ich joylashgan ellipslar tasviri hosil bo`ladi. C++ dasturlash tilida harakatli dasturlar yaratish Ushbu bo‘limda C++ tilida harakatlanuvchi dasturlar yaratishni ko`rib chiqamiz. Misol. C++ tilida oynaning tepasidan pastga va pastdan yuqoriga qarab harakatlanuvchi aylana tasvirini hosil qiling. Yechish: #include #include using namespace std; int main() { initwindow(400,300); // 400×300 o`lchamli oyna hosil qilish setbkcolor(WHITE); // Oq rangli fonda oyna yaratish cleardevice(); t:for (int a = 50; a <=250; a++) { setcolor(RED); circle(200,a,50);delay(10); //qizil angli aylana setcolor(WHITE);circle(200,a,50); //oq rangli aylana } for (int a = 250; a>=50; a--) { setcolor(RED); circle(200,a,50);delay(10); //qizil angli aylana setcolor(WHITE);circle(200,a,50); //oq angli aylana } goto t; getch(); closegraph(); return 0; } Faylni kompyuter xotirasiga saqlaymiz va ishga tushiramiz. Natijada grafik darchaning yuqori qismida aylana hosil bo`ladi va u pastga qarab harakatlanadi. Aylana oynaning ostki qismigacha harakatlanib bo`radi va so`ngra oynaning tepa qismiga qarab harakatlanadi. Bu jarayon takrorlanib turadi. Misol. Markazi bitta bo`lgan ichma-ich paydo bo`luvchi aylanalar tasviri #include #include using namespace std; int main() { initwindow(400,400); setbkcolor(WHITE); a:cleardevice(); for (int i = 1; i <=100; i=i+5) { setcolor(RED); circle(200,200,i*2); delay(50); } cleardevice(); for (int i = 100; i >=1; i=i-5) { setcolor(RED); circle(200,200,i*2); delay(50); } goto a; getch(); closegraph(); return 0; } Faylni kompyuter xotirasiga saqlaymiz va ishga tushiramiz. Natijada grafik darchaning o`rtasida kichik aylana hosil bo`ladi va radiusi kattaroq bo`lgan aylanalar ketma-ket paydo bo`ladi. Eng katta radiusli aylana hosil bo`lgach, aylana radiuslari kichiklashib bo`radi. Bu jarayon takrorlanib turadi. Misol. Strelkalari aylanib turuvchi soat tasviri. #include #include #include #include using namespace std; int main() { float fi=0; int k=150; float x,y; int x1,y1; initwindow(400,400); setbkcolor(WHITE); cleardevice(); setcolor(BLACK); outtextxy(190,35,"12"); outtextxy(355,190,"3"); outtextxy(200,350,"6"); outtextxy(35,190,"9"); do { setlinestyle(0,1,2); fi=fi+0.01; if (fi== 6.28) fi=0; //x=trunc(k*cos(fi)); //y=trunc(k*sin(fi)); x1=int(k*cos(fi+3.14)); y1=int(k*sin(fi+3.14)); setcolor(10); line(200,200, x1+200, y1+200); delay(50); setcolor(15); line(200,200, x1+200, y1+200); setcolor(10); circle(200,200,170);} while (KEY_END); getch(); } Faylni kompyuter xotirasiga saqlaymiz va ishga tushiramiz. Natijada grafik darchada soat tasviri va uning o`rtasida aylanib turuvchi chiziq tasviri hosil bo`ladi. Misol. Trigonometrik funksiyalar (Sin, Cos, Tan, Ctg) ning grafigini chizuvchi dastur. #include #include #include #include using namespace std; int main() { initwindow(800,600); setbkcolor(WHITE); cleardevice(); setcolor(RED); line(0,300, getmaxx(), 300); line(400,0, 400, getmaxx()); int x,y; float pi=3.1415; setcolor(BLAC K); outtextxy(10,320,"Sinus"); setcolor(YELLOW); outtextxy(10,340,"Kosinus"); setcolor(GREEN); outtextxy(10,360,"Tangens"); setcolor(BLUE); outtextxy(10,380,"Kotangens"); for (float a = -360; a <=360; a=a+0.01) { setlinestyle(2,2,2); x=400+a; y=int(300-sin(a*pi/180)*100); putpixel(x,y,BLACK); y=int(300- cos(a*pi/180)*100); putpixel(x,y,YELLOW); y=int(300-tan(a*pi/180)*100); putpixel(x,y,GREEN); y=int(300- 1/tan(a*pi/180)*100); putpixel(x,y,BLUE); } getch(); closegraph(); return 0; } Faylni kompyuter xotirasiga saqlaymiz va ishga tushiramiz. Natijada grafik darchada koordinatalar chizig`i va Sin, Cos, Tg va Ctg funksiyalarining grafiklari hosil bo`ladi. Misol. Funksiya yordamida gorizontal yo`nalishda harakatlanib turuvchi uchburchak tasvirini hosil qiling. #include #include #include void Figure ( int x, int y, int color ) { setcolor ( color ); line ( x, y, x+20, y ); line ( x, y, x+10, y-20 ); line ( x+10, y-20, x+20, y ); } int main() { int d = VGA, m = VGAHI; int x, y, dx,key; initgraph ( &d, &m, "c:\\borlandc\\bgi" ); x = 0; y = 240; dx = 1; while ( 1 ) { if ( kbhit() ) if ( getch() == 27 ) break; Figure ( x, y, YELLOW ); delay ( 10 ); Figure ( x, y, BLACK ); if ( x + 20 >= 639 ) dx = - 1; if ( x <= 0 ) dx = 1; x += dx; } closegraph( ); return 0; } Faylni kompyuter xotirasiga saqlaymiz va ishga tushiramiz. Natijada grafik darchada gorizontal yo`nalishda harakatlanuvchi uchburchak tasviri paydo bo`ladi. Misol. Oynaning markazida aylana tasvirini hosil qiling. Hosil qilingan aylanani mos holda klaviaturaning Left, Right, Up va Down tugmalari yordamida harakatlantiruvchi dastur. #include #include #include void Figure ( int x, int y, int color ) { setcolor ( color ); circle(x,y,50); } int main() { int d = VGA, m = VGAHI; int x, y, key; initgraph ( &d, &m, "c:\\borlandc\\bgi" ); setbkcolor(WHIT E); cleardevice(); x = 320; y = 240; while ( 1 ) { Figure ( x, y, RED ); key = getch(); if ( key == 27 ) break; Figure ( x, y, WHITE ); switch ( key ) { case 75: x --; break; case 77: x ++; break; case 72: y --; break; case 80: y ++; } } closegraph( ); return 0; } Faylni kompyuter xotirasiga saqlaymiz va ishga tushiramiz. Natijada grafik darchada aylana tasviri hosil bo`ladi. Klaviaturadan Left, Right, Up va Down tugmalarini bossak, mos holda aylana chapga, o`nga, yuqoriga va pastga qarab harakatlanadi. Download 5.64 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling