Programmering og Problemløsning, 2017

Størrelse: px
Starte visningen fra side:

Download "Programmering og Problemløsning, 2017"

Transkript

1 Programmering og Problemløsning, 2017 Træstrukturer Part III Martin Elsman Datalogisk Institut Københavns Universitet DIKU 3. November, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

2 Outline 1 Træstrukturer Part III Udtrykstræer Evaluering af Udtryk Simpel Pretty-Printing Symbolsk Differentiering Generering af LAT E X kode Simplificering af Symbolske Udtryk Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

3 Outline Udtrykstræer og Symbolsk Differentiering Emner for i dag: 1 Udtrykstræer. Sum-type definition (funktioner af en variabel) 2 Evaluering af udtryk. 3 Simpel pretty-printing. Pretty bad... 4 Symbolsk differentiering. Vi implementerer gymnasiereglerne for differentiering... 5 Generering af L A TEX kode. Vi prøver at undgå unødige parenteser... 6 Simplificering. Vi implementerer forskellige regneregler til simplificering... Times Plus Divide X X Const 3 X ( 3 + x) sin x x Sin Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

4 Udtrykstræer Regneudtryk i én variabel Et udtryk kan (rekursivt) være på en af følgende former: 1 Variablen x. 2 En konstant c IR. 3 To udtryk adskilt af +. 4 To udtryk adskilt af. 5 To udtryk adskilt af (gange). 6 To udtryk adskilt af en brøkstreg. 7 Et udtryk opløftet til en potens p. 8 Funktionen sin anvendt på et udtryk. 9 Funktionen cos anvendt på et udtryk. 10 Funktionen log anvendt på et udtryk. 11 Konstanten e opløftet til en potens angivet med et udtryk. 12 Et udtryk omgivet af parenteser. Eksempel: sin x + (x + 1)2 cos x Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

5 Udtrykstræer Sum-Type til Udtrykstræer type expr = X // The variable x Const of float // Constants Plus of expr * expr // Addition Minus of expr * expr Times of expr * expr Divide of expr * expr Power of expr * float // a d, e.g., (x + 2) 2.3 Sin of expr Cos of expr Log of expr Exp of expr // e a, e.g., e (2+x) Bemærk Vi understøtter kun funktioner af én variabel. Parenteser er implicitte; træet indkoder parenteser direkte. Dvs: Parsning (at konvertere en streng til et udtrykstræ) er en separat problemstilling vi vil se på en anden gang... Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

6 Evaluering af Udtryk Evaluering af Udtryk (fortolkning) Et udtrykstræ repræsenterer kroppen på en funktion f (x). let rec eval e x = // assume a value for the variable X match e with X -> x Const c -> c Plus (e1, e2) -> eval e1 x + eval e2 x Minus (e1, e2) -> eval e1 x - eval e2 x Times (e1, e2) -> eval e1 x * eval e2 x Plus Divide (e1, e2) -> eval e1 x / eval e2 x Power (e, p) -> (eval e x) ** p Sin e -> sin (eval e x) Cos e -> cos (eval e x) Divide Power Log e -> log (eval e x) Exp e -> exp (eval e x) Sin Cos Plus 2 x x x 1 let ee = Plus (Divide (Sin X, Cos X), Power (Plus (X, Const 1.0), 2.0)) let v = eval ee 3.0 // evaluates to Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

7 Simpel Pretty-Printing Simpel Pretty-Printing (pretty bad) let par s = "(" + s + ")" let rec pp e : string = match e with X -> "x" Const c -> sprintf "%g" c Plus (e1, e2) -> par(pp e1 + "+" + pp e2) Minus (e1, e2) -> par(pp e1 + "-" + pp e2) Times (e1, e2) -> par(pp e1 + "*" + pp e2) Divide (e1, e2) -> par(pp e1 + "/" + pp e2) Power (e, p) -> par(pp e + "ˆ" + sprintf "%g" p) Sin e -> "sin " + pp e Cos e -> "cos " + pp e Log e -> "log " + pp e Exp e -> "exp " + pp e Hvad er der galt ved denne pretty-printer? 1 2 Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

8 Symbolsk Differentiering Differentieringsregler h(x) h (x) x 1 c 0 f (x) + g(x) f (x) + g (x) f (x) g(x) f (x) g (x) f (x) g(x) f (x) g(x) + f (x) g (x) f (x) g(x) x n f (x) g(x) f (x) g (x) (g(x)) 2 n x n 1 sin x cos x cos x sin x logx 1 e x f (g(x)) x e x f (g(x)) g (x) Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

9 Symbolsk Differentiering Symbolsk Differentiering i F# let rec ddx e = match e with X -> Const 1.0 Const c -> Const 0.0 Plus (e1, e2) -> Plus(ddx e1, ddx e2) Minus (e1, e2) -> Minus (ddx e1, ddx e2) Times (e1, e2) -> Plus (Times (ddx e1, e2), Times (e1, ddx e2)) Divide (e1, e2) -> Divide(Minus (Times (ddx e1, e2), Times (e1, ddx e2)), Power (e2, 2.0)) Power (e, p) -> Times (Times (Const p, Power (e, p-1.0)), ddx e) Sin e -> Times (Cos e, ddx e) Cos e -> Times (Minus (Const 0.0, Sin e), ddx e) Log e -> Times (Divide (Const 1.0, e), ddx e) Exp e -> Times (Exp e, ddx e) Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

10 Symbolsk Differentiering Symbolsk Differentiering i F# > ddx ee;; val it : expr = Plus (Divide (Minus (Times (Times (Cos X,Const 1.0),Cos X), Times (Sin X,Times (Minus (Const 0.0,Sin X), Const 1.0))), Power (Cos X,2.0)), Times (Times (Const 2.0,Power (Plus (X,Const 1.0),1.0)), Plus (Const 1.0,Const 0.0))) > pp (ddx ee);; val it : string = "(((((cos x*1)*cos x)-(sin x*((0-sin x)*1)))/... (cos xˆ2))+((2*((x+1)ˆ1))*(1+0)))" Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

11 Generering af LAT E X kode Generering af L A TEX kode I stedet for at generere tekst kan vi generere L A T E X kode. Strategien er at lade vores pretty-printer returnere et par af to værdier: 1 En streng der repræsenterer den genererede L A T E X kode. 2 Et tal (præcedens) der siger hvor stærkt det underliggende udtryk binder. Eksempler pp (Plus(X, Const 1.0)) ("x+1.0", 2) pp (Times(Const 2.0, Const 3.0)) ("2.0\\cdot 3.0", 3) Betrakt udtrykket Times(X,Plus(X,Const 1.0)): Når vi nu skal pretty-printe det højre argument til Times kan vi se at vi skal sætte paranteser rundt om udtrykket "x+1.0", da præcedens-tallet 2 er mindre end (eller lig med) præcedens for konstruktøren Times: pp (Times(X, Plus(X, Const 1.0))) ("x\\cdot (x+1.0)", 3) Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

12 Generering af LAT E X kode Generering af L A TEX kode del 0 Nogle hjælpfunktioner samt præcedens-konstanter: let p_plus = 3 // precedence let p_times = 4 let p_divide = 0 // division with horizontal bar let p_unop = 5 let p_max = 1000 // [par p s] adds parentheses around s if the relative // precedence p (p_parent - p_child) is positive or 0 let par p s = if p < 0 then s else "(" + s + ")" Igen: Ingen parenteser er nødvendige omkring et barn hvis dets udtryk binder stærkere end forældre-udtrykket. Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

13 Generering af LAT E X kode Generering af L A TEX kode del 1 let tolatex e = let rec pp e : string * int = match e with X -> ("x", p_max) Const c -> (sprintf "%g" c, p_max) Plus (e1, e2) -> pp_binop ("+",p_plus) e1 e2 Minus (e1, e2) -> pp_binop ("-",p_plus) e1 e2 Times (e1, e2) -> pp_binop ("\\cdot ",p_times) e1 e2 Divide (e1, e2) -> let (s1,s2,_) = pp_bin p_divide e1 e2 in ("\\frac{" + s1 + "}{" + s2 + "}", p_max) Power (e, k) -> let (s1,s2,p) = pp_bin p_unop e (Const k) in (s1 + "ˆ{" + s2 + "}", p) Sin e -> pp_unop "sin " e Cos e -> pp_unop "cos " e Log e -> pp_unop "log " e Exp e -> let (s,a) = pp e in ("eˆ{" + par (p_unop-a) s + "}", p_unop) and... Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

14 Generering af LAT E X kode Generering af L A TEX kode del 2... and pp_bin p e1 e2 = let (s1,p1) = pp e1 let (s2,p2) = pp e2 in (par (p-p1) s1, par (p-p2) s2, p) and pp_binop (op,p) e1 e2 = let (s1,s2,p) = pp_bin p e1 e2 in (s1 + op + s2, p) and pp_unop op e = let (s,p) = pp e in ("\\"+op + par (p_unop-p) s, p_unop) in fst(pp e) Eksempel: tolatex (ddx ee) "\frac{(\cos x\cdot 1)\cdot \cos x-\sin x\cdot ((0-\sin x)... \cdot 1)}{(\cos x)ˆ{2}}+(2\cdot (x+1)ˆ{1})\cdot (1+0)" (cos x 1) cos x sin x ((0 sin x) 1) (cos x) 2 + (2 (x + 1) 1 ) (1 + 0) Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

15 Simplificering af Symbolske Udtryk Simplificering af Symbolske Udtryk Der er tilsyneladende en række konstruktioner der kan simplificeres... ddx ee Plus (Divide (Minus (Times (Times (Cos X,Const 1.0),Cos X), Times (Sin X,Times (Minus (Const 0.0,Sin X), Const 1.0))), Power (Cos X,2.0)), Times (Times (Const 2.0,Power (Plus (X,Const 1.0),1.0)), Plus (Const 1.0,Const 0.0))) Eksempler: Times (Cos X,Const 1.0) = Cos X Plus (Const 1.0,Const 0.0) = Const 1.0 Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

16 Simplificering af Symbolske Udtryk En Simplificeringsfunktion i F# del 1 let rec simplify e = match e with Plus (e1, Const 0.0) -> simplify e1 Plus (Const 0.0, e2) -> simplify e2 Plus (Const a, Const b) -> Const (a + b) Plus (e1, e2) -> Plus (simplify e1, simplify e2) Minus (e1, Const 0.0) -> simplify e1 Minus (Const a, Const b) -> Const (a - b) Minus (e1, Minus(Const 0.0, e2)) -> Plus (simplify e1, simplify e2) Minus (e1, e2) -> Minus (simplify e1, simplify e2) Divide (Const 0.0, e2) -> Const 0.0 Divide (e1, Const 1.0) -> simplify e1 Divide (e1, e2) -> Divide (simplify e1, simplify e2) Power (e, 1.0) -> simplify e Power (e, c) -> Power (simplify e,c)... Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

17 Simplificering af Symbolske Udtryk En Simplificeringsfunktion i F# del 2 let rec simplify e = match e with... Times (e1, Const 0.0) -> Const 0.0 Times (Const 0.0, e2) -> Const 0.0 Times (e1, Const 1.0) -> simplify e1 Times (Const 1.0, e2) -> simplify e2 Times (Const a, Const b) -> Const (a * b) Times (e1,plus(e2,e3)) -> simplify (Plus(Times(e1,e2),Times(e1,e3))) Times (e1,minus(e2,e3)) -> simplify (Minus(Times(e1,e2),Times(e1,e3))) Times (e1, e2) -> if e1 = e2 then simplify (Power (e1,2.0)) else Times (simplify e1, simplify e2) Sin e -> Sin (simplify e) Cos e -> Cos (simplify e) Log e -> Log (simplify e) Exp e -> Exp (simplify e) _ -> e Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

18 Simplificering af Symbolske Udtryk Det tager flere steps før simplifyeren stabiliseres: tolatex(ddx ee) (cos x 1) cos x sin x ((0 sin x) 1) (cos x) 2 + (2 (x + 1) 1 ) (1 + 0) tolatex(simplify(ddx ee)) cos x cos x sin x (0 sin x) (cos x) 2 + (2 (x + 1) + 0) tolatex(simplify(simplify(ddx ee))) (cos x) 2 (0 (sin x) 2 ) (cos x) 2 + (2 x + 2) tolatex(simplify(simplify(simplify(ddx ee)))) (cos x) 2 + (sin x) 2 (cos x) 2 + (2 x + 2) Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

19 Simplificering af Symbolske Udtryk Komplet Simplificering Med generisk lighed og rekursion kan vi let skrive en simplifyer der kalder simplify igen og igen indtil udtrykket ikke længere simplificeres: let rec simplifymax e = let se = simplify e in if se = e then e else simplifymax se Komplet Simplificering i Aktion: tolatex(simplifymax(ddx ee)) "\\frac{(\\cos x)ˆ{2}+(\\sin x)ˆ{2}}{(\\cos x)ˆ{2}}+(2\\cdot x+2)" L A T E X Fortolkning: (cos x) 2 + (sin x) 2 (cos x) 2 + (2 x + 2) Martin Elsman (DIKU) Programmering og Problemløsning, November, / 19

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

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

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

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 Højere-ordens Funktioner Part I Martin Elsman Datalogisk Institut Københavns Universitet DIKU 20. November, 2017 Martin Elsman (DIKU) Programmering og Problemløsning,

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Martin Elsman Department of Computer Science University of Copenhagen DIKU September 27, 2017 Martin Elsman (DIKU) Programmering og Problemløsning, 2017 September

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

Programmering for begyndere Lektion 2. Opsamling mm

Programmering for begyndere Lektion 2. Opsamling mm Lektion 2 Opsamling mm God tone Der er indlagt spørge sessioner Lektion 2 - Agenda Programmering for Lidt ændringer til teknikken, herunder hvordan du genser en lektion Lidt generelle tilbagemeldinger

Læs mere

Programmering og Problemløsning, 2017

Programmering og Problemløsning, 2017 Programmering og Problemløsning, 2017 Programmering med Lister og Arrays Martin Elsman Department of Computer Science University of Copenhagen DIKU October 3, 2017 Martin Elsman (DIKU) Programmering og

Læs mere

Løsningsforslag Skriftlig eksamen 9. januar 2012

Løsningsforslag Skriftlig eksamen 9. januar 2012 Løsningsforslag Skriftlig eksamen 9. januar 2012 Version 1, 2012-01-09 Spørgsmål 1 Spørgsmål 1.1 Først laver vi indlysende korrekt NFAer for hver af de to dele (ddd ddd) og (_ddd)* af det givne regulære

Læs mere

Dynamisk programmering

Dynamisk programmering Dynamisk programmering Dynamisk programmering Optimeringsproblem: man ønsker at finde bedste den kombinatoriske struktur blandt mange mulige. Dynamisk programmering Optimeringsproblem: man ønsker at finde

Læs mere

Lektion 3 Sammensætning af regnearterne

Lektion 3 Sammensætning af regnearterne Lektion Sammensætning af regnearterne Indholdsfortegnelse Indholdsfortegnelse... Plus, minus, gange og division... Negative tal... Parenteser og brøkstreger... Potenser og rødder... Lektion Side 1 Plus,

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug

Læs mere

Lær Python dag 1 - modul 1

Lær Python dag 1 - modul 1 Lær Python dag 1 - modul 1 Introduktion, basis python Steffen Berg Klenow Jonas Bamse Andersen Syddansk Universitet Indhold 1. Velkommen 2. Programmering i python 3. Typer, variabler og udtryk 1 Velkommen

Læs mere

dynamisk geometriprogram regneark Fælles mål På MULTIs hjemmeside er der en oversigt over, hvilke Fælles Mål der er sat op for arbejdet med kapitlet.

dynamisk geometriprogram regneark Fælles mål På MULTIs hjemmeside er der en oversigt over, hvilke Fælles Mål der er sat op for arbejdet med kapitlet. Algebra og ligninger - Facitliste Om kapitlet I dette kapitel om algebra og ligninger skal eleverne lære at regne med variable, få erfaringer med at benytte variable Elevmål for kapitlet Målet er, at eleverne:

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer Kursus nr. 06. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne: Opgave

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

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

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

Symbolbehandlingskompetencen er central gennem arbejdet med hele kapitlet i elevernes arbejde med tal og regneregler.

Symbolbehandlingskompetencen er central gennem arbejdet med hele kapitlet i elevernes arbejde med tal og regneregler. Det første kapitel i grundbogen til Kolorit i 8. klasse handler om tal og regning. Kapitlet indledes med, at vores titalssystem som positionssystem sættes i en historisk sammenhæng. Gennem arbejdet med

Læs mere

Dokumentation af programmering i Python 2.75

Dokumentation af programmering i Python 2.75 Dokumentation af programmering i Python 2.75 Af: Alexander Bergendorff Jeg vil i dette dokument, dokumentere det arbejde jeg har lavet i løbet opstarts forløbet i Programmering C. Jeg vil forsøge, så vidt

Læs mere

Oprids over grundforløbet i matematik

Oprids over grundforløbet i matematik Oprids over grundforløbet i matematik Dette oprids er tænkt som en meget kort gennemgang af de vigtigste hovedpointer vi har gennemgået i grundforløbet i matematik. Det er en kombination af at repetere

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

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

Induktive og rekursive definitioner

Induktive og rekursive definitioner Induktive og rekursive definitioner Denne note omhandler matematiske objekter, som formelt er opbygget fra et antal basale byggesten, kaldet basistilfælde eller blot basis, ved gentagen brug af et antal

Læs mere

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode.

2) Det er let at være produktiv med Python, da Python som regel kun har mellem 67 og 80% færre linier end tilsvarende C eller Java kode. Denne guide er oprindeligt udgivet på Eksperten.dk I gang med Python I denne artikel vil jeg forsøge at give et kort og hurtigt indblik i programmeringssproget Python, der desværre er alt for overset.

Læs mere

Et udtryk er (som bekendt?) lineært hvis den differentierede er en konstant funktion, dvs. at den ikke afhænger af x. Betragt f lgende værdiprocedurer

Et udtryk er (som bekendt?) lineært hvis den differentierede er en konstant funktion, dvs. at den ikke afhænger af x. Betragt f lgende værdiprocedurer Opgave 1 (25%) Simple udtryk med +, - og * over heltal og en enkelt variabel x kan repræsenteres som værdier af f lgende type: Type Expression = Sum(const: Int, x: Unit, plus, minus, times: Arguments)

Læs mere

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af sider Danmarks Tekniske Universitet Skriftlig prøve, den. maj 00. Kursusnavn Algoritmer og datastrukturer I Kursus nr. 005. Tilladte hjælpemidler: Alle skriftlige hjælpemidler. Vægtning af opgaverne:

Læs mere

Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik

Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Datalogi C, RUC Forelæsning 22. november 2004 Henning Christiansen Syntaks og syntaksgenkendelse, særligt regulære udtryk og tilstandsmaskiner og lidt om anvendelser i bioinformatik Dagens program Hvad

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

Læs mere

Opgaver til Maple kursus 2012

Opgaver til Maple kursus 2012 Opgaver til Maple kursus 2012 Jonas Camillus Jeppesen, jojep07@student.sdu.dk Martin Gyde Poulsen, gyde@nqrd.dk October 7, 2012 1 1 Indledende opgaver Opgave 1 Udregn følgende regnestykker: (a) 2342 +

Læs mere

JavaScript. nedarvning.

JavaScript. nedarvning. JavaScript er et sprog, der kan give en hjemmeside mere funktionalitet og gøre den interaktiv, så den reagerer på læsernes handlinger. CGI (Common Gateway Interface) har hidtil været de protokoller, man

Læs mere

Python 3 kursus lektion 1:

Python 3 kursus lektion 1: Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan

Læs mere

PUT og INPUT funktionerne

PUT 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

Programmering i C Videre med C (2 af 4) 19. marts 2007

Programmering i C Videre med C (2 af 4) 19. marts 2007 Programmering i C Videre med C (2 af 4) 19. marts 2007 Mads Pedersen, OZ6HR mads@oz6hr.dk Plan i dag Brush-up fra sidst Videre med C Kontrolløkker (while, for, ) Conditional Execution (if, if/else) Funktioner

Læs mere

Løsningsforslag Skriftlig eksamen 3. januar 2013

Løsningsforslag Skriftlig eksamen 3. januar 2013 Løsningsforslag Skriftlig eksamen 3. januar 2013 Version 1, 2013-01-03 Spørgsmål 1 Spørgsmål 1.1 L1: od2 := FALSE L2: SLEEP 100 IF (cd2 < 14) GOTO L2 od2 := TRUE Ovenstående løser opgaven fordi digital

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

Et udtrykstrç med de ære regnearter, heltalskonstanter og variabler beskrives. Type Expr = Sumèplus, minus, times, div: Args, const: Int, name: Textè

Et udtrykstrç med de ære regnearter, heltalskonstanter og variabler beskrives. Type Expr = Sumèplus, minus, times, div: Args, const: Int, name: Textè Opgave 1 è20èè Et udtrykstrç med de ære regnearter, heltalskonstanter og variabler beskrives af fçlgende rekursive Trine-type: Type Expr = Sumèplus, minus, times, div: rgs, const: Int, name: Textè Type

Læs mere

Skriftlig Eksamen Algoritmer og Datastrukturer (dads)

Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Skriftlig Eksamen Algoritmer og Datastrukturer (dads) Datalogisk Institut Aarhus Universitet Tirsdag den 27. maj 2003, kl. 9.00 3.00 Opgave (25%) For konstanten π = 3.4592... gælder identiteten π 2 6 =

Læs mere

ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER

ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER INDHOLDSFORTEGNELSE 0. FORMELSAMLING TIL FORMLER OG LIGNINGER... 2 Tal, regneoperationer og ligninger... 2 Isolere en ubekendt... 3 Hvis x står i første brilleglas...

Læs mere

matx.dk Enkle modeller

matx.dk Enkle modeller matx.dk Enkle modeller Dennis Pipenbring 28. juni 2011 Indhold 1 Indledning 4 2 Funktionsbegrebet 4 3 Lineære funktioner 8 3.1 Bestemmelse af funktionsværdien................. 9 3.2 Grafen for en lineær

Læs mere

Kapitel 3 Betinget logik i C#

Kapitel 3 Betinget logik i C# Kapitel 3 i C# er udelukkende et spørgsmål om ordet IF. Det er faktisk umuligt at programmere effektivt uden at gøre brug af IF. Du kan skrive små simple programmer. Men når det bliver mere kompliceret

Læs mere

Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er

Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er Definition : Et træ er en sammenhængende ikke-orienteret graf uden simple kredse. Sætning : En ikke-orienteret graf er et træ hvis og kun hvis der er en unik simpel vej mellem ethvert par af punkter i

Læs mere

Bits DM534. Rolf Fagerberg, 2012

Bits DM534. Rolf Fagerberg, 2012 Bits DM534 Rolf Fagerberg, 2012 Resume af sidst Overblik over kursus Introduktion. Tre pointer: Datalogi er menneskeskabt og dynamisk. Tidslinie over fremskridt mht. ideer og hardware. Algoritme er et

Læs mere

HinkeHop DE HURTIGE 5-6 ÅR. Sådan gør du: Prøv at justere aktiviteten sådan her...!

HinkeHop DE HURTIGE 5-6 ÅR. Sådan gør du: Prøv at justere aktiviteten sådan her...! HinkeHop Sådan gør du: 1. Print hoppepladerne. 2. Hvis du har kridt og et sted på jorden, der må tegnes, kan du sammen med barnet tegne hoppeplade 1 med kridt på jorden. Sørg for at tegne felterne, så

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

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Skriftlig eksamen i Datalogi

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

Læs mere

Programmering, algoritmik og matematik en nødvendig sammenblanding?

Programmering, algoritmik og matematik en nødvendig sammenblanding? Programmering, algoritmik og matematik en nødvendig sammenblanding? Oplæg til IDA møde, 29. november 2004 Martin Zachariasen DIKU 1 Egen baggrund B.Sc. i datalogi 1989; Kandidat i datalogi 1995; Ph.D.

Læs mere

Rekursion og dynamisk programmering

Rekursion og dynamisk programmering Rekursion og dynamisk programmering Datastrukturer & Algoritmer, Dat C Forelæsning 12/10-2004 Henning Christiansen Rekursion: at en procedure kalder sig selv eller et antal metoder kalder hinanden gensidigt.

Læs mere

Polynomier. Frank Villa. 26. marts 2012

Polynomier. Frank Villa. 26. marts 2012 Polynomier Frank Villa 26. marts 2012 c 2008-2011. Dette dokument må kun anvendes til undervisning i klasser som abonnerer på MatBog.dk. Se yderligere betingelser for brug her. Indhold 1 Introduktion 2

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgaver

Læs mere

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet

Sikre Beregninger. Kryptologi ved Datalogisk Institut, Aarhus Universitet Sikre Beregninger Kryptologi ved Datalogisk Institut, Aarhus Universitet 1 Introduktion I denne note skal vi kigge på hvordan man kan regne på data med maksimal sikkerhed, dvs. uden at kigge på de tal

Læs mere

MIPS modulet og registerallokatoren

MIPS modulet og registerallokatoren MIPS modulet og registerallokatoren Værktøjer til oversætterdelen af K1 Dat1E 2001 MIPS modulet Den vigtigste del af modulet MipsData.sml er datatypen mips, som beskriver MIPS ordrer, se figur 1. Alle

Læs mere

ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER

ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER ØVEHÆFTE FOR MATEMATIK C FORMLER OG LIGNINGER INDHOLDSFORTEGNELSE 0. FORMELSAMLING TIL FORMLER OG LIGNINGER... 2 Tal, regneoperationer og ligninger... 2 Ligning med + - / hvor x optræder 1 gang... 3 IT-programmer

Læs mere

#AlleKanKode. Lektion 2 - Konstanter og Variabler

#AlleKanKode. Lektion 2 - Konstanter og Variabler #AlleKanKode Lektion 2 - Konstanter og Variabler Disclaimer / Ansvarsfraskrivelse Alt du deler og siger mm bliver optaget. Lad være med at dele privat oplysninger, adgangskoder, kreditkort oplysninger

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

Sammensætning af regnearterne

Sammensætning af regnearterne Sammensætning af regnearterne Plus, minus, gange og division... 19 Negative tal... 0 Parenteser og brøkstreger... Potenser og rødder... 4 Sammensætning af regnearterne Side 18 Plus, minus, gange og division

Læs mere

Listen over reserverede ord er meget lang, men de væsentligste vil jeg beskrive her i denne artikel:

Listen 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 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

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

Fundamentale sprogbegreber

Fundamentale sprogbegreber Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn) Oversigt Sætninger simple sætninger (assignment, metodekald) sammensatte sætninger (selektion,

Læs mere

Mini-formelsamling. Matematik 1

Mini-formelsamling. Matematik 1 Indholdsfortegnelse 1 Diverse nyttige regneregler... 1 1.1 Regneregler for brøker... 1 1.2 Potensregneregler... 1 1.3 Kvadratsætninger... 2 1.4 (Nogle) Rod-regneregler... 2 1.5 Den naturlige logaritme...

Læs mere

Læringsprogram. Numeriske metoder. Matematik A Programmering C Studieområdet. Roskilde Tekniske Gymnasium Klasse 3.4

Læringsprogram. Numeriske metoder. Matematik A Programmering C Studieområdet. Roskilde Tekniske Gymnasium Klasse 3.4 Læringsprogram Numeriske metoder Matematik A Programmering C Studieområdet Roskilde Tekniske Gymnasium Klasse 3.4 Lau Lund Leadbetter Mikkel Karoli Johnsen Tobias Sønderskov Hansen Lineær regression ved

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde

Læs mere

Sproget Rascal (v. 2)

Sproget Rascal (v. 2) Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik

Læs mere

Differentiation i praksis

Differentiation i praksis Differentiation i praksis Frank Villa 7. 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. Se yderligere

Læs mere

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22.

Klasser og Objekter i Python. Uge 46 Learning Python: kap 15-16, 19-22. Klasser og Objekter i Python Uge 46 Learning Python: kap 15-16, 19-22. Klasser og objekter En klasse beskriver en klump af samhørende funktioner og variable En klasse er en beskrivelse. En kage form Klassens

Læs mere

Divide-and-Conquer algoritmer

Divide-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 mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave

Læs mere

Danmarks Tekniske Universitet

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

Læs mere

Ved indkøring påtrykkes en kendt amplitude (HUSK 50 ohms afslutning) og displayet aflæses.

Ved indkøring påtrykkes en kendt amplitude (HUSK 50 ohms afslutning) og displayet aflæses. /* Power Meter 2012 /* Rettet den 13.februar 2013 /* Version 1.2 /* Input medie er en AD8307, som forsynes fra Arduino Uno stabiliserede 5 volt. A/D input er på Arduino analog input pin A0 AREF er tilført

Læs mere

Noter til C# Programmering Selektion

Noter til C# Programmering Selektion Noter til C# Programmering Selektion Sætninger Alle sætninger i C# slutter med et semikolon. En sætning kontrollerer sekvensen i programafviklingen, evaluerer et udtryk eller gør ingenting Blanktegn Mellemrum,

Læs mere

Algebra med Bea. Bea Kaae Smit. nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering

Algebra med Bea. Bea Kaae Smit. nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering Algebra med Bea Bea Kaae Smit nøgleord andengradsligning, komplekse tal, ligningsløsning, ligningssystemer, nulreglen, reducering Indhold 1 Forord 4 2 Indledning 5 3 De grundlæggende regler 7 3.1 Tal..........................

Læs mere

Repræsentation af tal

Repræsentation af tal Repræsentation af tal DM534 Rolf Fagerberg 1 / 18 Mål Målet for disse slides er at beskrive, hvordan tal repræsenteres som bitmønstre i computere. Dette emne er et uddrag af kurset DM548 Computerarkitektur

Læs mere

Introduktion Til Konkurrenceprogrammering

Introduktion Til Konkurrenceprogrammering Introduktion Til Konkurrenceprogrammering Søren Dahlgaard og Mathias Bæk Tejs Knudsen {soerend,knudsen}@di.ku.dk Version 0.1 Indhold Indhold i Introduktion 1 1 Palindromer 3 1.1 Introduktion til Python...............

Læs mere

Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner

Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner Forelæsning 4.1 Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner finden findalle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Afleveringsopgave

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

At klippe en streng over på det mest hensigtsmæssige sted

At klippe en streng over på det mest hensigtsmæssige sted Denne guide er oprindeligt udgivet på Eksperten.dk At klippe en streng over på det mest hensigtsmæssige sted Formålet med denne artikel er at kaste lidt lys over, hvordan man klipper en streng over på

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2019 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 27. februar, 2019 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

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

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens Programmering 1999 Forelæsning 3, tirsdag 7. september 1999 Aritmetiske og logiske operatorer, præcedens Den indbyggede klasse String: tegnstrenge Metoder i klasser Metoder: returtype eller void Metoder:

Læs mere

Oversættere Skriftlig eksamen onsdag d. 25. januar 2006

Oversættere Skriftlig eksamen onsdag d. 25. januar 2006 Københavns Universitet Naturvidenskabelig Embedseksamen Oversættere Skriftlig eksamen onsdag d. 25. januar 2006 Eksamenstiden er to timer. Opgavernes vægt i procent er angivet ved hver opgave. Den skriftlige

Læs mere

Tirsdag 12. december David Pisinger

Tirsdag 12. december David Pisinger Videregående Algoritmik, DIKU 2006/07 Tirsdag 12. december David Pisinger Resume sidste to gang Sprog L : mængden af instanser for et afgørlighedsproblem hvor svaret er 1. P = {L : L genkendes af en algoritme

Læs mere

Træer. Datastrukturer & Algoritmer, Datalogi C Forelæsning 9/

Træer. Datastrukturer & Algoritmer, Datalogi C Forelæsning 9/ Datastrukturer & Algoritmer, Datalogi C Forelæsning 9/11-2004 Træer En meget vigtig datastruktur Repræsentation af sprog (i meget generel betydning), syntakstræer: Java (i en compiler), SQL (i et databasesystem),

Læs mere

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser

Åben uddannelse, Efterår 1996, Oversættere og køretidsomgivelser 3/10/96 Seminaret den 26/10 vil omhandle den sidste fase af analysen og de første skridt i kodegenereringen. Det drejer sig om at finde betydningen af programmet, nu hvor leksikalsk og syntaktisk analyse

Læs mere

Divide-and-Conquer algoritmer

Divide-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 mere

Søgetræer: Generel repræsentation af (sorterede) mængder og funktioner Databasesystemer...

Søgetræer: Generel repræsentation af (sorterede) mængder og funktioner Databasesystemer... Datastrukturer & Algoritmer, Datalogi C Forelæsning 11/11-2003 Træer En meget vigtig datastruktur Repræsentation af sprog (i meget generel betydning), syntakstræer: Java (i en compiler), SQL (i et databasesystem),

Læs mere

Et kommatal som for eksempel 1,25 kaldes også noget andet. Hvad kaldes det også?

Et kommatal som for eksempel 1,25 kaldes også noget andet. Hvad kaldes det også? Et tal som både består af et helt tal og en brøk, for eksempel 2 " #. Hvad hedder det? Et kommatal som for eksempel 1,25 kaldes også noget andet. Hvad kaldes det også? Hvad kalder man tallet over brøkstregen

Læs mere

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

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 10 DM502 Forelæsning 10 Rekursion Fakultet n! Fibonaccitallene 2. projektopgave Opgaven Formalia Indhold Rekursion Rekursion Prøv at definere en liste af tal uden at bruge ordet liste Rekursion Prøv at definere

Læs mere

DesignMat Den komplekse eksponentialfunktion og polynomier

DesignMat Den komplekse eksponentialfunktion og polynomier DesignMat Den komplekse eksponentialfunktion og polynomier Preben Alsholm Uge 8 Forår 010 1 Den komplekse eksponentialfunktion 1.1 Definitionen Definitionen Den velkendte eksponentialfunktion x e x vil

Læs mere

TAL OG BOGSTAVREGNING

TAL OG BOGSTAVREGNING TAL OG BOGSTAVREGNING De elementære regnerter I mtemtik kn vi regne med tl, men vi kn også regne med bogstver, som gør det hele en smugle mere bstrkt. Først skl vi se lidt på de fire elementære regnerter,

Læs mere

1 Opsumering fra tidligere. 2 Dagsorden 3 BIMS. 4 Programtilstande. Statements/kommandoer (Stm) i bims. 3.1 Abstrakt syntaks for bims

1 Opsumering fra tidligere. 2 Dagsorden 3 BIMS. 4 Programtilstande. Statements/kommandoer (Stm) i bims. 3.1 Abstrakt syntaks for bims 1 Opsumering fra tidligere Hvis A er kontekstfrit, S er der et p > 0 s Alle s A hvor s p kan splittes op som s = uvxyz så argument 1-3 holder A er ikke kontekstfrit, hvis for ethvert bud på p kan findes

Læs mere

It og informationssøgning Forelæsning september 2006 Nils Andersen. Underprogrammer og betingelser. Standardfunktioner, typeomsætning

It og informationssøgning Forelæsning september 2006 Nils Andersen. Underprogrammer og betingelser. Standardfunktioner, typeomsætning It og informationssøgning Forelæsning 2 13. september 2006 Nils Andersen Underprogrammer og betingelser Standardfunktioner, typeomsætning Funktionskald Moduler, lange navne Brugerdefinerede funktioner

Læs mere

Side 1 af 10. Undervisningsbeskrivelse. Stamoplysninger til brug ved prøver til gymnasiale uddannelser. Termin Maj-juni 2009/10

Side 1 af 10. Undervisningsbeskrivelse. Stamoplysninger til brug ved prøver til gymnasiale uddannelser. Termin Maj-juni 2009/10 Undervisningsbeskrivelse Stamoplysninger til brug ved prøver til gymnasiale uddannelser Termin Maj-juni 2009/10 Institution Uddannelse Fag og niveau Lærer(e) Hold Handelsskolen Sjælland Syd, Vordingborg

Læs mere

MIPS, registerallokering og MARS

MIPS, registerallokering og MARS MIPS, registerallokering og MARS Torben Mogensen 2011 Resumé Vi beskriver modulerne Mips.sml og RegAlloc.sml, samt hvordan de bruges sammen med MIPS-emulatoren MARS. 1 MIPS modulet Modulet Mips.sml indeholder

Læs mere

Mike Vandal Auerbach. Funktioner.

Mike Vandal Auerbach. Funktioner. Mike Vandal Auerbach Funktioner y f g x www.mathematicus.dk Funktioner. udgave, 208 Disse noter er skrevet til undervisning i matematik på stx A- og B-niveau. Det indledende kapitel beskriver selve funktionsbegrebet,

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

Danmarks Tekniske Universitet

Danmarks Tekniske Universitet side af 2 sider Danmarks Tekniske Universitet Skriftlig prøve, den 2. maj 200. Kursusnavn Algoritmer og datastrukturer Kursus nr. 02326. Tilladte hjælpemidler: Alle hjælpemidler. Vægtning af opgaverne:

Læs mere

3 Algebra. Faglige mål. Variable og brøker. Den distributive lov. Potenser og rødder

3 Algebra. Faglige mål. Variable og brøker. Den distributive lov. Potenser og rødder 3 Algebra Faglige mål Kapitlet Algebra tager udgangspunkt i følgende faglige mål: Variable og brøker: kende enkle algebraiske udtryk med brøker og kunne behandle disse ved at finde fællesnævner. Den distributive

Læs mere