Guliston davlat universiteti axborot texnologiyalari kafedrasi



Download 5,64 Mb.
Pdf ko'rish
bet74/145
Sana21.12.2022
Hajmi5,64 Mb.
#893080
1   ...   70   71   72   73   74   75   76   77   ...   145
Bog'liq
portal.guldu.uz-Kompyuter ta`minoti

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:
1   ...   70   71   72   73   74   75   76   77   ...   145




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish