TDDI TDDI22 Tentaregler

Relevanta dokument
TDDI TDDI22 Tentaregler

TDDI TDDI22 Tentaregler

TDDI22 (exempel) TDDI22 Tentaregler

TDDI TDDI22 Tentaregler

TDIU20 (exempel) TDIU20 Tentaregler

TDIU01 / 725G

TDIU TDIU20 Tentaregler

TDP Regler

TDIU TDIU20 Tentaregler

TDIU Regler

TDIU Regler

TDP Regler

TDP Regler

TDP Regler

TDP004 - (För)Tentamen

TDIU Regler

TDIU Regler

Regler. Betygssättning

TDP Regler

Regler. Betygssättning

TDP Regler

TDP Regler

729G04 Programmering och diskret matematik

TDP004 - Datortenta (DAT2)

729G04 Programmering och diskret matematik

729G04 Programmering och diskret matematik

TDP004 - Dugga All kod som skickas in för rättning ska kompilera och vara väl testad.

TDDI14 Objektorienterad programmering

729G04 Programmering och diskret matematik

kl Tentaupplägg

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2

TENTA: TDDD11 & TDDC68. Tillåtna hjälpmedel. Starta Emacs, terminal och tentakommunikationsfönster. Skicka in frågor och uppgifter

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

kl Tentaupplägg

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Tentaupplägg. Betygsgränser: 1 uppg 19:00 Betyg 3 2 uppg 18:00 Betyg 4 2 uppg 16:30 Betyg 5 3 uppg 18:00 Betyg 5

kl Tentaupplägg

kl Tentaupplägg

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

TDP004 - Tentamen All form av kontakt mellan studenter under tentamens gång är strängt förbjuden.

Tentaupplägg denna gång

729G04 Programmering och diskret matematik Tenta kl 14:00-18:00

TDIU01 - Datortenta (DAT2)

DUGGA Tentaupplägg

Tenta (TEN3) i kursen 729G04 Programmering och diskret matematik 5 feb 2016, kl 14:00-18:00

729G74 - IT och programmering, grundkurs. Dugga.

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00

kl Tentaupplägg

KeyControl Utskrifter och historik

IsoKurs övningshäfte. Namn:...

Instruktioner - Datortentamen TDDE24 och TDDD73 Funktionell och imperativ programmering (i Python)

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

kl Tentaupplägg. TIPS 4: Du kan kompilera din kod med följande kommandon g++11, w++11 (för mer varningar)

TDP004 - Tentamen All kod som skickas in för rättning ska kompilera och vara väl testad.

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

Tenta i Grundläggande programmering DD klockan

TDP004 - Tentamen All form av kontakt mellan studenter under tentamens gång är strängt förbjuden.

Starta en webbläsare (t ex Internet Explorer, Mozilla Firefox, Safari) Skriv in nedan adress:

kl Tentaupplägg

Språket Python - Del 1 Grundkurs i programmering med Python

HI1024, Programmering, grundkurs, 8hp KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: Fredagen den 21 oktober 2011,

kl Tentaupplägg

HI1024 Programmering, grundkurs TEN

DUGGA Tentaupplägg

Programkonstruktion. Tentamen,

TDP002 - Datortenta (DAT1)

HI1024 Programmering, grundkurs TEN

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00

kl Tentaupplägg

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Kapitel 16 Situationsplan... 3

INLOGGNING 1 (6) Det finns två sätt att logga in i Privera: Med engångslösenord till mobiltelefon Med engångslösenord till e-post

Skolan för Datavetenskap och kommunikation PROGRAMMERINGSTEKNIK FÖRELÄSNING 18

Tentaupplägg denna gång

Uppgift 1 (vadå sortering?)

kl Tentaupplägg

kl Tentaupplägg

TDIU01 (725G67) - Programmering i C++, grundkurs

kl Tentaupplägg

Automatisk start. Anne-Marie Mahfouf Översättare: Stefan Asserhäll

Övningsuppgifter. TDIU04 Programmering i C++, standardbibliotek. Innehåll. Vt Lektion Lektion Lektion Lektion 4...

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 17-19

TDIU Regler

kl Tentaupplägg

Uppgift 1 ( Betyg 3 uppgift )

Ansökan om föreningsbidrag och kulturstöd via webben. Kundens ex. Gäller från

Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201)

Tentamen i Introduktion till programmering

Uppgift 1 ( Betyg 3 uppgift )

TDIU01 - Datortenta (DAT2)

729G04 Programmering och diskret matematik TEN kl 8-12

OOP Omtenta

Transkript:

Inloggning TDDI22 Tentaregler Logga in i tentasystemet genom att välja session exam system och logga in med ditt vanliga LiU- ID. Välj inte att ha denna session som standardsession. Verifiera att dina uppgifter stämmer och förbered din tentaplats. Som vanligt är det inte tillåtet att ha väskor eller jackor vid sin skrivplats och mobiltelefoner ska ligga avstängda i jacka eller väska. Ta fram ditt LiU-kort och invänta tentavakt för att få ett engångslösenord. Hjälpmedel Följande får tas med på tentan: En bok om c++. För boken gäller följande regler: Kommentarer/noteringar som direkt rör text och exempel på sidan i fråga får finnas i sidmarginalen. Egna sidflikar för att enkelt kunna hitta t.ex. de olika kapitlen är tillåtna. Inga extra ark eller lappar, lösa eller fastsatta, får finnas. Tomma sidor, insidan av pärmarna, försättsblad, etc., får inte innehålla programkod. Maximalt ett A4-ark med egna anteckningar Penna för att anteckna under tentan. Ni kommer förses med blanka papper Följande får INTE tas med: Elektroniska hjälpmedel såsom miniräknare, mobiltelefon och smartklockor. Utloggning När du är nöjd med ditt betyg (som står i tentaklienten) kan du avsluta och logga ut som vanligt i menyn. Klicka sedan på ok följt av knappen avsluta tentan. Observera att du när du gjort detta inte kan logga in igen. Lämna inte din plats innan vanliga inloggningsskärmen syns. Frågor om uppgifter Frågor om tentan i stort eller uppgiftspecifika frågor ska ställas via tenta-klienten. Detta för att vi ska ha en historik av konversationen samt för att vi ska kunna ge samma hjälp till olika studenter. Systemfrågor Om du har systemfrågor som t.ex. problem med tentaklienten eller terminalen räcker du upp handen så kommer en assistent och hjälper till.

Tentaregler Tentan består av fyra uppgifter indelade i två kategorier; standardbibliotek (STL) och mallar. För godkänt betyg på tentan krävs godkänd lösning av en uppgift inom vardera kategori. För högre betyg krävs lösning av uppgifter inom en viss tid enligt tabell 1. Tid (h) Antal uppgifter STL Mallar Betyg 2.5 + B 1 1 5 4 + B 2 1 5 4 + B 1 2 5 4 + B 1 1 4 5 1 1 3 Tabell 1: Tidsgränser för olika slutbetyg, B är bonus från labserien (se nedan) För att en uppgift ska anses godkänd krävs följande: att man noga följt alla instruktioner och krav ställda i uppgiften din kod följer god programmeringsstil (se labseriens rättningsguide) att din kod har bra inkapsling och resurshantering att standardbibliotekskomponenter används på ett bra sätt Bonus från labserien Bonus från labserien (benämnd B i tabell 1) ger ett visst antal minuter (5, 15, 20 eller 30) extra på respektive tidsgräns för högre betyg. Bonusen är endast giltig det år den erhölls.

Uppgift 1 - Mallar Kopiera filen given_files/uppgift1.cc till din hemkatalog och modifiera din kopia. I programspråket Python finns det en funktion enumerate som tar emot en itererbar containertyp och genererar en map-liknande struktur där nycklarna anger indexet av ett visst element från den givna containern. Värdet är motsvarande värde från den givna containern. Din uppgift är att göra en funktion som immiterar detta i C++. Antag att följande data ges till funktionen: ["detta", "är", "ett", "fint", "exempel"] Då ska din funktion generera följande struktur (nedan visat på formatet nyckel : värde ): { 0: "detta", 1: "är", 2: "ett", 3: "fint", 4: "exempel" } Användaren ska också kunna bestämma startindex med ett andra argument: list<char> v {'a', 'b', 'c'}; enumerate(v, -4); // ger {-4: 'a', -3: 'b', -2:'c'} Skapa en mallfunktion enumerate som fungerar enligt ovan och exempel i den givna filen.

Uppgift 2 - STL På filen given_files/exchange_rates.txt finns växlingskurser som beskriver hur många svenska kronor man får för en enhet av given valuta. Exempelvis ger en KRV (Sydkoreansk won) 0.007069 kronor. Datat är tagit ifrån riksbanken för datumet 2015-09-25. Din uppgift är att skapa ett program som ber användaren mata in ett antal belopp. När användaren är klar med inmatningen (matar in värdet 0) ska programmet skriva ut summan av alla belopp uttryckt i svenska kronor med två decimaler. Användaren kan mata in belopp på formatet NNN värde som ska tolkas som ett värde i valuta NNN. Användaren kan även välja att endast mata in ett värde utan valuta som ska tolkas som ett värde i svenska kronor. Ditt program behöver inte göra några felkontroller, du kan anta att användaren matar in valutor som finns i den givna filen och att alla värden kan tolkas som reella tal. Körexempel 1 (Användarinmatning i fet stil) Mata in belopp (avsluta med 0): 12.3 AUD 3.3 USD 12.6 RUB 503 0 Totalsumma: 202.43 Krav: Du ska använda std::map för att lagra växlingskurserna i ditt program. Växlingskurserna ska läsas in från en fil vars sökväg ges som kommandoradsargument vid programmets start. Om filen inte går att läsa ska programmet avslutas med ett bra felmeddelande.

Uppgift 3 - Mallar Du ska skapa en klassmall Power som ska representera exponentiering. Klassen ska ta två mallparametrar, datatypen som ska hanteras (härmed kallad T), samt basen (Base) som ska användas vid beräkningar. Nedan följer ett exempel på hur klassen ska kunna användas (finns som del i den givna filen uppgift3.cc). Power<int, 2> p; bool first {true}; for ( int i {}; i < 8; ++i ) { if (! first ) { cout << ", "; } first = false; cout << p++; }; // 1, 2, 4, 8, 16, 32, 64, 128 skrivs ut Din klass ska alltså stödja följande: Default-konstruktor som sätter det nuvarande värdet till 1 (Base 0 ). operator++ som multiplicerar värdet med basen, Base. Denna ska finnas i både prefix- och postfix-version. Implicit konvertering till den bakomliggande typen T.

Uppgift 4 - STL Du ska i denna uppgift skapa ett program som beräknar en uppskatting av PI enligt följande beskrivning: 1. Skapa två vectorer (härmed kallade X och Y) med förallokerad plats för N double-värden. 2. Fyll de båda vectorerna med uniformt spridda slumpvärden i intervallet [ 1.0, 1.0]. 3. Skapa en ny tom vector, härmed kallad C, för att lagra bool-värden. 4. Använd algoritmen std::transform för att, för varje koordinat (x,y) som skapas genom att parvis ta element från vectorerna X och Y, lägga in värdet true i C om koordinaten ligger i enhetscirkeln (en cirkel med radie 1 som ligger i origo). Om koordinaten inte ligger i enhetscirkeln ska false sparas i C. 5. Beräkna antalet koordinater (F) som fanns inom enhetscirkeln genom att använda std::accumulate med vector C. 6. Uttrycket 4 (F /N) ger nu en uppskattning av Pi. Skriv ut detta värde. Prova din algoritm med olika värden på N. Med N = 1000000 bör du få ungefär två decimalers noggrannhet. Det ska vara enkelt att ändra värdet på N i ditt färdiga program.