Python programmalastırıw tilinde algortim túrleri
Programmalastırıw processinde tiykarınan úsh: sızıqlı, tarmaqlanıwshı hám tákrarlanıwshı algoritmlerden paydalanıladı.
Bulardıń arasında sızıqlı algoritmler, tiykarınan, ápiwayı máselelerdi sheshiw ushın keń qollanıladı.
Esletpe: Sızıqlı algoritm – buyrıqlardıń qatań izbe-izlikte tártip penen orınlanıwı.
Ápiwayı máselelerdi programmalastırıw tártibi:
Tiykarǵı maǵlıwmatlar hám olardıń túrin anıqlaw. Ózgeriwshiler ushın at saylaw.
Nátiyje qanday hám qaysı túrge tiyisli bolıwın anıqlaw. Nátiyjeni sáwlelendiriwshi ózgeriwshiler atın saylaw.
Maǵlıwmatlardı kiritiw, esaplaw hám nátiyjeni ekranǵa shıǵarıw sıyaqlı basqıshlardan ibarat algoritm dúziw.
Dúzilgen algoritmge túrli mánisler berip, onıń durıs ekenin tekseriw.
Másele. Klass xanasınıń eni 10 metr, uzınlıǵı 12 metr. Xananıń maydanın tabıw programmasın dúziń. Eni hám uzınlıǵı paydalanıwshı tárepinin kiritilsin.
Kiriwshi maǵlıwmat
|
Esaplaw
|
Shıǵıwshı maǵlıwmat
|
10
|
S=a*b=10*12=120
|
120
|
12
|
№
|
Blok-sxema
|
Blok-sxema atı
|
Programma kodı
|
1
|
|
Algoritm baslanıwı
|
|
2
|
Kiritiw blogı
|
a=int(input())
b=int(input())
|
3
|
Esaplaw blogı
|
S=a*b
|
4
|
Shıǵarıw blogı
|
print(S)
|
5
|
Algoritmniń tamalanıwı
|
|
Másele. Tárepi a ǵa teń bolǵan kvadrat ishine eki sheńber sızılǵan. Kishi sheńberdiń radiusı r ǵa teń. Boyalǵan maydan s ti tabıw programmasın dúziń.
№
|
Blok-sxema
|
Blok-sxema atı
|
Programma kodı
|
1
|
|
Algoritm baslanıwı
|
|
2
|
Kiritiw blogı
|
|
3
|
Esaplaw blogı
|
|
4
|
Shıǵarıw blogı
|
|
5
|
Algoritmniń tamalanıwı
|
|
Logikalıq ańlatpa nátiyjesine tiykarlanıp, programmanıń qaysı bólegi orınlanıwı haqqında qarar qabıl etiledi. Bunday máseleler tarmaqlanıwshı algortimler járdeminde sheshiledi.
Tarmaqlanıwshı algoritmler – qanday-da bir shártke qaray buyrıqlar izbe-izligi orınlanıwın yaki orınlanbawın belgilewshi algoritm. Tarmaqlanıwshı algoritmlerde bir yaki bir neshe shártler tekseriledi hám shın yaki jalǵan mánis qaytarıwına tiykarlanıp, buyrıqlar izbe-izligi orınlanadı.
Shártlerdi tekseriw ushın barlıq programmalastırıw tilleri sıyaqlı Python programmalastırıw tilinde hám shártli ótiw operatorları bar.
if shártli ótiw operatorı:
Sintaksisi:
if shárt:
buyrıqlar_blogı
Esletpe: if operatorı – tek berilgen shárt shın bolǵanında belgili buyrıqlar kópligin orınlaytuǵın shártli operator.
№
|
Blok-sxema
|
Blok-sxema atı
|
Programma kodı
|
1
|
|
Algoritm baslanıwı
|
|
2
|
Kiritiw blogı
|
3
|
Shárt tekseriw blogı
|
|
4
|
Esaplaw blogı
|
|
5
|
Shıǵarıw blogı
|
|
6
|
Algoritmniń tamalanıwı
|
|
Sintaksisi:
if shárt:
buyrıqlar_blogı
else:
buyrıqlar_blogı2
if operatorı menen birge else buyrıǵın da qollaw múmkin. Eger shárt True(shın) mánis qaytarsa, buyrıqlar_blogı orınlanadı, keri jaǵdayda buyrıqlar_blogı2 orınlanadı.
Mısal: teńlemer sisteması programmasın dúziń.
Másele. Kiritilgen san oń bolsa, oǵan 2 ni qosıwshı, keri jaǵdayda 2 ni ayırıwshı programma dúziń hám nátiyjeni shıǵarıń.
№
|
Blok-sxema
|
Blok-sxema atı
|
Programma kodı
|
1
|
|
Algoritm baslanıwı
|
|
2
|
Kiritiw blogı
|
|
3
|
Shárt tekseriw blogı
|
|
4
|
Shárt orınlansa
|
|
5
|
Shárt orınlanbasa
|
|
6
|
Shıǵarıw blogı
|
|
7
|
Algoritmniń tamalanıwı
|
|
Másele. Kirtilgen úsh sannan neshewi oń, neshewi oń emesligin anıqlawshı programma duziń.
№
|
Blok-sxema
|
Blok-sxema atı
|
Programma kodı
|
1
|
|
Algoritm baslanıwı
|
|
2
|
Kiritiw blogı
|
3
|
Shárt tekseriw blogı
|
|
4
|
Shárt orınlansa
|
|
5
|
Shárt orınlanbasa
|
|
6
|
Shıǵarıw blogı
|
|
7
|
Algoritmniń tamalanıwı
|
|
Berilgen máseleni sheshiwde birdey ámeldi birnshe márte tákirarlawǵa tuwrı keledi. Bunday máselelerdi sheshiwde tákirarlanıwshı algoritmlerden paydalanıladı.
Tákirarlanıwshı algotirmler – qanday-da bir buyrıqlar toparınıń belgili márte yak belgilengen shárt orınlanaman degenshe tákirar orınlanıwı. Tákirarlanıwshı algoritmlerge tiyisli máselelerdi programmalastırıwda cikl operatorlarınan paydalanıladı.
Esletpe: for ciklı – esaplanıwshı (count-controlled) cikl. Ol tek tákiralanıwshılar sanı aldınnan belgili bolǵanda paydalanıladı.
Máselen, n dana sandı oń sanǵa tekseriw ushın n márte birdey ámeldi orınlaw kerek boladı. Bunday jaǵdaylarda bir ámeldi n márte jazıwdan kóre, bir kod blogında n dana sandı tekseriw ushın cikl operatorlarınan paydalanǵan qolaylı. Cikl operatorları koddıń tákirarlanatuǵın buyrıqları ushın xizmet qıladı. Bul buyrıqlardıń izbe-izligi cikl denesi delinedi. Hár bir tákirarlanıw bolsa iteraciya dep ataladı.
Cikl operatorları túrleri
Cikl operatorlar atı
|
Anıqlaması
|
Wazıypası
|
for
|
Koddı belgili márte tákirarlaydı.
|
Tákirarlanıwlar sanı aldınnan belgili bolǵanda qollanıladı.
|
while
|
Tiykarǵı shárt orınlanǵanda koddı tákirarlaydı.
|
Tákirarlanıwlar sanı belgisiz bolǵanda, kod hátte bir márte da orınlanbawı múmkin. Koddı orınlawdan aldın shártti tekseredi. Eger shárt qáte bolsa, onda cikldaǵı kod orınlanbaydı.
|
Qoyılǵan máseleni sheshiwde cikllardıń hár eki túrinen paydalanıw múmkin, biraq berilgen shárt ushın eń sáykes keletuǵın túrdi durıs saylap alıw programmanıń nátiyjeli islewin táminleydi.
for cikl operatorı
Sintaksisi:
for i in range(start, stop, step):
cikl denesi
i – tákirarlanıwlar (iteraciyalar) sanı;
start – i diń baslanǵısh mánisi (kórsetilmese, 0 dep qabıl qılınadı);
stop – i diń sońǵı mánisi (kórsetiliw shárt);
step – adım (kórsetilmese, 1 dep qabıl qılınadı);
Mısal. 0 den 11 ge shekem jup sanlardı shıǵarıw programmasın dúziń.
0 den 11 ge shekem sanlardı 2 adım menen shıǵaradı.
Mısal. 10 ǵa shekem bolǵan sanlardı shıǵarıw programmasın dúziń.
0 den 10 ǵa shekem sanlardı 1 adım menen shıǵaradı.
Mısal. 10 nan 1 ge shekem sanlardı -1 adım menen shıǵarıw programmasın dúziń.
1 0 nan 0 ge shekem sanlardı -1 adım menen shıǵaradı
Ishpe-ish jaylasqan cikllar
Cikl ishinde jáne cikldıń isletiliwine ishpe-ish jaylasqan cikl delinedi.
Sintaksisi:
for i in range(start1, stop1, step1):
for j in range(start2, stop2, step2):
cikl denesi
Mısal.
i hám h ushın 3 adımlar sanı kiritiledi. 0 ge kóbeytiwdi shıǵarmawı ushın 1 den baslanadı, onda adımlar sanı n+1 dep alınadı
Nátiyje ekranǵa shıǵarıladı.
Sırtqı cikldıń 1-tákirarlanıwında 3 márte ishki cikl orınlanıp, nátiyjeni shıǵaradı.
Sırtqı cikldıń 2-tákiralanıwı.
Sırtqı cikldıń 3-tákiralanıwı.
Mısal. x ke eseli n dana sandı shıǵarıw programmasın dúziń.
№
|
Blok-sxema
|
Blok-sxema atı
|
Programma kodı
|
1
|
|
Algoritm baslanıwı
|
|
2
|
Kiritiw blogı
|
|
3
|
Cikl sanı
|
|
4
|
Cikl denesi
Orınlanıw blogı
|
|
5
|
Shıǵarıw blogı
|
|
6
|
Algoritmniń tamalanıwı
|
|
|
8 ge eseli 6 dana sandı shıǵarıw ushın n ǵa 6, x qa 8 mánis bergenimizde, 0 8 16 24 32 40 nátiyjeni shıǵaradı.
|
|
for cikl operatorın aldınnan tákirarlanıwlar sanı anıq bolǵan máselelerdi sheshiw ushın qolaylı. Biraq barlıq waqıtta tákirarlanıwlar sanı aldınnan bilip bolmaydı. Tek ǵana shárt tekseriw arqalı cikl dawam etiwi yaki toqtawı kerekligi haqqında juwmaq shıgarıw ushın while cikl operatorınan paydalanǵan maqul.
Esletpe: while ciklı – berilgen shárt shın bolǵan jaǵdayda cikl denesi orınlanatuǵın cikl túri. Eger cikl basında shárt orınlanbasa, onda cikl orınlanbaydı.
while cikl operatorı
while cikl operatorı shárt ańlatpası orınlanǵan jaǵdaylar (True bolsa) ushın dawam etedi, eger shárt orınlanbasa (False bolsa), cikl óz jumısın tamlaydı.
Sintaksisi:
while shárt ańlatpası:
cikl denesi
shárt ańlatpası – cikl shárti;
cikl denesi – orınlanıwı kerek bolǵan buyrıqlar.
Mısal. 1 dan n ǵa shekem sanlardıń kóbeymesin tabıń. P=1*2*…*n=n!
№
|
Blok-sxema
|
Blok-sxema atı
|
Programma kodı
|
1
|
|
Algoritm baslanıwı
|
|
2
|
Kiritiw blogı
|
|
3
|
Shárt tekseriw blogı
|
|
4
|
Orınlanıw blogı
|
|
5
|
Shıǵarıw blogı
|
|
6
|
Algoritmniń tamalanıwı
|
|
|
n ǵa 5 mánisin beremiz, i diń baslanǵısh mánisi 1 ge teń. Kóbeyme esaplanıp atırǵanı ushın p diń baslanǵısh mánisi 1 dep alamız. 1*1*2*3*4*5=120 nátiyjeni shıǵaradı.
|
|
Do'stlaringiz bilan baham: |