Sortere pseudokode som teller tall større enn 10
Lov på eksamen
- Datamaskin med programmeringsverktøy
- Lærebok, dokumentasjon og egne notater og programmer
Ikke åpent internett (bare noen utvalgte nettressurser), kommunikasjon med andre eller kunstig intelligens.
Kan den løses uten PC?
Kan løses med penn og papir. Du trenger ikke kalkulator.
Fra 2027 er det bare kalkulator og skriftlige hjelpemidler på del 2. Vurderingen er gjort med KI og kan inneholde feil.
Nedenfor finner du flere linjer med pseudokode.
Sorter linjene i riktig rekkefølge slik at de danner pseudokoden til et program. Programmet leser inn fem tall og teller og skriver ut hvor mange av tallene som er større enn 10.
Merk: Linjene med pseudokode har ikke innrykk/indentering.
Sorter linjene
SET antall TO antall + 1READ tallENDWHILEDISPLAY antallIF tall > 10SET i TO i + 1SET antall TO 0WHILE i <= 5SET i TO 1ENDIF
Fasit
SET i TO 1
SET antall TO 0
WHILE i <= 5
READ tall
IF tall > 10
SET antall TO antall + 1
ENDIF
SET i TO i + 1
ENDWHILE
DISPLAY antall
De to første linjene kan bytte plass, og SET i TO i + 1 kan stå hvor som helst i løkka utenfor IF-blokken.
LøsningsforslagKI-generert
Programmet trenger to variabler: en teller i som styrer hvor mange tall som leses inn, og antall som teller tallene som er større enn 10. Begge må få startverdi før løkka, ellers har de ingen verdi første gang de brukes. Derfor kommer SET i TO 1 og SET antall TO 0 først, i valgfri rekkefølge.
WHILE i <= 5 gjentar løkka så lenge i er 1, 2, 3, 4 eller 5, altså fem ganger. Inne i løkka skjer tre ting:
READ tallleser inn et nytt tall.IF tall > 10sjekker tallet. Bare når det er større enn 10, økerantallmed 1.ENDIFavslutter testen.SET i TO i + 1øker telleren, slik at løkka stopper etter fem runder.
READ tall må stå før IF-testen, siden testen bruker tallet som akkurat er lest inn. SET i TO i + 1 må stå inne i løkka, men utenfor IF-blokken. Står den inne i IF-blokken, øker telleren bare når tallet er større enn 10, og programmet leser inn flere enn fem tall. Står den etter ENDWHILE, stopper løkka aldri.
DISPLAY antall står til slutt, etter ENDWHILE, slik at svaret skrives ut én gang når alle fem tallene er sjekket.
Med tallene 4, 12, 10, 25 og 11 blir det slik:
i | tall | tall > 10? | antall etterpå |
|---|---|---|---|
| 1 | 4 | nei | 0 |
| 2 | 12 | ja | 1 |
| 3 | 10 | nei | 1 |
| 4 | 25 | ja | 2 |
| 5 | 11 | ja | 3 |
Etter femte runde er i lik 6, løkka stopper, og programmet skriver ut 3. Legg merke til at 10 ikke telles, siden testen er «større enn», ikke «større enn eller lik».