Tentamen i Grundläggande programmering STS, åk

Relevanta dokument
Tentamen i Grundläggande programmering STS, åk

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 1 fredag

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 ä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.

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

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

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

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

OOP Tentamen

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 vakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Tentamen i Programmeringsteknik I

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

Laboration 1 - Grunderna för OOP i Java

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

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

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

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

TENTAMEN OOP

LyckaTill önskar Anna

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

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

Tentamen i Programmering

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

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

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 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

OOP Tentamen

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

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

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

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

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

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.

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

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

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

DAT043 Objektorienterad Programmering

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

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

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.

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

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

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

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

Laboration 3, uppgift En klass för en räknare

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

TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P

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

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

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, EDAA10 Programmering i Java

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

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

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

Dugga i Grundläggande programmering STS, åk

OOP Omtenta

Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.

Objektorienterad programmering i Java

Kort om klasser och objekt En introduktion till GUI-programmering 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

Klasser & klassvariabler Metodanrop och lokala variabler Objekt och instansvariabler

TENTAMEN OOP

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Laboration 13, Arrayer och objekt

Tentamen i Algoritmer & Datastrukturer i Java

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

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

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

TENTAMEN OOP

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

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

DELPROV 1 I DATAVETENSKAP

PROGRAMMERINGSTEKNIK TIN212

Tentamen i Programmeringsteknik MN

Föreläsning 8 Programmeringsteknik och Matlab 2D1312/2D1305. Klass Object, instans av klass public/private Klassvariabler och klassmetoder

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

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

Subklasser och arv Inledning till grafik (JFrame och JPanel). Något om interface. Objektorienterad programvaruutveckling GU (DIT011) Subklasser

För alla uppgifter på tentan gäller: Man får använda både standard-c++ (som till exempel har pekare som anges med * och objekt som skapas med new) och

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

Del A (obligatorisk för alla)

Tentamen OOP

TENTAMEN I DATAVETENSKAP

Modern Programmering (2546) Tentamen lördag

Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)

Tentamen i Programmeringsteknik I, ES,

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

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

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).

INFORMATIK - MED SYSTEMVETENSKAPLIG INRIKTNING, GRK/A (1-30 HP)

Tentamen. DD2385 Programutvecklingsteknik vt Fredagen den 5 juni 2009 kl Inga hjälpmedel utom penna, sudd och linjal

Transkript:

Tentamen i Grundläggande programmering STS, åk 1 2004-05-24 Skrivtid: 14.00-19.00 Hjälpmedel: Inga Lärare: Anders Berglund. Anders besöker tentan cirka kl. 15.00 samt cirka kl 16.45. 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, 24 maj 2004 Denna sida ska ifylld placeras först bland de papper du lämnar in Uppgift 1 2 3 4 5 6 7 8 bonus Besvarad. Ange i förekommande fall vilka deluppgifter du har löst ifylles av institutionen Poäng (ifylles av institutionen) Namnteckning: Namn: Personnummer:

1. Ord, bara ord (0,5 + 0,5) Förklara kortfattat men precist följande termer: a) syntax (i samband med programmeringsspråk) b) semantik (i samband med programmeringsspråk) 2. Mer ord (2 + 2+ 1) Förklara termerna klass, objekt och arv (2 + 2 + 1 p respektive). Det ska tydligt framgå vad skillnader och eventuella likheter mellan de olika termerna är. Ge gärna flera olika förklaringar till de två första termerna. Ledning: Exempelvis kan stol kan förklaras på många sätt (Här tre olika förklaringar): Någonting att sitta på. En del av ett möblemang. Någonting som är gjort av trä. 3. Ännu mera ord (2) Beskriv skillnaden mellan instansvariabler och klassvariabler. Ge gärna ett kortfattat exempel, antingen i ord eller i Javakod som illustrerar användningen av de två begreppen. 4. Näststörst (6) Studera nedanstående program: import extra.*; public class TabellKlass { private int[] mintabell = new int[100]; public void in() { Std.out.println("Ge ett antal tal. Avsluta med 0."); int tp = Std.in.readInt(); int index = 0; while (tp!=0) { mintabell[index] = tp; index++; Std.out.println("Ge nästa tal"); tp = Std.in.readInt(); Std.in.skipLine(); public void skriv() { for (int i = 0; mintabell[i]!= 0; i++) Std.out.print(minTabell[i] + " ");

public int näststörst() {... public static void main(string[] args) { TabellKlass mittobjekt = new TabellKlass(); Std.out.println("Ge minst tre olika tal. Avsluta med 0."); mittobjekt.in(); Std.out.println("Talet " + mittobjekt.näststörst() + " är näst störst"); En körning av programmet kan se ut på följande sätt: Ge minst tre olika tal. Avsluta med 0. 3 4 6 2 0 Talet 4 är näst störst. Din uppgift är nu att skriva metoden int näststörst(), som när den anropas returnerar det näst största talet i arrayen. Du får anta att användaren matar in tal till arrayen så att den innehåller minst tre positiva tal (ej 0), att alla tal är olika samt att 0 är lagrat sist (0 räknas inte blad de tre talen). Du får om du vill skriva ytterligare metoder eller lägga till fler variabler. Dock får du inte förändra den array som är lagrad i mittobjekt. Det sistnämnda villkoret innebär att flera olika anrop av skriv(), oavsett var i programmet de sker, sak ge samma resultat. Ledning För att hitta det näst största talet kan det vara bra att känna till det största. 5. Idrott (6) I en möjlig idrott, konstskidning (som påminner om konståkning på skridskor), finns det i varje tävling både tävlingsdeltagare och domare. Domarna kan ge mellan 1 och 5 poäng och den tävlingsdeltagande som får högst poäng i snitt vinner. Vid lika antal poäng avgör lotten. För tävlingen finns det en resultattabell, som för varje tävlingsdeltagare innehåller medelvärdet av domarpoängen. Ge förslag på tre klasser som du uppfattar som rimliga, representativa och bra för ett program som kan hantera en konstskidningstävling. För varje klass ska du ange två viktiga instansvariabler och tre viktiga metoder. Du behöver inte koda klasserna. Formen för ditt svar (såsom Java eller svenska, tabeller eller löptext) avgör du själv. Det är en fördel, men inte ett krav, att du skriver förklaringar. Sådana ger i sig inga poäng men kan hjälpa dig om ditt svar i övrigt inrymmer oklarheter.

6. Annas Pepparkakor (6) Som den kakälskare (kakmonster? ) du är har du sökt och fått ditt första jobb på Annas Pepparkakor. Efter ett tag inser du att jobbet som kvalitetskontrollant (= provsmakare) inte är nyttigt i längden. Du talar med din chef och får en ny uppgift som bygger på dina Java-kunskaper från din STS-utbildning. Du får löneförhöjning och får fria pepparkakor att ta med hem. Din uppgift på arbetet är att ange en klasstruktur för pepparkakor som ska användas i pepparkakshus som säljs i byggsats. Delarna i huset kan var fyrkantiga (för tak och långsidor) eller femkantiga (för gavlar). Byggsatsen är enkel (nästa år får du arbeta med den avancerade byggsatsen lovade din chef över kaffe och en pepparkaka) och saknar därför skorsten, dörrar etc. Varje del kan med andra ord representeras av fyra resp fem hörn. Hörnen är, hade du tänkt dig, angivna som punkter i ett plan och representerade av två koordinater (tal med decimaler). Din tentauppgift är nu att skriva de klasshuvuden (i Java) för de klasser du anser behövas. För poäng på uppgiften krävs en väl vald klasstruktur där arv, samt förmodligen även någon annan relation mellan klasser/objekt används. Du ska i klasshuvudet ange klassens namn, viktiga instansvariabler samt, när behovet är påkallat, formulera samband mellan klasser/objekt i Java. Du behöver dock inte ange några metoder, varken till namn eller på något annat sätt. 7. Klockan går (8+4+4) Studera klassen Tid nedan. class Tid { private int värde; private int max; public Tid(int inmax) { värde = 0; max = inmax; public void öka(){ här saknas kod public int gevärde(){ här saknas kod public int sättvärde(int nyttvärde) { värde = nyttvärde; a) Skriv en klass Klocka som ska innehålla timme, minut och sekund. Dessa ska på ett meningsfyllt sätt representeras av objekt ur klassen Tid. Du ska skriva en konstruktor för klassen och en metod void tick() som tickar fram klockan en sekund. tick ska hantera klockan på ett korrekt sätt, så att ett klick från exempelvis 3.24.59 blir 3.25.00 och från 8.59.59 blir 9.0.0.

Skriv också metoderna öka() samt gevärde() i Tid så att dessa fungerar med tick()såsom avsett. b) Skriv ett huvudprogram i en separat klass som skapar två klockor, en med svensk tid och en med finsk. Du får göra programmet så att den svenska klockan alltid startar på 2.00.00. Finsk tid är en timme före den svenska. Programmet ska sedan ticka fram de båda klockorna 62 minuter. c) Lägg till metoder för en layoutmässigt enkel utskrift. Även om själva utskriften får bli ful, ska utskriftsmetoderna vara en del av klasserna på ett relevant sätt. Lägg till sist till en utskrift av den svenska klockan och den finska klockan i huvudprogrammet efter framtickandet. 8. Grafiska frågor (1+1) a) Ordna klasserna Container, Window, JFrame i den ordning de har i klasshierkien i Java. b) Förklara kortfattat med precist skillnaden mellan Panel och Jpanel.