Algoritmer, pseudokode, flytdiagram og programmeringsmiljø.
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.
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.5Reglar 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.5Du 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.53975Det 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».
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 , 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.
Kva for eitt av desse er eit gyldig variabelnamn i Python?
Ein datatype angir kva slags data ein variabel inneheld. Python har fleire innebygde datatypar:
| Datatype | Python-namn | Døme | Bruksområde |
|---|---|---|---|
| Heiltal | int | 42, -7, 0 | Teljing, indeksar |
| Desimaltal | float | 3.14, -0.5, 2.0 | Målingar, utrekningar |
| Tekst (streng) | str | "Hei", 'Python' | Tekst, namn, beskjedar |
| Boolsk | bool | True, False | Sanningsverdiar, 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 # boolDu 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 17Typekonvertering 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).
Skriv eit program som ber brukaren om ein temperatur i Celsius og reknar 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 brukar float() for å konvertere tekst-inputen til eit desimaltal. Deretter brukar vi formelen for omrekning og skriv ut resultatet.
Kva blir resultatet av type(3.14) i Python?
| Operator | Tyding | Døme | Resultat |
|---|---|---|---|
+ | Addisjon | 7 + 3 | 10 |
- | Subtraksjon | 7 - 3 | 4 |
* | Multiplikasjon | 7 * 3 | 21 |
/ | Divisjon | 7 / 3 | 2.3333... |
// | Heiltalsdivisjon | 7 // 3 | 2 |
% | Modulo (rest) | 7 % 3 | 1 |
** | Potens | 2 ** 3 | 8 |
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.14Skriv 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 °CVi brukar parentesar for å sikre at summen blir rekna ut før divisjonen, og :.1f i f-strengen for å vise gjennomsnittet med éin desimal.
Kva blir resultatet av 17 % 5 i Python?
Dei to viktigaste funksjonane for kommunikasjon med brukaren er:
print() – skriv ut tekst og verdiar til skjermen:
print("Hei, verden!")
print("Svaret er:", 42)
print(f"Verdien er {variabel}")input() – ber brukaren om å skrive inn noko:
svar = input("Skriv noe: ") # Returnerer alltid en streng
tall = float(input("Skriv et tall: ")) # Konverterer direkte til floatHugs at input() alltid gir ein streng. Dersom du treng eit tal, må du konvertere med int() eller float().
Oppsummering – Grunnleggjande programmering
I dette kapittelet har du lært dei mest grunnleggjande byggjesteinane i Python:
| Konsept | Forklaring | Døme |
|---|---|---|
| Variabel | Namngitt lagringsplass for verdiar | temperatur = 22.5 |
| Datatypar | int, float, str, bool | type(3.14) → float |
| Operatorar | +, -, , /, //, %, | 2 ** 3 → 8 |
| Skriv ut til skjermen | print("Hei") | |
| Input | Les inn frå brukaren | input("Skriv: ") |
| f-strengar | Formatert tekst med variablar | f"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 andreSkriv 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.
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.