kl Tentaupplägg

Relevanta dokument
kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

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

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

DUGGA Tentaupplägg

DUGGA Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

kl Tentaupplägg

Tentaupplägg denna gång

kl Tentaupplägg

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 Examination - Ada

Tentaupplägg denna gång

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

Tentaupplägg denna gång

Tentaupplägg denna gång

kl Tentaupplägg

kl Tentaupplägg

TDP Regler

kl Tentaupplägg

Tentaupplägg denna gång

Uppgift 1 ( Betyg 3 uppgift )

TDIU Regler

Uppgift 1 (vadå sortering?)

Uttryck, satser och strömhantering

Uppgift 1 (Sorterade heltal som är OK)

TDP Regler

TDIU Regler

TDP Regler

Regler. Betygssättning

TDIU Regler

kl Tentaupplägg

TDIU Regler

TDIU01 / 725G

2017-XX-XX.kl Tentaupplägg

kl Tentaupplägg

Uppgift 1 (Oläsliga krypterade meddelanden)

Tentaupplägg denna gång

Uppgift 1 ( Betyg 3 uppgift )

TDDI TDDI22 Tentaregler

TDP Regler

Uppgift 1 ( Betyg 3 uppgift )

TDP Regler

TDP Regler

Uppgift 1 ( Betyg 3 uppgift )

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

kl Tentainformation

TDP Regler

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

Uppgift 1a (Aktiekurser utan poster)

Uppgift 1 ( Betyg 3 uppgift )

UPPGIFT 1 TVETYDIGA DATUM

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Projektdokumentation för Othello

TDP Uppgift 1

729G04 Programmering och diskret matematik

TDDI TDDI22 Tentaregler

729G04 Programmering och diskret matematik TEN kl 8-12

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

HI1024 Programmering, grundkurs TEN

TDDI TDDI22 Tentaregler

Bygga hus med LECA-stenar

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

HI1024 Programmering, grundkurs TEN

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

TDIU20 (exempel) TDIU20 Tentaregler

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN

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

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 ( Betyg 3 uppgift )

TDDI22 (exempel) TDDI22 Tentaregler

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

HI1024 Programmering, grundkurs TEN

TDP004 - (För)Tentamen

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

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python

Regler. Betygssättning

Dolphin Guide Dokument

729G04 Programmering och diskret matematik

Transkript:

Tentaupplägg TIPS 1: 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å så kanske det är fel uppgift att ge sig på. Tiden du lägger på att noga läsa uppgifterna tjänar du in 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å (d.v.s. den uppgift du jobbar med). TIPS 3: 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 via tentasystemet. I körexemplen har vi markerat det som användaren matar in på tangentbordet med fet och kursiverad stil. Tänk på att körexemplen bara är ett exempel på när programmet körs. Testa ditt program noga och tänka över hur programmet skall fungera vid andra indata. Vi hinner normalt sett inte svara på frågor de sista 10 utminutera 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. Betygsgränser: Tid TDDD44/87/08 725G83 1 poäng 19:00 Betyg 3 Betyg G 3 poäng 18:00 Betyg 4 3 poäng 16:45 Betyg VG 3 poäng 16:30 Betyg 5 4-6 poäng 18:00 Betyg 5 4-6 poäng 18:15 Betyg VG För Di/EL och SVP gäller att bonustid från avklarade duggauppgifter tillkommer till dessa tidsgränser. Tiden för betyg G överstiger dock aldrig 5 timmar. OBS: Delpoäng delas inte ut på uppgifterna. För att få poäng på en uppgift måste man alltså lösa uppgiften helt (och enligt specifikation). Lycka till med tenterandet och hoppas att alla får G på minst en uppgift idag. M.v.h. /Torbjörn (examinator)

Uppgift 1 - Mätare [1p] Rymdfarkosten Valley Forge är på ett mycket viktigt uppdrag: att bevara jordens många arter i det fall då jorden själv skulle bli obeboelig. Förutom stora växthus av glas är såklart farkosten mycket avancerad med många system som måste övervakas av farkostens lilla besättning på fyra personer. Skriv ett program där användaren matar in ett antal procentuella värden för olika mätare. Programmet skall sedan rita ut mätarna på skärmen. Värden utanför intervallet [1, 100] skall ignoreras. Värdet 0 indikerar att inmatningen är slut. Mätarna skall alltid vara exakt 50 tecken breda (exklusive "ändarna", d.v.s. -tecknen). Detta innebär att varje #-tecken motsvarar två procentenheter. Om du vill får du anta att det är maximalt 20 mätare. Mata in procentuella värden: 50 75 0 ######################### ##################################### Mata in procentuella värden: 1 110 100 0 ################################################## Mata in procentuella värden: 2 3 99 0 # # Mätare 3: #################################################

Uppgift 2 - Generera Robotnamn [1p] Skriv ett program som genererar ett robotnamn. T.ex. R2-D2, C-3PO, etc. Programmet skall först fråga användaren hur många tecken namnet skall vara (exklusive bindestreck). Programmet skall därefter fråga efter vilket tecken som bindestrecket skall komma (0 innebär att inget bindestreck skall vara med). Därefter skall namnet komma ut. De tecken som slumpas är A-Z och 1-9. Eftersom programmet slumpar fram namnet så bör det bli olika resultat varje gång man kör, även för samma inmatningar. TIPS: tänk på att man kan omvandla tal till tecken med Character'Val. Se ASCII-tabellen längst bak i Ada-boken. Mata in antalet tecken: 4 Mata in bindestreckets position: 2 Här är robotnamnet: R2 D2 Mata in antalet tecken: 4 Mata in bindestreckets position: 1 Här är robotnamnet: C 3PO Mata in antalet tecken: 3 Mata in bindestreckets position: 2 Här är robotnamnet: BB 8 Körexempel 4: Mata in antalet tecken: 8 Mata in bindestreckets position: 0 Här är robotnamnet: ABRANDON

Uppgift 3 - Kvadratfiler [2p] Skriv ett program som försöker baka om innehållet i filen RADER.TXT så att det blir så "kvadratiskt" som möjligt. Använd följande algoritm: 1. Gå igenom hela filen en gång och ta reda på hur många tecken filen innehåller (räkna med blanksteg, men inte enter-tecken). Låt oss kalla detta antal för N. 2. Räkna ut ett nytt antal rader R och hur många tecken per rad (T) det skall vara så att R * T = N. TIPS: Använd kvadratroten för att ta fram en gissning på R. (Funktionen sqrt finns i paketet Ada.Numerics.Elementary_Functions). Avrunda sedan nedåt. Stega sedan R nedåt tills N delas jämnt av R. Få sedan T genom att ta N / R. 3. Gå igenom filen igen och skriv ut T tecken per rad över R rader. Skriv ut till skärmen. Körexempel 1 (antag att filen ser ut som i figuren nedan till höger): Hej, sa Kv ark till l ille TorkK anner du i gelkotten Pilt?Han s om varit i Paris?Ja, det gjord e Ivar!!!! Hej, sa Kvark till lille Tork Kanner du igelkotten Pilt? Han som varit i Paris? Ja, det gjorde Ivar!!!! Exempel på RADER.TXT. Filen har 100 tecken (exklusive enter). R blir alltså 10 och T blir 10. Körexempel 2 (antag att filen ser ut som i figuren nedan till höger): KAMEH KAME AMEHA HAME HA Exempel på RADER.TXT. Filen har 10 tecken (exklusive enter). Vi kan inte sätta R till 3 eftersom 10 inte delas jämnt av 3. Vi stegar R till 2, då blir T = 5. Körexempel 3 (antag att filen ser ut som i figuren nedan till höger): Fil mexakt19 tecken Fil m exakt 19 tecken Exempel på RADER.TXT. Filen har 19 tecken (exklusive enter). Det enda vi kan sätta R som så att 19 jämnt delas är 1. T blir då 19.

Uppgift 4 - Släktträd [3p] Ett släktträd skulle kunna representeras med följande rekursiva format: NAMN{ släktträd släktträd... } Tre exempel: LISBETH JOAN MARIA JANE NATHALIE JACK JILL AGNES DAVID NANCY BRIAN LAURA KIRK ABIGAIL DAVID JOHN STEPHEN ANDERS KATIE Med vårt format blir släktträdet längst till vänster: LISBETH{MARIA{NATHALIE{}}} TRACY ERIK Det i mitten blir: JOAN{JANE{JACK{}JILL{}}} Och det till längst till höger: AGNES{DAVID{KIRK{}}NANCY{ABIGAIL{}DAVID{}}BRIAN{JOHN{}STEPHEN{}ANDERS {}KATIE{}}LAURA{TRACY{}ERIK{}}} Skriv ett program som läser in ett sådant släktträd och skriver ut vem i släkten som har flest barn. Om det är fler i släkten som har flest så tar man den som tillhör den äldsta generationen. Vi begränsar oss ytterligare genom att säga att alla namn har fyra bokstäver. Din lösning skall använda sig av rekursion för att lösa problemet, du får dock använda loopar också. Inmatningen sker på en rad och kan vara godtyckligt lång. Mata in din släkt: JOAN{JANE{JACK{}JILL{}}} JANE har 2 barn. Ingen annan har fler barn. Mata in din släkt: IVAN{} IVAN har 0 barn. Ingen annan har fler barn. Mata in din släkt: AGNE{DAVE{KIRK{}}NANC{GAIL{}DAVE{}}BRAN{JOHN{} STEP{}ANDE{}KATE{}}LAUR{TRAC{}ERIK{}}} AGNE har 4 barn. Ingen annan har fler barn.