Abstraktion
Informatik C · STX · C-niveau · Computational thinking
💻 Abstraktion
Abstraktion = en af computational thinking's 4 søjler.
Definition: skabe forenklede modeller af komplekse systemer ved at IGNORERE irrelevante detaljer.
Hovedidé: fokuser på ESSENSEN, skjul kompleksiteten.
Eksempler — hverdagsliv: Metro-kort (København) — abstraktion af gader, bygninger, geografi → kun stationer + linjer. Sammenfatning af bog — abstraherer 300 sider til 1 side.
Eksempler — programmering:
1. Funktioner abstraherer kode: i stedet for at skrive 50 linjer hver gang, kald print(x).
2. Klasser/objekter abstraherer data + adfærd: class Bil med metoder start(), stop() — bruger behøver ikke vide hvordan motoren virker.
3. API'er abstraherer system: requests.get(url) skjuler TCP/IP, DNS, HTTP.
4.
Variabler + datatyper: int alder = 16 — abstraktion fra binær 0010000.
Layered abstraction — computer: hardware (transistorer) → assembler → C → Python. Hvert lag abstraherer det nedenunder.
Designprincipper:
- (a) DRY (Don't Repeat Yourself) — abstrahér gentaget kode til funktion.
- (b) Encapsulation — skjul interne detaljer, vis kun interface.
- (c) Information hiding (David Parnas 1972) — moduler eksponerer kun det nødvendige.
Anti-mønster: leaky abstraction (Joel Spolsky) — når abstraktionen lækker detaljer (TCP virker indtil pakker tabes — pludselig skal du forstå netværk).
Skole-eksempel: lav funktion bmi(vægt, højde) der returnerer BMI. Brugeren kalder uden at vide formlen vægt/højde². *
Læringsmål
- Anvende dekomposition (opdele problemer)
- Identificere mønstergenkendelse og abstraktion
- Skrive pseudokode og flowcharts
- Anvende lineær og binær søgning
- Anvende sortering (boble, indsættelse)
Sådan kan du arbejde med emnet
- Beskriv, hvad abstraktion er i programmering, og giv et eksempel på en funktion som abstraktion
- Forklar, hvad der er forskellen på konkret og abstrakt kode med et eksempel
- Diskutér, hvad der er fordelen ved at tænke abstrakt frem for specifikt, når du løser problemer
Arbejd iterativt med prototyper og dokumentation. Test, evaluér og dokumentér.
Øv dette emne med AI — quizzer, forklaringer og feedback tilpasset dit niveau.
Prøv Fagportalen gratis