1-Mavzu. Axborotlarni kompyuter xotirasida tasvirlanishi Reja


a2 takrorlash parametri) hosil qilinadi. Ikkinchi, ichki takrorlash operatorida ( a1



Download 1,62 Mb.
Pdf ko'rish
bet48/80
Sana27.06.2022
Hajmi1,62 Mb.
#708480
1   ...   44   45   46   47   48   49   50   51   ...   80
Bog'liq
Maruza matni Dasturlash asoslari

a2
takrorlash parametri) hosil qilinadi. Ikkinchi, ichki takrorlash operatorida (
a1
takrorlash 
parametri) son ko`rinishining 1-xonasidagi raqam va nihoyat, unga nisbatan ichki bo`lgan 
a0
parametrli takrorlash operatorida 0-xonadagi raqamlar hosil qilinadi. Har bir tashqi 
takrorlashning bir qadamiga ichki takrorlash operatorining to`liq bajarilishi to`g‘ri kelishi 
hisobiga barcha uch xonali sonlar ko`rinishi hosil qilinadi.
9.3. while takrorlash operatori. 
while takrorlash operatori, operator yoki blokni 
takrorlash sharti yolg‘on (false yoki 0) bo`lguncha takror bajaradi. U quyidagi sintaksisga 
ega: 
while ()

Agar rost qiymatli o`zgarmas ifoda bo`lsa, takrorlash cheksiz bo`ladi. 
Xuddi shunday, takrorlash boshlanishida rost bo`lib, uning qiymatiga takrorlash 
tanasidagi hisoblash ta`sir etmasa, ya`ni uning qiymati o`zgarmasa, takrorlash cheksiz 
bo`ladi.
while takrorlash shartini oldindan tekshiruvchi takrorlash operatori hisoblanadi. 
Agar takrorlash boshida  yolg‘on bo`lsa, while operatori tarkibidagi blok> qismi bajarilmasdan cheklab o`tiladi. 
i = 0;
while (i <= 20)

cout << i << " ";
i = i + 5;

cout << endl; 
Dastur qismi ishlashi natijasi: 
0 5 10 15 20 
Ayrim hollarda  qiymat berish operatori ko`rinishida kelishi mumkin. Bunda 
qiymat berish amali bajariladi va natija 0 bilan solishtiriladi. Natija noldan farqli bo`lsa, 
takrorlash davom ettiriladi.
Agar rost ifodaning qiymati noldan farqli o`zgarmas bo`lsa, cheksiz takrorlash ro`y 
beradi. Masalan:
while (1); // cheksiz takrorlash 
Xuddi for operatoridek, ‗,‘ yordamida da bir nechta amallar sinxron 
ravishda bajarish mumkin. Masalan, son va uning kvadratlarini chop qiladigan dasturda 
ushbu holat ko`rsatilgan: 


66 
#include
using namespace std; 
int main() 
{ int n,n2; 
cout << "Sonni kiriting(1..10): "; cin >> n; 
n++; 
while (n--, n2 = n * n , n>0) 
cout << " n=" << n << " n^2 = " << n2 << endl; 
return 0; } 
Dasturdagi takrorlash operatori bajarilishida n soni 1 gacha kamayib boradi. Har bir 
qadamda n va uning kvadrati chop qilinadi. SHunga e`tibor berish kerakki, shart ifodasida 
operatorlarni yozilish ketma-ketligining ahamiyati bor, chunki eng oxirgi operator 
takrorlash sharti sifatida qaraladi va n qiymati 0 bo`lganda takrorlash tugaydi. 
Keyingi dasturda berilgan o`nlik sonning ikkilik ko`rinishini chop qilish masalasini 
echishda while operatorini qo`llash ko`rsatilgan. 
#include
using namespace std; 
int main() 
{int sanagich = 4;
short son10, jarayon = 1; 
while (jarayon)
// cheksiz takrorlash 
{cout << "O‘nlik sonni kiriting(0..15) "; 
cin >> son10; 
cout << '\n' << son10
<< "Sonining ikkilik ko‘rinishi: "; 
while (sanagich) 
{if (son10 & 8) 
//son10 & 00001000
cout << '1'; 
else cout << '0'; 
son10 = son10 << 1; 
//razryadlarni chapga surish 
sanagich--; 

cout << '\n' ; 
cout << "Jarayonni to‘xtasin(0), davom etsin(1): "; 
cin >> jarayon; 
sanagich = 4; 

return 0;} 
Dasturda ichma-ich joylashgan takrorlash operatorlari ishlatilgan. Birinchisi, 
sonning ikkilik ko`rinishini chop qilish jarayonini davom ettirish sharti bo`yicha amal 
qiladi. Ichki joylashgan ikkinchi takrorlash operatoridagi amallar - har qanday, 0 dan 15 
gacha bo`lgan sonlar to`rtta razryadli ikkilik son ko`rinishida bo`lishiga asoslangan. Unda 
kiritilgan sonning ichki, ikkilik ko`rinishida uchinchi razryadida 0 yoki 1 turganligi 
aniqlanadi (―son10 & 8‖). SHart natijasi natija 1 (rost) bo`lsa, ekranga ‗1‘, aks holda ‗0‘ 
belgisi chop etiladi. Keyingi qadamda son razryadlari chapga bittaga suriladi va yana 


67 
uchinchi razryaddagi raqam chop etiladi. Takrorlash sanagich qiymati 0 bo`lguncha ya`ni 
to`rt marta bajariladi va boshqaruv ichki takrorlash operatoridan chiqadi.
while takrorlash operatori yordamida samarali dastur kodi yozishga yana bir misol 
bu - ikkita natural sonlarning eng katta umumiy bo`luvchisini (EKUB) evklid algoritmi 
bilan topish masalasini keltirishimiz mumkin: 
#include
using namespace std; 
int main() 

int a,b; 
cout << "A va B natural sonlar EKUBini topish.\n"; 
cout << "A va B natural sonlarni kiriting: "; 
cin >> a >> b; 
while (a != b)
a > b ? a -= b : b -= a; 
cout << "Bu sonlar EKUBi = " << a; 
return 0; 

Butun turdagi a va b qiymatlari oqimdan o`qilgandan keyin toki ularning qiymatlari
o`zaro teng bo`lmaguncha takrorlash jarayoni ro`y beradi. Takrorlashning har bir 
qadamida a va b sonlarning kattasidan kichigi ayriladi. Takrorlashdan keyingi ko`rsatma 
vositasida a o`zgaruvchisining qiymati natija sifatida chop etiladi.

Download 1,62 Mb.

Do'stlaringiz bilan baham:
1   ...   44   45   46   47   48   49   50   51   ...   80




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2025
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