Løkker med vilkår i Scratch

På siden Forgreininger i Scratch så vi hvordan vi kan bruke vilkår til å styre forgreininger. Har skal vi se hvordan vi kan bruke vilkår i Scratch (scratch.mit.edu/projects/editor/ Links to an external site.) til å kontrollere gjennomløp i løkker.

På siden Løkker i Scratch så vi hvordan vi kan lage løkker ved hjelp av klossen "gjenta … ganger": Gjenta-ganger-kloss. Instruksjonene inni klypa på denne klossen blir gjentatt så mange ganger som det tallet vi skriver i det ovale feltet.

Av og til vet vi imidlertid ikke på forhånd hvor mange ganger løkka skal gjennomløpes, vi vet bare at den skal gjennomløpes inntil et gitt vilkår er sann. Da bruker vi en "gjenta til …"-kloss: Gjenta-til-kloss

Instruksjonene i klypa blir gjentatt inntil vilkåret i det sekskantede feltet er sann

Eksempel 1:

Vi skal få katten til å si kvadratet av heltallene fra og med 50 til og med 55. Da kan vi regne ut at dette blir totalt 6 tall og bruke "gjenta 6 ganger", men det gir en tydeligere logikk å bruke en "gjenta til …"-kloss, slik som vist under:

Katten sier kvadratet av tallene fra 50 til 55

Før vi bygger klossen, oppretter vi en variabel ved å gå til kategorien "Variabler" og velge "Lag en variabel". Vi har kalt variabelen n, men den kan hete hva som helst.

I klossen gis først variabelen n verdien 50 fordi vi skal starte å telle på 50. Som vilkår i løkka har vi at n > 55, det vil si at instruksjonene i klypa skal gjentas inntil variabelen n blir større enn 55. Disse instruksjonene består i at katten først sier verdien av kvadratet til n. Siden vi ikke har en opphøyd-i-operator, må vi regne ut kvadratet som n · n ved hjelp av klossen for multiplikasjon. Deretter økes verdien til n med 1. Vi starter altså med n = 50, senere blir n lik 51, 52, 53, 54, 55 og 56. Da er vilkåret n > 55 sann, det blir ikke flere gjentakelser av løkka, og programmet avsluttes.

Øvingsoppgave 1:

Lag en kloss i Scratch som får katten til å si kvadratet av heltallene fra og med 100 og ned til og med 90.