Algoritmer, pseudokode, flytdiagram og programmeringsmiljø.
Grunnleggende programmering
Programmering handler om å gi presise instruksjoner til en datamaskin. I teknologi og forskningslære bruker vi programmering til å samle inn data fra sensorer, analysere måleresultater, styre elektroniske kretser og automatisere prosesser.
I dette kapittelet lærer du det aller mest grunnleggende: hvordan du lagrer informasjon i variabler, hvilke datatyper som finnes, hvordan du bruker operatorer til å utføre beregninger, og hvordan du kommuniserer med brukeren gjennom input og print. Vi bruker programmeringsspråket Python, som er mye brukt i forskning, datavitenskap og teknologiutvikling.
Etter dette kapittelet vil du kunne skrive enkle programmer som tar inn data, gjør beregninger og presenterer resultater.
En variabel er et navn som refererer til en verdi som er lagret i datamaskinens minne. Du kan tenke på en variabel som en merket boks der du legger informasjon.
I Python oppretter vi en variabel ved å gi den et navn og en verdi med tilordningsoperatoren =:
navn = "Kari"
alder = 17
temperatur = 22.5Regler for variabelnavn i Python:
- Må starte med en bokstav eller understrek (_)
- Kan inneholde bokstaver, tall og understrek
- Kan ikke inneholde mellomrom eller spesialtegn
- Er versalfølsomme (Temperatur og temperatur er ulike variabler)
- Bør bruke beskrivende navn som forklarer hva variabelen inneholder
Tips: Bruk snake_case (små bokstaver med understrek) for variabelnavn i Python, f.eks. maks_temperatur og antall_malinger.
Variabler i praksis
Variabler kan endres underveis i programmet – derav navnet «variabel». Du kan tildele en ny verdi til en eksisterende variabel:
temperatur = 20.0 # Oppretter variabelen
print(temperatur) # Skriver ut: 20.0
temperatur = 23.5 # Endrer verdien
print(temperatur) # Skriver ut: 23.5Du kan også bruke verdien i en variabel til å beregne en ny verdi:
radius = 5.0
areal = 3.14159 * radius * radius
print(areal) # Skriver ut: 78.53975Det er viktig å forstå at = i Python ikke betyr «er lik» slik det gjør i matematikk. Det betyr «tilordne verdien til høyre til variabelen til venstre». Uttrykket x = x + 1 er helt lovlig i Python – det betyr «ta den nåværende verdien av x, legg til 1, og lagre resultatet tilbake i x».
Skriv et Python-program som beregner arealet av en sirkel med radius 7,0 cm og skriver 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 lagrer radius og pi som variabler, beregner arealet med formelen , og skriver ut resultatet med print(). Legg merke til at vi kan skrive ut flere verdier i samme print()-kall ved å skille dem med komma.
Hvilket av disse er et gyldig variabelnavn i Python?
En datatype angir hva slags data en variabel inneholder. Python har flere innebygde datatyper:
| Datatype | Python-navn | Eksempel | Bruksområde |
|---|---|---|---|
| Heltall | int | 42, -7, 0 | Telling, indekser |
| Desimaltall | float | 3.14, -0.5, 2.0 | Målinger, beregninger |
| Tekst (streng) | str | "Hei", 'Python' | Tekst, navn, beskjeder |
| Boolsk | bool | True, False | Sannhetsverdier, betingelser |
Python er dynamisk typet – du trenger ikke oppgi datatype eksplisitt. Python finner ut typen automatisk ut fra verdien du tilordner:
antall = 10 # int
temperatur = 22.5 # float
navn = "Ola" # str
er_varm = True # boolDu kan sjekke typen til en variabel med funksjonen type():print(type(antall)) # <class 'int'>
print(type(temperatur)) # <class 'float'>Typekonvertering
Noen ganger trenger du å konvertere mellom datatyper. De vanligste konverteringsfunksjonene er:
heltall = int(3.7) # Gir 3 (kutter desimalene)
desimal = float(5) # Gir 5.0
tekst = str(42) # Gir "42"
tall = int("17") # Gir 17Typekonvertering er spesielt viktig når vi bruker input()-funksjonen, fordi den alltid returnerer en streng – selv om brukeren skriver inn et tall:
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 noe som ikke gir mening, f.eks. int("hei"), får du en feilmelding (ValueError).
Skriv et program som ber brukeren om en temperatur i Celsius og regner om til Fahrenheit. Formelen er .
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 °FVi bruker float() for å konvertere tekst-inputen til et desimaltall. Deretter bruker vi formelen for omregning og skriver ut resultatet.
Hva blir resultatet av type(3.14) i Python?
| Operator | Betydning | Eksempel | Resultat |
|---|---|---|---|
+ | Addisjon | 7 + 3 | 10 |
- | Subtraksjon | 7 - 3 | 4 |
* | Multiplikasjon | 7 * 3 | 21 |
/ | Divisjon | 7 / 3 | 2.3333... |
// | Heltallsdivisjon | 7 // 3 | 2 |
% | Modulo (rest) | 7 % 3 | 1 |
** | Potens | 2 ** 3 | 8 |
Operatorpresedens (regnerekkefølge): Potens → Multiplikasjon/Divisjon → Addisjon/Subtraksjon. Bruk parenteser for å endre rekkefølgen:
resultat = 2 + 3 * 4 # Gir 14 (multiplikasjon først)
resultat = (2 + 3) * 4 # Gir 20 (parentesen først)Operatorer for strenger
Noen operatorer fungerer også på tekststrenger:
fornavn = "Ola"
etternavn = "Nordmann"
fullt_navn = fornavn + " " + etternavn # Sammenslåing (konkatenering)
print(fullt_navn) # Ola Nordmann
linje = "-" * 20 # Repetisjon
print(linje) # --------------------f-strenger er en praktisk måte å sette inn variabler i tekst:
temperatur = 22.5
sted = "Oslo"
print(f"Temperaturen i {sted} er {temperatur} grader.")
# Skriver ut: Temperaturen i Oslo er 22.5 grader.Du kan også formatere tall inne i f-strenger. For å vise desimaltall med et bestemt antall desimaler bruker du kolon og formatkode:
pi = 3.14159265
print(f"Pi avrundet: {pi:.2f}") # Pi avrundet: 3.14Skriv et program som beregner gjennomsnittstemperaturen fra tre målinger: 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 °CVi bruker parenteser for å sikre at summen beregnes før divisjonen, og :.1f i f-strengen for å vise gjennomsnittet med én desimal.
Hva blir resultatet av 17 % 5 i Python?
De to viktigste funksjonene for kommunikasjon med brukeren er:
print() – skriver ut tekst og verdier til skjermen:
print("Hei, verden!")
print("Svaret er:", 42)
print(f"Verdien er {variabel}")input() – ber brukeren om å skrive inn noe:
svar = input("Skriv noe: ") # Returnerer alltid en streng
tall = float(input("Skriv et tall: ")) # Konverterer direkte til floatHusk at input() alltid gir en streng. Hvis du trenger et tall, må du konvertere med int() eller float().
Oppsummering – Grunnleggende programmering
I dette kapittelet har du lært de mest grunnleggende byggesteinene i Python:
| Konsept | Forklaring | Eksempel |
|---|---|---|
| Variabel | Navngitt lagringsplass for verdier | temperatur = 22.5 |
| Datatyper | int, float, str, bool | type(3.14) → float |
| Operatorer | +, -, , /, //, %, | 2 ** 3 → 8 |
| Skriv ut til skjermen | print("Hei") | |
| Input | Les inn fra brukeren | input("Skriv: ") |
| f-strenger | Formatert tekst med variabler | f"Temp: {t:.1f}" |
Viktige prinsipper:*
- Bruk beskrivende variabelnavn (snake_case)
- Husk å konvertere input til riktig datatype
- Bruk parenteser for å styre regnerekkefølgen
- Kommentarer med
# gjør koden lesbar for andreSkriv et Python-program som ber brukeren om lengde og bredde på et rektangel (i cm), og deretter beregner og skriver ut både arealet og omkretsen. Bruk f-strenger til å formatere utskriften pent, med én desimal.
Skriv et Python-program som konverterer en tid oppgitt i sekunder til timer, minutter og sekunder. Programmet skal be brukeren om antall sekunder og skrive ut resultatet i formatet «X timer, Y minutter og Z sekunder». Bruk heltallsdivisjon (//) 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.