Et SML-program til sortering af linier i en tekstfil

Størrelse: px
Starte visningen fra side:

Download "Et SML-program til sortering af linier i en tekstfil"

Transkript

1 Et SML-program til sorterg af lier i en tekstfil Hans Hüttel 10. januar 2002 Indhold 1 Om denne tekst 2 2 Interface 2 3 At dlæse strenge fra en fil og danne en liste af dem Funktionsdefitioner Test af denne del af programmet Sorterg af en liste af strenge Prcippet i udvælgelsessorterg Hjælpefunktionerne Test af denne del af programmet Til mdsteelement Til fjern Hele sortergsdelen af programmet Test af sorter At udskrive en liste af strenge til en fil Test af denne del af programmet Funktionen sorterfil 8 7 Dialogfunktionen 8 8 At lave programmet fritstående 9 9 En anden måde at sortere på Prcippet bag flettesorterg Flettesorterg i SML Fletng af sorterede lister Selve sortergsfunktionen

2 Funktion Type Formål laes_fra_stroem TextIO.stream -> strg list At danne en liste af strenge ud fra en putstrøm lav_liste strg -> strg list At danne en liste af strenge ud fra en fil med et givet navn sorter strg list -> strg list At sortere en liste af strenge sorterfil strg -> unit At producere en ny, sorteret fil ud fra en fil med et givet navn dialog unit -> unit At bede brugeren om navn på fil der skal sorteres og give en meddelelse på skærmen 1 Om denne tekst Tabel 1: Interface for sortergsprogram I denne tekst beskriver jeg et lille fritstående SML-program der kan sortere lierne i en tekstfil. Teksten beskriver hvordan programmet bliver opbygget og udviklet. Vi ser desuden en del eksempler på rekursive funktioner over lister, put og output til filer og dialog med brugeren. Afsnit 9 beskriver en alternativ sortergsalgoritme som vi kunne have anvendt. 2 Interface Vores program skal defere tre hovedfunktioner, laes_fra_stroem, lav_liste og sorter. Disse er beskrevet i Tabel 1. Funktionen sorterfil anvender de to foregående funktioner, laes_fra_stroem og lav_liste. Denne funktion har en sideeffekt idet den skriver strenge på en fil. Denne funktion er med andre ord en uegentlig funktion og dens resultattype er derfor unit. Derudover skal programmet have en dialogfunktion dialog der beder brugeren om navnet på den fil der skal sorteres og kalder sorterfil. 2

3 3 At dlæse strenge fra en fil og danne en liste af dem Lad os først beskrive to funktioner der tilsammen gør det muligt at dlæse strenge fra en fil og danne en liste af dem. 3.1 Funktionsdefitioner Filer beskrives i SML som strømme. Vores første funktion dlæser en strøm lie for lie og placerer lierne i en liste. Hvis vi er ved slutngen af strømmen skal vi som svar give den tomme liste og derefter lukke strømmen. Hvis vi ikke er ved slutngen af strømmen skal vi læse den første lie vi ser. Kald denne lie for l. Vi placerer l forrest i den liste vi får ved at læse strengene fra den resterende strøm. Denne funktion er rekursiv; det sted i beskrivelsen som svarer til det rekursive kald er markeret med skråskrift ovenfor. fun laes_fra_stroem stroem = if TextIO.endOfStream stroem then [] before TextIO.closeIn stroem else let val lie = TextIO.putLe stroem lie::(laes_fra_stroem stroem) Bemærk at vi anvender before her for at angive at resultatværdien er [], ikke resultatet af dernæst at lukke datastrømmen. Vor næste funktion anvender laes_fra_stroem; denne funktion tager et filnavn og åbner en strøm for denne fil. Herefter kalder vi laes_fra_stroem på den nye strøm. Funktionsdefitionen ses herunder: fun lav_liste fil = let val dstroem = TextIO.openIn fil laes_fra_stroem dstroem end laes_fra_stroem er en hjælpefunktion der kun skal anvendes af lav_liste og derfor gør vi laes_fra_stroem lokal med en local-erklærg. Den endelige defition kommer til at se sådan ud: local 3

4 fun laes_fra_stroem stroem = if TextIO.endOfStream stroem then [] before TextIO.closeIn stroem else let val lie = TextIO.putLe stroem lie::(laes_fra_stroem stroem) fun lav_liste fil = let val dstroem = TextIO.openIn fil laes_fra_stroem dstroem end 3.2 Test af denne del af programmet Vi tester denne del af programmet ved at kalde lav_liste på en fil og se hvilken liste man får som resultat. 4 Sorterg af en liste af strenge Vi sorterer en liste ved udvælgelsessorterg. Ideen i udvælgelsessorterg er enkel og kan anvendes uanset hvad vi sorterer. 4.1 Prcippet i udvælgelsessorterg Lad os antage at vi skal sortere en liste l. Hvis l er tom skal vi ikke gøre noget Hvis l ikke er tom skal vi fde det mdste element i l og sætte l forrest i den liste vi får ved at sortere de resterende elementer. Denne funktion er rekursiv; det sted i beskrivelsen som svarer til det rekursive kald er markeret med skråskrift ovenfor. Lad os antage at vi allerede havde en funktion mdsteelement der kunne fde det mdste element i en liste og en funktion fjern der kunne give os en liste hvor vi havde fjernet et element. Disse funktioner skulle have typerne mdsteelement : a list -> a fjern : a * a list -> a list Disse funktioner er polymorfe funktioner over lister hvor elementerne skal have en sammenligngstype. Da kunne vi skrive vores sortergsfunktion således: 4

5 fun sorter [] = [] sorter liste = let val m = mdsteelement liste val resten = fjern (m, liste) m::(sorter resten) 4.2 Hjælpefunktionerne Nu er der kun tilbage at defere mdsteelement og fjern. Lad os tage mdsteelement først. Denne funktion skal kun give en værdi hvis vi anvender den på en liste der ikke er tom. Derfor erklærer vi en exception tomliste som skal hejses i det modsatte tilfælde. Ideen er denne: Hvis l kun består af elementet x, er svaret x Hvis l har elementet x som hoved og halen af l hedder l 1, da skal vi fde den mdste værdi i l 1 og sammenligne den med x. Svaret er her den mdste af de to værdier. Denne funktion er altså også rekursiv; det sted i beskrivelsen som svarer til det rekursive kald er markeret med skråskrift ovenfor. Herunder ses funktionsdefitionen. Vi bruger en hjælpefunktion som vi kalder m. exception tomliste; fun mdsteelement [] = raise tomliste mdsteelement [x] = x mdsteelement (x::l1) = m (x, (mdsteelement l1) ); Det eneste sted i programmet hvor vi eksplicit skal gøre opmærksom på at vi sammenligner strenge er i defitionen af m. Denne funktion bruger funktionen Strg.compare. Denne funktion har typen strg*strg -> Order. Order er typen hvis elementer er LESS, EQUAL og GREATER. Se [HR99, App. D]. fun m (x,y) = if Strg.compare(x,y)=LESS then x else y; fjern-funktionen skal gøre følgende: Lad os antage at vi vil fjerne elementet x fra en liste l. Hvis l er tom, er der tet at fjerne. Resultatet er den tomme liste. 5

6 Hvis l har elementet y som hoved og elementerne l 1 som hale, da skal vi sammenligne x og y. Hvis x = y, er resultatet l 1. Ellers beholder vi y og sætter dette element forrest i listen vi får ved at fjerne x fra l 1. Denne funktion er altså også rekursiv; det sted i beskrivelsen som svarer til det rekursive kald er markeret med skråskrift ovenfor. Herunder ses funktionsdefitionen: fun fjern (x,[]) = [] fjern (x,(y::s)) = if x=y then s else y::(fjern (x,s)); 4.3 Test af denne del af programmet Denne del af programmet anvender flere funktioner. Derfor er det nødvendigt at teste alle hjælpefunktionerne for sig. Nogle gode testdata er: Til mdsteelement Her er der tre klausuler i defitionen så vi skal prøve funktionen af på en tom liste, en liste med eet element og en liste med flere elementer. Disse kunne være f.eks. mdsteelement [] mdsteelement ["hund"] mdsteelement ["hund","kat","hest"] Til fjern I første klausul optræder den tomme liste. I anden klausul er der to grene, da der er et if-then-else-udtryk. Her skal vi kunne prøve funktionen af med et par (e, l) hvor e er et element i listen l og med et par (e, l) hvor e ikke er et element i listen l. Vores testcases kunne derfor være f.eks. fjern ("hest",[]) fjern ("hest",["hund","kat","hest"]) fjern ("gris",["hund","kat","hest"]) 4.4 Hele sortergsdelen af programmet Vi kan nu sætte det hele sammen. Funktionerne m og mdsteelement skal kun bruges af sorter, og derfor pakker vi dem d i en local-erklærg. exception tomliste; 6

7 local fun m (x,y) = if Strg.compare(x,y)=LESS then x else y; fun mdsteelement [] = raise tomliste mdsteelement [x] = x mdsteelement (x::l1) = m (x, (mdsteelement l1) ); fun fjern (x,[]) = [] fjern (x,(y::s)) = if x=y then s else y::(fjern (x,s)); fun sorter [] = [] sorter liste = let val m = mdsteelement liste val resten = fjern (m, liste) m::(sorter resten) Fordi vores funktion sorter kalder mdsteelement som kalder m, og fordi m sammenligner strenge, konkluderer ML-systemet at funktionen sorter må have typen strg list -> strg list Test af sorter I første klausul optræder den tomme liste. I anden klausul optræder en vilkårlig liste. Derfor vil gode testcases her være f.eks. sorter [] sorter ["hund","kat","hest"] 5 At udskrive en liste af strenge til en fil Vores funktion skriv_fil skal udskrive dholdet af en liste af strenge til en fil. Denne funktion tager en liste og navnet på en fil. Herefter bliver der åbnet en strøm af type outstream som associeres med den pågældende fil. Selve udskrivngen på denne outputstrøm klares af en hjælpefunktion som vi giver navnet skriv_paa_stroem. skriv_paa_stroem er en funktion over lister af strenge. Hvis listen l er tom, skal vi blot lukke vores outputstrøm. 7

8 Hvis listen l ikke er tom, har den et hoved som vi kalder x og en hale som vi kalder s. Vi skriver strengen x på outputstrømmen og derefter skriver vi listen s ud på vores outputstrøm. Denne funktion er altså også rekursiv; det sted i beskrivelsen som svarer til det rekursive kald er markeret med skråskrift ovenfor. Nedenfor er programteksten for de to funktioner. fun skriv_paa_stroem (stroem,[]) = TextIO.closeOut stroem skriv_paa_stroem (stroem,(x::s)) = (TextIO.output(stroem,x); skriv_paa_stroem (stroem,s)); fun skriv_fil (liste,fil) = let val udstroem = TextIO.openOut fil skriv_paa_stroem (udstroem,liste) 5.1 Test af denne del af programmet For at teste denne del af programmet skal vi prøve at kalde skriv_fil med en liste af strenge og et filnavn. Herefter skal vi se om de pågældende strenge er blevet skrevet i filen. Dette kan vi gøre ved f.eks. at prøve at åbne filen i Emacs. 6 Funktionen sorterfil Vi kan nu lave en funktion der sorterer en fil. Den kalder blot lav_liste og sorter: fun sorterfil f = let val liste = lav_liste f val sorteretliste = sorter liste val nyfil = skriv_fil (sorteretliste,(f^".sort")) nyfil En mere koncis formulerg kunne være at sætte funktionerne sammen: fun sorterfil f = skriv_fil (sorter (lav_liste f)); 7 Dialogfunktionen Vi skal bruge funktioner fra TextIO-modulet mange gange og det er besværligt at skulle skrive TextIO mange steder. Øverst i programmet åbner vi derfor TextIO med 8

9 open TextIO; Vi laver en lille hjælpefunktion, annoncer, der kan udskrive en streng til outputstrømmen stdout og derefter tømme stdout-bufferen så strengen kommer ud på skærmen med det samme. Da enhver dtastet streng slutter med et lieskift-tegn, laver vi endnu en lille hjælpefunktion, dropsidste, der fjerner dette tegn. Selve dialog-funktionen gør nu følgende: Den skriver et spørgsmål ud på skærmen Den modtager navnet på en fil fra brugeren Den sorterer filen med det pågældende navn ved at kalde sorterfil Den skriver en meddelelse ud til brugeren Nu skal vi blot til allersidst i vores program erklære en værdi, _, der kalder dialog-funktionen. Tilsammen har vi: fun annoncer s = (output(stdout,s); flushout(stdout)); fun dropsidste s = Strg.substrg(s,0,(size s)-1); fun dialog () = let val spoergsmaal = annoncer "Indtast filnavn: " val filnavn = dropsidste (putle(stdin)) sorterfil filnavn; annoncer ("Filen er sorteret som "^filnavn^".sort") val _ = dialog (); 8 At lave programmet fritstående Vi kan nu lave programmet fritstående. Vi skal blot fjerne vores kald af load og kalde mosmlc. Lad os sige at vores program hedder sorterg.sml og at vores fritstående program skal hedde frisort. Da skriver vi blot mosmlc -o frisort sorterg.sml For at kalde det fritstående program skal vi skrive dets navn frisort i en dolomit-shell. 9

10 9 En anden måde at sortere på Der fdes en masse forskellige sortergsstrategier. Den strategi som vi så i det foregående var udvælgelsessorterg. I dette sidste afsnit vil jeg beskrive et alternativ, nemlig flettesorterg. Denne sortergsmetode dukkede op i det allerførste, gådefulde SML-program ved 1. kursusgang. En grund til at bruge flettesorterg i stedet for udvælgelsessorterg er at flettesorterg er hurtigere end udvælgelsessorterg. Det er nemlig muligt at bevise følgende (vi skal ikke gøre det her): Hvis man skal sortere en liste med n elementer skal udvælgelsessorterg foretage op til n 2 sammenlignger af enkelte elementer, mens flettesorterg kan nøjes med n log n sammenlignger. Hvis man skal sortere en stor liste bliver denne forskel dramatisk. Udvælgelsessorterg skal bruge sammenlignger, mens flettesorterg kan nøjes med ca Prcippet bag flettesorterg Lad os betragte en liste af strenge: ["hund","kat","abe","gris","mus","zebra"] Lad os dele denne liste op i to dele: ["hund","kat","abe"] ["gris","mus","zebra"] og sortere dem hver for sig på samme måde som vi nu vil beskrive. Resultatet bliver ["abe","hund","kat"] ["gris","mus","zebra"] Nu skal vi blot flette de to sorterede lister sammen til en ny liste der også skal være sorteret. Hvordan gør vi det? Lad os antage at vi skal flette ["abe","hund","kat" og ["gris","mus","zebra"]. Første element i den første liste, ["abe","hund","kat"], er "abe". Første element i ["gris","mus","zebra"] er "gris". Så hovedet i den flettede liste bliver "abe". Halen i den flettede liste bliver den liste vi får ved at flette ["hund","kat"] og ["gris","mus","zebra"]. Hvis vi skal flette en liste l med en tom liste vil resultatet blot blive l. 9.2 Flettesorterg i SML Vi kan nu beskrive flettesorterg i SML. 10

11 9.2.1 Fletng af sorterede lister Når vi skal defere en funktion der kan flette to sorterede lister, tager vi udgangspunkt i ideerne fra forrige afsnit. Vi sammenligner to sorterede lister ved hele tiden at sammenligne de to forreste elementer og sætte det mdste af dem forrest. Herefter kalder vi flettefunktionen rekursivt på de resterende lister. Vi får følgende: fun flet ([],l) = l flet (l,[]) = l flet ( (x::xs),(y::ys) ) = case Strg.compare (x,y) of LESS => (x::(flet (xs,(y::ys)))) GREATER => y::(flet (x::xs,ys)) EQUAL => x::y::(flet (xs,ys)); Selve sortergsfunktionen Når vi skal sortere en tom liste eller en liste med kun eet element er der ikke meget at lave. Hvert af disse tilfælde giver en klausul i sorter-funktionen der er helt ligetil. Det teressante tilfælde er det tredie, nemlig når listen består af mere end eet element. Vi deler vores liste over i to halvdele og kalder sorter rekursivt på de to halvdele. De to sorterede lister vi får ud af det, skal vi så flette med flet. Hvordan gør vi alt dette? Først beregner vi længden af vores liste og bruger derefter funktionerne List.take og List.drop (se [HR99, appendix D.4]) til at udvælge de to halvdele af listen. Herefter kalder vi sorterfunktionen rekursivt på de to halvdele og fletter resultaterne. sorter-funktionen kommer til at se således ud: fun sorter [] = [] sorter [x] = [x] sorter l = let val lgd = (length l) div 2 val foerste = List.take(l,lgd) val sidste = List.drop(l,lgd) flet( sorter(foerste),sorter(sidste)) Litteratur [HR99] M. Hansen og H. Rischel. Introduction to Programmg Usg SML, Addison-Wesley

Et SML-program til at finde rødder i en kontinuert funktion

Et SML-program til at finde rødder i en kontinuert funktion Et SML-program til at finde rødder i en kontinuert funktion Hans Hüttel Ole Høgh Jensen 11 januar 2002 Indhold 1 Om denne tekst 1 2 Hvad er bisektion? 1 3 Specifikation af vores program 2 4 SML-versionen

Læs mere

Moduler i Standard ML

Moduler i Standard ML Moduler i Standard ML Hans Hüttel December 2001 I løbet af datalogikurset har vi haft glæde af en hel række forskellige standardmoduler som f.eks. Math, Int, Real og String. Disse moduler kan, har vi set,

Læs mere

Hjælp! Der er brok med mit ML-program

Hjælp! Der er brok med mit ML-program Hjælp! Der er brok med mit ML-program Hans Hüttel December 2001 Indhold 1 Formålet med denne note 1 2 Der er ere slags fejl 2 2.1 Brugerfejl............................. 2 2.2 Syntaksfejl.............................

Læs mere

Lineær regression i Standard ML

Lineær regression i Standard ML Lineær regression i Standard ML Hans Hüttel 1. november 2001 Indhold 1 Hvad denne note handler om 2 2 Hvor bruger man lineær regression? 2 3 Problemanalyse 3 3.1 Den matematiske teori......................

Læs mere

DATALOGI 0 GA. Skriftlig eksamen tirsdag den 18. januar 2005 af to timers varighed. Opgavesæt med vejledende løsninger

DATALOGI 0 GA. Skriftlig eksamen tirsdag den 18. januar 2005 af to timers varighed. Opgavesæt med vejledende løsninger Københavns Universitet bacheloruddannelsen i datalogi side 1 af 6 DATALOGI 0 GA Skriftlig eksamen tirsdag den 18. januar 2005 af to timers varighed Opgavesæt med vejledende løsninger Dette opgavesæt består

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Rekursion Towers of Hanoi og Liniegrafik Martin Elsman Datalogisk Institut Københavns Universitet DIKU 13. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning,

Læs mere

Datalogi 0 GA Forelæsning oktober 2003 Nils Andersen. Undtagelser. Kombinatorisk søgning

Datalogi 0 GA Forelæsning oktober 2003 Nils Andersen. Undtagelser. Kombinatorisk søgning Datalogi 0 GA Forelæsning 19 20 23. oktober 2003 Nils Andersen Undtagelser. Kombinatorisk søgning Undtagelser Erklæring Kast Gribning Det grådige princip til løsning af et kombinatorisk problem Frembringelse

Læs mere

Introduktion. Philip Bille

Introduktion. Philip Bille Introduktion Philip Bille Plan Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer og datastrukturer Hvad er det? Algoritmisk problem: præcist defineret relation mellem

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Typer og Mønstergenkendelse Martin Elsman Datalogisk Institut Københavns Universitet DIKU 23. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017

Læs mere

Introduktion til funktioner, moduler og scopes i Python

Introduktion til funktioner, moduler og scopes i Python Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for

Læs mere

Datalogi 0 GA Forelæsning september 2003 Nils Andersen. Tegn og tekster. Listefunktionalen map. Naïv sortering

Datalogi 0 GA Forelæsning september 2003 Nils Andersen. Tegn og tekster. Listefunktionalen map. Naïv sortering Datalogi 0 GA Forelæsning 11 12 18. september 2003 Nils Andersen Tegn og tekster. Listefunktionalen map. Naïv sortering Typen char af tegn Typen string af tekster Eksempler Højereordensfunktionen map Sortering

Læs mere

Word-9: Brevfletning i Word 2003

Word-9: Brevfletning i Word 2003 Word-9: Brevfletning i Word 2003 Nogle gange har man brug for at sende det samme brev til en større gruppe personer, firmaer el.lign. Men man vil gerne have, at det ser lidt personligt ud, så derfor er

Læs mere

Sproget Limba. Til brug i G1 og K1. Dat1E 2003

Sproget Limba. Til brug i G1 og K1. Dat1E 2003 Sproget Limba Til brug i G1 og K1 Dat1E 2003 Abstract Limba er et simpelt imperativt sprog med hoballokerede tupler. Dette dokument beskriver uformelt Limbas syntaks og semantik samt en fortolker for Limba,

Læs mere

It og informationssøgning Forelæsning oktober 2006 Nils Andersen

It og informationssøgning Forelæsning oktober 2006 Nils Andersen It og informationssøgning Forelæsning 6 11. oktober 2006 Nils Andersen Formatstyret udskrivning. Undtagelser. Løkkestyring med break og continue. Tekstfiler. Højereordensfunktioner. Formattekster og %-operatoren

Læs mere

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal

Introduktion. Introduktion. Algoritmer og datastrukturer. Eksempel: Maksimalt tal Philip Bille Algoritmer og datastrukturer Algoritmisk problem. Præcist defineret relation mellem input og output. Algoritme. Metode til at løse et algoritmisk problem. Beskrevet i diskrete og entydige

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Introduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille

Introduktion. Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3. Philip Bille Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Philip Bille Introduktion Algoritmer og datastrukturer Toppunkter Algoritme 1 Algoritme 2 Algoritme 3 Algoritmer

Læs mere

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel:

Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Ideen er simpel: Opbyg løsningen skridt for skridt ved hele tiden af vælge lige

Læs mere

Word-5: Tabeller og hængende indrykning

Word-5: Tabeller og hængende indrykning Word-5: Tabeller og hængende indrykning Tabel-funktionen i Word laver en slags skemaer. Word er jo et amerikansk program og på deres sprog hedder skema: table. Det er nok sådan udtrykket er opstået, da

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Martin Elsman Datalogisk Institut Københavns Universitet DIKU 10. Oktober, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 10. Oktober, 2017 1 / 15

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Parsing med Højere-Ordens Funktioner Martin Elsman Datalogisk Institut Københavns Universitet DIKU 1. December, 2017 Martin Elsman (DIKU) Programmering og Problemløsning,

Læs mere

Rettelser til Pilen ved træets rod

Rettelser til Pilen ved træets rod Rettelser til Pilen ved træets rod Hans Hüttel Pr. 12. juni 2003 Nedenstående rettelser er indsamlet af mig selv, Peter Poulsen, Martin Maach og ikke mindst Lars Schunk i løbet af foråret 2003. Simple

Læs mere

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract

Sproget Six. Til brug i rapportopgaven på kurset Oversættere. Vinter 2006. Abstract Sproget Six Til brug i rapportopgaven på kurset Oversættere Vinter 2006 Abstract Six er baseret på det sprog, der vises i figur 6.2 og 6.4 i Basics of Compiler Design. Den herværende tekst beskriver basissproget

Læs mere

26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler.

26 Programbeviser I. Noter. PS1 -- Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler. 26 Programbeviser I. Bevis kontra 'check af assertions' i Eiffel. Betingelser og bevisregler. Hvad er programverifikation? Bevisregel for 'tom kommando'. Bevisregel for assignment. Bevisregler for selektive

Læs mere

Introduktion Indtastning Funktioner Scripts Optimering. Matlab

Introduktion Indtastning Funktioner Scripts Optimering. Matlab - robert@math.aau.dk http://www.math.aau.dk/ robert/teaching/2010/matlab 9. august 2010 1/39 Disposition 1. Lidt om. 2. Basiskursus. 3. Opgaver. 4. Mere til basiskursus. 5. Opgaver. 2/39 MATLAB = MATrix

Læs mere

Kom godt i gang med Fronter

Kom godt i gang med Fronter 1 Kom godt i gang med Fronter. Kom godt i gang med Fronter Sådan logger du på Først skal du hente dit Brugernavn på https://netid.ucl.dk/ Du skal taste dit CPR-nummer med bindestreg: (Hav tålmodighed det

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Et algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Har en hvis lighed med divide-and-conquer: Begge opbygger løsninger til større problemer

Læs mere

Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning

Søgning og Sortering. Søgning og Sortering. Søgning. Linæer søgning Søgning og Sortering Søgning og Sortering Philip Bille Søgning. Givet en sorteret tabel A og et tal x, afgør om der findes indgang i, så A[i] = x. Sorteret tabel. En tabel A[0..n-1] er sorteret hvis A[0]

Læs mere

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen...

Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen... Modul 2 Indholdsfortegnelse If-sætningen... 3 Opgaver... 4 OR, AND sammen med if-sætningen... 5 Rand() funktion... 5 Opgave... 5 Include() funktionen... 6 Opgave... 6 POST/GET og formular... 6 Opgaver...

Læs mere

Øvelser rundt på computeren

Øvelser rundt på computeren Øvelser rundt på computeren Kursister med it-færdigheder bør læse øvelserne igennem. Hvis der er elementer, som er ukendte, bør du udføre øvelserne. Hvis øvelserne derimod er kendt information kan øvelserne

Læs mere

Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M

Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M Enigma Et programmeringssprog Forfatter: Niels Serup X. Y Vejleder: A B C Fag: Programmering Uddannelsessted: N M 25. maj 2010 Indholdsfortegnelse Indledning 3 Sproget 3 Syntax.............................................

Læs mere

Algoritmer og invarianter

Algoritmer og invarianter Algoritmer og invarianter Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker. Iterative algoritmer Algoritmen er overordnet set een eller flere while eller for-løkker.

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

Kom godt i gang med Fronter

Kom godt i gang med Fronter 1 Kom godt i gang med Fronter. Introduktion for studerende på diplomuddannelserne Kom godt i gang med Fronter Introduktion for studerende på diplomuddannelserne Sådan logger du på Først skal du hente dit

Læs mere

HOFTEALLOPLASTIK - DATAUDTRÆK OG IMPORT TIL EXCEL

HOFTEALLOPLASTIK - DATAUDTRÆK OG IMPORT TIL EXCEL HOFTEALLOPLASTIK - DATAUDTRÆK OG IMPORT TIL EXCEL Når man er logget på KMS systemet, vælges Dataudtræk under punktet Vælg modul, hvorefter der klikkes på Gå til: På næste side klikkes på knappen Opret:

Læs mere

Generel information. Brugere. Hjemmesidens lay-out. HIF Hjemmeside How to do

Generel information. Brugere. Hjemmesidens lay-out. HIF Hjemmeside How to do Generel information Dette dokument er en brugsanvisning for hjemmesidens back-end brugere, med information om hvordan man logger ind og hvordan man arbejder med hjemmesiden/hjemmesidens funktioner samt

Læs mere

Algoritmisk geometri

Algoritmisk geometri Algoritmisk geometri 1 Intervalsøgning 2 Motivation for intervaltræer Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Antag, at vi ønsker at

Læs mere

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned.

22 Hobe. Noter. PS1 -- Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. 22 Hobe. Binære hobe. Minimum-hob og maximum-hob. Den abstrakte datatype minimum-hob. Opbygning af hobe. Operationen siv-ned. Indsættelse i hobe. Sletning af minimalt element i hobe. Repræsentation. 327

Læs mere

Vejledning. Her vælger man egenskaber for printerdriveren. i printerdriverens funktioner

Vejledning. Her vælger man egenskaber for printerdriveren. i printerdriverens funktioner Vejledning Her vælger man egenskaber for printerdriveren i printerdriverens funktioner Her ligger den profil der nulstiller hele driveren. Her kan også ligge andre profiler som ofte bliver brugt. Her gemmes

Læs mere

Brugervejledning til Stratasys 3D-Printning

Brugervejledning til Stratasys 3D-Printning Brugervejledning til Stratasys 3D-Printning Af Dennis Lottrup og Maria Elisabeth Oskarsdottir d.18/8-2015 20106140@post.au.dk 201370263@post.au.dk Introduktion til Stratasys (3D-Printning) Gem din model

Læs mere

Lær Python - Dag 4, modul 2 Objektorienteret programmering

Lær Python - Dag 4, modul 2 Objektorienteret programmering Lær Python - Dag 4, modul 2 Objektorienteret programmering Simon J. Larsen 28. oktober 2017 Institut for Matematik og Datalogi Metoder Metoder Indtil videre har vi kun brugt objekter til at gemme værdier.

Læs mere

Regnetest B: Praktisk regning. Træn og Test. Niveau: 9. klasse. Med brug af lommeregner

Regnetest B: Praktisk regning. Træn og Test. Niveau: 9. klasse. Med brug af lommeregner Regnetest B: Praktisk regning Træn og Test Niveau: 9. klasse Med brug af lommeregner 1 INFA-Matematik: Informatik i matematikundervisningen Et delprojekt under INFA: Informatik i skolens fag Et forskningsprogram

Læs mere

Ordinær eksamen i Introduktion til programmering, blok 1, 2010

Ordinær eksamen i Introduktion til programmering, blok 1, 2010 Ordinær eksamen i Introduktion til programmering, blok 1, 2010 1. November 2010 Dette dokument udgør opgavesættet for den ordinære eksamen i kurset Introduktion til programmering, blok 1, 2010. Det består

Læs mere

BRUGERVEJLEDNING TIL BRUG AF MC IKAST HJEMMESIDE.

BRUGERVEJLEDNING TIL BRUG AF MC IKAST HJEMMESIDE. BRUGERVEJLEDNING TIL BRUG AF MC IKAST HJEMMESIDE. www.mcikast.dk På hjemmesiden kan du se alle de kommende ture både i indland og udland. Du kan også se de ture, som er kørt. Alle turene er placeret i

Læs mere

Intranet anvendes til klubbens interne forhold, som kun skal kunne ses og betjenes af klubbens egne medlemmer.

Intranet anvendes til klubbens interne forhold, som kun skal kunne ses og betjenes af klubbens egne medlemmer. Y s Men s Club Nordstjernen Manual for anvendelse af Intranet Intranet anvendes til klubbens interne forhold, som kun skal kunne ses og betjenes af klubbens egne medlemmer. Intranet kan indeholde både

Læs mere

Programmering C RTG - 3.3 09-02-2015

Programmering C RTG - 3.3 09-02-2015 Indholdsfortegnelse Formål... 2 Opgave formulering... 2 Krav til dokumentation af programmer... 3 ASCII tabel... 4 Værktøjer... 5 Versioner af ASCII tabel... 6 v1.9... 6 Problemer og mangler... 6 v2.1...

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2013 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 5. marts, 2013 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

WEB-DIRECT Brugerguide Eksportfunktion i WEB-DIRECT

WEB-DIRECT Brugerguide Eksportfunktion i WEB-DIRECT WEB-DIRECT Brugerguide Eksportfunktion i WEB-DIRECT Indhold 1. Kom godt i gang med eksportfunktionen... 3 2. Eksport... 4 2.1 Eksport i WEB-DIRECT... 4 2.2 Brugerdefineret eksport i WEB-DIRECT... 6 2.2.1

Læs mere

Årsagen til fejl. Erkendelse af fejl. Håndtering af fejl.

Årsagen til fejl. Erkendelse af fejl. Håndtering af fejl. 9 Fejlhåndtering Årsagen til fejl Erkelse af fejl Håndtering af fejl Fejlerkelse og -håndtering i objekt-orienterede sprog Fejlerkelse og -håndtering i Eiffel Udbredelse af fejl i Eiffel Nuanceret fejlhåndtering

Læs mere

DDD Runde 2, 2015 Facitliste

DDD Runde 2, 2015 Facitliste DDD Runde 2, 2015 Facitliste Søren Dahlgaard og Mathias Bæk Tejs Knudsen Opgaver og løsninger til 2. runde af DDD 2015. 1 4. 19. februar, 2015 linetest DK v1.0 Line Test Sigurd er begyndt i gymnasiet og

Læs mere

Sortering. Eksempel: De n tal i sorteret orden

Sortering. Eksempel: De n tal i sorteret orden Sortering 1 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 32 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden

Læs mere

Hvis der ikke er strøm på datboksen i dette tidsrum, vil aflæsningerne blive fremsendt til telelink når der igen tændes for strømmen.

Hvis der ikke er strøm på datboksen i dette tidsrum, vil aflæsningerne blive fremsendt til telelink når der igen tændes for strømmen. Guide til telelink Hvad er telelink Telelink er en database hvor alle aflæsninger på automaterne bliver fremsendt til fra spillestedets datboks(e). Aflæsningerne bliver fremsendt hver nat mellem kl. 00.00

Læs mere

Sortering af information er en fundamental og central opgave.

Sortering af information er en fundamental og central opgave. Sortering Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 Mange opgaver er hurtigere i sorteret information (tænk på ordbøger, telefonbøger,

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

Majoritetsproblemet Problem Præcisering af inddata Præcisering af uddata

Majoritetsproblemet Problem Præcisering af inddata Præcisering af uddata Majoritetsproblemet Problem: Til præsidentvalget i Frankrig har cirka 20 millioner vælgere afgivet deres stemme på et antal præsidentkandidater. Afgør om en af kandidaterne har opnået mere end halvdelen

Læs mere

DM536. Rapport og debug

DM536. Rapport og debug DM536 Rapport og debug Kilder Vigtig.it (Felix Palludan Hargreaves) http://vigtig.it/dm502/howto_report.pdf http://vigtig.it/blog/teaching/#toc-relevant-tips Peter Schneider-Kamp http://imada.sdu.dk/~petersk/dm536/project2.pdf

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3 DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget

Læs mere

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer

Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Skriftlig Eksamen DM507 Algoritmer og Datastrukturer Institut for Matematik og Datalogi Syddansk Universitet, Odense Mandag den 6. juni 2016, kl. 15:00 19:00 Besvarelsen skal afleveres elektronisk. Se

Læs mere

It og informationssøgning Forelæsning september 2006 Nils Andersen. Gentagelser og tekster

It og informationssøgning Forelæsning september 2006 Nils Andersen. Gentagelser og tekster It og informationssøgning Forelæsning 3 20. september 2006 Nils Andersen Gentagelser og tekster Dokumentationstekster Iteration (gentagelse) - med while - med for En- og todimensionale tabeller Typen af

Læs mere

OPC Access 3.0 opdatering via Stored Procedure

OPC Access 3.0 opdatering via Stored Procedure OPC Access 3.0 opdatering via Stored Procedure Dette dokument gennemgår et eksempel på, hvordan OPC Access 2.0 kan konfigureres til at opdatere en database via en stored procedure. OPC ACCESS 2.0 OPDATERING

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den 6. maj 0. Kursusnavn: Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Skriftlige hjælpemidler. Varighed: timer Vægtning

Læs mere

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse.

19 Hashtabeller. Noter. PS1 -- Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. 19 Hashtabeller. Hashing problemet. Hashfunktioner. Kollision. Søgning og indsættelse. Sammenligning af hashtabeller og søgetræer. 281 Hashing-problemet (1). Vi ønsker at afbilde n objekter på en tabel

Læs mere

Vejledning til brug af Y s Men s klubintranet administrator guide

Vejledning til brug af Y s Men s klubintranet administrator guide Vejledning til brug af Y s Men s klubintranet administrator guide Systemet tilbyder klubberne i Y s Men Danmark at have et sted hvor de kan dele filer f.eks. Word, pdf, billeder mv. mellem de medlemmer

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning)

Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Skriftlig Eksamen Algoritmer og Datastrukturer 2 (2003-ordning) Datalogisk Institut Aarhus Universitet Fredag den 28. maj 2004, kl. 9.00 13.00 Opgave 1 (20%) En (r, k) kryds-graf er en orienteret graf

Læs mere

Axapta 3.0 Konverteringsvejledning

Axapta 3.0 Konverteringsvejledning Axapta 3.0 Konverteringsvejledning ectrl Dokumentversion 3.0 Juli 2008 - Datakonvertering 2008 Side 1 af 14 Indholdsfortegnelse DATAKONVERTERINGSVÆRKTØJET:...3 KARTOTEK INFORMATIONSOVERSIGT - FANEBLAD...5

Læs mere

FOTO strategi Gem Udvælg Rediger Gem

FOTO strategi Gem Udvælg Rediger Gem FOTO strategi 1. Gem billederne i en mappe på skrivebordet a. Opret en mappe på skrivebordet og navngiv den evt. med årstallet. b. Kopier billederne i kameraets DCIM-mappe og sæt den ind i mappen på skrivebordet.

Læs mere

Løsningsforslag Skriftlig eksamen 5. januar 2011

Løsningsforslag Skriftlig eksamen 5. januar 2011 Løsningsforslag Skriftlig eksamen 5. januar 2011 Version 3, 2011-01-28 Spørgsmål 1 Spørgsmål 1.1 b c d 1 2 b c d Spørgsmål 1.2 Det regulære udtryk kunne være: (b c d)((b c d)(b c d)) Spørgsmål 1.3 Her

Læs mere

DK-Unit Point version 1.xx

DK-Unit Point version 1.xx Beskrivelse af DK-Unit til Point Yomani og Xenta Dankort terminaler DK-Unit programmet er udviklet til at kunne benyttes sammen med forskellige applikationer, hvor man ønsker at kunne danne en Dankort

Læs mere

Table of Contents Page 2

Table of Contents Page 2 SMARTBOARD Table of Contents Smart Notebook på ipad... 3 Installer App... 4 Smart Notebook skærmbilledet på ipad... 5 Brug fotos fra Ipad... 7 Sådan åbner du eksistende notebookfiler på din ipad... 9 Spil...

Læs mere

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer.

Grådige algoritmer. Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for optimeringsproblemer. Grådige algoritmer Et generelt algoritme-konstruktionsprincip ( paradigme ) for

Læs mere

Sortering. Sortering ved fletning (merge-sort) Del-og-hersk. Merge-sort

Sortering. Sortering ved fletning (merge-sort) Del-og-hersk. Merge-sort Sortering Sortering ved fletning (merge-sort) 7 2 9 4! 2 4 7 9 7 2! 2 7 9 4! 4 9 7! 7 2! 2 9! 9 4! 4 1 2 Del-og-hersk Merge-sort Del-og-hersk er et generelt paradigme til algoritmedesign Del: opdel input-data

Læs mere

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge:

Ide med Diff. Mål. Tidsplan. 1.uge: 2.uge: Side 1 af 5 Ide med Diff. Min ide med differenertierings modulet er at lave et program som kan vise 3d objekter, og få lavede en konverter som kan konventer 3ds filer over til noget som flash kan bruge.

Læs mere

Sortering. Eksempel: De n tal i sorteret orden

Sortering. Eksempel: De n tal i sorteret orden Sortering 1 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden 6, 2, 9, 4, 5, 1, 4, 3 1, 2, 3, 4, 4, 5, 9 2 / 34 Sortering Input: Output: Eksempel: n tal De n tal i sorteret orden

Læs mere

Søgning og Sortering. Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering. Philip Bille

Søgning og Sortering. Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering. Philip Bille Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering Flettesortering Philip Bille Søgning og Sortering Søgning Linæer søgning Binær søgning Sortering Indsættelsessortering

Læs mere

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003 Side 1 af 8 Dato: 14-05-2003 Til Sigurd Som aftalt vil jeg her fremsende vores program til vores 80C535 kit og display. Det gik jo ud på at vi skulle starte med at få den til at intialiserer displayet,

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2012 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 15. marts, 2012 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

DANSK SKOLEDATA APS. Tlf. 86 44 80 99 E-mail DSD@skoledata.dk DSA-Ventelisten

DANSK SKOLEDATA APS. Tlf. 86 44 80 99 E-mail DSD@skoledata.dk DSA-Ventelisten Indholdsfortegnelse Overordnet beskrivelse af programmets funktioner... 2 Log på... 2 Manuel oprettelse af elev.... 3 Optagelse af elever... 3 1 Gruppering og sortering af elever... 3 2 Udvælg aspiranter...

Læs mere

Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE

Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE Modul 2 Database projekt Multimediedesign 3. semester Gruppe 3 IRF/TUJE Fact sheet Indholdsfortegnelse Fact Sheet Gantt kort Valgt af virksomhed Brainstorm Attribut tabel ER-diagram Skitse MySQLWorkbench

Læs mere

Exceptions i Delphi. Try except

Exceptions i Delphi. Try except Exceptions i Delphi Exceptions er en teknik til at fange fejl under programafviklingen. Ikke programmeringsfejl, men fejl der opstår i forskellige situationer, f.eks. en fil der mangler en fil der er skrivebeskyttet,

Læs mere

Programmering i C. Lektion oktober 2008

Programmering i C. Lektion oktober 2008 Programmering i C Lektion 2 20 oktober 2008 Historie Processen At kompilere 2 / 23 Fra sidst 1 Historie 2 Processen 3 At kompilere Historie Processen At kompilere 3 / 23 ALGOL 60 1963 CPL 1966 BCPL 1969

Læs mere

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss

Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003. Jonas Christiansen Voss Introduktion til CD ere og Arkivdeling Gammel Dok - September-oktober 2003 Jonas Christiansen Voss 2. marts 2004 Indhold 1 CD ere 2 1.1 Brænde dokumenter til CD....................... 2 1.2 Disk Copy.................................

Læs mere

Modul 16, Word 5 Felter, tabeller og breve

Modul 16, Word 5 Felter, tabeller og breve 60+Bornholm Videregående pc-vejledning Modul 16, Word 5 Felter, tabeller og breve Felter Et felt er et område i dokumentteksten, hvor der automatisk indsættes en værdi. Eksempler: Aktuelle sidenummer eller

Læs mere

DANMARKS TEKNISKE UNIVERSITET

DANMARKS TEKNISKE UNIVERSITET DANMARKS TEKNISKE UNIVERSITET Skriftlig prøve, 14. december 2018, 4 timer Side 1 af 18 Kursus navn: 02101 Indledende Programmering Kursus : 02101 Tilladte hjælpemidler: Ikke-digitale skriftlige hjælpemidler

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet

Skriftlig Eksamen Algoritmer og Datastrukturer 1. Datalogisk Institut Aarhus Universitet Side af 1 sider Skriftlig Eksamen Algoritmer og Datastrukturer 1 Datalogisk Institut Aarhus Universitet Dette eksamenssæt består af en kombination af små skriftlige opgaver og multiplechoice-opgaver. Opgaverne

Læs mere

Vejledning til Counsellor om ansøgninger fra 2018

Vejledning til Counsellor om ansøgninger fra 2018 Vejledning til Counsellor om ansøgninger fra 2018 Alle aktiviteter vedrørende ansøgninger foregår fra www.rotary.dk. (aktiviteter for W18 og S18 samt 18/19 og tidligere teams foregår som sædvanligt i den

Læs mere

e-konto manual 01.08.2011 e-konto manual Side 1

e-konto manual 01.08.2011 e-konto manual Side 1 e-konto manual 01.08.2011 e-konto manual Side 1 Indhold 1. Overordnet beskrivelse... 3 2. Login... 3 3. Se og ret kundeoplysninger... 4 4. Rediger kontaktoplysninger... 6 5. Skift adgangskode... 7 6. BroBizz-oversigt...

Læs mere

BRP 6.9.2006 Kursusintroduktion og Java-oversigt

BRP 6.9.2006 Kursusintroduktion og Java-oversigt BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:

Læs mere

Opret CFU-kursusevaluering i Survey Xact

Opret CFU-kursusevaluering i Survey Xact Printvenlig side for Forsidetekst Opret CFU-kursusevaluering i Survey Xact www.survey-xact.dk Oprettelsen af en kursusevaluering består af flg. trin: 1. Oprettelse af spørgeskema ud fra en skabelon 2.

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Input og Output Martin Elsman Datalogisk Institut Københavns Universitet DIKU 27. November, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 27. November,

Læs mere

Intervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed

Intervalsøgning. Algoritmisk geometri. Motivation for intervaltræer. Intervalsøgning. Lad der være givet en database over ansatte i en virksomhed Algoritmisk geometri Intervalsøgning 1 2 Motivation for intervaltræer Intervalsøgning Lad der være givet en database over ansatte i en virksomhed Ansat Alder Løn Ansættelsesdato post i databasen Vi kan

Læs mere

Word-5: Tabeller (2007)

Word-5: Tabeller (2007) Word-5: Tabeller (2007) Tabel-funktionen i Word laver en slags skemaer. Word er jo et amerikansk program og på deres sprog hedder skema: table. Det er nok sådan udtrykket er opstået, da programmet blev

Læs mere

Politik om cookies. Introduktion Om cookies

Politik om cookies. Introduktion Om cookies Introduktion Om cookies Politik om cookies De fleste hjemmesider, du besøger, bruger cookies for at forbedre din brugeroplevelse ved at sætte webstedet i stand til at 'huske' dig enten under hele dit besøg

Læs mere

Kom godt i gang med Fronter

Kom godt i gang med Fronter 1 Kom godt i gang med Fronter. Introduktion for studerende på diplomuddannelse, området Pædagogik Kom godt i gang med Fronter Introduktion for studerende på Pædagogisk diplomuddannelse Sådan logger du

Læs mere

Vejledning til de bydende

Vejledning til de bydende Vejledning til de bydende Juni 2013/JET Indledning Indledning ibinder er et web-baseret program, til håndtering af byggeprojekter og ejendomsdrift på en hidtil uset brugervenlig og økonomisk måde. ibinder

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur (struktur opbygget af et endeligt antal enkeltdele) blandt mange mulige. Eksempler:

Læs mere

BRUGER KURSUS RAMBØLL HJEMMESIDE

BRUGER KURSUS RAMBØLL HJEMMESIDE Til Forsyningsvirksomheder i Danmark Dokumenttype Brugervejledning Rambøll Hjemmeside Full Responsive Dato Oktober 2017 BRUGER KURSUS RAMBØLL HJEMMESIDE BRUGER KURSUS RAMBØLL HJEMMESIDE Revision 01 Dato

Læs mere

Lær Python - Dag 3, modul 1 Læse og skrive filer

Lær Python - Dag 3, modul 1 Læse og skrive filer Lær Python - Dag 3, modul 1 Læse og skrive filer Simon J. Larsen 15. oktober 2017 Institut for Matematik og Datalogi Læse og skrive filer Persistens Vi har ofte brug for at gemme data på disken som ikke

Læs mere

Word-5: Tabeller og hængende indrykning

Word-5: Tabeller og hængende indrykning Word-5: Tabeller og hængende indrykning Tabel-funktionen i Word laver en slags skemaer. Word er jo et amerikansk program og på deres sprog hedder skema: table. Det er nok sådan udtrykket er opstået, da

Læs mere

Divide-and-Conquer algoritmer

Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer (af samme type). 2. Løs delproblemerne ved rekursion (dvs. kald algoritmen

Læs mere