Vilkår i blokk

VILKÅR - når programmet kan gå ulike veier.

Vilkår, også kalt hvis-setninger (eller if-setninger), er et av de mest brukte programmeringsprinsippene, og vi kommer til å støte på og bruke vilkår i mange ulike sammenhenger i denne kursrekka. På denne siden skal vi se på et par ulike eksempler på hvordan vilkår kan brukes.

Stein / Saks / Papir (SSP)

De beste SSP-spillerne i verden er de som klarer å være så tilfeldige de kan når de velger hva de skal vise. Dette er nemlig vanskeligere enn man tror, og gode motstandere vil raskt kunne gjenkjenne hvis man har et ubevisst mønster.

Datamaskiner er mye flinkere enn mennesker til å velge tilfeldig, selv om en datamaskin egentlig kun kan simulere tilfeldighet, også kalt pseudotilfeldighet.

Hvis vi skal lage et program der Micro:biten spiller SSP for oss, kan vi bruke samme blokk som vi brukte da vi simulerte terningkast. Vi trekker altså en verdi fra 1 til 3 og lagrer denne i en variabel. Det som nå er nytt er at vi legger til noen hvis-setninger etterpå, slik at programmet gjør ulike ting basert på hva resultatet av trekningen ble.

Den turkise vilkårsblokken finner vi under Logikk. Vi kan legge til flere vilkår i samme blokk ved å klikke på (+)-tegnet nederst. I dette tilfeller vil vi trenge tre ulike "veier" programmet kan ta: Hvis - Ellers hvis - Ellers.

I de sekskantede feltene i vilkårsblokken kan vi nå legge inn vilkårene våre. I mange tilfeller må vi, som her, legge inn en sammenligningsblokk først (en komparator).

Klikk her for å se hvordan programmet bygges opp, hvis du trenger det:

Her kan man se hvordan vilkåret bygges opp, og hvis man høyreklikker på likhetstegnet kan man kopiere det og sette inn et tilsvarende for Trekning == 2 også.

Slik ser den ferdige koden ut. Merk at vi ikke trenger en komparator når det gjelder papir (nederst), for hvis det ikke var verken 1 eller 2, må det jo være 3.

Lenke til ferdig program.

Bonus:

Legg inn en nedtelling " 3 - 2 - 1 " før symbolet vises på skjermen. Er det andre ting man kan gjøre for å krydre programmet?

Stein / Saks / Papir i flytskjema og Python

Vi skal lære mer om hvordan man bruker vilkår i if-setninger i python neste gang.

Andre eksempler på bruk av vilkår:

Max-Min-Termometer:

Turtle der sidelengden i firkanten økes/minskes tilfeldig: