Ordinarie tentamen i OOSU2, 26 mars 2014

Relevanta dokument
Omtentamen i OOSU2, 16 maj 2014

Omtentamen i OOSU2, 21 augusti 2014

Omtentamen i OOPW, 29 augusti 2013 kl. 9-13

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

7,5 högskolepoäng. Objektorienterad systemutveckling I. Lycka till! /Peter & Petter. Provmoment: Ladokkod: 21OS1B Tentamen ges för:

INNEHÅLL. INNEHÅLL 30 juni Administrera din butik 2. 2 Lägg in dina första varor och artiklar 4. 3 Butiksinställningar 8

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in.

HI1024 Programmering, grundkurs TEN

Beställa varor från Webbutik KUL

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

Tentamen i Grundläggande programmering STS, åk 1 fredag

Välkommen på kurs hos RIGHT EDUCATION!

Tentamen i Grundläggande programmering STS, åk 1 lördag

HI1024 Programmering, grundkurs TEN

Tentamen i. Programmering i språket C

TDIU Regler

Tentamen TEN1 HI

KOM IGÅNG MED DIN E-HANDEL! LATHUND 1.2

Version

Lathund för BankID säkerhetsprogram

Tentamen i Grundläggande programmering STS, åk

HI1024 Programmering, grundkurs TEN

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

Beställa varor från webbutiken för provtagningsmateriel, remisser och övrigt materiel.

Tentamen TEN1 HI

Manual för nyheter och kalendarium-publicering

HI1024 Programmering, grundkurs TEN

Lärarhandledning. Felix börjar skolan

1. Börja med att logga in på CoopEgenkontroll ( med dina ordinarie inloggningsuppgifter.

Det finns två varianter av inloggning den enkla varianten kräver inte något BankID/SMS utan bara ditt användarnamn och lösenord.

729G04 Programmering och diskret matematik

Landstinget i Värmland, mars 2012

VOLVO ARBETSKLÄDER, BESTÄLLNING VIA WEBBPORTAL

Använda Internet. med hjälp av Internet Explorer. Nybörjarguide

Tentamen i Programmering grundkurs och Programmering C

Manual Jourläkarschema Alingsås - Version 1.0

TDIU Regler

Manual för din hemsida

Tentamen i Grundläggande programmering STS, åk

Användarmanual TextAppen Online

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

Lathund till First Class

HANDBOK NYHETER (inkl. logga och pdf) I OEW

LVDB i GEOSECMA. Innehåll. Inledning. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

Beställa varor från webbutiken för provtagningsmateriel, remisser och övrigt materiel.

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

Tillämpad programmering CASE 1: HTML. Ditt namn

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

Administration av lagets arbetsrum. Lathund

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 7 augusti 2015, kl 08:00-12:00

IT-system. BUP Användarmanual

E-tentavakt - Invigilator

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in.

Instruktion för att hämta personligt certifikat med Internet Explorer m.fl.

Instruktioner för att skapa konton i MV-login

Valresultat. Manual till valnämnd. Registrering av preliminärt valresultat på valdagen.

Access till Centrum För Affärssystems Virtuella Affärssystemspark.

Manual. It s learning. Målgruppen: externa utförare inom Vård och Omsorg

Annan användare är inloggad

Avancerade Webbteknologier

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

APA för nybörjare. Innan du börjar. Översikt

Komma igång med AivoBeställning Äldreomsorg

iloq P10S-programmeringsenhet Manual

TDIU Regler

Pyramid Business Studio - e-line & Betalkort

Manual HSB Webb brf

Omsorgen Användarhandledning

Översikt. Installation av EasyPHP 1. Ladda ner från Jag använder Release Installera EasyPHP.

REDIGERA BILDER OCH TEXT PÅ DIN WORDPRESS-HEMSIDA

Innehåll. Inloggningen. Kort manual för dig som ska jobba med medarbetare som publicerare. Den innehåller lite

ODIN Kontowebb. Bruksanvisning

Administration av lagets arbetsrum lathund

Beställa varor från webbutiken för provtagningsmateriel, remisser och övrigt materiel.

TENTAMEN OOP

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

GUIDE TILL ANVÄNDARHANTERINGEN

En introduktion till Sodexo beställningsportal

LVDB i GEOSECMA. Innehåll. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

TDP Regler

Tentamen FYTA11 Javaprogrammering

Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

SKYPE uppkoppling under SAAF årsmötet.

kl Tentaupplägg

Skriv före adressen och lämna bort www enligt modellen:

Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?

ANVÄNDARMANUAL FÖR WORDPRESS

Manual. Föreningsadministratör i medlemssystemet

1. Ange ditt personnummer (utan bindestreck) samt din fyrsiffriga PIN-kod.

LVDB i GEOSECMA. Innehåll. Inledning. Produkt: GEOSECMA Modul: LVDB Skapad för Version: Uppdaterad:

HI1024 Programmering, grundkurs TEN

Installation/uppdatering av Hogia Personal fr.o.m. version 13.1

MANUAL FÖR JÄGAREFÖRBUNDETS KRETSAR

Plugboard Guide till Magento. Ecommmerce. Stöder - Magento 1.9.x

Skolmaten. Användarhandledning

Manual för att skapa nyheter och nyhetsbrev på internwebben samt skicka ut nyhetsbrev till alla anställda

Viktiga begrepp. Algoritm. Array. Binärkod. Blockprogrammering. Bugg / fel och felsökning. Dataspel. Dator

Agenda. Objektorienterad programmering Föreläsning 13

Tentamen i Grundläggande Programvaruutveckling, TDA548

Transkript:

Ordinarie tentamen i OOSU2, 26 mars 2014 Maxpoäng: 50. Betygsgränser: A: 90 % + B: 80 % + C: 70 % + D: 60 % + E: 50 % + Mindre än 50 % ger underkänd tentamen. Är det något du inte uppfattar så förklara hur du tolkar uppgiften och gör så gott du kan. Programmeringsuppgiften är ganska stor och det är helt okej att bara jobba med vissa delar om du inte kan lösa hela uppgiften. Du får dina inloggningsuppgifter till tentakontot när du lämnar in svaren till de teoretiska frågorna. Du kan därefter inte fylla i fler svar till de uppgifterna! Alltså: först teori, sedan programmering. Observera att du inte ska logga in med ditt användarnamn på datorn utan med inloggningsuppgifterna (t.ex. användarnman TEN123 och lösenord 12345). Ifall det strular rent tekniskt så gå tillbaka till tentavakterna och begär nya inloggningsuppgifter. Hjälpmedel: Papper och penna, samt dator för programmeringsuppgiften (det är alltså endast EN uppgift som kräver dator). Du kan lösa flera uppgifter på samma pappersark om du vill, eftersom jag rättar alla uppgifterna. Resultatet på tentan bör vara dig tillhanda senast den 19 april. Lycka till! Petter

Teoridel Uppgift 1. (5 p) Besvara kortfattat följande småuppgifter. a) Vad blir det för färg av följande kod i hexadecimal notation? #07ebf1 b) Hur mycket, översatt till vårt decimala talsystem, är 2 19, och hur räknar man ut det i huvudet? c) Hur gör man om textsträgen 25 till ett heltal med hjälp av cast? (Du behöver inte ha någon felhantering.) d) Vad är protokollet MIDI till för? e) Vad heter de fyra faserna i RUP (på engelska eller svenska)? Uppgift 2. (4 p) Koden nedan kommer att krascha eftersom jag har tagit bort en viktig kodrad. Vad är det som jag har tagit bort och hur ska raden skrivas? SqlCeConnection conn = new SqlCeConnection(@"Data Source=C:\db\ICA.sdf;"); public static DataTable frandb(string str) { SqlCeCommand cmd = new SqlCeCommand(); cmd.connection = conn; cmd.commandtext = str; SqlCeDataAdapter da = new SqlCeDataAdapter(); da.selectcommand = cmd; DataTable dt = new DataTable(); da.fill(dt); Uppgift 3. (3 p) Vilka sex av följande existerande eller påhittade termer stöter man troligen ihop med om man skriver ett program för Silverlight (bortse från eventuell webbplats som Silverlightapplikationen ligger i)? Välj alltså endast ut sex av termerna, som är: LayoutRoot, Master Page, User Control, PixelChannel, Viewstate, Timer, GeneralCommand, XHML, XAML, Canvas, FormView, Deflector, TextBlock

Uppgift 4. (4 p) Nämn fyra saker som utmärker ett bra dataspel (egentligen oavsett hur avancerat det är). Berätta kort vad de olika sakerna innebär och ge gärna exempel från välkända spel eller från de spel som visades på speldagen i förra veckan. Minns du inte vad jag tog upp på föreläsningen så tänk ut egna saker. Uppgift 5. (8 p) Du har börjat skapa en webbplats och ska nu lägga till visning av nyheter, både som en lista och enskilda nyheter, för en webbplats. Nyheterna ligger i en tabell i en SQLServer-databas. Vilka.Netkontroller använder du för att visa nyheterna (det finns olika varianter, så välj vilket sätt du vill)? Ange hela kedjan från databas till webbsida, men du behöver inte skriva någon allmän kod. Skriv dock gärna kod som visar hur kontrollerna hänger ihop. Beskriv också med ord hur hela kedjan hänger ihop. (Obs poängen skriv ett utförligt svar.) Uppgift 6. (6 p) Objektorienterad systemutveckling sker inkrementellt och iterativt. Inför varje iteration måste man göra en bedömning av vilka saker som man ska jobba med under iterationen. Hur ska man tänka när man ska rangordna? Beskriv och ge exempel.

Praktisk del: kodning på dator Uppgift 7. (20 p) Din kompis Joppe driver stans bästa pizzeria, Pizzahuset. Pizzahuset har blivit såpass populärt att Joppe måste börja hålla koll på vem som beställer vilken pizza. Ryktena om OOSU2 har gått på stan och han ber dig därför om hjälp. Du hjälper förstås gärna till! Systemet väljer du att skapa i WinForms och det här är kraven som systemet ska omfattas av: Allmänt: Ett system där man kan skriva in beställda pizzor och sedan visa pizzorna i tabellform. Ordrar lagras (helst) i en egen klass. Startsida: En välkomstsida med välkomsttext etc efter behag En knapp som leder till sida där man skapar en ny order En knapp som leder till en sida där man ser beställda pizzor Orderformulär: Textboxar och lablar läggs till efter förstånd (obs! Systemet behöver bara kunna lägga in en pizza åt gången i denna första version. En combobox eller liknande med pizzornas namn (minst fem, t.ex Hawaii, Margharita, Calzone, Special och Quattro stagioni). Uppgifterna om pizzorna kan läggas hur som helst, dvs de behöver inte ligga i en separat klass eller array. Varje pizza har utöver ett namn även ett pris i hela kronor. Tabbordning ska fungera på ett logiskt och användarmässigt lämpligt sätt. Görs med attributet TabIndex för varje kontroll. När man klickar på en Lägg till-knapp ska ordern sparas (se nedan). Tidpunkt (datum och klockslag) ska läggas till per automatik när ordern sparas. Data ska alltså sparas på valfritt objektorienterat sätt, förslagsvis till en egen klass. (Ju bättre OO-lösning desto bättre, men gör så gott du kan och gör annorlunda om du fastnar.) Lämpligt är att ha en array eller List med pizzor. Det som ska sparas för varje order är pizzans namn (och pris om det inte hämtas igen), kundens namn och alltså tidpunkt. (Hade detta varit en bra lösning så hade helt andra data sparats.) Programmet ska ge felmeddelande om man glömmer att fylla i något av värdena. Du får själv bestämma om fönstret ska stängas när pizzan har lagts till. Orderlista: Lista helt enkelt alla pizzor i, förslagsvis, en datagridview. Rubrikerna i din datagridview ska ha lämpliga namn (t.ex. Kundens namn, Pizza, Pris). Listningen kan t.ex. göras med hjälp av en datatable utifrån en loopning av dina sparade data (se kod nedan!). Lyckas du inte fylla tabellen så gör så gott du kan i övrigt, alternativt lista dina data på annat sätt.

Lista helst så att den senaste orden hamnar överst. Skapa två lablar där den ena skriver ut hur många kronor det finns ordrar för idag, och den andra hur många kronor det har beställts pizzor för sedan systemet togs i bruk. Lägg också till en knapp som stänger fönstret. Övrigt: Alla sidor ska helst ärva från en base form i stället för från Page. Alla kontroller ska ha vettig namngivning. Alla metoder ska kommenteras på ett vettigt sätt. Vid bedömningen ges poäng för kodmognad och färdigställande, men också för grad av användbarhet. Obs! Stöter du på problem så strunta i kravet/egenskapen och gör så gott du kan! Exempelkod för att lägga till värden i en datatable. Obs att du kanske ska ha med fler fält. DataTable dt = new DataTable(); dt.columns.add("customer name"); dt.columns.add("pizza"); for (int i = 0; i < orders.count; i++) { dt.rows.add(new object[] { "hej", "hopp" }); }