Tilbake
2.1
Hva er programmering?

2.1 Hva er programmering?

Lær hva programmering er, kompilerte vs. tolkede språk, og skriv ditt første Python-program.

45 min
8 oppgaver
ProgrammeringProgrammeringsspråkKompileringIDE
Du leser den tradisjonelle versjonen
Din fremgang i kapitlet
0 / 8 oppgaver

Kva er programmering?

Tenk deg at du skal forklare ei oppgåve til nokon som tek alt heilt bokstaveleg. Du kan ikkje seie «rydd rommet» og forvente at personen forstår kva du meiner. Du må gi eksakte instruksjonar: «Plukk opp sokkane frå golvet. Legg dei i skittentøykorga. Ta bøkene frå senga. Set dei i bokhylla.» Programmering fungerer på nøyaktig same måte. Du skriv presise, steg-for-steg-instruksjonar som datamaskina følgjer slavisk.

Programmering er ei av dei viktigaste ferdigheitene du kan lære i informasjonsteknologi. Det handlar ikkje berre om å lage appar og spel, men om ein måte å tenkje på. Når du lærer å programmere, lærer du å bryte ned komplekse problem i handterbare delar, og å formulere løysingar på ein logisk og systematisk måte. Denne evna til å tenkje strukturert og analytisk, ofte kalla algoritmisk tenking, er nyttig langt utover programmering.

I dette kapittelet skal du få ei innføring i kva programmering eigentleg er, kva typar programmeringsspråk som finst, og korleis du set opp verktøya du treng for å skrive ditt aller første program. Vi brukar programmeringsspråket Python, som er eitt av dei mest populære og nybyrjarvennlege språka i verda.

Programmering

Programmering er prosessen med å skrive instruksjonar, kalla kode, som ei datamaskin kan forstå og utføre. Desse instruksjonane blir skrivne i eit programmeringsspråk og utgjer til saman eit program. Programmering inneber å analysere eit problem, designe ei løysing (ein algoritme), implementere løysinga i kode, og teste at ho fungerer som forventa. Det er ein kreativ prosess som kombinerer logisk tenking med problemløysing.

Programmeringsspråk

Eit programmeringsspråk er eit formelt språk som lèt oss kommunisere med datamaskina. Akkurat som norsk har grammatikk og reglar for setningsoppbygging, har programmeringsspråk reglar for syntaks (korleis koden skal skrivast) og semantikk (kva koden tyder).

Det finst hundrevis av programmeringsspråk, og dei blir brukte til ulike føremål:

- Python - Allsidig og nybyrjarvennleg. Blir brukt til dataanalyse, kunstig intelligens, webutvikling og mykje meir. Dette er språket vi brukar i dette kurset.
- JavaScript - Blir brukt til å lage interaktive nettsider og webapplikasjonar. Køyrer direkte i nettlesaren.
- Java - Populært i store bedriftssystem og Android-appar. Kjent for å vere plattformuavhengig.
- C++ - Blir brukt der yting er kritisk, som i spel, operativsystem og innebygde system.
- C# - Mykje brukt i spelutvikling (Unity) og Windows-applikasjonar.
- Swift - Apples språk for utvikling av iOS- og macOS-appar.

Kvart språk har sine styrkar og veikskapar. Valet av språk er avhengig av kva du skal lage, kva plattform du utviklar for, og kva verktøy og bibliotek som er tilgjengelege. Python er eit utmerkt startspråk fordi det har ein enkel og lesbar syntaks som liknar naturleg engelsk.

Kompilering vs. tolking

Datamaskiner forstår berre maskinkode (binære nullar og einarar). Difor må kjeldekoden vi skriv i eit programmeringsspråk omsetjast til maskinkode. Det finst to hovudmetodar for denne omsetjinga: kompilering og tolking. Ved kompilering blir heile programmet omsett til maskinkode på éin gong, og resultatet blir lagra som ei køyrbar fil. Ved tolking blir koden lesen og køyrt linje for linje av eit tolkprogram (interpreter). Nokre språk, som Java, brukar ein kombinasjon der koden først blir kompilert til ein mellomkode (bytekode) som deretter blir tolka.

Kompilering og tolking i praksis

Skilnaden mellom kompilering og tolking er viktig å forstå, fordi han påverkar korleis du jobbar med eit språk.

Kompilerte språk (t.d. C++, Go, Rust)

Når du skriv eit program i eit kompilert språk, brukar du eit verktøy kalla ein kompilator for å omsetje heile kjeldekoden til ei køyrbar fil med maskinkode. Denne fila kan deretter køyrast direkte av operativsystemet, utan at du treng kompilatoren lenger. Fordelen er at programmet køyrer raskt fordi maskinkoden er optimalisert. Ulempa er at du må kompilere koden på nytt kvar gong du gjer ei endring, og den kompilerte fila fungerer berre på den plattforma ho blei kompilert for.

Tolka språk (t.d. Python, JavaScript, Ruby)

Når du skriv eit program i eit tolka språk, brukar du eit tolkprogram (interpreter) som les kjeldekoden linje for linje, omset han og køyrer han med ein gong. Du treng ikkje å kompilere først, noko som gjer utviklingsprosessen raskare. Ulempa er at program i tolka språk ofte køyrer litt saktare enn kompilerte program, fordi omsetjinga skjer medan programmet køyrer.

Python er eit tolka språk. Det tyder at du kan skrive ei linje kode og sjå resultatet med ein gong. Dette gjer det til eit utmerkt språk for å lære programmering, fordi du får umiddelbar tilbakemelding på koden din.

Samanlikning:

EigenskapKompilerte språkTolka språk
OmsetjingHeile programmet på éin gongLinje for linje
FartRaskare køyringLitt tregare køyring
UtviklingMå kompilere mellom endringarKøyrer med ein gong
FeilmeldingarVisast ved kompileringVisast ved køyring
DømeC++, Go, RustPython, JavaScript, Ruby

Kva er ein IDE?

For å skrive kode treng du eit verktøy. Du kan i teorien skrive kode i eit kva som helst tekstredigeringsprogram, som Notisblokk, men det er som å prøve å byggje eit hus med berre ein hammar. Eit integrert utviklingsmiljø (IDE) gir deg alle verktøya du treng samla på éin stad.

Ein god IDE tilbyr:

- Kodeeditor med syntaksfarging (ulike delar av koden får ulike fargar, noko som gjer koden lettare å lese)
- Autofullføring som foreslår kode medan du skriv, slik at du slepp å hugse alle kommandoar
- Feilmarkering som understrekar feil i koden din før du køyrer han
- Køyremiljø slik at du kan køyre programmet ditt direkte i editoren
- Debugger som hjelper deg å finne og rette feil i koden

Populære verktøy for Python:

- VS Code (Visual Studio Code) - Gratis og svært populær kodeeditor frå Microsoft. Støttar mange språk via utvidingar. Tilrådd for dette kurset.
- Thonny - Enkel IDE designa spesielt for Python-nybyrjarar. Lett å installere og bruke.
- PyCharm - Avansert IDE spesielt for Python. Community-utgåva er gratis.
- Replit - Nettbasert kodeeditor som ikkje krev installasjon. Fungerer direkte i nettlesaren.

For dette kurset tilrår vi å installere VS Code og Python-utvidinga, eller å bruke Thonny dersom du vil ha ein enklare start. Du kan òg bruke Replit i nettlesaren dersom du ikkje har høve til å installere programvare.

Ditt første Python-program

Tradisjonen i programmering er at det første programmet du skriv i eit nytt språk berre skal skrive ut teksten "Hello, World!" på skjermen. Lat oss følgje denne tradisjonen.

Opne IDE-en din (VS Code, Thonny eller Replit), lag ei ny fil med namnet hei.py, og skriv følgjande kode:

print("Hei, verden!")

Køyr programmet. Du skal sjå teksten Hei, verden! på skjermen. Gratulerer, du har skrive ditt første program!

Lat oss bryte ned kva som skjer:

1. print er ein innebygd funksjon i Python som skriv ut tekst på skjermen.
2. Parentesane () fortel Python at vi kallar (brukar) funksjonen.
3. "Hei, verden!" er ein tekststreng (string) som vi sender til print-funksjonen. Teksten må stå i hermeteikn.

Du kan òg skrive ut fleire ting:

print("Hei, verden!")
print("Jeg heter Python.")
print("Jeg er et programmeringsspråk.")

Køyring gir:

Hei, verden!
Jeg heter Python.
Jeg er et programmeringsspråk.

Kvar print-setning skriv ut teksten sin på ei ny linje. Python køyrer instruksjonane frå topp til botn, éi linje om gongen.

✏️Eit program med fleire print-setningar

Skriv eit program som presenterer deg sjølv med namn, alder og favorittfag.

print("=== Min presentasjon ===")
print("Navn: Sara")
print("Alder: 17 år")
print("Favorittfag: IT 1")
print("========================")

Køyring gir:

=== Min presentasjon ===
Navn: Sara
Alder: 17 år
Favorittfag: IT 1
========================

Her ser vi at vi kan bruke print() til å skrive ut kva vi vil. Likskapsteikna blir berre brukte for å lage ei visuell ramme rundt presentasjonen. Python bryr seg ikkje om innhaldet i tekststrengen, han skriv berre ut det som står mellom hermeteikna.

Kommentarar

Kommentarar er tekst i koden som Python ignorerer fullstendig. Dei er skrivne for menneske, ikkje for datamaskina. Kommentarar blir brukte til å forklare kva koden gjer, og er spesielt nyttige når du jobbar i team eller når du skal sjå på koden din igjen seinare.

I Python lagar du ein kommentar med #-teiknet:

# Dette er en kommentar - Python ignorerer denne linjen
print("Hei!")  # Kommentar kan også stå etter kode

# Du kan bruke kommentarer for å forklare hva koden gjør:
# Beregn arealet av en sirkel
radius = 5
areal = 3.14 * radius * radius
print(areal)  # Skriver ut 78.5

Gode vanar for kommentering:
- Kommenter kvifor du gjer noko, ikkje berre kva du gjer
- Hald kommentarane oppdaterte når du endrar koden
- Skriv kommentarar på norsk eller engelsk, men ver konsekvent
- Ikkje overkommenter openberr kode (som x = 5 # Sett x til 5)

Algoritme

Ein algoritme er ei presis, trinnvis skildring av korleis eit problem skal løysast. Tenk på det som ei oppskrift: ho skildrar nøyaktig kva steg som skal utførast, i kva rekkjefølgje, for å nå eit bestemt resultat. Før du byrjar å skrive kode, bør du alltid tenkje gjennom algoritmen først. Du kan skildre algoritmen i vanleg norsk, som ei punktliste, i eit flytdiagram, eller i pseudokode (ein forenkla versjon av programmeringsspråk). Alle program er implementasjonar av algoritmar.

✏️Frå algoritme til program

Lag ein algoritme og eit program som reknar ut gjennomsnittet av tre tal.

Algoritme (i naturleg språk):
1. Vel tre tal
2. Legg tala saman for å få summen
3. Del summen på 3 for å få gjennomsnittet
4. Vis resultatet

Implementasjon i Python:

# Beregn gjennomsnittet av tre tall
tall1 = 8
tall2 = 15
tall3 = 4

# Beregn summen
summen = tall1 + tall2 + tall3

# Beregn gjennomsnittet
gjennomsnitt = summen / 3

# Vis resultatet
print("Tallene er:", tall1, tall2, tall3)
print("Summen er:", summen)
print("Gjennomsnittet er:", gjennomsnitt)

Køyring gir:

Tallene er: 8 15 4
Summen er: 27
Gjennomsnittet er: 9.0

Legg merke til at vi først skreiv algoritmen på vanleg norsk, og deretter omsette kvart steg til Python-kode. Kommentarane i koden speglar stega i algoritmen. Resultatet 9.0 (med desimal) kjem av at Python brukar desimaldivisjon som standard.

Oppsummering

I dette kapittelet har du lært:

- Programmering: å skrive kode en datamaskin kan utføre.
- Kompilering vs. tolkning: oversettelse til maskinkode før eller under kjoering.
- IDE: utviklingsmiljø for å skrive og kjoere kode.
- Python-grunnlag: print() og kommentarer.
- Algoritme: presis, trinnvis beskrivelse av en løsning.

Noekkelbegreper


BegrepForklaring
ProgrammeringÅ skrive instruksjoner (kode) for en datamaskin
KompileringHele koden oversettes til maskinkode før kjoering
TolkningKoden oversettes linje for linje under kjoering
AlgoritmePresis trinnvis beskrivelse av en løsning

Oppgaver

Lett3 oppgaver
Medium3 oppgaver
Vanskelig2 oppgaver

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.