Programmering med brukerdata fra tastaturet
Før du gjør disse oppgavene, bør du ha gått gjennom artikkelen Program som tar imot brukerdata: input().
AP-20 (oppvarming)
a) Koding
Hvilke to ting kan funksjonen input() gjøre for oss?
Løsning
Funksjonen input() kan
- skrive til skjermen en tekst som blir stående rett foran markøren der brukeren av programmet skal skrive inn noe.
- ta imot det som brukeren skriver inn.
b) Koding
Vi ønsker at brukeren av programmet skal skrive inn en hårfarge, for eksempel "mørkebrun". Hva skriver vi i programkoden for å få til dette slik at vi kan bruke denne hårfargen et annet sted i programmet senere?
Løsningsforslag
farge = input("Skriv inn valgt hårfarge:")
Vi må sette resultatet av input-kommandoen lik en variabel for å kunne bruke om igjen det brukeren skriver inn. Her har vi kalt denne variabelen farge.
c) Koding
Hva er feil i kommandoen nedenfor?
tekst = input(Skriv inn favorittordet ditt:)
Løsning
Argumentet til input()-funksjonen, teksten "Skriv inn favorittordet ditt:", må stå i hermetegn siden det er en tekststreng.
d) Koding
Hvorfor gir programmet nedenfor feilmelding? Endre på det slik at det fungerer.
tall = input("Skriv inn et tall du ønsker å doble:")
dobbel = tall * 2
print(f"Det dobbelte av {tall} er {dobbel}.")
Løsning
Programmet fungerer ikke fordi variabelen tall blir en tekststrengvariabel. Årsaken til det er at alt brukeren skriver inn, blir tolket som tekst. Vi må konvertere det som blir skrevet inn til et tall.
Slik kan programmet se ut:
tall = float(input("Skriv inn et tall du ønsker å doble:"))
dobbel = tall * 2
print(f"Det dobbelte av {tall} er {dobbel}.")
AP-21
Vi ønsker å lage et program som kan regne ut arealet av en trekant der brukeren av programmet kan skrive inn grunnlinja og høyden i trekanten.
a) Algoritme
Skriv algoritmen til et slikt program. Husk å få med gode forklarende tekster.
Løsningsforslag
- Skriv til skjermen "Dette programmet regner ut arealet av en trekant ut ifra grunnlinja og høyden i trekanten.".
- Skriv til skjermen "Skriv inn grunnlinja i trekanten:".
- Ta imot tallet fra brukeren, og sett resultatet lik variabelen grunnlinje.
- Skriv til skjermen "Skriv inn høyden i trekanten:".
- Ta imot tallet fra brukeren, og sett resultatet lik variabelen hoeyde.
- Multipliser grunnlinje med hoeyde, og sett resultatet lik variabelen areal.
- Skriv til skjermen "Arealet av en trekant med grunnlinje <grunnlinje> og høyde <hoeyde> er <areal>.".
Notasjonen "<grunnlinje>" betyr at her skal utskriften vise det som brukeren skrev inn, som ligger lagret i variabelen grunnlinje.
b) Koding
Lag programmet etter algoritmen i a), og test at det fungerer.
AP-22
Vi ønsker å lage et program som kan regne ut arealet av et trapes der brukeren av programmet kan skrive inn lengden av de to parallelle sidene og høyden i trapeset.
a) Algoritme
Skriv ned algoritmen til et slikt program.
b) Koding
Lag programmet etter algoritmen i a), og test at det fungerer.