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

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

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

Tentamen i Grundläggande programmering STS, åk

Tentamen i Grundläggande programmering STS, åk

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.

OOP Tentamen

TENTAMEN: Objektorienterad programmering. Läs detta! Skriv din tentamenskod på varje blad (så att vi inte slarvar bort dem).

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

Laboration 1 - Grunderna för OOP i Java

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 programmering, STS 1, VT Sven Sandberg. Föreläsning 14

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

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 OOP

Tentamen i Programmering

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

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

OOP Omtenta

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

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

OOP Tentamen

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

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

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

JAVA Mer om klasser och objektorientering

Dugga i Grundläggande programmering STS, åk

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]

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.

Lösningsförslag tentamen FYTA11 Java

Tentamen i Programmeringsteknik I

Tentamen i EDA011 Programmeringsteknik för F, E, I, π och N

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 MN

TENTAMEN OOP

TENTAMEN OOP

OOP Tenta

Tentamen i Programmeringsteknik I

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

a. Vilka av följande påståenden är riktiga? Observera att felaktigt valda påståenden ger poängavdrag. (4p)

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

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

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

Design av en klass BankAccount som representerar ett bankkonto

OOP Omtenta

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

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

Tentamen i Programmeringsteknik I

OOP Tentamen

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

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

LyckaTill önskar Anna

Tentamen i Programmeringsteknik MN Del I. Uppgift 1

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.

Tentamen Programmeringsteknik II Skrivtid: Hjälpmedel: Java-bok (vilken som helst) Skriv läsligt! Använd inte rödpenna!

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

Klasser och objekt. Henrik Johansson. August 20, 2008

DELPROV 1 I DATAVETENSKAP

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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

Uppgiften är att beskriva en kvadrat i ett Java program. En första version av programmet skulle kunna se ut så här:

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

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

OOP Exempel Tentamen 2007

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

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.

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.

Tentamen OOP

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: Tid: kl

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

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

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

Tentamen, EDAA10 Programmering i Java

Institutionen för TENTAMEN CTH VT-15 Datavetenskap TDA540. Tentamen för TDA540 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

DEL 1 För att få godkänt på tentan (betyg 3) måste du lösa minst fem av sju uppgifter i denna del.

Tentamen TEN1 HI

Institutionen för TENTAMEN CTH HT-15 Datavetenskap TDA540. Tentamen för TDA540 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

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Tentamen i Algoritmer & Datastrukturer i Java

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

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

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

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

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

LÖSNINGSFÖRSLAG TENTAMEN

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

Administrativt. Programmeringsteknik för I1. Dagens program. Objektorienterad programmering

Vad är ett objekt? Tillstånd och beteende. Vad är ett objekt? Exempel

TENTAMEN. Kurs: Applikationsutveckling i Java 5DV135. Ansvarig lärare: Johan Eliasson. HT12 Datum: Tid: kl

Sortering. Om du följt dessa steg korrekt så ska böckerna nu vara sorterade.

Institutionen för TENTAMEN CTH HT-14 Datavetenskap TDA540. Tentamen för TDA540 Objektorienterad programmering

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

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

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.

Tentamen Datastrukturer (DAT037)

Transkript:

Tentamen i Grundläggande programmering STS, åk 1 fredag 2002-08-23 Skrivtid: 09.00 14.00 Hjälpmedel: Inga Lärare: Anders Berglund. Anders besöker tentan vid två tillfällen: cirka kl. 10.30 samt cirka kl. 12.00. Observera: Programkod ska skrivas enligt god programmeringssed för Java och objektorienterad programmering. Uppgifterna är inte ordnade efter svårighetsgrad. Läs igenom hela tentan först. Kom ihåg att fylla i försättsbladet ordentligt. Om du är osäker på någon fråga eller uppfattar någon uppgift som oklar, gör ett antagande som du motiverar och förklarar väl. På de uppgifter där du ska skriva programkod, kan du också skriva en förklaring, om du inte är säker på att din lösning är riktig. En sådan ger visserligen inga poäng, men kan hjälpa till vid rättningen att förstå tankarna bakom en lösning Skriv programkod rimligt indenterad och med bra variabelnamn. På så sätt underlättas rättningen. 50% av tentans totala poängantal garanterar betyget godkänt Skriv endast en uppgift per blad och skriv bara på ena sidan av papperet, dvs. ett nytt blad för varje uppgiftsnummer, medan deluppgifter (a, b, c etc.) får skrivas på samma blad. Fyll i försättsbladet ordentligt! Skriv namn på alla papper. Referera inte mellan olika svar. Lycka till!

FÖRSÄTTSBLAD Grundläggande programmering, STS, 23 aug 2002 Denna sida ska ifylld placeras först bland de papper du lämnar in Uppgift 1 2 3 4 5 6 7 bonus Besvarad ange i förekommande fall vilka deluppgifter du har löst ifylles av institutionen Namnteckning: Namn: Personnummer:

1. Ord, bara ord (3p) Förklara kortfattat med precist följande termer: a) syntax (i samband med programmeringsspråk) b) semantik (i samband med programmeringsspråk) c) Applet (i samband med Java) d) objekt (i samband med programmeringsspråk) e) klass (i samband med programmeringsspråk) f) algoritm (i samband med programmering) 2. New (2p) Förklara i detalj funktionen hos programspråkskonstruktionen new i Java. Ditt svar bör både redovisa "vad konstruktionen gör" och varför den behövs. 3. Inkapsling (2p) Vad menas med begreppet inkapsling i samband med objekt-orienterad programmering? Varför är det viktigt? 4. 1x2 (10p) En stryktipsrad består av 13 tecken, där tecknet är något av tecknen 1, X eller 2. För att datorisera din kontroll av tipsrader vill du nu skriva en kontrollklass som kan undersöka hur många rätt du har på dina tipsrader. Din uppgift är att skapa en klass Tips som beskriver veckans korrekta tipsrad. Du ska sedan kunna ge dina rader (en i taget) till ett objekt av denna klass och få reda på hur många rätt du hade. Din klass skall ha rätt rad som en instansvariabel, det ska t. ex. vara en array av tecken eller en sträng. Klassen ska ha en konstruktor som kan användas för att ange veckans rätta rad och en metod som givet din rad, returnerar antalet rätt som du hade. Ett huvudprogram kan se ut på detta sätt: public static void main(string [] args) { Tips t = new Tips( rätt rad här ); // skapa ett objekt med rätt rad int r = t.kolla( min rad här ); // kolla min rad. Hur många rätt? Du skall skriva hela klassen och också ha ett huvudprogram (som kan likna den main som finns ovan i uppgiftstexten) som visar att din klass fungerar. Huvudprogrammet behöver inte ha texter som hjälper användaren, vara genomtänkt etc., utan är enbart tänkt att kunna fungera som ett provkörningsexempel.

5. OOP (3p) Förklara kortfattat vad som menas med objektorienterad programmering (OOP). Din förklaring ska bl a beröra varför OOP används. 6. Internist1 (1p) Under föreläsningen i dataetik presenterades ett medicinskt expertsystem kallat INTENRIST1. Detta skulle kunna påverka vården negativt. Hur då? Ge din förklaring i högst fyra meningar, gärna kortare 7. Sortera (8 + 2p) I en array (synonym: ett fält) finns femton naturliga tal (dvs. heltal som är noll eller större) lagrade i en slumpvis ordning. Samma tal kan förekomma på flera positioner i arrayen. Du får anta att varje tal ryms i en variabel av typen int. På de båda deluppgifterna nedan gäller att programkoden ska redovisas. Kommentarer eller en förklaring till programmets funktion ger inga poäng, men kan underlätta rättningen om programmet är delaktigt. a) Din uppgift är nu att skriva en funktion/metod som sorterar dessa tal. Eventuella dubbletter ska finnas kvar i den nya arrayen. Du väljer själv om den ursprungliga arrayen ska modifieras eller om du vill skapa en ny array. Du avgör själv hur sorteringen ska gå till och behöver inte fundera på om din lösning är effektiv. b) Skriv ett litet huvudprogram, som kan användas för att demonstrera att den funktion du skrev i a-uppgiften är riktig. Huvudprogrammet behöver inte ha texter som hjälper användaren, vara genomtänkt etc., utan är enbart tänkt att kunna fungera som ett provkörningsexempel. 8. Första jobbet (8p) Du har efter din utbildning fått arbete på ett bokförlag. Där ska du utveckla ett program för att hantera sakregister i böcker. Då du har läst grundläggande programmering, väljer du naturligtvis en objektorienterad lösning. Du ska i denna uppgift redovisa den eller de klasser du väljer att arbeta med. Ett register består av ett antal informationsenheter. Varje informationsenhet innehåller ett uppslagsord och ett antal sidnummer. Du får anta att inget uppslagsord refererar till mer än 10 sidnummer. Ett register kan däremot (för tjocka böcker) innehålla riktigt många informationsenheter. För den eller de klasser du skapar måste du ange ett klasshuvud med klassens namn och eventuella attribut (såsom public, private), instansvariabler samt eventuella klassvariabler. Välj dessutom sex metoder (totalt, även om du väljer att skapa flera klasser), som du tycker är

grundläggande och representativa för din uppgiftslösning. För dessa metoder ska du ange metodhuvudet - du behöver m a o inte skriva den exekverbara koden. Klasshuvudet och metoderna ska redovisas i form av Javakod. Kommentarer eller en förklaring ger inga poäng, men kan underlätta rättningen om programmet är felaktigt. 9. Fin utmatning (2 + 2p) Programmet nedan (som tyvärr inte är kommenterat) fungerar inte. Det saknas en programrad. a) Förklara vad programmet är tänkt att göra. Det fel som programmet har gör det knappast svårare att förstå. b) Skriv in den felande programraden. Om du inte minns syntaxen, kan du förklara vad programraden ska ha för funktion (var detaljerad) utan att få poängavdrag. Markera exakt i programkoden var den saknade raden ska skrivas in. Besvara denna deluppgift (b-uppgiften enbart) på programbladet sist i tentan. Riv ut bladet ur tentan, skriv namn på bladet och lämna in det tillsammans med dina övriga svarssidor. Ledning: Det är inte en import-sats som saknas.

Namn: Personnummer: Programblad, lämnas i tillsammans med tentan, för uppgift 9 b). import java.awt.*; import extra.*; public class Meddelande extends ExtendedFrame { private final int line = 15; private final int letter = 5; public Meddelande() { setbackground(color.cyan); setforeground(color.black); public void paint(graphics g) { g.drawrect(2*letter, 2*line, 33*letter, 6*line); g.drawstring("warning", 9*letter, 4*line); g.drawstring("possible virus detected", 4*letter, 5*line); g.drawstring("reboot and run virus", 5*letter, 6*line); g.drawstring("remover software", 7*letter, 7*line); public static void main (String [] arg) { Meddelande f = new Meddelande(); f.settitle("draw Warning"); f.setsize(250, 150);