Tentamen i TDP004 Objektorienterad Programmering Praktisk del



Relevanta dokument
Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

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

Semester och arbetstidsförkortning

Elisabeth Bejefalk IT-Assistent Avesta kommun

19. Skriva ut statistik

Lathund GUL Lärare. Allmänt. Hur du presenterar Dig själv för kursdeltagarna. Hur du lägger upp din kontaktlista

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.

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

Lagadministration Linda Emterby

Flexibel meny i Studentportalen

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

Komma igång med Eventor

Klicka på en sökrad för att få fram hänvisningar, fullständig information och möjlighet att skicka meddelande via e-post eller sms.

Guide Flytta / Kopiera / Ta bort en kategori

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

Tentaupplägg denna gång

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

Guide för pdf-formulär

725G61 - Laboration 7 Implementation av ett API. Johan Falkenjack

Användarhandledning Grythyttan Appen

Lathund till PsycINFO (OVID)

IdrottOnline-appen Du kan installera appen från Google Play store för Android och Appstore för iphone. Sök på IdrottOnline så bör den komma fram.

Lathund Spåra ändringar

Resurscentrum för kommunikation Dako SymWriter 2. Minimanual

Bygga hus med LECA-stenar

Lathund Web Help Desk

Färgklövern. Färgklövern är gjord 1998 i samarbete mellan Datateket i Linköping och Hargdata AB i Linköping.

Konfigurera Xenta från Point

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

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

SÅindex 5 i Microsoft Excel 2010

Datorlaboration 0, Programmering i C++ (EDAF30)

Användarmanual för nya funktioner

Lathund för att använda DISPOS som genväg mellan Disgen och Genline.

HJÄLPFIL: LÄRARAPPLIKATIONEN

Aditro HR Portalen - logga in och byta lösenord

FÖRBEREDANDE INSTÄLLNINGAR INFÖR SKYPE MÖTE SAMORDNAD VÅRD- OCH OMSORGSPLANERING

Clicker 5. Lathund kring de vanligaste och mest grundläggande funktionerna för att komma igång med Clicker. Habilitering & Hjälpmedel

Skolan på webben. för vårdnadshavare till barn i grundskola, särskola och träningsskola - Manual till SchoolSoft

FÖRETAGARE. Bli leverantör till offentlig sektor

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

Mobilapplikation htp:/aktjon.argentum.se/activitymobile

Användarguide Flexconnect.se Mobil Anknytning

Manual för praktiker

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

Detta sätt lämpar sig bra om man bara kort vill kommentera den inlämnade uppgifter som helhet. Gör så här:

Administration - Skapa och administrera användare. Din roll som administratör 1. Meny och huvudfunktioner 2-4. Skapa en användare...

Version: v.1.0. Manual för praktiker

Utbildningsmodulen Förening

Lathund till Dexter IUP

Handbok Artikulate. Andreas Cord-Landwehr Ondrila Gupta Översättare: Stefan Asserhäll

GUIDE FÖR RECENSIONSVERKTYGET

Åtkomst och användarhandledning

E-post för nybörjare

LÄSLANDET - BOKSTÄVER OCH ORD

Classfronter Vägledning för Studenter (version 1.1)

Delegering i Procapita

Resurscentrum för kommunikation Dako SymWriter. Minimanual

Digitala blanketter för kommunala tjänster

Manual Nedladdningsbara klienten NLK

Datorövning 1 Statistik med Excel (Office 2007, svenska)

3Växel Softphone i datorn.

Att genomföra ett e-postutskick till klubbens medlemmar

Manual för version V2

1284_omslag.qxd :13 Sida 1 ECDL START OFFICE 2003 Allmän IT Windows XP Word 2003 Outlook 2003

TDP Regler

Rapportering till FORA 2016

FÖRETAGSAMHET LÖNAR SIG ALLTID

Användarmanual Pagero Connect 2.0

Telefonist i 3Växel webb.

Välja aktivitet. 3FrontOffice. Meddela att du är på exempelvis möte. Välja aktivitet. Välja aktivitet

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.

Snabbstartguide Home Prosafe 1131 DTMF larm (Art.nr )

Dela, samarbeta, byt. Bruksanvisning för administratörer

LATHUND PA-WEBBEN KOMPETENSSÖKNING. Version Sida 1 av 7

palse.fi Bruksanvisning för serviceproducenter

Stilbyggar-manual. Logga in. Vad betyder knapparna? Välj stil & Duplicera

Home Prosafe 1132 GSM larm (Art.nr )

Tentamen TEN1 HI

Översikt. Inloggning i Skola24 Schema Artiklar Frånvaro Planering Omdöme Kontakter Skola24 MobilApp. Nova Software AB 1 (19) 502

Lära känna skrivbordet

Användarmanual Skolrapport.se. Vårdnadshavare

Introduktion. Markera den gröna bocken. Skriv in URL:en Klicka på knappen Platser.

Programmeringsolympiaden 2008 Kvalificering

Logga in. Elevöversikt. Kolumner. Godkänna. Urval. Hantera inflytt och byte. Sök. Familjebild. Utskriftsrutin Om pengen

ANVISNINGAR. Sjundeå e-postsystem. Del 1: inställningar. Version 1.0

Innehållsförteckning. Manual WebCT

Manual. Business Monitor Smart

Antal svarande i kommunen 32 Andel svarande i kommunen, procent 43 Kategorier ångest? Mycket dåligt Totalt Nej. Någorlunda. Mycket gott.

Kom i gång med d.u. värme & sanitet

Manual för E-tjänsten Statsstödsrapportering

9-1 Koordinatsystem och funktioner. Namn:

Manual Jourläkarschema Närhälsan V7 - Version 1.0

ADITROPORTALEN (12) Medarbetare

Valet 2010 på facebook!

Smartair System. TS1000 Version 4.23

Extra inställningar i Mozilla Thunderbird

Innehåll. Liber AB Version 1.0 Sida 1

Transkript:

Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2009-08-24 Tid: 14-18 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna ungefär varje timme under skrivtiden. Hjälpmedel: Teoretisk del: Inga. Praktisk del: Den C++ information som finns i systemet. Betygsättning: Max antal poäng: 48 med 24 poäng vardera på teori och praktikdel. Poäng Betyg 41-48 5 33-40 4 25-32 3 0-24 U Anvisningar: Börja med den teoretiska delen. När du är klar med den lämnar du in den och får den praktiska delen. När du har lämnat in den teoretiska delen kan du inte återvända till den. Skriv svaret på varje uppgift på ett separat blad. Uppgifterna är inte ordnade i svårighetsgrad. En kort hjälptext till Eclipse finns på sid 2-3. Lycka till!

Kort Eclipsehjälp Om du inte är bekant med Eclipse rekommenderas att du läser igenom följande guide. Att komma igång Skriv eclipse & i terminal. Efter viss väntetid kommer ett fönster att visas. Välj C++ Perspective i övre högra hörnet av fönstret. C++ Perspective finns under Other. Välj Managed Make C++ Project som din typ av projekt. Gör ett projekt för varje uppgift, om inte annat sägs i uppgiften. Ovanstående är viktigt för att Eclipse ska bete sig korrekt med avseende på kompilering etc. Inkludera givna filer För att använda programfiler som finns i katalogen given_files, kopiera dem till ditt workspace. Högerklicka sedan på C/C++ Project vilken normalt är en vertikalt fönster finns längst till vänster i huvudfönstret. Välj sedan Refresh i den meny som visas. De inkluderade visas nu tillsammans med dina egna filer. Programfilerna kan nu inkluderas som vanligt. Datafiler behöver endast kopieras till ditt workspace. Kompilera I C/C++ Project, högerklicka på projektet och välj Build i menyn. Köra program I C/C++ Project, välj Choose binaries och välj din binär, vilket normalt har samma namn som filen där main är definierad. Högerklicka och välj Run as local C++ program. Det går även att välja Run - knappen i menyn längst upp i fönstret. Automatisk kompilering Som default är Eclipse inställt på att kompilera alla filer så snart du har slutat skriva. Om du vill avaktivera den funktionen, gå till Project - menyn och vid texten Build Automatically, ta bort krysset i rutan. Ta bort alla kompilerade filer Om du vill ta bort alla kompilerade filer (källkodsfiler är opåverkade): gå till Project -menyn och välj Clean. Då få du upp en ruta där du väljer lämpligt alternativ. Observera att det här finns en ruta vid texten Build

Automatically vilket är ikryssad och kommer att kompilera dina filer (även om du har tahit bort krysset vid Build Automatically enligt ovanstående punkt. Om fönster inte visas Om konsollen med resultatet av programkörningar inte visas, så kan du aktivera visningen av fönstret genom att gå att Project -menyn, och välja Show vindow och sedan välja Console. Om Problems -fönstret som visar eventuella komplieringsfel inte visas, gör samma sak men välj Problems istället. Om Eclipse verkar ha låst sig Prova att växla mellan olika fönster med Alt-Tab. Ibland hamnar pop-upfönster som väntar på din input bakom huvudfönstret. Om det inte fungerar kanske du måste stänga Eclipse från konsollen och starta om.

TDP004 Objektorienterad Programmering Praktisk del 1. En palindrom är ett ord eller en mening som blir likadan när den läses framlänges som baklänges. Ett exempel är dromedaren alpotto planerade mord eller det lite mer kända sirap i paris. A. Konstruera en funktion som kontrollerar om indatan i form av en std::string är en palindrom eller inte. Indatan kan bestå av blandade små och stora bokstäver. Det är endast en palindrom om bokstäverna som jämförs är båda antingen små eller stora. T ex är Sirap i Paris inte en palindrom, men SiraP i PariS är. (3p) B. Gör en ny funktion där indatan är en palindrom om bokstäverna som jämförs är samma, oavsett om de är stora eller små. I det här fallet är Sirap i Paris en palindrom. Ledtråd: i systemfilen cctype finns del användbara funktioner. (4p) 2. Pyramider är högsta mode (igen). Numera byggs de av identiska, rektangulära stenblock som staplas på varandra i lager. Lager 1 är alltid det översta lagret, lager 2 det näst översta osv. Bilden visar en pyramid med två lager. Lager 1 består alltid av ett enda stenblock och lager 2 består alltid av 9 stenblock, osv. Deluppgifterna kan lösas oberoende av varandra. A. Skriv en funktion som beräknar hur många stenblock som går åt för att skapa en pyramid med ett visst antal lager, som startar med lager 1. Givet antalet lager (vilket är 0) i pyramiden ska den returnera antalet stenblock som behövs. Svaret ska sedan skrivas ut på skärmen tillsammans med en kort förklarande text. (4p) B. En del kunder tycker att det är vulgärt med toppiga pyramider och vill därför ha pyramider som inte har ett visst antal av de övre lagren. De vill t ex ha en pyramid endast bestående av lager 3-6. Skriv en funktion som beräknar antalet stenblock som behövs för en sådan pyramid. Svaret ska sedan skrivas ut på skärmen tillsammans med en kort förklarande text. (3p) C. Din chef vill bygga en pyramid utanför kontoret av de överblivna stenblock som ligger och skräpar. Skriv en funktion som givet ett visst antal stenblock beräknar antalet lager i den största pyramid som kan byggas. Du kan anta att antalet stenblock är 0. Pyramiden ska börja med lager 1 och måste bestå av

hela lager. Svaret ska sedan skrivas ut på skärmen tillsammans med en kort förklarande text. (5p) 3. I katalogen given_files finns filerna Oven.h samt Oven.cc, vilka modellerar en ugn. Kopiera filerna till ditt workspace. Klassen har en del fel och är inte så väl genomtänkt med tanke på objektorientering. Åtgärda felen och modifiera den så att den blir mer lämpad att användas i ett objektorienterat sammanhang. Tänk t ex på vanliga objektorienterade principer. Markera vad du har ändrat och motivera kortfattat varför (max 1 sida). Om du vill införa egna hjälp-funktioner eller nya klasser så ska dessa kortfattat förklaras och ges beskrivande namn. (5p)