Strukturalar túrli tiptegi maydanlardan quralģan jazıw esaplanadı. Strukturalardı da ǵ azalaw ushın struct gilt sózi isletiledi. Onnan keyin tipke at beriledi hám {} figuralı qawsırma ishinde maydanlar tipleri hám atları da ǵ azalanadı



Download 0,64 Mb.
Pdf ko'rish
bet3/5
Sana26.02.2022
Hajmi0,64 Mb.
#467374
1   2   3   4   5
Bog'liq
2-Lekciya. Yarimstatik magliwmatlar strukturasi

#include
dep múrajat qılıw kerek. Programmada stekti da
ǵ
azalaw 
ushın tómendegishe jazıw kerek. 
Stack 
stek_atı; 
Mısal ushın, 
Stack  stekl; 
Stekte tómendegi ámeller orınlı: 


-
Clear() 
- Stekti tazalaw.
-
isEmpty() 
– Stekti boslıqqa tekseriw 
-
push(el) 
- Stekke element kiritiw. 
-
pop() 
– Stekten element óshiriw. 
-
topEl() 
- stektiń ushinda
ǵ
i elementti óshirmesten oqıp alıw. 
Olardan paydalanıw bolsa tómendegishe: 
stek1.push(x) 
– x ti stekke taslaw; 
Stekke element qosıw hám shı
ǵ
arıw amelleri tómendegi 1 – suwrette 
kórsetip berilgen.
1 – súwret. Stekte orınlan
ǵ
an ámeller izbe – izligi. 
Onda bos stekke 10 sanı kiritilgen. Keyin stekke 5 sanı kiritilgen, bul 
san 10 nıń ústine jaylasadı, onnan keyin shı
ǵ
arıw ámeli orınlan
ǵ
anda, stekten 5 
sanı óshiriledi. Sebebi ol 10 sanınıń joqarısında jaylasqan edi hám 5 sanı 
stekten shı
ǵ
arıladı. Stekke 15 hám 7 sanı izbe - iz qoyıl
ǵ
annan soń, eń 
joqarıda 7 sanı boladı. Natiyjede shı
ǵ
arıw operaciyası ámelge asırıl
ǵ
anda 7 sanı 
stekten ketedi. Shı
ǵ
arıw ámelinen keyin stekte 10 sanı 15 tiń astında qaladı. 
Ulıwma al
ǵ
anda, stek ma
ǵ
lıwmatlar saqlawda hám ma
ǵ
lıwmatlar 
toplamınan elementler teris tártipte shı
ǵ
arıp alınatu
ǵ
ın ja
ǵ
daylarda kóp 
paydalanıladı. Stektiń qollanılıwlarına mısal etip programmada ajratqıshlardı 
maslastırıwdı alıw mumkin. Bul júdá zárúr másele. Sebebi, ajratqıshlar 
qálegen kompilyatordıń bólegi esaplanadı. Eger ajratqıshlar bir– birine 
maslastırılma
ǵ
an bolsa, hesh bir programma túri islemeydi. 
C++ programmalastırıw tilinde biz tómendegi ajratqıshlar
ǵ
a iyemiz: ápiwayı 
qawsırmalar “( )”, kvadrat qawsırlar “[ ]”, figuralı qawsırmalar “{ }”, hám táriyp 
ajratqıshlar -“/*” hám “*/”. Tómende C++ programmalastırıw tilinde ajratqıshlar 
tuwrı qollanıl
ǵ
anlı
ǵ
ına mısal keltirilgen. 
a = b + (c - d) * (e - f); 
g[10] = h[i[9]] + (j + k) * l; 
while (m < (n[8] + o)) { p = 7; /* initialize p */ r = 6; } 
Tómendegi mısal maslastırılma
ǵ
an ajratqıshlar
ǵ
a mısal bola aladı: 
a = b + (c - d) * (e - f)); 
g[10] = h[i[9]] + j + k) * l; 
while (m < (n[8) + o]) { p = 7; /* initialize p */ r = 6; } 
Konkret ajratqısh óz juplı
ǵ
ınan basqa ajratqıshlar menen ajratılıwı 
mumkin, ya
ǵ
nıy ajratqıshlar ishpe – ish qoyıl
ǵ
an bolıwı mumkin. Solay etip, 
ajratqısh óz juplı
ǵ
ı menen maslasqanba yaki joqlı
ǵ
ın, barlıq ajratqıshlar juplıqları 


anıqlan
ǵ
annan keyin biliw mumkin. 
Máselen, cikldan paydalanıl
ǵ
anda baslan
ǵ
ısh qawsırma óz juplı
ǵ
ına iye 
ekenligin barlıq ishki qawsırmalar juplıqları jabıl
ǵ
annan keyin anıqlaw múmkin. 
while (m < (n[8] + o)) 
Ajratqıshlardı salıstırıw algoritmi tómendegishe: 
- belgiler C++ programma tekstinen oqıladı hám ol óshiwshi ajratqısh bolsa, olar 
stekke taslanadı. Eger jabıwshı ajratqısh bolsa, ol óshiwshi ajratqısh penen 
salıstırıladı hám stekten shı
ǵ
arıladı. 
-Eger olar mas tússe, qayta islew dawam etedi, mas túspese qayta islew qatelik 
haqqında
ǵ
ı xabar menen toqtatıladı. 
Programma aqırına jetkende C++ programmanı qayta islew nátiyjeli 
tamamlan
ǵ
an esaplanadı hám stek bos boladı. Usı algoritmniń tómende 
psevdo kodın keltiremiz. 
Ajratqıshlardıń maslasıwın tekseriw kodı. 
2-suwrette joqarıda
ǵ
ı algoritmdi tómendegi ańlatpanı qayta islewge 
qollan
ǵ
anda payda bol
ǵ
an qayta islew kórsetilgen 
s=t[5]+u/(v*(w+y)); 


2-suwret. Ajratqıshlar maslastırıw algoritmi jardeminde 
s=t[5]+u/(v*(w+y)); ańlatpanı tekseriw. 
2- suwrettegi birinshi ba
ǵ
anada cikl aqırınan keyingi belgige shekem bol
ǵ
an 
stek quramı kórsetilgen. Birinshi qatar faylda
ǵ
ı hám stektegi baslan
ǵ
ısh halatı 
kórsetilgen. Ch ózgeriwshi s jazıw faylınıń birinshi simvolina inicializaciya qılınadı, 
sikldiń birinshi iteraciyasinda simvol qabıl qılınaydı. 
Bul ja
ǵ
day 2- suwrettiń ekinshi qatarında kórsetilgen. Onnan keyin teńlik belgisi 
oqıladı. Ol da qabıl qılınbaydı, sebebi ol ajratqısh emes. Birinshi ajratqısh (kvadrat 
qawıs ) 5-adımda oqıladı hám stekke birinshi element bolıp jaylasadı. Belginiń barlıq 
elementleri oqıp shı
ǵ
ıl
ǵ
annan soń ajratqıshlar izbe – iz stekke jaylasadı, hám bul 
protsess aqır
ǵ
ı noqatlı útirge shekem dawam etedi. 
Stektiń qollanılıwına basqa mısal etip, júdá ulken sanlardı qosıw máselesin kóriw 
múmkin. Bunday sanlar putin tiptegi ózgeriwshiler ushın múmkin bol
ǵ
an 
shegaralardan shı
ǵ
ıp ketedi. Sonıń ushın olardı qosıw haqqında gáp hám bolıwı 
múmkin emes. Máselen, 
18,274,364,583,929,273,748,459,595,684,373 hám 8,129,498,165,026,350,236 
sanları berilgen. Olardı qosıw máselesin sanlardı cifrlar qatarı sıpatında suwretlep, 
cıfrı boyınsha eki stekke izbe – iz jaylastırıp qosıw mumkin 
boladı. Bunda cifr sıpatında sanlardı tártip xanaları (birler , onlar, júzler…) 
alınadı. Bul algoritmniń psevdo kodı tómendegishe: 


3-suwrette joqarida
ǵ
ı algoritmdi 592 hám 3,784 sanlardı qosıwdı ámelge 
asırıw ushın qollanılıwı kórsetilgen. 
1.
Birinshi sannıń mas tsifrları 1-stekke jaylasadı hám ekinshi sannıń mas cifrları 
2-stekke jaylasadı.Stektegi cifrlar tártibine itibar qaratıw kerek. 
 
3- suwret. Stek járdeminde sanlardı qosıw 
2.
2 hám 4 ler steklerden shı
ǵ
arıladı hám olardıń jıyındısı 6 juwmaqlawshı stekke 
kiritiledi.
3.
9 hám 8 ler hám steklerden shı
ǵ
arıladı hám olardıń jıyındısınıń birlik bólegi
juwmaqlawshı stekke jaylastırıladı, onlıq bólegi bolsa keyingi nátiyjege qosıw 
ushın carry da saqlap qoyıladı. 
4.
5 hám 7 ler de stekten shı
ǵ
arıladı hám olardıń qosındısınıń birlik bólegi 
juwmaqlawshı stekke jaylasadı, onlıq bólegi bolsa keyingi nátiyjege qosıw 
ushın carry da saqlap qoyıladı.
 
5.
Birinshi stek bos bol
ǵ
anda, bos bolma
ǵ
an stekten soń shı
ǵ
arıladı hám carry 
ǵ

qosıladı, nátiyje juwmaqlawshı stekke jaylasadı.
 


6.
Eki stek bos bolsa, sanlar qosındısı juwmaqlawshı stekten alınadı hám nátiyje 
sıpatında ekran
ǵ
a shı
ǵ
arıladı.
 
Endi ma
ǵ
lıwmatlar strukturasında abstrakt stekti ámelge asırıwdı kóremiz. Stekti 
ámelge asırıwdıń ayqın kórinisi dinamik massiv, ya
ǵ
nıy vektorda orınlanıwı múmkin.
4-suwret. Stektiń vektorda ámelge asrılıwı 


5-súwret. Stektiń baylanısqan strukturada ámelge asırılıwı. 
6-súwret. Abstrakt stek (a), stektiń vektorda ámelge asırılıwı (b) hám stektiń 
baylanısqan strukturada ámelge asırılıwı (c) ushın ámeller izbe-izligi. 

Download 0,64 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5




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