Föreläsning 8. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1.

Storlek: px
Starta visningen från sidan:

Download "Föreläsning 8. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1."

Transkript

1 Föreläsning 8. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1. Användning av Prolog. Haskell kan i princip användas till mycket, men grafiska paket, kopplingar till färdiga grafika komponenter p s s som i Java-biblioteket för Java osv är inte kommersiella produkter och finns nog mest inom den akademiska värden. Prolog har framför allt används inom AI ( Articifial Intellegence), och speciellt i Europa. I USA har lisp (som är ett tidigt funktionellt språk) används inom AI. Komplettering Laboration Att komma igång med Prolog. På /info/progp02/prolog/happypersons.pl finns datbasen på Brna sid 21. Använd den för att göra några körningar.

2 Funktioner, predikat och relationer. Funktioner kan ses som avbildningar, "mappningar", från värden i en definitonsmängd (domän) till värden i en värdemängd (range) : f :: A -> B a d b s t Endast en pil från varje värde Funktioner som har som värdemängd värdena True och False i typen Bool kallas predikat: (a, b) (a, c) (x, y) p :: (A, B) -> Bool True False Skrivs i Prolog i en "databas" som hängerihop(a, b). hängerihop(a, c). Dvs vi skriver bara det som är sant. Endast en pil från varje värde Prolog skriver vi i regel endast ut det som anses sant. Allt som inte är sant är nog osant. Eftersom p (a, b) = True och p (a, c) = True (se bilden i ovan) kan man se predikat som att värdet a av typen A "hänger ihop med" både värden c oh d av typen B. Vi kan rita detta som a hängerihop :: A -> B Flera pilar från varje värde. hängerihop är därför ej en funktion, utan en relation. b c Skrivs i Prolog i en "databas" som hängerihop(a, b). hängerihop(a, c). Betyder att det är sant att a hänger ihop med b och att det är sant att a hänger ihop med c. Brna: De två raderna ovan är ett predikat med två satser (clause) och predeikatnamnet hängerihop Märk att vi struntar i osanna saker, dvs eftersom p(x, y) = False så skrivs inte detta i "databasen". Värden kallas i Prolog konstanter. Konstanter är atomer eller tal (numbers). I denna kurs kommer vi mest att syssla med atomer, som är namn som börjar med små bokstäver.

3 Körning av sictus i emacs. Terminolgi mm. en sats, ett faktum fyra satser (clause), alla fakta sats (clause), fakta mål (goal) predikatnamn argument (en konstant, en atom) wise(jane). woman(jean). woman(jane). woman(joan). woman(pat). I det övre emacsfönstret skriver vi en databas med predikat, vad vi anser vara sant. två satser, fakta tre satser, fakta wealthy(jane). wealthy(jim). healthy(jim). healthy(jane). healthy(jean). Detta är databasen på sid 21 i Brna. Finns på /info/progp02/prolog/happypersons.pl. Lek med denna databas i första labben. tre satser, regler (rules, non-unit clauses) happy(p) :- healthy(p), woman(p). happy(p) :- wealthy(p), woman(p). happy(p) :- wise(p), woman(p). eller (disjunction) uttrycks i Prolog med flera satser för samma prdikat mål huvud (head) <= if mål implikation mål och conjunction kropp (body) regel (rule, non-unit clause)?- woman(jane). fråga (query) yes svar ( True enl databasen) {source_info} fråga (query)?- happy(r). med logisk variabel R = jane? yes {source_info}?- förslag till värde på R svar (med värdet enligt förslaget sant, dvs happy(jane) = True promt för ny fråga (query) argument (en logisk variabel) I det nedre emacsfönstret kan vi fråga databasen och få svar. emacsfönstret för minibufferten

4 Prolog och logisk programmering (och andra paradigm). Vad? Hur? Logik prog. Hels databasen kan läsas som logika utsagor. Prolog svarar alltid, korrekt och fort Hels databasen kan läsas som logika utsagor (deklarativ läsning) men har även en procedurell läsning Prolog svarar alltid, korrekt. Procdurella läsningen beskriver hur och hur fort. Databasen innehåller "fusk", saker som endast har procedurell läsning. "fusket" gör bl a att Prolog svarar snabbare ibland och kan göra det som vanliga programspråk kan. Pardiso Prolog Pure Prolog Non-pure Prolog Ofta realiteten Funk. prog. Haskell kan läsas som definitioner av typer och värden ("vanliga värden" funktioner) Hugs beräknar uttryck Hugs beräknar uttryck p ss som i matte. Typer kollas, viktigt att rekursion slutar i basfall och att det finns ekvationer för alla fall Imperativ OO Pardiso Haskell Haskell körning Java-program (metoderna) har mest en procedurell läsning Java-tolken kör metoderna Java

5 Haskell-delen av augustitentan. Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar. 2. a) Skriv en funktion distbetween:: ((Float, Float), (Float, Float)) -> Float som givet ett par med två kordinater ((x1, y1), (x2, y2)) i ett rätvinkligt koordinatsystem returnerarar avståndet mellan koordinaterna. Exempel..> distbetween ((0.0, 0.0), (3.0, 4.0)) blir 5.0 6p) b) Definiera triarea :: (Float, Float) -> (Float, Float) -> (Float, Float) -> Float som givet koordinaterna för tre hörn i ett rätvinkligt kordinatsystem returnerarar arean för triangeln bestämd av de tre hörnen. Tips: Använd Herons formel : A = sqrt (s*(s-a)*(s-b)*(s-c)) där a, b, c är längden på triangels sidor och s = 0.5*(a+b+c) 6p) 3. Definiera en funktion productbiggerthan :: Int -> [(Int, Int)] -> [Int] productbiggerthan k list multipliserar komponenterna i paren i list och retunerar en lista med de produkter som är större än k. Exempelvis: productbiggerthan 5 [(1, 2),(3, 4),(5, 6)] blir [12, 30] eftersom 3*4 > 5 och 5*6 > 5 a) Skriv funktionen utan att använda några högre ordningens funktioner eller listomfattning. (och inte som i uppgift d) b) Skriv funktionen med map och filter. c) Skriv funktionen med listomfattning. d) Skriv funktionen med hjälpfunktion med "accumulering i parameter". 15p) 4. I ett typuttrycket kan det stå Num a =>. Förklara vad som menas med detta. Vilkets sorts namn är Num? 5p)

6 5 a) Skriv i Haskell en modul för en datatype Shape för några olika geometriska former. Man skall kunna definera värden som är rektanglar givet två sidor cirklar givet radien rätvinkliga trianglar givet de två katetrarna polygoner givet en lista med kordinater för hörnen Dessutom skall det finnas (exporteras) en vanliga funktion square (ej konstuerarfunktion) som returnerar en kvadrat (givet sidan). Till slut skall det i ADT Shape finnas (exporteras) en funktion area :: Shape -> Float som retunerar arean för en geometrisk form (se även fråga b). Tips: Polygoners yta kan beräknas genom att dela upp en polgon i en mindre polygon och en triangel (för triangelns yta kan du använda funkitonen i 2 b): v1 v2 v5 v3 v4 v2 v3 = + v1 v1 v5 v3 v4 b) För att kontrollera funktionen area, skriv två uttryck vars värden utgör arean på en kvadrat med sidan 1, det ena uttrycket med kvadraten beskriven med funktionen square och det andra uttrycket med kvadraten beskriven med konstuerarfunktionen för polygoner, dvs kvadraten beskrivs som en polygon med fyra hörn i (0, 0), (1, 0), (1, 1), (0,1). Låt oss kalla värdet på de två uttrycken som u1 och u2. Diskutera vilket värde u1 == u2 kan få. c) På IKEA kan man tänka sig att man kan inhandla en rund cylindrisk kastrull med radien 3.0 och höjden 4.0. Skriv ett uttryck vars värde utgör kastrullens volym. Förslag till svar : Del funktionell programmering. distbetween :: ((Float, Float),(Float, Float)) -> Float -- 2a) distbetween ((x1, y1), (x2, y2)) = sqrt ((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))

7 triarea :: (Float, Float) -> (Float, Float) -> (Float, Float) -> Float -- 2b) triarea v1 v2 v3 = sqrt (s*(s-a)*(s-b)*(s-c)) where a = distbetween (v1, v2) b = distbetween (v2, v3) c = distbetween (v3, v1) s = 0.5*(a+b+c) productbiggerthan _ [] = [] -- 3 a productbiggerthan k ((i, j):ijs) i*j > k = (i*j) : productbiggerthan i ijs otherwise =productbiggerthan i ijs productbiggerthan k list = filter p (map f list) -- b where f (i, j) = i*j p m = m > k productbiggerthan k list = [ i*j (i,j) <- list, i*j > k ] -- c productbiggerthan k list = pbtacc k list [] -- d pbtacc :: Int -> [(Int, Int)] -> [Int] -> [Int] pbtacc _ [] acc = acc pbtacc k ((i, j):ijs) acc i*j > k = pbtacc k ijs (acc++[i*j]) otherwise = pbtacc k ijs acc -- 4 T ex Num a => a -> a -> a. Num a är ett sammanhang ("context") för typuttrycket a -> a -> a, dvs i typuttrycket står a för någon typ som är en instans ("instance") av typklassen Num. Det innebär att a står för någon typ som har operationerna/funktionera i Num dvs +, - *, negate, abs, signum och tointeger. Dessa operationer/funktioner har typer som finns i deklarationen för typklassen Num. module Shape (Shape(..), area, square) where -- 5 a) data Shape = Rectangle Float Float Circle Float RtTriangle Float Float Polygon [(Float, Float)] square :: Float -> Shape square s = Rectangle s s -- distbetween, triarea se uppgift 2 area :: Shape -> Float area (Rectangle s1 s2 ) = s1*s2 area (Circle r ) = r * r * pi area (RtTriangle s1 s2 ) = 0.5*s1*s2 area (Polygon (v1:v2:v3:[])) = triarea v1 v2 v3 area (Polygon (v1:v2:v3:vs)) = triarea v1 v2 v3 + area (Polygon (v1:v3:vs)) Shape> area (Polygon [ (0, 0), (1, 0), (1, 1), (0,1)]) -- 5 b) 1.0 Shape> area (square 1) 1.0 Shape> area (Polygon [ (0, 0), (1, 0), (1, 1), (0,1)]) == area (square 1) False -- "Borde" bli True, men sqrt i Herons formel med serieutveckling ger -- ej exakt värde. == Farligt för värden av typ Float Shape> 4.0*area (Circle 3.0) -- 5 c)

8 Typer och programmeringstil i Haskell. När vi definerade ett schack gjorde vi så här: newtype Chess = Chess [(Square, Chessman)] -- data ist f newtype OK deriving Show -- newtype effektivare -- data krävs om >1 konstruerare. dvs ett schack är en lista med par av rutor och pjäser på denna ruta. Men listan föregås av konstrueraren Chess för att vi skall få typen Chess och inte typen [(Square, Chessman)]. Vi "stoppar in" listan i en "påse" med konstueraren Chess. När vi vill jobba med listan måste vi därför "plocka ut" listan, detta kan man i regel göra med mönstermatchning. Vill vi så göra ett nytt schack måste vi "stoppa in" den nya listan i påse genom att använda konstueraren Chess. T ex newboard:: [(Square, Chessman)] -> Chess -> Chess newboard ((sq, cm):csqcms) (Chess b) = newboard csqcms (Chess (update sq cm b)) newboard [] b = b Funktionen update jobbar nu med en lista : update :: Square -> Chessman -> [(Square, Chessman)] -> [(Square, Chessman)] Denna funktion kan man nu jobba med som man är van vi, t ex använda map. Kan man inte helt ehkelt "bara komma ihåg" att ett schack är en lista [(Square, Chessman)], dvs låta bli att definiera en datatyp? Jo det går och är på sätt och vi enklare. newboard1 skulle då kunna se ut så här: newboard1:: [(Square, Chessman)] -> [(Square, Chessman)] -> [(Square, Chessman)] newboard1 ((sq, cm):csqcms) b = newboard1 csqcms (update sq cm b) newboard1 [] b = b Man får nu lite mindre hjälp av typ-systemet när man programmerar, och programmet blir (kanske?) lite mer svårläst. Ett mellanting får man genom att göra type Chess1 = [(Square, Chessman)] --typsynonym newboard1 fungerar nu på samma sätt som förut men man kan om man vill ange dess typ som newboard1:: [(Square, Chessman)] -> Chess1 -> Chess1

Föreläsning 8. newtype Chess = Chess [(Square, Chessman)] -- data ist f newtype OK -- data istället för newtype krävs om >1 konstruerare.

Föreläsning 8. newtype Chess = Chess [(Square, Chessman)] -- data ist f newtype OK -- data istället för newtype krävs om >1 konstruerare. Föreläsning 8. Typer och programmeringsstil i Haskell. När vi definerade ett schack gjorde vi så här: newtype Chess = Chess [(Square, Chessman)] -- data ist f newtype OK deriving Show -- newtype effektivare

Läs mer

Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1.

Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1. Föreläsning 9 i programmeringsparadigm. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 1. Användning av Prolog. Prolog har framför allt används inom AI ( Articifial Intellegence),

Läs mer

Del : Paradigmer allmänt.

Del : Paradigmer allmänt. Nada Tentamensdag 2003 aug 25 Tentamen Programmeringsparadigm Skrivtid 5 h Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 5p +(12p + 15p +5p+ 20p) + (10p +14p + 8p +11p) = 5p + 52p + 43 p

Läs mer

Föreläsning 4 i programmeringsparadigm.

Föreläsning 4 i programmeringsparadigm. Föreläsning 4 i programmeringsparadigm. OBS! Schemat ändrades den 30 augusti.,om du tryckte ut schemat tidare, märk att det är ingen föreläsning 2005 sept 14 onsdag, däremot 2005 sept 20 13.00 i sal F1.

Läs mer

Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar.

Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar. Nada Tentamensdag 2005 jan11 Tentamen Programmeringsparadigm Skrivtid 5 h Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 10p +(6p + 10p +14p+ 20p) + (9p +11p + 8p +12p) = 10p + 50p + 40 p

Läs mer

Del : Paradigmer allmänt.

Del : Paradigmer allmänt. Nada Tentamensdag 2003 jan 13 Tentamen Programmeringsparadigm Skrivtid 5 h Antalet uppgifter : 1 (allmänt)+ 3 (Haskell) + 4 (Prolog) = 5p +(15p + 15p +20p) + (10p +12p + 15p +8p) = 5p + 50p + 45 p = 100p

Läs mer

Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1).

Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1). Föreläsning 9 i programmeringsparadigm. Unifiering (Brna Chapter 4.1). Repetition: I Haskell är mönster-passning (pattern-matchning) jättepraktiskt: När vi gör ett anrop av en funktion med ett visst argument

Läs mer

Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar.

Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar. Nada Tentamensdag 2004 aug 23 Tentamen Programmeringsparadigm Skrivtid 5 h Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 10p +(5p + 20p +5p+ 20p) + (10p +12p + 8p +10p) = 10p + 50p + 40 p

Läs mer

DD1361 Programmeringsparadigm. Carina Edlund

DD1361 Programmeringsparadigm. Carina Edlund DD1361 Programmeringsparadigm Carina Edlund carina@nada.kth.se Funktionell programmering Grundidéen med funktionell programmering är att härma matematiken och dess funktionsbegrepp. Matematiskt funktionsbegrepp

Läs mer

Nada Tentamensdag 2004 okt 18 Tentamen Programmeringsparadigm Skrivtid 5 h

Nada Tentamensdag 2004 okt 18 Tentamen Programmeringsparadigm Skrivtid 5 h Nada Tentamensdag 2004 okt 18 Tentamen Programmeringsparadigm Skrivtid 5 h Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 10p +(6p + 18p +6p+ 20p) + (10p +12p + 8p +10p) = 10p + 50p + 40 p

Läs mer

Nada KTH 2003 okt 23 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13

Nada KTH 2003 okt 23 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13 Nada KTH 2003 okt 23 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13 Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 9 10p +(14p + 12p +10p+ 14p) + (8p +12p + 12p +8p) = 10p + 50p

Läs mer

Nada KTH 2004 jan 12 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13

Nada KTH 2004 jan 12 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13 Nada KTH 2004 jan 12 Tentamen Programmeringsparadigm 2D1350 Skrivtid 5 h 8-13 Antalet uppgifter : 1 (allmänt)+ 4 (Haskell) + 4 (Prolog) = 9 10p +( 5p + 14p +15p+ 16p) + (12p +10p + 10p +8p) = 10p + 50p

Läs mer

Föreläsning 6 i programmeringsparadigm. Tips kring programmering i Haskell och kring labbarna.

Föreläsning 6 i programmeringsparadigm. Tips kring programmering i Haskell och kring labbarna. Föreläsning 6 i programmeringsparadigm. Tips kring programmering i Haskell och kring labbarna. Att arbeta med två fönster. Hugs är ju en tolk (interpreter) vilket har stora fördelar vid programutveckling.

Läs mer

Föreläsning 5 i programmeringsparadigm.

Föreläsning 5 i programmeringsparadigm. Föreläsning 5 i programmeringsparadigm. λ-notation (lamda-notation, anonyma funktioner). Hutton 4.5. (Fokker 2.3.4.) Vi kan om vi vill definiera hjälpkonstanter, t ex i denna funktiondefinition : kommunalskatt

Läs mer

Tentamensdag 2002-aug-20 Tentamen i Funktionell Programmering Skrivtid 5 h

Tentamensdag 2002-aug-20 Tentamen i Funktionell Programmering Skrivtid 5 h Nada Tentamensdag 2002-aug-20 Tentamen i Funktionell Programmering Skrivtid 5 h Antalet uppgifter : 5 ( 26p +22p + 14p +26p + 12 p= 100 p ) Lärare, jourhavande lärare : Leif Kusoffsky ------------------------------------------------------------------------------------------------------------------

Läs mer

Enjoy Vattenfallsmodellen i funktionella språk

Enjoy Vattenfallsmodellen i funktionella språk Föreläsning 2 i Programmeringsparadigm Funktionell programmering := variabler pekare sidoeffekter ;...; Fy, fy => bugfree förståeliga korta inga "satser", bara uttryck! Enjoy Vattenfallsmodellen i funktionella

Läs mer

Kungliga Tekniska Högskolan Ämneskod 2D1370 Tentamensdag 2001-maj-31 Tentamen i Funktionell Programmering Skrivtid 4 h

Kungliga Tekniska Högskolan Ämneskod 2D1370 Tentamensdag 2001-maj-31 Tentamen i Funktionell Programmering Skrivtid 4 h Kungliga Tekniska Högskolan Ämneskod 2D1370 Nada Tentamensdag 2001-maj-31 Tentamen i Funktionell Programmering Skrivtid 4 h Antalet uppgifter : 4 ( 8p +10p + 10p +12p = 40 p) Lärare, jourhavande lärare

Läs mer

Enjoy Vattenfallsmodellen i funktionella språk

Enjoy Vattenfallsmodellen i funktionella språk Föreläsning 2 i Programmeringsparadigm Funktionell programmering := variabler pekare sidoeffekter ;...; Fy, fy => bugfree förståeliga korta inga "satser", bara uttryck! Enjoy Vattenfallsmodellen i funktionella

Läs mer

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34 Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger

Läs mer

Kap9. Operatorn.. Hudak 9.4 sid 11. Fermats förmodan, eller Fermats stora sats säger att. xm + ym == zm har heltalslösningar om och endast om m == 2.

Kap9. Operatorn.. Hudak 9.4 sid 11. Fermats förmodan, eller Fermats stora sats säger att. xm + ym == zm har heltalslösningar om och endast om m == 2. Föreläsning 6. Hudak kapitel 8, 9, 10, 11, 23, Appendix B. Grafik med klickning. 2D1370 Funktionell programmering v14 torsdag Kap 8. Ett exempel på användning av listomfattningar. Fermats förmodan, eller

Läs mer

Börja med att kopiera källkoden till din scheme-katalog (som du skapade i Laboration 1).

Börja med att kopiera källkoden till din scheme-katalog (som du skapade i Laboration 1). Laboration 3 Grafiska figurer I den här laborationen skall du konstruera ett schemeprogram som kan rita rektanglar, punkter, cirklar, linjer och bilder som består utav en eller flera av nyss nämnda figurer.

Läs mer

Nada, KTH Tentamensdag maj -24 Tentamen i Funktionell Programmering Skrivtid 5 h

Nada, KTH Tentamensdag maj -24 Tentamen i Funktionell Programmering Skrivtid 5 h Nada, KTH Tentamensdag 2003 - maj -24 Tentamen i Funktionell Programmering Skrivtid 5 h Antalet uppgifter : 4 ( 26p +29p +20p + 25 p= 100 p ) Lärare, jourhavande lärare : Leif Kusoffsky ------------------------------------------------------------------------------------------------------------------

Läs mer

Föreläsning 5 i programmeringsparadigm. Tips kring programmering i Haskell och kring labbarna.

Föreläsning 5 i programmeringsparadigm. Tips kring programmering i Haskell och kring labbarna. Föreläsning 5 i programmeringsparadigm. Tips kring programmering i Haskell och kring labbarna. Att arbeta med två fönster. Hugs är ju en tolk (interpreter) vilket har stora fördelar vid programutveckling.

Läs mer

DD1361 Programmeringsparadigm HT15

DD1361 Programmeringsparadigm HT15 DD1361 Programmeringsparadigm HT15 Logikprogrammering 1 Dilian Gurov, TCS Innehåll Logikprogrammering Kontrollflöde Unifiering Backtracking Negation Snitt Induktiva datatyper och rekursion Inbyggda datatyper:

Läs mer

Föreläsning 4 (och 5?) i programmeringsparadigm.

Föreläsning 4 (och 5?) i programmeringsparadigm. Föreläsning 4 (och 5?) i programmeringsparadigm. Högre ordningens funktioner på listor; funktioner som argument: map, filter. (Fokker 3.1.3, C&K p 37, 38) map -- förändra alla element i en lista på samma

Läs mer

Föreläsning 7 i programmeringsparadigm. Ytterligare Högre ordningens funktioner: filter, foldr foldl. Hutton 7.2, 7.3 och 7.4.

Föreläsning 7 i programmeringsparadigm. Ytterligare Högre ordningens funktioner: filter, foldr foldl. Hutton 7.2, 7.3 och 7.4. Föreläsning 7 i programmeringsparadigm. Ytterligare Högre ordningens funktioner: filter, foldr foldl. Hutton 7.2, 7.3 och 7.4. filter se Hutton. När man använder filter och map får man ofta glädje av anonyma

Läs mer

Föreläsning 8. Hudak kapitel 13. 2D1370 Funktionell programmering v15 torsdag

Föreläsning 8. Hudak kapitel 13. 2D1370 Funktionell programmering v15 torsdag Föreläsning 8. Hudak kapitel 13. 2D1370 Funktionell programmering v15 torsdag Olika sorters program. Inmatning sker innan exekveringen startar under exekvering När exekvering sker bestäms av datorn "transformerande

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

Funktionell programmering DD1361

Funktionell programmering DD1361 Funktionell programmering DD1361 Tupler Två eller fler (men ändligt) antal element. Elementen kan vara av olika typer. Ex: (1,2) :: (Integer, Integer) (( 2, hejsan ), True) ::? Tupel med två element ->

Läs mer

2. 1 L ä n g d, o m k r e t s o c h a r e a

2. 1 L ä n g d, o m k r e t s o c h a r e a 2. 1 L ä n g d, o m k r e t s o c h a r e a Ett plan är en yta som inte är buktig och som är obegränsad åt alla håll. På ett plan kan man rita en linje som är rak (rät). En linje är obegränsad åt båda

Läs mer

Lambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

Lambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017 Lambdas (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017 Funktioner En funktion (i programmeringstermer) är en operation som tar ett eller flera argument,

Läs mer

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion

Introduktion till programmering SMD180. Föreläsning 4: Villkor och rekursion Introduktion till programmering Föreläsning 4: Villkor och rekursion 1 1 Några inbyggda funktioner (med resultat!) Konverterar mellan de grundläggande typerna: >>> int("32") 32 >>> int(3.999) 3 >>> float(32)

Läs mer

Svar och arbeta vidare med Student 2008

Svar och arbeta vidare med Student 2008 Student 008 Svar och arbeta vidare med Student 008 Det finns många intressanta idéer i årets Känguruaktiviteter. Problemen kan inspirera undervisningen under flera lektioner. Här ger vi några förslag att

Läs mer

Introduktion till Haskell

Introduktion till Haskell Introduktion till Haskell Elias Riedel Gårding NMA11, Teknisk Fysik (KTH) 2014 18 februari 2018 Elias Riedel Gårding (NMA11, F14) Introduktion till Haskell 18 februari 2018 1 / 29 Om Haskell Historik 1927:

Läs mer

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser

Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,

Läs mer

9 Geometriska begrepp

9 Geometriska begrepp 9 Geometriska begrepp Rita figurer som visar vad vi menar med... 261 a) 4 cm och 4 cm 2 b) 5 cm och 5 cm 2 262 Rita två olika figurer som båda har arean 8 cm 2 263 Rita tre olika figurer som alla har arean

Läs mer

Föreläsning 5-6 Innehåll

Föreläsning 5-6 Innehåll Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]

Läs mer

Föreläsning 4 (och 5?) i programmeringsparadigm.

Föreläsning 4 (och 5?) i programmeringsparadigm. Föreläsning 4 (och 5?) i programmeringsparadigm. Korrekta bilnummer. Programmet, som visar att man ibland använder smarta mönster för att skriva eleganta program, finns på /info/progp02/haskelllectures/f4.

Läs mer

Extramaterial till Matematik Y

Extramaterial till Matematik Y LIBER PROGRAMMERING OCH DIGITAL KOMPETENS Extramaterial till Matematik Y NIVÅ TVÅ Geometri ELEV Desmos Geometry är ett matematikverktyg som bland annat kan hjälpa dig att avbilda geometriska figurer och

Läs mer

Introduktion till programmering. Standardfunktioner. Vad används datorer till? Standardfunktioner. Föreläsning 2. Prelude. $ ghci...

Introduktion till programmering. Standardfunktioner. Vad används datorer till? Standardfunktioner. Föreläsning 2. Prelude. $ ghci... Introduktion till programmering Standardfunktioner Tecken och strängar Utskrifter och effekter Föreläsning 2 Prelude Alla fördefinierade funktioner vi använder definieras i modulen Prelude. Denna modul

Läs mer

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn.

Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E. Föreläsning 4: Villkor och rekursion. Modulus-operatorn. Några inbyggda funktioner (med resultat!) Introduktion till programmering D0009E Föreläsning 4: Villkor och rekursion Konverterar mellan de grundläggande typerna: >>> int("") >>> int(.999) >>> float().0

Läs mer

JavaScript del 3 If, Operatorer och Confirm

JavaScript del 3 If, Operatorer och Confirm JavaScript del 3 If, Operatorer och Confirm Under förra uppgiften så kollade vi på hur användaren kan ge oss information via promt(), vi använde den informationen både för att skriva ut den och för att

Läs mer

Matematik CD för TB = 5 +

Matematik CD för TB = 5 + Föreläsning 4 70 a) Vi delar figuren i två delar, en triangel (på toppen) och en rektangel. Summan av dessa två figurers area ger den eftersökta. Vi behöver följande formler: A R = b h A T = b h Svar:

Läs mer

Polygoner. Trianglar på tre sätt

Polygoner. Trianglar på tre sätt Polygoner Trianglar på tre sätt Man kan skriva in punkter antingen via punktverktyget eller genom att skriva punktens namn och koordinater i inmatningsfältet. Då man ritar månghörningar lönar det sig att

Läs mer

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll. EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade

Läs mer

Parameteröverföring. Exempel. Exempel. Metodkropp

Parameteröverföring. Exempel. Exempel. Metodkropp Exempel atriangle.changesize (100, 50); // OK atriangle.changesize (100); // fel antal atriangle.changesize ( 1, 50); // fel datatyp char c = atriangle.getarea (); // fel datatyp Parameteröverföring I

Läs mer

Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006

Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006 Leif Kusoffsky 2005 - dec - 07 Nada KTH Kursanalys för Programmeringsparadigm 2D1361, läsperiod 1 och 2 läsåret 2005/2006 Kursdata Momentindelning Kursen genomförd Kursledare Kurslitteratur Antal studenter

Läs mer

Funktioner. Räta linjen

Funktioner. Räta linjen Sidor i boken 14-143, 145-147 Funktioner. Räta linjen Här följer en dialog mellan studenten Tor-Björn (hädanefter kallad TB) och hans lärare i matematik Karl-Ture Hansson (nedan kallad KTH). När vi möter

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

Sidor i boken KB 6, 66

Sidor i boken KB 6, 66 Sidor i boken KB 6, 66 Funktioner Ordet funktion syftar inom matematiken på en regel som innebär att till varje invärde associeras ett utvärde. Ofta beskrivs sambandet mellan invärde och utvärde med en

Läs mer

8-6 Andragradsekvationer. Namn:..

8-6 Andragradsekvationer. Namn:.. 8-6 Andragradsekvationer. Namn:.. Inledning Nu har du arbetat en hel del med ekvationer där du löst ut ett siffervärde på en okänd storhet, ofta kallad x. I det här kapitlet skall du lära dig lösa ekvationer,

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017

TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 FÖRELÄSNING 1 TDDC74 PROGRAMMERING: ABSTRAKTION OCH MODELLERING VT 2017 Introduktion till kursen Schemespråkets grunder Enkla exempel Jalal Maleki Institutionen för datavetenskap Linköpings universitet

Läs mer

Föreläsning 11: Beräkningsgeometri

Föreläsning 11: Beräkningsgeometri DD2458, Problemlösning och programmering under press Föreläsning 11: Beräkningsgeometri Datum: 2009-11-24 Skribenter: David Björklund, Christoer Lundell Johansson och Mårten Selin Föreläsare: Fredrik Niemelä

Läs mer

Imperativ programmering

Imperativ programmering Imperativ programmering 1DL126 3p Imperativ programmering Jesper Wilhelmsson ICQ: 20328079 Yahoo: amigajoppe MSN / epost: jesperw@it.uu.se Rum: 1335 Tel: 471 1046 Imperativ programmering Vilka programmeringsspråk

Läs mer

DD1361 Programmeringsparadigm HT17

DD1361 Programmeringsparadigm HT17 DD1361 Programmeringsparadigm HT17 Logikprogrammering 1 Dilian Gurov, KTH Delkursinnehåll Logisk versus procedurell läsning Kontrollflöde: Unifiering, Backtracking, Snitt Induktiva datatyper och rekursion

Läs mer

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner

Introduktion till programmering D0009E. Föreläsning 5: Fruktbara funktioner Introduktion till programmering D0009E Föreläsning 5: Fruktbara funktioner 1 Retur-värden Funktioner kan både orsaka en effekt och returnera ett resultat. Hittills har vi ej definierat några egna funktioner

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer

Läs mer

Lokala mål i matematik

Lokala mål i matematik Lokala mål i matematik År 6 År 7 År 8 År 9 Taluppfattning (aritmetik) förstår positionssystemets uppbyggnad med decimaler ex: kan skriva givna tal adderar decimaltal ex: 15,6 + 3,87 subtraherar decimaltal

Läs mer

5B1134 Matematik och modeller

5B1134 Matematik och modeller KTH Matematik 1 5B1134 Matematik och modeller 5 september 2005 1 Första veckan Geometri med trigonometri Veckans begrepp cirkel, cirkelsegment, sektor, korda båglängd, vinkel, grader, radianer sinus, cosinus,

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

En parallellogram har delats i två delar P och Q som figuren visar. Vilket av följande påståenden är säkert sant?

En parallellogram har delats i två delar P och Q som figuren visar. Vilket av följande påståenden är säkert sant? En parallellogram har delats i två delar P och Q som figuren visar. Vilket av följande påståenden är säkert sant? P har större omkrets än Q. P har mindre omkrets än Q. P har mindre area än Q Q och P har

Läs mer

Lathund, geometri, åk 9

Lathund, geometri, åk 9 Lathund, geometri, åk 9 I årskurs 7 och 8 räknade ni med sträckor och ytor i en dimension (1D) respektive två dimensioner (2D). Nu i årskurs 9 har ni istället börjat räkna volymer av geometriska kroppar

Läs mer

Laboration 1: Figurer i hierarki

Laboration 1: Figurer i hierarki Laboration 1: Figurer i hierarki Bakgrund Två grundläggande tekniker i objektorienterad konstruktion är arv och komposition. Mål Laborationen har flera avsikter: 1. Ge kunskaper i hur program kan organiseras

Läs mer

I kapitel 15 gör Hudak för reaktiva animeringar detsamma som han i kapitel 13 gör för animeringar. Resultatet är en module Fal.

I kapitel 15 gör Hudak för reaktiva animeringar detsamma som han i kapitel 13 gör för animeringar. Resultatet är en module Fal. Föreläsning 9. Hudak avsnitt 15.1, kapitel 14 2D1370 Funktionell programmering v19 tisdag Programmering av reaktiv animering. Vad går kapitel 15 ut på? I kapitel 15 gör Hudak för reaktiva animeringar detsamma

Läs mer

Kapitel 4. cos(64 )= s s = 9 cos(64 )= 3.9m. cos(78 )= s s = 9 cos(78 )= 1.9m. a) tan(34 )= x x = 35 tan(34 )= 24cm

Kapitel 4. cos(64 )= s s = 9 cos(64 )= 3.9m. cos(78 )= s s = 9 cos(78 )= 1.9m. a) tan(34 )= x x = 35 tan(34 )= 24cm Kapitel 4 4107 4103 a) tan(34 )= x x = 35 tan(34 )= 4cm 35 b) cos(40 )= x x = 61 cos(40 )= 47cm 61 c) tan(56 )= 43 x x = 43 tan(56 ) = 9cm d) sin(53 )= x x = 75 sin(53 )= 60cm 75 4104 a) tan(v )= 7 4 v

Läs mer

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 19 oktober 2016, kl 14 18

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 19 oktober 2016, kl 14 18 TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 19 oktober 2016, kl 14 18 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.

Läs mer

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket?

Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket? Jonas Kvarnström jonkv@ida.liu.se 2013 Syfte : Lära sig objektorienterad programmering Syfte : Lära sig programmering i ett OO-språk vilket? Rena OO-språk (allt är objekt) Scala, Smalltalk, Eiffel, Ruby,

Läs mer

PLANGEOMETRI I provläxa med facit ht18

PLANGEOMETRI I provläxa med facit ht18 PLANGEOMETRI I provläxa med facit ht18 På det här avsnittet kommer du i första hand att utveckla din begrepps metod och kommunikations förmåga. Det är nödvändigt att ha en linjal för att klara avsnittet.

Läs mer

Provet består av Del I, Del II, Del III samt en muntlig del och ger totalt 76 poäng varav 28 E-, 24 C- och 24 A-poäng.

Provet består av Del I, Del II, Del III samt en muntlig del och ger totalt 76 poäng varav 28 E-, 24 C- och 24 A-poäng. NpMac vt 01 Del I Del II Provtid Hjälpmedel Uppgift 1-10. Endast svar krävs. Uppgift 11-15. Fullständiga lösningar krävs. 10 minuter för del I och del II tillsammans. Formelblad och linjal. Kravgränser

Läs mer

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Introduktion till formella metoder Programmeringsmetodik 1. Inledning Introduktion till formella metoder Programmeringsmetodik 1. Inledning Fokus på imperativa program (ex. C, Java) program betyder härefter ett imperativt program Program bestäms i en abstrakt mening av hur

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

Extramaterial till Matematik Y

Extramaterial till Matematik Y LIBR PROGRAMMRING OH DIGITAL KOMPTNS xtramaterial till Matematik Y NIVÅ TVÅ Geometri LÄRAR Desmos Geometry är ett matematikverktyg som bland annat kan hjälpa dig att avbilda geometriska figurer och göra

Läs mer

Haskell forts. 5DV085 - Programspråk. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se

Haskell forts. 5DV085 - Programspråk. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se Haskell forts 5DV085 - Programspråk, Department of Computing Science, Umeå University - jem@cs.umu.se Moduler Grupp 1, Department of Computing Science, Umeå University - jem@cs.umu.se Function application

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

SKOLORNAS MATEMATIKTÄVLING Svenska Matematikersamfundet. Lösningsförslag till naltävlingen den 20 november 2004

SKOLORNAS MATEMATIKTÄVLING Svenska Matematikersamfundet. Lösningsförslag till naltävlingen den 20 november 2004 SKOLORNAS MATEMATIKTÄVLING Svenska Matematikersamfundet Lösningsförslag till naltävlingen den 0 november 004 1. Låt A, C vara de två cirklarnas medelpunkter och B, D de två skärningspunkterna. Av förutsättningarna

Läs mer

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section

Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section Föreläsning 1 Utsagor (Propositioner) sammansatta utsagor sanningstabeller logisk ekvivalens predikat (öppna utsagor) kvantifierare Section 1.1-1.3 i kursboken Definition En utsaga (proposition) är ett

Läs mer

Föreläsning 13 Linjär Algebra och Geometri I

Föreläsning 13 Linjär Algebra och Geometri I Föreläsning 13 Linjär Algebra och Geometri I Se slide 1: det är i rymden oftast lättast att jobba med parametrar för linjer och ekvationer för plan. Exempel: Låt l : (x, y, z) = (1 t, 3 + t, 4t), t R och

Läs mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

Läs mer

Geometri och statistik Blandade övningar. 1. Vid en undersökning av åldern hos 30 personer i ett sällskap erhölls följande data

Geometri och statistik Blandade övningar. 1. Vid en undersökning av åldern hos 30 personer i ett sällskap erhölls följande data Geometri och statistik Blandade övningar Sannolikhetsteori och statistik 1. Vid en undersökning av åldern hos 30 personer i ett sällskap erhölls följande data 27, 30, 32, 25, 41, 52, 39, 21, 29, 34, 55,

Läs mer

Lösningar till udda övningsuppgifter

Lösningar till udda övningsuppgifter Lösningar till udda övningsuppgifter Övning 1.1. (i) {, } (ii) {0, 1,, 3, 4} (iii) {0,, 4, 6, 8} Övning 1.3. Påståendena är (i), (iii) och (v), varav (iii) och (v) är sanna. Övning 1.5. andra. (i) Nej.

Läs mer

Trigonometri. Sidor i boken 26-34

Trigonometri. Sidor i boken 26-34 Sidor i boken 6-34 Trigonometri Definition: Gren av matematiken som studerar samband mellan vinklar och sträckor i planet (och rymden). Det grundläggande trigonometriska problemet är att beräkna alla sidor

Läs mer

Planering Programmering grundkurs HI1024 HT 2015 - data

Planering Programmering grundkurs HI1024 HT 2015 - data Planering Programmering grundkurs HI1024 HT 2015 - data Föreläsning V36 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning

Läs mer

Trepoängsproblem. Kängurutävlingen 2014 Junior. 1 Bilden visar tre kurvor med längderna a, b respektive c. Vilket av följande påståenden är korrekt?

Trepoängsproblem. Kängurutävlingen 2014 Junior. 1 Bilden visar tre kurvor med längderna a, b respektive c. Vilket av följande påståenden är korrekt? Trepoängsproblem 1 Bilden visar tre kurvor med längderna a, b respektive c. Vilket av följande påståenden är korrekt? A: a < b < c B: a < c < b C: b < a < c D: b < c < a E: c < b < a 2 Sidolängderna i

Läs mer

Planering Programmering grundkurs HI1024 HT TIDAA

Planering Programmering grundkurs HI1024 HT TIDAA Planering Programmering grundkurs HI1024 HT 2016 - TIDAA Föreläsning V35 Föreläsning 1 Programmering Kurs-PM Programmeringsmiljö Hello World! Variabler printf scanf Föreläsning 2 Operatorer Tilldelning

Läs mer

Matte Direkt Borgen 6 A Läraranvisning punktskrift. Verksnummer: 40270

Matte Direkt Borgen 6 A Läraranvisning punktskrift. Verksnummer: 40270 Matte Direkt Borgen 6 A Läraranvisning punktskrift Verksnummer: 40270 Läraranvisningens innehåll Läraranvisningen är till för att du som undervisande lärare ska få information om hur den pedagogiskt anpassade

Läs mer

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 2

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 2 Anders Haraldsson 1 Anders Haraldsson 2 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.) - Iteratorer

Läs mer

DD1361 Programmeringsparadigm HT16

DD1361 Programmeringsparadigm HT16 DD1361 Programmeringsparadigm HT16 Logikprogrammering 1 Dilian Gurov, TCS Delkursinnehåll Logikprogrammering Logisk versus procedurell läsning Kontrollflöde Unifiering, Backtracking, Snitt Negation Induktiva

Läs mer

Repetitionsprov på algebra, p-q-formeln samt andragradsfunktioner

Repetitionsprov på algebra, p-q-formeln samt andragradsfunktioner Repetitionsprov på algebra, p-q-formeln samt andragradsfunktioner Del B Utan miniräknare Endast svar krävs! 1. Lös ekvationen (x + 3)(x 2) = 0 Svar: (1/0/0) 2. Förenkla uttrycket 4(x 3)(x + 3) så långt

Läs mer

Dagens föreläsning Programmering i Lisp Fö 5

Dagens föreläsning Programmering i Lisp Fö 5 Anders Haraldsson 1 Dagens föreläsning Programmering i Lisp Fö 5 - Funktioner - lambda-uttryck (avs 7.1) - funcall och function (avs 7.2) - Högre ordningens funktioner (avs 7.3) - Iteratorer - Egenskaper

Läs mer

Deklarativt programmeringsparadigm

Deklarativt programmeringsparadigm Deklarativt programmeringsparadigm Det vi introducerade på förra föreläsningen var ett exempel på deklarativ programmering. Vi specificerade en fallanalys som innehöll fakta och regler för hur man skulle

Läs mer

Matematik CD för TB. x + 2y 6 = 0. Figur 1:

Matematik CD för TB. x + 2y 6 = 0. Figur 1: Kontroll 8 1 Bestäm ekvationen för den linje som går genom punkterna P 1 (,4) och P 2 (9, 2). 2 Bestäm riktningskoefficienten för linjen x + 4y 6 = 0 Bestäm ekvationen för en linje som går genom punkten

Läs mer

4-8 Cirklar. Inledning

4-8 Cirklar. Inledning Namn: 4-8 Cirklar Inledning Du har arbetat med fyrhörningar (parallellogrammer) och trehörningar (trianglar). Nu skall du studera en figur som saknar hörn, och som består av en böjd linje. Den kallas för

Läs mer

Övningshäfte 1: Logik och matematikens språk

Övningshäfte 1: Logik och matematikens språk GÖTEBORGS UNIVERSITET MATEMATIK 1, MMG200, HT2014 INLEDANDE ALGEBRA Övningshäfte 1: Logik och matematikens språk Övning A Målet är att genom att lösa och diskutera några inledande uppgifter få erfarenheter

Läs mer

Känguru 2018 Student gymnasieserien i samarbete med Jan-Anders Salenius (Brändö gymnasium)

Känguru 2018 Student gymnasieserien i samarbete med Jan-Anders Salenius (Brändö gymnasium) sida 0 / 9 NAMN GRUPP Poäng: Känguruskutt: Lösgör svarsblanketten. Skriv ditt svarsalternativ under uppgiftsnumret. Ett rätt svar ger 3, 4 eller 5 poäng. I varje uppgift är exakt ett svar korrekt. Felaktigt

Läs mer

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12

TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12 TDDC74 Programmering: Abstraktion och modellering Tentamen, lördag 27 augusti 2016, kl 8 12 Läs alla frågorna först, och bestäm dig för i vilken ordning du vill lösa uppgifterna. Skriv tydligt och läsligt.

Läs mer

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april. Utforskande aktivitet med GeoGebra

GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare. Karlstads universitet 19-20 april. Utforskande aktivitet med GeoGebra GeoGebra i matematikundervisningen - Inspirationsdagar för gymnasielärare 19-20 april Utforskande aktivitet med GeoGebra GeoGebra 0 Utforskande aktivitet med GeoGebra 1 Börja med att ta bort koordinataxlarna

Läs mer

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg

Tema: Pythagoras sats. Linnéa Utterström & Malin Öberg Tema: Pythagoras sats Linnéa Utterström & Malin Öberg Innehåll: Introduktion till Pythagoras sats! 3 Pythagoras sats! 4 Variabler! 5 Potenser! 5 Att komma tillbaka till ursprunget! 7 Vi bevisar Pythagoras

Läs mer

Sidor i boken Figur 1:

Sidor i boken Figur 1: Sidor i boken 5-6 Mer trigonometri Detta bör du kunna utantill Figur 1: Triangeln till vänster är en halv liksidig triangel. Varje triangel med vinklarna 0,60,90 är en halv liksidig triangel. Hypotenusan

Läs mer