Hjælp! Der er brok med mit ML-program
|
|
- Ludvig Fischer
- 5 år siden
- Visninger:
Transkript
1 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 Brugerfejl Syntaksfejl Typefejl Semantiske fejl Implementationsfejl Nogle gode råd Gør det lettere for dig selv Hvad du gør når du har fået en fejlmeddelelse Formålet med denne note Alle der skriver programmer kommer tit ud for at oversætteren/fortolkeren ikke bryder sig om den omhyggeligt udarbejdede programtekst den har fået serveret. Det kan være ufatteligt træls og uhyggeligt frustrerende at sidde og rette fejl. Man kan have lyst til at smadre computeren og bordet den står på og forbande den dag man begyndte at programmere. ML er ingen undtagelse fra denne regel. I denne note vil jeg dels klassicere de forskellige typer fejl og belyse dem med eksempler, dels prøve at give nogle tommelngerregler som kan hjælpe dig med at nde og rette fejl i et program så du måske kan komme lettere gennem den slags kriser. Nogle af kommentarerne er specikke for ML men de allereste kan bruges uanset hvilket sprog du senere giver dig til at programmere i. 1
2 2 Der er ere slags fejl Det første at gøre når du skal rette en fejl i dit program er at nde ud af hvilken kategori af fejl der er tale om. 1. Brugerfejl 2. Syntaksfejl 3. Typefejl 4. Semantiske fejl 5. Implementationsfejl Fejl af kategorierne 2 og 3 indebærer at den programtekst man har skrevet ikke kan udføres. Fejl af kategorierne 4 og 5 indebærer at der sker noget andet under programudførelsen end man havde regnet med. Fejl af kategorien 1 er mangfoldige som himlens stjerner der er jo mange slags brugere der kan lave fejl. I resten af dette afsnit vil jeg give eksempler på de fem kategorier fejl og fortælle hvordan man kan rette dem. 2.1 Brugerfejl Brugerfejl er egentlig ikke programmeringsfejl. Her er nogle eksempler: Du har glemt at gemme dit ML-program inden du forsøgte at oversætte det med mosmlc Du arbejder med en anden kopi af programmet end du tror den rigtige ligger i et andet katalog! Du har glemt at indlæse det bibliotek hvis funktioner du vil anvende. Man kan sikkert aldrig undgå brugerfejl helt men en fast rutine om brug af kataloger kan gøre underværker. 2.2 Syntaksfejl ML-systemet har en parser der undersøger om teksten er grammatisk korrekt. Hvis ikke teksten er korrekt, er der tale om en syntaksfejl. Du kan f.eks. have glemt et reserveret ord. Herunder er et eksempel (hvor vi antager at vi allerede har indlæst biblioteket Math): fun enhedsv (x,y) = let lgd = Math.sqrt(x*x+y*y) in (x/lgd,y/lgd); 2
3 [opening file "fejl1.sml"] File "fejl1.sml", line 2, characters 24-27:! fun enhedsv (x,y) = let lgd = sqrt(x*x+y*y) in! ^^^! Syntax error. - Vi havde glemt ordet val lad os prøve igen: fun enhedsv (x,y) = let val lgd = Math.sqrt(x*x+y*y) in (x/lgd,y/lgd); Nu får vi følgende at vide: [opening file "fejl1.sml"] File "fejl1.sml", line 4, characters 0-1:! <EOF>! ^^^^^! Syntax error. Så der er stadig en syntaksfejl! EOF betyder End of File; len sluttede før den burde. Hvis vi kigger igen kan vi da også se at vi harglemt end. Vi tilføjer det manglende ord og prøver igen: fun enhedsv (x,y) = let val lgd = Math.sqrt(x*x+y*y) in (x/lgd,y/lgd) end; og denne gang får vi da også [opening file "fejl1.sml"] > val enhedsv = fn : Real.real * Real.real -> Real.real * Real.real En anden typisk syntaksfejl er et manglende semikolon til sidst i en erklæring. 2.3 Typefejl Det påstås af og til at de allereste fejl som ML-programmører laver er typefejl. Til gengæld er det ofte sådan at et program virker efter hensigten når typefejlene er blevet luget ud. En vigtig ingrediens i Datalogi A er derfor at blive tryg ved MLs typesystem. ML-systemet har en typeudleder der prøver at udlede typerne på alle funktioner og værdier i et program. Herunder er et eksempel på en funktion med typefejl: 3
4 fun vend [] = [] vend x = [a] vend (x::l) = (vend l)@x; vend skal være en polymorf funktion der kan vende en vilkårlig liste. Vi ville forvente at vend havde typen 'a list -> 'a list Men nej! Moscow ML meddeler: [opening file "/tmp/sml14893xuq"] File "/tmp/sml14893xuq", line 4, characters 27-28:! vend (x::l) = (vend l)@x;! ^! Type clash: expression of type! 'a! cannot have type! 'a list list! because of circularity [closing file "/tmp/sml14893xuq"] MLs typeudledning ræsonnerer som følger: Anden klausul i denitionen tager et element og giver os en liste med dette element. Derfor har vend en listetype som resultattype. Tredie klausul tager en ikke-tom liste; så vend har også en listetype som argumenttype. Begge dele er nt. Men har type 'a list -> ('a list -> 'a list) og kræver derfor at x skal være en liste af samme type som l. Det kan ikke lade sig gøre! Vi kunne gøre x til en liste i tredie klausul og desuden rette i den anden klausul. fun vend [] = [] vend x = x vend (x::l) = (vend l)@[x]; Nu er Moscow ML bedre tilfreds: [opening file "/tmp/sml14893llr"] File "/tmp/sml14893llr", line 2-4, characters 4-62:!...vend [] = []! vend x = x! vend (x::l) = (vend l)@[x]. 4
5 ! Warning: some cases are unused in this match. > val vend = fn : 'a list -> 'a list [closing file "/tmp/sml14893llr"] men fortæller os nu at nogle af klausulerne kan undværes. Det må være den anden klausul der er overødig. Hvis vi fjerner den, får vi fun vend [] = [] vend (x::l) = (vend l)@[x]; Moscow ML siger da også nu [opening file "/tmp/sml14893yvx"] > val vend = fn : 'a list -> 'a list [closing file "/tmp/sml14893yvx"] 2.4 Semantiske fejl Et typisk problem i ML er at man har lavet en funktionsdenition hvor der ikke er bund i rekursionen. Her er et eksempel: fun gauss x = gauss (x-1) + x; Moscow ML brokker sig ikke. Men prøv at kalde gauss - gauss 5;! Uncaught exception:! Out_of_memory - Den manglende bund kan man nogle gange opdage allerede på oversættelsestidspunktet ved at ML-systemet skriver pattern matching is not exhaustive. Herunder er et eksempel: fun laengde (x::l) = laengde l + 1; Moscow ML svarer: [opening file "/tmp/sml14893-zm"] File "/tmp/sml14893-zm", line 1, characters 4-34:! fun laengde (x::l) = laengde l + 1;! ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^! Warning: pattern matching is not exhaustive > val laengde = fn : 'a list -> int [closing file "/tmp/sml14893-zm"] 5
6 2.5 Implementationsfejl Man har lavet et program der gør noget andet end det man havde tænkt sig. Det kan enten skyldes en simpel trykfejl eller at den algoritme som programmet udtrykker er ukorrekt. Her er et eksempel på en trykfejl: fak n = n * fak n-1 Dette ligner fakultetsfunktionen og der er da heller ikke hverken syntakseller typefejl. [opening file "fejl1.sml"] > val fak = fn : int -> int - Lad os prøve at kalde fak 4; vi forventer resultatet 24. Men Moscow ML svarer bare - fak 4;! Uncaught exception:! Out_of_memory Problemet er vi ikke skrev hvad vi troede vi skrev. funktionskald binder stærkere end subtraktion, så ML parser teksten som om der stod fak n = (n * (fak n)) - 1 Så vi har her utilsigtet lavet en uendelig rekursion. Løsningen er at sætte lidt parenteser: fak n = n * fak (n-1); En anden slags implementationsfejl skyldes at man har brugt en ukorrekt algoritme. Her er en anden udgave af fakultetsfunktionen: fak n = n + fak (n-1); Her står der + hvor der burde stå ; det burde derfor ikke undre at der kommer forkerte resultater ud når man kalder fak! 6
7 3 Nogle gode råd Til sidst nogle gode råd som ikke kan forhindre fejl men kan hjælpe med det og kan hjælpe dig til at nde fejl i dine programmer på en mere systematisk og overskuelig måde. 3.1 Gør det lettere for dig selv Skriv en grundig kladde før du anvender ML-systemet. Tænk grundigt over ideen i det program og brug blyant og papir i dit programdesign inden du begynder at skrive den endelige programtekst i Emacs. Læs din programtekst igennem før du serverer den til ML. Man kan fange mange fejl på den måde. Gør det til en vane at strukturere dit program pænt. Brug f.eks. letudtryk når du kan. Når dit program er let for dig selv at overskue kan du lettere nde fejlene. SML-mode i Emacs kan hjælpe dig med at forebygge de mest irriterende syntaksfejl så f.eks. et let-udtryk altid slutter med end. Prøv at trykke CTRL-C RET (hvor RET er return-tasten) for at se hvordan du kan indsætte et let-udtryk. Sæt hellere lidt for mange parenteser end lidt for få. Husk altid bundtilfældene i en rekursiv erklæring! Test programmet i små bidder. Hvis du skriver et stort program er det en god ide at servere funktionerne i dit store program for ML-systemet en ad gangen for at se om hver enkelt funktion kan spises. 3.2 Hvad du gør når du har fået en fejlmeddelelse Find ud af hvilken af de 5 typer fejl du er stødt på. Brug tid på at lære at kende forskel på de forskellige slags fejl, så er det nemmere at forstå præcis hvad fejlen er og nemmere at rette den. Når ML-systemet bekendtgør at den ikke kan forstå din programtekst skal du først nde ud af hvilken af de 5 kategorier af fejl der er tale om. Ret fejlene en ad gangen hvis der er ere. Lav en l med en kopi af dit oprindelige program og brug den som kladde. Slet så meget af dit program i kladdelen at programmet bliver fejlfrit. Hvis en kompliceret funktion rummer masser af fejl kan du lave en forsimplet version som ML-systemet kan spise. Tilføj mere og mere af dit nu korrekte program til din kladde efterhånden som du fjerner fejlene. 7
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 mereLineæ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 mereEt 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 mereYderligere udvidelser af oversætter for Minimal
Yderligere udvidelser af oversætter for Minimal Karakteropgave på kurset Oversættere Vinter 2005 1 Introduktion Dette er den anden del af rapportopgaven på Oversættere, vinter 2005. Opgaven skal løses
Læs mereEt SML-program til sortering af linier i en tekstfil
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 3 3.1 Funktionsdefitioner.......................
Læs mereDATALOGI 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 mereIt og informationssøgning Forelæsning december 2006 Nils Andersen. Indkøring, afprøvning og dokumentation af programmer
It og informationssøgning Forelæsning 14 13. december 2006 Nils Andersen Indkøring, afprøvning og dokumentation af programmer Indkøring Syntaksfejl Køretidsfejl Semantiske fejl Dokumentation Sammenfatning
Læs mereDM536. 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 mereDataudlæsning/indlæsning. Generelt om udlæsning/indlæsning af data. Andre udlæsnings/indlæsningsfunktioner. Dataudlæsning
Generelt om udlæsning/indlæsning af data Forskellige principper I programmet er der en række forskellige funktioner til at udlæse/indlæse data. Dataudlæsning/indlæsning (Beskrevet i dette afsnit af vejledningen)
Læs mereArkivér data. Generelt om udlæsning/indlæsning af data. Andre udlæsnings/indlæsningsfunktioner. Arkivér data
Generelt om udlæsning/indlæsning af data Forskellige principper I programmet er der en række forskellige funktioner til at udlæse/indlæse data. Arkivér data (Beskrevet i dette afsnit af vejledningen) Funktionen
Læs mereSproget 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 mereHvad Hvorfor Hvordan
Hvad Hvorfor Hvordan Hent OpenKapow Installer programmet OpenKapow er et enkelt program til at bygge robotter for at skrabe data på nettet. Programmet er gratis at hente og bruge. Det findes i en linux-
Læs mereKapitel 4 Løkker i C#
Kapitel 4 Løkker i C# Løkker en vigtig del af alle programmeringssprog, og C# er ikke andeles. En løkke er en måde at udføre en del af koden gentagne gange. Ideen er at du fortsætter med at udføre en opgave
Læs mere1.semester: IT-færdigheder
1.semester: IT-færdigheder Opgave 1: Organisere filer i mapper Du er i gang med en vigtig opgave, og du leder efter et helt bestemt dokument. Du leder og leder og leder, men kan ikke finde det imellem
Læs mereVejledning om aktivitetsindberetning for. folkehøjskoler og ungdomshøjskoler
Vejledning om aktivitetsindberetning for folkehøjskoler og ungdomshøjskoler Indhold Log på indberetningsportalen 2 Navigationsknapper 3 Udfyldelse af skemaet 4 o Indlæs en fil 4 o Gem 5 o Indtastning i
Læs mere5. OPSÆTNING DOKUMENTSKABELONER 5.1 TRIN
5. OPSÆTNING DOKUMENTSKABELONER Under fanen Dok. skabeloner kan du arbejde med de skabeloner som du har i systemet, eller du kan oprette nye. I denne vejledning kigger vi på hvordan du kan tilrette selve
Læs mereSikkerhedskopiering. Sikkerhedskopiering til harddisk.
. Generelt I det følgende beskrives det, hvordan du sikkerhedskopierer dine kortdata. Sikkerhedskopifunktionen kopierer alle data i kortmodulet for alle høstår for den aktuelle database. Sikkerhedskopien
Læs mereArkiv i SIMU World. Arkivet ligger i SIMU World, og gør det muligt at arkivere jeres sager direkte i SIMU World.
Indhold Hvad er Arkivet?... 2 Arkiv er elektronisk, og ligger nederst i hver menu... 3 Arkivgrupper... 3 Oprette hovedmapper under de enkelte faner... 5 Oprette sagsmapper under hovedmapper... 6 Arkivering
Læs mereSimpel upload af filer
Denne guide er oprindeligt udgivet på Eksperten.dk Simpel upload af filer Jeg ser tit brugere spørge til hvordan man uploader en fil via php. Nu vil jeg prøve ganske kort at lave lidt kode og forklare
Læs mereVejledning om aktivitetsindberetning for efterskoler og frie fagskoler
Vejledning om aktivitetsindberetning for efterskoler og frie fagskoler Indhold Log på indberetningsportalen... 2 Navigationsknapper... 3 Udfyldelse af skemaet... 4 Indlæs en fil... 4 Gem... 5 Indtastning
Læs merepoedit og oversættelse af sprogfiler
poedit og oversættelse af sprogfiler af Georg S. Adamsen WordPress.Blogos.dk 2009 http://kortlink.dk/wordpressblogosdk/6g38 1 af 11 14-04-2009 14:55 Jeg får af og til spørgsmål om, hvordan man bruger poedit,
Læs mereDet sprogpædagogiske kørekort 2012/2013. Modul 9: Rettelse af kursistopgaver (Del 1)
Det sprogpædagogiske kørekort 2012/2013 Modul 9: Rettelse af kursistopgaver (Del 1) Christoph Schepers Indhold I Ret opgaver i Word Markér fejl i farver (nemt og hurtigt).. Brug Words egne retteværktøjer:
Læs mere5. Vælg den udgave du ønsker, og skriv det antal du ønsker at købe i rubrikken efter antal og
s. 1 / 9 1. www.nodebasen.dk 2. Find den node, du gerne vil købe ved at trykke dig ind på en kategori i venstre kolonne: 3. Tryk på titlen eller tryk på under den sang du ønsker 4. Nu kommer du ind på
Læs mereMUS Opsætning af spørgeramme
MUS Opsætning af spørgeramme 1. Vælg Opsætning 2. Vælg MUS 3. Søg den afdeling frem, som du vil redigere (rød pil) eller vælg fra listen (grøn pil) 4. Aftaleprioritet: Systemet er født med den fremhævede
Læs mereSådan kommer du nemt i gang med Joomla!
Joomla! Kursus Sådan kommer du nemt i gang med Joomla! Hvorfor er Joomla! alt for svær at komme i gang med I mit daglige virke som konsulent og underviser, med speciale i Joomla!, får jeg tit at vide at
Læs mereSproget 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 mereVejledning til at ligge billeder ind på Jerslev gruppes hjemmeside.
Vejledning til at ligge billeder ind på Jerslev gruppes hjemmeside. Først skal du åbne Windows Internet Explorer da dette program kan køre gruppen hjemmeside 100 %, du skal kigge ind på www.spejdernet.dk/jerslev
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 13. marts, 2018 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereBRUGERVEJLEDNING. Til klinikker og brugere i voresklinik.info
BRUGERVEJLEDNING Til klinikker og brugere i voresklinik.info 1. LIDT OM VORESKLINIK.INFO voresklinik.info er både navnet og adressen på jeres nye intranetløsning. Der kan tilføjes en masse spændende funktioner
Læs mereProgrammering 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 mereMANUAL TIL. OptitecRS CIPHERLAB 8000 - SCANNER
MANUAL TIL OptitecRS CIPHERLAB 8000 - SCANNER INDHOLDSFORTEGNELSE 1 SAMLING OG TILKOBLING AF SCANNER... 1 1.1 STRØM TIL SCANNER... 2 1.2 TILKOBLING TIL COMPUTER... 2 1.2.1 Tilkobling med Seriel Stik...
Læs mereManual til Wordpress. 1. Log ind på din Wordpress-side. Indhold: Sådan opdaterer du din hjemmeside i Wordpress.
Manual til Wordpress Sådan opdaterer du din hjemmeside i Wordpress. Dette er en manual til de mest grundlæggende ting, så du selv kan redigere indholdet og lægge nyt på din hjemmeside. Guiden er skrevet
Læs mereStruktureret læsning i Matematik
Struktureret læsning i Matematik Frank Villa 19. august 2012 2008-2012. IT Teaching Tools. ISBN-13: 978-87-92775-00-9. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk.
Læs mereDatalogi 0 GA Forelæsning september 2003 Nils Andersen. Datamatiske principper
Datalogi 0 GA Forelæsning 1 2 1. september 2003 Nils Andersen Datamatiske principper EDB som simulering Programmering Problemløsning Tilstandsorienteret Værdiorienteret (= funktionsorienteret) Administrative
Læs mereIntroduktion 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 mereRedaktørvejledning for www.bredstrup-pjedsted.dk Skriv en artikel
Arbejdsgang - Skriv artiklens tekst - Gør billeder klar - Log-in på hjemmesiden - Opret ny artikel - Vælg kategori - Skriv overskrift - Indsæt tekst - Tilføj billeder - Gennemgå artiklens indstillinger
Læs mereVejledning til Teknisk opsætning
Vejledning til Teknisk opsætning v. 1.0 Adm4you, 2010. Indhold Kort om denne vejledning... 3 Generelt om easyourtime... 3 Installation af databasen... 3 Sikkerhed og rettigheder... 4 SQL Login... 4 Rettigheder
Læs mereDANSK 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 mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2018 Projekt, del II Institut for matematik og datalogi Syddansk Universitet 20. marts, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereDesignPro II Side 11. Grupper
DesignPro II Side 11 Grupper Hvis man arbejde helt fra grunden, er det ofte en fordel at kunne samle tekst, billeder og baggrund til en fast gruppe, som så kan flyttes rundt, og ændres i størrelsen. I
Læs mereTravelTales; håndtering af konfigurationsfil
TravelTales; håndtering af konfigurationsfil 1 (7) TravelTales; håndtering af konfigurationsfil Synopsis Dette dokument beskriver indholdet i en TravelTales konfigurationsfil og metoder til hvordan man
Læs mereDet er svært at komme på ældste trin. Der er mange helt nye ord, fx provokation og oplevelsesfase.
Overgang fra mellemtrin til ældste trin samtale med 6. kl. Det er svært at komme på ældste trin. Der er mange helt nye ord, fx provokation og oplevelsesfase. Det er en meget anderledes arbejdsform, men
Læs mereBRUGERVEJLEDNING 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 mereHarald Michalsen og Lasse Storr-Hansen
1 af 9 02MAJ2007 03MAJ2007 06MAJ2007 14MAJ2007 Rettet en fejl i installationsprogrammet. Ny installationer kunne ikke køre igennem og stoppede halvvejs. Rettelsen blev lagt på nettet klokken 16:40 mandag
Læs mereDatalogi 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 mereRedaktørmanual TYPO3 Version 6.2
Redaktørmanual TYPO3 Version 6.2 www.t3cms.dk TYPO3 Manual Version 6.2 Side 1 af 20 T3CMS Tlf: 70 25 00 22 Indholdsfortegnelse Generel info om TYPO3 3 Rediger din side 4-6 Indsættelse af links 7 Indsæt
Læs mereGadwin PrintScreen Version 3,5
Side 1 af 6 Gadwin PrintScreen Version 3,5 Indhold: Introduktion...1 Properties (indstillinger)...2 Preferences...2 Source...3 Destination....3 Image...4 About...4 Brug af programmet...5 Introduktion Når
Læs merePUT og INPUT funktionerne
PUT og INPUT funktionerne Af: Peter Kellberg Danmarks Statistik Sejrøgade 11 DK-2100 København Ø pke@dst.dk PUT og INPUT-funktionerne Denne artikel er foranlediget af en henvendelse til vores interne SAS
Læs mere//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!
Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for
Læs mereDat 2/BAIT6/SW4: Syntaks og semantik En manual for studerende
Dat 2/BAIT6/SW4: Syntaks og semantik En manual for studerende Hans Hüttel Foråret 2011 Indhold Indhold 1 1 Kurset er lavet om! 1 2 Kursets indhold 2 2.1 Kursets emner................................ 2
Læs mereDocument Capture for Microsoft Dynamics NAV. Ændringslog og opgraderingsnoter version 3.01
Document Capture for Microsoft Dynamics NAV Ændringslog og opgraderingsnoter version 3.01 INDHOLDSFORTEGNELSE Generelle ændringer... 3 Klassisk Klient... 5 Rollebaseret klient & server... 6 Webgodkendelse...
Læs mereManual til Wordpress. 1. Log ind på din Wordpress-side. Indhold:
Manual til Wordpress Sådan opdaterer du din hjemmeside i Wordpress: Dette er en manual til de mest grundlæggende ting, så du selv kan redigere indholdet eller tilføje nyt på din hjemmeside. Guiden er skrevet
Læs mere"Sådan spiser du lækkerier uden dårlig samvittighed"
GRATIS GUIDE "Sådan spiser du lækkerier uden dårlig samvittighed" TIL DIG FRA ANNE KNUDSEN NYDELSESCIRKLEN INTRODUKTION Mange af os har lært, at vejen til vægttab og sundhed handler om at holde sig fra
Læs mereNår du åbner Sportsplanner første gang, får du to muligheder. Åben opstilling og Ny opstilling.
Sportsplanner I DGI Sportsplanner har du mulighed for at tegne redskabsbaner, som passer direkte på det sted, hvor du og dine gymnaster træner. De opstillinger du tegner har du mulighed for at få tilsendt
Læs mereI denne manual kan du finde en hurtig introduktion til hvordan du:
VORES NORDSJÆLLAND HURTIGT I GANG MANUAL 01: Bruger HVAD INDEHOLDER DENNE MANUAL? I denne manual kan du finde en hurtig introduktion til hvordan du: 1. Finder Vores Nordsjælland hjemmesiden 2. Opretter
Læs mereMozilla Firefox (tidligere Firebird): Fremhæve ord
Denne guide er oprindeligt udgivet på Eksperten.dk Mozilla Firefox (tidligere Firebird): Fremhæve ord Du kender sikkert Google Værktøjslinjen til Internet Explorer, ellers har du sikkert hørt om den. I
Læs mereDu har også mulighed for at udlæse faktisk bogførte tal fra et regnskabsår til et budgetark.
Budget vejledning Indhold Oprettelse af budget i TØS...3 TØS- budget til excel eksport af budget...4 Excel budget til TØS import af budget...5 Udlæse regnskabstal til budget...8 Slette budgetter...8 UDSKRIFTER...9
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereInterviewguide udarbejdet i forbindelse med udviklingen af Silkeborg Biblioteks nye hjemmeside 2. halvdel 2006
Interviewguide udarbejdet i forbindelse med udviklingen af Silkeborg Biblioteks nye hjemmeside 2. halvdel 2006 Interviewguide. 09. 2006 Silkeborg Biblioteks Ny hjemmeside Dagsorden for interview omkring
Læs mereSortering. 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 mereDifferentialregning med TI-Interactive! Indledende differentialregning Tangenter Monotoniforhold og ekstremum Optimering Jan Leffers (2009)
Differentialregning med TI-Interactive! Indledende differentialregning Tangenter Monotoniforhold og ekstremum Optimering Jan Leffers (2009) Indholdsfortegnelse Indholdsfortegnelse...2 Indledende differentialregning...3
Læs mereColoris. Programmet fungere på den måde at man vælger det billede man ønsker at arbejde med ved at klikke på det under menupunktet Projekter.
Under dette afsnit kan du lære at kende og benytte de mest nødvendige værktøjer til farvesætnings programmet Coloris. Skærmbilledet for Coloris ser således ud når du åbner for programmet (billedet kan
Læs mereChatBot. Introduktion. Scratch. Nu skal du lære hvordan du programmerer din egen talende robot! Arbejdsliste. Test dit Projekt.
Scratch 1 ChatBot All Code Clubs must be registered. Registered clubs appear on the map at codeclubworld.org - if your club is not on the map then visit jumpto.cc/ccwreg to register your club. Introduktion
Læs mereSådan vedligeholder du UNI Login med data fra NP Privatskole
Sådan vedligeholder du UNI Login med data fra NP Privatskole 1 Indhold 1 Indledning... 3 1.1 Oprettelse og eksport af xml-fil i NP Privatskole... 3 2 Importer brugerdata... 5 3 Når du har importeret, sker
Læs mereSIDEN PÅ WORDPRESS.COM
WordPress WordPress er et fantastisk program til blog og til hjemmesider, hvor du gerne vil kunne rette via din browser. WordPress er meget udbredt og det er derfor nemt at finde fora, templates og hjælp
Læs mereExceptions 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 mereIntroduktion 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 mereEncoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2
Encoding:...1 Et tegn sæt (character set):...1 UTF-8 og UTF-16 (Unicode):...2 Encoding: Vi har tidligere set på spørgsmålet om et XML dokuments encoding. Det er generelt altid en god ide at gemme et dokument
Læs mereListen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:
Denne guide er oprindeligt udgivet på Eksperten.dk SQL og ASP En artikel omkring simpel SQL og hvordan disse opbygges, udformes og udføres, sådan at man kan få et brugbart resultat i ASP. Dette ligefra
Læs mereOBS.: Fysiske bilag (indbakken ) viser bilag som er bogført. Du kan IKKE slette bilag, der ikke er bogført, men som ligger i kladde.
Indlæs Fysiske bilag Spring til Layout, Skabeloner, Søg Relevante links.: Import af e-conomic bilag, Fysiske bilag Fysiske bilag (Indbakke) Fysiske bilag kan placeres på det enkelte bilag på mange måder.
Læs meredpix opgaveredigering i Emacs en tutorial
dpix opgaveredigering i Emacs en tutorial Svend Daugaard Pedersen 11. januar 2014 Indhold 1 Indledning 1 2 Start Emacs og opret et LATEX-projekt 1 3 En skabelon til opgaveredigering 2 4 Indlæs en opgave
Læs mereTastevejledning Windows XP
Tastevejledning Windows XP Tastevejledningen dækker den danske udgave af Windows XP. Der er taget udgangspunkt i en standard installation, hvor der ikke er foretaget tilpasninger i skærmopsætning, valg
Læs mereVejledning om aktivitetsindberetning for folkehøjskoler og ungdomshøjskoler
Vejledning om aktivitetsindberetning for folkehøjskoler og ungdomshøjskoler Indhold Vejledning om aktivitetsindberetning for folkehøjskoler og ungdomshøjskoler... 1 Log på indberetningsportalen... 2 Navigationsknapper...
Læs mereVersion Vejledning. til. PicturesInYourHead. Præsentationsdel. Version 04
Vejledning til PicturesInYourHead Præsentationsdel Version 04 Søren Skogstad Nielsen mail:skogstadnielsen@gmail.com 1af 15 Status Dato Hvem Hvad 17-04-11 Ssn Oprettet, installation, i gang, snigpremieren
Læs mereVejledning og kommentarer til opdatering
Vejledning og kommentarer til opdatering Udgave: SummaSummarum 4 Version: 4.20 Frigivelse: 3. december 2012 Nyhederne i SummaSummarum 4.20 SummaSummarum 4.20 indeholder flere nye forbedringer og muligheder
Læs mereVejledning til anmodning om driftslignende tilskud fra Undervisningsministeriet
Vejledning til anmodning om driftslignende tilskud fra Undervisningsministeriet 1 1. INDLEDNING 3 2. HVEM KAN ANMODE OM DRIFTSLIGNENDE TILSKUD 3 3. KRAV TIL ANMODNINGENS FORM OG INDHOLD 3 4. DET ELEKTRONISKE
Læs mereUniversity 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 mereBrugermanual til Assignment hand in
Brugermanual til Assignment hand in Indhold: Undervisere:...2 Hvor finder jeg Assignment hand in?...2 Opret en opgave...4 Slet en opgave...5 Rediger en opgave...5 Hvor finder jeg de afleverede filer?...5
Læs mereKort om indlæsning af excel filer til budgetkladder i Navision
Kort om indlæsning af excel filer til budgetkladder i Navision Hovedproceduren er 1. I excel dannes en fil med en bestemt kolonnerækkefølge 2. Denne fil gemmes som semikolonsepareret fil (CSV MSDOS) 3.
Læs mereDM507 Algoritmer og datastrukturer
DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således
Læs mereData load og udtræk. 2. iteration: implmentation (test af backend) PHP mysql. Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON
Data load og udtræk 2. iteration: implmentation (test af backend) 1 PHP mysql Loade og parse XML (SimpleXML, Xpath) Filhåndtering i PHP JSON 2 Data udtræk PHP mysql: Processen 1. Forbind til MySQL server
Læs mereInstallationer og afinstallationer
Installationer og afinstallationer Installation af cute.pdf Cute.pdf er en kunstig printer. Den printer ikke papir men filer. I praksis laver den alle mulige filer om til formatet: pdf (konverterer). 1:
Læs mereDivide-and-Conquer algoritmer
Divide-and-Conquer algoritmer Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. Divide-and-Conquer algoritmer Det samme som rekursive algoritmer. 1. Opdel problem i mindre delproblemer
Læs mereYouYonder. så husker du det du lærer
YouYonder så husker du det du lærer Lidt om kunsten at tage effektive noter Hvis du læser en artikel på internettet, ser en video, læser en bog eller hører et foredrag, så vil du kunne øge dit udbytte
Læs mereVejledning til indberetning af elever på frie grundskoler pr. 5. september 2015 til beregning af efterregulering 2015 og driftstilskud 2016 Indhold
Vejledning til indberetning af elever på frie grundskoler pr. 5. september 2015 til beregning af efterregulering 2015 og driftstilskud 2016 Indhold Fil-indberetning... 3 Opbygning af oplysningsskemaet...
Læs mereAnsættelsesbrev med flettefil til HR-Løn
Ansættelsesbrev med flettefil til HR-Løn Side 1 af 6 I denne vejledning kan du læse, hvordan du kan danne et ansættelsesbrev, der er sat op med jeres institutions brevpapir, og med lige præcis de informationer,
Læs mereAdministrator v1.0 QUICK GUIDE. Green Glass Software V/ Dan Feld-Jakobsen Lojovej 1 6200 Aabenraa 51 92 83 58 / dan@rekvi-skole.dk
Administrator v1.0 QUICK GUIDE Green Glass Software V/ Dan Feld-Jakobsen Lojovej 1 6200 Aabenraa 51 92 83 58 / dan@rekvi-skole.dk INTRODUKTION TIL REKVI-KONTOR Ideen med Rekvi-Kontor systemet udsprang
Læs mereIsenTekst Indhold til Internettet. Manual til Wordpress.
Manual til Wordpress Sådan opdaterer du din hjemmeside i Wordpress. Dette er en manual til de mest grundlæggende ting, så du selv kan redigere indholdet eller tilføje nyt på din hjemmeside. Guiden er skrevet
Læs mereNetkatalog upload. Forord: Formål:
Netkatalog upload Forord: De data, I indsender som e-katalog, genbruges af SKI s kunder i de ordre, der sendes tilbage til Jer. Det er derfor vigtigt, både for kundes efterfølgende fakturakontrol; men
Læs mereSPØRGESKEMA TIL MODTAGERE AF HJEMMEPLEJE HØRSHOLM KOMMUNE
SPØRGESKEMA TIL MODTAGERE AF HJEMMEPLEJE HØRSHOLM KOMMUNE 2 (VEJLEDNING - WEB VERSION) VELKOMMEN TIL BRUGERUNDERSØGELSEN AF HJEMMEPLEJEN I HØRSHOLM KOMMUNE VEJLEDNING Tak fordi du vil deltage i denne undersøgelse
Læs mereUdbedring af fejlsituationer ved anvendelse af BridgeMate
Udbedring af fejlsituationer ved anvendelse af BridgeMate Indhold: Kort om BridgeCentral og BridgeMate funktionen Resumé PC en går i dvale eller lukker ned under en session Serveren mister strøm Et bord
Læs mereManual Version 2. til oprettelse af hjemmesider for landsbyer i Rebild kommune
Manual Version 2 til oprettelse af hjemmesider for landsbyer i Rebild kommune Oversigt: Login Hjemmeside...... side 3 Login Administrationsmodul... side 5 Kategorier.. side 6 Opret/rediger første side...
Læs mereHånd@ Tilretning af importdatafiler
Hånd@ Tilretning af importdatafiler Tilretning af Import data filer.... 3 Fjerne dubletter... 4 Tilret og tilføj kolonne overskrifter... 9 Hvordan fordeles data fra en kolonne til flere?... 10 Sammenføje
Læs mereVejledning om aktivitetsindberetning for. folkehøjskoler og ungdomshøjskoler
Vejledning om aktivitetsindberetning for folkehøjskoler og ungdomshøjskoler INDHOLD Vejledning om aktivitetsindberetning for folkehøjskoler og ungdomshøjskoler... 1 Log på systemet... 2 Navigationsknapper...
Læs merePatientsikkerhed på tværs af aktører
Patientsikkerhed på tværs af aktører Lovkrav om rapportering af utilsigtede hændelser siden 2004 i sygehussektoren. Lovændring 2010: Udvidelse af patientsikkerhedsordningen til også at omfatte sundhedsydelser
Læs mereINSTALLATIONSGUIDE. Installationsguide. for Dynamics AX 4.0. til. dansk udgave. Frederiksberg, maj Docversion: 1.01.
INSTALLATIONSGUIDE Frederiksberg, maj 2007 Installationsguide til for Dynamics AX 4.0 dansk udgave h Indhold 1 Indledning...3 1.1 Systemkrav...3 1.2 Kritik modtages gerne...3 1.3 Yderligere oplysninger...3
Læs mereDe fire elementers kostbare spejl
Projekt.6 Lineær algebra moderne og klassisk kinesisk De fire elementers kostbare spejl "Som bekendt anses matematikken for at være en meget vigtig videnskab. Denne bog om matematik vil derfor være af
Læs mereDatatransport... 2. Import & Eksport af data... 2. Generelt... 2. Import/eksport... 4. Felter i Import og Eksport... 5
Indhold Datatransport... 2 Import & Eksport af data... 2 Generelt... 2 Import/eksport.... 4 Felter i Import og Eksport... 5 Trykknapper til Import og Eksport... 7 1 Alle... 7 2 Slet... 7 3 Editor... 7
Læs mereAndreas Lauge V. Hansen klasse 3.3t Roskilde HTX
IT -Eksamen Andreas Lauge V. Hansen klasse 3.3t Roskilde HTX [Vælg en dato] Indhold Indledning... 2 Teori... 3 Hvorfor dette design... 4 Produktet... 4 Test og afprøvning... 9 Konklusion... 10 Indledning
Læs mere