bits - imada.sdu.dkrolf/edu/dm534/e12/bitslides.pdf · resume af sidst i overblik over kursus i...

28
Bits DM534 Rolf Fagerberg, 2012

Upload: others

Post on 14-Jun-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Bits

DM534

Rolf Fagerberg, 2012

Page 2: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Resume af sidst

I Overblik over kursus

I Introduktion. Tre pointer:I Datalogi er menneskeskabt og dynamisk. Tidslinie over fremskridt

mht. ideer og hardware.I Algoritme er et centralt begreb i datalogi.I Abstraktion er et stærkt værktøj.

Page 3: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Algoritmer

Algoritme = sekvens af operationer pa en virtuel maskine.

Virtuel maskine = Samling af veldefinerede operationer (handlinger).

Eksempler:

I Rutevejledning.

I Madopskrift.

I Strikkeopskrift.

I Noder.

I Origami-instruktioner.

I Samlevejledning for IKEA-møbler.

I Computerprogram.

Page 4: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Algoritmer

Algoritme = sekvens af operationer pa en virtuel maskine.

Virtuel maskine = Samling af veldefinerede operationer (handlinger).

Eksempler:

I Rutevejledning.

I Madopskrift.

I Strikkeopskrift.

I Noder.

I Origami-instruktioner.

I Samlevejledning for IKEA-møbler.

I Computerprogram.

Page 5: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Algoritmer

En algoritme skal beskrive en løsningsmetode. Med til formalet tilpaspræcision.

Program nar det skal læses af en computer.

Andre metoder nar mennesker skal læse. Udelad detaljer, som kan tilføjesuden problemer senere (en vurderingssag), beskriv essensen iløsningsmetoden.

Een mulighed: pseudokode.

Pseudokode = grundelementerne fra programmeringssprog (while,if-then-else, for, tildeling,. . . ), minus streng grammatik, plus fri tekst.

Page 6: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Algoritmer

En algoritme skal beskrive en løsningsmetode. Med til formalet tilpaspræcision.

Program nar det skal læses af en computer.

Andre metoder nar mennesker skal læse. Udelad detaljer, som kan tilføjesuden problemer senere (en vurderingssag), beskriv essensen iløsningsmetoden.

Een mulighed: pseudokode.

Pseudokode = grundelementerne fra programmeringssprog (while,if-then-else, for, tildeling,. . . ), minus streng grammatik, plus fri tekst.

Page 7: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Algoritmer

En algoritme skal beskrive en løsningsmetode. Med til formalet tilpaspræcision.

Program nar det skal læses af en computer.

Andre metoder nar mennesker skal læse. Udelad detaljer, som kan tilføjesuden problemer senere (en vurderingssag), beskriv essensen iløsningsmetoden.

Een mulighed: pseudokode.

Pseudokode = grundelementerne fra programmeringssprog (while,if-then-else, for, tildeling,. . . ), minus streng grammatik, plus fri tekst.

Page 8: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Algoritmer

Eksempel: korttrick.

Eksempel: Euklids algoritme for største fælles divisor af to heltal M og N.

M = største talN = mindste talwhile N ikke gar op i M:

R = rest ved division af M med N.M = NN = R

returner N

I Stopper?

I Hvor hurtigt?

I Svarer korrekt?

Page 9: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Algoritmer

Eksempel: korttrick.

Eksempel: Euklids algoritme for største fælles divisor af to heltal M og N.

M = største talN = mindste talwhile N ikke gar op i M:

R = rest ved division af M med N.M = NN = R

returner N

I Stopper?

I Hvor hurtigt?

I Svarer korrekt?

Page 10: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Algoritmer

Eksempel: korttrick.

Eksempel: Euklids algoritme for største fælles divisor af to heltal M og N.

M = største talN = mindste talwhile N ikke gar op i M:

R = rest ved division af M med N.M = NN = R

returner N

I Stopper?

I Hvor hurtigt?

I Svarer korrekt?

Page 11: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Algoritmer

Eksempel: korttrick.

Eksempel: Euklids algoritme for største fælles divisor af to heltal M og N.

M = største talN = mindste talwhile N ikke gar op i M:

R = rest ved division af M med N.M = NN = R

returner N

I Stopper?

I Hvor hurtigt?

I Svarer korrekt?

Page 12: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

Eksempel: Byg større ting af mindre ting.

Data↓

Hardware↓

Operativsystem↓

Programmer↓

Systemer

Page 13: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

Eksempel: Byg større ting af mindre ting.

Transistorer↓

Gates↓

Circuits↓

CPU/GPU/. . .

De underliggende tings virkemade behøves ikke kendes, kun deres ydrevirkemade.

Page 14: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

Eksempel: Byg større ting af mindre ting.

Transistorer↓

Gates↓

Circuits↓

CPU/GPU/. . .

De underliggende tings virkemade behøves ikke kendes, kun deres ydrevirkemade.

Page 15: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

De underliggende tings virkemade behøves ikke kendes, kun deres ydrevirkemade.

Interface, modularisering, modellering giver:

I Struktur pa konstruktionen.

I Uafhængighed mellem de enkelte dele (disse kan re-implementeresuden at resten skal ændres).

I Analyserbarhed.

I Øget innovation/fremskridt/produktivitet (“sta pa skuldrene afgiganter”).

Gennemgaende tema i datalogi

Page 16: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

De underliggende tings virkemade behøves ikke kendes, kun deres ydrevirkemade.

Interface, modularisering, modellering giver:

I Struktur pa konstruktionen.

I Uafhængighed mellem de enkelte dele (disse kan re-implementeresuden at resten skal ændres).

I Analyserbarhed.

I Øget innovation/fremskridt/produktivitet (“sta pa skuldrene afgiganter”).

Gennemgaende tema i datalogi

Page 17: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

De underliggende tings virkemade behøves ikke kendes, kun deres ydrevirkemade.

Interface, modularisering, modellering giver:

I Struktur pa konstruktionen.

I Uafhængighed mellem de enkelte dele (disse kan re-implementeresuden at resten skal ændres).

I Analyserbarhed.

I Øget innovation/fremskridt/produktivitet (“sta pa skuldrene afgiganter”).

Gennemgaende tema i datalogi

Page 18: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

Modeller tillader at fokusere pa det væsentlige.

Eksempel: Vejkort og repræsentation som graf.

Page 19: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

Modeller tillader at fokusere pa det væsentlige.

Eksempel: Vejkort og repræsentation som graf.

Page 20: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

Modeller tillader at fokusere pa det væsentlige.

Eksempel: Vejkort og repræsentation som graf.

Page 21: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

Modeller tillader at fokusere pa det væsentlige.

Eksempel: Vejkort og repræsentation som graf.

Page 22: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Abstraktion

Modeller tillader at fokusere pa det væsentlige.

Eksempel: Vejkort og repræsentation som graf.

Page 23: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Bits

Bit = 0 eller 1.

Fundamental dataenhed.

Samles ofte i større grupper. Eg. 8 bits = 1 byte.

Behov for at manipulere/ændre og for at gemme.

Page 24: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Manipulere bits

Page 25: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Gemme bits

Page 26: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Gemme bits

Page 27: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Gemme bits

Page 28: Bits - imada.sdu.dkrolf/Edu/DM534/E12/bitSlides.pdf · Resume af sidst I Overblik over kursus I Introduktion. Tre pointer: I Datalogi ermenneskeskabtog dynamisk. Tidslinie over fremskridt

Gemme bits