Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar.
|
|
- Ingrid Månsson
- för 6 år sedan
- Visningar:
Transkript
1 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 = 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. Beskriv olika programeringsparadigm och vad som utmärker dem. Ge exempel på olika programmeringsspråk i de olika paradigmen. 10 p) Del : Funktionell programmering. I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar. 2. a) Skriv en funktionen onlyone som avgör om det är sant eller osant om en lista innehåller exakt ett element. Ange även funktionens typ. b) Skriv en funktionen signum med denna matematiska definition: 1 om 0 < x signum(x) = 0 om x =0-1 om x < 0 6p) 3. a) I schacklabben kan man ha användning för en funktion (skrivs i modulen Square) nextsquare :: Square {-from-} -> Square {-to-}-> Square {-next-} 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. 3p) b) 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 exporterar typen Square i 3a newtype Chess = Chess [(Square, Chessman)] deriving Show vänd!
2 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) = theone [icm (isq, icm) <- ch, isq == sq] where theone :: [Chessman] -> Chessman theone (cm:[]) = cm theone _ = NoChessman Skriv freesquares. I oktobertentan löses uppgiften på en mängd olika sätt genom att arbeta med en lista med mellanliggande rutor, som framställdes med betweensquares. Nu tänker jag i första hand på att skriva en direkt, rekusiv lösning, se tips, men det är tillåtet att göra på andra sätt. När kan man använda newtype istället för data? Fördel? Tips: Jag använder nextsquare och rekursion i min lösning; freesquares för rutor från startrutan fram till slutrutan är ju sant om nästa ruta från startrutan är ledig och (rekursivt) att det är sant att rutorna från nästa ruta från startrutan till slutrutan är tomma. Basfallet är t ex att freesquares är sant om startrutan == slutrutan. (7p) 4. Skriv i i Haskell en funktion swaplist som skiftar komponeterna i alla par i en lista. De par där båda komponeterna är lika skall ej finnas med i resultatlistan. Exempel : Main> swaplist [(5,4),(15,14),(2,2),(14,14),(35,34)] [(4,5),(14,15),(34,35)] a) Skriv en lösning som vare sig använder högre ordningens funktioner, ackumulering i parameter, eller listomfattning. b) Skriv en lösning som använder ackumulering i parameter. c) Skriv i i Haskell en funktion swap som skiftar komponeterna i ett par. d) Skriv i i Haskell en funktion pneq som kontrollerar att komponeterna i ett par är olika. e) Skriv en lösning för swaplist som använder map, filter, swap och pneq. f) Skriv en lösning för swaplist som använder listomfattning. g) Skriv en lösning för swaplist som använder map, filter och lamda-uttryck (anonyma funktioner) i stället för swap och pneq. (14p)
3 5 a) Skriv en funktion (Pytagoras sats) 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) c) 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 konstuerar-funktion) 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). v1 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): v2 v5 v3 v4 v2 v3 = + v1 v1 v5 v3 v4 d) 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. 20p)
4 Del : Logikprogrammering. 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. (9p) 7) Skriv i Prolog ett generate-and-test-program som löser följande problem (modifierat efter Sterling and Shapiro): Three friends came first, second, and third in a programming competition. Each of the three has a different first name, likes a different sport and has a different nationality. Michael likes basketball and did better than the American. Sven, the Swede, did better than the tennis player. The cricket player came first. Who is the Australian? What sport does Richard play? (11p) 8. a) Om Prolog misslyckas med att unifiera argumenten i ett delmål f(..) med huvudet (konklusionen) i den första av flera klausuler som definierar predikatet f så 1) svarar Prolog yes. X) svarar Prolog no. 2) försöker Prolog unifiera argumenten med huvudet i den andra klausulen för predikatet f. b) Om ett Haskell-system, t ex hugs, misslyckas med att passa ("matcha") argumenten i ett anrop f.. med vänsterledet i den första av flera ekvationer som definierar funktionen f så 1) svarar hugs med Program error. X) returneras False. 2) försöker hugs "matcha" argumenten med vänsterledet i den andra ekvationen för funktionen f. c) Om Prolog misslyckas med att satisfiera ett delmål g i en konjunktion av delmål.., h(..), g(..), f(x) så 1) försöker Prolog på nytt att få delmål h att lyckas. X) svarar Prolog no. 2) svarar Prolog yes. vänd!
5 d) Om ett Haskell-system, t ex hugs, vid en körning får resultatet False vid beräkningen av funktionanropet g(x)i detta uttryck med funktionanrop h(x) && g(x) && f(x) så 1) anropas h(x) på nytt. X) blir hela uttrycket True om uttrycket f(x), som beräknas, blir True. 2) blir hela uttrycket False 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?) 8p)?- X(a) = X(a).?- X(a) = x(a).?- x(a) = Y(a).?- x(a) = y(a).?- x(a) = x(a).?- x(a) = x(b).?- x(a) = x(b).?- x(a) = x(b).?- x(a) = X(A).?- x(a) = x(a).?- stockh(del(norrmalm, X), Y) = stockh(del(z, nk), sv).?- stockh(del(norrmalm, X), X)= stockh(del(z,nk), Y). 12p) 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 (tex e-pos, tel ):
6 Svar tentamen programeringsparadigm januari. Del paradigmer allmänt. Imperativ : Sekvens av kommandon (satser/order/instuktioner) som datorn utför i tidsordning. Ordningen kan brytas med aternativkommandon (if / case /switch osv ) och med slingkommandon ( Loopar / for / while / repeat- until osv) och i vissa språk med goto. Assemleringspråk, Fortran, Basic, Pascal... osv. Det finns hur många som helst. Moderna imperativa språk möjliggör definiton av egna sammansatta typer; poster (records) och arrayer. OO : Imperativ + klassbegrepp, dvs posterna kan innehålla funktioner/procedurer = "metoder". Instanser av olika klasser kallas objekt, och anrop av metoderna sker via objekten. Detta innebär att objekt som är av av olika "sort" (tillhör olika klasser) "gör saker på sitt sätt". Dessutom kan klasserna inordnas i ett arvsträd (eller arvsordning). Språk: Eifel, Simula, Java, C++ m.fl. Funktionella språk. Programmering genom att definiera funktioner, "huvudprogram", "fuktioner", "subrutiner", metoder" ersätts av funktioner. Kärnan är matematikens lamda-kalkyl. Funktioner är värden, funktioner kan ha funktioner som argument och/eller resultat ("Högre ordningens funktioner"). Inga sidoeffekter, dvs en viss kod betyder alltid samma sak oberoende av exekveringsomgivning och oberoende av när den exekveras. Funktionsargument "mönsterpassas" ofta på parametrarna i funktionsdefiionerna, vilket är bekvämt. Språk: Haskell, ~ Lisp, ml. Lamda-uttryck finns också i Python och Python kan därför användas funktionellt. Logik språk. Kärnan är en delmängd av logiken. Programmering i Prolog genom att skriva logiska påståenden (klausuler, satser), dels fakta (endast ett vänsterled), dels regler av typ detta gäller ("klausulhuvud",konklusion, vänsterledet) om detta gäller ("klausulkropp", premiss, högerledetledet). Klausulkroppar består ofta av flera termer med "logiska och" som operator."logiska eller" skrivs i regel som flera klausuler och som tillsammans bildar ett predikat.predikat är alla klusuler med samma namn i konklusionen och samma ställighet. Både klausulhuvud och klausulkropp kan innehålla logiska variabler, och ett logikspråk försöker genom ("dubbelsidig") mönsterpassning (unifiering) klura ut om påståenden är sanna eller om logiska variabler förekommer vad som krävs av de logika variablerna för att påstenden ska vara sanna.språk: Prolog och moderna utvidgningar av Prolog. Del funktionell programmering. onlyone :: [a] -> Bool -- 2 a onlyone (x:[]) = True onlyone _ = False signum :: Integer -> Integer signum x x == 0 = 0 x > 0 = 1 otherwise = -1 nextsquare (Sq i1 j1) (Sq i2 j2) = Sq (i1 + signum (i2- i1)) (j1 + signum (j2-j1)) -- 2 b -- 3 a freesquares vstart vstop b = -- 3 b let vnext = nextsquare vstart vstop cha = chessmanat vnext b in (vnext == vstop) (cha == NoChessman && freesquares vnext vstop b) swaplist :: Eq a => [(a, a)] -> [(a, a)] -- 4
7 swaplist [] = [] -- a swaplist ((a, b) : abps) a == b = swaplist abps otherwise = (b, a):swaplist abps swaplist list = sl list [] -- b where sl :: Eq a => [(a, a)] -> [(a, a)] -> [(a, a)] sl [] acc = acc sl ((a, b) : abps) acc a == b = sl abps acc otherwise = sl abps (acc ++ [(b, a)]) swap :: (a, b) -> (b, a) -- c swap (a, b) = (b, a) pneq :: Eq a => (a, a) -> Bool -- d pneq (a,b) = a /= b swaplist :: Eq a => [(a, a)] -> [(a, a)] -- e swaplist list = map swap (filter pneq) list) swaplist list = [ (b, a) (a,b) <-list, pneq (a,b)] -- f swaplist list = map (\(a, b) -> (b, a)) (filter (\(a, b) -> a /= b) list) -- g distbetween :: ((Float, Float),(Float, Float)) -> Float -- 5a) distbetween ((x1, y1), (x2, y2)) = sqrt ((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2)) triarea :: (Float, Float) -> (Float, Float) -> (Float, Float) -> Float -- 5b) 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) module Shape (Shape(..), area, square) where -- 5 c) data Shape = Rectangle Float Float Circle Float RtTriangle Float Float Polygon [(Float, Float)] square :: Float -> Shape square s = Rectangle s s 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> 4.0*area (Circle 3.0) -- 5 d)
8 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). % a person is p(name, sport, nationality) % 7 puzzle(ps) :- Ps = [p(_, cricket, _), p(_, _, _), p(_, _, _)], member(p(richard, _, _), Ps), member(p(_, _, aussie), Ps), did_better(p(michael, basket, _), p(_, _, american), Ps), did_better(p(sven, _, swede), p(_, tennis, _), Ps). did_better(x,y,[x Ys]) :- member(y, Ys). did_better(x,y,[_ Zs]):- did_better(x,y,zs). member(x, [X _]). member(x, [_ Ys]) :- member(x, Ys). % 6 a % b % c % 8?- X(a) = X(a). {SYNTAX ERROR... % 9?- X(a) = x(a). {SYNTAX ERROR...?- x(a) = Y(a). {SYNTAX ERROR...?- x(a) = y(a). no?- x(a) = x(a). yes?- x(a) = x(b). no?- x(a) = x(b). A = b? ; no?- x(a) = x(b). B = A? ; no?- x(a) = X(A). {SYNTAX ERROR...?- x(a) = x(a). true? ; no?- stockh(del(norrmalm, X), Y) = stockh(del(z, nk), sv). X = nk, Y = sverige, Norrmalm = Z? ; no?- stockh(del(norrmalm, X), X)= stockh(del(z,nk), Y). X = nk, Y = nk, Norrmalm = Z? ; no OBS: ; no "inga fler lösningar med andra substitutioner" bara no "unifierar ej"
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 merDel : 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 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 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 : 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 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 merNada 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 merTypsystem. Typsystem... Typsystem... Typsystem... 2 *
Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och
Läs merTypsystem. DA2001 (Föreläsning 23) Datalogi 1 Hösten / 19
Typsystem Typsystem finns i alla programmeringsspråk. Avsikten med typsystem är att kontrollera att uttryck är säkra i den bemärkelsen att innebörden i operanderna är klar och inte är motsägelsefull och
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 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 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 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 merTDIU01 - 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 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 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 merTENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010
Linköpings universitet Institutionen för datavetenskap, IDA Olle Willén mars 2010 Tentamen TDDB53 TENTAMEN TDDB53 (provkod TEN2) den 7 april 2010 kl 8 12 Jour: Emil Nielsen, tel 070 499 89 88 Hjälpmedel:
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 merProgrammering I Tobias Wrigstad fredag, 2009 augusti 28
Programmering I Tobias Wrigstad tobias@dsv.su.se Vad är programmering? Lågnivåspråk och högnivåspråk Kompilering och interpretering Variabler Notation för flödesschema (flow chart) Kontrollstrukturer (conditionals,
Läs merImperativ programmering. Föreläsning 2
Imperativ programmering 1DL126 3p Föreläsning 2 Imperativ programmering Kännetecken för imperativa språk: Programmet består av en serie instruktioner. Olika språk har olika uppsättningar av instruktioner.
Läs mer2D1339 Programkonstruktion för F1, ht 2003
2D1339 Programkonstruktion för F1, ht 2003 Fiktiv Kontrollskrivning 1 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga hjälpmedel är tillåtna
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 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 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 merMATLAB. Python. Det finns flera andra program som liknar MATLAB. Sage, Octave, Maple och...
Allt du behöver veta om MATLAB: Industristandard för numeriska beräkningar och simulationer. Används som ett steg i utvecklingen (rapid prototyping) Har ett syntax Ett teleskopord för «matrix laboratory»
Läs merProgram & programmering
Program & programmering Vad är program? Satser och instruktioner, toggla igenom exempel Program på olika nivåer, för olika maskiner, för olika saker Tolka program; kompilator, intepretator, binärbytekod,
Läs merDet är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
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 merExtramaterial 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 merExempel på typer av datorspråk EXCEL
1 2 TDDB82 Perspektiv på Datateknik Breddgivande föreläsning Datorspråk Programmeringsparadigmer Programmeringsspråk Konstruktioner i programmeringsspråk Litteratur: Brookshear, Computer Science - an overview,
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 merIntroduktion 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 merSpråket Python - Del 1 Grundkurs i programmering med Python
Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR
Läs merTDP002 Imperativ programmering
TDP002 Imperativ programmering Introduktion till kursen och python Eric Elfving Institutionen för datavetenskap (IDA) Översikt Programmering En introduktion Python Köra och skriva program Python grunderna
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 merHI1024 Programmering, grundkurs TEN
HI1024 Programmering, grundkurs TEN2 2016-01-09 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King
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 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 merDet är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.
Tentamen Programmeringsteknik I 2011-03-17 Skrivtid: 1400-1700 Hjälpmedel: Java-bok Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift
Läs merIntroduktion till programmering SMD180. Föreläsning 5: Fruktbara funktioner
Introduktion till programmering 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 med
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 merGrundläggande datalogi - Övning 1
Grundläggande datalogi - Övning 1 Björn Terelius October 30, 2008 Python är ett tolkat språk som kan köras interaktivt. tcs-ray:~/grudat08>python >>> 11+3*4 23 >>> a = 15 >>> b=a >>> print "a =", a, "b
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 merFunktionell programmering
Funktionell programmering TDDD73 Funktionell och imperativ programmering i Python Föreläsning 8 Peter Dalenius Institutionen för datavetenskap 2013-10-09 Översikt Vad är ett programmeringsparadigm? Vad
Läs merIntroduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 2014-2015. Lektion 4
Introduktion till algoritmer - Lektion 4 Matematikgymnasiet, Läsåret 014-015 Denna lektion ska vi studera rekursion. Lektion 4 Principen om induktion Principen om induktion är ett vanligt sätt att bevisa
Läs merAnmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper
Tentamen Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
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 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 merEDAA20 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 merTentamen ID1004 Objektorienterad programmering May 29, 2012
Omtentamen för ID1004 Objektorienterad programmering HT11, 29 maj 2012, 09-13 Denna tentamen examinerar 3 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av 12 frågor. Varje fråga
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 merEn 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 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 merF5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander
F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean
Läs merFöreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?
Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?
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 merBö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 merTentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.'
Tentamen'('Datastrukturer,'algoritmer'och'programkonstruktion.' Skrivtid: 08.30 13.30 Hjälpmedel: Inga Lärare: Betygsgränser DVA104' Akademin)för)innovation,)design)och)teknik) Onsdag)2014:01:15) Caroline
Läs merSista delen av kursen
Sista delen av kursen handlar om hur program, delprogram och datatyper deklareras och vad det man åstadkommit egentligen betyder. Innehåll Syntaktisk (hur ser det ut) och semantisk (vad betyder det) beskrivning
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 merRepetition i Python 3. Exemplen fac. Exemplen fac motivering. Exemplen fac i Python
Repetition i Python 3 Exemplen fac Orginalet I Scheme använde vi rekursion för all slags repetition. Efterom Scheme är ett funktionellt språk återsänder alla språkkonstruktioner ett värde men i Python
Läs merSista delen av kursen
Sista delen av kursen handlar om hur program, delprogram och datatyper deklareras och vad det man åstadkommit egentligen betyder. Innehåll Syntaktisk (hur ser det ut) och semantisk (vad betyder det) beskrivning
Läs merProgramspråkslingvistik. Sista delen av kursen. Ett programspråk
Sista delen av kursen Programspråkslingvistik handlar om hur program, delprogram och datatyper deklareras och vad det man åstadkommit egentligen betyder. Innehåll Syntaktisk (hur ser det ut) och semantisk
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 meri LabVIEW. Några programmeringstekniska grundbegrepp
Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar
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 merTentamen Grundläggande programmering
Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:
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 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 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 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 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 merTENTAMEN I PROGRAMSPRÅK -- DVG C kl. 08:15-13:15
TENTAMEN I PROGRAMSPRÅK -- DVG C01 140605 kl. 08:15-13:15 Ansvarig Lärare: Donald F. Ross Hjälpmedel: Bilaga A: BNF-definition Betygsgräns: Kurs: Max 60p, Med beröm godkänd 50p, Icke utan beröm godkänd
Läs merAllmänna anvisningar: Skriv dina svar på svarsblanketten. Markera och ange alla svar tydligt och entydigt efter instruktionerna.
Programmering och Programspråk Provmoment: Ladokkod: Tentamen ges för: Tentamen NPL011 Systemarkitektprogrammet 7,5 högskolepoäng Anonym student-id: Tentamensdatum: 2015-11-03 Tid: 09.00 13.00 Hjälpmedel:
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 merFö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 merIdag. Exempel, version 2. Exempel, version 3. Ett lite större exempel
Idag Ett exempel Undantag Substitutierbarhet, subtyper, subklasser När val av metod beror av typerna hos två objekt Lite om överlagring Exempel, version 2 Notera: för samtliga figurer gäller: arean av
Läs merÖ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 merProgrammera i C Varför programmera i C när det finns språk som Simula och Pascal??
Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära
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 mer