2015-10-29.kl.08-13 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: 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, så då får ni själva leta reda på vad som skall rättas till. Under hela tentan ger vi dock information om vilket symptom felet uppvisar om vi kompletterar. Om ni är nära G tidigt på tentan kan detta kanske ge G i slutet (vi meddelar detta i så 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 uppgifterna 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 via 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 de ä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 2 uppg 2 uppg 3 uppg 13:00 12:00 10:30 12:00 Betyg 3 Betyg 4 Betyg 5 Betyg 5 Bonustid från laborationerna tillkommer till dessa tidsgränser. Lycka till med tenterandet och hoppas att alla får G på minst en uppgift idag. M.v.h. /Torbjörn (examinator) 2015-10-29.kl.08-13 Uppgift 1 (Summera personer) Skriv ett program som läser in fem personer, summerar dessa och skriver ut resultatet på skärmen. Med personers summa avses summan av personernas ålder. Personerna skrivs in på egna rader (max 60 tecken) och har följande format: Förnamn, Efternamn, Kön, Ålder Du kan utgå ifrån att alla namn endast består av tecknen 'A'-'z' och ' ' (blanksteg). Körexempel: Mata in fem personer: Torbjorn, Turbocrook, Man, 51 Erik, Electric Musician, Man, 27 Kimberly, Kidnapper, Woman, 25 Magnus, Master Thief, Man, 33 Viktor, Vandal, Man, 24 Summan blev 160. KRAV: Inläsningen av en persons relevanta data skall ske i ett underprogram. KRAV: Programmet skall vara generellt gjort, så att det t.ex. är enkelt att ändra från fem till sex personer. 2015-10-29.kl.08-13 Uppgift 2 (Femton-spel) Ett femton-spel är ett litet pussel för en spelare. Pusslet består av femton numrerade brickor som sitter i en 4x4 ram. Det blir alltså en "tom" plats i ramen där man kan skjuta in en intilliggande bricka. Spelet går ut på att ordna brickorna på följande vis: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 I den här uppgiften skall du slumpa ut hur spelet ser ut från början (innan det är löst). Programmet skall ge en ny slumpad uppsättning varje gång det körs. Även den tomma platsens position skall vara slumpad. Observera att varje bricka är unik, d.v.s. talen på brickorna förekommer endast en gång. Körexempel: Här är ditt slumpade femtonspel: +++++ | 6|12| 3| 4| +++++ |15| | 9| 2| +++++ | 1| 7| 8|14| +++++ |11|10| 5|13| +++++ 2015-10-29.kl.08-13 Uppgift 3 (Mycket Minus) På filen MINUS.TXT ligger det många minustecken. I slutet av filen ligger också ett tal. Din uppgift är att läsa igenom filen och sedan skriva ut talet på skärmen. Talet kan vara negativt, det beror ju på hur många minus som ligger framför. Kom ihåg att dubbla minustecken blir positivt igen. Tre minus innebär negativt, o.s.v. Det kan förekomma radbrytningar i filen, dessa får inte läsas med Get för character (eftersom detta är odefinierat i språket). Lös problemet generellt. Vi har andra testfiler (med samma format) som vi testar ditt program med. Körexempel: Talet i filen är 27. 2015-10-29.kl.08-13 Uppgift 4 (Stora sedlar) Under oktober månad fick vi ett par nya sedlar i Sverige. Det som är nytt är att vi får en tvåhundrakronorssedel. Om man tittar framöver kommer vi även att få nya mynt och då får vi tillbaka tvåkronan. Det visar sig dock att människor idag inte egentligen använder kontanter särskilt ofta. Om man t.ex. skall köpa en ny bil eller en villa är det helt enkelt inte praktiskt att casha eftersom man då får stå pinsamt länge vid bankomaten. Problemet med sedlar med större valörer är själva trycket (se bilden). Istället skulle man kunna skriva ut valören med exponentialform, och därmed öppna upp en helt ny värld av möjligheter för riksbanken. Skriv ett program som låter användaren mata in en valör (en 1:a, 2:a eller 5:a följt av ett antal nollor) och som sedan skriver ut valören i exponentialform. Inmatningen avslutas med en punkt. Inläsningen av hela valörtalet skall ske i underprogram som heter Get. Eventuel upprepning skall ske med rekursion. Utskriften av valören i exponentialform skall ske i ett underprogram som heter Put. Körexempel 1: Mata in valören: 10000. Valören i exponentialform 1*10^4 Körexempel 2: Mata in valören: 500000. Valören i exponentialform 5*10^5 Körexempel 3: Mata in valören: 200000000000000000. Valören i exponentialform 2*10^17 Körexempel 4: Mata in valören: 1. Valören i exponentialform 1*10^0
© Copyright 2024