Välkommen, unga elever! Idag ska vi lära oss om styrstrukturer inom datorprogrammering. Kontrollstrukturer är som vägskyltarna för ett datorprogram. De berättar vilken väg den ska gå och vad den ska göra härnäst. Precis som du följer regler hemma eller i skolan, följer en dator kontrollstrukturer när den kör ett program.
En kontrollstruktur är en uppsättning instruktioner som talar om för en dator hur den ska välja mellan olika steg när ett program ska utföras. Den avgör om datorn ska fortsätta i samma ordning eller fatta ett beslut om att göra något annorlunda.
Föreställ dig att du följer ett recept. Receptet talar om för dig varje steg: blanda först mjölet och vattnet; tillsätt sedan ett ägg; nästa, rör om; och slutligen, baka blandningen. I en dator fungerar kontrollstrukturer på liknande sätt. De hjälper datorn att veta vilken instruktion som kommer härnäst och vilket beslut som ska fattas när det finns val.
Det finns tre huvudtyper av kontrollstrukturer som du kommer att lära dig om idag. De är:
Sekventiella kontrollstrukturer säger åt datorn att följa instruktionerna efter varandra i en fast ordning. Det finns inget beslutsfattande i sekventiell kontroll. Varje steg sker i rad, precis som när du följer en enkel uppsättning anvisningar.
Tänk till exempel på din dagliga morgonrutin:
Varje aktivitet sker en efter en i en tydlig ordning. I programmering kallas detta sekventiell exekvering . Datorn läser den första instruktionen, sedan den andra och sedan den tredje.
Om vi tänker på ett enkelt pseudoprogram för att göra en smörgås, kan det se ut så här:
Steg 1: Ta två skivor bröd.
Steg 2: Bred ut smör på en skiva.
Steg 3: Lägg ost ovanpå smöret.
Steg 4: Lägg ihop de två skivorna. Njut av din smörgås!
Precis som smörgåsen du gör, utför datorn instruktionerna en efter en.
Urvalskontrollstrukturer tillåter datorn att göra val. De fungerar som en gaffel i vägen eller en "välj ditt eget äventyr"-bok. Datorn tittar på ett villkor eller en regel och bestämmer sedan vilken väg den ska följa.
Tänk till exempel på att välja vad du ska ha på dig på morgonen. Du kan bestämma: "Om det regnar kommer jag att ha en regnjacka. Om det är soligt kommer jag att ha en T-shirt." Detta är ett beslut som hjälper dig att vara beredd på vädret. I programmering använder datorn if , else if och else -påståenden för att fatta beslut.
Ett enkelt kodliknande exempel i klarspråk ser ut så här:
Om det regnar, skriv ut "Ta ett paraply".
Annars skriv ut "Inget paraply behövs."
Detta betyder: om tillståndet (regnar) är sant, gör då handlingen (ta ett paraply). Annars gör du den andra åtgärden.
Låt oss använda ett annat exempel. Föreställ dig att du spelar ett spel och det finns en regel som säger: "Om du får 10 poäng vinner du!" Denna regel är som en urvalskontrollstruktur. Spelet kontrollerar om dina poäng är lika med 10. Om ja, utropar det dig till en vinnare. Om inte, fortsätter den att spela.
Urvalsstrukturer hjälper datorer att hantera beslut som bara har ett fåtal möjliga svar. De säger till datorn: "Gör det här om det är sant, och om det inte är det, gör något annat."
Iterationskontrollstrukturer talar om för datorn att göra något om och om igen. Detta kallas looping eller upprepande åtgärder. När du behöver upprepa en uppgift många gånger används iteration.
Tänk på när du räknar antalet äpplen i en korg. Du kan räkna: 1, 2, 3, 4, 5 och så vidare. Du börjar på ett nummer och fortsätter att räkna tills du når slutet. Detta liknar hur en dator använder loopar.
Det finns två vanliga typer av loopar i programmering:
En for loop används när du vet hur många gånger du vill upprepa något. Om du till exempel vill sjunga samma rad i en låt 5 gånger kan du använda en for-loop:
För (räkna från 1 till 5) sjung raden: "Happy Birthday!"
Datorn kommer att visa "Happy Birthday!" fem gånger eftersom det upprepar steget 5 gånger.
En while-loop används när datorn ska fortsätta att upprepa något så länge ett villkor är sant. Om du till exempel blåser upp en ballong kan du fortsätta att blåsa tills ballongen är tillräckligt stor. Regeln kan vara: "Medan ballongen inte är stor, fortsätt att blåsa in luft i den."
Detta liknar att säga: Medan (ballongen är liten), fortsätt att blåsa. När ballongen blir tillräckligt stor, stoppa öglan.
Här är ett annat enkelt exempel med en loopidé: Föreställ dig att du älskar att klappa händerna. Du bestämmer dig för att klappa händerna tills du har klappat 10 gånger. Man kan säga: Upprepa "Klappa" 10 gånger. I ett program kommer datorn att räkna varje klapp och stannar när den har nått 10 klappar.
Styrstrukturer är mycket viktiga vid programmering. De hjälper till att organisera uppgifterna i ett program så att det fungerar korrekt. Utan dem skulle en dator inte veta hur man fattar beslut eller upprepar åtgärder.
Här är några anledningar till varför kontrollstrukturer är viktiga:
Låt oss titta på några exempel från vardagen som speglar styrstrukturer i programmering.
Exempel på sekventiell kontroll:
Föreställ dig att du gör dig redo för skolan. Först vaknar du. Sedan tvättar du ansiktet. Därefter tar du på dig dina kläder. Till slut äter du frukost. Detta är en sekvens av åtgärder som du utför en efter en. Vid datorprogrammering används sekventiell styrning när varje instruktion följs utan villkor.
Exempel på urvalskontroll:
Tänk på vilket beslut du gör när du väljer dina kläder. Om vädret är kallt bär du en varm tröja. Om vädret är varmt bär du en t-shirt. Denna beslutsprocess liknar hur en dator använder en "om"-sats. Datorn kontrollerar vädret (tillståndet) och väljer sedan rätt klädalternativ (åtgärden).
Iterationskontrollexempel:
Tänk dig att du gör en syssla, som att lägga undan dina leksaker. Du kanske har många leksaker att hämta. Istället för att tänka på varje leksak en efter en, upprepar du helt enkelt samma åtgärd: plocka upp en leksak, lägg den i leksakslådan och flytta till nästa leksak tills alla har plockats upp. Detta är en återkommande åtgärd, precis som en loop i programmering.
Ibland kan kontrollstrukturer placeras inuti varandra. Detta kallas en kapslad kontrollstruktur . Det händer när ett beslut eller en slinga ligger inom en annan. Föreställ dig ett spel där du gör val i flera steg. Till exempel kan du först bestämma dig för om du ska gå åt vänster eller höger. Om du väljer vänster, kanske du står inför ett annat val: "Klättrar du upp för kullen eller går du runt den?" Varje val är ett litet beslut, och de är kapslade efter varandra.
Vid kodning tillåter kapsling datorn att hantera mer komplexa uppgifter. Även ett enkelt spel eller applikation kan ha flera lager av beslut och loopar. När dessa lager samverkar kan programmet fatta smartare beslut och göra fler spännande saker.
Föreställ dig till exempel ett program som hjälper dig att planera en picknick. Det kanske först frågar sig: "Är vädret fint?" Om svaret är ja kommer programmet att fråga: "Har du tillräckligt med mat?" Om du svarar ja igen, kommer det att säga: "Jättebra! Dags att gå på picknick!" Om något svar är nej, kommer det att föreslå en annan plan. Detta kapslade beslutsfattande hjälper datorn att förstå dina val bättre.
När ett datorprogram körs följer det instruktionerna du har gett i en viss ordning. Låt oss tänka på ett enkelt program som visar en hälsning på datorskärmen. Programmet kan göra följande:
Steg 1: Starta programmet.
Steg 2: Kontrollera tiden på dygnet.
Steg 3: Om klockan är på morgonen, visa "God morgon!"
Steg 4: Om klockan är på eftermiddagen, visa "God eftermiddag!"
Steg 5: Om klockan är på kvällen, visa "God kväll!"
Steg 6: Avsluta programmet.
I det här programmet finns en tydlig sekvens. Det finns också ett beslut om vad som ska visas på skärmen. Datorn använder en urvalskontrollstruktur ( om-else- satserna) för att fatta det beslutet.
Föreställ dig sedan att du spelar ett enkelt datorspel där du behöver samla mynt. Programmet kan använda en slinga för att kontrollera varje gång du samlar ett mynt. Det kommer att räkna dina mynt när du samlar in dem. När du samlar alla mynt tar spelet slut. Här är loopen iterationskontrollstrukturen som upprepar räkneprocessen.
Kontrollstrukturer används inte bara i skolövningar eller små program. De används i många verkliga applikationer som vi ser varje dag. Här är några intressanta exempel:
Dessa exempel visar att kontrollstrukturer finns överallt! De hjälper moderna enheter och program att fungera så smidigt som möjligt, vilket gör våra liv enklare och roligare.
Låt oss skriva ett enkelt pseudokodexempel. Pseudokod är ett sätt att planera program med enkla ord som ser ut som kod.
Exempel: En enkel beslutsfattare för snacks
Föreställ dig att du vill bestämma om du ska ha ett äpple eller en banan som mellanmål. Du kan skriva reglerna så här:
Om du är hungrig och vill ha något sött, välj då ett äpple.
Annars om du är hungrig och vill ha något mjukt, välj då en banan.
Annars , sitt och fundera på vad du vill.
Denna pseudokod säger till datorn: Kontrollera först om du vill ha något sött. Om det är sant, välj ett äpple. Om inte, kolla efter något annat, som en banan. Om inget av valen stämmer överens, ta en stund att bestämma dig.
Det kan hjälpa att tänka på kontrollstrukturer som en karta. Föreställ dig en enkel skattkarta. Kartan har en markerad bana med steg skrivna i ordning. När du kommer till en vägskäl talar kartan om vilken väg du ska gå baserat på en ledtråd från skatten. Ibland talar kartan om att du ska följa samma väg flera gånger tills du når skatten. Alla dessa instruktioner hjälper dig att hitta rätt väg.
På samma sätt använder en dator sekventiella steg för att följa kartan, val för att välja rätt väg vid gafflar och iteration för att upprepa uppgifter tills ett mål uppnås. Genom att använda kontrollstrukturer kan vi tala om för en dator exakt hur den ska nå sin "skatt" – det korrekta resultatet.
Låt oss gå igenom de viktiga idéer vi lärde oss idag: