Hopp til innhold

Verktøy og mal

Variabler, matematiske operatorer og funksjonen print()

Noen av de enkleste programmene vi kan lage, er slike som regner ut arealet av for eksempel et rektangel og skriver ut resultatet til skjermen.

Et veldig kort program

Nedenfor kan du kjøre et program som bare har éi linje med kode i en interaktiv programmeringseditor, en trinket. Trykk på avspillingsknappen (den svarte trekanten til høyre over der det står "main.py") for å kjøre programmet. Resultatet av programmet vises i det høyre feltet i programmeringsvinduet. Programmet er skrevet i programmeringsspråket Python. (NB: Det kan ta litt tid fra du trykker på knappen til programmet blir kjørt.)

Ble resultatet som forventet? Hva gjør programmet når koden til programmet bare inneholder kommandoen print(6*8)? (Se bort ifra reklameteksten på første linje.)

Forklaring av hva programmet gjør

Programmet gjør to ting:

  • Det regner ut produktet av 6 og 8.
  • Det skriver ut svaret (48) på skjermen.

Dette er algoritmen til programmet. Se også artikkelen Algoritmer.

I Python er det funksjonen print() som sørger for at noe blir skrevet ut på skjermen. Se boksen "Pythonkode å lære seg" nedenfor.

Et litt større program

Vi ønsker å lage et program som regner ut arealet av et rektangel med lengde lik 6 og bredde lik 8. Prøv å skrive ned algoritmen til et program som gjør dette.

Løsningsforslag

Algoritmen kan se slik ut:

  • Sett lengden av et rektangel til 6.
  • Sett bredden av rektangelet til 8.
  • Multipliser lengden og bredden og kall svaret areal.
  • Skriv resultatet til skjermen.

Forskjellen mellom denne algoritmen og algoritmen til det første programmet er ikke så stor – i praksis. Forskjellen er at her betyr tallene noe fysisk, og da blir algoritmen litt annerledes fordi den må si noe om hva tallene betyr.

Programmet kan se slik ut:

Python

1lengde = 6
2bredde = 8
3areal = lengde*bredde
4print(areal)

Klarer du å forstå hva disse fire kodelinjene betyr? Skriv ned det du tror skjer i dette programmet på hver linje.

Løsning

På den første linja lager vi en såkalt variabel (= en lagringsplass, se lenger ned) med navnet lengde og setter den lik det hele tallet 6.

På den andre linja lager vi en annen variabel med navnet bredde og setter den lik (det hele tallet) 8.

På den tredje linja lager vi en variabel med navnet areal og setter den lik produktet av variablene lengde og bredde. areal får verdien 48 siden verdien av lengde og bredde er 6 og 8.

På den fjerde linja bruker vi funksjonen print() (se lenger ned), som betyr at noe skal skrives ut til skjermen. Det som skal skrives ut, er det som står i parentesen til funksjonen og blir kalt argumentet til funksjonen. Siden argumentet er variabelen areal, vil verdien til variabelen skrives ut. På skjermen vil det derfor stå "48". (Dette er det eneste som vil vises på skjermen. Alt det andre foregår internt i datamaskinen.)

Nedenfor har vi en ny interaktiv programmeringseditor der du kan prøve å kjøre programmet over. Det gjør du ved å skrive eller kopiere koden fra programmet inn i feltet til venstre nedenfor og trykke på avspillingsknappen. Du kan også skrive programmet inn i et annet programmeringsmiljø dersom du bruker det (Spyder, PyCharm eller lignende). Fungerer programmet slik det skal?

Laptop og eple. Foto.

Pythonkode å lære seg

Vis innhold

Variabler

En variabel er en intern lagringsplass for en verdi internt i datamaskinen. Oppretting av en variabel skjer ved å gi den en verdi.

Eksempel:

bredde = 8

Variabelen bredde blir opprettet, får verdien 8 og blir med det en heltallsvariabel siden 8 er et helt tall.

bredde = 8.5

Variabelen bredde blir opprettet, får verdien 8,5 og blir med det en flyttallsvariabel siden 8,5 er et tall med desimaler. Merk at Python, som GeoGebra, vil ha punktum som desimaltegn.

setning = "Her er vi"

Variabelen setning blir opprettet, får verdien "Her er vi" og blir med det en tekststrengvariabel (eller bare "strengvariabel") fordi innholdet er tekst.

Ei liste er en variabel som inneholder flere elementer. Du kan lære om dette i artikkelen Lister.

Aritmetiske operatorer

+ - * /

Dette er de fire aritmetiske operatorene pluss, minus, gange og dele.

Andre matematiske operatorer

Potens

**

Operatoren for å opphøye i noe er to stjernetegn.

Eksempel:

2**3

Dette betyr "2 opphøyd i 3" og returnerer 8.

Heltallsdivisjon og rest

// og %

Eksempel:

7//2 gir heltallsdelen til svar, altså 3.

7%2 gir resten vi får ved manuell deling, altså 1.

Forklaring: Vi har at 72=3,5, og hvis vi deler manuelt,

7:2=361

får vi resten 1.

print()

Funksjonen skriver ut til skjermen det som står mellom parentesene.

Eksempel:

print(8)

Funksjonen skriver ut 8 på skjermen.

print(areal)

Funksjonen skriver ut verdien av variabelen areal på skjermen.

print("Hei")

Funksjonen skriver ut teksten "Hei" (uten hermetegnene) på skjermen.

print("Bredden av rektangelet er", bredde, ".")

Funksjonen skriver ut teksten "Bredden av rektangelet er 8 ." på skjermen (dersom verdien av variabelen bredde er 8). Merk at vi bruker komma til å skille tekststrengen og variabelen.

print(f"Bredden av rektangelet er {bredde}.")

En alternativ måte å lage samme utskrift på er vist over. Her bruker vi en såkalt f-streng. Koden blir ofte bedre lesbar på denne måten siden vi nå kan bruke variabler med sløyfeparentes rundt direkte i setningen.

print("Denne setningen er så lang at vi har"
" skrevet kommandoen på to linjer.")

Vi kan skrive en print()-kommando over to linjer ved å dele tekststrengen og sette inn ekstra hermetegn.

Aktiviteter

a) Algoritme

Vi ønsker å skrive om programmet over slik at det regner ut arealet av et annet rektangel. Velg størrelse på det nye rektangelet selv, og skriv om algoritmen fra det originale programmet.

b) Koding

Endre programmet etter den nye algoritmen, og kjør det for å teste at det virker. Bruk gjerne den interaktive programmeringseditoren som du brukte over.

c) Algoritme

Vi ønsker nå å lage et program som kan regne ut bredden i et rektangel når vi kjenner arealet og lengden i rektangelet. Velg passende mål på arealet og lengden, og skriv algoritmen for et slik program.

Tips til aktivitet c)

Formelen for arealet A av et rektangel med lengde l og bredde b er

A=l·b

Hva blir formelen for bredden b når vi kjenner arealet A og lengden l? Her må vi snu på formelen. Du kan lese mer om hvordan vi kan snu på formler i artikkelen Formelregning.

d) Koding

Lag programmet etter algoritmen i c), og test at det virker. Prøv også med andre tall for areal og lengde.

Grubliser

1. Tenk deg at du er en bruker som skal kjøre ett av programmene på denne siden. Vanligvis når et program blir kjørt, vil ikke brukeren av programmet se selve programmeringskoden. Vi ser for eksempel ikke programkodene til spillet Tetris når vi spiller det.

Hva er hovedproblemet med programmene på denne siden?

Kommentar til grublis 1

Det eneste programmene gir av tilbakemelding på skjermen, er et tallsvar. Det står ingenting om hva dette tallet er for noe. En bruker av programmet vil ikke skjønne stort av hva som skjer.

Den som lager et program, må sørge for å lage utskrifter til skjermen som forteller brukeren hva programmet gjør. Dette får du trent på i øvingsoppgavene til denne siden. Dem finner du i artikkelen "Programmering med variabler, operatorer og funksjonen print()".

2. Hvorfor bruker vi variablene lengde, bredde og areal i programmene på denne siden? Trenger vi dem?

Kommentar til grublis 2

Som det første programmet på siden viser, kan vi regne ut arealet uten å bruke variabler, men vi skal også lage programmer der brukeren av programmet selv skal kunne skrive inn målene på figuren (uten å endre programkoden). Da er det praktisk å bruke variabler.

Løsningsforslag til aktivitetene

Løsningsforslag aktivitet a)

Vi setter målene på rektangelet til 12 x 10. Algoritmen kan se slik ut:

  • Sett lengden av et rektangel til 12.
  • Sett bredden av rektangelet til 10.
  • Multipliser lengden og bredden og kall svaret areal.
  • Skriv resultatet til skjermen.
Løsningsforslag aktivitet b)

Programmet kan se slik ut i Python:

Python

1lengde = 12
2bredde = 10
3areal = lengde*bredde
4print(areal)
Løsningsforslag aktivitet c)

Vi velger at arealet av rektangelet skal være 48 og lengden 6. Algoritmen kan se slik ut:

  • Sett lengden av et rektangel til 6.
  • Sett arealet av rektangelet til 48.
  • Divider arealet med lengden og kall svaret bredde.
  • Skriv resultatet til skjermen.
Løsningsforslag aktivitet d)

Programmet kan se slik ut i Python:

Python

1lengde = 6
2areal = 48
3bredde = areal/lengde
4print(bredde)

Relatert innhold

CC BY-SASkrevet av Bjarne Skurdal.
Sist faglig oppdatert 07.10.2021

Læringsressurser

Grunnopplæring i algoritmer og programmering