Tentaupplägg denna gång

Relevanta dokument
Tentaupplägg denna gång

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Examination - Ada

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

DUGGA Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

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

Tentaupplägg denna gång

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

kl Tentaupplägg

kl Tentaupplägg

Tentaupplägg denna gång

kl Tentaupplägg

DUGGA Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

Tentaupplägg denna gång

Tentaupplägg denna gång

kl Tentaupplägg

TDP Regler

kl Tentaupplägg

Uppgift 1a (Aktiekurser utan poster)

Uppgift 1 (vadå sortering?)

TDIU Regler

Uppgift 1 ( Betyg 3 uppgift )

TDIU Regler

Uppgift 1 (Sorterade heltal som är OK)

TDDI TDDI22 Tentaregler

Tentaupplägg denna gång

TDIU01 / 725G

Regler. Betygssättning

TDIU Regler

TDP Regler

UPPGIFT 1 VÄNSKAPLIGA REKTANGLAR

kl Tentaupplägg

Uppgift 1 ( Betyg 3 uppgift )

Uttryck, satser och strömhantering

TDP Regler

TDP Regler

TDDI22 (exempel) TDDI22 Tentaregler

Uppgift 1 ( Betyg 3 uppgift )

Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram

UPPGIFT 1 ÖVERSÄTTNING

Tekniska Högskolan i Linköping Institutionen för Datavetenskap (IDA) Torbjörn Jonsson Plot och rekursion

Bygga hus med LECA-stenar

TDP Regler

UPPGIFT 1 TVÅPOTENSER. UPPGIFT 2 HISSEN I LUSTIGA HUSET.

TDP Regler

kl Tentaupplägg

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

Uppgift 1 (Oläsliga krypterade meddelanden)

TDIU Regler

TDP Regler

UPPGIFT 2 KVADRATVANDRING

diverse egenskapspaletter

UPPGIFT 1 TVETYDIGA DATUM

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

Uppgift 1 ( Betyg 3 uppgift )

kl Tentaupplägg

Tynker gratisapp på AppStore

729G04 Programmering och diskret matematik

Uppgifter till praktiska tentan, del A. (7 / 27)

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift )

TDP Uppgift 1

729G04 Programmering och diskret matematik

Känguru 2019 Student gymnasiet

Regler. Betygssättning

Steg 1 Klipp ut de figurer du behöver! Steg 2 Bygg din rymdraket! Matematikuppgift 1

Uppgift 1 ( Betyg 3 uppgift )

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

TDDI TDDI22 Tentaregler

HI1024 Programmering, grundkurs TEN

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

UPPGIFT 1 V75 FIGUR 1.

Uppgift 1 (grundläggande konstruktioner)

Programmeringsolympiaden 2011 Kvalificering

Programmeringsolympiaden 2015

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

Trepoängsproblem. Kängurutävlingen 2011 Cadet. 1 Vilket av följande uttryck har störst värde? 1 A: B: C: D: E: 2011

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

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

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

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

Tentamen i Programmering grundkurs och Programmering C

729G04 Programmering och diskret matematik TEN kl 8-12

Transkript:

Några tips på vägen kanske kan vara bra. 2014-10-30.kl.08-13 Tentaupplägg denna gång TIPS1: Läs igenom ALLA uppgifterna. Välj den du känner är lättast först. Det kan gärna ta 10-20 minuter. Försök skriva saker som kan vara problem i uppgifterna. Är det något du absolut kommer att fastna på => kanske fel uppgift. Du tjänar in denna tid på att välja rätt uppgift. TIPS 2: Kolla ibland till kommunikationsfönstret. Det kan ha kommit information till alla utan att ni skickat in en fråga. Kanske gäller det dig också (din uppgift kanske). TIPS 3: Sista timmen är vi normalt sett lite tydligare och ger lite "bättre" återkoppling på era fel. Före detta kan man få högre betyg => ni får leta reda på vad som skall rättas till. Vi ger dock information om vilket symptom felet uppvisar (under hela tentan) om vi kompletterar. Om ni är nära G tidigt på tentan kan detta kanske ge G i slutet (vi meddelar detta isåfall). Har ni fått ett meddelande om att detta kan ge betyg 3, men inte högre i kombination med andra uppgifter och ni är nöjda med betyg 3 och vill gå kan ni alltid skicka ett meddelande till oss så blockerar vi de övriga uppgifter så att du kan få ditt betyg och gå. TIPS 4: Om ni har problem med kompilator, Emacs eller annat som INTE har med uppgifterna att göra, räck upp handen så kommer en assistent. Detsamma gäller om hur man kopierar givna filer " cp given_files/*. " eller liknande. Frågor om själva uppgifterna tar vi i första hand vi tentasystemet. Vi hinner inte svara på frågor de sista 10 minutrarna på tentan. Då ägnar vi all tid åt att rätta uppgifter för att alla skall hinna få svar innan ni går hem. Om det är så att ni skickar in en uppgift precis i slutet av tentan hinner vi förstås inte, men då får ni gärna skicka ett mail för att få reda på hur det gick. Vi rapporterar in resultaten så fort vi kan efter tentan. Det tar ett par dagar med pappershantering efter detta så räkna med att det är i LADOK om ca en vecka. Kolla med era kompisar om de fått poäng innan ni skickar mail till oss. Betygsgränser: 1 uppg 13:00 Betyg 3 2 uppg 12:00 Betyg 4 2 uppg 10:30 Betyg 5 3 uppg 12:00 Betyg 5 Lycka till med tenterandet och hoppas att alla får G på minst en uppgift idag. M.v.h. /Torbjörn (examinator)

Uppgift 1 (Dela på filer) Filer kan vara långa. Ibland önskar man att man kunde ta en bit i taget. I denna uppgift skall du göra programmet splitup som läser från en fil och skriver ut den i terminalen, i stycken. Styckena kommer ligga sida vid sida. Då man startar programmet skall man kunna ange två argument på kommandoraden. Det första argumentet är själva filnamnet på den fil som skall behandlas. Det andra argumentet (ett heltal i intervallet [1 99]) anger hur många stycken som man skall dela upp filen i. Programmet skall sedan skriva ut styckena sida vid sida med lodsträck emellan. För att innehållet i styckena skall bli jämt fördelat så sprider man ut raderna på följande sätt: Antag att filen har 9 rader och vi skall dela upp den på tre stycken. Då får stycke 1 rad 1, 4 och 7. Stycke 2 får rad 2, 5, och 8. Stycke 3 får rad 3, 6 och 9. Detta kan man formulera lite mer generellt: Om vi säger att det är N stycken som filen skall delas upp i så kommer stycke 1 få var N:te rad. Gör man på detta sätt kan man alltså lägga styckena sida vid sida och läsa texten normalt från höger till vänster (se körexemplen). Raderna i filen är maximalt 20 tecken långa, och styckena som skall skrivas ut är exakt 20 tecken breda (exklusive lodsträcket som separerar styckena). Alla filer som vi testar med innehåller minst en rad. Om antalet rader i filen inte går jämt upp med antalet stycken så blir de sista styckena en rad kortare. T.ex. Om det skall vara 4 stycken, och det finns 6 rader i filen så kommer stycke 1 och 2 få två rader var, medan stycke 3 och 4 bara får 1 rad var. Körexempel 1 (kört från kommandoraden): >> splitup LITENFIL.TXT 3 STYCKE NR 1 STYCKE NR 2 STYCKE NR 3 Detta är en mycket kort fil som passar bra som exempel. Den innehåller exakt tretton rader, men det betyder inte att det är en otursfil. Det finns dock även en blank rad i den här filen, så det gäller att man inte tänker fel på den. Körexempel 2 (kört från kommandoraden): >> splitup LITENFIL.TXT 2 STYCKE NR 1 STYCKE NR 2 Detta är en mycket kort fil som passar bra som exempel. Den innehåller exakt tretton rader, men det betyder inte att det är en otursfil. Det finns dock även en blank rad i den här filen, så det gäller att man inte tänker fel på den. Filen LITENFIL.TXT finns i mappen given_files. Där finns även en längre textfil att testköra med.

Uppgift 2 (Kantiga tuber av papp) Om man vill pyssla lite så kan man göra kantiga tuber av papp. Man kan då använda sig av t.ex. följande ritning: Om man klipper ut figuren längs de heldragna blå linjerna och sedan viker längs de streckade blå linjerna får man i detta fall ett rätblock som resultat (dock utan två sidor, d.v.s. en "tub"). Tuben kommer att vara B längdenheter bred, H hög och D djup. För denna ritning gäller att N = 2. Man kan tänka sig andra former på tuben, t.ex. sexkantiga (N = 3) eller åttkantiga (N = 4). I dessa fall kommer ritningen bestå av 6, resp. 8 rektanglar. Skriv ett program där användaren får mata in heltalen N, B, H och D. Programmet skall räkna ut på vilka positioner de olika rektanglarnas hörnkoordinater skall sitta. Det är givet att origo ligger till vänster och längst ned i figuren och att figuren som ritats i uppgiften alltid kommer att ligga med minsta x- och y-värden på 0-axeln i de olika riktningarna. En ritning med N = 2. Resultatet för figuren ovan (med de givna indata som är N=2, B=10, H=4 och D=2) är en utskrift på skärmen med följande värden ("[xv, xh], [yv, yh]" för varje rektangel): [0, 10], [2, 0] [0, 10], [6, 2] [0, 10], [8, 6] [0, 10], [12, 8] De data som kommer ut är alltså inte koordinatparen utan x-värdena för sig och y-värdena för sig (per rad). Första raden motsvarar alltså: [0, 10], [2, 0] => Övre vänstra koordinaten (xv, yv) = (0, 2) och den nedre högra (xh, yh) = (10, 0), för den nedersta rektangeln. Med samma indata som ovan, men med N=4, får man raderna ovan men även följande fyra rader i programmets utskrift. [0, 10], [14, 12] [0, 10], [18, 14] [0, 10], [20, 18] [0, 10], [24, 20] En ritning med N = 4.

Uppgift 3 (Tickande bomb) Skriv ett program som slumpar ett tal i intervallet 1 till 100. Talet som slumpas fram är hur många sekunder som återstår på en tickande bomb. För att desarmera bomben måste man få ner klockan till exakt 0 sekunder, går man under 0 sekunder så sprängs bomben. Förutom en digital sekundvisare har bomben tre knappar, en blå, en röd och en grå. Användaren anger vilken knapp som skall tryckas på genom att mata in färgen till programmet. Den blå knappen kommer halvera antalet på visaren (avrundat nedåt) och sedan dra bort en sekund. Den röda knappen kommer att dra bort 11 sekunder. Den grå knappen kommer att lägga till hälften av nuvarande sekundantal (avrundat nedåt). Programmet skall, inför varje inmatning, tala om för användaren hur många sekunder som återstår på klockan. Användaren får fortsätta försöka desarmera bomben tills sekundantalet når 0 (lyckad desarmering) eller understiger 0 (bomben sprängts). Programmet skall även rimlighetskontrollera indatat. Om användaren matar in något som inte är en av färgerna "BLÅ", "RÖD" eller "GRÅ" så skall programmet låta användaren mata in igen, utan att antalet sekunder förändras på klockan. Du kan utgå ifrån att användaren matar in minst 3 tecken i varje inmatning. Den här uppgiften skall lösas med rekursion. Inga loopar (for, while, loop) får användas för eventuell upprepning i lösningen till uppgiften. Körexempel 1: Det är nu 94 sekunder kvar på klockan. Vilken knapp trycker du på? BLÅ Det är nu 46 sekunder kvar på klockan. Vilken knapp trycker du på? BLÅ Det är nu 22 sekunder kvar på klockan. Det är nu 11 sekunder kvar på klockan. Vilken knapp trycker du på? ESCAPE Du måste skriva in "RÖD", "BLÅ" eller "GRÅ". Det är nu 11 sekunder kvar på klockan. Klockan står nu exakt på 0! Du vann! Körexempel 2: Det är nu 2 sekunder kvar på klockan. Vilken knapp trycker du på? GRÅ Det är nu 3 sekunder kvar på klockan. Vilken knapp trycker du på? GRÅ Det är nu 4 sekunder kvar på klockan. Klockan gick under 0 sekunder, du förlorade :-(

Uppgift 4 (Ord i ord) Skriv ett program som kontrollerar huruvida ett ord återfinns i ett annat ord. Vi säger att ett ord A återfinns i ett annat ord B omm man kan plocka bort ett antal (noll är tillåtet) bokstäver ur B och på så sätt få ordet A. Obs: Man får inte byta ordningen på bokstäver! T.ex. finns ordet APA i ordet ARBETSPLATS. Ordet GROV finns i ordet GRAMMOFONSKIVA. Ordet KASSE finns i ordet RIKSDAGSVALSDEBATT. Observera att alla ord återfinns i sig själva. Ditt program skall låta användaren mata in två ord. Orden matas alltid in med VERSALER och du kan utgå ifrån att inget ord är längre än 32 tecken. Programmet skall sedan skriva ut om A återfinns i B, om B återfinns i A eller om inget av detta gäller. Körexempel 1: Mata in ord A: TOTALA Mata in ord B: TOKKATASTROFALA Ordet TOTALA återfinns i TOKKATASTROFALA. Körexempel 2: Mata in ord A: ARBETSPLATS Mata in ord B: APA Ordet APA återfinns i ARBETSPLATS. Körexempel 3: Mata in ord A: ISTANBUL Mata in ord B: IVAN Inget av orden fanns i varandra. Körexempel 4: Mata in ord A: IMMAN Mata in ord B: IMPLEMENTATION Ordet IMMAN återfinns i IMPLEMENTATION Körexempel 5: Mata in ord A: ANVÄNDARVÄNLIGHETSUNDERSÖKNINGEN Mata in ord B: RÖKNING Ordet RÖKNING återfinns i ANVÄNDARVÄNLIGHETSUNDERSÖKNINGEN.