Karibu, wanafunzi vijana! Leo tutajifunza kuhusu miundo ya udhibiti katika programu ya kompyuta. Miundo ya udhibiti ni kama ishara za barabara kwa programu ya kompyuta. Wanaiambia njia ya kwenda na nini cha kufanya baadaye. Kama vile unavyofuata sheria nyumbani au shuleni, kompyuta hufuata miundo ya udhibiti inapoendesha programu.
Muundo wa udhibiti ni seti ya maagizo ambayo huiambia kompyuta jinsi ya kuchagua kati ya hatua tofauti wakati wa kutekeleza programu. Inaamua ikiwa kompyuta inapaswa kuendelea kwa mpangilio sawa au kufanya uamuzi wa kufanya kitu tofauti.
Fikiria unafuata mapishi. Kichocheo kinakuambia kila hatua: kwanza, changanya unga na maji; kisha, ongeza yai; ijayo, koroga; na hatimaye, bake mchanganyiko. Katika kompyuta, miundo ya udhibiti hufanya kazi kwa njia sawa. Wanasaidia kompyuta kujua ni maagizo gani yanafuata na ni uamuzi gani wa kufanya wakati kuna chaguo.
Kuna aina tatu kuu za miundo ya udhibiti ambayo utajifunza kuhusu leo. Wao ni:
Miundo ya udhibiti wa mpangilio huiambia kompyuta kufuata maagizo moja baada ya nyingine kwa mpangilio maalum. Hakuna kufanya maamuzi katika udhibiti wa mfuatano. Kila hatua hufanyika kwa safu, kama vile unapofuata seti rahisi ya maelekezo.
Kwa mfano, fikiria utaratibu wako wa asubuhi wa kila siku:
Kila shughuli hufanyika moja baada ya nyingine kwa mpangilio wazi. Katika upangaji, hii inaitwa utekelezaji wa mpangilio . Kompyuta inasoma maagizo ya kwanza, kisha ya pili, na kisha ya tatu.
Ikiwa tutafikiria juu ya mpango rahisi wa uwongo wa kutengeneza sandwichi, inaweza kuonekana kama hii:
Hatua ya 1: Chukua vipande viwili vya mkate.
Hatua ya 2: Nyunyiza siagi kwenye kipande kimoja.
Hatua ya 3: Weka jibini juu ya siagi.
Hatua ya 4: Weka vipande viwili pamoja. Furahia sandwich yako!
Kama vile sandwich unayotengeneza, kompyuta hutekeleza maagizo moja baada ya nyingine.
Miundo ya udhibiti wa uteuzi inaruhusu kompyuta kufanya uchaguzi. Wanafanya kazi kama uma barabarani au kitabu cha "chagua adventure yako mwenyewe". Kompyuta inaangalia hali au sheria, na kisha inaamua ni njia gani ya kufuata.
Kwa mfano, fikiria juu ya kuchagua nini kuvaa asubuhi. Unaweza kuamua: “Mvua ikinyesha nitavaa koti la mvua. Ikiwa jua lina jua, nitavaa fulana.” Huu ni uamuzi unaokusaidia kuwa tayari kwa hali ya hewa. Katika upangaji programu, kompyuta hutumia if , else if , na vinginevyo taarifa kufanya maamuzi.
Mfano rahisi kama msimbo katika lugha rahisi unaonekana kama hii:
Ikiwa kunanyesha, kisha uchapishe "Chukua mwavuli."
Vinginevyo , chapisha "Hakuna mwavuli unaohitajika."
Hii ina maana: ikiwa hali (mvua) ni kweli, basi fanya kitendo (chukua mwavuli). Vinginevyo, fanya kitendo kingine.
Hebu tumia mfano mwingine. Fikiria unacheza mchezo, na kuna sheria inayosema, "Ukipata pointi 10, unashinda!" Sheria hii ni kama muundo wa udhibiti wa uteuzi. Mchezo hukagua kama pointi zako ni sawa na 10. Kama ndiyo, inakutangaza kuwa mshindi. Ikiwa sivyo, inaendelea kucheza.
Miundo ya uteuzi husaidia kompyuta kushughulikia maamuzi ambayo yana majibu machache tu yanayowezekana. Wanaiambia kompyuta, "Fanya hivi ikiwa ni kweli, na ikiwa sivyo, fanya jambo lingine."
Miundo ya udhibiti wa kurudia huambia kompyuta kufanya kitu tena na tena. Hii inajulikana kama vitendo vya kurudia au kurudia. Unapohitaji kurudia kazi mara nyingi, kurudia hutumiwa.
Fikiria unapohesabu idadi ya maapulo kwenye kikapu. Unaweza kuhesabu: 1, 2, 3, 4, 5, na kadhalika. Unaanza kwa nambari moja na unaendelea kuhesabu hadi ufikie mwisho. Hii ni sawa na jinsi kompyuta inavyotumia vitanzi.
Kuna aina mbili za kawaida za vitanzi katika programu:
A kwa kitanzi hutumika unapojua ni mara ngapi unataka kurudia kitu. Kwa mfano, ikiwa unataka kuimba safu moja ya wimbo mara 5, unaweza kutumia kitanzi:
Kwa (hesabu kutoka 1 hadi 5) fanya wimbo: "Siku ya Kuzaliwa yenye Furaha!"
Kompyuta itaonyesha "Siku ya Kuzaliwa Furaha!" mara tano kwa sababu inarudia hatua mara 5.
Kitanzi cha muda kinatumika wakati kompyuta inapaswa kuendelea kurudia kitu mradi tu hali ni kweli. Kwa mfano, ikiwa unapuliza puto, unaweza kuendelea kupuliza hadi puto iwe kubwa vya kutosha. Sheria inaweza kuwa: "Wakati puto si kubwa, endelea kupiga hewa ndani yake."
Hii ni sawa na kusema: Wakati (puto ni ndogo), endelea kupuliza. Wakati puto inakuwa kubwa ya kutosha, simamisha kitanzi.
Hapa kuna mfano mwingine rahisi kwa kutumia wazo la kitanzi: Fikiria unapenda kupiga mikono yako. Unaamua kupiga makofi hadi umepiga makofi mara 10. Unaweza kusema: Rudia "Piga" mara 10. Katika programu, kompyuta itahesabu kila kupiga makofi na itaacha ikiwa imefikia makofi 10.
Miundo ya udhibiti ni muhimu sana katika programu. Wanasaidia katika kupanga kazi katika programu ili ifanye kazi kwa usahihi. Bila wao, kompyuta haitajua jinsi ya kufanya maamuzi au kurudia vitendo.
Hapa kuna sababu kadhaa kwa nini muundo wa udhibiti ni muhimu:
Wacha tuangalie mifano kadhaa kutoka kwa maisha ya kila siku ambayo muundo wa udhibiti wa kioo katika programu.
Mfano wa Udhibiti wa Mfuatano:
Fikiria unajiandaa kwenda shule. Kwanza, unaamka. Kisha, unaosha uso wako. Ifuatayo, unavaa nguo zako. Hatimaye, unakula kifungua kinywa. Huu ni mlolongo wa vitendo ambavyo unafanya moja baada ya nyingine. Katika programu ya kompyuta, udhibiti wa mlolongo hutumiwa wakati kila maagizo yanafuatwa bila masharti.
Mfano wa Udhibiti wa Uteuzi:
Fikiria uamuzi unaofanya wakati wa kuchagua nguo zako. Ikiwa hali ya hewa ni baridi, unavaa sweta ya joto. Ikiwa hali ya hewa ni moto, unavaa T-shati. Mchakato huu wa kufanya maamuzi ni sawa na jinsi kompyuta inavyotumia taarifa ya "ikiwa". Kompyuta huangalia hali ya hewa (hali) na kisha huchagua chaguo sahihi la nguo (kitendo).
Mfano wa Udhibiti wa Kurudia:
Jifikirie ukifanya kazi ya nyumbani, kama vile kuweka vitu vyako vya kuchezea. Unaweza kuwa na toys nyingi kuchukua. Badala ya kufikiria juu ya kila toy moja baada ya nyingine, unarudia tu kitendo kile kile: chukua toy, kuiweka kwenye sanduku la kuchezea, na uende kwa toy inayofuata hadi zote zichukuliwe. Hiki ni kitendo kinachojirudia, kama tu kitanzi katika upangaji programu.
Wakati mwingine, miundo ya udhibiti inaweza kuwekwa ndani ya kila mmoja. Hii inaitwa nested control structure . Inatokea wakati uamuzi mmoja au kitanzi kiko ndani ya mwingine. Picha ya mchezo ambapo unaweza kufanya uchaguzi katika hatua kadhaa. Kwa mfano, unaweza kuamua kwanza kwenda kushoto au kulia. Ukichagua kushoto, basi unaweza kukabiliana na chaguo jingine: "Je, unapanda kilima au kukizunguka?" Kila chaguo ni uamuzi mdogo, na huwekwa moja baada ya nyingine.
Katika usimbaji, kuweka kiota huruhusu kompyuta kushughulikia kazi ngumu zaidi. Hata mchezo rahisi au programu inaweza kuwa na tabaka kadhaa za maamuzi na vitanzi. Safu hizi zinapofanya kazi pamoja, programu inaweza kufanya maamuzi nadhifu na kufanya mambo ya kusisimua zaidi.
Kwa mfano, fikiria mpango unaokusaidia kupanga picnic. Inaweza kuuliza kwanza, "Je, hali ya hewa ni nzuri?" Ikiwa jibu ni ndiyo, programu itauliza, "Je, una chakula cha kutosha?" Ukijibu ndiyo tena, itasema, "Nzuri! Ni wakati wa kwenda kwa picnic!" Ikiwa jibu lolote ni hapana, itapendekeza mpango mwingine. Uamuzi huu uliowekwa kwenye kiota husaidia kompyuta kuelewa chaguo zako vyema.
Programu ya kompyuta inapoendeshwa, inafuata maagizo uliyotoa kwa mpangilio maalum. Hebu tufikirie programu rahisi inayoonyesha salamu kwenye skrini ya kompyuta. Programu inaweza kufanya yafuatayo:
Hatua ya 1: Anzisha programu.
Hatua ya 2: Angalia saa ya siku.
Hatua ya 3: Ikiwa saa ni asubuhi, onyesha "Habari za Asubuhi!"
Hatua ya 4: Ikiwa saa ni alasiri, onyesha "Mchana Njema!"
Hatua ya 5: Ikiwa saa ni jioni, onyesha "Jioni Njema!"
Hatua ya 6: Maliza programu.
Katika mpango huu, kuna mlolongo wazi. Pia kuna uamuzi kuhusu nini cha kuonyesha kwenye skrini. Kompyuta hutumia muundo wa udhibiti wa uteuzi (taarifa za ikiwa-mwingine ) kufanya uamuzi huo.
Ifuatayo, fikiria unacheza mchezo rahisi wa kompyuta ambapo unahitaji kukusanya sarafu. Programu inaweza kutumia kitanzi kuangalia kila wakati unapokusanya sarafu moja. Itahesabu sarafu zako unapozikusanya. Unapokusanya sarafu zote, mchezo unaisha. Hapa, kitanzi ni muundo wa udhibiti wa iteration ambao hurudia mchakato wa kuhesabu.
Miundo ya udhibiti haitumiwi tu katika mazoezi ya shule au programu ndogo. Zinatumika katika programu nyingi za ulimwengu halisi ambazo tunaona kila siku. Hapa kuna mifano ya kuvutia:
Mifano hii inaonyesha kwamba miundo ya udhibiti iko kila mahali! Wanasaidia vifaa na programu za kisasa kufanya kazi kwa urahisi iwezekanavyo, na kufanya maisha yetu kuwa rahisi na ya kufurahisha zaidi.
Hebu tuandike mfano rahisi wa pseudocode. Pseudocode ni njia ya kupanga programu kwa kutumia maneno rahisi yanayofanana na msimbo.
Mfano: Mfanya Uamuzi Rahisi wa Vitafunio
Hebu fikiria unataka kuamua ikiwa utakula tufaha au ndizi kama vitafunio. Unaweza kuandika sheria kama hii:
Ikiwa una njaa na unataka kitu tamu, kisha chagua apple.
Vinginevyo ikiwa una njaa na unataka kitu laini, basi chagua ndizi.
Vinginevyo , kaa na fikiria juu ya kile unachotaka.
Pseudocode hii inaambia kompyuta: Angalia kwanza ikiwa unataka kitu kitamu. Ikiwa hiyo ni kweli, chagua tufaha. Ikiwa sivyo, angalia kitu kingine, kama ndizi. Ikiwa hakuna chaguo linalolingana, basi chukua muda kuamua.
Inaweza kusaidia kufikiria juu ya miundo ya udhibiti kama ramani. Picha ya ramani rahisi ya hazina. Ramani ina njia iliyo na alama na hatua zilizoandikwa kwa mpangilio. Unapokuja kwenye uma barabarani, ramani inakuambia ni njia gani ya kwenda kulingana na kidokezo kutoka kwa hazina. Wakati mwingine, ramani inakuambia ufuate njia sawa mara kadhaa hadi ufikie hazina. Maagizo haya yote hukusaidia kupata njia sahihi.
Vile vile, kompyuta hutumia hatua zinazofuatana kufuata ramani, uteuzi wa kuchagua njia sahihi kwenye uma, na marudio ya kurudia kazi hadi lengo lifikiwe. Kwa kutumia miundo ya udhibiti, tunaweza kuiambia kompyuta jinsi ya kufikia "hazina" yake - matokeo sahihi.
Hebu tupitie mawazo muhimu tuliyojifunza leo: