Hopp til innhold
Oppgave

Programmering med brukerdata fra tastaturet

Når brukeren av et program skal bruke tastaturet til å gi input til programmet, må det i programkoden stå en kommando med funksjonen input().

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

  1. skrive til skjermen en tekst som blir stående rett foran markøren der brukeren av programmet skal skrive inn noe.
  2. 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.