Hopp til innhald
Verktøy og mal

Variablar, matematiske operatorar og funksjonen print()

Nokre av dei enklaste programma vi kan lage, er slike som reknar ut arealet av til dømes eit rektangel og skriv ut resultatet til skjermen.

Eit veldig kort program

Nedanfor kan du køyre eit program som berre har éi linje med kode i ein interaktiv programmeringseditor, ein trinket. Trykk på avspelingsknappen (den svarte trekanten til høgre over der det står "main.py") for å køyre programmet. Resultatet av programmet blir vist i det høgre feltet i programmeringsvindauget. Programmet er skrive i programmeringsspråket Python. (NB: Det kan ta litt tid frå du trykker på avspelingsknappen til programmet blir køyrd.)

Vart resultatet som forventa? Kva gjer programmet når koden til programmet berre inneheld kommandoen print(6*8)? (Sjå bort ifrå reklameteksten på første linje.)

Forklaring av kva programmet gjer

Programmet gjer to ting:

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

Dette er algoritmen til programmet. Sjå òg artikkelen Algoritmar.

I Python er det funksjonen print() som sørgjer for at noko blir skrive ut på skjermen. Sjå boksen "Pythonkode å lære seg" nedanfor.

Eit litt større program

Vi ønskjer å lage eit program som reknar ut arealet av eit rektangel med lengde lik 6 og og breidde lik 8. Prøv å skrive ned algoritmen til eit program som gjer dette.

Løysingsforslag

Algoritmen kan sjå slik ut:

  • Set lengda av eit rektangel til 6.
  • Set breidda av rektangelet til 8.
  • Multipliser lengda og breidda og kall svaret areal.
  • Skriv resultatet til skjermen.

Skilnaden mellom denne algoritmen og algoritmen til det første programmet er ikkje så stor – i praksis. Skilnaden er at her betyr tala noko fysisk, og då blir algoritmen litt annleis fordi han må seie noko om kva tala betyr.

Programmet kan sjå slik ut:

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

Klarer du å forstå kva desse fire kodelinjene betyr? Skriv ned det du trur skjer i dette programmet på kvar linje.

Løysing

På den første linja lagar vi ein såkalla variabel (= ein lagringsplass, sjå lenger ned) med namnet lengde og set han lik det heile talet 6.

På den andre linja lagar vi ein annan variabel med namnet breidde og set han lik (det heile talet) 8.

På den tredje linja lagar vi ein variabel med namnet areal og set han lik produktet av variablane lengde og breidde. areal får verdien 48 sidan verdien av lengde og breidde er 6 og 8.

På den fjerde linja bruker vi funksjonen print() (sjå lenger ned), som betyr at noko skal skrivast ut til skjermen. Det som skal skrivast ut, er det som står i parentesen til funksjonen og blir kalla argumentet til funksjonen. Sidan argumentet er variabelen areal, vil verdien til variabelen skrivast ut. På skjermen vil det derfor stå "48". (Dette er det einaste som vil visast på skjermen. Alt det andre går føre seg internt i datamaskina.)

Nedanfor har vi ein ny interaktiv programmeringseditor der du kan prøve å køyre programmet ovanfor. Det gjer du ved å skrive eller kopiere koden frå programmet inn i feltet til venstre nedanfor og trykkje på avspelingsknappen. Du kan òg skrive programmet inn i eit anna programmeringsmiljø dersom du bruker det (Spyder, PyCharm eller liknande). Fungerer programmet slik det skal?

Pythonkode å lære seg

Vis innhald

Variablar

Ein variabel er ein intern lagringsplass for ein verdi internt i datamaskina. Oppretting av ein variabel skjer ved å gi han ein verdi.

Eksempel:

breidde = 8

Variabelen breidde blir oppretta, får verdien 8 og blir med det ein heiltalsvariabel sidan 8 er eit heilt tal.

breidde = 8.5

Variabelen breidde blir oppretta, får verdien 8,5 og blir med det ein flyttalsvariabel sidan 8,5 er eit tal med desimalar. Merk at Python, som GeoGebra, vil ha punktum som desimalteikn.

setning = "Her er vi"

Variabelen setning blir oppretta, får verdien "Her er vi" og blir med det ein tekststrengvariabel (eller berre "strengvariabel") fordi innhaldet er tekst.

Ei liste er ein variabel som inneheld fleire element. Du kan lære om dette i artikkelen Lister.

Aritmetiske operatorar

+ - * /

Dette er dei fire aritmetiske operatorane pluss, minus, gange og dele.

Andre matematiske operatorar

Potens

**

Operatoren for å opphøge i noko er to stjerneteikn.

Eksempel:

2**3

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

Heiltalsdivisjon og rest

// og %

Døme:

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

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

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

7:2=361

får vi resten 1.

print()

Funksjonen skriv ut til skjermen det som står mellom parentesane.

Eksempel:

print(8)

Funksjonen skriv ut 8 på skjermen.

print(areal)

Funksjonen skriv ut verdien av variabelen areal på skjermen.

print("Hei")

Funksjonen skriv ut teksten "Hei" (utan hermeteikna) på skjermen.

print("Breidda av rektangelet er", breidde, ".")

Funksjonen skriv ut teksten "Breidda av rektangelet er 8 ." på skjermen (dersom verdien av variabelen breidde er 8). Merk at vi bruker komma til å skilje tekststrengen og variabelen.

print(f"Breidda av rektangelet er {breidde}.")

Ein alternativ måte å lage same utskrift på er vist over. Her bruker vi ein såkalla f-streng. Koden blir ofte betre lesbar på denne måten sidan vi no kan bruke variablar med sløyfeparentes rundt direkte i setninga.

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

Vi kan skrive ein print()-kommando over to linjer ved å dele tekstrengen og setje inn ekstra hermeteikn.

Aktivitetar

a) Algoritme

Vi ønskjer å skrive om programmet over slik at det reknar ut arealet av eit anna rektangel. Vel storleik på det nye rektangelet sjølv, og skriv om algoritmen frå det originale programmet.

b) Koding

Endre programmet etter den nye algoritmen, og køyr det for å teste at det fungerar. Bruk gjerne den interaktive programmeringseditoren som du brukte ovanfor.

c) Algoritme

Vi ønskjer no å lage eit program som kan rekne ut breidda i eit rektangel når vi kjenner arealet og lengda i rektangelet. Vel passande mål på arealet og lengda, og skriv algoritmen for eit slik program.

Tips til aktivitet c)

Formelen for arealet A av eit rektangel med lengde l og breidde b er

A=l·b

Kva blir formelen for breidda b når vi kjenner arealet A og lengda l? Her må vi snu på formelen. Du kan lese meir om korleis vi kan snu på formlar i artikkelen Formelrekning.

d) Koding

Lag programmet etter algoritmen i c), og test at det fungerer. Prøv òg med andre tal for areal og lengde.

Grublisar

1. Tenk deg at du er ein brukar som skal køyre eitt av programma på denne sida. Til vanleg når eit program blir køyrt, vil ikkje brukaren av programmet sjå sjølve programmeringskoden. Vi ser for eksempel ikkje programkoden til spelet Tetris når vi speler det.

Kva er hovudproblemet med programma på denne sida?

Kommentar til grublis 1

Det einaste programma gir av tilbakemelding på skjermen, er eit talsvar. Det står ingen ting om kva dette talet er for noko. Ein brukar av programmet vil ikkje skjøne stort av kva som skjer.

Den som lagar eit program, må sørgje for å lage utskrifter til skjermen som fortel brukaren kva programmet gjer. Dette får du øvd på i øvingsoppgåvene til denne sida. Dei finn du i artikkelen Programmering med variablar, operatorar og funksjonen print()

2. Kvifor bruker vi variablane lengde, breidde og areal i programma på denne sida? Treng vi dei?

Kommentar til grublis 2

Som det første programmet på sida viser, kan vi rekne ut arealet utan å bruke variablar, men vi skal òg lage program der brukaren av programmet sjølv skal kunne skrive inn måla på figuren (utan å endre programkoden). Då er det praktisk å bruke variablar.

Løysingsforslag til aktivitetane

Løysingsforslag aktivitet a)

Vi set måla på rektangelet til 12 x 10. Algoritmen kan sjå slik ut:

  • Set lengda av eit rektangel til 12.
  • Set breidda av rektangelet til 10.
  • Multipliser lengda og breidda og kall svaret areal.
  • Skriv resultatet til skjermen.
Løysingsforslag aktivitet b)

Programmet kan sjå slik ut i Python:

python
1lengde = 12
2breidde = 10
3areal = lengde*breidde
4print(areal)
Løysingsforslag aktivitet c)

Vi vel at arealet av rektangelet skal vere 48 og lengda 6. Algoritmen kan sjå slik ut:

  • Set lengda av eit rektangel til 6.
  • Set arealet av rektangelet til 48.
  • Divider arealet med lengda og kall svaret breidde.
  • Skriv resultatet til skjermen.
Løysingsforslag aktivitet d)

Programmet kan sjå slik ut i Python:

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

Relatert innhald