Uppgift 1 ( Betyg 3 uppgift )

Storlek: px
Starta visningen från sidan:

Download "Uppgift 1 ( Betyg 3 uppgift )"

Transkript

1 kl Uppgift 1 ( Betyg 3 uppgift ) I denna uppgift skall du skapa ett paket som du skall kalla Get_Line_Package med en procedur som du skall kalla Get_Line. Denna skall ha två parametrar som skall heta Item och Last. Den första, Item, skall vara en sträng och den andra, Last, skall vara ett heltal (som inte får vara negativt). Din Get_Line skall fungera på så sätt att den skall läsa in en rad från tangentbordet och fylla Item med så många tecken som får plats. Om den inmatade raden är längre än, eller lika lång som, strängen skall endast de tecken som får plats lagras. Om raden är kortare än strängen skall strängen fyllas från början med så många tecken som matades in. De eventuellt återstående positionerna i strängen skall lämnas opåverkade (skall innehålla samma data som innan anropet till er Get_Line). Oavsett användarens inmatning skall din Get_Line returnera hur många tecken som lagrats i strängen via Last. Dessutom skall resten av den inmatade raden tas bort ur inmatningsbufferten (även radslutstecknet). En liten tabell med exempel på inmatningar och resultat där strängen är 5 tecken lång: Inmatning Item (innan) Item (efter) Last Kalle g5!2d Kalle 5 Bo Kalle Bolle 2 Torbjörn Bolle Torbj 5 Givetvis skall du skriva ett program som visar att din Get_Line fungerar som den skall.

2 kl Uppgift 2 I denna uppgift skall du skriva ett program som hanterar en länkad lista bestående av heltal. Programmet skall be användaren om indata som alltid skall lagras först i listan. Listan skall skrivas ut varje gång ett nytt data lagrats i listan. När användaren matar in en nolla skall listan sorteras (nollan skall lagras i listan innan sorteringen). Efter sortering skall endast unika data finnas i listan. Listan skall skrivas ut även efter sorteringen. Negativt tal avslutar programmet. Körexempel 1: Mata in heltal: Listan: 1 Listan: 2 1 Listan: Listan: Listan: Listan: Listan: Sortering! Listan: Listan: Listan: Listan: Listan: Sortering! Listan: Körexempel 2: Mata in heltal: Listan: 0 Sortering! Listan: 0 Listan: 1 0 Listan: Sortering! Listan: 0 1 Listan: Listan: Listan: Sortering! Listan: Listan: Listan: Sortering! Listan: Listan: Listan: Sortering! Listan: Listan: Listan: Sortering! Listan:

3 kl Uppgift 3 På en fil som heter REKTANGLAR.BIN finns ett antal poster som innehåller information om rektanglar. Varje post motsvarar en rektangel. Det du skall göra är att läsa igenom filen och rita ut alla rektanglarna på skärmen (de kan hamna ovanpå varandra). Det är givet att rektanglarna alltid kan ritas i ett fönster som är mer än 20 rader i höjdled och mer än 50 tecken i bredd. Vi måste införa ett koordinatsystem med koordinater (x, y) så att rektanglarna hamnar rätt när du ritar ut dem på skärmen. Övre vänstra hörnet i fönstret anser vi att vi har koordinaten (1, 1). X-koordinaten ökar åt höger och Y-koordinaten ökar nedåt i fönstret. Varje post i filen innehåller koordinaten för det övre vänstra hörnet samt bredden och höjden för rektangeln (fyra heltal). En rektangel skall ritas med plustecken (+) i hörnen, minustecken (-) längs övre och nedre kanterna samt lodrätt streck ( ) längs höger och vänster kant. Om följande data finns i filen (ett exempel som kanske inte är som det är i er givna datafil): Observera att ovanstående data representeras som en post i den riktiga filen, medan vi måste visualisera posten som ren text. Ert program skall med ovanstående data rita ut följande: Om istället följande data finns i filen: Skall följande bild framkomma på skärmen: Du har en given fil som heter clear_window.adb. I denna finns en procedur som hjälper dig att rensa fönstret och att placera dig överst i vänstra hörnet i fönstret du kör programmet.

4 kl Uppgift 4 I denna uppgift skall du skapa ett paket som du skall kalla Get_Package med en procedur som du skall kalla Get. Denna skall ha två parametrar som skall heta Item och Last. Den första, Item, skall vara en sträng och den andra, Last, skall vara ett heltal (som inte får vara negativt). Din Get skall fungera på så sätt att den skall läsa in en rad från tangentbordet och fylla Item med så många tecken som får plats. Om den inmatade raden är längre än, eller lika lång som, strängen skall endast de tecken som får plats lagras. Om raden är kortare än strängen skall strängen fyllas från början med så många tecken som matades in. De eventuellt återstående positionerna i strängen skall lämnas opåverkade (skall innehålla samma data som innan anropet till er Get). Oavsett användarens inmatning skall din Get returnera hur många tecken som lagrats i strängen via Last. Återstoden av den inmatade raden skall lämnas kvar i inmatningsbufferten (gäller även radslutstecknet). En liten tabell med exempel på inmatningar och resultat där strängen är 5 tecken lång: Inmatning Item (innan) Item (efter) Last Kalle g5!2d Kalle 5 Bo Kalle Bolle 2 Torbjörn Bolle Torbj 5 Givetvis skall du skriva ett program som visar att din Get fungerar som den skall.

5 kl Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som ritar ut en åtthörning på skärmen. Åtthörningen skall dock se ut enligt exemplen nedan och det är så att användaren skall bestämma storleken på polygonen. Ingen felhantering krävs. Detta är en typisk kemiuppgift (O är väl beteckningen för syre). Körexempel 1: Mata in storleken: / \ \ / +-+ Körexempel 2: Mata in storleken: / \ / \ \ / \ / +--+ Körexempel 3: Mata in storleken: / \ / \ / \ \ / \ / \ / Krav: Programmet skall vara skrivet på ett programtekniskt vettigt sätt.

6 kl Uppgift 2 På en fil som heter OMFORMATERAD.TXT finns en text. Tyvärr har denna text blivit lite omformaterad då den flyttades till an ny dator. I texten har det på ställen där det tidigare endast var ett blanktecken smugit in sig ett flertal blanktecken. På andra ställen har det istället för ett vagnreturtecken (RETURN) smugit in sig både blanktecken och extra vagnreturer. Din uppgift blir att skriva ett program som läser igenom den omformaterade filen och skapar en korrekt fil (som skall heta FORMATERAD.TXT). D.v.s. du skall leta reda på alla sekvenser av blanktecken och ersätta dessa med endast ett blanktecken och alla sekvenser där det finns flera vagnreturer i rad skall ersättas med ett vagnreturtecken.

7 kl Uppgift 3 Du har ett givet huvudprogram som heter listcopier.adb. Detta vill använda sig av ett paket som skall heta Listhandling. I detta paket (som du skall skriva) skall det finnas de saker som fattas i huvudprogrammet. Den datastruktur som skall skapas skall vara uppbyggd av pekare (en enkellänkad lista) och den skall se ut på följande sätt. A B C D Krav: Du får INTE ändra på huvudprogrammet. I paketet skall följande saker skapas: En datatyp som heter List_Type som representerar ovanstående. A-D är heltal som motsvarar antalet protoner i olika atomer. Olika antal protoner anger som ni vet vilket grundämne man har att göra med. En procedur, Insert, som skall stoppa in ett protonantal på rätt plats (sorterat i storleksordning med det minsta sist) i listan. En procedur, Copy, som kopierar en lista så att man får en identisk kopia. När man tar bort en av listorna skall inte den andra påverkas. En procedur, Delete, som tar bort en hel lista (utan att minnesläckor uppstår). En procedur, Put, som skriver ut listan (för ovanstående exempel: A B C D).

8 kl Uppgift 4 Som ni vet har just Vasaloppet avgjorts. I år vann en norrman (för första gången sen 1971). Under Vasaloppet bjuds det på en enorm mängd blåbärssoppa och andra kemiska substanser. För att få fram lite statistik har Vasaloppsarrangörerna bestämt sig för att du skall skriva ett program där varje deltagare som får något frivilligt skall kunna mata in sitt namn, vilket kön de tillhör samt vad och hur många av denna sort de ätit (de vill endast ha följande alternativ: bulle, blåbärssoppa eller kaffe). Om det är så att de ätit flera saker får de mata in detta i flera omgångar. Du skall skapa en procedur Get som läser in ovanstående data och lagrar detta i en post. Namnet skall lagras i en sträng som är 20 tecken lång. Vad de ätit skall lagras i en sträng som är 12 tecken lång. Get skall ENDAST ha en parameter och det är posten där datat är lagrat. Du skall även skriva en procedur Put som skriver ut postens innehåll. Det skall se snyggt ut det du skriver ut. Även din Put får ENDAST ha en parameter, d.v.s. posten. Krav 1: Inga globala variabler får användas lokalt i underprogrammen utan att skickas med som parametrar. Skriv dessutom ett huvudprogram som läser in en persons data och skriver ut det på skärmen igen. Krav 2: Tänk nu på att det även finns norrmän med i Vasaloppet. Detta kräver FULL FELHANTERING vad det gäller inmatningen av antal enheter man fått. För er som eventuellt kommer från Norge vill jag också påpeka att det finns svenskar med i Vasaloppet. :-) Körexempel: Välkommen! Mata in ditt namn: Ambjörn Aukland Vilken kön tillhör du? Man Vad har du ätit/druckit? Blåbärssoppa Hur många enheter av Blåbärssoppa har du fått? Fyra FEL! Måste skriva in med siffror. Hur många enheter av Blåbärssoppa har du fått? 4 Följande data har du matat in: Namn: Ambjörn Aukland Kön: Man Mat/dryck: Blåbärssoppa Antal: 4

9 kl.08-13

10 kl Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som skall kunna läsa in ett antal maträtter från en fil som heter MAT.TXT och lagra alla dessa i ett fält (eng. array). Man vet att det maximalt finns 100 maträtter på filen och att varje maträtt bara består av ett ord, namnet på rätten, samt ett heltal, som anger matlagningstiden. Varje maträtt står på en egen rad i textfilen där matlagningstiden står först, sen ett blanktecken och resten av raden är själva maträtten. Ingen maträtt består av mer än 40 tecken. Din uppgift är att läsa in alla de maträtter som finns i filen och sortera dessa. Sorteringen skall göras så att man i första hand sorterar efter matlagningstiden och i andra hand efter maträttens namn. När detta är klart skall de sorterade maträtterna skrivas ut på skärmen. Antag att filen innehåller: 20 Fluffkyckling 13 Yttermakaroner 10 Silltårta 23 Istergryta 42 Kalkongröt Körexempel: 10 Silltårta 13 Yttermakaroner 20 Fluffkyckling 23 Istergryta 42 Kalkongröt

11 kl Uppgift 2 Du har ett givet huvudprogram som heter mergeprinter.adb. Detta vill använda sig av ett paket som skall heta Listhandling. I detta paket (som du skall skriva) skall det finnas de saker som fattas i huvudprogrammet. Den datastruktur som skall skapas skall vara uppbyggd av pekare (en enkellänkad lista) och den skall se ut på följande sätt. A B C D Krav: Du får INTE ändra på huvudprogrammet. I paketet skall följande saker skapas: En datatyp som heter List_Type som representerar ovanstående. A-D är heltal som motsvarar årtal. De olika årtalen representerar i sin tur olika kända fysiker. En procedur, Insert, som skall stoppa in ett årtal på rätt plats (sorterat i storleksordning med det största sist) i listan. En procedur, Delete, som tar bort en hel lista (utan att minnesläckor uppstår). En procedur, Put, som skriver ut två sorterade listor som om de vore en sorterad lista, d.v.s. proceduren skall få in två listor och sen skriva ut dem så att alla årtal i båda listorna skrivs ut i sorterad ordning. Listorna får inte ändras. Antag att vi har listorna som innehåller (A, D, E) och (B, C, F) där A-F motsvarar tal i motsvarande sorteringordning. I detta fall skall Put skriva ut talen som motsvarar: A B C D E F.

12 kl Uppgift 3 Som ni vet har just Vasaloppet avgjorts och där måste man ju ha god fysik. I år vann en norrman (för första gången sen 1971). Under Vasaloppet bjuds det på en enorm mängd blåbärssoppa och annat. För att få fram lite statistik har Vasaloppsarrangörerna bestämt sig för att du skall skriva ett program där varje deltagare som får något frivilligt skall kunna mata in sitt namn, vilket kön de tillhör samt vad och hur många av denna sort de ätit (de vill endast ha följande alternativ: bulle, blåbärssoppa eller kaffe). Om det är så att de ätit flera saker får de mata in detta i flera omgångar. Du skall skapa en procedur Get som läser in ovanstående data och lagrar detta i en post. Namnet skall lagras i en sträng som är 20 tecken lång. Vad de ätit skall lagras i en sträng som är 12 tecken lång. Get skall ENDAST ha en parameter och det är posten där datat är lagrat. Du skall även skriva en procedur Put som skriver ut postens innehåll. Det skall se snyggt ut det du skriver ut. Även din Put får ENDAST ha en parameter, d.v.s. posten. Krav 1: Inga globala variabler får användas lokalt i underprogrammen utan att skickas med som parametrar. Skriv dessutom ett huvudprogram som läser in en persons data och skriver ut det på skärmen igen. Krav 2: Tänk nu på att det även finns norrmän med i Vasaloppet. Detta kräver FULL FELHANTERING på indatat som gäller vilket kön man tillhör. För er som eventuellt kommer från Norge vill jag också påpeka att det finns svenskar med i Vasaloppet. :-) Körexempel: Välkommen! Mata in ditt namn: Ambjörn Aukland Vilken kön tillhör du? Norrman FEL! Du måste skriva Man eller Kvinna. Vilken kön tillhör du? Man Vad har du ätit/druckit? Blåbärssoppa Hur många enheter av Blåbärssoppa har du fått? 4 Följande data har du matat in: Namn: Ambjörn Aukland Kön: Man Mat/dryck: Blåbärssoppa Antal: 4

13 kl Uppgift 4 Du skall skriva ett program som ritar ut ett liggande plustecken på skärmen. Plustecknet skall dock se ut enligt exemplen nedan och det är så att användaren skall bestämma storleken på plusset. Ingen felhantering krävs. Detta är en typisk fysikuppgift (plustecknet har på grund av gravitationen trillat omkull). Körexempel 1: Mata in storleken: / \ / \ \ / + + / \ \ / \ / + + Körexempel 2: Mata in storleken: / \ / \ / \ / \ / \ / \ \ / \ / \ / + + / \ / \ / \ \ / \ / \ / \ / \ / \ / + + Krav: Programmet skall vara skrivet på ett programtekniskt vettigt sätt.

14 kl Uppgift 1 ( Betyg 3 uppgift ) Du skall leta reda på det största primtalet i filen TAL.TXT och skriva ut det på skärmen. Ett primtal är per definition ett heltal som endast är jämnt delbart med sig självt och talet 1. Per definition är det minsta primtalet 2. I filen står varje tal på en egen rad och det är inget annat på filen. Alla tal ryms i en vanlig heltalsvariabel. Det finns inga extra tomma rader i filen. Om filen innehåller talen 2, 5, 13 och 7 (på separata rader förstås) skall resultatet vara: Det största primtalet i filen är 13. Tips 1: Man skall alltid tänka på att filer inte behöver innehålla några data (de kan vara tomma). Givetvis skall programmet då skriva ut att det inte fanns något primtal. Tips 2: Dra slutsatser av det resultat du får.

15 kl Uppgift 2 Som ni vet har just Vasaloppet avgjorts. I år vann en norrman (för första gången sen 1971). Under Vasaloppet bjuds det på en enorm mängd blåbärssoppa och annat. För att få fram lite statistik har Vasaloppsarrangörerna bestämt sig för att du skall skriva ett program där varje arrangör som gör något frivilligt skall kunna mata in sitt namn, vilket kön de tillhör samt vad och hur mycket av detta de gjort (de vill endast ha följande alternativ: matutdelning, tidtagning eller kranskulla). Om de gjort flera saker får de mata in detta i flera omgångar. Ett specialfall är att man endast kan vara kranskulla två gånger (en för männen och en för kvinnorna). Alla övriga delar kan utföras flera gånger under samma tävling. Du skall skapa en procedur Get som läser in ovanstående data och lagrar detta i en post. Namnet skall lagras i en sträng som är 20 tecken lång. Vad de ätit skall lagras i en sträng som är 12 tecken lång. Get skall ENDAST ha en parameter och det är posten där datat är lagrat. Du skall även skriva en procedur Put som skriver ut postens innehåll. Det skall se snyggt ut det du skriver ut. Även din Put får ENDAST ha en parameter, d.v.s. posten. Skriv dessutom ett huvudprogram som läser in en persons data och skriver ut det på skärmen igen. Krav 1: Inga globala variabler får användas lokalt i underprogrammen utan att skickas med som parametrar. Krav 2: Tänk nu på att vissa arrangörer är från Dalarna. Detta kräver FULL FELHANTERING på indatat som gäller vilket kön man tillhör. (Vissa tror att examinator också är från Dalarna, men är han det? :-) Körexempel: Välkommen! Mata in ditt namn: Matte Larsdotter Vilken kön tillhör du? Fru FEL! Du måste skriva Man eller Kvinna. Vilken kön tillhör du? Kvinna Vad har du haft för uppgift? Kranskulla Hur många enheter av Kranskulla har du utfört? Tolv FEL! Man måste mata in talet med siffror. Hur många enheter av Kranskulla har du utfört? 12 FEL! Man kan inte vara Kranskulla mer än 1 gång per år. Hur många enheter av Kranskulla har du utfört? 1 Följande data har du matat in: Namn: Matte Larsdotter Kön: Kvinna Uppgift: Kranskulla Antal: 1

16 kl Uppgift 3 Du skall skriva ett program som ritar ut ett plustecken på skärmen. Plustecknet skall dock se ut enligt exemplen nedan och det är så att användaren skall bestämma storleken på plusset. Ingen felhantering krävs. Detta är en typisk matteuppgift (plus). Körexempel 1: Mata in storleken: Körexempel 2: Mata in storleken: Körexempel 3: Mata in storleken: Krav: Programmet skall vara skrivet på ett programtekniskt vettigt sätt.

17 kl Uppgift 4 Du har ett givet huvudprogram som heter printerchoice.adb. Detta vill använda sig av ett paket som skall heta Listhandling. I detta paket (som du skall skriva) skall det finnas de saker som fattas i huvudprogrammet. Den datastruktur som skall skapas skall vara uppbyggd av pekare (en enkel bakåtlänkad lista) och den skall se ut på följande sätt. A B C D Krav: Du får INTE ändra på huvudprogrammet. I paketet skall följande saker skapas: En datatyp som heter List_Type som representerar ovanstående. A-D är tal i Fibonacciserien. En procedur, Insert, som skall stoppa in ett talen sist i listan (därför är det praktiskt att ha en bakåtlänkad lista där man ju pekar direkt på det sista elementet i listan). Listan blir på detta sätt inte sorterad, men det är vi inte ute efter. I exemplet ovan är talet A först instoppat i listan, följt av B, sen C och sist D. En procedur, Delete, som tar bort en hel lista (utan att minnesläckor uppstår). En procedur, Put, som skriver ut listan framifrån (för ovanstående exempel: A B C D) eller bakifrån (D C B A). Vilken ordning som skall användas skickas med till Put som ett sanningsvärde (Boolean). Om inget sanningsvärde skicka med skall listan skrivas ut framifrån.

18 kl Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser in en Sokoban-bana från en textfil och avgör om det är en lösning eller ej. Filnamnet skall läsas in från tangentbordet och det är givet att det ej är mer än 15 tecken långt. Programmet skall fråga efter nya filnamn tills det att användaren endast trycker på RETURN vid inmatning av filnamn. Att en bana är en lösning ser man på att alla objekt som finns i banan ligger på ett målområde. För att kunna veta vad som är vad i filen följer här de tecken som kan förekomma. Det är givet att det finns exakt lika många objekt som det finns målområden. Blanktecken - Tom yta. - Målområdesyta # - Vägg $ - Objekt * - Objekt på - Gubbe + - Gubbe på målområdesyta Körexempel: Mata in filnamn: screen.1 Filen screen.1 innehåller ej en lösning. Mata in filnamn: screen.2 Filen screen.2 innehåller en lösning. Mata in filnamn: Tack för idag! OBS! Du kan själv skapa egna testfiler genom att skriva in en bana i Emacs och spara den med ett nytt filnamn. Filerna screen.1 och screen.2 är dock givna.

19 kl Uppgift 2 Du skall skriva ett program som blandar en kortlek. Blandningen skall göras med hjälp av slumpen, d.v.s. du skall använda dig av en slumptalsgenerator. En kortlek består av 52 kort i fyra olika färger (hjärter, spader, ruter och klöver). Varje färg består normalt sett av tretton kort med valörerna 1, 2, 3,..., 12, 13. I ditt program skall användaren få bestämma antalet valörer. Användaren får ange värden mellan 1 och 13. Felkontroll skall göras med avseende på antal valörer. Exempel på programköring: Mata in antal valörer: -2 FEL! Måste vara större än 0. Mata in antal valörer: 14 FEL! Måste vara mindre än eller lika med 13. Mata in antal valörer: 5 Här är den blandade kortleken (slumpad): Spader 5 Hjärter 1 Spader 1 Spader 2 Ruter 2 Ruter 4 Ruter 5 Hjärter 3 Hjärter 4 Ruter 3 Hjärter 5 Klöver 3 Spader 4 Ruter 1 Klöver 5 Klöver 4 Klöver 2 Spader 3 Hjärter 2 Klöver 1 Utskriften av korten sker radvis och du får välja själv om kortleken är sorterad kolumnvis eller radvis. För oss som rättar spelar det ingen som helst roll.

20 kl Uppgift 3 Du skall skriva ett program som läser in resultat, för något datorspel, från tangentbordet och för varje inmatning skriver ut aktuell resultatlista på skärmen. Varje resultat skall bestå av vilken användare som har resultatet, vid vilken tidpunkt användaren fick sitt resultat och givetvis vilket resultatet är. Se i körexemplet nedan för inmatningsformat och vilka data som skall lagras. Det är givet att man inte matar in fler än 8 tecken i användarnamnet. Exempel på programkörning: Mata in användarnamn (sluta med endast RETURN): torjo Mata in tidpunkt för resultatet samt resultat : 10:10: torjo 10:10:10 [154] Mata in användarnamn (sluta med endast RETURN): henen Mata in tidpunkt för resultatet samt resultat : 02:01: henen 02:01:01 [127] torjo 10:10:10 [154] Mata in användarnamn (sluta med endast RETURN): siman Mata in tidpunkt för resultatet samt resultat : 09:29: henen 02:01:01 [127] siman 09:29:18 [137] torjo 10:10:10 [154] Mata in användarnamn (sluta med endast RETURN): torjo Mata in tidpunkt för resultatet samt resultat : 20:12: torjo 20:12:59 [125] henen 02:01:01 [127] siman 09:29:18 [137] Mata in användarnamn (sluta med endast RETURN): henen Mata in tidpunkt för resultatet samt resultat : 04:13: henen 04:13:52 [125] torjo 20:12:59 [125] siman 09:29:18 [137] Mata in användarnamn (sluta med endast RETURN): siman Mata in tidpunkt för resultatet samt resultat : 11:59: siman 11:59:00 [122] henen 04:13:52 [125] torjo 20:12:59 [125] Mata in användarnamn (sluta med endast RETURN): henen Mata in tidpunkt för resultatet samt resultat : 16:15: siman 11:59:00 [122] henen 16:15:48 [122] torjo 20:12:59 [125] Mata in användarnamn (sluta med endast RETURN): Tack för idag! Till din hjälp finns det generiska paketet Generic_Highscore_Package. Det är inte tillåtet att modifiera detta. Du skall använda dig av det för att lösa ditt problem. Sorteringen skall ske i första hand efter resultat och i andra hand efter tidpunkt.

21 kl Uppgift 4 Din uppgift är att skapa ett paket som skall heta List_Package innehållande en datatyp som motsvarar en lista bestående av heltal. Följande operationer skall finnas för listtypen: Proceduren Insert_First som skall ha två parametrar, listan och det data som skall stoppas in först i listan. Proceduren Remove som skall ha två parametrar, listan och det data som skall ta bort. OBS! Alla förekomster av datat som finns i listan skall tas bort. Om datat inte finns i listan skall ett undantag (eng. exception) som skall heta Not_Found_Error kastas/resas. Proceduren Put som endast skall ha listan som parameter. Put skall skriva ut hela listan. Huvudprogrammet är givet och finns i filen list_tester.adb. Du får ändra i huvudprogrammet medan du testar, men vi kommer att testa ditt paket med originalversionen av programmet så du kan inte ändra antal parametrar eller datatypsnamn eller liknande. Tips: Titta i huvudprogrammet för att få reda på information om typnamn m.m.

22 kl Uppgift 1 ( Betyg 3 uppgift ) På en fil finns en Sokoban-bana. Du skall skriva ett program som frågar användaren efter ett filnamn och sen går igenom filen och tar reda på alla koordinater där det finns objekt. För att kunna veta vad som är vad i filen följer här de tecken som kan förekomma. Blanktecken - Tom yta. - Målområdesyta # - Vägg $ - Objekt * - Objekt på - Gubbe + - Gubbe på målområdesyta Det är givet att första och sista raderna i filen endast kommer att innehålla väggar (och möjligtvis blanktecken som ligger utanför labyrinten). Detsamma gäller för första och sista tecknet på raderna. Det kan dock vara så att det finns väggar inuti labyrinten så det behöver inte bara vara två väggar per rad i filen. Antag att vi har en fil som heter screen.1 som innehåller följande data: ##### #@.*# #$ # #.$ # ## # #### Körexempel: Ange filnamn: screen.1 På följande koordinater finns det objekt: (4, 2) (2, 3) (3, 4) Krav 1: Du skall skriva ut koordinaterna sorterat i första hand på y-koordinaten och i andra hand efter x-koordinaten. Krav 2: Ditt program måste klara av filer som kan vara godtyckligt stora, d.v.s. du kan inte lagra banan i ett fält. OBS! Du kan själv skapa egna testfiler genom att skriva in en bana i Emacs och spara den med ett nytt filnamn. Filerna screen.1 och screen.2 är dock givna.

23 kl Uppgift 2 Du skall skriva ett program som slumpar ut de brickor som man skall leta bland i spelet Memory. Spelet går till så att man lägger ut ett antal brickor upp och ned på ett bord och sen skall de som spelar i tur och ordning vända på två brickor. Om brickorna är lika har spelaren fått ett stick och spelaren får vända ytterligare ett par brickor. Om det inte är två lika brickor vänder spelaren dessa upp och ner igen och turen går vidare till nästa spelare. Det är givet att det finns två brickor av varje sort. I ditt program skall användaren tillfrågas efter hur många brickor (maximalt 100 stycken) som skall ingå i spelet från början och du skall som sagt slumpa ut placeringen på bordet för dessa brickor. Felkontroll skall göras med avseende på antalet brickor. Vi antar för enkelhets skull att brickornas utseende endast är ett nummer. Det behöver inte vara så att alla nummer som finns i ett spel ligger i rak nummerföljd utan det kan vara så att t.ex. brickorna med nummer 4 saknas trots att det är 12 brickor i spelet (det är upp till dig som programmerare att välja vilket). Det skall dock vara så att det finns exakt 2 av varje sort. Exempel på programkörning: Mata in antal brickor i spelet: -2 FEL! Måste vara större än 0. Mata in antal brickor i spelet: 102 FEL! Måste vara mindre än eller lika med 100. Mata in antal brickor i spelet: 38 Här är brickorna som slumpats fram: Utskriften av brickorna skall se ut som i exemplet ovan. Man skall skriva ut 10 tal per rad och den sista raden kan vara kortare.

24 kl Uppgift 3 Du skall skriva ett program som läser in resultat, för något datorspel, från tangentbordet och för varje inmatning skriver ut aktuell resultatlista på skärmen. Varje resultat skall bestå av vilken användare som har resultatet, vid vilken tidpunkt användaren fick sitt resultat och givetvis vilket resultatet är. Se i körexemplet nedan för inmatningsformat och vilka data som skall lagras. Det är givet att man inte matar in fler än 8 tecken i användarnamnet. Exempel på programkörning: Mata in användarnamn (sluta med endast RETURN): torjo Mata in tidpunkt för resultatet samt resultat : 10:10: torjo 10:10:10 [154] Mata in användarnamn (sluta med endast RETURN): henen Mata in tidpunkt för resultatet samt resultat : 02:01: henen 02:01:01 [127] torjo 10:10:10 [154] Mata in användarnamn (sluta med endast RETURN): siman Mata in tidpunkt för resultatet samt resultat : 09:29: henen 02:01:01 [127] siman 09:29:18 [137] torjo 10:10:10 [154] Mata in användarnamn (sluta med endast RETURN): torjo Mata in tidpunkt för resultatet samt resultat : 02:01: torjo 02:01:01 [125] henen 02:01:01 [127] siman 09:29:18 [137] Mata in användarnamn (sluta med endast RETURN): siman Mata in tidpunkt för resultatet samt resultat : 04:13: torjo 02:01:01 [125] henen 02:01:01 [127] siman 04:13:52 [125] Mata in användarnamn (sluta med endast RETURN): henen Mata in tidpunkt för resultatet samt resultat : 03:59: torjo 02:01:01 [125] henen 02:01:01 [127] siman 04:13:52 [125] Mata in användarnamn (sluta med endast RETURN): siman Mata in tidpunkt för resultatet samt resultat : 01:01: siman 01:01:00 [122] torjo 02:01:01 [125] henen 02:01:01 [127] Mata in användarnamn (sluta med endast RETURN): Tack för idag! Till din hjälp finns det generiska paketet Generic_Highscore_Package. Det är inte tillåtet att modifiera detta. Du skall använda dig av det för att lösa ditt problem. Sorteringen skall ske i första hand efter tidpunkt och i andra hand efter resultat.

25 kl Uppgift 4 Din uppgift är att skapa ett paket som skall heta List_Handling innehållande en datatyp som motsvarar en lista bestående av heltal. Följande operationer skall finnas för listtypen: Proceduren Insert_Last som skall ha två parametrar, listan och det data som skall stoppas in sist i listan. Funktionen Count som skall ha två parametrar, listan och ett eftersökt data. Funktionen skall returnera antalet förskomster av det eftersökta datat. Om datat inte finns i listan skall ett undantag (eng. exception) som skall heta Not_Found_Error kastas/resas. Proceduren Put som endast skall ha listan som parameter. Put skall skriva ut hela listan. Huvudprogrammet är givet och finns i filen list_counter.adb. Du får ändra i huvudprogrammet medan du testar, men vi kommer att testa ditt paket med originalversionen av programmet så du kan inte ändra antal parametrar eller datatypsnamn eller liknande. Tips: Titta i huvudprogrammet för att få reda på information om typnamn m.m.

26 kl Uppgift 1 (förberedande) Följande implementation är given för en länkad listtyp. package Generic_Sorted_List is type List_Type is private; private type Element_Type; type Node_Ptr is access Element_Type; type List_Type is record Nodes : Node_Ptr := null; end record; type Element_Type is record Data : Data_Type; Next : List_Type; end record; end Generic_Sorted_List; Din första uppgift är att rita upp denna datastruktur och visa den för assistenten. När du har övertygat assistenten om att du förstått hur implementationen är gjord får du ut den ordinarie programmeringsuppgiften. När du visar upp det du gjort skall du också kunna beskriva det om assistenten undrar över något. Om assistenten är upptagen vänta på din tur. Under väntetiden kan du fundera på om du vill arbeta ensam med programmeringsuppgiften eller om du vill arbeta i ett par. Det kommer att vara olika uppgifter beroende på om du är ensam eller om ni jobbar i par. Arbetar ni i par blir båda godkända eller ej beroende på om uppgiften löses eller ej.

27 kl Uppgift 2 (ensam person) Du har ett antal givna filer på tentakontot. Följande innehåll finns i dessa: scores.n Resultat för bana nummer N (i intervallet 1 till 10). generic_sorted_list.ads Specifikationsdelen för det generiska listpaketet. generic_sorted_list.adb Kroppen till det generiska listpaketet. sokoban_highscore.adb Huvudprogrammet. facit_program korrekt_resultat.txt En körbar fil som innehåller ett korrekt program. Detta går att köra för att se hur resultatet skall skrivas ut. En fil som innehåller en testkörning för de givna filerna. Alla filer utom det körbara facitprogrammet går att titta på i Emacs. För att se vilket format som data ligger på är det bara att titta i filerna. Din uppgift är att fortsätta på de givna programdelarna så att vi får ett program som fungerar som facitprogrammet. I princip skall du läsa in alla resultatfilerna (scores.n) och lagra all information i en länkad lista. Därefter skall du se till att alla resultat i listan rankas och till sist skall resultatlistan skrivas ut på skärmen. Rankingen går till så att ett resultat jämförs med alla andra och att resultatet får rank efter hur många som har bättre resultat. Om ingen har bättre resultat har man rank 1. Om tre resultat är bättre har man rank 4. Ett resultat är bättre om (och endast om) det har färre moves och maximalt lika många pushes alternativt att det har färre pushes och maximalt lika många moves. TIPS: Använd Process_Each_Pair för att ranka alla resultat. Instansieringen av det generiska listpaketet är gjord (och korrekt). Det är dock vissa procedurer och funktioner i huvudprogrammet som saknas för att instansieringen skall lyckas. Det är din uppgift att skapa dessa. I det generiska listpaketet saknas dessutom en funktion (Empty). Denna skall du skriva. Inget skall ändras i generic_sorted_list.ads. Testkör ditt program på följande sätt (skapar en fil som heter ditt_resultat.txt som du kan ta in i Emacs och titta på): ditt_program >! ditt_resultat.txt diff ditt_resultat.txt korrekt_resultat.txt Om inget kommer ut efter diff-komandot har ditt program givit samma resultat som vårt. Det som skall skickas in för rättning är (inget annat): generic_sorted_list.ads generic_sorted_list.adb sokoban_highscore.adb

28 kl Uppgift 3 (två personer) Ni har ett antal givna filer på tentakontot. Följande innehåll finns i dessa: scores.n Resultat för bana nummer N (i intervallet 1 till 10). generic_sorted_list.ads Specifikationsdelen för det generiska listpaketet. generic_sorted_list.adb Kroppen till det generiska listpaketet. sokoban_highscore.adb Huvudprogrammet. facit_program korrekt_resultat.txt En körbar fil som innehåller ett korrekt program. Detta går att köra för att se hur resultatet skall skrivas ut. En fil som innehåller en testkörning för de givna filerna. Alla filer utom det körbara facitprogrammet går att titta på i Emacs. För att se vilket format som data ligger på är det bara att titta i filerna. Er uppgift är att fortsätta på de givna programdelarna så att vi får ett program som fungerar som facitprogrammet. I princip skall ni läsa in alla resultatfilerna (scores.n) och lagra all information i en länkad lista. Därefter skall ni se till att alla resultat i listan rankas och till sist skall resultatlistan skrivas ut på skärmen. Rankingen går till så att ett resultat jämförs med alla andra och att resultatet får rank efter hur många som har bättre resultat. Om ingen har bättre resultat har man rank 1. Om tre resultat är bättre har man rank 4. Ett resultat är bättre om (och endast om) det har färre moves och maximalt lika många pushes alternativt att det har färre pushes och maximalt lika många moves. TIPS: Använd Process_Each_Pair för att ranka alla resultat. Instansieringen av det generiska listpaketet är gjord (och korrekt). Det är dock vissa procedurer och funktioner i huvudprogrammet som saknas för att instansieringen skall lyckas. Det är er uppgift att skapa dessa. I det generiska listpaketet saknas dessutom en funktion (Empty) samt en procedur (Sort). Dessa skall ni skriva. Inget skall ändras i generic_sorted_list.ads. Testkör ert program på följande sätt (skapar en fil som heter ert_resultat.txt som ni kan ta in i Emacs och titta på): ert_program >! ert_resultat.txt diff ert_resultat.txt korrekt_resultat.txt Om inget kommer ut efter diff-komandot har ert program givit samma resultat som vårt. Det som skall skickas in för rättning är (inget annat): generic_sorted_list.ads generic_sorted_list.adb sokoban_highscore.adb student_identifikationer.txt Den sista filen skall innehålla era två studentidnummer. Detta för att vi skall veta vilka som hör ihop. Skapa denna fil i Emacs. OBS! Båda skall skicka in lösningarna.

29 kl Uppgift 1 (förberedande) Följande implementation är given för en datastruktur. package Sorted_Score_List is type List_Type is private; private type Element_Type; type Element_List_Type is access Element_Type; type Element_Type is record Score : Score_Type; Next : Element_List_Type; end record; type Level_Node_Type; type Level_List_Type is access Level_Node_Type; type List_Type is record Levels : Level_List_Type := null; end record; type Level_Node_Type is record Level : Integer; Scores : Element_List_Type; Next : List_Type; end record; end Sorted_Score_List; Din första uppgift är att rita upp denna datastruktur och visa den för assistenten. När du har övertygat assistenten om att du förstått hur implementationen är gjord får du ut den ordinarie programmeringsuppgiften. När du visar upp det du gjort skall du också kunna beskriva det om assistenten undrar över något. Om assistenten är upptagen vänta på din tur. Under väntetiden kan du fundera på om du vill arbeta ensam med programmeringsuppgiften eller om du vill arbeta i ett par. Det kommer att vara olika uppgifter beroende på om du är ensam eller om ni jobbar i par. Arbetar ni i par blir båda godkända eller ej beroende på om uppgiften löses eller ej.

30 kl Uppgift 2 (ensam person) Du har ett antal givna filer på tentakontot. Följande innehåll finns i dessa: scores.n score_handling.ads score_handling.adb sorted_score_list.ads sorted_score_list.adb sokoban_highscore.adb facit_program korrekt_resultat.torjo korrekt_resultat.henen Resultat för alla banor. Specifikationsdelen för resultathanteringspaketet. Kroppen till resultathanteringspaketet. Specifikationsdelen för listpaketet. Kroppen till listpaketet. Huvudprogrammet. En körbar fil som innehåller ett korrekt program. Detta går att köra för att se hur resultatet skall skrivas ut. En fil som innehåller en testkörning för den givna filen där inmatningen är torjo. En fil som innehåller en testkörning för den givna filen där inmatningen är henen. Alla filer utom det körbara facitprogrammet går att titta på i Emacs (är alltså textfiler). För att se vilket format som data ligger på är det bara att titta i filerna. Din uppgift är att fortsätta på de givna programdelarna så att vi får ett program som fungerar som facitprogrammet. I princip skall programmet läsa in resultatfilen (scores.n) och lagra alla resultat i den datastruktur som är given. Därefter skall du se till att alla resultat i listan rankas och till sist skall resultatlistan skrivas ut på skärmen. Det är markerat i de olika filerna var du skall skriva din kod. Du skall inte ändra den övriga koden. Rankingen går till så att ett resultat jämförs med alla andra och att resultatet får rank efter hur många som har bättre resultat. Om ingen har bättre resultat har man rank 1. Om tre resultat är bättre har man rank 4. Ett resultat är bättre om (och endast om) det har färre moves och maximalt lika många pushes alternativt att det har färre pushes och maximalt lika många moves. Det som skall skickas in för rättning är (inget annat): score_handling.ads score_handlig.adb sorted_score_list.ads sorted_score_list.adb sokoban_highscore.adb

31 kl Uppgift 3 (två personer) Du har ett antal givna filer på tentakontot. Följande innehåll finns i dessa: scores.n score_handling.ads score_handling.adb sorted_score_list.ads sorted_score_list.adb sokoban_highscore.adb facit_program korrekt_resultat.torjo korrekt_resultat.henen Resultat för alla banor. Specifikationsdelen för resultathanteringspaketet. Kroppen till resultathanteringspaketet. Specifikationsdelen för listpaketet. Kroppen till listpaketet. Huvudprogrammet. En körbar fil som innehåller ett korrekt program. Detta går att köra för att se hur resultatet skall skrivas ut. En fil som innehåller en testkörning för den givna filen där inmatningen är torjo. En fil som innehåller en testkörning för den givna filen där inmatningen är henen. Alla filer utom det körbara facitprogrammet går att titta på i Emacs (är alltså textfiler). För att se vilket format som data ligger på är det bara att titta i filerna. Din uppgift är att fortsätta på de givna programdelarna så att vi får ett program som fungerar som facitprogrammet. I princip skall programmet läsa in resultatfilen (scores.n) och lagra alla resultat i den datastruktur som är given. Därefter skall du se till att alla resultat i listan rankas och till sist skall resultatlistan skrivas ut på skärmen. Det är markerat i de olika filerna var du skall skriva din kod. Du skall inte ändra den övriga koden. Rankingen går till så att ett resultat jämförs med alla andra och att resultatet får rank efter hur många som har bättre resultat. Om ingen har bättre resultat har man rank 1. Om tre resultat är bättre har man rank 4. Ett resultat är bättre om (och endast om) det har färre moves och maximalt lika många pushes alternativt att det har färre pushes och maximalt lika många moves. Det som skall skickas in för rättning är (inget annat): score_handling.ads score_handlig.adb sorted_score_list.ads sorted_score_list.adb sokoban_highscore.adb student_identifikationer.ads Den sista filen skall innehålla era två studentidnummer och namn. Detta för att vi skall veta vilka som hör ihop. Skapa denna fil i Emacs. OBS! Båda skall skicka in lösningarna.

32 kl Uppgift 1 ( Betyg 3 uppgift ) Inte nog med att Albert Frank Einstein klöv en ölatom redan som ung, han uppfann också det matematiska begreppet relativa tal. Ett relativt tal, E, definieras enligt formeln E = m * c 2 De två delar talet består av är talets massa (m) och den hastighet talet färdas i rymden (c). Två relativa tal kan ha olika massa och fara med olika hastighet i rymden och ändå vara lika. På samma sätt kommer två tal med samma massa, men som färdas olika fort alternativt har samma hastighet, men har olika massor att vara olika till storlek. Din uppgift är att skapa en post som representerar ett relativt tal samt följande procedurer och funktioner för att bearbeta sådana tal. Get - som läser in ett relativt tal. =, < - som jämför två relativa tal. Det är tillåtet att skapa ett separat paket för datatypen och ovanstående underprogram, men det är inget krav. Programkörning, exempel 1: Mata in det första relativa talet: Ange m-värdet: 16 Ange c-värdet: 2 Mata in det andra relativa talet: Ange m-värdet: 4 Ange c-värdet: 4 Dessa relativa tal var lika. Programkörning, exempel 2: Mata in det första relativa talet: Ange m-värdet: 12 Ange c-värdet: 2 Mata in det andra relativa talet: Ange m-värdet: 4 Ange c-värdet: 4 Det andra relativa talet var störst. I ditt program behöver du inte ha någon felhantering. Generellt sett kommer E att bli relativt stort även för relativt små c-värden. Vi antar också att inga negativa tal matas in av användaren.

33 kl Uppgift 2 Alla vet att Albert Einstein var väldigt begåvad och att han löste problem som man inte ens visste att de fanns innan han löst dem. Mindre känt (kanske helt okänt) är att han hade en syster som gifte sig med med en byggnadsherre vid namn Berthold Zweistein och fick en son som efter sin far och sin morbror fick heta Bertbert Zweistein. Bertbert sitter på jobbet och har fått ett antal textfiler som var och en kan innehålla en massa positiva oktala tal (tal i basen 8) eller så är de tomma. Om det inte är en tom fil gäller att det på varje rad i filen finns ett eller flera oktala tal separerade med blanktecken. Det är också givet att det kan vara olika många rader med tal i de olika filerna. Bertberts uppgift är att han för varje textfil med oktala tal skall skapa en ny textfil som skall innehålla ett antal tal (i den normala basen 10) som motsvarar summan av alla oktala tal som finns på en rad i originalfilen. Summan av första radens oktala tal i originalfilen skall alltså stå i den nya filen på rad ett. Summan av andra raden med oktala tal skall stå på rad två i den nya filen etc. Den nya filen kommer alltså att ha ett tal per rad och det skall bli lika många rader i den nya filen som i originalfilen. Bertbert har inte den matematiska begåvning som morbror hade, men han har ju datorer och programspråket Ada till sin hjälp så han löser problemet trots allt. Din uppgift är att lösa samma problem som Bertbert hade. Det gäller alltså att skriva ett program som läser data från en originalfil, som vi kan anta i denna uppgift att den heter OKTALA_TAL.TXT, och skriver ut summorna på den nya filen som skall heta DECIMALA_SUMMOR.TXT. Exempel på innehåll i OKTALA_TAL.TXT: Resultatet i DECIMALA_SUMMOR.TXT: TIPS 1: Om du inte klarar av att omvandla ett oktalt tal till ett decimalt tal gör det inget. Man kan i Ada läsa in tal i olika baser med hjälp av den vanliga Get-proceduren för heltal. Det är dock ett litet problem. För att Get skall klara av inmatningen måste det som matas in vara på formatet talbas#värde# vilket inte är fallet i filen (det är upp till dig att lösa). Ett exempel skulle kunna vara 8#11# som motsvarar talet 11 8 som i sin tur är samma tal som 9 10, d.v.s. talet 9 i vårt decimala talsystem. TIPS 2: Det är ok att använda fler filer eller datatrukturer än de som nämns i uppgiften.

34 kl Uppgift 3 Inom modern vetenskap finns det många begrepp som har sina anor långt tillbaka i tiden. Numer finns det ett helt forskningsområde som handlar om strängteori (engelska string theory ). Barbara Dreistein, en avlägsen släkting till den numer välkände Bertbert Zweistein, håller på med just detta och vill ha hjälp med ett litet problem hon stött på. Det smala forskningsprojekt Barbara Dreistein är involverad i tittar på långa och korta palindrom och hur dessa matchar varandra. Hon forskar i så kallade palindrompar. Ett par exempel där man direkt ser att de matchar varandra är de två palindromparen ABBA RATAR ABBA och ABBA samt NATURRUTAN och NATAN. Själva matchningen går till så att man tittar på sista bokstaven i de båda palindromen och om dessa är lika går man vidare och tittar på första tecknet i palindromen. Är dessa också lika går man vidare och tittar på näst sista tecknet i respektive palindrom. Likhet ger att man tittar på de andra tecknet etc. Man arbetar sig mot mitten av palindromet och när man gått igenom alla tecken i den kortare strängen och alla tecken har matchat varandra anser man att det är ett palindrompar. Om vi tittar på exemplen ovan och markerar de matchande tecknen med versaler ser vi kanske mer hur matchningen gått till. ABba ratar abba <-> ABBA NAturruTAN <-> NATAN Andra exempel på strängteoripalindrompar är: GOD Arab åt tå bara DOG <-> GOD ARA DOG AnNA <-> ANA Skriv ett program som läser in två strängar (vi antar att användaren matar in korrekta palindrom så slipper vi felhantering av detta), som är maximalt 30 tecken långa, och utför ovanstående kontroll. Om det är två strängar som matchar skall programmet skriva ut att de matchar, annars skall det stå att de inte matchar. Exempel på programkörning: Mata in det längsta palindromet : GOD ARAB ÅT TÅ BARA DOG Mata in det kortaste palindromet: GOD ARA DOG Det var matchande palindrom. Ett ytterligare exempel: Mata in det längsta palindromet : SIRAP I PARIS Mata in det kortaste palindromet: LIM I MIL Det var inte matchande palindrom.

35 kl Uppgift 4 Nu tror du att denna uppgift skall handla om den berömde musikern Beatrice Vierstein, men detta är helt fel. Den handlar istället om hennes broder Tuck som sysslade med broderier. Han behöver ett program som hjälper honom att rita ut de mönster han skall brodera. Det mönster som skall ritas av programmet ser ut på följande sätt (dimensionerna är här S=3, K=4, R=2) Ett körexempel (observera att dimensionerna endast avser övre vänstra kvadranten): Mata in S (antal stygn) : 6 Mata in K (antal kolumner): 4 Mata in R (antal rader) :

36 kl Uppgift 1 ( Betyg 3 uppgift ) I fönstret där det lyser har jag släkt. är en gammal ordvits som man egentligen inte kan skriva ner då släkt och släckt inte stavas lika, men det har åtminstone med hus att göra i båda fallen. Din uppgift är att skriva ett program som ritar ut ett höghus. Användaren skall bestämma hur många våningar huset har och hur brett huset är. Körexempel 1: Mata in antal våningar: 1 Mata in bredd på huset: 2 _ / \ / \ / \ / \ Körexempel 1: Mata in antal våningar: 7 Mata in bredd på huset: 6 / \ / \ / \ / \ Krav på programmet: Bredden måste alltid vara ett jämnt antal. Du skall ha felhantering av användarens indata för detta. Dock enbart rimlighetskontroller (inga undantag).

37 kl Uppgift 2 Det finns många som tror att Gustav Wasa är urfader till alla svenskar. Detta är antagligen inte sant, men det är i alla fall många som heter Gustav så man kan ju inte helt säkert veta. Två personer har släktforskat och skapat en fil som heter NAMN.TXT där all personer i deras släkt finns med. Ett litet problem har dock uppstått. De två personerna som skapat filen har inte haft samma format på sina data i filen. Den ena personen har skrivit in förnamn och efternamn på personerna på olika rader. Först förnamn på en rad och sen efternamnet på efterföljande rad. Raderna är då maximalt 20 tecken långa då personen tyckte att det var rimligt. Den andra personen har skrivit in både för- och efternamn på samma rad. För att skilja förnamnet från efternamnet har den andre personen sett till att efternamnet alltid börjar på 21:a tecknet på raden. Detta leder till att för- och efternamnet kan råka sitta ihop om förnamnet är 20 tecken långt. I övriga fall finns det ett antal blanktecken mellan för- och efternamnet. I filen NAMN.TXT är formaten blandade, men man vet alltid att de två personerna lagt in hela namnet i följd. Ett exempel på hur filen kan se ut är följande: Kalle Andersson Bengt Göran Sven Karlsson Sven-Torbjörn Rudolf Bengtsson Li Ek Elisabeth AnnmargretJohannesdotter Din uppgift är att skapa lite ordning och reda på detta och skriva ett program som skapar en ny fil som heter NAMN_I_ORDNING.TXT som innehåller samma uppsättning namn, men enligt följande format. Kalle:Andersson: Bengt Göran Sven:Karlsson: Sven-Torbjörn Rudolf:Bengtsson: Li:Ek: Elisabeth Annmargret:Johannesdotter:

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2004-03-10.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som ritar ut en åtthörning på skärmen. Åtthörningen skall dock se ut enligt exemplen nedan och det är så att användaren skall

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) Uppgift 1 ( Betyg 3 uppgift ) I filerna queue_handling.ads och queue_handling.adb finns en datastruktur som motsvarar en kö. Det finns fyra operationer som kan utföras på en kö. 1) Enqueue som stoppar

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Hexagones, som ritar ut en bikupa enligt körexemplen nedan. Exempel 1: Mata in storlek på bikupan: 1 Exempel 3: Mata in storlek på bikupan: 3 \ / \

Läs mer

Uppgift 1 (vadå sortering?)

Uppgift 1 (vadå sortering?) 2011-06-08.kl.14-19 Uppgift 1 (vadå sortering?) Du skall skriva ett program som sorterar in en sekvens av tal i en vektor (en array ) enligt en speciell metod. Inledningsvis skall vektorn innehålla endast

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-01-11.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program som ritar ut svenska flaggan i färg (tips: den är blå med ett gult kors :-) ). Till din hjälp finns det ett par procedurer som ställer

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-03-12.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program som läser igenom en textfil som heter FIL.TXT och skriver ut alla rader där det står ett decimaltal först på raden. Decimaltal

Läs mer

Uppgift 1a (Aktiekurser utan poster)

Uppgift 1a (Aktiekurser utan poster) Uppgift 1a (Aktiekurser utan poster) Vi har lite olika upplägg i de kurser vi håller och i vissa kurser finns det med något som vi kallar "poster" (eng. "record"). I andra har vi inte med detta. Vi har

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Hexagones, som ritar ut en bikupa enligt körexemplen nedan. Exempel 1: Mata in storlek på bikupan: 1 + / \ + + + + \ / + Exempel 3: Mata in storlek

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

Uppgift 1 (grundläggande konstruktioner)

Uppgift 1 (grundläggande konstruktioner) Uppgift 1 (grundläggande konstruktioner) a) Skriv ett program som låter användaren mata in 7 heltal och som gör utskrifter enligt nedanstående körexempel. Mata in 7 heltal: 1 0 0 3 1 1 1 Tal nr 2 var en

Läs mer

Uppgift 1 (Sorterade heltal som är OK)

Uppgift 1 (Sorterade heltal som är OK) 2013-03-12.kl.14-19 Uppgift 1 (Sorterade heltal som är OK) Ibland råkar man ut för att man måste se till att man inte får dubletter i sina inmatningar. Denna uppgift baserar sig på detta, men dessutom

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

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

TENTA: TDDD11 & TDDC68. Tillåtna hjälpmedel. Starta Emacs, terminal och tentakommunikationsfönster. Skicka in frågor och uppgifter TENTA: TDDD11 & TDDC68 Tillåtna hjälpmedel Det är tillåtet att ha böcker (t.ex. Ada-bok, formelsamlingar, lexikon,...) med sig samt utdelade lathundar (finns på kurshemsidan) för Ada, Unix och Emacs. Utdraget

Läs mer

Föreläsning 6: Introduktion av listor

Föreläsning 6: Introduktion av listor Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

DUGGA Tentaupplägg

DUGGA Tentaupplägg 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

Läs mer

kl Examination - Ada

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

Läs mer

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

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

Läs mer

5 Grundläggande in- och utmatning

5 Grundläggande in- och utmatning 5 Grundläggande in- och utmatning För att användaren skall kunna kommunicera med programmet krävs att man inkluderar ett eller flera bibliotek med rutiner. I Ada finns det ett antal paket som gör detta

Läs mer

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

UPPGIFT 1 TVÅPOTENSER. UPPGIFT 2 HISSEN I LUSTIGA HUSET. UPPGIFT 1 TVÅPOTENSER. 2 ½ ¾ = 5575186299632655785383929568162090376495104 n = 142 är det minsta värde på n för vilket 2 Ò inleds med siffrorna 55. Uppgiften består i att skriva ett program som tar emot

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2005-06-09.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Ett plustecken kan se ut på många sätt. En variant är den som ses nedan. Skriv ett program som låter användaren mata in storleken på plusset enligt exemplen

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång 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

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

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. TIPS 4: Du kan kompilera din kod med följande kommandon g++11, w++11 (för mer varningar) 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

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

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

Linköpings Tekniska Högskola Instutitionen för Datavetenskap (IDA) Torbjörn Jonsson, Erik Nilsson Lab 2: Underprogram Mål Lab 2: Underprogram Följande laboration introducerar underprogram; procedurer, funktioner och operatorer. I denna laboration kommer du att lära dig: Hur man skriver underprogram och hur dessa anropas.

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

Föreläsning 4: Poster

Föreläsning 4: Poster Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra

Läs mer

Kursmaterial för laborationer i

Kursmaterial för laborationer i Kursmaterial för laborationer i IMPA TDDC 68 Sammanställt av Torbjörn Jonsson 2007-02-09 INNEHÅLL Allmänt om C++-laborationerna 1 De olika laborationerna: Lab0: Grundläggande C++ 3 Lab1: Sortering med

Läs mer

Tentamen Grundläggande programmering

Tentamen Grundläggande programmering Akademin för Innovation Design och Teknik Tentamen Grundläggande programmering Kurskod: DVA103 Datum 2012-06-11 Tid 14.10 16.30 Examinator: Lars Asplund Maxpoäng: 48 Betygsgränser: Betyg 3: 20 Betyg 4:

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

TDIU Regler

TDIU Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH

TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH UMEÅ UNIVERSITET Datavetenskap Marie Nordström 071207 TENTAMEN MOM1 GRUNDLÄGGANDE PROGRAMMERINGSTEKNIK OCH DATORSYSTEM/GRÄNSSNITT, 7.5HP. (5DV074/5DV075) Datum : 071207 Tid : 3 timmar Hjälpmedel : Allt.

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång 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

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Tentaupplägg denna gång Denna tenta är uppdelad i två olika varianter. Det är helt ok att använda vilken variant ni vill. Det är ok att byta mitt under tentan om man så vill också. Variant 1: Uppgift 1,

Läs mer

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

UPPGIFT 1 TVETYDIGA DATUM

UPPGIFT 1 TVETYDIGA DATUM UPPGIFT 1 TVETYDIGA DATUM Datum skrivs på olika sätt i olika länder. Till exempel skulle datumet 03/05/01 i Sverige betyda 1 maj 2003, medan det i USA skulle vara 5 mars 2001 och i en del andra länder

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

Uppgift 1 (Oläsliga krypterade meddelanden)

Uppgift 1 (Oläsliga krypterade meddelanden) Uppgift 1 (Oläsliga krypterade meddelanden) Ofta vill man kryptera text för att inte andra skall se vad man skrivit. I den givna filen KRYPTERAD_TEXT.TXT finns en krypterad text som kan vara av intresse

Läs mer

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

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga. Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2016-12-22 KTH STH Flemingsberg 8.15-13.00 Tillåtna hjälpmedel: Kursboken C PROGRAMMING A Modern Approach K. N. King helt utan anteckningar Alternativt C från början

Läs mer

TDIU01 / 725G

TDIU01 / 725G TDIU01 / 725G67 2011-12-16 08-13 Inloggning Börja med att logga in i tentasystemet genom att logga in med användare examx som har lösenordet kluring1. Verifiera att dina uppgifter stämmer och förbered

Läs mer

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

Uppgifter till praktiska tentan, del A. (7 / 27) Uppgifter till praktiska tentan, del A. (7 / 27) I. Sortering/Sökning: III II. Representation/Omvandling/format/protokoll: II III. Strukturering: II I alla problem, där bokstäver förekommer, antar vi att

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

kl Tentaupplägg

kl Tentaupplägg entaupplägg IP 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

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva

Läs mer

Föreläsning 5: Introduktion av pekare

Föreläsning 5: Introduktion av pekare Föreläsning 5: Introduktion av pekare Det bör påpekas att det som tas upp i introduktionen inte är reella exempel på kod. Man anväder inte pekare till att peka på enstaka heltal som i exemplen nedan, men

Läs mer

TDIU Regler

TDIU Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2006-12-08.kl.08-13 Uppgift 1 ( Betyg 3 uppgift ) Implementera följande funktion: fun(1) = 1 fun(n) = fun(n / 2), för jämna n fun(n) = n / (fun(n - 1) + fun(n + 1)), för udda n Exempel på korrekta resultat:

Läs mer

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

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 Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsning 3.1: Datastrukturer, en översikt Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,

Läs mer

TDIU Regler

TDIU Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2014-10-27 KTH STH Haninge 13.15-18.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

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

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 Tentamen Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

DUGGA Tentaupplägg

DUGGA Tentaupplägg 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

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2008-03-25.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Du skall skriva ett program (en funktion), my_plot_figure, som läser in ett antal sekvenser av koordinater från tangentbordet och ritar ut dessa till en

Läs mer

kl Tentaupplägg

kl Tentaupplägg 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

Läs mer

Uttryck, satser och strömhantering

Uttryck, satser och strömhantering Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen 2018-09-06 Mål Uttryck, satser och strömhantering I denna laboration ska du lära dig Formaterad inläsning och utskrift Vanliga repetitions-

Läs mer

Objektorienterad programmering D2

Objektorienterad programmering D2 Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste

Läs mer

TDIU Regler

TDIU Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

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

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 Tentamen Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg TIPS 1: Läs igenom ALLA uppgifterna. ä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

Läs mer

kl Tentaupplägg

kl Tentaupplägg Tentaupplägg Allmänna Tips 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

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Tentaupplägg denna gång Denna tenta är uppdelad i två olika varianter. Det är helt ok att använda vilken variant ni vill. Det är ok att byta mitt under tentan om man så vill också. Variant 1: Uppgift 1,

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2009-12-16.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Skriv funktionen create_diagonal som tar emot de två parametrarna R och N. R markerar hur många rader den resulterande matrisen skall få och N markerar

Läs mer

Projektdokumentation för Othello

Projektdokumentation för Othello Projektdokumentation för Gustav Fransson Nyvell gusfr229@student.liu.se Tomas Franzén tomfr819@student.liu.se 1. Inledning Vi har gjort ett -spel som går ut på att man turas om att lägga brickor på en

Läs mer

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

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 Tentamen Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad

Föreläsningsanteckningar, Introduktion till datavetenskap HT S4 Datastrukturer. Tobias Wrigstad 1 Datatyper Tobias Wrigstad Det finns flera olika typer av (slags) data Olika datatyper har olika egenskaper. T.ex. är ett personnummer inte ett tal. (Den sista siffran skall stämma enligt den s.k. Luhnalgoritmen

Läs mer

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

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 Tentamen Programmeringsteknik I 2018-03-16 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

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

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 UPPGIFT 1 EURO Harry ska åka till Portugal och behöver växla till sig 500 Euro från svenska kronor. När han kommer tillbaka från Portugal kommer han att ha 200 Euro över som han vill växla tillbaka till

Läs mer

Laboration 1 Introduktion till Visual Basic 6.0

Laboration 1 Introduktion till Visual Basic 6.0 Laboration 1 Introduktion till Visual Basic 6.0 Förberedelse Förbered dig genom att läsa föreläsningsanteckningar och de kapitel som gåtts igenom på föreläsningarna. Läs även igenom laborationen i förväg.

Läs mer

UPPGIFT 1 V75 FIGUR 1.

UPPGIFT 1 V75 FIGUR 1. UPPGIFT 1 V75 FIGUR 1. Varje lördag året om spelar tusentals svenskar på travspelet V75. Spelet går ut på att finna sju vinnande hästar i lika många lopp. Lopp 1: 5 7 Lopp 2: 1 3 5 7 8 11 Lopp 3: 2 9 Lopp

Läs mer

UPPGIFT 1 VÄNSKAPLIGA REKTANGLAR

UPPGIFT 1 VÄNSKAPLIGA REKTANGLAR UPPGIFT 1 VÄNSKAPLIGA REKTANGLAR FIGUR 1. Dessa två rektanglar är vänskapliga. Den ena har samma mätetal för arean som den andra har för omkretsen och tvärtom. Rektangeln till vänster har omkretsen 2 4

Läs mer

Objektorientering i liten skala

Objektorientering i liten skala Linköpings Universitet Institutionen för datavetenskap (IDA) UPP-gruppen 2012-10-24 Objektorientering i liten skala Mål I denna lab skall du skriva ett objektorienterat program. Programmet skall delas

Läs mer

Tentaupplägg denna gång

Tentaupplägg denna gång Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva

Läs mer

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift ) 2007-03-14.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program, Draw_Tree, som ritar ut ett träd enligt körexemplen nedan. Exempel 1: Mata in storlek på trädet: 1 # # # # Exempel 2: Mata in storlek

Läs mer

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Datateknik A, Syfte: Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Att läsa: Lektion 2 Uppgifter:

Läs mer

HI1024 Programmering, grundkurs TEN

HI1024 Programmering, grundkurs TEN HI1024 Programmering, grundkurs TEN2 2016-01-09 KTH STH Haninge 8.15-13.00 Tillåtna hjälpmedel: En A4 handskriven på ena sidan med egna anteckningar Kursboken C PROGRAMMING A Modern Approach K. N. King

Läs mer

TDP Regler

TDP Regler Regler Student får lämna salen tidigast en timme efter tentans start. Vid toalettbesök eller rökpaus ska pauslista utanför salen fyllas i. All form av kontakt mellan studenter under tentans gång är strängt

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1 Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 1 OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer.

Läs mer

Excel-guide. Introduktion

Excel-guide. Introduktion Excel-guide Introduktion I denna laboration kommer ni få använda några grundfunktioner i Microsoft Excel. Laborationen utgår ifrån Excel 2010, men om ni vill använda ett annat program för att lösa uppgifterna

Läs mer

Manual OE2003. Förberedelser och genomförande av Gå-Lunka-Löp med hjälp av datorprogrammet OE2003.

Manual OE2003. Förberedelser och genomförande av Gå-Lunka-Löp med hjälp av datorprogrammet OE2003. Förberedelser Manual OE2003 Förberedelser och genomförande av Gå-Lunka-Löp med hjälp av datorprogrammet OE2003. 1. Starta programmet OE2003. 2. Välj Tävling Återställ från Säkerhetskopian. 3. I dialogrutan

Läs mer

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

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2 Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2 Hjälpmedel Följande hjälpmedel är tillåtna: Exakt en valfri bok,

Läs mer

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011,

Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1. Måndagen den 10 januari 2011, Programmering, grundkurs, 8.0 hp HI1024, HI1900 etc., Tentamen TEN1 Måndagen den 10 januari 2011, 8.15 12.15 Tentamen består av två delar, del A och del B. Del A innehåller 10 kryssfrågor på olika teman

Läs mer

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 2. Länkade listor Stackar Köer MyList Iteratorer Lab 2 Exceptions Paket

TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 2. Länkade listor Stackar Köer MyList Iteratorer Lab 2 Exceptions Paket TDDC30 Programmering i Java, Datastrukturer och Algoritmer Lektion 2 Länkade listor Stackar Köer MyList Iteratorer Lab 2 Exceptions Paket 1 Länkade listor Likadant som i Ada-kursen. 2 Stack MyStack MyStack

Läs mer

kl Tentaupplägg

kl Tentaupplägg Några tips på vägen kanske kan vara bra. 2015-03-17.kl.14-19 Tentaupplägg 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

Läs mer

UPPGIFT 2 KVADRATVANDRING

UPPGIFT 2 KVADRATVANDRING UPPGIFT 1 LYCKOTAL Lyckotal är en serie heltal, som hittas på följande sätt. Starta med de naturliga talen: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13... Sök upp det första talet i serien, som är större

Läs mer

TDIU20 (exempel) TDIU20 Tentaregler

TDIU20 (exempel) TDIU20 Tentaregler Inloggning TDIU20 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

Läs mer

Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1.

Objektorienterad programmering E. Telefonboken, än en gång. Gränssnitt. Telefonboken med gränssnitt specificerat, del 1. Objektorienterad programmering E Telefonboken, än en gång Föreläsning 5 Wrapper classes Exempel, histogram. Inldening om undantag. Mer om klassen Påminnelse Vår senaste version bestod av två klasser, bägge

Läs mer

Guide till att använda Audacity för uttalsövningar

Guide till att använda Audacity för uttalsövningar Guide till att använda Audacity för uttalsövningar Victoria Johansson Humlabbet, SOL-center, Lund IT-pedagog@sol.lu.se 28 mars 2006 1 Inledning Audacity är ett program som kan användas för att spela in

Läs mer

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp

Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Laboration 3 HI1024, Programmering, grundkurs, 8.0 hp Dataingenjörsprogrammet, elektroingenjörsprogrammet och medicinsk teknik KTH Skolan för Teknik och Hälsa Redovisning: Se Kurs-PM om hur redovisningen

Läs mer

Tillämpad Programmering (ID1218) :00-13:00

Tillämpad Programmering (ID1218) :00-13:00 ID1218 Johan Montelius Tillämpad Programmering (ID1218) 2014-03-13 09:00-13:00 Förnamn: Efternamn: Regler Du får inte ha något materiel med dig förutom skrivmateriel. Mobiler etc, skall lämnas till tentamensvakten.

Läs mer

Abstrakta datatyper Laboration 2 GruDat, DD1344

Abstrakta datatyper Laboration 2 GruDat, DD1344 Abstrakta datatyper Laboration 2 GruDat, DD1344 Örjan Ekeberg (fritt från en idé av Henrik Eriksson) 27 oktober 2008 Målsättning Målet med denna laboration är att ge en inblick i hur man kan använda abstrakta

Läs mer