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



Relevanta dokument
TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor

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

UPPGIFT 2 KVADRATVANDRING

TDP Regler

Uppgift 1. Kylskåpstransporter

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

Programmeringsolympiaden 2012 Kvalificering

19. Skriva ut statistik

Tentaupplägg denna gång

Programmeringsolympiaden 2008 Kvalificering

SAS- Destinationer och avreseorter Europa

Björn Abelli Programmeringens grunder med exempel i C#

Tentamen, EDA501 Programmering M L TM W K V

Uppgift 1 (Oläsliga krypterade meddelanden)

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

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

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

Problem Svar

Tentaupplägg denna gång

TENTAMEN. Programmering Grundkurs (HI1900) Skrivtid 13:15-18:15. Tisdagen 26 april Tentamen består av 8 sidor

7 Använd siffrorna 0, 2, 4, 6, 7 och 9, och bilda ett sexsiffrigt tal som ligger så nära som möjligt.

Seriehantering. [En enkel guide för hur du som serieadministratör använder SVEMO TA.]

Bygga hus med LECA-stenar

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

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

Referens till. WeavePoint 6 Mini

Tilldelning av roller + Meddelanden i MinPlan

Sammanställning av studerandeprocessundersökning GR, hösten 2010

Lathund Web Help Desk

Skolplaneenkät 2015 Elever grundskola

9-1 Koordinatsystem och funktioner. Namn:

Att komma igång med FirstClass (FC)!

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

ADAD-net. Användarmanual INDIVIDEN. Råbe och Kobberstad Februari 2010

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

kl Tentaupplägg

Tentamen TEN1 HI

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

TAIU07 Matematiska beräkningar med Matlab

Hälsoenkät SF-36. Bilaga 1

HI1024 Programmering, grundkurs TEN

Manual för version V2

Project Planner. Introduktion. Att använda Project Planner. WeavePoint. Handledning

TNSL11 Kvantitativ Logistik

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

Laborativ matematik som bedömningsform. Per Berggren och Maria Lindroth

Artiklar via UB:s sö ktja nst

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

Norwegian Air Shuttle - Destinationer och avreseorter Europa

Lathund för att arbeta med pdf

Tentamen i Matematisk statistik Kurskod S0001M

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Lösningar till uppgifterna sätts ut på kurssidan på nätet idag kl Omtentamen i Programmering C, 5p, A1, D1, E1, Fri, Pr1, Te/Ek1,

Matematikundervisning och självförtroende i årskurs 9

Snabbguide. Telia Maxi 10. Bruksanvisning. Ställa klockan Se sid 5. Viloläge. Du har bläddrat fram en påringning 16 LZTA , 98-04

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

Kompletterande lösningsförslag och ledningar, Matematik 3000 kurs A, kapitel 6

Administration av landstingsstatistik. Statistiktjänsten

Lönestatistik Jordbrukssektionen inom Skogs- och Lantarbetsgivareförbundet

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

8-4 Ekvationer. Namn:..

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

En handledning för studerande på Högskolan Kristianstad

Installationsanvisning för PI-Utbildningar

Innehållsförteckning. Manual WebCT

Uppgift 1 ( Betyg 3 uppgift )

Orienteringsteori. Allt för att du skall lyckas bra i orientering!!

Lathund. Fakturering via fil i Tandvårdsfönster

Användarmanual HOIF.org

Chapter 3: Using Classes and Objects

LULEÅ TEKNISKA UNIVERSITET Ämneskod S0006M Institutionen för matematik Datum Skrivtid

Hanne Solem Görel Hydén Sätt in stöten! MATEMATIK

Instruktion för L-100 IF:s kartpärm

Teckentavlor. Inställning av styrsätt med programvalsratten

Lär dig sökmöjligheterna i Disgen 8

Förkunskaper Grundläggande kunskaper om längdmätning med standardiserade mått samt kartkunskaper.

Användarmanual Körjournal för iphone

LUFFARSCHACKETS GRUNDER

B = Bokad tid. T = Tillfälligt bokad tid. L = Ledig tid. X = Spärrad tid

Easy Planning blir med dessa funktioner ett mycket kraftfullt verktyg för planering. Vi hoppas att våra kunder ska få stor nytta av programmet.

Tentamen i Matematisk statistik Kurskod S0001M

Introduktion till Blästadsgatans diskussionsforum. Inledning. Layout ej inloggat läge

Tips och tricks 1 Cadcorp SIS

Produktionssättning

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

STÄNG AV FÖNSTER. Regler FLAGGSPECTRUM I FLAGGSPECTRUM II FLAGGSPECTRUM III FLAGGSPECTRUM STJÄRNSPEL

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

TAOP88/TEN 1 OPTIMERING FÖR INGENJÖRER

Uppvärmning, avsvalning och fasövergångar

Upplands-Bro kommun Skolundersökning 2009 Kommunövergripande rapport

E-post för nybörjare

TENTAMEN. Linjär algebra och analys Kurskod HF1006. Skrivtid 8:15-13:00. Onsdagen 17 november Tentamen består av 3 sidor

Komma igång med Eventor

För att använda sifferkrypto använder man en rektangel om 5 gånger 6 bokstäver.

Elisabeth Bejefalk IT-Assistent Avesta kommun

Digiroad Kommununderhåll. Anvisningar för underhåll på papperskarta

LATHUND FÖR MALVIN. 1 Registrera ny användare Logga In Glömt lösenord Annonsering Skapa annons...

KeyControl Utskrifter och historik

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

VASS HBI Användarmanual

Transkript:

Programmering Grundkurs (6H2950) Grundläggande Programmering (6A2001) Skrivtid: 8:15-13:15 Datum: Måndagen 2005-03-07 Tentamen består av 7 sidor Hjälpmedel: Förutom dator med installerad Borland C++ 5.02, Utforskaren, Acrobat reader och Notepad (inga andra program), den kurslitteratur som använts under kursen, samt egna anteckningar, programlistningar och böcker. Dock inga egna disketter eller CD-ROM. Under W:\PROV\C finns program- och datafiler som kan komma till användning vid lösandet av uppgifterna. Kopiera över dessa till ditt konto. Till alla uppgifter ska ett program levereras i form av källkod (C eller CPP-fil). Dina bidrag lägger du i en katalog i roten på H:. Katalogen ska ha samma namn som prefixet i din mailadress. Exempelvis för Kalle Kula: HDI02KEKA. Namnen på lösningarna ska ges UPPG1.CPP till UPPG8.CPP. De är endast dessa filer som kommer att bedömas. Samtliga, till problemen hörande datafiler, där bokstäverna Å, Ä, Ö, ingår är lagrade i extended ASCII, vilket innebär att texten återges på rätt sätt då den skrivs ut i DOS-fönstret. Rättningen görs genom att programmen körs ett antal gånger för olika indata. Om resultatet överensstämmer med det förväntade bedöms programmet, som korrekt och ger 2 poäng. Om ett program ej kan kompileras utan fel, är det knappast troligt att det kommer att ge några poäng. I det fall där programmet läser från och eller skriver till en fil, testas programmet oftast med en annan fil än den bifogade. Betygsgränser: 8 10 poäng ger betyg 3, 11 13 poäng ger betyg 4 och 14 16 poäng ger betyg 5. Resultat anslås på programmets anslagstavla i RII. Lycka till! Niclas Hjelm, Håkan Strömberg Hjelm Strömberg 1 KTH Syd Haninge

Uppgift 1 Bestämma π Med hjälp av formeln π = 4 1 4 3 + 4 5 4 7 + 4 9 4 11 + 4 13 kan ett närmevärde till π bestämmas. Du ser säkert hur denna serie fortsätter i all oändlighet. Skriv ett program som frågar efter antalet termer och som bestämmer summan av dessa. Resultatet ska skriva ut med 6 decimaler. Ett körningsexempel: Antal termer? 20 PI blir då 3.091624 Uppgift 2 Åkerlappen xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxx Figuren ovan ska förställa en karta som visar skog (x) och åkermark (o). En position på kartan motsvarar 10 10 m 2. Kartan som finns att läsa in från filen karta.txt inleds med en rad som anger antalet rader den innehåller, ett tal h, 4 h 20. Talet anger alltså egentligen kartans utbredning i nordsydlig riktning 10 h meter. På nästa rad anges antalet kolumner k, 4 k 40. Talet anger kartans utbredning i östvästlig riktning 10 k meter. Därefter följer h rader alla innehållande k tecken (x) eller (o). På kartan finns endast en rektangulär åkerlapp, allt annat är skog. Din uppgift är nu att skriva ett program som bestämmer åkerns längd (utbredning i östvästlig riktning) respektive bredd (utbredning i nordsydlig riktning). Observera att åkern mycket väl kan ligga med en eller flera av sina sidor utefter kartans ytterkanter. Åkerns längd 60 meter Åkerns bredd 40 meter Hjelm Strömberg 2 KTH Syd Haninge

Uppgift 3 Att resa med SAS Addis_Abeba Karlstad Paris Amsterdam Khartum Prag Ankara Köpenhamn Reykjavik Aten Lissabon Rom Barcelona London Sundsvall Bryssel Madrid Teheran Cairo Malmö Visby Frankfurt Moskva Warszawa Geneve New_York Zürich Göteborg Nizza Helsinfors Oslo Figur 1: De platser som trafikerades med flyg från Stockholm Bromma år 1946 På binärfilen flygpriser.dat finns uppgifter om det biljettpris som gällde 1946, både enkel och tur o retur, från Stockholm Bromma till alla de platser som trafikerades vid den tiden. Dessutom finns uppgift om kostnaden för bagageövervikt kr/kg. Posten i binärfilen har följande utseende: struct prispost{ char namn[20]; float enkel; float turoretur; float overvikt; }; Skriv ett program med följande dialog: Destination? Lissabon Enkel (1) Tur och retur (2)? 2 Övervikt (kg)? 10 Biljetten till Lissabon kostar 1375.50 kr Programmet ska alltså fråga efter destinationsort, typ av resa samt hur stor övervikt bagaget har. Därefter ska programmet skriva ut biljettpriset. Hjelm Strömberg 3 KTH Syd Haninge

Uppgift 4 Aktiebolaget C I den här uppgiften ska vi studera programmeringsföretaget AB C och dess anställda under tre år. Varje anställt på företaget, som har en viss omsättning på folk, har ett anställningsnummer, ett tal i intervallet 1000... 2000. Antalet tjänster (anställda) har under de tre år, 2003 2005, vi ska studera varit konstant 10 stycken. Givet tre filer f2003.txt, f2004.txt och f2005.txt. Filen f2003.txt innehåller helt enkelt anställningsnumren på de som var anställda under 2003. De andra två filerna f2004.txt och f2005.txt innehåller information om vilka som slutade under året och vilka de ersattes av. Filerna inleds med ett tal som anger hur många byten n, som gjordes under året. Därefter följer n rader med två nummer på varje. Första numret anger vem som slutade och andra numret vem denne ersattes av. Bytena räknas upp i den ordning de inträffade under året. Skriv ett program som skriver ut anställningsnumren på de 10 personer som just nu är anställda i AB C. Om filerna har följande innehåll f2003.txt f2004.txt f2005.txt ------------------------------------------------------- 1001 5 6 1003 1210 1888 1010 1977 1030 1304 1004 1977 1111 1200 1888 1889 1003 1280 1210 1361 1608 1608 1777 1304 1999 1005 1437 1234 1361 1005 1357 1010 1999 1437 kommer svaret att bli följande 10 personer 1001 1280 1030 1200 1889 1004 1777 1111 1357 1234 Observera att personer kan både börja och sluta under samma år och att det finns anställda som överlevt alla tre åren trots flera omorganisationer. Hjelm Strömberg 4 KTH Syd Haninge

Uppgift 5 Att nå målet Här ska vi göra en vandring i koordinatsystemet som startar i origo, punkten (0, 0). Vandringen består av ett antal steg. Ett steg är en längdenhet i någon av de fyra huvudriktningarna, uppåt (y ökar), nedåt (y minskar), åt vänster (x minskar) eller åt höger (x ökar). På det viset kommer man alltid att vara i en punkt (x, y) med heltalskoordinter. Målet är att nå punkten (20, 20). Stegens riktning väljs slumpmässigt med en bestämd sannolikhet, som ges i procent (heltal) genom denna dialog vid programmets start: Sannolikhet UPPÅT (%)? 30 Sannolikhet NEDÅT (%)? 18 Sannolikhet ÅT VÄSTER (%)? 20 Sannolikheten för ÅT HÖGER kan programmet sedan själv bestämma eftersom summan av alla sannolikheter ska bli 100%. Programmet ska sedan simulera 100000 sådana vandringar. En vandring tar slut om den når det givna målet, vilket är detsamma som en lyckad vandring eller om antalet steg når upp till 200 utan att målet är nått. Som resultat skriver programmet sedan ut hur många procent av vandringarna som var lyckade: 10.69 % av vandringarna var LYCKADE Hjelm Strömberg 5 KTH Syd Haninge

Uppgift 6 Vilka drag är möjliga? Figur 2: I figuren ser vi en situation i bondespelet. Den ene spelaren, den vid draget, för de vita brickorna och den andre de svarta. Vi behöver inte bry oss om vad spelet går ut på utan i stället vilka möjliga drag vit har. Vit, som alltså är vid draget, kan flytta en bricka: A ett steg rakt framåt (uppåt i figuren) om denna ruta är tom. B Han kan också flytta en bricka ett steg diagonalt framåt (snett uppåt i figuren) om denna ruta innehåller en svart bricka vit slår en svart bricka. Skriv ett program som bestämmer hur många möjliga drag vit har, uppdelade på de två kategorierna A och B förklarade i listan ovan. Aktuell ställning läses in från filen stallning.txt. Filen innehåller 5 rader med 5 tal på varje. Talet 1 står för vit bricka, 2 för svart bricka och 0 för tom ruta. Ett körningsexempel: Det finns 2 drag av kategori A Det finns 3 drag av kategori B Hjelm Strömberg 6 KTH Syd Haninge

Uppgift 7 Befolkningstäthet På filen folkmangd.txt finns folkmängden hos 192 av världens länder noterad. På filen storlek.txt finns samma länders storlek i km 2 given. Skriv ett program som bestämmer vilket land i världen som har den högsta befolkningstätheten, antal personer per km 2. Filen folkmangd.txt innehåller 2 192 rader först landets namn, en sträng med < 40 tecken utan mellanslag och på nästa rad ett tal, landets folkmängd. Filen storlek.txt är uppbyggd på samma sätt, först landets namn och på nästa rad dess storlek i km 2. Ett problem är, att även om länderna på de två filerna är desamma, så återfinns de inte i samma ordning. Ett körningsexempel med de givna filerna ger utskriften I Monaco bor folk tätast med 16620 personer/km^2 Uppgift 8 Multiple Choice Läraren testade studenternas kunskaper med hjälp av ett prov utformat med flervalsfrågor. Provet innehöll 10 frågor och det fanns tre svarsalternativ på varje fråga, A, B och C. När studenterna fick tillbaka provet rättat, fick de också facit till de rätta svaren. Men det visade sig vid närmare kontroll att resultat inte stämde för alla studenter. I facit hade insmugit sig ett tryckfel. Ett av svaren där avvek från den korrekta rad av svar, som läraren använt, då han rättade provet. Skriv ett program som tar reda för vilket av de 10 svaren det utdelade facit var felaktigt och vilket det rätta svaret egentligen skulle vara. Filen tenta.txt inleds med en rad som innehåller facit med aktuellt tryckfel. En rad med 10 tecken från A, B, C. På nästa rad finns ett tal n < 30, som anger hur många studenter som deltog. För varje student ges sedan två rader. Först studentens svar, en 10 tecken lång sträng med 10 tecken från A, B, C. På nästa rad hur många rätt studenten hade ett tal 0...10. Ett körningsexempel: Svaret på fråga 5 var felaktigt. Ska vara C Observera alltså att alla studenternas resultat var korrekta. Hjelm Strömberg 7 KTH Syd Haninge