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

TDIU Regler

TDP Regler

TDIU Regler

TDP Regler

TDIU Regler

Regler. Betygssättning

TDP Regler

TDIU Regler

TDP Regler

Regler. Betygssättning

TDP Regler

TDP Regler

TDP Regler

TDDI14 Objektorienterad programmering

kl Tentaupplägg

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

Tentaupplägg denna gång

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

kl Tentaupplägg

DUGGA Tentaupplägg

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

729G04 Programmering och diskret matematik

kl Tentaupplägg

kl Tentaupplägg

TDP004 - Datortenta (DAT2)

DUGGA Tentaupplägg

TDP004 - (För)Tentamen

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

HI1024 Programmering, grundkurs TEN

kl Tentaupplägg

Tentaupplägg denna gång

729G04 Programmering och diskret matematik

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

kl Tentaupplägg

729G04 Programmering och diskret matematik

kl Tentaupplägg

kl Tentaupplägg

TDIU01 - Datortenta (DAT2)

kl Tentaupplägg

Tentaupplägg denna gång

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

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

kl Tentaupplägg

Uppgift 1a (Aktiekurser utan poster)

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

kl Tentaupplägg

kl Tentaupplägg

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

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

HI1024 Programmering, grundkurs TEN

kl Tentaupplägg

kl Tentaupplägg

Uppgift 1 (Sorterade heltal som är OK)

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

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

Tentamen i EDA011 Programmeringsteknik för F, E, I, π och N

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

kl Tentaupplägg

Lektionsuppgifter. TDDI14 Objektorienterad programmering. Lektionsplanering Lektion Lektion Lektion

Uppgift 1 (vadå sortering?)

HI1024 Programmering, grundkurs TEN

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

TDDC30/725G63. Objektorienterad programmering i Java, datastrukturer och algoritmer

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

TDDI16: Datastrukturer och algoritmer

Uppgift 1 ( Betyg 3 uppgift )

HI1024 Programmering, grundkurs TEN

Uppgift 1 ( Betyg 3 uppgift )

Uttryck, satser och strömhantering

729G04 Programmering och diskret matematik

kl Tentaupplägg

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

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

kl Examination - Ada

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

kl Tentaupplägg

Tentamen, EDAA10 Programmering i Java

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

kl Tentaupplägg

Tentamen i. Programmering i språket C

Standard Template Library

Övningsuppgifter till föreläsning 2 Variabler och uttryck

Statistik över heltal

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

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

kl Tentaupplägg

Tentamen i Programmering grundkurs och Programmering C

OOP Tenta

Tentaupplägg denna gång

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 I filen given_files/sort.cc finns en implementation av algoritmen selection sort för att sortera en vector<int>. Din uppgift är att göra denna implementation mer lik algoritmerna i standaradbiblioteket. Ändra parameterlistan så att funktionen tar emot två iteratorer som spänner upp intervallet av värden (start och förbi-slutet). Tänk på att det kan vara iteratorer från vilken typ av behållare som helst, inte bara just vector<int>. I den givna filen finns några testfall för att du ska se hur det är tänkt att din funktion ska fungera. TIPS: Du får ändra hur mycket du vill i funktionskroppen. Det enda kravet är att du inte byter ut algoritmen (du får exempelvis inte byta ut all kod mot ett anrop till std::sort). Viss användning av standardbiblioteksalgoritmer kan kanske hjälpa även i denna uppgift...

Uppgift 2 - STL Det finns en given indatafil, data1.txt, i mappen given_files. I denna uppgift är det speciellt viktigt att använd standardbibliotekskomponenter i så hög grad som möjligt. Komplettera med lambdauttryck eller egna funktionsobjekt, ej vanliga funktioner, om det behövs för att lösa en uppgift. Inläsning och utskrift ska göras enligt följande. Programmet ska läsa indata från standardströmmen cin. Läsning från fil kan då göras genom omdirigering på kommandoraden, enligt följande exempel: a.out < given_files/data1.txt Utdata ska skrivas på standardströmmen cout. In- och utmatning ska baseras på strömiteratorer. Program ska göra följande, i exakt den ordning som anges nedan och varken mer eller mindre i varje steg än vad som anges. Lägg gärna in kommentarsrader på formen // 1, // 2, // 3, osv., som visar var varje steg börjar. 1. Läs indata i form av heltal (int) och lagra talen i en lämplig sekvenscontainer, med tanke på vad som ska göras nedan. Ingen ytterligare container får användas i programmet för att lagra och bearbeta data. 2. Skriv ut talen i containern, med ett mellanrumstecken efter varje värde. 147 tal har lästs in: 5 61 2 62 63 64 65... 7 6 5 4 3 2 1 3. Sortera talen i containern i stigande ordning. 4. Ta bort alla dubbletter, så att endast ett värde av varje finns kvar i containern. 5. Skriv ut de nu sorterade, unika talen i containern med ett mellanrumstecken efter varje värde. Unika, sorterade tal: 1 2 3 4 5 6 7... 105 106 107 108 109 110 111 6. Beräkna hur många tal som motsvarar 5 procent. Vid beräkningen ska resultatet avrundas nedåt till närmast mindre heltal. Om det är 111 tal motsvarar 5% exakt 5,55 tal, vilket alltså ska avrundas till 5. 7. Ta bort de 5% minsta och de 5% största talen ur containern. Om containern till exempel innehåller 111 tal ska alltså de fem minsta och de fem största, sammanlagt tio tal, tas bort. Skriv sedan ut de återstående talen i containern, med ett mellanrumstecken efter varje värde. Efter att de 5% minsta och 5% största talen tagits bort: 6 7 8 9 10... 102 103 104 105 106 8. Beräkna summan och medelvärdet av talen i containern och skriv ut dessa. Summan av talen är 5656 Medelvärdet av talen är 56.0

Uppgift 3 - STL Mad Libs är ett spel där en spelare ber andra spelare om en uppsättning ord (exempelvis ett substantiv och ett verb) varefter dessa stoppas in i en berättelse som då ofta blir väldigt rolig. I denna uppgift ska du simulera detta spel. Vi antar att det finns en given fil som anges på kommandoraden. Formatet på denna fil är ett antal frågor (en per rad) följt av en tom rad och därefter kommer berättelsen. Berättelsen innehåller sedan ett antal ord på formatet #N (där N är ett heltal). Programmet ska börja med att ställa de frågor som anges i början av filen och spara svaren som användaren ger. Därefter ska programmet skriva ut berättelsen där första inmatade ordet ersätter symbolen #1, andra ordet ersätter #2 osv. Om ingen fil anges på kommandoraden eller om filen som anges inte kan öppnas ska programmet avslutas med ett bra felmeddelande. Körexempel 1 $ a.out given_files/mad_libs.txt Enter an exclamation: boo Enter an adverb: fast Enter a noun: clock Enter an adjective: old "boo!" he said fast as he jumped into his convertible clock and drove off with his old wife.

Uppgift 4 - Mallar Konstruera en mallklass Wrapper som lagrar ett värde av en typ T, där T bestäms genom en mallparameter. Objekt av typen T förutsätts kunna initieras, kopieras och tilldelas på vanligt vis samt att att operator<< och operator>> är överlagrade för utskrift respektive inläsning av objekt av typen T. Följande ska gälla för initiering av Wrapper-objekt: defaultinitiering ska ske till nollvärdet för typen T initiering ska kunna göras med ett värde av typen T initiering ska kunna göras med ett annat Wrapper-objekt Värdet som lagras i ett Wrapper-objekt ska vara skyddat för direkt åtkomst. Endast följande funktioner för att komma åt och ändra värdet ska finnas: get_value() ska returnera det värde som lagras set_value(värde) ska ändra det värde som lagras till värde Andra operationer på Wrapper-objekt: tilldelning ska kunna göras med ett värde av typen T tilldelning ska kunna göras med ett annat Wrapper-objekt ett Wrapper-objekt ska kunna skrivas ut med operator<<. ett värde ska kunna läsas in till ett Wrapper-objekt med operator>>. Wrapper-objektet ska endast ändras om en lyckad läsning av ett värde av typen T har kunnat göras, i annat fall ska dess tidigare värde kvarstå.