Nada Tentamensdag 2004 okt 18 Tentamen Programmeringsparadigm Skrivtid 5 h
|
|
- Per-Erik Persson
- för 4 år sedan
- Visningar:
Transkript
1 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 = 100p Lärare, jourhavande lärare : Leif Kusoffsky Tillåtna hjälpmedel : Brna : Prolog Programming Fokker : Functional programming eller Chakravaty, Keller: Introduction to Computing Del : Paradigmer allmänt. 1. OBS! Svara genom att lämna in sista sidan med kopia på denna svarsmatris! 10p) imperativ oo funktionell logisk För vilka paradigm gäller (kryssa i matrisen till vänster. Ibland flera kryss för varje påstående) a) Programmen har en logisk läsning och en procedurell läsning. b) Programmen består av bl a kommandon, bland annat tilldelningskommandon. c) Programmen saknar konventionella tilldelningskommandon. d) Programmen består av till stor del av definitioner av funktioner. e) Programmen består till stor del av definitioner av predikat. f) Programmen definierar aggregat av "variabler" och paket av kommandon ("metoder"). g) Paradigmen tillhör gruppen av deklarativa paradigm. h) Programmering kan ses som "programmering med matematik". i) Programmering kan ses som "programmering med logik". j) Programmering kan ses som "programmering med λ-kalkyl". k) Moderna språk i paradigmen avänder "högre ordningens funktioner". l) Vissa moderna språk i paradigmen använder "lat evaluering". m) I paradigmen får man en djupet-först-sökning "gratis". n) Denna paradigm uppfanns till stor del i Oslo. o) Den dominerande paradigmen fram till p) Den dominerande paradigmen nu. q) Vid körningen spelar föränding av innehållet i delar av minnet ("variabler") stor roll ("destruktiv uppdatering"). r) Vid körningen spelar dubbelsidig passning ("matchning", unifiering) mellan argument och vänsterled i definitioner stor roll. s) Ett sätt att förklara semantiken är att visa vad som händer i minnet i en von-neuman-dator, (= en förenklad modell av den vanliga datorn) t) Man kan beskriva pardigmen som att datorn vi körningen försöker att få ett uttryck sant. u) Man kan beskriva pardigmen som att datorn vi körningen försöker att beräkna ett matematiskt uttryck. v) I vissa moderna språk i paradigmen programmerar man helt utan sidoeffekter, till och med in och utmatning. z) Min favoritparadigm
2 Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar. 2. a) Skriv en funktionen null som avgör om det är sant eller osant om en lista är tom. Ange även funktionens typ. Denna funktion, som finns i Prelude används sällan, varför? Definiera även null med ett λ-uttryck, dvs null = < λ-uttryck>. Kan man alltid byta ut null mot λ-uttrycket? b) Skriv en funktionen signum med denna matematiska definition: 1 om 0 < signum() = 0 om =0-1 om < 0 6p) 3. a) I schacklabben kan man ha användning för en funktion (skrivs i modulen Square) netsquare :: Square {-from-} -> Square {-to-}-> Square {-net-} som givet en schackruta som man startar från och en schackruta som man är på väg till returnerar den första rutan på väg till slutrutan när man går rakt eller diagonal. Skriv funktionen, givet denna deklaration : data Square = Sq Int Int deriving (Show, Eq) Man behöver inte bekymra sig hur funktionen beter sig om man inte går rakt eller diagonalt. Tips: Jag använder signum från 2b) i min lösning. b) I schacklabben kan man ha användning för en funktion (skrivs i modulen Square) betweensquares :: Square {-from-} -> Square {-to-} -> [Square] som givet en schackruta som man startar från och en schackruta som man är på väg till returnerar en lista med mellanliggande rutor när man går rakt eller diagonal. Skriv betweensquare.man behöver inte bekymra sig hur funktionen beter sig om man varken går rakt eller diagonalt (min lösning går diagonalt tills man kan gå rakt, sedan rakt). Tips: Jag använder netsquare och rekursion i min lösning; betweensquares för rutor från startrutan fram till slutrutan är ju nästa ruta från startrutan följt av rutorna med betweensquares från nästa ruta från startrutan till slutrutan. betweensquares används i alla följande deluppgifter. c) I schacklabben kan man ha användning för en funktion (skrivs i modulen Chess) freesquares :: Square -> Square -> Chess -> Bool som kollar om alla mellanliggande rutor mellan två rutor är tomma. Deklarationer i Chess: import Chessman import Square -- Square ADT eporterar typen Square i 3a newtype Chess = Chess [(Square, Chessman)] deriving Show vänd!
3 Givet dessa deklarationer i Chessman: module Chessman import Square data Colour = data Kind where -- spelar ingen roll i denna uppgift = -- spelar ingen roll i denna uppgift data Chessman = Cman Colour Kind NoChessman -- schackpjäsen "tom ruta". deriving (Show, Eq) chessmanat :: Square -> Chess -> Chessman chessmanat sq (Chess ch) = onlyone [icm (isq, icm) <- ch, isq == sq] where onlyone :: [Chessman] -> Chessman onlyone (cm:[]) = cm onlyone _ = NoChessman Skriv freesquares utan att använda några högre ordningens funktioner eller listomfattning. När kan man använda newtype istället för data? Fördel? Tips: Jag använder en rekursiv hjälpfunktion check som kollar att det bara är tomma rutor i den lista med mellanliggande rutor som beräknas med betweensquares. d) Skriv funktionen freesquares med listomfattning. Tips: Jag kontrollerar om en lista med de rutor bland de mellanliggande rutorna som innehåller pjäser /= NoChessman är tom med hjälp av null. e) Skriv funktionen med map och filter. Tips: jag kontrollerar om en lista med pjäser /= NoChessman på de mellanliggande rutorna är tomma. Man kan nog även göra som i med i d) med map och filter istället för med listomfattning. f) Skriv funktionen med all (dvs kontrollera att alla mellanliggande rutor är tomma). Utdrag ur Prelude: and, or and or :: [Bool] -> Bool = foldr (&&) True = foldr ( ) False any, all :: (a -> Bool) -> [a] -> Bool any p = or. map p all p = and. map p g) Vilken av lösningarna c) - f) gillar du mest? 18p)
4 4 a) I Prelude finns en funktion break :: (a->bool) -> [a] -> ([a],[a]). T e break (\c -> c ==, ) "(1.0,14.0,1.0)" blir ( "(1.0", ",14.0,1.0)" ) Skriv en funktionen breakat :: a ->[a] -> ([a],[a]) med vars hjälp man t e kan göra breakat, "(1.0,14.0,1.0)" som ska bli ("(1.0",",14.0,1.0)") b) Antag att vi har denna funktion f :: String -> (String, String, String) f ( ( :cs) = let (s,, :yszsp) = breakat, cs (ys,, :zsp) = breakat, yszsp (zs, ) :rest) = breakat ) zsp in (s, ys, zs) Vad blir f "(1.0,14.0,1.0)"? 6p) 5 a) Skriv i Haskell en DT (datatyp) Vector3 i en module Vector3 (vektorer i rummet) med de operationer som definieras nedan i modulens början : module Vector3 ( -- 5 Vector3, -- datatyp för vektorer i rummet Vector3, -- Double-> Double-> Double->Vector3 Konstuktorfunktion read, -- String -> Vector3 inläsning på formen "Vector " read1, -- String -> Vector3 inläsning på formen read1 "(1.0, 2.0, 3.0)" show, -- Vector3 -> String utskrift på formen "Vector " show1, -- Vector3 ->String utskrift på formen "(1.0, 2.0, 3.0)" (==), -- Vector3 -> Vector3 -> Bool lika med (/=), -- Vector3 -> Vector3 -> Bool ej lika med add, -- Vector3 -> Vector3 -> Vector3 vektoradditon sub, -- Vector3 -> Vector3 -> Vector3 vektorsubtraktion, -- Vector3 -> Vector3 -> Vector3 kryssprodukt neg, -- Vector3 -> Vector3 negering lengthv3, -- Vector3 -> Double vektorlängd ( absolutbelopp) o, -- Vector3 -> Vector3 -> Double skalärprodukt ) where Eempel på körningar : Vector add Vector blir Vector lengthv3 (Vector ) blir Vector Vector blir Vector3 (-1.0) 2.0 (-1.0) show1 (read1"(1.0, 2.0, 3.0)" read1 "(1.0, 1.0, 1.0)") blir "(-1.0, 2.0, -1.0)" read1"(1.0, 2.0, 3.0)" add read1 "(1.0, 1.0, 1.0)" blir Vector show1 (read1"(1.0, 2.0, 3.0)" add read1 "(1.0, 1.0, 1.0)") blir "(2.0, 3.0, 4.0)" Vector Vector blir Vector (tilläggsuppgift nedan) Tips: I show1 och read1 kan man ha glädje av show :: Show a => a->string och read :: Read a => String->a T e: read "1.0" blir 2.0. Många prelude-typer är instanser i Show och Read. Se även uppgift 4.a
5 b) Komplettera din definition i a) så att man kan använda följande operatorer och funktion i typklassen Num (detta är ganska svårt, talade om detta på föreläsning) -- Tillägsuppgift (+), -- överlagrad operator för add (-), -- överlagrad operator för sub (*), -- överlagrad operator för kryssprodukt negate -- överlagrad funktion för negate -- övriga funktioner i Num ger error Typklassen Num är definierad så här i "Prelude" : class (Eq a, Show a) => Num a where (+), (-), (*) :: a -> a -> a negate :: a -> a abs, signum :: a -> a frominteger :: Integer -> a fromint :: Int -> a -- Min comp def: All, -- ecept negate or (-) -- Def imp se prelude c) I uppgift b), varför kan vi inte använda lengthv3 för abs? Del : Logikprogrammering. 20p) 6. a) Skriv ett predikat för select(x,harxs,ettmindrexs) med betydelsen att listan EttMindreXs är resultatet av att en förekomst av X har tagits bort från HarXs. b) Skriv ett predikat för member(element,list) med betydelsen Element är ett element i listan List med hjälp av select. c) Skriv ett predikat för choosetwofrom(list, E1, E2) med betydelsen att E1 och E2 är två olika element i listan List med hjälp av select och member. (10p) 7. Skriv i Prolog ett generate-and-test-program som löser följande problem: I en kappsegling deltar 7 båtar, bland annat Patricia. Spray kom precis innan Necesse. Endast Volo placerade sig precis mellan Maybee och Bonnie. Eakt en båt placerade sig mellan Spray och Maybee. Bigfoot kom precis mitt i resultatlistan. Hur ser resultatlistan ut? 12p)
6 8. Prologs semantik (procedurell läsning) kan beskrivas med Byrds bomodel. a) Kommer vi till en bo via Redo-porten kommer vi 1) alltid att lämna boen via Fail-porten. X) alltid att lämna boen via Call-porten. 2) att lämna boen via Fail-porten eller via Eit-porten b) Kommer vi till en bo via Call-porten kommer vi 1) alltid att lämna boen via Fail-porten. X) alltid att lämna boen via Eit-porten. 2) att lämna boen via Fail-porten eller via Eit-porten. c) Kommer vi till en bo via Redo- porten har vi 1) ofta lämnat efterföljande bo via Call-porten. X) ofta lämnat efterföljande bo via Eit-porten. 2) ofta lämnat efterföljande bo via Fail-porten. d) Har vi lämnat en Eit-port och sedan passerat ett snitt (cut,!) 1) kommer vi in i efterföljande bo (när sådan finns) via Call-porten. X) hoppar vi över efterföljande bo (när sådan finns). 2) startar en "backtracking" e) Har vi lämnat en Fail-port och sedan passerat ett snitt (cut,!) 1) kommer vi in i föregående bo (när sådan finns) via Redo-porten. X) kommer vi in i föregående bo (när sådan finns) via Call-porten. 2) kommer vi inte in i föregående bo (när sådan finns) via Redo-porten. 9 När man kör i Prolog-fönstret i emacs, vad skulle följande körningar (unifieringar) ge för resultat (Lyckas unifieringarna? Vilka substitutioner görs i så fall?)?- a= b.?- A= b.?- a= B.?- A= B.?- m(adam, rut) = m(adam, rut).?- m(adam, rut) = m(adam, rut).?- m(adam, rut) = m(adam, Adam).?- m(adam, rut) = m(adam, Rut).?- m(adam, rut) = m(rut, Rut).?- m(adam, rut) = M(adam, rut). 8p) 10p)
7 Bifoga denna sida med de övriga svaren på din tentamen! imperativ oo funktionell logisk För vilka paradigm gäller (kryssa i matrisen till vänster. Ibland flera kryss för varje påstående) a) Programmen har en logisk läsning och en procedurell läsning. b) Programmen består av bl a kommandon, bland annat tilldelningskommandon. c) Programmen saknar konventionella tilldelningskommandon. d) Programmen består av till stor del av definitioner av funktioner. e) Programmen består till stor del av definitioner av predikat. f) Programmen definierar aggregat av "variabler" och paket av kommandon ("metoder"). g) Paradigmen tillhör gruppen av deklarativa paradigm. h) Programmering kan ses som "programmering med matematik". i) Programmering kan ses som "programmering med logik". j) Programmering kan ses som "programmering med λ-kalkyl". k) Moderna språk i paradigmen avänder "högre ordningens funktioner". l) Vissa moderna språk i paradigmen använder "lat evaluering". m) I paradigmen får man en djupet-först-sökning "gratis". n) Denna paradigm uppfanns till stor del i Oslo. o) Den dominerande paradigmen fram till p) Den dominerande paradigmen nu. q) Vid körningen spelar föränding av innehållet i delar av minnet ("variabler") stor roll ("destruktiv uppdatering"). r) Vid körningen spelar dubbelsidig passning ("matchning", unifiering) mellan argument och vänsterled i definitioner stor roll. s) Ett sätt att förklara semantiken är att visa vad som händer i minnet i en von-neuman-dator, (= en förenklad modell av den vanliga datorn) t) Man kan beskriva pardigmen som att datorn vi körningen försöker att få ett uttryck sant. u) Man kan beskriva pardigmen som att datorn vi körningen försöker att beräkna ett matematiskt uttryck. v) I vissa moderna språk i paradigmen programmerar man helt utan sidoeffekter, till och med in och utmatning. z) Min favoritparadigm Uppmaning: Svara gärna på kursenkäten, som du kan komma åt från kursidan! Förfrågan: Kan du tänka dig att vara labbassistent nästa år under läsperiod 1 och 2 i kursen programmeringsparadigm i D2? Kryssa gärna i ett eller båda alternativen. (Naturligtvis ej bindande) O I Haskelldelen av kursen O I Prologdelen av kursen Hur kan jag kontakta dig (te e-pos, tel ):
8 Svar tentamen programeringsparadigm oktober. Del paradigmer allmänt imperativ oo funktionell logisk? För vilka paradigm gäller (kryssa i matrisen till vänster. Ibland flera kryss för varje påstående) a) Programmen har en logisk läsning och en procedurell läsning. b) Programmen består av bl a kommandon, bland annat tilldelningskommandon. c) Programmen saknar konventionella tilldelningskommandon. d) Programmen består av till stor del av definitioner av funktioner. e) Programmen består till stor del av definitioner av predikat. f) Programmen definierar aggregat av "variabler" och paket av kommandon ("metoder"). g) Paradigmen tillhör gruppen av deklarativa paradigm. h) Programmering kan ses som "programmering med matematik". i) Programmering kan ses som "programmering med logik". j) Programmering kan ses som "programmering med λ-kalkyl". k) Moderna språk i paradigmen avänder "högre ordningens funktioner". l) Vissa moderna språk i paradigmen använder "lat evaluering". m) I paradigmen får man en djupet-först-sökning "gratis". n) Denna paradigm uppfanns till stor del i Oslo. o) Den dominerande paradigmen fram till p) Den dominerande paradigmen nu. q) Vid körningen spelar föränding av innehållet i delar av minnet ("variabler") stor roll ("destruktiv uppdatering"). r) Vid körningen spelar dubbelsidig passning ("matchning", unifiering) mellan argument och vänsterled i definitioner stor roll. s) Ett sätt att förklara semantiken är att visa vad som händer i minnet i en von-neuman-dator, (= en förenklad modell av den vanliga datorn) t) Man kan beskriva pardigmen som att datorn vi körningen försöker att få ett uttryck sant. u) Man kan beskriva pardigmen som att datorn vi körningen försöker att beräkna ett matematiskt uttryck. v) I vissa moderna språk i paradigmen programmerar man helt utan sidoeffekter, till och med in och utmatning. z) Min favoritparadigm Del funktionell programmering. null :: [a] -> Bool -- 2 a null [] = True null _ = False -- Selektorer ("sönder-plocknings-funktioner") som null behövs sällan, man mönsterpassar ("pattern matchar") istället. null = \ list -> (list == []) Ja.
9 signum :: Integer -> Integer signum == 0 = 0 > 0 = 1 otherwise = -1 netsquare (Sq i1 j1) (Sq i2 j2) = Sq (i1 + signum (i2- i1)) (j1 + signum (j2-j1)) betweensquares sqfrom sqto sqfrom == sqto = [] sqm == sqto = [] otherwise = sqm : betweensquares sqm sqto where sqm = netsquare sqfrom sqto -- 2 b -- 3 a -- b freesquares sqfr sqto board = check (betweensquares sqfr sqto) --c where check [] = True check (sq:sqs) = chessmanat sq board == NoChessman && check sqs -- newtype ev istället för data (snabbare) när man har eakt en konstuerare. freesquares sqfr sqto board = null [ sq sq <- betweensquares sqfr sqto, chessmanat sq board /= NoChessman ] freesquares sqfr sqto b = null --e (filter ( /= NoChessman) -- enbart filter (\sq ->.. ) också OK (map (\sq -> chessmanat sq b) (betweensquares sqfr sqto))) --d freesquares sqfr sqto b = all (\sq -> chessmanat sq b == NoChessman) (betweensquares sqfr sqto) Lösning f. --f --g breakat c = break (==c) -- eller breakat c = break (\c1 -> c1 == c) -- 4 a -- eller breakat c s = break (\c1 -> c1 == c) s ( "1.0", "14.0", "1.0" ) -- 4 b module Vector3 ( {- eportlistan i tentanuppgiften -} ) where -- 5 a) data Vector3 = Vector3 Double Double Double deriving (Eq, Show, Read) -- ger (==) (/=) read show add :: Vector3 -> Vector3 ->Vector3 add (Vector3 1 y1 z1) (Vector3 2 y2 z2) = Vector3 (1+2) (y1+y2) (z1 + z2) sub:: Vector3 -> Vector3 ->Vector3 sub v1 v2 = add v1 (neg v2) neg :: Vector3 -> Vector3 neg (Vector3 y z) = Vector3 (-) (-y) (-z) lengthv3 :: Vector3 -> Double lengthv3 (Vector3 y z) = sqrt (* + y*y + z*z) breakat c = break (==c) -- 4a read1 :: String -> Vector3 -- modifikation av 4b) read1 ( ( :cs) = let (s,, :yszsp) = breakat, cs (ys,, :zsp) = breakat, yszsp (zs, ) :rest) = breakat ) zsp in Vector3 (read s) (read ys) (read zs) show1 :: Vector3 -> String show1 (Vector3 y z) = "(" ++ show ++ ", " ++ show y ++ ", " ++ show z ++")"
10 o :: Vector3 -> Vector3 -> Double o (Vector3 1 y1 z1) (Vector3 2 y2 z2) = (1*2 + y1*y2 + z1*z2) :: Vector3 -> Vector3 -> Vector3 (Vector3 1 y1 z1) (Vector3 2 y2 z2) = Vector3 (y1*z2 - z1*y2) (z1*2-1*y2) (1*y2 - y1*2) instance Num Vector3 where (+) = add (*) = negate = neg abs = error "abs" frominteger i = error "frominteger" -- 5 b -- Typerna stämmer ej c Del logik programmering. select(x, [X Xs], Xs). select(x, [Y Ys], [Y Zs]) :- select(x, Ys, Zs). member(x, Xs):- select(x, Xs, _). ChooseTwoFrom(List, E1, E2) :- select(e1,list, Es), member(e2, Es). % Ls is a result list of 7 boats in a race % 7 % 6 a race(ls) :- Ls = [_,_,_, bigfoot, _, _, _], member(patricia, Ls), follows(spray, necesse, Ls), between(maybee, volo, bonnie, Ls), onebetween(spray, maybee, Ls). % alt: between(spray,_, maybee, Ls) follows(x,y,[x,y _]). follows(x,y,[_ Zs]):- follows(x,y,zs). between(x,y,z,[x, Y, Z _]). between(x,y,z,[z, Y, X _]). between(x,y,z, [_ Us]) :- between(x,y,z, Us). member(x, [X _]). member(x, [_ Xs]) :- member(x,xs). onebetween(x,z, Ls) :- between(x,_,z,ls). /* Körning : Krävs ej i tenatmen?- race(rs). Rs = [bonnie,volo,maybee,bigfoot,spray,necesse,patricia] ; no */ % b % c 8a) 2 8b) 2 8c) 2 8d) 1 8e) 2 % 8?- a= b. no % 9?- A= b. A = b ; no?- a= B. B = a ; no?- A= B. A = B ; no?- m(adam, rut) = m(adam, rut). yes?- m(adam, rut) = m(adam, rut). Adam = adam? ; no?- m(adam, rut) = m(adam, Adam). no?- m(adam, rut) = m(adam, Rut). Rut = rut? ; no?- m(adam, rut) = m(rut, Rut). Rut = rut, Adam = rut? ;no?- m(adam, rut) = M(adam, rut). {SYNTAX ERROR:.. OBS: ; no "inga fler lösningar med andra substitutioner" bara no "unifierar ej"
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 merNada 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 merDel : 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 merTentamensdag 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 merNada 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 merDel : 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 merDel : 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 merFöreläsning 8. Paradigmöversikt, paradigmhistoria, paradigmgeografi. Se även föreläsning 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
Läs merFö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 merFö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 merKungliga 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 merFö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 merFö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 merFö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 merKursanalys 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 merFö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 merFö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 merFö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 merDD1361 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 merEnjoy 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 merFö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 merEnjoy 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 merIntroduktion 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 merNada, 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 merHaskell 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 merFö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 merCentrala begrepp i prolog och logikprogrammering. Annamaris lista
Centrala begrepp i prolog och logikprogrammering Annamaris lista Databas med fakta och regler: Ett prolog-system består av en databas av fakta, och regler som gäller för dessa fakta. Fakta har formen av
Läs merFunktionell 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 merFöreläsning 3: Booleans, if, switch
TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt
Läs merDagens föreläsning Programmering i Lisp Fö 7. Sammanfattning funktionell programmering Exempel på funktionella programspråk
1 Dagens föreläsning Programmering i Lisp Fö 7 Kopplingen funktionella programmering och diskret matematik. Jämför vad ni hittills gjort i denna kurs och i den diskreta matematiken, med referenser in i
Läs merLÖSNINGSFÖRSLAG TENTAMEN PROGRAMMERING I ETT FUNKTIONELLT SPRÅK ML, 5P
UMEÅ UNIVERSITET Datavetenskap 020321 Betygsgränser 0 19,5 U 20 25,5 3 26 31,5 4 32-40 5 LÖSNINGSFÖRSLAG TENTAMEN 020321 PROGRAMMERING I ETT FUNKTIONELLT SPRÅK ML, 5P Uppgift 1(3+2=5 poäng) I denna uppgift
Läs merTentamen. 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 merImperativ 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 merIntroduktion till programmering. Undervisning. Litteratur och examination. Lärare. Föreläsning 1
Kursinfo Introduktion till programmering Undervisning Föreläsning 1 Kursinformation Inloggning, filsystem, kommandotolk några inledande exempel Föreläsningar Fem föreläsningar, vardera 45 minuter. Allmänna
Läs merDD1361 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 merDeklarativt 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 merKompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering
Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk
Läs merIntroduktion 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 merKap9. 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 merTDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel
TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte nödvändigtvis i svårighetsordning.
Läs merFö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 merDD1361 Programmeringsparadigm Föreläsning 1: Intro
DD1361 Programmeringsparadigm Föreläsning 1: Intro Per Austrin KTH 2015-08-31 https://www.kth.se/social/course/dd1361/ Dagens föreläsning Översikt om: 1. Ämnet 2. Lärarna 3. Kursformalia (betyg etc) Dagens
Läs merDD1361 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 merFöreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad
1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2 Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok,
Läs merFöreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt
Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling
Läs merIntroduktion till programmering SMD180. Föreläsning 2: Variabler, uttryck och satser
Introduktion till programmering Föreläsning 2: Variabler, uttryck och satser 1 1 Värden De grundläggande saker som en dator manipulerar resultaten av beräkningar kallas värden Värden vi stött på: 2 och
Läs merFöreläsning Datastrukturer (DAT036)
Föreläsning Datastrukturer (DAT036) Nils Anders Danielsson 2013-11-25 Idag Starkt sammanhängande komponenter Duggaresultat Sökträd Starkt sammanhängande komponenter Uppspännande skog Graf, och en möjlig
Läs merFunktionell programmering. Haskell. Ge#ng started...
Funktionell programmering Haskell Ge#ng started... Installera Haskell För a/ installera Haskell på egen maskin, ladda ned Haskell Pla9orm från h/p://www.haskell.org/pla9orm/ Där finns instrukdoner, dokumentadon,
Läs merTentamen i Introduktion till programmering
Tentamen i Introduktion till programmering Kurskod: Skrivtid: D0009E 09:00-13:00 (4 timmar) Totalt antal uppgifter: 7 Totalt antal poäng: 38 Tentamensdatum: 2014-05-17 Jourhavande lärare: Tillåtna hjälpmedel:
Läs merFöreläsning [ ] i programmeringsparadigm. Om multiparadigm-språket OZ och en tjock bok.
Föreläsning [14.. 15] i programmeringsparadigm. Jag har ju delat ut Lite grann om syntax, semantik och syntaxanalys. Några ex finns på Nadas kursexpedidition. Labben "Danska räkneord" ska göras med en
Läs merIntroduktion till programmering D0009E. Föreläsning 1: Programmets väg
Introduktion till programmering D0009E Föreläsning 1: Programmets väg 1 Vad är en dator? En maskin vars beteende styrs av de innehållet (bitmönster) som finns lagrade i datorns minne (inte helt olikt förra
Läs merProgrammering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Läs merInstruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python)
Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python) Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken
Läs merUniversitetet 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 merTDDC74 Lab 02 Listor, sammansatta strukturer
TDDC74 Lab 02 Listor, sammansatta strukturer 1 Översikt I denna laboration kommer ni att lära er mer om: Mer komplexa rekursiva mönster, procedurer och processer. Hur man kan hantera listor och andra enklare
Läs merDagens 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 merTDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016
TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte ordnade i någon
Läs merDD1361 Programmeringsparadigm HT15
DD1361 Programmeringsparadigm HT15 Logikprogrammering 3 Dilian Gurov, TCS Idag Induktiva datatyper: Träd (inte inbyggd) Binära träd utan data Binära träd med data Prolog-specifika konstruktioner Negation,
Läs merVälkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.
Välkomna till DIT012 IPGO 1 Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1. Lärare och Handledare Kursansvariga, examinatorer, föreläsare och handledare
Läs merDD1361 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 merF6: Högre ordningens funktioner. Mönster för rekursion (1) Mönster för rekursion (1b) Mönster för rekursion (2) Högre Ordningens Funktioner
F6: Högre ordningens funktioner Mönster för rekursion (1) Mönster för rekursion Partiellt applicerbara funktioner Anonyma funktioner Op HOF på listor Sortering Listreduktion Funktionskomposition Rekursivt
Läs merFöreläsning 8 i programmeringsparadigm. Kommentarer kring schacklabben.
Föreläsning 8 i programmeringsparadigm. Kommentarer kring schacklabben. Om man vill kontrollera hur mycket man skrivit i sina Haskell-moduler man köra unix-kommandot wc (word count):..> wc.hs 100 486 3292
Läs merTentamen i. TDDC67 Funktionell programmering och Lisp
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDC67 Funktionell programmering och Lisp och äldre kurser TDDC57 Programmering, Lisp och funktionell programmering
Läs merTentamen i. TDDA 69 Data och programstrukturer
1 Linköpings tekniska högskola Institutionen för datavetenskap Anders Haraldsson Tentamen i TDDA 69 Data och programstrukturer Torsdag den 14 januari 2009, kl 14-18 Hjälpmedel: Inga. Poänggränser: Maximalt
Läs merDD1361 Programmeringsparadigm HT15
DD1361 Programmeringsparadigm HT15 Logikprogrammering 3 Dilian Gurov, TCS Idag Induktiva datatyper: Träd (inte inbyggd) Binära träd utan data Binära träd med data Prolog-specifika konstruktioner Negation,
Läs merProgrammering II (ID1019) :00-12:00
ID1019 Johan Montelius Programmering II (ID1019) 2014-01-16 09:00-12:00 Förnamn: Efternamn: Instruktioner Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.
Läs merTentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2017-08-14 Tid: 14.00-18.00 Hjälpmedel: Lexikon Engelskt-Valfritt språk. Betygsgränser: U: -23 3: 24-37 4: 38-47 5
Läs merCommand line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016
Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter
Läs merFöreläsning 10 i programmeringsparadigm. Boxmodellen för append.
Föreläsning 10 i programmeringsparadigm. Boxmodellen för append. Jag försöker förklara denna bild för en körning av append([1,2], [3, 4], Rs) närmare på föreläsningen. Principen är att vid anrop (Call)
Läs merFöreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2.
Föreläsning 2 sept 05 (Onsdag v 36). DD Chapter 2. Hur vi jobbar med ett program. 1. Vad vi skriver (med hjälp av redigeringsprogrammet Emacs) på datorn: // Fig. 2.1: Welcome1.java // A first program in
Läs merEDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass
EDAA20 Föreläsning 11-12 Klassen ArrayList Klassen ArrayList Skriva program som läser data från en textfil och skriver data till en textfil Repetition inför delmålskontroll 2 är en standardklass (i paketet
Läs merProgramkonstruktion. Tentamen,
Programkonstruktion (Programmeringsmetodik DV1) Tentamen, 2008-03-10 Lars-Henrik Eriksson Institutionen för informationsteknologi Uppsala Universitet Tid: 0900-14:00. Börja med att läsa igenom alla frågorna
Läs merI 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 merADT Set, Map, Dictionary. Iteratorer TDDD86: DALGP. Tommy Färnqvist, IDA, Linköpings universitet
Föreläsning 5 ADT Set, Map, Dictionary. Iteratorer TDDD86: DALGP Utskriftsversion av föreläsning i Datastrukturer, algoritmer och programmeringsparadigm 11 september 2015 Tommy Färnqvist, IDA, Linköpings
Läs merDagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Läs merF4. programmeringsteknik och Matlab
Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner
Läs merDeklarationer/definitioner/specifikationer
Deklarationer/definitioner/specifikationer Konstantdefinitioner innebär att ett namn binds och sätts att referera till ett värde som beräknas vid kompileringen/interpreteringen och som under programmets
Läs merProgrammering II (ID1019)
ID1019 Johan Montelius Instruktioner Betyg Programmering II (ID1019) 2019-03-08 Svaren skall lämnas på dessa sidor, använd det utrymme som nns under varje uppgift för att skriva ner ditt svar (inte på
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java
Läs merI Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program
Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java
Läs merKlassdeklaration. 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 merPlanering 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 merTraditionell Programmering
Crash Course in Prolog Baran Çürüklü Introduktion till PROLOG, dvs. PROgramming in LOGic Prolog-programmen är deklarativa och består av egenskaper, relationer och regler. Lisp and Prolog är de vanligaste
Läs merIntroduktion 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 merTDDC74 Programmering, abstraktion och modellering DUGGA 2
AID-nummer: Datum: 2011-02-18 1 Tekniska högskolan vid Linköpings universitet Institutionen för datavetenskap Anders Haraldsson TDDC74 Programmering, abstraktion och modellering DUGGA 2 Fredag 18 feb 2011
Läs merPlanering 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 merProgramkonstruktion och datastrukturer. Moment 9 Om högre ordningens funktioner. PKD 2010/11 moment 9 Sida 1 Uppdaterad
Programkonstruktion och datastrukturer Moment 9 Om högre ordningens funktioner PKD 2010/11 moment 9 Sida 1 Uppdaterad 2010-12-02 Anonyma funktioner igen En funktion som inte är namngiven kallas för en
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,
Läs merProgrammering och Programspråk. 7,5 högskolepoäng. Namn: (Ifylles av student) Personnummer: (Ifylles av student)
Programmering och Programspråk Provmoment: Ladokkod: Tentamen ges för: Tentamen NPL011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:
Läs merLite skoj - typ. 5DV085 - Programspråk. Jan Erik Moström, Department of Computing Science, Umeå University - jem@cs.umu.se
Lite skoj - typ 5DV085 - Programspråk, Department of Computing Science, Umeå University - jem@cs.umu.se Kommentarer och frågor på sem 1? Byte av tid Den 26:e - skulle vi kunna flytta den lektionen? Förmiddagen?
Läs merTentamen Datastrukturer (DAT036)
Tentamen Datastrukturer (DAT036) Datum och tid för tentamen: 2013-12-16, 14:00 18:00. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 15:00 och
Läs merFöreläsning 12 i programmeringsparadigm. Negering.
Föreläsning 12 i programmeringsparadigm. Negering. Brna avsnitt 7.2. Prologs negering \+ fungerar som så att om vi har delmålet \+ p(...), så körs p(..). Om denna körnings lyckas så misslyckas \+ p(...)och
Läs merTDDC74 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 merTentamen TEN1 HI1029 2014-05-22
Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
Läs merFöreläsning REPETITION & EXTENTA
Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder
Läs merInstruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python
Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok, t.ex. den rekommenderade kursboken. Boken får ha anteckningar,
Läs merProgramkonstruktion. Tentamen,
Programkonstruktion (Programmeringsmetodik DV1) Tentamen, 2009-08-24 Lars-Henrik Eriksson Institutionen för informationsteknologi Uppsala Universitet Tid: 14:00-19:00. Börja med att läsa igenom alla frågorna
Läs merLambdas. (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