Uppgift 1 ( Betyg 3 uppgift )



Relevanta dokument
Tentaupplägg denna gång

Bygga hus med LECA-stenar

Textsträngar från/till skärm eller fil

UPPGIFT 2 KVADRATVANDRING

Föreläsning 6: Introduktion av listor

Föreläsning 11. Giriga algoritmer

Tentaupplägg denna gång

Uppgift 1 ( Betyg 3 uppgift )

Föreläsning 4: Poster

Uppgift 1 (Oläsliga krypterade meddelanden)

Uppgift 1 ( Betyg 3 uppgift )

TDIU Regler

UPPGIFT 1 ÖVERSÄTTNING

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

Senaste revideringen av kapitlet gjordes , efter att ett fel upptäckts.

Inställningar i vån.1 av projektet för grund

Lathund algebra och funktioner åk 9

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Uppgift 1 ( Betyg 3 uppgift )

6 Rekursion. 6.1 Rekursionens fyra principer. 6.2 Några vanliga användningsområden för rekursion. Problem löses genom:

kl Tentaupplägg

Objektorienterad programmering D2

TAIU07 Matematiska beräkningar med Matlab

8-1 Formler och uttryck. Namn:.

Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll,

Uppgift 1 ( Betyg 3 uppgift )

kl Tentaupplägg

Programmeringsolympiaden 2008 Kvalificering

a), c), e) och g) är olikheter. Av dem har c) och g) sanningsvärdet 1.

8-4 Ekvationer. Namn:..

Uppgift 1a (Aktiekurser utan poster)

Microsoft Publisher. Laborationskompendium för digital behandling av publikationer. Detta exemplar tillhör:

IT-körkort för språklärare. Modul 6: Video, del 2

Uppgift 1 (grundläggande konstruktioner)

9-1 Koordinatsystem och funktioner. Namn:

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

19. Skriva ut statistik

UMEÅ UNIVERSITET 26 april 2002 Instutionen för datavetenskap. Grafproblem. Laboration 4, Datastrukturer och Algoritmer VT02

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 ( Betyg 3 uppgift )

Uppgift 1 (Sorterade heltal som är OK)

Rolladministration i PaletteArena 5.3

Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.

Programmeringsolympiaden 2012 Kvalificering

Ickelinjära ekvationer

Diagram. I detta kapitel lär du dig: m Diagrammets beståndsdelar. m Att skapa både inbäddat diagram och diagramblad. m Att ändra diagramform.

Begrepp :: Determinanten

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

Uppgift 1. Kylskåpstransporter

Uppgift 1 ( Betyg 3 uppgift )

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

TDDC74 Programmering, abstraktion och modellering DUGGA 2

Komvux/gymnasieprogram:

TENTAMEN I TILLÄMPAD VÅGLÄRA FÖR M

DUGGA Tentaupplägg

Sätt att skriva ut binärträd

Så här gör du din gymnasieansökan på webben

kl Tentaupplägg

Enkäten inleds med några frågor om demografiska data. Totalt omfattar enkäten 85 frågor år år år. > 60 år år.

Övning 2: I cellerna B19 och F26 ska du beräkna den totala ytan för respektive hus. I cell C28 den totala ytan, för båda husen.

Tentamensinstruktioner

Några tips på hur man kan arbeta med fjärilar i skola och förskola

Skriv in sökvägen sam.sll.se

Problem: BOW Bowling. Regler för Bowling. swedish. BOI 2015, dag 1. Tillgängligt minne: 256 MB

Känner du dig svajig när du tränar?här får du tips på hur du bli stabil när du tränar. Du kommer få lära dig mer om hållning, tryck och core.

TDP Regler

Sidor i boken , , 3, 5, 7, 11,13,17 19, 23. Ett andragradspolynom Ett tiogradspolynom Ett tredjegradspolynom

Svar och arbeta vidare med Student 2008

75059 Stort sorteringsset

3. Innebandyövningar. I klubbens bibliotek finns det ytterligare material i ämnet. Här följer några förslag på grundläggande övningar:

ARKITEKTPROVET 2013 DAG 1. 1: LINJE & VECK [ENKELHET, UNDERSÖKNING] [1H]

Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001)

Uppgift 1 ( Betyg 3 uppgift )

Testa din hörsel. - det är inte svårt

Lära känna varandra. För äldre barn kan man ställa sig upp och passa bollen med fötterna.

Övningar till avsnitt 3 - Leva inifrån och ut

1 Funktioner och procedurell abstraktion

Repetitionsuppgifter i Matematik inför Basår. Matematiska institutionen Linköpings universitet 2014

Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201)

Instruktioner för dig som ska söka till Mattekollo 2016

Att använda pekare i. C-kod

Instruktion för att slutföra registreringen

Programmeringsteknik med C och Matlab

5-1 Avbildningar, kartor, skalor, orientering och navigation

2. Komma igång Skapa grupper och elever Skriv också ut sidan 13 så att eleverna har en snabbguide till programmet.

RödGrön-spelet Av: Jonas Hall. Högstadiet. Tid: minuter beroende på variant Material: TI-82/83/84 samt tärningar

Uppgift 1 (vadå sortering?)

Din väg till svenskan

Chapter 3: Using Classes and Objects

Sockets: server. with Ada.Command_Line; use Ada.Command_Line; with Ada.Exceptions; use Ada.Exceptions; with Ada.Text_IO; use Ada.

Grundläggande programmering med C# 7,5 högskolepoäng

LÄSLANDET - BOKSTÄVER OCH ORD

Grunderna i stegkodsprogrammering

Referens till. WeavePoint 6 Mini

Optimering. Optimering av transportproblem. Linköpings universitet SL. Campusveckan VT2013

kl Tentaupplägg

TATA42: Föreläsning 10 Serier ( generaliserade summor )

UPPGIFT 1 KANINER. Håkan Strömberg 1 Pär Söderhjelm

Vektorgeometri för gymnasister

DE FYRA RÄKNESÄTTEN (SID. 11) MA1C: AVRUNDNING

Transkript:

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 nedan. Programkörning 1: Mata in storlek: 1 +--+ +-+ +-+ +-+ +-+ +--+ Programkörning 2: Mata in storlek: 2 +----+ +--+ +--+ +--+ +--+ +----+ Programkörning 3: Mata in storlek: 4 +--------+ +----+ +----+ +----+ +----+ +--------+

2005-06-09.kl.08-13 Uppgift 2 Inom fonetiken klassificerar man konsonantljud efter på vilket sätt de bildas och var någonstans de bildas. En klass av konsonantljud är de retroflexa ljuden, vilka bildas genom att tungspetsen böjs bakåt och förs mot tandvallens bortre del eller mot främre gommen. I många svenska dialekter kan ett antal konsonantljud förändras och uttalas retroflext om de föregås av ett r. Dessa konsonanter är n, s, t, d och l. Om flera av dessa bokstäver står efter varandra uttalas samtliga ljud retroflext om de föregås av ett r. Bokstav Exempel Representation ---------------------------------- n torn ton s fors fos t fort fot d bord bod l porla pola flera barnstol bordsben banstol bodsben En fonetikprofessor behöver hjälp att skriva ett program som kan hitta alla ljud i en text som skulle kunna uttalas retroflext. Skriv ett program som markerar alla retroflexa ljud i en text (som ligger i textfilen REN_TEXT.TXT) med motsvarande stor bokstav, se exemplet ovan. De ljud som kan bli retroflexa är alltså: n, s, t, d, l när de föregås av r (dessutom försvinner r -ljudet) och när de föregås av något annat retroflext ljud. Resultatet skall lagras i filen RETROFLEX.TXT. Det finns inga begränsningar på filens storlek (mer än att den ryms på hårddisken) och inte heller någon begränsning på radernas längder i filen.

2005-06-09.kl.08-13 Uppgift 3 En användare vill kunna rita ut snygga figurer enligt exemplen nedan på skärmen. Kravet är att ditt program skall anropa ett underprogram som heter Draw_Picture som endast får ha maximalt två heltalsparametrar (inga andra parametrar är tillåtna). Detta underprogram skall se till att utskriften på skärmen görs. Utskriften skall dessutom ske rekursivt (d.v.s. proceduren Draw_Picture skall vara rekursiv). Du får skriva ut en hel rad utan rekursion, men du får inte skriva flera rader utan rekursion. Programkörning 1: Mata in storlek: 7 XXXXXXX XXXXX XXX X XXX XXXXX XXXXXXX Programkörning 2: Mata in storlek: 6 XXXXXX XXXX XX XX XXXX XXXXXX Programkörning 3: Mata in storlek: 2 XX XX Programkörning 4: Mata in storlek: 1 X

2005-06-09.kl.08-13 Uppgift 4 I ett program som hanterar bilder vill man kunna förskjuta bilden både i x- och y-led (samtidigt om så önskas av användaren). En bild representeras av en matris innehållande ett antal heltal. Varje heltal (i intervallet [0, 255]) motsvarar en färg. Vi kan för enkelhets skull anta att bilden alltid är 4x4 bildpunkter stor, men ditt program skall ha dessa maxvärden som globala konstanter som används i programmet (detta för att enkelt kunna omdimensionera senare). Din uppgift blir att skriva ett program som skjuter bilden i x- och y-led efter användarens önskemål. En förkjutning innebär att bilden flyttas och det som trillar över kanten kommer in på andra sidan igen (man kan tänka sig att bilden sitter fast på en pappersrulle och det bilden glider runt rullen och in på papperet igen). Det finns givet ett skelett till program i filen forskjutning.adb. I detta skelett har vi tilldelat bildmatrisen de värden som skall användas av dig. Vi har däremot (som du märker) inte skapat datatypen för matrisen och vi har heller inte skrivit programmet i övrigt. Ditt program skall följa nedanstående exempel. Det är viktigt att utskrifterna exakt följer exemplen. Antag att vi har en bild med följande innehåll: 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Programkörning 1: Mata in förskjutning i x-led (positivt => höger): 2 Mata in förskjutning i y-led (positivt => uppåt): 0 2 3 0 1 6 7 4 5 10 11 8 9 14 15 12 13 Programkörning 2: Mata in förskjutning i x-led (positivt => höger): 0 Mata in förskjutning i y-led (positivt => uppåt): 1 4 5 6 7 8 9 10 11 12 13 14 15 0 1 2 3 Programkörning 3: Mata in förskjutning i x-led (positivt => höger): 1 Mata in förskjutning i y-led (positivt => uppåt): -1 15 12 13 14 3 0 1 2 7 4 5 6 11 8 9 10

2005-06-09.kl.14-19 Uppgift 1 ( Betyg 3 uppgift ) Skriv ett program som ritar ut följande figur (i den storlek som användaren väljer) på skärmen. Figuren har storlek 5x4 i detta exempel. Det finns inga begränsningar på storleken på figuren. Det är givet att användaren alltid matar in positiva heltal till ditt program. Programkörning: Mata in antal rutor i x-led: 6 Mata in antal rutor i y-led: 3 --+ / --+ / --+ / --+

2005-06-09.kl.14-19 Uppgift 2 I svenskan finns det en verbform som heter presens particip. Det är former som springande och gående som används i meningar som Han kom springande och hon kom gående. En lingvist skulle behöva hjälp att skriva ett program som tar ut alla former i en text som skulle kunna vara presens particip, det vill säga alla ord som avslutas med (har en ände :-) som är ande eller ende. Dessa ord ska skrivas ut på en ny fil (ett ord per rad). Den text som du skall gå igenom ligger i textfilen REN_TEXT.TXT och resultatet skall skrivas till filen PRESENS_PARTICIP.TXT (också en textfil). Det är givet att inga rader i originalfilen är längre än 60 tecken. Om det skulle vara så att det finns ord som slutar på ande / ende och de ändå inte är ord av rätt sort spelar det inte någon roll i denna uppgift.

2005-06-09.kl.14-19 Uppgift 3 Skriv ett program som ritar ut nedanstående figur på skärmen. Användaren skall kunna ange vilken storlek figuren skall ha (se programkörningar nedan). Storleken anges i antal teckens bredd respektive antal teckens höjd i figuren. Ingen felhantering krävs i denna uppgift. Som du ser är figuren uppbyggd av en spegelvänd spiral som utgår från det övre vänstra hörnet i riktning åt höger. Spiralen skall alltid avslutas med ett +. Varje krök i spiralen skall markeras med ett +. För att lösa problemet kan det vara bra att ha en matris där man lagrar (ritar) figuren innan utritande på skärm. Maximal storlek på figuren är 70x20. Programkörning 1: Mata in x-dimension: 8 Mata in y-dimension: 6 -------+ +-----+ +---+ +--+ +----+ +------+ Programkörning 2: Mata in x-dimension: 10 Mata in y-dimension: 1 ---------+ Programkörning 3: Mata in x-dimension: 1 Mata in y-dimension: 3 + + Programkörning 4: Mata in x-dimension: 4 Mata in y-dimension: 7 ---+ +-+ + ++ +--+

2005-06-09.kl.14-19 Uppgift 4 I filen matte.adb finns ett litet skelett till ett huvudprogram som du kan använda. I detta finns en matristilldelning som gör att du har ett innehåll som är startvärdet i programmet. Vi har dock inte givit typdeklarationen för matrisen utan antagit att den är färdig. Det är ditt jobb att definiera typen och se till att programmet utför det som beskrivs nedan. Det är givet i uppgiften att matrisen är 4x4 stor. I ditt program skall du skriva en procedur som utför en matematisk formel på alla element i hela matrisen. Den matematiska formeln ser ut på följande sätt. Udda tal skall adderas med 1. Jämna tal skall divideras med 2. Proceduren skall vara rekursiv och den skall avslutas när minst ett av talen i matrisen blivit 1. Man skall dock inte avsluta innan alla element i matirsen genomgått sin matematiska funktion. Om inget av talen i matrisen är 1 skall samma operation utföras ytterligare minst en gång. Huvudprogrammet skall därefter skriva ut matrisens innehåll. Antag följande ursprungsmatris: 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 Efter en genomgång av matrisen skall den se ut på följande sätt (skall dock inte synas på skärmen utan är endast internt): 5 12 6 14 7 16 8 18 9 20 10 22 11 24 12 26 Då programmet körs skall följande matris skrivas ut (det har nu hittats en etta i matrisen): 4 4 2 4 2 2 1 5 6 6 3 6 3 3 4 7 Krav: Proceduren som utför en fullständig matematisk beräkning av hela matrisen skall vara rekursiv. Det ser man i uppgiftens formulering dessutom. Givet: Det är givet att inget av talen är 1 i ursprungsmatrisen.