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

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

kl Tentaupplägg

Tentaupplägg denna gång

DUGGA Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

Tentaupplägg denna gång

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

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

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

TDP Regler

kl Tentaupplägg

kl Tentaupplägg

TDIU Regler

Tentaupplägg denna gång

TDIU01 / 725G

kl Tentaupplägg

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

TDIU Regler

TDIU Regler

Uppgift 1 (Sorterade heltal som är OK)

Uppgift 1a (Aktiekurser utan poster)

TDP Regler

Uppgift 1 (vadå sortering?)

TDP Regler

TDDI22 (exempel) TDDI22 Tentaregler

Uppgift 1 ( Betyg 3 uppgift )

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

TDP Regler

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

TDDI TDDI22 Tentaregler

Regler. Betygssättning

KTH STH TENTAMEN. HI1024:TEN2 - Praktisk tentamen Tid: 8-13, den 18 februari 2012

Bygga hus med LECA-stenar

Uttryck, satser och strömhantering

Uppgift 1 ( Betyg 3 uppgift )

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

Uppgift 1 ( Betyg 3 uppgift )

kl Tentaupplägg

TDP Regler

UPPGIFT 1 TVETYDIGA DATUM

Uppgift 1 (Oläsliga krypterade meddelanden)

UPPGIFT 1 VÄNSKAPLIGA REKTANGLAR

TDP Regler

kl Tentaupplägg

HI1024 Programmering, grundkurs TEN

Programmering Grundkurs Laboration 1

729G04 Programmering och diskret matematik

Uppgift 1 ( Betyg 3 uppgift )

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

Uppgift 1 ( Betyg 3 uppgift )

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,

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

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

Planering av ett större program, del 2 - for och listor. Linda Mannila

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

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

TDIU Regler

729G04 Programmering och diskret matematik TEN kl 8-12

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Det är principer och idéer som är viktiga. Skriv så att du övertygar examinatorn om att du har förstått dessa även om detaljer kan vara felaktiga.

Tentamen: Datordel Programmeringsteknik

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

Programmeringsolympiaden 2011 Kvalificering

UPPGIFT 1 ÖVERSÄTTNING

HI1024 Programmering, grundkurs TEN

Projektdokumentation för Othello

Uppgift 1 ( Betyg 3 uppgift )

STYRANDE SATSER. 1) Skriv ett program som räknar ut hur många år du har till pensionen. Vi räknar här med att man pensioneras det år man fyller 65 år.

HI1024 Programmering, grundkurs TEN

TDIU20 (exempel) TDIU20 Tentaregler

729G04 Programmering och diskret matematik

UPPGIFT 1 EURO. Utdata: Två rader, som för indata ovan, ser ut som följer: Före resan: bank 1 Efter resan: bank 3

Information efter genomgång av Microsoft Word 2010

729G04 Programmering och diskret matematik

Regler. Betygssättning

TDDI TDDI22 Tentaregler

Transkript:

Några tips på vägen kanske kan vara bra. 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. 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 positivt heltal) anger hur många rader som varje stycke skall ha. Programmet skall sedan skriva ut varje stycke med en tydlig rubrik som innehåller styckesnummret (se körexemplet). Raderna i filen kan vara godtyckligt långa. Om antalet rader i filen inte är jämt delbart med antalet rader per stycke, så blir sista stycket helt enkelt kortare än de övriga. Filerna som vi testar med innehåller alltid minst en rad. Körexempel 1 (kört från kommandoraden): >> splitup LITENFIL.TXT 5 ========== STYCKE 1 ========== Detta är en mycket kort fil som passar bra som exempel. Den innehåller exakt tretton rader, men ========== STYCKE 2 ========== det betyder inte att det är en otursfil. Det finns dock även en blank rad i den ========== STYCKE 3 ========== 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 7 ========== STYCKE 1 ========== 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. ========== STYCKE 2 ========== 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 1 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. H är alltså både höjden på tuben och förskjutningens i x-led. För denna ritning gäller att N = 1. Man kan tänka sig andra former på tuben, t.ex. åttkantiga (N = 2) eller tolvkantiga (N = 3). I dessa fall kommer ritningen bestå av 8, resp. 12 fyrhörningar. Skriv ett program som låter användaren mata in heltalen N, B, D och H. Programmet skall räkna ut på vilka positioner de olika vågräta linjernas ändkoordinater 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 = 1. Resultatet för denna figur (givet att indatat är N=1, 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 vågrät linje): [4, 14], [0, 0] [4, 14], [2, 2] [0, 10], [6, 6] [0, 10], [8, 8] [4, 14], [12, 12] 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å: [4, 14], [0, 0] => vänstra punkten (4, 0) och den högra punkten (14, 0) för den nedersta vågräta linjen. Med samma indata som ovan, men med N=2, får man raderna ovan men även följande fyra rader i programmets utskrift. [4, 14], [14, 14] [0, 10], [18, 18] [0, 10], [20, 20] [4, 14], [24, 24] 1 Ett sådant "snett" rätblock kallas egentligen för parallelpiped. En ritning med N = 2.

Uppgift 3 (Gissa tal) Skriv ett program som slumpar ett tal i intervallet 1 till 100 och låter användaren få 7 försök på sig att gissa vilket talet är. 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. Programmet skall, inför varje gissning, tala om för användaren hur många försök som återstår. Programmet skall, efter varje gissning, tala om huruvida det sökta talet är större eller mindre än gissningen. Spelet är slut antingen då användaren lyckas gissa rätt, eller då gissningsförsöken är slut. Programmet skall också rimlighetskontrollera indatat. Om gissningen inte ligger i intervallet 1 till 100 så skall detta meddelas användaren utan att det kostar ett försök. Du kan anta att användaren alltid matar in siffror till ditt program. Körexempel 1: Gissa det hemliga talet (7 försök kvar): 78 Det hemliga talet är större än 78. Gissa det hemliga talet (6 försök kvar): 106 Gissa det hemliga talet (6 försök kvar): 85 Det hemliga talet är större än 85. Gissa det hemliga talet (5 försök kvar): 95 Det hemliga talet är större än 95. Gissa det hemliga talet (4 försök kvar): 99 Det hemliga talet är mindre än 99. Gissa det hemliga talet (3 försök kvar): 97 Du gissade rätt! Grattis du vann! Körexempel 2: Gissa det hemliga talet (7 försök kvar): -1 Gissa det hemliga talet (7 försök kvar): 0 Gissa det hemliga talet (7 försök kvar): 1 Det hemliga talet är större än 1. Gissa det hemliga talet (6 försök kvar): 2 Det hemliga talet är större än 2. Gissa det hemliga talet (5 försök kvar): 3 Det hemliga talet är större än 3. Gissa det hemliga talet (4 försök kvar): 4 Det hemliga talet är större än 4. Gissa det hemliga talet (3 försök kvar): 5 Det hemliga talet är större än 5. Gissa det hemliga talet (2 försök kvar): 6 Det hemliga talet är större än 6. Gissa det hemliga talet (1 försök kvar): 7 Det hemliga talet är större än 7. Dina gissningar är nu slut. Talet var 42, du förlorade :-(

Uppgift 4 (Felstavade ord) Skriv ett program som kontrollerar huruvida ett ord kan vara en felstavning av ett annat ord. Vi säger att ett ord A är en felstavning av ordet B omm ett av följande uppfylls: Man kan få B genom att ta bort exakt en bokstav ur A. T.ex. är GURRKA en felstavning av GURKA. Man kan få A genom att ta bort exakt en bokstav ur B. T.ex. är GRKA en felstavning av GURKA. Man kan få B genom att byta exakt en bokstav i A. T.ex. är GURCA en felstavning av GURKA. Men t.ex. AGURK, GOKA och GURRK är ord som är så pass annorlunda jämfört med GURKA att vi inte betraktar dem som felstavningar av GURKA. Värt att poängtera är att ordet GURKA inte är en felstavning av ordet GURKA. I ditt program så skall användaren först mata in det misstänkt felstavade ordet (ord A) och sedan det korrekta ordet (ord B). Orden matas alltid in med VERSALER och du kan utgå ifrån att inget ord är längre än 32 tecken. Körexempel 1: Mata in misstänkt felstavat ord: EFTERSSOM Mata in det korrekta ordet: EFTERSOM EFTERSSOM är en felstavning av EFTERSOM. Körexempel 2: Mata in misstänkt felstavat ord: ETTERSOM Mata in det korrekta ordet: EFTERSOM ETTERSOM är en felstavning av EFTERSOM. Körexempel 3: Mata in misstänkt felstavat ord: SLUMPMÄSIG Mata in det korrekta ordet: SLUMPMÄSSIG SLUMPMÄSIG är en felstavning av SLUMPMÄSSIG. Körexempel 4: Mata in misstänkt felstavat ord: AGURK Mata in det korrekta ordet: GURKA Ingen felstavning hittad. Körexempel 5: Mata in misstänkt felstavat ord: ANVÄNDARVÄNLIGHETSUNDERZÖKNINGEN Mata in det korrekta ordet: ANVÄNDARVÄNLIGHETSUNDERSÖKNINGEN ANVÄNDARVÄNLIGHETSUNDERZÖKNINGEN är en felstavning av ANVÄNDARVÄNLIGHETSUNDERSÖKNINGEN.