Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla



Relevanta dokument
Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för:

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

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

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

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla

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

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

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

Föreläsning 3-4 Innehåll

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

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

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

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

Tentamen, EDA501 Programmering M L TM W K V

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

Namn: Personnr: 1 2D1310 Programmeringsteknik i Java för B,V (1p) 13 januari 2001, kl Hjälpmedel: En Javabok. För betyget godkänt krävs at

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

Tentamen, EDAA10 Programmering i Java

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

Tentamen OOP

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

Tentamen i Algoritmer & Datastrukturer i Java

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

Tentamen. Lösningsförslag

Tentamen i Programmering

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

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

Övning Dictionary. Övning 1. Steg 1: På din virtuella maskin, starta Visual Studio.

Tentamen, EDAA20/EDA501 Programmering

Föreläsning REPETITION & EXTENTA

Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER

Objektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ

OOP Tenta

Modern Programmering (2546) Tentamen lördag

Tentamen för TDA540 Objektorienterad Programmering. Institutionen för Datavetenskap CTH HT-17, TDA540. Dag: , Tid:

Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

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

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

Föreläsning 1 & 2 INTRODUKTION

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]

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

DAT043 Objektorienterad Programmering

Institutionen för TENTAMEN CTH VT-15 Datavetenskap TDA540. Tentamen för TDA540 Objektorienterad programmering

Tentamen, EDAA20/EDA501 Programmering

Tentamen , Introduktion till Java, dtaa98, dtea53

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

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

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

Systemvetarutbildningen och dataekonomutbildningen

Arv. Objektorienterad och komponentbaserad programmering

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

Högskolan Dalarna sid 1 av 7 DI-institutionen Hans-Edy Mårtensson Sten Sundin

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Laboration 1 - Grunderna för OOP i Java

"if"-satsen. Inledande programmering med C# (1DV402)

2 b) Bodega bodegan = new Bodega(); double moms = 0.235; String namn = "Vargtass"; System.out.println(namn + " " + moms + bodegan.ändra(moms, namn); S

Tentamen ID1004 Objektorienterad programmering April 7, 2015

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Om att lära sig programmera. Föreläsning 1-2 Innehåll.

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

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

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

Tentamen. Programmeringsmetodik, KV: Java och OOP. 20 januari 2005

TENTAMEN OOP

Instuderingsfrågor, del D

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

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

Föreläsning 6: Metoder och fält (arrays)

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass

Tentamen på kursen DA7351, Programmering , kl Malmö högskola Teknik och samhälle. DA7351, Programmering

Tentamen ID1004 Objektorienterad programmering October 29, 2013

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

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin

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

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Programmering A C# VT Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson

Lösningsförslag till tentamen för TDA540 Objektorienterad Programmering

Föreläsning 9-10 Innehåll

Objektorienterad Programkonstruktion. Föreläsning jan 2016

Tentamen FYTA11 Javaprogrammering

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

Laboration 13, Arrayer och objekt

SMD 134 Objektorienterad programmering

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

Tentamen i Programmeringsteknik I

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.

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12

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

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

Tentamen i Grundläggande programmering STS, åk

Malmö högskola 2008/2009 CTS

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

2 b) Följande finns definierat: import java.awt.*; public class Uppgift1b public static void main(string[] mupp) Color färg = Color.blue; Bil[] bilar

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

Objektorienterad Systemutveckling 1 (7,5 hp)

OOP Omtenta

Transkript:

Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla (Ifylles av student) (Ifylles av student) Tentamensdatum: 2015-03-27 Tid: 09:00 13:00 Hjälpmedel: Inga hjälpmedel. Totalt antal poäng på tentamen: 46 poäng För att få respektive betyg krävs: Preliminärt: G >= 23 poäng, VG >= 34 poäng Allmänna anvisningar: OBS!! Den som skriver en tentamen måste visa att han/hon behärskar problemområdet. Många gånger är det möjligt att exemplifiera och illustrera. I dessa fall är det oftast det bästa sättet - ibland även det enda sättet - och kan i högsta grad påverka poängsättningen vid bedömningen av svaret. Om du tycker att uppgifterna i tentamenstexten är ofullständiga skall du göra egna antaganden för de uppgifter som du saknar. OBS! Redovisa dina egna antaganden. Skriv in dina lösningar direkt i tentamenshäftet. Om du behöver mer utrymme än vad som finns i häftet måste du tydligt ange på tilläggsbladen vilken uppgift de tillhör. Skriv namn och personnummer på varje inlämnat blad. Skriv tydligt på endast en sida av pappersarket. Påbörja nytt blad för varje ny uppgift. Lämna uppgifterna i nummerordning. Markera (på omslagsbladet) vilka uppgifter du lämnat lösning på Svårlästa lösningar kan inte bedömas! Glöm inte att läsa frågorna mycket noga! Rättningstiden är normalt tjugo arbetsdagar, det vill säga resultatet kommer att anslås senast fredag den 24 april 2015 Viktigt! Glöm inte att skriva namn och personnummer på alla blad du lämnar in. Lycka till! Ansvarig lärare: Telefonnummer: Anna Palmquist och Petter Dessne

Högskolan i Borås 2015-03-27 sida 2 (av 16) Uppgift 1 (15 p) Ge korta men tydliga svar på följande frågor: a). Var i arbetsminnet/primärminnet lagras värdet för variabler av värdetyp? (1p) b) Vilket nyckelord (keyword) gör så att ett objekt skapas i datorns arbetsminne? (1p) c) Skriv en typdefinition för en sammansatt strukturtyp (av referenstyp) med namnet Anställd. Posten skall innehålla namnet på den anställde, anställningsnummer, avdelning samt befattning. Använd lämpliga datatyper. (2p) d) Givet att en vektor deklareras enligt följande: double[, ]försäljning = new double[8, 10]; Hur många kolumner har vektorn? (1p) Hur många element har vektorn? (1p)

Högskolan i Borås 2015-03-27 sida 3 (av 16) e) Givet följande kodrader: int counter = 0; while (counter < 100) Console.WriteLine(counter); counter++; Vilket är det första värdet som kommer att skrivas ut och vilket är det värde som kommer att skrivas ut allra sist? (2p) f) Givet att en vektor deklarerats som int anarray [1000], vilket av nedanstående metodanrop är ett giltigt anrop till metoden DisplayContents(), när man vill skicka hela vektorn som ett argument. (1p) 1) DisplayContents(int anarray[1000]); 2) DisplayContents(anArray[1000]); 3) DispalyContents(anArray[]); 4) DisplayContents(anArray); g) Utforma en metod som skriver ut siffrorna 1-10 med hjälp av en while-loop. (4 p)

Högskolan i Borås 2015-03-27 sida 4 (av 16) h) Fyll i nedanstående de saknade orden som alla har med objektorientering att göra. (Termerna är hämtade från föreläsningen i objektorientering.) Ser du inte med en gång vad det ska vara så gissa! (2p) Ett är en instans (ett exemplar) av en klass. En ärver attribut, properties och metoder från sin basklass. attribut och metoder kan kommas åt genom att skapa en instans och använda punktoperatorn, t.ex. dog.printdog( Rufus, Tax, true); För att kunna skriva metoder i Program-klassen används nyckelordet.

Högskolan i Borås 2015-03-27 sida 5 (av 16) Uppgift 2 (9 p) I källkoden nedan har ett antal fel smugit sig in. Din uppgift är att ringa in de felaktiga koddelarna och numrera ställena. Skriv sedan i den heldragna rutan på nästa sida motivering/förklaring till respektive fel. Markerade fel utan korrekt motivering/förklaring ger inga poäng. namespace T150327_Felsök class Program static void Meny() Console.WriteLine("\n\n***** MENY *****"); Console.WriteLine("################"); Console.WriteLine(" 1 beräkna medelvärde"); Console.WriteLine(" 2 beräkna maxvärde"); Console.WriteLine(" 0 AVSLUTA \n"); static int Las_in_alternativ() int svar; Console.WriteLine("\n Ange alternativ: "); svar = Console.ReadLine(); static double Medelvarde() double tal1, tal2; Console.WriteLine(" Ange två tal: "); tal1 = int.parse(console.readline()); tal2 = int.parse(console.readline()); Console.WriteLine(); return (tal1 + tal2) / 2.0; static double Max(tal1, tal2) if (tal1 > tal2) return tal1 else return tal2; //****************************************************** static void main(string[] args) double tal1, tal2, resultat; int svar = 1; while (svar!= 0) meny(); svar = Las_in_alternativ(); Console.Clear(); if (svar = = 1) resultat = Medelvarde(tal1, tal2); Console.WriteLine("Medelvarde : " + resultat); else if (svar = = 2) Console.WriteLine(" Ange två tal: "); tal1 = int.parse(console.readline()); tal2 = int.parse(console.readline()); resultat = Max(tal1, tal2); Console.WriteLine("\nMaxvarde : " + resultat); else if (svar!= 0); Console.WriteLine("\n Felaktigt val! \n"); Console.WriteLine( HEJ DÅ );

Högskolan i Borås 2015-03-27 sida 6 (av 16) Motiveringar/förklaringar till uppgift 2: (1 poäng per korrekt motivering.)

Högskolan i Borås 2015-03-27 sida 7 (av 16) Uppgift 3 (6 p) Förutsättningar Golfklubben Marks GK har planer på att ersätta sina manuella resultatkort med en enkel konsolapplikation för handdator. Med hjälp av applikationen vill man kunna hålla reda på en spelomgångs samtliga spelare och antal slag per hål. För att hålla ordning på spelarna har man skapat en sammansatt typ, Spelare, som håller reda på hur många slag respektive spelare har slagit under en spelomgång. namespace MarksGK public class Spelare public string namn; public string klubb; public int[] resultat; //Ett element/fack per hål. Inläsning från fil Din uppgift är att komplettera koden till metoden Ladda, som skall läsa in innehållet från filen spelare.txt till vektorn spelare. Vid inläsningen, från fil, skapar du således en Spelare-post per rad, varefter den, när posten initierats korrekt, skall läggas till vektorn spelare via metoden LäggTillSpelare. Komplettera koden i den heldragna rutan på nästa sida.

Högskolan i Borås 2015-03-27 sida 8 (av 16) public static void Ladda() StreamReader infil = new StreamReader("spelare.txt"); string rad; while ((rad = infil.readline())!= null) string[] fält = rad.split('\t'); LäggTillSpelare(m); infil.close();

Högskolan i Borås 2015-03-27 sida 9 (av 16) Uppgift 4 (6 p) Redogör för hur man utökar en vektor med en post. Du kan välja vilken datatyp du vill för vektorn. Skriv vad algoritmen för att utöka en vektor gör, alltså ungefär så här: Rita gärna! 1. Från början skickas den gamla vektorn in i metoden. 2. Därefter Skriv också lämplig programkod för detta (alltså kod som gör det du skriver ovan).

Högskolan i Borås 2015-03-27 sida 10 (av 16) Uppgift 5 (10 p) Här nedan ser du ett fullständigt program för att skapa hemliga koder till FBI. Tyvärr har programmeraren (Penelope) varit mycket slarvig med både kommentarer och namngivning och därför är det upp till dig att förstå vad koden gör. Din uppgift består i att 1) skriva vad varje metod i Program.cs gör och hur den arbetar och att 2) skriva ned vad utskriften från programmet blir, när man skriver in följande värden: XXX Laban yyy zzz Skriv dina svar i den heldragna rutan på sidan 12. using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SecretKey class Program static void Main(string[] args) Console.WriteLine("*****************************************"); Console.WriteLine("*****************************************"); Console.WriteLine("******* WELCOME TO THE FEDS :) ********"); Console.WriteLine("*****************************************"); Console.WriteLine("*****************************************"); Console.WriteLine(); Console.WriteLine("Enter your password."); string pw = ""; bool ok = false; while (!ok) pw = Console.ReadLine().ToUpper(); if ((pw == "XXX") (pw == "YYY") (pw == "ZZZ")) ok = true; if (!ok) Console.WriteLine(); Console.WriteLine("Not a valid password."); Console.WriteLine("Enter your password."); string[] arr = Method1(pw); int keycode = Method3(arr); Console.WriteLine("The keycode is " + keycode); Console.ReadLine();

Högskolan i Borås 2015-03-27 sida 11 (av 16) private static string[] Method1(string selection) string[] arr = "", "", "" ; PasswordPhrase pwp = new PasswordPhrase(); if (selection == "XXX") arr = Method2(pwp.arr1); if (selection == "YYY") arr = Method2(pwp.arr2); if (selection == "ZZZ") arr = Method2(pwp.arr3); return arr; private static string[] Method2(string[] verysecretphrase) string[] arr = "", "", "" ; for (int i = 0; i < verysecretphrase.length; i++) bool found = false; if (verysecretphrase[i].contains("f")) found = true; if (verysecretphrase[i].contains("b")) found = true; if (verysecretphrase[i].contains("i")) found = true; if (found == true) arr[i] = verysecretphrase[i]; return arr; private static int Method3(string[] phrase) int sum = 0; for (int i = 0; i < phrase.length; i++) if (phrase[i]!= "") sum += phrase[i].length; return sum * 42; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace SecretKey public class PasswordPhrase public string[] arr1 = "We", "fight", "crime" ; public string[] arr2 = "Really", "cool", "badge" ; public string[] arr3 = "Don't", "be", "evil" ;

Högskolan i Borås 2015-03-27 sida 12 (av 16) Svar till uppgift 5: Här är tentamensuppgifterna slut.

Högskolan i Borås 2015-03-27 sida 13 (av 16) Sammanställning flödesdiagram Utökning av vektor Minskning av vektor

Högskolan i Borås 2015-03-27 sida 14 (av 16) Swap BubbleSort

Högskolan i Borås 2015-03-27 sida 15 (av 16) ExchangeSort Linjär sökning

Högskolan i Borås 2015-03-27 sida 16 (av 16) Binär sökning