Nada, KTH Tentamensdag maj -24 Tentamen i Funktionell Programmering Skrivtid 5 h
|
|
- Ellen Hedlund
- för 6 år sedan
- Visningar:
Transkript
1 Nada, KTH Tentamensdag 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 Tillåtna hjälpmedel: Hudak : The Haskell School of Expression Häften i årets kursbunt : Kompletterande material för 2D1370 Funktionell programmering Datastrukturer i Haskell (Björn von Sydow) Laborationer 2D1370 Funktionell programmering I alla deluppgifterna, använd Haskell och skriv typen för de identifierare du definierar. 1 Denna funktion nextrand :: Int -> Int nextrand n = (25173 * n ) mod kan, givet ett tal i, som resultat ge ett nytt tal j i intervallet 0 <= j < Detta senare tal kan i sin tur generera ytterligare ett tal osv. De genererade följden är psedoslumptal n rektangulärfördelade i 0 <= n < a) Definiera en funktion (gärna med hjälp av hjälpfunktioner ) randcolor :: Int -> (Color, Int) som givet ett startslumpvärde i retunerar slumpmässigt (och med samma sannolikhet) ett par med någon av de tre färgerna Blue, Yellow eller Red i datatypen Color (finns i SOEGraphics) och ett nytt slumptal. (11 p) Exempelvis : randcolor blir (Blue,59134), randcolor blir (Red,9327) osv b) Definiera, med hjälp nextrand, en funktion randomseq :: Int -> [Int] som ger en ström psedoslumptal n rektangulärfördelade i 0 <= n < Argumentet, "fröet", är första slumptalet. Använd inte de definitioner som är svar på c) eller d). Exempelvis take 5 (randomseq 17489) blir [17489,59134,9327,52468,43805] (5p) c) Definiera, med hjälp nextrand, randomseq med iterate (sid 327 i Hudaks bok) (5p) d) Definiera, med hjälp nextrand, randomseq med map (jfr Ex 14.4 sid 205 i Hudaks bok). (5p)
2 2 Uppgiften handlar om ett spel Play21. Exempel på körning (inmatning kursiverat) : Play21> main Tvåpersonersspelet Först till 21. Spelet börjar med värdet 0. Två personer A och B kan sedan växelvis öka värdet med ett eller två genom att trycka på tangenterna 1 eller 2. Först till 21 vinner. Ställningen är 0. A : 1 Ställningen är 1. B : 2 Ställningen är 3. A : 2 Ställningen är 5. B : 1 Ställningen är 6. A : 4 Tryck endast 1 eller 2 Ställningen är 6. A : 1... Ställningen är 16. B : 2 Ställningen är 18. A : 1 Ställningen är 19. B : 2 B vinner Play21> a) Definiera i Haskell en ADT (abstrakt datatyp) ADT21 som exporterar typen ADT21 med operationer: ADT21, -- abstract data type The ADT has a value i::int 0<= i <= 21 zeroadt21,-- :: ADT21 result: an ADT21 with value == 0 onemore, -- :: ADT21 -> ADT21 -- result : ADT21 with value == argument ADT21 value + 1 twomore, -- :: ADT21 -> ADT21 -- result : ADT21 with value == argument ADT21 value + 2 ismax, -- :: ADT21 -> Bool result : ADT21 value == 21? fromenum, -- :: ADT21 -> Int result : value == ADT21 value toenum -- :: Int -> ADT21 -- result : ADT21 with value == argument om argument i::int 0<= i <= 21 annars writes " error : toenum for ADT21" -- för full poäng : och alla andra operationer i Enum För full poäng (det är inte jobbigt om man gör rätt) skall definitionen göras så att ADT21 blir en instans av Enum (Hudak sid 33, 334). (14p) b) Definiera med hjälp av ADT21 modulen Play21 med main :: IO () så att man kan spela som ovan i ingressen. Det är OK att använda modulen Interact (finns i labhäftet sid 23). PS. (15p) OK, det är kanske att ta i att definera en ADT för detta enkla problem, men det är inte så lätt att hitta på realistiska tentauppgifter som samtidigt inte blir för jobbiga att skriva. DS.
3 3 Denna uppgift är inte alls så svår som man kanske först tror. För att göra uppgiften a) behöver man inte förstå programmet nedan. Detta är en variant av det program som finns i kapitel 17 för att köra våra FAL-program: reactimate :: [Char] -> Behavior Graphic -> IO () reactimate title franprog = rungraphics ( do w <- openwindowex title (Just (0,0)) (Just (xwin, ywin)) drawbufferedgraphic (Just 30) t0 <- timegettime -- start time ch <- newchan -- channel (buffer) addevents w 0.0 ch -- add first events contents <- getchancontents ch --??????? mapm_ (drawpict w t0 ch) ((mkfe franprog) (map snd contents, map fst contents )) ) a) Skriv om programmet utan att använda do-syntax, använd monadoperationerna. 15 p) b) Om man läser programmet ovan skrivet med do-syntax som om det vore ett program skrivet i ett konventionellt imperativt språk, verkar det underligt att man kan få strömmen contents med tills synes alla elementen, raden märkt med --???????, trots att bara det första händelserna har tillfogats kanelen ch (med addevents) "innan", och resten av elementen tillfogas av drawpict (som anropar addevents) "efteråt". Förklara med några meningar varför det fungerar i Haskell. 5p)
4 4. a) Skriv i FAL (Hudak kap 15, ditt program kan importera det FAL som användes i laborationen och som finns i labhäftet och använder mm istället för tum) ett program Histo som kan rita en stapel i ett histogram (dvs en rektangel) med initialhöjden 1 mm och som sedan ökar sin höjd med mellan 0 och 9 mm, till exempel med 4 mm om man trycker på 4-tangenten, med 6 mm om man trycker på 6-tangenten osv. Man behöver inte behandla fallet att någon tangent som inte är märkt med en siffra trycks. Tips : Jag använde bla stepaccum. (10p) 4. b) Skriv i FAL (Hudak kap 15, ditt program kan importera det FAL som användes i laborationen och som finns i labhäftet och använder mm istället för tum) ett program Quick som gör att man kan spela ett spel för två personer som fungerar så här : På skärmen visas en cirkel som är blå, gul eller röd. Färgen bestäms slumpmässigt. (Man kan använda delar av uppgift 1 förstås). Det gäller sedan att vara den spelare som först trycker på rätt tangent: Om cirkelfärgen är blå gul röd skall spelare A trycka på skall spelare B trycka på Den som först trycker på rätt tangent får 1 poäng. Därefter visas en ny färg, och spelet fortsätter. Om motspelaren tyckt på rätt tangent först eller om felaktig tangent trycks sker inget. Aktuell ställning visas hela tiden med en vit stapel för spelare A och en grön stapel för spelare B. Stapelns höjd ökar med 1 mm varje gång en spelare hinner först. Tips : Jag använde bla ett sammansatt Behavior i stepaccum och fstb, sndb. (15p) Bifogas : Översikt av FAL.
5 sqrt exp sin log cos tan asin acos atan sinh cosh tanh asinh acosh atanh negate abs signum integral + - * / pi time Behavior Float step a ->> b -> a =>>.. stepacccum Event a Behavior a mouse (, ) ell rec >* <* Behavior Bool &&* * when while Event (a->a) Event () Event Char lbp Event b key (Behavior Float, Behavior Float) mm Event (Float, Float) red, blue, yellow green white black translate Behavior Region untilb switch Event (Behavior a) pairb Behavior Color Behavior (a, b) fstb sndb paint over Behavior Picture snapshot_ snapshot withelem_ Event a Event (b, a) withelem test [a] IO()
6 Förfrågan: Kan du tänka dig att vara labbassistent under läsperiod 1 i kursen programmeringsparadigemer 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 ):
7 Förslag till svar tentamen i Funktionell Programmering 2D maj -24 randcolor:: Int -> (Color, Int) -- 1 a) randcolor i = (numbertocolor(scal 1 3 i), nextrand i) where numbertocolor :: Int -> Color numbertocolor 1 = Blue numbertocolor 2 = Yellow numbertocolor 3 = Red scal :: Int -> Int -> Int -> Int scal from to n = n div den + from where range = to - from + 1 den = div range randomseq seed = seed : randomseq2 (nextrand seed) -- 1 b) randomseq seed = (iterate nextrand) seed -- 1 c) randomseq seed = (seed) : map nextrand(randomseq1 seed) -- 1 d) module ADT21 ( -- 2 a) ADT21, -- data type The ADT has a value i::int 0<= i <= 21 zeroadt21, -- :: ADT21 result: an ADT21 with value == 0 onemore, -- :: ADT21 -> ADT21 result : ADT21 with value == argument value + 1 twomore, -- :: ADT21 -> ADT21 result : ADT21 with value == argument value + 2 ismax, -- :: ADT21 -> Bool result : ADT21 value == 21? fromenum, -- :: ADT21 -> Int result : value == ADT21 value toenum -- :: Int -> ADT21 result : writes " error : toenum for ADT21" -- och övriga funktioner i Enum ) where newtype ADT21 = Adt21 Int zeroadt21 :: ADT21 zeroadt21 = Adt21 0 onemore :: ADT21 -> ADT21 onemore (Adt21 21) = Adt21 21 onemore (Adt21 i) = Adt21 (i+1) twomore :: ADT21 -> ADT21 twomore (Adt21 21) = Adt21 21 twomore (Adt21 20) = Adt21 21 twomore (Adt21 i) = Adt21 (i+2) ismax :: ADT21 -> Bool ismax (Adt21 21) = True ismax _ = False -- data också OK instance Enum ADT21 where fromenum (Adt21 i) = i toenum i 0 <= i && i <= 21 = Adt21 i otherwise = error " error : toenum for ADT21"
8 module Play21 (main) where -- 2 b) import Interact import ADT21 main :: IO () main = makeinteractivprogram startstatus firstpromt f firstpromt :: String firstpromt = " Tvåpersonersspelet Först till 21. \n" ++ " Spelet börjar med värdet 0. Två personer A och B kan sedan\n" ++ " växelvis öka värdet med ett eller två genom att trycka på\n" ++ " tangenterna 1 eller 2. Först till 21 vinner.\n" ++ promt startstatus startstatus :: (ADT21, Bool) startstatus = (zeroadt21, True) f :: (ADT21, Bool) -> String {-input-} -> ( (ADT21, Bool), String, Bool) f ( n, turn) str str == "1" = newn(onemore n, not turn) str == "2" = newn(twomore n, not turn) otherwise = ((n, turn), "Tryck endast 1 eller 2 \n" ++ promt (n,turn), True ) promt :: (ADT21, Bool) -> String promt (n, True) = "Ställningen är " ++ show (fromenum n) ++ ". A : " promt (n, _ ) = "Ställningen är " ++ show (fromenum n) ++ ". B : " newn :: (ADT21, Bool) -> ((ADT21, Bool), String, Bool) newn ( n, turn) ismax n = ( (n, turn), finalpromt turn, False) otherwise = ( (n, turn), promt (n, turn), True) finalpromt :: Bool -> String finalpromt True = " B vinner " finalpromt _ = " A vinner " reactimate title franprog = rungraphics ( -- 3 a) openwindowex title (Just (0,0)) (Just (xwin, ywin)) drawbufferedgraphic (Just 30) >>= \w -> timegettime >>= \t0 -> newchan >>= \ch -> addevents w (w32totime(0)) ch >> getchancontents ch >>= \contents -> mapm_ (drawpict w t0 ch) ((mkfe franprog) (map snd contents, map fst contents ))) -- 3 b) Som framgår av svaret 3a) är hela argumentet till rungraphics ett uttryck, som som vanligt med Haskells lata evaluering beräknas "utifån och in". map i sista raden till exempel kommer igång med att jobba om det finns lite grann av stömmen att börja med, vilket gör att (drawpict w t0 ch) kan jobba lite grann och fylla på strömmen ch som då får lite mer innehåll som gör mapparna nöjda när man tviongas in i uttrycken igen osv
9 module Quick (main) where -- 4 import Picture(Picture, Region, containsr) import Fal import SOEGraphics hiding (Region, Event) {- -- byt modulnamnet ovan till Hist, samma importer -- 4 a) main :: IO() main = test (paint white (translate (40, 0.5*sizeB) (rec 3 sizeb))) sizeb :: Behavior Float sizeb = 1.0 stepaccum ( key =>> newfloat ) newfloat :: Char -> Float ->Float newfloat k h = h + read (k:"") -} main :: IO() main = test (ellp over histoi over histoj) ellb :: Behavior Region ellb = ell ellp :: Behavior Picture ellp = paint colb ellb colb = fstb (sndb stateb) sizei = fstb (fstb stateb) sizej = sndb (fstb stateb) stateb :: Behavior ((Float, Float), (Color, Int)) stateb = ((1.0,1.0), (Red, )) stepaccum ( key =>> newstate ) nextrand :: Int -> Int -- se uppgift 1 randcolor:: Int -> (Color, Int) -- se uppgift 1 newstate :: Char -> ((Float, Float), (Color, Int)) -> ((Float, Float), (Color, Int)) newstate 1 ((i,j), (Blue, gc)) = ((i+1, j), randcolor gc) newstate 2 ((i,j), (Yellow, gc)) = ((i+1, j), randcolor gc) newstate 3 ((i,j), (Red, gc)) = ((i+1, j), randcolor gc) newstate 7 ((i,j), (Blue, gc)) = ((i, j+1), randcolor gc) newstate 8 ((i,j), (Yellow, gc)) = ((i, j+1), randcolor gc) newstate 9 ((i,j), (Red, gc)) = ((i, j+1), randcolor gc) newstate _ ((i,j), (g, gc)) = ((i, j), (g, gc)) histoi = paint white (translate (40, 0.5*sizeI) (rec 3 sizei)) histoj = paint green (translate (80, 0.5*sizeJ) (rec 3 sizej))
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 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 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 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 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. 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 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 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 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 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 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 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 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 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 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 merTenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00
1 ( 7) Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej anteckningar,
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 merMen först: Några funktioner ur preluden. Introduktion till programmering. Uppgiften. Variationer av uppgiften. Föreläsning 4
Introduktion till programmering Men först: Några funktioner ur preluden Vad är skillnaden mellan head str och take 1 str? Föreläsning 4 Ett större exempel. head :: [a] -> a take :: Int -> [a] -> [a] tail
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 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 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 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 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 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 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 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. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.
Tentamen 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.00, sal D31 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Läs merTENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET
UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt
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 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 merSammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111
/home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111 0 # coding : latin Sammanfattning Gick igenom listor, dictionary, felhantering, strängjämförelser, split(), rstrip()
Läs merNamn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel
Data- och Programstrukturer Provmoment: Ladokkod: Tentamen ges för: Omtentamen NDP011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:
Läs merkl 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 merTENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,
Läs merDatastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada
Datastrukturer Vad är en datastruktur? Vad är en datatyp? Primitiva datatyper i Java Icke-primitiva datatyper i Java Minnesexempel med datastrukturer Vektorer i Java Erik Forslin efo@nada.kth.se Rum 1445,
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 mertentaplugg.nu av studenter för studenter
tentaplugg.nu av studenter för studenter Kurskod Kursnamn D0017E Inledande programmering för ingenjörer Datum 2014-10-31 Material Tentamen Kursexaminator Betygsgränser Tentamenspoäng 3 14; 4??; 5?? 25/25
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 merAtt prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.
Datateknik A, Syfte: Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Att läsa: Lektion 2 Uppgifter:
Läs merOBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2
Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 2 TID: 4 timmar Ansvarig: Betygsgränser: Hjälpmedel: Jan Skansholm Sammanlagt maximalt
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 mer729G04 Programmering och diskret matematik. Föreläsning 7
729G04 Programmering och diskret matematik Föreläsning 7 Föreläsningsöversikt Information Interaktion via text Läsa från fil Skriva till fil Spara och läsa abstrakta datatyper från fil Information Felaktigt
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 merTentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl
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 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 merRecap Mera om nya typer Kort Fält. Programmering. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Verónica Gaspes. IDE-sektionen.
Programmering Sommarkurs 2007 www.hh.se/staff/vero/programmering Verónica Gaspes IDE-sektionen Juni 14 Utkast 1 Recap 2 Mera om nya typer 3 Kort 4 Fält Recap Man kan ge namn till typer. Vi undersökte enum
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 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 merTDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19
TDDC74 Programmering: Abstraktion och modellering Dugga 2, 2017-04-06, kl 17-19 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
Läs merTENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
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 merTAIU07 Matematiska beräkningar med MATLAB för MI. Fredrik Berntsson, Linköpings Universitet. 15 januari 2016 Sida 1 / 26
TAIU07 Matematiska beräkningar med MATLAB för MI Fredrik Berntsson, Linköpings Universitet 15 januari 2016 Sida 1 / 26 TAIU07 Kursmål och Innehåll Målet med kursen är att Ge grundläggande färdighet i att
Läs merOrdlistor, filhantering och ut på webben. Linda Mannila 20.11.2007
Ordlistor, filhantering och ut på webben Linda Mannila 20.11.2007 Vad kan vi nu? Primitiva datatyper Tal, strängar, booleska värden Samlingsdatatyp Listan Utskrift Indata Felhantering Funktioner och moduler
Läs merLaboration: Whitebox- och blackboxtesting
Tilda11 höstterminen 2011 Laboration: Whitebox- och blackboxtesting Mål med laborationen Du ska lära dig begreppen white-box testing och black-box testing Du ska öva dig på att konstruera testfall Du ska
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 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 merÖvning 1 - Abstrakta datatyper
/home/lindahlm/activity-phd/teaching/12dd1320/exercise1/exercise1.py September 3, 20121 0 # coding : latin Övning 1 - Abstrakta datatyper 18 Summering Vi gick igenom betydelsen av abstrakta datatyper/datastrukturer.
Läs merAllmänt om Mathematica
Allmänt om Mathematica Utvecklades av Wolfram Research (Stephen Wolfram) på 80-talet Programmet finns bl.a. till Windows, Mac OS X, Linux. Finns (åtminstone) installerat i ASA B121 (Stansen), i matematik
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 mer2D1339 Programkonstruktion för F1, ht 2004
2D1339 Programkonstruktion för F1, ht 2004 Kontrollskrivning 1 Onsdag 24/11 2004 kl 11.15 12.00 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
Läs merVariabler och konstanter
Variabler och konstanter Deklareras automatisk när man stoppar in data i dem. X = 7 Y = A Z = Kalle Definieras av att de har: ett namn (X) en datatyp (Integer) ett värde (t.ex. 7) Lagras i datorns minne!
Läs merTentamen del 2 SF1511, , kl , Numeriska metoder och grundläggande programmering
KTH Matematik Tentamen del 2 SF1511, 2018-03-16, kl 8.00-11.00, Numeriska metoder och grundläggande programmering Del 2, Max 50p + bonuspoäng (max 4p). Rättas ast om del 1 är godkänd. Betygsgränser inkl
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 merUppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00
1 ( 6) Uppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier (ej
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 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 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. 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 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 merM0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1
M0043M Integralkalkyl och Linjär Algebra, H14, Matlab, Föreläsning 1 Ove Edlund LTU 2014-11-07 Ove Edlund (LTU) M0043M, M1 2014-11-07 1 / 14 Några elementära funktioner i Matlab Exempel exp Beräknar e
Läs merIntroduktion till programmering SMD180. Föreläsning 9: Tupler
Introduktion till programmering Föreläsning 9: Tupler 1 1 Sammansatta datatyper Strängar Sekvenser av tecken Icke muterbara Syntax: "abcde" Listor Sekvenser av vad som helst Muterbara Syntax: [1, 2, 3]
Läs merTENTAMEN. Luleå tekniska universitet
TENTAMEN Luleå tekniska universitet Kurskod: D0019N Kursnamn: Programutveckling med Java Tentamensdatum: 2009-12-21 Skrivtid: 4 timmar Tillåtna hjälpmedel: Deitel & Deitel: Java How to Program (valfri
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 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 merProgrammering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.
Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java
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 merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merDatalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs
Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten
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 merSF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2
Matematisk Statistik SF1900 Sannolikhetsteori och statistik, HT 2017 Laboration 1 för CINEK2 1 Introduktion Denna laboration är inte poänggivande utan är till för den som vill bekanta sig med MATLAB. Fokusera
Läs merDiagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.
.0.0 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6 poäng Denna tentamen
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 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 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 merProgrammering 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 merAgenda. Objektorienterad programmering Föreläsning 13
Objektorienterad programmering Föreläsning 13 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webacademy.se Agenda Ett objektorienterat exempel Repetition Mer om arv Abstrakta klasser Abstrakta metoder
Läs merProgramkonstruktion. Tentamen,
Programkonstruktion (Programmeringsmetodik DV1) Tentamen, 2008-06-12 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 merTENTAMEN OOP
TENTAMEN OOP 2014-03-15 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Läs merProgrammeringsmetodik DV1, Programkonstruktion del 1 Tentamen,
Programmeringsmetodik DV1, Programkonstruktion del 1 Tentamen, 2007-08-21 Lars-Henrik Eriksson Institutionen för informationsteknologi Uppsala Universitet Tid: 0900-14:00. Börja med att läsa igenom alla
Läs merObjektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6
Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner
Läs merUppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00
1 ( 7) Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00 Tillåtna hjälpmedel: Dator, penna, papper, linjal, suddgummi, godkänd(a) bok/böcker/kompendier
Läs merTentamen i. Programmering i språket C
1 of 6 Örebro universitet Akademin för naturvetenskap och teknik Thomas Padron-McCarthy (thomas.padron-mccarthy@oru.se) Tentamen i Programmering i språket C för D1 m fl, även distanskursen lördag 25 februari
Läs merOOP Tentamen
DVS SU/KTH 1 (6) OOP OOP Tentamen 2010-01-15 15.00 20.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Skriv namn och personnummer på varje inlämnat blad. Påbörja varje ny uppgift på nytt blad. Skriv
Läs merPython. Python är, som Scheme, ett interpreterat språk men det finns kompilatorer för Python.
är, som Scheme, ett interpreterat språk men det finns kompilatorer för. När man interpreterar ett språk tillhandahåller man en interpretator som läser sats för sats och försöker tolka den. När man kompilerar
Läs merHögskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin
Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA, 5p för SY2 2001-03-16, kl 14.00-18.00 Hjälpmedel: Inga hjälpmedel är tillåtna
Läs merDIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga
203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6
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 II 2018-10-19 Skrivtid: 8:00 13:00 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 mer