TDIU01 / 725G

Relevanta dokument
TDDI22 (exempel) TDDI22 Tentaregler

TDDI TDDI22 Tentaregler

TDIU20 (exempel) TDIU20 Tentaregler

TDDI TDDI22 Tentaregler

TDDI TDDI22 Tentaregler

TDDI TDDI22 Tentaregler

TDIU TDIU20 Tentaregler

TDIU TDIU20 Tentaregler

TDIU Regler

TDP Regler

Regler. Betygssättning

TDP Regler

TDIU Regler

TDIU Regler

TDIU Regler

Regler. Betygssättning

TDP Regler

TDP Regler

729G04 Programmering och diskret matematik

729G04 Programmering och diskret matematik

TDP Regler

729G04 Programmering och diskret matematik

TDP Regler

kl Tentaupplägg

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

Tentamen TEN1 HI

TDP004 - Datortenta (DAT2)

Tentamen TEN1 HI

kl Tentaupplägg

TDP Regler

Abstrakta datatyper. Primitiva vektorer. Deklarera en vektor

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

Tentamen Datastrukturer (DAT036/DAT037/DIT960)

kl Tentaupplägg

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

TDIU01 - Datortenta (DAT2)

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Uppgift 1 ( Betyg 3 uppgift )

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

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

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

TDP004 - (För)Tentamen

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

Tentaupplägg denna gång

729G04 Programmering och diskret matematik

kl Tentaupplägg

HI1024 Programmering, grundkurs TEN

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

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

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

kl Tentaupplägg

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

Tentaupplägg denna gång

HI1024 Programmering, grundkurs TEN

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

Uppgift 1 ( Betyg 3 uppgift )

Tentamen Datastrukturer, DAT037 (DAT036)

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

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

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

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

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

729G04 Programmering och diskret matematik TEN kl 8-12

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

Tentamen Datastrukturer (DAT036)

Tentamen Datastrukturer (DAT036)

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

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

Tentamen Datastrukturer (DAT036)

Tentamen Datastrukturer, DAT037 (DAT036)

kl Tentaupplägg

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

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

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.

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

Information relevant för både VAKTER och STUDENTER:

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 9 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Datastrukturer, algoritmer och programkonstruktion (DVA104, HT 2014) Föreläsning 5

TDDC91 & TDDE22 & 725G97 Datastrukturer och algoritmer Datortentamen (DAT1) , 08 12

TDDC74 Programmering: Abstraktion och modellering Tentamen, onsdag 9 juni 2016, kl 14 18

Tentamen, Algoritmer och datastrukturer

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

Tentamen Datastrukturer D DAT 036/INN960

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

729G74 - IT och programmering, grundkurs. Dugga.

HI1024 Programmering, grundkurs TEN

TDDC74 Programmering: Abstraktion och modellering Tenta, kl 14 18, 11 juni 2014

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

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

Transkript:

TDIU01 / 725G67 2011-12-16 08-13 Inloggning Börja med att logga in i tentasystemet genom att logga in med användare examx som har lösenordet kluring1. 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. När du loggat in är det viktigt att du startar tentaklienten. Gör detta genom att högerklicka på bakgrunden och välja tentaklient i den meny som kommer fram. I denna meny har du även genvägar till terminal och emacs. Hjälpmedel Följande får tas med på tentan: En bok om c++ (t.ex. c++ direkt). 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 tio (10) sidor med egna, handskrivna 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 och mobiltelefon Utloggning När du är nöjd med ditt betyg (som står i tentaklienten) kan du avsluta och logga ut. Klicka på knappen märkt exit i nedre menyn. Klicka sedan på ok följt av knappen avsluta tentan. Observera att du när du gjort detta inte kan logga in igen.

Tentaregler Tentan består av tre uppgifter. Uppgift ett är något mer omfattande än övriga och måste lösas för att få godkänt betyg. På en uppgift kan man få betygen G (godkänd), VG (väl godkänd), K (komplettering) eller U (underkänd). En lösning med betyg G eller K kan kompletteras till högre betyg. Vid betygsättning på tentan ger en uppgift med betyg G ett poäng och VG ger två poäng. För betyg 3 på tentan måste studenten fått sammanlagt tre skrivningspoäng. För betyg 4 eller 5 krävs dels att uppgift ett löses med betyg VG och dels 4 respektive 5 poäng. Dessutom krävs det att sista lösta uppgiften är inskickad senast inom fyra timmar (12.00). Denna tidsgräns modifieras med intjänad bonustid från labserien. Frågor om uppgifter Frågor om tentan i stort eller uppgiftspecifika frågor ska ställas via tentaklienten. 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.

Uppgift 1 Inom statistiken används ofta programmering för att analysera och visualisera data. I denna uppgift ska du räkna förekomsten av siffrorna 0-9 i en fil given av användaren på kommandoraden. När du gjort detta ska resultatet visualiseras i ett liggande stapeldiagram enligt körexemplet nedan. Om användaren inte ger ett filnamn på kommandoraden ska programmet skriva ut en feltext och avslutas och om en viss siffra inte förekommer ska ingen stapel skrivas ut för denna. Körexempel 1: zaza1 <1> bargraph given_files/example_1.1 --- 0 13 --- -- 1 62 -- ------ 2 16 ------ --------- 3 9 --------- -- 4 12 -- ------- 6 17 ------- - 7 11-8 10 9 10 TIPS: En vektor kan vara bra att ha.

Uppgift 2 Binära träd används väldigt ofta inom programmering då det är en väldigt effektiv datastruktur. Ett binärt sökträd fungerar så att en nod med värde k har ett delträd till vänster med värden som är mindre och ett delträd till höger med värden som är större än k (se figur 1). Figur 1: Binärt sökträd På filen given files/tree.h finns en klass för att representera ett binärt sökträd definierad. På filen given files/tree.cc finns de deklarerade metoderna implementerade och på filen given files/tree main.cc finns ett kort testprogram för att testa trädklassen. Din uppgift är att skapa metoden remove root som ska kunna ta bort roten i trädet. Kopiera de tre filerna till din hemkatalog och modifiera dessa. Krav: Borttagningen ska endast ske med pekarhantering, d.v.s. du får endast ändra på pekarvariabler. Du får heller inte allokera någon ny nod. Krav 2: Din kod får inte ha minnesläckor. TIPS: Det är alltid bra att rita mycket när man håller på med pekare. TIPS 2: Du kommer troligen komma till ett läge då du har ett delträd för mycket. Fundera ordentligt på vart det trädet (eller roten för det trädet) bör läggas (eller vart noden skulle hamna om den sattes in i det nya trädet).

Uppgift 3 En annan väl använd datastruktur är stacken. I en stack lagras data enligt principen Last In First Out. Det betyder att när man tar ut ett data från stacken får man det värde som senast stoppades in. Din uppgift är att implementera en stack för att lagra heltal med hjälp av en vector. På filen given files/stack.cc har du ett givet testprogram som saknar tre funktioner som ska implementeras enligt följande beskrivning: push pop top Lägger ett data på stacken Tar ut och returnerar det översta värdet på stacken Returnerar det översta värdet på stacken KRAV: Överst i filen finns konstanten MAX HEIGHT definierad. Den ska beskriva hur många värden som får lagras i stacken. Det betyder att du inte får lagra fler värden än vad denna konstant specifierar.