Tilbake
5.1
Introduksjon til programmering

5.1 Introduksjon til programmering

Algoritmer, pseudokode, flytdiagram og programmeringsmiljø.

30 min
5 oppgaver
AlgoritmerPseudokodeFlytdiagramIDE
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 5 oppgaver

Grunnleggjande programmering

Programmering handlar om å gi presise instruksjonar til ei datamaskin. I teknologi og forskingslære brukar vi programmering til å samle inn data frå sensorar, analysere måleresultat, styre elektroniske kretsar og automatisere prosessar.

I dette kapittelet lærer du det aller mest grunnleggjande: korleis du lagrar informasjon i variablar, kva for datatypar som finst, korleis du brukar operatorar til å utføre utrekningar, og korleis du kommuniserer med brukaren gjennom input og print. Vi brukar programmeringsspråket Python, som er mykje brukt i forsking, datavitskap og teknologiutvikling.

Etter dette kapittelet vil du kunne skrive enkle program som tek inn data, gjer utrekningar og presenterer resultat.

Variabel

Ein variabel er eit namn som refererer til ein verdi som er lagra i minnet til datamaskina. Du kan tenkje på ein variabel som ein merka boks der du legg informasjon.

I Python opprettar vi ein variabel ved å gi han eit namn og ein verdi med tilordningsoperatoren =:

navn = "Kari"
alder = 17
temperatur = 22.5

Reglar for variabelnamn i Python:
- Må starte med ein bokstav eller understrek (_)
- Kan innehalde bokstavar, tal og understrek
- Kan ikkje innehalde mellomrom eller spesialteikn
- Er versalfølsame (Temperatur og temperatur er ulike variablar)
- Bør bruke skildrande namn som forklarar kva variabelen inneheld

Tips: Bruk snake_case (små bokstavar med understrek) for variabelnamn i Python, f.eks. maks_temperatur og antall_malinger.

Variablar i praksis

Variablar kan endrast undervegs i programmet – difor namnet «variabel». Du kan tildele ein ny verdi til ein eksisterande variabel:

temperatur = 20.0    # Oppretter variabelen
print(temperatur)    # Skriver ut: 20.0

temperatur = 23.5    # Endrer verdien
print(temperatur)    # Skriver ut: 23.5

Du kan òg bruke verdien i ein variabel til å rekne ut ein ny verdi:

radius = 5.0
areal = 3.14159 * radius * radius
print(areal)  # Skriver ut: 78.53975

Det er viktig å forstå at = i Python ikkje tyder «er lik» slik det gjer i matematikk. Det tyder «tilordne verdien til høgre til variabelen til venstre». Uttrykket x = x + 1 er heilt lovleg i Python – det tyder «ta den noverande verdien av x, legg til 1, og lagre resultatet tilbake i x».

✏️Døme: Bruk av variablar

Skriv eit Python-program som reknar ut arealet av ein sirkel med radius 7,0 cm og skriv ut resultatet.

radius = 7.0
pi = 3.14159
areal = pi * radius * radius

print("Radius:", radius, "cm")
print("Areal:", areal, "cm²")

Utskrift:

Radius: 7.0 cm
Areal: 153.93791 cm²

Vi lagrar radius og pi som variablar, reknar ut arealet med formelen A=πr2A = \pi r^2, og skriv ut resultatet med print(). Legg merke til at vi kan skrive ut fleire verdiar i same print()-kall ved å skilje dei med komma.

📝Oppgave 1

Kva for eitt av desse er eit gyldig variabelnamn i Python?

Datatypar i Python

Ein datatype angir kva slags data ein variabel inneheld. Python har fleire innebygde datatypar:

DatatypePython-namnDømeBruksområde
Heiltalint42, -7, 0Teljing, indeksar
Desimaltalfloat3.14, -0.5, 2.0Målingar, utrekningar
Tekst (streng)str"Hei", 'Python'Tekst, namn, beskjedar
BoolskboolTrue, FalseSanningsverdiar, vilkår

Python er dynamisk typa – du treng ikkje oppgi datatype eksplisitt. Python finn ut typen automatisk ut frå verdien du tilordnar:
antall = 10          # int
temperatur = 22.5    # float
navn = "Ola"         # str
er_varm = True       # bool
Du kan sjekke typen til ein variabel med funksjonen type():
print(type(antall))       # <class 'int'>
print(type(temperatur))   # <class 'float'>

Typekonvertering

Nokre gonger treng du å konvertere mellom datatypar. Dei vanlegaste konverteringsfunksjonane er:

heltall = int(3.7)        # Gir 3 (kutter desimalene)
desimal = float(5)        # Gir 5.0
tekst = str(42)           # Gir "42"
tall = int("17")          # Gir 17

Typekonvertering er spesielt viktig når vi brukar input()-funksjonen, fordi han alltid returnerer ein streng – sjølv om brukaren skriv inn eit tal:

alder_tekst = input("Hvor gammel er du? ")  # Returnerer streng
alder = int(alder_tekst)                     # Konverterer til heltall
print("Om 10 år er du", alder + 10)

Dersom du prøver å konvertere noko som ikkje gir meining, f.eks. int("hei"), får du ei feilmelding (ValueError).

✏️Døme: Temperaturomrekning

Skriv eit program som ber brukaren om ein temperatur i Celsius og reknar om til Fahrenheit. Formelen er F=C1,8+32F = C \cdot 1{,}8 + 32.

celsius_tekst = input("Skriv inn temperatur i Celsius: ")
celsius = float(celsius_tekst)

fahrenheit = celsius * 1.8 + 32

print(celsius, "°C tilsvarer", fahrenheit, "°F")

Eksempelkjøring:

Skriv inn temperatur i Celsius: 25
25.0 °C tilsvarer 77.0 °F

Vi brukar float() for å konvertere tekst-inputen til eit desimaltal. Deretter brukar vi formelen for omrekning og skriv ut resultatet.

📝Oppgave 2

Kva blir resultatet av type(3.14) i Python?

Aritmetiske operatorar
Operatorar blir brukte til å utføre utrekningar og samanlikningar. Dei vanlegaste aritmetiske operatorane i Python er:

OperatorTydingDømeResultat
+Addisjon7 + 310
-Subtraksjon7 - 34
*Multiplikasjon7 * 321
/Divisjon7 / 32.3333...
//Heiltalsdivisjon7 // 32
%Modulo (rest)7 % 31
**Potens2 ** 38

Operatorpresedens (reknerekkjefølgje): Potens → Multiplikasjon/Divisjon → Addisjon/Subtraksjon. Bruk parentesar for å endre rekkjefølgja:
resultat = 2 + 3 * 4      # Gir 14 (multiplikasjon først)
resultat = (2 + 3) * 4    # Gir 20 (parentesen først)

Operatorar for strengar

Nokre operatorar fungerer òg på tekststrengar:

fornavn = "Ola"
etternavn = "Nordmann"

fullt_navn = fornavn + " " + etternavn    # Sammenslåing (konkatenering)
print(fullt_navn)   # Ola Nordmann

linje = "-" * 20    # Repetisjon
print(linje)        # --------------------

f-strengar er ein praktisk måte å setje inn variablar i tekst på:

temperatur = 22.5
sted = "Oslo"
print(f"Temperaturen i {sted} er {temperatur} grader.")
# Skriver ut: Temperaturen i Oslo er 22.5 grader.

Du kan òg formatere tal inne i f-strengar. For å vise desimaltal med eit bestemt tal på desimalar brukar du kolon og formatkode:

pi = 3.14159265
print(f"Pi avrundet: {pi:.2f}")  # Pi avrundet: 3.14
✏️Døme: Utrekning av gjennomsnitt

Skriv eit program som reknar ut gjennomsnittstemperaturen frå tre målingar: 18.3 °C, 21.7 °C og 19.5 °C.

maling_1 = 18.3
maling_2 = 21.7
maling_3 = 19.5

gjennomsnitt = (maling_1 + maling_2 + maling_3) / 3

print(f"Måling 1: {maling_1} °C")
print(f"Måling 2: {maling_2} °C")
print(f"Måling 3: {maling_3} °C")
print(f"Gjennomsnitt: {gjennomsnitt:.1f} °C")

Utskrift:

Måling 1: 18.3 °C
Måling 2: 21.7 °C
Måling 3: 19.5 °C
Gjennomsnitt: 19.8 °C

Vi brukar parentesar for å sikre at summen blir rekna ut før divisjonen, og :.1f i f-strengen for å vise gjennomsnittet med éin desimal.

📝Oppgave 3

Kva blir resultatet av 17 % 5 i Python?

Oppsummering – Grunnleggjande programmering

I dette kapittelet har du lært dei mest grunnleggjande byggjesteinane i Python:

KonseptForklaringDøme
VariabelNamngitt lagringsplass for verdiartemperatur = 22.5
Datatyparint, float, str, booltype(3.14) → float
Operatorar+, -, , /, //, %, 2 ** 3 → 8
PrintSkriv ut til skjermenprint("Hei")
InputLes inn frå brukareninput("Skriv: ")
f-strengarFormatert tekst med variablarf"Temp: {t:.1f}"

Viktige prinsipp:*
- Bruk skildrande variabelnamn (snake_case)
- Hugs å konvertere input til rett datatype
- Bruk parentesar for å styre reknerekkjefølgja
- Kommentarar med # gjer koden lesbar for andre
📝Oppgave 4

Skriv eit Python-program som ber brukaren om lengd og breidd på eit rektangel (i cm), og deretter reknar ut og skriv ut både arealet og omkrinsen. Bruk f-strengar til å formatere utskrifta pent, med éin desimal.

📝Oppgave 5

Skriv eit Python-program som konverterer ei tid oppgitt i sekund til timar, minutt og sekund. Programmet skal be brukaren om talet på sekund og skrive ut resultatet i formatet «X timar, Y minutt og Z sekund». Bruk heiltalsdivisjon (//) og modulo (%).

Dette kapitlet er skrevet av Anthropics toppmodeller (Claude Opus og Claude Fable) og er foreløpig ikke manuelt gjennomgått — kvalitetskontrollen gjøres av uavhengige KI-agenter, og innmeldte feil rettes fortløpende. Funnet en feil? Meld fra, så retter vi den. Les mer om hvordan innholdet lages.