Guliston davlat universiteti axborot texnologiyalari kafedrasi



Yüklə 5,01 Kb.
Pdf görüntüsü
səhifə74/145
tarix14.12.2023
ölçüsü5,01 Kb.
#179513
1   ...   70   71   72   73   74   75   76   77   ...   145
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.

Yüklə 5,01 Kb.

Dostları ilə paylaş:
1   ...   70   71   72   73   74   75   76   77   ...   145




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin