Sortere pseudokode for temperaturmeldinger
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 ser du flere linjer med pseudokode i uordnet rekkefølge. Når linjene er sortert i riktig rekkefølge, skal de beskrive et program som vurderer temperaturverdier og viser en passende melding.
Dette er meldingene som skal vises ved de ulike temperaturverdiene:
- Over 25 grader: “Det er varmt.”
- Mellom 10 og 25 grader: “Det er mildt.”
- Mellom 0 og 10 grader: “Det er kjølig.”
- Under 0 grader: “Det er kaldt.”
Sorter linjene med pseudokode i riktig rekkefølge slik at resultatet viser riktige meldinger.
Sorter linjene
DISPLAY "Det er varmt."DISPLAY "Det er mildt."DISPLAY "Det er kjølig."DISPLAY "Det er kaldt."ELSE IF temperatur GREATER THAN OR EQUAL TO 0ELSEELSE IF temperatur GREATER THAN OR EQUAL TO 10ENDIFIF temperatur GREATER THAN 25
Fasit
IF temperatur GREATER THAN 25
DISPLAY "Det er varmt."
ELSE IF temperatur GREATER THAN OR EQUAL TO 10
DISPLAY "Det er mildt."
ELSE IF temperatur GREATER THAN OR EQUAL TO 0
DISPLAY "Det er kjølig."
ELSE
DISPLAY "Det er kaldt."
ENDIF
Rekkefølgen er entydig. Ingen av linjene kan bytte plass.
LøsningsforslagKI-generert
Programmet er én valgsetning med fire grener: IF, to ELSE IF og ELSE. Hver betingelse etterfølges av DISPLAY-linjen med meldingen for den grenen, og hele setningen avsluttes med ENDIF.
IFmå stå først, fordi det er den eneste linjen som starter en valgsetning. Den tester om det er over 25 grader.- I en
IF – ELSE IF – ELSE-struktur testes betingelsene ovenfra og ned, og bare den første som er sann, blir utført. Når vi kommer tilELSE IF temperatur GREATER THAN OR EQUAL TO 10, vet vi derfor at temperaturen ikke er over 25. Denne grenen gjelder altså temperaturer fra og med 10 til og med 25. - Deretter kommer testen
GREATER THAN OR EQUAL TO 0, som gjelder fra og med 0 og opp til 10. ELSEfanger opp alt som er igjen, altså temperaturer under 0.
De to ELSE IF-linjene kan ikke bytte plass. Står testen mot 0 før testen mot 10, blir den sann for alle temperaturer fra 0 til 25, og programmet ville vist «Det er kjølig.» også når det er mildt.
Sjekk med noen verdier: 30 gir «varmt», 25 og 10 gir «mildt», 9 og 0 gir «kjølig», og gir «kaldt». Grenseverdiene 10 og 0 havner i det øverste av de to intervallene de grenser mot, noe som stemmer med at oppgaven sier «mellom».