Maligayang pagdating, mga batang mag-aaral! Ngayon ay pag-aaralan natin ang tungkol sa mga istruktura ng kontrol sa computer programming. Ang mga istrukturang pangkontrol ay parang mga palatandaan sa kalsada para sa isang computer program. Sinasabi nila dito kung saan pupunta at kung ano ang susunod na gagawin. Tulad ng pagsunod mo sa mga panuntunan sa bahay o paaralan, sinusunod ng computer ang mga istrukturang kontrol kapag nagpapatakbo ito ng program.
Ang istraktura ng kontrol ay isang hanay ng mga tagubilin na nagsasabi sa isang computer kung paano pumili sa pagitan ng iba't ibang mga hakbang kapag nagsasagawa ng isang programa. Nagpapasya ito kung dapat magpatuloy ang computer sa parehong pagkakasunud-sunod o gumawa ng desisyon na gumawa ng ibang bagay.
Isipin na sinusunod mo ang isang recipe. Sinasabi sa iyo ng recipe ang bawat hakbang: una, paghaluin ang harina at tubig; pagkatapos, magdagdag ng isang itlog; susunod, pukawin; at sa wakas, lutuin ang timpla. Sa isang computer, gumagana ang mga istruktura ng kontrol sa katulad na paraan. Tinutulungan nila ang computer na malaman kung aling pagtuturo ang susunod at kung aling desisyon ang gagawin kapag may mga pagpipilian.
May tatlong pangunahing uri ng mga istruktura ng kontrol na matututunan mo ngayon. Sila ay:
Ang mga sequential control structure ay nagsasabi sa computer na sundin ang mga tagubilin nang sunud-sunod sa isang nakapirming pagkakasunud-sunod. Walang paggawa ng desisyon sa sequential control. Ang bawat hakbang ay nangyayari nang sunud-sunod, tulad ng kapag sumunod ka sa isang simpleng hanay ng mga direksyon.
Halimbawa, isipin ang iyong pang-araw-araw na gawain sa umaga:
Ang bawat aktibidad ay nangyayari nang sunud-sunod sa isang malinaw na pagkakasunud-sunod. Sa programming, ito ay tinatawag na sequential execution . Binabasa ng computer ang unang pagtuturo, pagkatapos ay ang pangalawa, at pagkatapos ay ang pangatlo.
Kung mag-iisip tayo ng isang simpleng pseudo-program para sa paggawa ng sandwich, maaaring ganito ang hitsura nito:
Hakbang 1: Kumuha ng dalawang hiwa ng tinapay.
Hakbang 2: Ikalat ang mantikilya sa isang hiwa.
Hakbang 3: Ilagay ang keso sa ibabaw ng mantikilya.
Hakbang 4: Pagsamahin ang dalawang hiwa. Masiyahan sa iyong sandwich!
Tulad ng sandwich na ginawa mo, isa-isang isinasagawa ng computer ang mga tagubilin.
Ang mga istruktura ng kontrol sa pagpili ay nagpapahintulot sa computer na gumawa ng mga pagpipilian. Gumagana ang mga ito tulad ng isang sangang-daan sa kalsada o isang "pumili ng iyong sariling pakikipagsapalaran" na libro. Tinitingnan ng computer ang isang kundisyon o panuntunan, at pagkatapos ay magpapasya ito kung aling landas ang susundan.
Halimbawa, isipin ang pagpili ng isusuot sa umaga. Maaari kang magpasiya: "Kung umuulan, magsusuot ako ng kapote. Kung maaraw, magsusuot ako ng T-shirt." Isa itong desisyon na makakatulong sa iyong maging handa para sa lagay ng panahon. Sa programming, ang computer ay gumagamit ng if , else if , at else na mga pahayag upang gumawa ng mga desisyon.
Ang isang simpleng halimbawa ng code sa simpleng wika ay ganito ang hitsura:
Kung umuulan, pagkatapos ay i-print ang "Kumuha ng payong."
Kung hindi , i-print ang "No umbrella needed."
Ibig sabihin: kung totoo ang kundisyon (pag-ulan), gawin ang aksyon (kumuha ng payong). Kung hindi, gawin ang iba pang aksyon.
Gumamit tayo ng isa pang halimbawa. Isipin na naglalaro ka, at mayroong isang panuntunan na nagsasabing, "Kung nakakuha ka ng 10 puntos, panalo ka!" Ang panuntunang ito ay parang isang istraktura ng kontrol sa pagpili. Sinusuri ng laro kung ang iyong mga puntos ay katumbas ng 10. Kung oo, idineklara ka nitong panalo. Kung hindi, patuloy itong naglalaro.
Ang mga istruktura ng pagpili ay tumutulong sa mga computer na pangasiwaan ang mga desisyon na mayroon lamang ilang posibleng sagot. Sinabi nila sa computer, "Gawin ito kung ito ay totoo, at kung hindi, gumawa ng iba."
Sinasabi ng mga istruktura ng pagkontrol ng pag-ulit sa computer na gumawa ng isang bagay nang paulit-ulit. Ito ay kilala bilang pag-loop o paulit-ulit na pagkilos. Kapag kailangan mong ulitin ang isang gawain nang maraming beses, ginagamit ang pag-ulit.
Pag-isipan kung kailan mo binibilang ang bilang ng mga mansanas sa isang basket. Maaari kang magbilang: 1, 2, 3, 4, 5, at iba pa. Magsisimula ka sa isang numero at patuloy na magbibilang hanggang sa maabot mo ang dulo. Ito ay katulad ng kung paano ginagamit ng isang computer ang mga loop.
Mayroong dalawang karaniwang uri ng mga loop sa programming:
Ginagamit ang for loop kapag alam mo kung ilang beses mo gustong ulitin ang isang bagay. Halimbawa, kung gusto mong kantahin ang parehong linya ng isang kanta nang 5 beses, maaari kang gumamit ng for loop:
Para sa (bilang mula 1 hanggang 5) kantahin ang linyang: "Maligayang Kaarawan!"
Ipapakita ng computer ang "Happy Birthday!" limang beses dahil inuulit nito ang hakbang ng 5 beses.
Ang isang while loop ay ginagamit kapag ang computer ay dapat na patuloy na umuulit ng isang bagay hangga't ang isang kundisyon ay totoo. Halimbawa, kung nagpapasabog ka ng lobo, maaari mong ipagpatuloy ang paghihip hanggang sa sapat na ang lobo. Ang panuntunan ay maaaring: "Habang hindi malaki ang lobo, patuloy na magpahangin dito."
Ito ay katulad ng pagsasabing: Habang (maliit ang lobo), ipagpatuloy ang paghihip. Kapag naging sapat na ang lobo, itigil ang loop.
Narito ang isa pang simpleng halimbawa gamit ang isang loop na ideya: Isipin na mahilig kang pumalakpak ng iyong mga kamay. Nagpasya kang ipakpak ang iyong mga kamay hanggang sa pumalakpak ka ng 10 beses. Maaari mong sabihing: Ulitin ang "Clap" ng 10 beses. Sa isang programa, bibilangin ng computer ang bawat palakpak at titigil kapag umabot na ito ng 10 palakpak.
Ang mga istruktura ng kontrol ay napakahalaga sa programming. Tumutulong sila sa pagsasaayos ng mga gawain sa isang programa upang ito ay gumana ng tama. Kung wala ang mga ito, hindi malalaman ng isang computer kung paano gumawa ng mga desisyon o ulitin ang mga aksyon.
Narito ang ilang dahilan kung bakit mahalaga ang mga istruktura ng kontrol:
Tingnan natin ang ilang mga halimbawa mula sa pang-araw-araw na buhay na sumasalamin sa mga istruktura ng kontrol sa programming.
Halimbawa ng Sequential Control:
Isipin na ikaw ay naghahanda para sa paaralan. Una, gumising ka. Pagkatapos, hugasan mo ang iyong mukha. Susunod, isuot mo ang iyong mga damit. Sa wakas, kumain ka na ng almusal. Ito ay isang pagkakasunud-sunod ng mga aksyon na ginagawa mo nang sunud-sunod. Sa computer programming, ang sequential control ay ginagamit kapag ang bawat pagtuturo ay sinusunod nang walang kundisyon.
Halimbawa ng Kontrol sa Pagpili:
Isaalang-alang ang desisyon na gagawin mo kapag pumipili ng iyong mga damit. Kung malamig ang panahon, magsuot ka ng mainit na sweater. Kung mainit ang panahon, magsuot ka ng T-shirt. Ang proseso ng paggawa ng desisyon ay katulad ng kung paano gumagamit ang isang computer ng "if" na pahayag. Sinusuri ng computer ang lagay ng panahon (ang kundisyon) at pagkatapos ay pipili ng tamang opsyon sa pananamit (ang aksyon).
Halimbawa ng Pagkontrol sa Pag-ulit:
Isipin ang iyong sarili na gumagawa ng isang gawaing-bahay, tulad ng pag-alis ng iyong mga laruan. Maaaring marami kang laruan na kukunin. Sa halip na pag-isipan ang bawat laruan nang paisa-isa, ulitin mo lang ang parehong aksyon: kumuha ng laruan, ilagay ito sa kahon ng laruan, at lumipat sa susunod na laruan hanggang sa mapulot ang lahat. Ito ay isang paulit-ulit na aksyon, tulad ng isang loop sa programming.
Minsan, ang mga istruktura ng kontrol ay maaaring ilagay sa loob ng isa't isa. Ito ay tinatawag na nested control structure . Nangyayari ito kapag ang isang desisyon o loop ay nasa loob ng isa pa. Isipin ang isang laro kung saan pipili ka sa ilang hakbang. Halimbawa, maaari kang magpasya muna kung lilipat o pakanan. Kung pipiliin mo ang kaliwa, maaari kang humarap sa isa pang pagpipilian: "Aakyat ka ba sa burol o naglalakad sa paligid nito?" Ang bawat pagpipilian ay isang maliit na desisyon, at ang mga ito ay nakapugad ng isa-isa.
Sa coding, pinahihintulutan ng nesting ang computer na pangasiwaan ang mas kumplikadong mga gawain. Kahit na ang isang simpleng laro o application ay maaaring magkaroon ng ilang layer ng mga desisyon at loop. Kapag nagtutulungan ang mga layer na ito, makakagawa ang program ng mas matalinong mga pagpapasya at makakagawa ng mas kapana-panabik na mga bagay.
Halimbawa, isipin ang isang programa na makakatulong sa iyong magplano ng piknik. Maaari itong unang magtanong, "Maganda ba ang panahon?" Kung oo ang sagot, itatanong ng programa, "May sapat ka bang pagkain?" Kung sumagot ka ulit ng oo, ito ay magsasabing, "Great! Time to go for a picnic!" Kung ang anumang sagot ay hindi, ito ay magmumungkahi ng isa pang plano. Ang nested decision-making na ito ay nakakatulong sa computer na mas maunawaan ang iyong mga pagpipilian.
Kapag tumatakbo ang isang computer program, sinusunod nito ang mga tagubiling ibinigay mo sa isang partikular na pagkakasunud-sunod. Isipin natin ang isang simpleng programa na nagpapakita ng pagbati sa screen ng computer. Maaaring gawin ng programa ang sumusunod:
Hakbang 1: Simulan ang programa.
Hakbang 2: Suriin ang oras ng araw.
Hakbang 3: Kung ang oras ay sa umaga, ipakita ang "Good Morning!"
Hakbang 4: Kung hapon ang oras, ipakita ang "Good Afternoon!"
Hakbang 5: Kung ang oras ay sa gabi, ipakita ang "Magandang Gabi!"
Hakbang 6: Tapusin ang programa.
Sa programang ito, mayroong isang malinaw na pagkakasunud-sunod. Mayroon ding desisyon tungkol sa kung ano ang ipapakita sa screen. Gumagamit ang computer ng isang istraktura ng kontrol sa pagpili (ang kung-ibang mga pahayag) upang gawin ang desisyong iyon.
Susunod, isipin na naglalaro ka ng isang simpleng laro sa computer kung saan kailangan mong mangolekta ng mga barya. Maaaring gumamit ang program ng loop upang suriin sa tuwing mangolekta ka ng isang barya. Bibilangin nito ang iyong mga barya habang kinokolekta mo ang mga ito. Kapag nakolekta mo ang lahat ng mga barya, ang laro ay nagtatapos. Dito, ang loop ay ang istraktura ng kontrol ng pag-ulit na umuulit sa proseso ng pagbibilang.
Ang mga istruktura ng kontrol ay hindi lamang ginagamit sa mga pagsasanay sa paaralan o maliliit na programa. Ginagamit ang mga ito sa maraming real-world na application na nakikita natin araw-araw. Narito ang ilang mga kawili-wiling halimbawa:
Ang mga halimbawang ito ay nagpapakita na ang mga istruktura ng kontrol ay nasa lahat ng dako! Tinutulungan nila ang mga modernong device at programa na gumana nang maayos hangga't maaari, na ginagawang mas madali at mas masaya ang ating buhay.
Sumulat tayo ng isang simpleng halimbawa ng pseudocode. Ang pseudocode ay isang paraan upang magplano ng mga programa gamit ang mga simpleng salita na parang code.
Halimbawa: Isang Simpleng Desisyon para sa Meryenda
Isipin na gusto mong magpasya kung magkaroon ng isang mansanas o isang saging bilang meryenda. Maaari mong isulat ang mga patakaran tulad nito:
Kung ikaw ay gutom at gusto ng matamis, pagkatapos ay pumili ng isang mansanas.
Kung gutom ka at gusto mo ng malambot, pumili ka ng saging.
Kung hindi , umupo at isipin kung ano ang gusto mo.
Sinasabi ng pseudocode na ito sa computer: Tingnan muna kung gusto mo ng matamis. Kung totoo iyon, pumili ng mansanas. Kung hindi, tingnan ang ibang bagay, tulad ng saging. Kung walang tumutugma sa mga pagpipilian, maglaan ng ilang sandali upang magpasya.
Maaaring makatulong na isipin ang tungkol sa mga istrukturang kontrol bilang isang mapa. Larawan ng isang simpleng mapa ng kayamanan. Ang mapa ay may markang landas na may mga hakbang na nakasulat sa pagkakasunud-sunod. Kapag dumating ka sa isang sangang bahagi ng kalsada, sasabihin sa iyo ng mapa kung aling daan ang pupuntahan batay sa isang bakas mula sa kayamanan. Minsan, sinasabi sa iyo ng mapa na sundan ang parehong landas nang maraming beses hanggang sa maabot mo ang kayamanan. Ang lahat ng mga tagubiling ito ay makakatulong sa iyo na mahanap ang tamang paraan.
Katulad nito, ang isang computer ay gumagamit ng mga sunud-sunod na hakbang upang sundin ang mapa, pagpili upang piliin ang tamang landas sa mga fork, at pag-ulit upang ulitin ang mga gawain hanggang sa maabot ang isang layunin. Sa pamamagitan ng paggamit ng mga istrukturang pangkontrol, masasabi natin nang eksakto sa isang computer kung paano maabot ang "kayamanan" nito – ang tamang resulta.
Suriin natin ang mahahalagang ideya na natutunan natin ngayon: