Systemutvecklare SU13, Malmö

Relevanta dokument
Testning av applikationer

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Tentamen, delkurs Projektstyrning Webbutvecklare SU13, Malmö

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

Systemutvecklare SU14, Malmö

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Visual Basic, en snabbgenomgång

Tentamen ID1004 Objektorienterad programmering May 29, 2012

TENTAMEN OOP

Tentamen i. för D1 m fl, även distanskursen. lördag 26 februari 2011

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

LÖSNINGSFÖRSLAG TENTAMEN

kl Tentaupplägg

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

Föreläsning 3-4 Innehåll

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Tentamen ID1004 Objektorienterad programmering April 7, 2015

kl Tentaupplägg

2D1339 Programkonstruktion för F1, ht 2003

Tentamen Grundläggande programmering

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

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

2 b) Följande finns definierat: public class Käk String titel = "Chili con carne"; Krydda[] kryddor = new Krydda[10]; kryddor[0] = new Krydda("Svartpe

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

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

F4. programmeringsteknik och Matlab

Logik och kontrollstrukturer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

JavaScript del 3 If, Operatorer och Confirm

Programmering för språkteknologer II, HT2014. Rum

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Språket Python - Del 1 Grundkurs i programmering med Python

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Diagnostiskt Prov. Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas.

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34

729G74 - IT och programmering, grundkurs. Dugga.

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Föreläsning 3: Booleans, if, switch

2 b) Följande finns definierat: public class Spel String titel = "Spel"; Dice[] tärningar = new Dice[10]; tärningar[0] = new Dice("Röd"); tärningar[1]

Föreläsning 2 Programmeringsteknik och C DD1316

Operatorer Tilldelning Kodblock { } if satsen Logiska uttryck Att programmera

HI1024 Programmering, grundkurs TEN

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

729G04 Programmering och diskret matematik

Polymorfi. Objektorienterad och komponentbaserad programmering

TUTORIAL: KLASSER & OBJEKT

TDIU01 - Programmering i C++, grundkurs

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Tentamen i Grundläggande Programvaruutveckling, TDA548

OOP Tenta

Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Programmeringsteknik I

Objektorienterad programmering Föreläsning 2

Planering Programmering grundkurs HI1024 HT 2014

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

Metoder (funktioner) Murach s: kap Winstrand Development

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

Fortsättningskurs Webbklientprogrammering

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

TDIU01 - Programmering i C++, grundkurs

TENTAMEN TDDB53. Programmering i Ada för MI (provkod TEN2) den 7 april 2010 kl Institutionen för datavetenskap, IDA Olle Willén mars 2010

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Grundläggande datalogi - Övning 1

Föreläsning REPETITION & EXTENTA

Tentamen OOP

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

i LabVIEW. Några programmeringstekniska grundbegrepp

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Tentamen i Grundläggande Programvaruutveckling, TDA548

Övning. Introduktion och förberedelser

Tentamen, Algoritmer och datastrukturer

Lösningar till uppgifterna sätts ut på kurssidan och på WebCT (Gamla Tentor) i dag kl 19. Tentamen i Programmering C, 5p, Distans, övriga,

Exempel: Exempel: Exempel: Exempel: $djur=array("ko","katt","älg"); foreach ($djur as $d) { echo $d. " "; } Resultat. ko katt älg

JAVA Mer om klasser och objektorientering

Objektorienterad Programmering (TDDC77)

Arrayer (fält)

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,

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Uppgifter till tenta i 729G04 Programmering och diskret matematik. 17 december 2015, kl 14:00-18:00

Föreläsning 2. Variabler, tilldelning och kodblock{} if-satsen Logiska operatorer Andra operatorer Att programmera

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Programmeringsteknik med C och Matlab

OOP Tentamen

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

2D1342 Programkonstruktion för F1, ht 2006

Tentamen, EDAA10 Programmering i Java

C++ Funktioner 1. int summa( int a, int b) //funktionshuvud { return a+b; //funktionskropp } Värmdö Gymnasium Programmering B ++ Datainstitutionen

729G04 Programmering och diskret matematik

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

Transkript:

Systemutvecklare SU13, Malmö Tentamen, delkurs Programmeringsteknik C#, del 1 (30 YH-poäng) Plats: Plushögskolan Malmö Tid: 3 oktober 2014, kl. 9.00-13.00 Tillåtna hjälpmedel: Papper, penna, suddgummi, linjal, miniräknare. Ej tillåtna hjälpmedel: Datorer, mobiltelefoner, surfplattor, böcker, anteckningar, kompendier etc. Max poäng: 68 poäng Examinator: Thomas Frank, Nodebite AB Sida 1 av 10

Del 1, slutna svar Ditt namn: Läs igenom frågorna på följande sidor och välj svarsalternativ. FYLL I DITT NAMN (!) och kryssa i dina svar på denna sida. (Mer än ett ikryssat svar per fråga ger 0 poäng på frågan.) Lämna ENDAST in denna sida för del 1. Variabler Fråga 1 a b c d Fråga 2 a b c d Fråga 3 a b c d Fråga 4 a b c d Fråga 5 a b c d e f g h If-satser m.m. Fråga 11 a b c d Fråga 12 a b c d Fråga 13 a b c d Fråga 14 a b c d Fråga 15 a b c d e f g h Operatorer Fråga 6 a b c d Fråga 7 a b c d Fråga 8 a b c d Fråga 9 a b c d Fråga 10 a b c d e f g h Loopar, listor m.m. Fråga 16 a b c d Fråga 17 a b c d Fråga 18 a b c d Fråga 19 a b c d Fråga 20 a b c d e f g h Funktioner/metoder Fråga 21 a b c d Fråga 22 a b c d Fråga 23 a b c d Fråga 24 a b c d Sida 2 av 10

Variabler Fråga 1 Fråga 2 Vilket av följande påståenden är falskt? I C# deklareras en variabel alltid med en bestämd: a) pappa b) relation c) datatyp d) klass En booleansk variabel kan: a) vara falsk (false) b) vara mittemellan sant och falskt (trulse) c) bestämmas utifrån ett logisk villkor (t.ex. 1 > 2) d) vara sann (true) Fråga 3 Fråga 4 Innan man kan göra beräkningar med ett tal i en sträng behöver man: a) loopa igenom varje tecken i strängen b) lägga ihop den med en annan sträng c) omvandla strängen till en annan datatyp d) ta bort citattecknen med hjälp av strängmetoden Unquote En variabel i C# finns tillgänglig i a) överallt i hela programmet b) bara om man skriver "this." framför den c) inom det kodblock där den har deklarerats och andra kodblock inuti detta kodblock d) överallt inom en funktion oavsett var i funktionen den har deklararats Fråga 5 string a = "32"; var b = a + 32; var c = Int32.Parse(a) + 32; c += 2; c ++; var d = b + c; Console.WriteLine(d); 3 poäng Vad skriver följande program ut till konsolen? a) null b) 323267 c) 323268 d) 323264 e) 323232 f) 67 g) 131 h) 128 Sida 3 av 10

Operatorer Fråga 6 Fråga 7 a) Arbetar man med decimaltal betyder x >= y samma sak som x + 1 > y b) Arbetar man med heltal betyder x <= y samma sak som x + 1 > y c) Arbetar man med heltal betyder x >= y samma sak som x - 1 > y d) Arbetar man med heltal betyder x >= y samma sak som x + 1 > y Om man skriver var Console.Write(1 < 2? "hej" : "då"); så skrivs följande ut till konsolen? a) hej : då b) true hej då c) hej d) då Fråga 8 Fråga 9 Om man skriver a -= a; så blir a alltid? Om man skriver a += a; så blir a alltid? a) 1 a) 0 b) 0 b) dubbelt så stort som innan c) dubbelt så stort som innan c) 1 d) hälften så stort som innan d) hälften så stort som innan Fråga 10 3 poäng int a = 1; a++; a++; a++; a++; a--; a++; a *= a; a -= a; a /= 1; Console.WriteLine(a); Vad skriver följande program ut till konsolen? a) 5 b) 2 c) 0 d) 6 e) 4 f) 8 g) 1 h) 7 Sida 4 av 10

If-satser m.m. Fråga 11 Fråga 12 Vilket av följande påståenden är falskt? a) Man kan använda else utan if b) Else måste komma efter else if c) Else if måste komma efter else d) Man kan använda if utan else a) If måste användas tillsammans med ett villkor b) Else måste användas tillsammans med eller c) Else måste användas med tillsammans ett villkor d) Else if måste användas tillsammans med ett villkor Fråga 13 Fråga 14 Vilket av följande påståenden är sant En ternary operator a) innehåller inga värden b) kanibland ersätta en if..else-sats c) fungerar bara med tal, inte strängar d) innehåller inget villkor a) Man kan inte använda if i en for-loop b) Man kan använda fler else if-satser i rad c) Man använder else if efter else d) Man kan använda flera else-satster i rad Fråga 15 if (1 > 2) { Console.WriteLine(1 > 2? 3 : 4); } else if (2 < 1) { Console.WriteLine(1 < 2? 5 : 6); } else { Console.WriteLine(1 > 2? 7 : 8); } 3 poäng Vad skriver följande program ut till konsolen? a) 6 b) 5 c) 7 d) 8 e) 1 f) 2 g) 4 h) 3 Sida 5 av 10

Loopar, listor m.m. Fråga 16 Vilken typ av loop är enklast att använda med en lista? a) En while-loop b) En foreach-loop c) En do..while-loop d) En for-loop Fråga 17 Vilken typ av loop kör alltid minst en gång? a) En while-loop b) En for-loop c) En do..while-loop d) En foreach-loop Fråga 18 Vilken typ av loop är enklast att använda med en dictionary? a) En while-loop b) En do..while-loop c) En for-loop d) En foreach-loop Fråga 19 Vilken typ ger dig en räknare som du kan förändra för varje varv i loopen? a) En do..while-loop b) En for-loop c) En foreach-loop d) En while-loop Fråga 20 for (int i = 1; i <= 10; i += 2) { for (int j = -i; j <= -i; j++) { Console.Write((i + j) + " " + (i + j) + " "); } } 3 poäng Vad skriver följande program ut till konsolen? a) 1 2 3 4 5 4 3 2 1 0 b) 0 0 0 0 0 0 0 0 0 0 c) 2 4 6 8 10 12 14 16 18 d) 0 1 2 3 4 5 6 7 8 9 e) 0 1 1 0 1 1 0 1 1 0 f) 1 1 1 1 1 1 1 1 1 1 g) 1 0 1 0 1 0 1 0 1 0 h) 1 2 3 4 5 6 7 8 9 10 Sida 6 av 10

Funktioner/metoder Fråga 21 Vad kallas det när flera funktioner har samma namn men vilken som anropas beror på antal och/eller typ av inparametrar i anropet? a) Detta går inte att göra. b) Overloading c) Underloading d) Namespacing Fråga 22 En funktion måste minst ta emot hur många argument/in-parametrar? a) 3 b) 0 c) 1 d) 2 Fråga 23 En funktion kan returnera olika datatyper. Om den inte ska returnera någonting definierar du den a) som en klass b) private c) med void d) som en statisk metod Fråga 24 Hur många gånger får man lov att anropa samma funktion? a) det beror på hur lång den är b) så många gånger man vill c) högst en gång d) bara en gång per objekt Sida 7 av 10

Del 2, öppna svar Instruktioner: Läs igenom frågorna på följande sidor och svara på dem på separata skrivpapper. Obs! Märk varje pappersark noga med: Ditt namn Xxx Yyy. Frågans nummer C#-tenta, öppen fråga X. Markera även tydligt var svar på olika delfrågor börjar! När du är klar med samtliga öppna frågor (eller inte hinner skriva mer) sidnumrerar du dina skrivna sidor enligt sida X av Y. Detta minimerar risken att något du har skrivit förväxlas eller tappas bort! Fråga 1: I will scratch you! (12 poäng totalt) Du ska skapa en applikation där katter har ben, ben har tassar och tassar har klor. Man ska kunna be ett katts ben att klösa. Benet ska då lyftas, säga till sin tass att sträckas ut, varvid tassen ska säga till alla klor att sträcka ut sig. (Du behöver inte göra något grafiskt här det räcker med konsolmeddelanden där benet, tassen och klorna meddelar vad de gör.) a) Hur löser du detta objektorienterat? Vilken/vilka klasser skapar du? Vilka egenskaper och metoder har klassen/klasserna? Ange även typ för egenskaper och metoder! (4 poäng) b) Löser du problemet med arv eller komposition? Eller bådadera? Förklara och motivera! Visa att du förstår dessa två begrepp och skillnaden mellan dem. (2 poäng) c) Skriv C#-kod för benets klösa-metod, samt de övriga metoder som kommer att anropas/köras när den körs. (6 poäng) Sida 8 av 10

Fråga 2: Adoptive parents (12 poäng totalt) Under delkursen har vi haft lektionsexempel och övningar som gick ut på att kunna hålla reda på släktskapsrelationer mellan olika individer. a) Löser man denna typ av problem med arv eller komposition? Eller bådadera? Förklara och motivera! Visa att du förstår dessa två begrepp och skillnaden mellan dem. (2 poäng) Om en människa är adopterad hur skulle du utöka denna typ av program så att person kan minnas/veta om både sina adoptivföräldrar och sina biologiska föräldrar. Behöver du lägga till nya klasser? Behöver du lägga till egenskaper och/eller metoder till befintliga klass(er)? Förklara tydligt hur du resonerar och löser problemet. (4 poäng) c) Skriv C#-kod som motsvarar din lösning. Utgå gärna från att viss kod redan finns på plats dessförinnan (motsvarande den vi har gått igenom under våra lektioner), men förklara i så fall vilka klass(er), egenskaper och metoder som redan finns, samt vilka du lägger till och skriver egen kod för. (6 poäng) Sida 9 av 10

Fråga 3: Hinnys and mules (12 poäng totalt) En mulåsna ett hästdjur som är en korsning mellan ett åsnesto och en hästhingst, till skillnad från en mula som är en korsning mellan ett häststo och en åsnehingst. Du ska utveckla ett program där man kan skapa objekt som är hästar och åsnor och dessa kan para sig med varandra i valfria kombinationer. Resultatet av en parning kan således bli nya hästar, åsnor, mulåsnor eller mulor (även dessa är objekt) som man i sin tur bör kunna be para sig. Tänk dock på att mulor och mulåsnor är infertila - de kan inte få barn. a) Hur löser du detta objektorienterat? Vilken/vilka klasser skapar du? Vilka egenskaper och metoder har klassen/klasserna? Ange även typ för egenskaper och metoder! (6 poäng) b) Löser du problemet med arv eller komposition? Eller bådadera? Förklara och motivera! Visa att du förstår dessa två begrepp och skillnaden mellan dem. (2 poäng) c) Skriv C#-kod för para-sig metoden, samt eventuella hjälpmetoder eller varianter av denna. (4 poäng) Sida 10 av 10