TDDI TDDI22 Tentaregler

Relevanta dokument
TDDI22 (exempel) TDDI22 Tentaregler

TDDI TDDI22 Tentaregler

TDDI TDDI22 Tentaregler

TDDI TDDI22 Tentaregler

TDIU20 (exempel) TDIU20 Tentaregler

TDIU01 / 725G

TDIU TDIU20 Tentaregler

TDIU TDIU20 Tentaregler

TDP Regler

TDP Regler

TDP Regler

TDIU Regler

TDIU Regler

TDIU Regler

TDP Regler

Regler. Betygssättning

TDP Regler

TDIU Regler

TDP Regler

TDP Regler

729G04 Programmering och diskret matematik

Regler. Betygssättning

729G04 Programmering och diskret matematik

kl Tentaupplägg

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

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

TDDI14 Objektorienterad programmering

729G04 Programmering och diskret matematik

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

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

TDP004 - Datortenta (DAT2)

kl Tentaupplägg

729G04 Programmering och diskret matematik

kl Tentaupplägg

HI1024 Programmering, grundkurs TEN

kl Tentaupplägg

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

TDIU06 Programmering g.k. Laborationer LAB2. Vt1, Dessa laborationer ingår i examinationsmomentet LAB2 och ska göras i läsperiod Vt1.

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

kl Tentaupplägg

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

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

TDP004 - (För)Tentamen

Tentaupplägg denna gång

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

Försättsblad till skriftlig tentamen vid Linköpings Universitet

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

Tentaupplägg denna gång

Uppgift 1 ( Betyg 3 uppgift )

HI1024 Programmering, grundkurs TEN

kl Tentaupplägg

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

729G74 - IT och programmering, grundkurs. Dugga.

kl Tentaupplägg

TDDC74 Programmering: Abstraktion och modellering Dugga 1, kl 14-16

DUGGA Tentaupplägg

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

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

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

kl Tentaupplägg

kl Tentaupplägg

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

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

kl Tentaupplägg

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

kl Tentaupplägg

kl Tentaupplägg

Tentamen i Grundläggande programmering STS, åk 1 fredag

kl Examination - Ada

KeyControl Utskrifter och historik

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

kl Tentaupplägg

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

HI1024 Programmering, grundkurs TEN

Det ä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.

Försättsblad till skriftlig tentamen vid Linköpings Universitet

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

kl Tentaupplägg

Uppgift 1 ( Betyg 3 uppgift )

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

kl Tentaupplägg

DUGGA Tentaupplägg

Objektorienterad Programmering (TDDC77)

kl Tentaupplägg

TDDC74 Programmering: Abstraktion och modellering Dugga 2, , kl 14-16

Försättsblad till skriftlig tentamen vid Linköpings Universitet

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

Tentamen Datastrukturer (DAT036/DAT037/DIT960)

kl Tentaupplägg

Uppgift 1 (vadå sortering?)

Tentamen i Grundläggande programmering STS, åk

1 Tekniska förutsättningar In- och utloggning Inloggning Utloggning... 4

Försättsblad till skriftlig tentamen vid Linköpings Universitet

Objektorienterad Programkonstruktion

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

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 den kopian. Den inbyggda int-typen är väldigt praktisk, men det finns ett problem. int har en maxstorlek och när vi går utanför denna gräns har vi enligt standarden undefined behavior - vad som helst kan hända. Din uppgift är att skapa en egen typ Modular som garanterar att vi återgår till typens minimivärde när vi går över maxgränsen. För att göra typen så användbar som möjligt ska den implementeras som en mall som tar både den interna datatypen, mini- och maximigränserna samt en steglängd som ska användas av stegningsoperatorn ++. Samtliga parametrar förutom den interna typen ska ha standardvärden. Min- och maxgränserna ska baseras på numeric_limits från <limits> och steglängden ska vara 1. Modular ska åtminstone ha följande medlemmar: Typkonerterande konstruktor för att initera Modular från ett värde av den interna typen. Det är givet att värdet som anges ligger inom gränserna för de angivna mallargumenten Typomvandlande operator för konvertera Modular till ett värde av den interna typen Stegningsoperator ++ i både prefix- och postfixvariant. Dessa ska stega med steg enligt den angivna steglängden. I den givna filen finns ett huvudprogram som testar ovanstående funktioner.

Uppgift 2 - STL Skriv all kod på en fil med namnet uppgift2.cc. Implementera följande algoritm exakt så som beskrivs: 1. Konstruera en std::vector med plats för 5000 heltal. I fortsättningen kallar vi den V. 2. Använd std::iota för att fylla vektorn V med tal från och med 2. 3. Skapa ett tomt std::set för heltal. 4. Skapa en iteratorvariabel N som hänvisar till vektorn V:s första position. Värdet på positionen ska ej vara ändringsbart. 5. Stega igenom vektorn V med std::for_each. Utför följande för varje värde I: (a) Stega fram iteratorvariabel N en position. (b) Använd algoritmen std::copy_if för att kopiera varje värde från och med N till slutet av V som är jämt delbart med I in i setet. Använd en std::inserter för att sätta in i setet. 6. Skapa en tom std::vector för heltal. I fortsättningen kallar vi den P. 7. Använd std::set_difference för att kopiera över alla värden som finns i V men inte i setet till din nya tomma vektor P. Använd en std::back_inserter. 8. Använd algoritmen std::copy för att skriva ut vekton P på std::cout med hjälp av en std::ostream_iterator. Använd ett blanksteg som talseparator. Om du gjort rätt skrivs nu en lista med alla primtal från 2 till 5000 ut.

Uppgift 3 - Mallar Kopiera filen given_files/uppgift3.cc till din hemkatalog och modifiera din kopia. I programspråket Python finns det en funktion zip som tar emot två itererbara containertyper och genererar en map-liknande struktur där nycklarna bestäms från den första behållaren och värdena tas ur den andra. Din uppgift är att göra en funktion som immiterar detta i C++. Skapa en mallfunktion zip med två mallargument T och U som tar emot två vectorer som innehåller värden av typ T respektive U. Funktionen ska returnera en map<t,u> där alltså värdet på index i från den första vectorn agerar nyckeln som kopplas till värdet på index i från den andra vectorn. Om en nyckel förekommer flera gåger ska det föregående värdet skrivas över. Se exempel på hur funktionen används och förväntade resultat i den givna filen. Om storlekarna inte matchar ska ett std::logic_error kastas.

Uppgift 4 - STL Skriv all kod på en fil med namnet uppgift4.cc. I denna uppgift ska du skapa ett program för att hantera en skuldlista. På filen transactions.txt i given_files hittar du en lista av transaktioner. En transaktion består av en rad innehållandes ett par av namn (två ord) mellan vilka transaktionen ägt rum och ett reellt tal (den aktuella skulden). Exempelvis betyder transaktionen nedan att Anna är skyldig Kalle 25,50 kr. Kalle Anna 25.5 Det första namnet är alltså personen som gjort köpet. Skapa ett program som låter användaren ange namnet på filen med transaktioner på kommandoraden. Programmets uppgift är att, med en lämplig associativ behållare, generera en lista över samtliga skulder. I tabellen nedan visas resultatet som ges av den givna filen. Negativt värde i tabellen betyder att personen i fråga är skyldig någon pengar och ett positivt värde betyder att personen ska få tillbaka pengar. Namn Saldo ----------------- Anna 203.50 Björn -23.10 Carin -12.15 David 101.00 Emma -251.25 Fredrik -18.00 OBS Problemet SKA lösas med hjälp av associativa containrar.