Hopp til innhald
Oppgåve

Programmering med brukardata frå tastaturet

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

Før du gjer desse oppgåvene, bør du ha gått gjennom artikkelen Program som tek imot brukardata: input().

AP-20 (oppvarming)

a) Koding

Kva for to ting kan funksjonen input() gjere for oss?

Løysing

Funksjonen input() kan

  1. skrive til skjermen ein tekst som blir ståande rett framfor markøren der brukaren av programmet skal skrive inn noko.
  2. ta imot det som brukaren skriv inn.

b) Koding

Vi ønskjer at brukaren av programmet skal skrive inn ein hårfarge, til dømes "mørkebrun". Kva skriv vi i programkoden for å få til dette slik at vi kan bruke denne hårfargen ein annan stad i programmet seinare?

Løysingsforslag

farge = input("Skriv inn vald hårfarge:")

Vi må setje resultatet av input-kommandoen lik ein variabel for å kunne bruke om att det brukaren skriv inn. Her har vi kalla denne variabelen farge.

c) Koding

Kva er feil i kommandoen nedanfor?

tekst = input(Skriv inn favorittordet ditt:)

Løysing

Argumentet til input()-funksjonen, teksten "Skriv inn favorittordet ditt:", må stå i hermeteikn sidan det er ein tekststreng.

d) Koding

Kvifor gir programmet nedanfor feilmelding? Endre på det slik at det fungerer.

tal = input("Skriv inn eit tal du ønskjer å doble:")
dobbel = tal * 2
print(f"Det dobbelte av {tal} er {dobbel}.")

Løysing

Programmet fungerer ikkje fordi variabelen tal blir ein tekststrengvariabel. Årsaka til det er at alt brukaren skriv inn, blir tolka som tekst. Vi må konvertere det som blir skrive inn til eit tal.

Slik kan programmet sjå ut:

tal = float(input("Skriv inn eit tal du ønskjer å doble:"))
dobbel = tal * 2
print(f"Det dobbelte av {tal} er {dobbel}.")

AP-21

Vi ønskjer å lage eit program som kan rekne ut arealet av ein trekant der brukaren av programmet kan skrive inn grunnlinja og høgda i trekanten.

a) Algoritme

Skriv algoritmen til eit slikt program. Hugs å få med gode forklarande tekstar.

Løysingsforslag
  • Skriv til skjermen "Dette programmet reknar ut arealet av ein trekant ut ifrå grunnlinja og høgda i trekanten.".
  • Skriv til skjermen "Skriv inn grunnlinja i trekanten:".
  • Ta imot talet frå brukaren, og set resultatet lik variabelen grunnlinje.
  • Skriv til skjermen "Skriv inn høgda i trekanten:".
  • Ta imot talet frå brukaren, og set resultatet lik variabelen hoegde.
  • Multipliser grunnlinje med hoegde, og set resultatet lik variabelen areal.
  • Skriv til skjermen "Arealet av ein trekant med grunnlinje <grunnlinje> og høgde <hoegde> er <areal>.".

Notasjonen "<grunnlinje>" betyr at her skal utskrifta vise det som brukaren skreiv inn, som ligg lagra i variabelen grunnlinje.

b) Koding

Lag programmet etter algoritmen i a), og test at det fungerer.

AP-22


Vi ønskjer å lage eit program som kan rekne ut arealet av eit trapes der brukaren av programmet kan skrive inn lengda av dei to parallelle sidene og høgda i trapeset.

a) Algoritme


Skriv ned algoritmen til eit slikt program.

b) Koding


Lag programmet etter algoritmen i a), og test at det fungerer.