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

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

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 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

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

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

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

Föreläsning 3-4 Innehåll

Tentamen i Programmering

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

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

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

skriftlig tentamen 21SH1A Administratörprogrammet

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

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

TDDC77 Objektorienterad Programmering

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]

Tentamen B1AMO1 Administratörsprogrammet HT2014

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp)

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

Tentamen OOP

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

Tentamen, EDAA10 Programmering i Java

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

Forskningsmetoder i offentlig förvaltning

OOP Tentamen

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.

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

Tentamen B1AMO1 Administratörsprogrammet HT2014

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

Forskningsmetoder i offentlig förvaltning

OOP Tenta

PROGRAMMERING-Java Omtentamina

Tentamen, EDA501 Programmering M L TM W K V

SYST14h, Systemvetarutbildningen. Tentamensdatum: Tid: Tentamenstiden är tre timmar, 09:00 12:00. för betyget VG krävs minst 53 poäng

Föreläsning REPETITION & EXTENTA

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

Arrayer (vektorer) Murach s: kap Elektronikcentrum i Svängsta AB

Kvalitets- och miljöstyrning/ Kvalitet och ledningssystem

Tentamen. Grundläggande programmering i Java A 5p, DTAA

Tentamen ges för: Tentamensdatum: Tid:

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 Algoritmer & Datastrukturer i Java

Tentamensdatum: Tid: Tentamenstiden är fyra timmar, 09:00 13:00

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

TENTAMEN OOP

Dugga i Grundläggande programmering STS, åk

Tentamensdatum: Tid: Tentamenstiden är fyra timmar, 09:00 13:00. för betyget VG krävs minst 30 poäng

Projektteknik Tentamen TT141B. Skrivmaterial och eventuella språklexikon

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

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

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

Laboration 1 - Grunderna för OOP i Java

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

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

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

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

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

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

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

Laboration 13, Arrayer och objekt

OBS!!! Studenter som läste kursen läsåret 2017 och tidigare år svarar på frågorna som finns på de två sista sidorna.

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

Provmoment: Tentamen Ladokkod: 41F07A Tentamen ges för: TGITT17h, IT-tekniker

PROGRAMMERING-JAVA TENTAMINA

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

Provmoment: Tentamen 6,5 hp Ladokkod: A144TG Tentamen ges för: TGMAI17h, Maskiningenjör - Produktutveckling. Tentamensdatum: 28 maj 2018 Tid: 9-13

TDIU01 - Programmering i C++, grundkurs

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp)

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

Tentamen, EDAA20/EDA501 Programmering

Objektorienterad Programmering (TDDC77)

Grundläggande informationssäkerhet 7,5 högskolepoäng

Instuderingsfrågor, del D

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.

Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.

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

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

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

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

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen, EDAA20/EDA501 Programmering

Administratörprogrammet

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

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

Tentamen i Programmeringsteknik I

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

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

4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &

Statistisk försöksplanering

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp)

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

Modern Programmering (2546) Tentamen lördag

OOP Tentamen

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Tentamenskod: Tentamensdatum: Tid: 14:00-19:00. Inga hjälpmedel är tillåtna

Rättningstiden är i normalfall 15 arbetsdagar, annars är det detta datum som gäller:

Transkript:

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 TentamensKod: Tentamensdatum: 180322 Tid: 09.00 13.00 Hjälpmedel: Inga hjälpmedel Totalt antal poäng på tentamen: 43 poäng För att få respektive betyg krävs: G >= 21 poäng, VG >= 32 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 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! Nästkommande tentamenstillfälle: 180509 Rättningstiden är i normalfall 15 arbetsdagar, till detta tillkommer upp till 5 arbetsdagar för administration, annars är det detta datum som gäller: Viktigt! Glöm inte att skriva Tentamenskod på alla blad du lämnar in. Lycka till! Ansvarig lärare: Telefonnummer:

Högskolan i Borås 2018-03-22 sida 2 (av 17) Uppgift 1 (14 p) Ge korta men tydliga svar på följande frågor: a) Vilket av nedanstående alternativ är namnet på en namnrymd som behövs för konsolapplikationer? (1p) 1) using 2) Console 3) System.Console 4) Write 5) System b) Vilken typ av loop är det bästa alternativet om vill att loopen ska iterera mints en gång? (1p) 1) foreach 2) for 3) while 4) do while 5) ingen av ovanstående c) Vilket värde kommer variabeln inputvalue att ha efter exekvering av följande kodrader? (1p) int inputvalue = 0; if (inputvalue > 5) inputvalue = inputvalue + 5; else if (inputvalue > 2) inputvalue = inputvalue + 10; else inputvalue = inputvalue + 15;

Högskolan i Borås 2018-03-22 sida 3 (av 17) d) Använd nedanstående deklaration: int [] vector = {34,55,67,89,99}; Vad blir resultatet av följande utskriftssatser? (2p) - Console.WriteLine(vektor.Length); - Console.WriteLine(vektor[2]); e) Skapa en klass Fastighet för att hålla reda på fastighetsobjekt. Varje fastighetsobjekt ska ha en gatuadress, ett byggnadsår, ett inköpspris, en månadskostnad och en hyresinkomst. Ange lämpliga datatyper för attributen. (2p) f) Ge ett exempel på vad som kan orsaka ett IndexOutOfRangeException undantag? (2p)

Högskolan i Borås 2018-03-22 sida 4 (av 17) g) Utforma en for-loop som skriver ut vart tionde tal med början på 10 och som fortsätter till och med 100. (3p) h) Fyll i orden som saknas! (2p) a) En vanlig hund har namn och ras, medan en arbetshund har namn, ras och arbetsområde. En arbetshund är alltså en hund, men den har också några egna egenskaper. Inom OO är detta exempel på.. b) Ett objekt är en.. av en klass.

Högskolan i Borås 2018-03-22 sida 5 (av 17) Uppgift 2 (8 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 din motivering till respektive fel. 1 poäng per korrekt motiverat fel. Markerade fel utan korrekt motivering ger inga poäng. using System; namespace T180322_Upp_2 { class Error { static void Main() { int VAL1; string avalue; val1 = GETVal1(aValue); Console.WriteLine("value entered, plus one is {0}", ++val1); Console.ReadKey(); } static GETVal1() { Console.Write("Enter a value: "); avalue = Console.readline(); val1 = int.parse(avalue); return int VAL1; } } }

Högskolan i Borås 2018-03-22 sida 6 (av 17) Motiveringar/förklaringar till felen i koden på föregående sida:

Högskolan i Borås 2018-03-22 sida 7 (av 17) Uppgift 3 (4 p) Felhantering Din uppgift här är att skriva om koden för metoden Main till att hantera fel genom att fånga ett undantag. static void Main(string[] args) { Console.WriteLine("Mata in ett heltal: "); string s = Console.ReadLine(); int i; i = int.parse(s); } static void Main(string[] args) { }

Högskolan i Borås 2018-03-22 sida 8 (av 17) Uppgift 4 (5 p) Några vanliga typer av sökalgoritmer är linjärsökning och binärsökning. De används på helt olika sätt och eftersom de har väldigt olika förutsättningar används de därför också i helt olika sammanhang. Beskriv översiktligt hur de fungerar och ge ett exempel för respektive algoritm på när de används. Beskriv gärna också genom att rita. Du behöver inte skriva någon kod eller rita något flödesdiagram.

Högskolan i Borås 2018-03-22 sida 9 (av 17) Uppgift 5 (12 p) Här nedan ser du ett enkelt register för att registrera fortkörningar. Först anges maxhastigheten för den sträcka som ska studeras, t.ex. 70 eller 90. Därefter skrivs registreringsnummer och hastighet in för varje bil som passerar. Programmet kan lista alla fordon som passerat och även beräkna medelhastigheten för dem som har kört för fort. Din uppgift består i att bygga delar av programmet, nämligen: 1. Skapa och skriva all kod för loopen i Main-metoden 2. Skapa och skriva all kod för metoden BeräknaMedelhastighet, som alltså räknar ut snitthastigheten för dem som kört för fort 3. Skapa och skriva all kod för metoden BeräknaAntal, som tar fram antal personer som har kört för fort. (Skälet till att denna beräkning ligger som en egen metod är att den anropas från flera håll, i det här fallet dels varje gång programloopen gås igenom och dels från metoden BeräknaMedelhastighet.) Nedan beskrivs vad de olika metoderna ska göra. Att notera: Programmet innehåller en vektor (array) kallad registreringar, som är en global variabel i klassen Program, det vill säga den nås från alla metoder i klassen (så du behöver inte skicka runt den mellan metoderna). Vektorn innehåller ett antal objekt av typen Registrering. En registrering innehåller i sin tur ett regnr (string) och en hastighet (double). Programfilen innehåller också en variabel kallad hastighetsgräns, som även den nås av alla metoder i klassen. Alla metoder ligger i klassen Program. Därför behöver du ange nyckelordet static framför metodnamnen. Du behöver inte kommentera din kod. Början av programkoden syns nedan (och är med för att visa de globala variablerna). using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Fortkörningsregistret { class Program { static Registrering[] registreringar = new Registrering[0]; static int hastighetsgräns = 0;

Högskolan i Borås 2018-03-22 sida 10 (av 17) Loopen i Mainmetoden Loopen ska, precis som i era projekt, anropa olika metoder: NyRegistrering, BeräknaMedelhastighet och BeräknaAntal. BeräknaAntal är den enda metod som tar emot eller returnerar några värden. Om man trycker A så ska man gå ur loopen (därmed avslutas programmet). För varje gång man går igenom listan ska det skrivas ut hur många som har kört för fort. Därför ska du anropa metoden BeräknaAntal i slutet av loopen. Se även bilden nedan! Här visas först ett exempel på när en registrering läggs till och sedan beräknas hur många som kört för fort. (Du behöver alltså bara skriva koden för själva loopen, det vill säga där det står Tryck N för att ) Metoden BeräknaAntal Metoden kontrollerar hur många resultat i listan som överskrider maxgränsen, t.ex. 70. Antalet fortkörningar returneras. Metoden BeräknaMedelhastighet Först anropas metoden BeräknaAntal för att hitta antalet fortkörare (detta hade också kunnat göras med en räknare inne i denna metod). Ifall ingen har kört för fort så skriv ut ett meddelande (se nästa rubrik). Avsluta sedan metoden, annars skulle den krascha (när du försöker dela med noll). Beräkna sedan medelhastigheten för dem som kört för fort och skriv ut ett meddelande, som bilden visar, på nästa sida

Högskolan i Borås 2018-03-22 sida 11 (av 17) Om listan är tom Om listan är tom så ges ett meddelande från BeräknaMedelhastighet. I bilden nedan ser du vad som händer om man först trycker M (för att beräkna medelhastigheten) om listan är tom.

Högskolan i Borås 2018-03-22 sida 12 (av 17) Svar fråga 5

Högskolan i Borås 2018-03-22 sida 13 (av 17) Här är tentamensuppgifterna slut.

Högskolan i Borås 2018-03-22 sida 14 (av 17) Sammanställning flödesdiagram Utökning av vektor Minskning av vektor

Högskolan i Borås 2018-03-22 sida 15 (av 17) Swap BubbleSort

Högskolan i Borås 2018-03-22 sida 16 (av 17) ExchangeSort Linjär sökning