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

TDIU TDIU20 Tentaregler

TDP Regler

TDIU Regler

TDP Regler

TDIU Regler

TDP Regler

TDP Regler

Regler. Betygssättning

TDIU Regler

TDIU Regler

TDP Regler

TDP Regler

Regler. Betygssättning

TDP Regler

kl Tentaupplägg

kl Tentaupplägg

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

TDDI14 Objektorienterad programmering

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

TDP004 - Datortenta (DAT2)

729G04 Programmering och diskret matematik

729G04 Programmering och diskret matematik

729G04 Programmering och diskret matematik

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

Kurs: HF1012, Matematisk statistik Lärare: Armin Halilovic Datum: Tisdag 12 april 2016 Skrivtid: 8:15-10:00

Kurs: HF1012, Matematisk statistik Lärare: Armin Halilovic Datum: Tisdag 12 april 2016 Skrivtid: 8:15-10:00

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift )

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

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

kl Tentaupplägg

HI1024 Programmering, grundkurs TEN

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

TDP004 - (För)Tentamen

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

729G04 Programmering och diskret matematik

DUGGA Tentaupplägg

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 20

TDIU01 - Datortenta (DAT2)

Tentamen TEN1 HI

HI1024 Programmering, grundkurs TEN

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

Tentamen ID1004 Objektorienterad programmering May 29, 2012

Tentaupplägg denna gång

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.

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

729G74 - IT och programmering, grundkurs. Dugga.

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

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

Tentamen TEN1 HI

kl Examination - Ada

kl Tentaupplägg

Tentaupplägg denna gång

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

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

Uppgift 1 ( Betyg 3 uppgift )

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

DATORÖVNING 3: EXPERIMENT MED

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Protokoll MiniBridge

Steg-för-steg. Hur vinner du i Bridge? Budgivningen. Grundförutsättningar. 1. Räkna poäng. 2. Budgivning - del 1. Vilket par har flest poäng?

kl Tentaupplägg

kl Tentaupplägg

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

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

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

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

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

Tentamen: INTE

HI1024 Programmering, grundkurs TEN

UPPGIFT 1 V75 FIGUR 1.

Programkonstruktion. Tentamen,

TDP Uppgift 1

Dok nr OSF/AV-15:003, ver E Inloggning till Treserva via extern dator

2 b) Följande finns definierat: public class Käk String titel = "Chili con carne"; Krydda[] kryddor = new Krydda[10]; kryddor[0] = new Krydda("Svartpe

C++ Objektorientering - Klasser. Eric Elfving Institutionen för datavetenskap

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

Föreläsning 7: Filer

TDDC74 Programmering: Abstraktion och modellering Datordugga 2 - exempel

PROJEKTRAPPORT EDA095 NÄTVERKSPROGRAMMERI

DAT043 Objektorienterad Programmering

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

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 arbetskatalog och modifiera denna. I denna uppgift ska du skapa en mallklass för att representera ett komplext tal. Ett komplext tal består av två delar, realdel och imaginärdel, som i din klass ska sparas som datamedlemmar. Typen på dessa två datamedlemmar ska bestämmas av användaren genom en mallparameter, T (båda ska ha samma typ). Din klass ska stödja följande operationer: En konstruktor som tar emot realdel och imagenärdel. Båda ska ha nollvärdet för typen T som defaultargument. Detta gör att konstruktorn kan användas för implicit typomvandling. operator+ och operator-. Dessa ska deklareras som medlemsfunktioner men ska definieras utanför. Rent matematiskt är addition och subtraktion väldigt enkelt. Summan av två komplexa tal är helt enkelt summan av realdelarna och imaginärdelarna separat. get_real och get_imaginary för att komma åt realdel respektive imaginärdel. En utskriftsoperator (operator<<). Denna ska endast skriva ut imaginärdelen om den finns (skild från nollvärdet för datatypen).

Uppgift 2 - STL I kortspelet black jack är det väldigt enkelt (åtminstone regelmässigt) att vara dealer, eller croupier som de brukar kallas. Detta för att det är väldigt tydligt exakt när de ska och inte ska ta kort. Detta gör att det är väldigt enkelt att skriva en algoritm för när en dealer ska sluta dra kort. Grundregeln är alltid att dra så länge totalsumman är under 16. Korten 2-10 är värda så mycket som står på det, klädda kort (knekt, dam och kung) är värda 10 och ess är alltid värda 11 så länge totalsumman inte blir över 21. Om totalsumman blir över 21 med ett ess är esset värt 1 istället. För att förenkla något i denna uppgift kan ni dock räkna med att ett ess alltid är värt 1. Skriv ett program för att skriva ut de kort som en dealer tar enligt följande algoritm: 1. Skapa en vector<int>, v med plats för 52 värden. 2. Använd algoritmen iota för att fylla v med talen [1, 52]. Detta motsvarar korten i en kortlek där talen [1, 13] är korten spader ess till kung, [14, 26] är ess till kung i ruter, [27, 39] är klöver och de sista korten [40, 52] är hjärter. 3. Använd algoritmen shuffle för att blanda v. Observera att shuffle tar en UniformRandom- BitGenerator (exempelvis random_device) som tredje argument. 4. Skapa en ny vector<int>, card_values som är lika stor som v. 5. Använd transform med ett lambda-uttryck för att spara kortens valörer från v enligt grupperingen i steg 2 i card_values. Exempelvis ska talet 52 i v sparas som 13 i card_values och 28 blir 3. 6. Använd transform igen för att göra om klädda kort (värdena 11-13 från föregående steg) till värdet 10 i card_values. 7. Skapa en ny vector<int>, sums som är lika stor som v. 8. Använd partial_sum för att beräkna totalsummorna från card_values enligt beskrivningen i inledningstexten och spara dem i sums. 9. Använd find_if tillsammans med ett lambda-uttryck för att hitta det första värdet i sums som är större än 16. 10. Beräkna på vilket index n i sums det hittade talet låg på (tänk på att du har RandomAcccessiteratorer i vector). 11. Skriv ut de n första värdena från v med hjälp av copy och en ostream_iterator. Du behöver inte skriva ut dem som kort utan talen [1, 52] duger fint.

Uppgift 3 - Mallar Skapa en mallfunktion all som tar emot valfri sekventiell container med värden av typ bool. Din funktion ska returnera true om samtliga värden i containern har värdet true och false i övriga fall. Om containern är tom ska resultatet vara false. Skriv även ett huvudprogram som noggrant testar din funktion med flera olika sekventiella containrar (forward_list kan vara ett intressant testfall).

Uppgift 4 - STL I spelet Alfapet finns det en fix uppsättning bokstäver som man kan använda för att skapa ord. I denna uppgift ska du skapa ett program som tar emot två filnamn på kommandoraden där den första filen innehåller speluppsättningen - hur många brickor finns det av varje bokstav och den andra är en lista av ord som redan lagts ut på brädet. Programmet ska sedan skriva ut de bokstäver som finns kvar att ta av i bokstavsordning. Du kan utgå ifrån att varje rad i speluppsättningen är på formatet bokstav: antal exempelvis A: 5 och att varje bokstav endast finns med en gång. Filen med ord innehåller ett ord per rad. Det är krav på att ditt program använder sig av associativa containrar för att lösa problemet, i övrigt ställs inga specifika krav på din implementation förutom tydliga och generella lösningar. Körexempel 1 $ a.out given_files/game.txt given_files/words.txt Bokstäver kvar att spela med: F: 1 H: 2 J: 1 Q: 1 X: 1 Z: 1 Körexempel 2 $ a.out given_files/game.txt FEL: Måste startas med både speluppsättning och ordlista, avslutar.