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

Tentamen i TDP004 Objektorienterad Programmering Teoretisk del

Code-Lite tutorial ( /RoJ)

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Föreläsning 3. Programmering, C och programmeringsmiljö

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

NetBeans 7. Avsikt. Projektfönster

NetBeans 5.5. Avsikt. Projektfönster

Så här skriver du ditt första program i C++

Installation av datafil för lokal lagring av e-post i Microsoft Outlook 2016

Komponenter med COM (och COM+/VC++ 7.0)

729G04 Programmering och diskret matematik

Programutveckling med Java Development Kit. (JDK 1.1.x) och Programmers File Editor (PFE 7.02)

Laboration 10 - Eclipse

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR

INSTALLATIONSGUIDE TILL ANDROID UTVECKLINGSMILJÖ

ALEPH ver. 16 Introduktion

729G04 Programmering och diskret matematik

Att ladda ner från legimus.se

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

TDP005: Introduktion till Make

Skoladmin kom igång! Innehåll

Integration med Vitec Express

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

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

Här beskrivs Eclipse, den programutvecklingsmiljö som utnyttjas i programmeringskurserna. Mera information finns på:

Handhavande manual problemhantering

Manual - 3D-skrivare ZYYX

FLEX Personalsystem. Uppdateringsanvisning

Lab1 Introduktion. 1 Syfte. 2 Innehåll Win32API Skapa trådar Kritiska sektioner Mailslothantering. 3 Förberedelse & Tips

Johan Karlsson Datavetenskap för teknisk kemi, 10p, moment 1 Datavetenskap Umeå Universitet. Tentamen

TDP005 Projekt: Objektorienterat system

Version X6 Fler tips

TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng

MANUAL CELLIP SOFTPHONE

Programmering i C++ Kompilering från kommandoraden

Innehåll. 1 Inledning 5. 2 Förinställning 6. 3 Anpassa användargränssnittet 7. 4 Anpassa interna inställningar 9. 5 Förbereda att bränna en skiva 10

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

Kopiera musik och program till hårddisken och skicka sedan skivorna på semester i förrådet. Spara skivorna

2 Eclipse en handledning

Digitalisering av C-Kassetter

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Filbindningar. Mike McBride Översättare: Stefan Asserhäll

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

TDIU01 / 725G

Instruktioner för att kunna programmera på skolans datorer

PLATINA 1(12) Platina, för nya handläggare

UPPFÖLJNING AV- OCH SÄKERHETSINSTÄLLNINGAR FÖR WEBBSIDOR 1 (8)

Gran Canaria - Arbetsbeskrivning knapplänkar (Mediator 8)

Provverktyget i Fronter för lärare

Digitalisering av LP-skivor Apparater: Stanton T62 skivspelare, datorns centralenhet Program: MAGIX Audio Cleaning Lab 2013

Verktyg och Utvecklingsmiljö. Jochim von Hacht

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

Innehåll Information om hemkatalog och lagring av filer... 2 PC... 3 DAFGU-/GDA-dator, Windows

Guide för PDF/A Författare Avd Telefon Datum Version Sid Göran Lindqvist (9)

18. Skriva ut inbetalningskort

HI1024 Programmering, grundkurs TEN

Administrationsmanual ImageBank 2

Softphone. Funktioner

Instruktion till. PigWin PocketPigs. Del 1 - Installation

Laboration: Grunderna i MATLAB

Din guide till. Klientinstallation MS Driftservice

HI1024 Programmering, grundkurs TEN

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

TDIU Regler

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

Laboration 1 Introduktion till Visual Basic 6.0

729G04 Programmering och diskret matematik

Eclipse en handledning

Spara filer eller mappar från ett kursrums filhanterare i Blackboard 9.1

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

Malmö högskola 2007/2008 Teknik och samhälle

HI1024 Programmering, grundkurs TEN

Word Grunderna 1. Om du kan det allra enklaste i Word, hoppa över uppgifterna A-E.

Tentamen TEN1 HI

Programmets startmeny ser ut så här. För att få fram menyerna Avsluta, Inställningar och Användare måste du föra markören upp till det blåa fältet.

TIS-Web startguide 3.6. TIS-Web Startguide

HI1024 Programmering, grundkurs TEN

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

Installation och setup av Net-controller AXCARD DS-202

LIMITED DESKTOP. Version Januari 2008

Visma Proceedo. Att logga in - Manual. Version 1.3 /

Installationsanvisning för Su Officemallar 2007 För PC Word och PowerPoint

Så här byter du från Unifaun WebOrder (UWO) till Unifaun OnlineConnect (UOCT)

LabelLogic. Bruksanvisning. Innehåll. Label Choices. Data Library. Print Centre. Design Centre

Objektorienterad programmering i Java I

Java: Utvecklingsverktyg, datatyper, kontrollstrukturer

Grattis till ett bra köp!

Användarmanual TextAppen Online

Vi visar i denna guide hur man kommer igång med sin nychippade Xbox360. När vi skriver spel i denna guide så menar vi era JTAG/RGH preparerade spel.

Bruksanvisning Bläckfisken USB

Programmera och ladda ny mjukvara till DT-serien. Information och nerladdning av SatEdit V3 från: Ladda hem.

MetaTrader för iphone. Användarguide

Lab5 för prgmedcl04 Grafik

Transkript:

Tentamen i TDP004 Objektorienterad Programmering Praktisk del Datum: 2011-04-28 Tid: 08-12 Plats: SU-salar i B-huset. Jour: Per-Magnus Olsson, tel 281456 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: 42 med 21 poäng vardera på teori och praktikdel. Poäng Betyg 36-42 5 29-35 4 22-28 3 0-21 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 teoretisk uppgift på ett separat blad. Uppgifterna är inte ordnade efter svårighetsgrad. 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. Du måste även skapa en fil som har funktionen main definierad. Det går bra att skapa en.cpp-fil och där definiera funktionen main enligt nedan, vilken blir det som operativsystemet anropar du när exekverar programmet. int main() { //Övriga anrop görs här. return 0; } Om du inte skapar en main-funktion så kommer kompilatorn att säga att funktionen main saknas och att ett allvarligt symbolreferensfel har inträffat. Ovanstående är viktigt för att Eclipse ska bete sig korrekt med avseende på kompilering etc. Inkludera eventuella 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 ett 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. Som default är Eclipse inställt på att automatiskt kompilera under tiden du programmerar. Om kompileringen krånglar Högerklicka på projektet och välj Properties ->C/C++ Build. Välj fliken Build Settings. Klicka bort Use default command. I rutan under, skriv gmake k. Klicka på OK i nedre högra hörnet. 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 klicka på texten Build Automatically.

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. Köra program I C/C++ Project, välj Run as -> Run as local C/C++ application. Det går även att välja Run -knappen i menyn längst upp i fönstret. 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-up-fö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 OBS! Det finns vissa problem med den version av Eclipse som används i tentasystemet. Bland annat kan det vara krångel med att Eclipses defaultinställningar för att kompilera inte fungerar och man får ett felmeddelande liknande: make k all make: Fatal error in reader: makefile, line 6: Unexpected end of line seen Då bör man ändra så att gmake används istället för make, vilket man gör på följande sätt: högerklicka på ditt projekt och välj Properties och sedan C/C++ Build. Välj fliken Build Settings. Klicka bort Use default command. I rutan under, skriv gmake k. Klicka på OK i nedre högra hörnet. Det kan också finnas problem med att köra sitt program från Eclipse. Då får man istället köra sitt program från ett terminalfönster. Om den exekverbara filen heter a.out exekveras denna med kommandot./a.out OBS! 1) Inom matematiken finns något som kallas Maclaurinserier, döpt efter matematikern Colin Maclaurin. Med hjälp av en Maclaurinserie kan man approximera (uppskatta) olika funktioner runt x=0. För att uppskatta exponentialfunktionen e x väldigt noggrant kan följande Maclaurinserie användas:. Observera att antalet termer i serien är oändligt. Man kan också göra en lite mindre noggrann approximation genom att begränsa antalet termer, men samma formel för varje term används fortfarande. Om man vill approximera e x med 3 termer så blir resultatet approximera med 6 termer så blir resultatet. och om man vill Skriv en funktion som gör approximationer av e x med hjälp av Maclaurinserien enligt ovan. Din funktion ska ta antalet termer som inparameter, beräkna det generella uttrycket enligt ovan och skriva ut det totala uttrycket med alla termerna på skärmen. Det ställs inget krav att texten/termerna ska formatteras som ovan, men det måste klart framgå vad som hör till vilken term. För full poäng krävs en effektiv implementation. (6p) Tips! Nollfakultet (0!) är lika med 1. Givet formeln och exemplen ovan bör du kunna lista ut hur serien ska se ut med olika termer.

2) Du ska implementera ett system för att hålla ordning på böckerna i ett bibliotek. Följande information ska sparas för varje bok: titel, författarens namn, antal sidor i boken, utgivningsår, förlag samt ISBN-nummer. Ett ISBN-nummer är ett unikt nummer för varje bok (jämför med personnummer). a) Din uppgift är att skapa en lämplig datastruktur för att kunna spara ovanstående information om böckerna. Varje instans av datastrukturen ska spara information om en bok. (3p) b) Antag att du har skapat din datastruktur enligt a-delen av uppgiften. Du ska nu välja en lämplig STL-container för att spara en stor mängd instanser som representerar böcker. Böckerna ska läggas in i din container när registret skapas och de tas sällan bort från systemet. Det som sker oftast är att en låntagare söker efter en bok med hjälp av ISBN-numret. Bestäm vilken STL-container är mest lämplig för registret. Skapa två instanser av din datastruktur som representerar böcker, från a)-delen av uppgiften, och lägg till dem i registret. I samma fil, skriv en kort text som motiverar ditt val av container. (3p) c) Skriv en funktion som låter användaren söka efter en bok med hjälp av ISBN-numret. Funktionen ska som inparameter ta ISBN-numret och vad övrigt du tycker är lämpligt. Returvärdet är en pekare till boken. Kom ihåg att hantera fallet med att ingen bok med ISBN-numret hittades. (3p) d) Även om det sällan händer att en bok tas bort så händer det till exempel när en slarvig låntagare tappar bort en bok. Skriv en funktion som tar bort en bok från den container du har valt. Inparameter till funktionen är ISBN-numret. (3p) e) Biblioteket ska nu börja tillhandahålla CD-skivor för utlåning. För varje CD ska följande information sparas: artist, namnet på skivan, skivbolag som get ut skivan, utgivningsår, samt namn och längd (i minuter och sekunder) på alla låtarna på skivan. Vilka ändringar kräver detta i den datastruktur som du skapade i del a)? Finns det något som går att återanvända? (3p)