Exempel på tentamensuppgifter
|
|
- Kristin Åström
- för 8 år sedan
- Visningar:
Transkript
1 Lunds Tekniska Högskola Institutionen för datavetenskap 1(13) Programmering Exempel på tentamensuppgifter 1. I en tävling håller man reda på namn och poäng för de deltagande personerna. En person beskrivs av följande klass: Specifikation av klassen Person: /** Skapar en person med namnet name och med noll poäng */ Person(String name); /** Tar reda på personens namn */ String getname(); /** Tar reda på personens poäng i tävlingen */ int getpoints(); /** Ökar personens poäng med p */ void addpoints(int p); Hela tävlingen beskrivs av följande klass: public class Contest { private int n; // aktuellt antal deltagare private Person[] part; // deltagarna i tävlingen, i de n första elementen /** Skapar en tävling med plats för högst nmax deltagare */ public Contest(int nmax); //... metoder för att lägga in nya personer i tävlingen och för att //... tilldela dem poäng /** Beräknar poängfördelningen: hur många av de n tävlande som har 0-9 poäng, 10-19,..., >= 50 poäng. */ public void computestatistics(); /** Skriver ut poängfördelningen enligt exemplet nedan */ public void printstatistics(); Utskriften i printstatistics skall ha följande form (det är dock inte nödvändigt att antalen hamnar rakt under varandra): Antalet deltagare i tävlingen är 127. Poängfördelning: Poäng Antal >=50 8 Implementera konstruktorn och metoderna computestatistics och printstatistics i klassen Contest. Ledning: Infoga attributet int[ ] stat i klassen. stat[0] skall innehålla antalet tävlande med 0-9 poäng, stat[1] antalet tävlande med poäng,, stat[5] antalet tävlande med >= 50 poäng. 2. En groda hoppar omkring på en gräsmatta med storleken 20*20 m. Grodan kan hoppa i fyra riktningar: rakt framåt, rakt bakåt, åt vänster eller åt höger. Riktningen i varje hopp bestäms slumpmässigt (alla riktningar är lika sannolika). Varje hopp är exakt en meter långt. Skriv en metod som sätter ner grodan i mitten av gräsmattan och låter den hoppa omkring tills den hamnar utanför gräsmattan. Resultatet av metoden skall vara antalet hopp som grodan gjort. Det behövs inte någon matris för att lösa uppgiften, inte heller behöver du definiera några klasser.
2 3. I följande klasser beskrivs ett telefonregister med namn och telefonnummer: Specifikation av klassen Person: /** Skapar en person med namnet name och telefonnumret telnbr */ Person(String name, String telnbr); /** Tar reda på personens namn */ String getname(); /** Tar reda på personens telefonnummer */ String gettelnbr(); Specifikation av klassen TelephoneDirectory: /** Skapar ett tomt telefonregister */ TelephoneDirectory(); /** Lägger in en person (p) i registret */ void insert(person p); /** Tar bort personen med namnet name ur registret */ void delete(string name); /** Tar reda på personen med namnet name (null om ingen sådan person finns) */ Person findperson(string name); 2(13) a) Implementera klassen Person fullständigt. b) Implementera klassen TelephoneDirectory på följande sätt: Personerna i registret lagras i en vektor. Du får förutsätta att man aldrig lägger in mer än 100 personer i registret. Om det finns n personer i registret skall de alltid finnas i de n första elementen i vektorn. Det får alltså aldrig finnas några hål i vektorn. c) Implementera klassen TelephoneDirectory med en ArrayList istället för med en vektor. d) Nämn den största fördelen med implementationsmetoden i uppgift c jämfört med b. 4. I ett matematikprogram kan man räkna med matriser. Matriserna beskrivs av följande klass (bara några få av operationerna är specificerade): public class Matrix { private int n; private double[][] a; // matrisens storlek // talen i matrisen /** Skapar en matris med in rader och in kolonner */ public Matrix(int in) { n = in; a = new double[n][n]; /** Tar reda på elementet med index i,k */ public double get(int i, int k); /** Adderar matrisen m till denna matris (matriserna förutsätts vara lika stora) */ public void add(matrix m); /** Beräknar spåret av matrisen dvs summan av diagonalelementen från övre vänstra hörnet till nedre högra hörnet */ public double trace(); a) Implementera de tre operationerna get, add och trace. Vid addition av matriser adderar man element för element. b) Skriv specifikationer (dvs ej implementationer) av följande operationer på matriser: Undersök om matrisen är singulär (dvs om determinanten är = 0). Invertera matrisen. Multiplicera matrisen med ett reellt tal.
3 3(13) 5. I VM för Formel 1-bilar ingår normalt 17 tävlingar. Ett tjugotal förare deltar i tävlingarna. Man vill räkna ut hur många förare som har kommit i mål i 0, 1, 2, 3,..., 16, 17 av tävlingarna och presentera resultatet enligt följande exempel: Antal fullföljda tävlingar Antal förare I exemplet har en förare inte fullföljt någon tävling, två förare har fullföljt en tävling,..., en förare har fullföljt alla 17 tävlingarna. En förare beskrivs av klassen Driver. Ett objekt av klassen FormulaOneDrivers håller reda på alla förarna: Specifikation av klassen Driver: // konstruktor och operationer som inte utnyttjas i denna uppgift /** Tar reda på förarens placering i tävling nr racenbr (1-17), 0 om föraren inte fullföljde tävlingen */ int getresult(int racenbr); public class FormulaOneDrivers { private int nbrdrivers; // antalet förare private Driver[] drivers; // förarna, i elementen med index 0..nbrDrivers-1 // konstruktor och operationer som inte utnyttjas i denna uppgift /** Beräknar och skriver ut statistiken över antalet fullföljda tävlingar enligt exemplet ovan */ public void printstatistics() {...; Implementera operationen printstatistics. Du behöver inte skriva ut rubriken ( Antal fullföljda tävlingar antal förare ). 6. En sexsidig tärning beskrivs av följande klass: Specifikation av klassen Die: /** Skapar en tärning */ Die(); /** Kastar tärningen */ void roll(); /** Tar reda på resultatet av det senaste tärningskastet */ int getresult(); a) Implementera klassen fullständigt dvs deklarera de attribut som behövs och skriv konstruktorn och de båda metoderna. Utnyttja klassen Random. b) Skriv en klass med en main-metod där man beräknar och skriver ut medelvärdet av resultaten av ett antal kast med tärningen. Antalet kast skall läsas in i början av main-metoden. Utskriften skall ha följande form: Medelvärdet av 2000 kast med tärningen: 3.494
4 4(13) 7. I spelet FourWay är spelplanen ett kvadratiskt rutnät med n*n rutor (n udda). I varje ruta finns ett tal mellan 1 och 4. En omgång i spelet går till på följande sätt: Låt mittrutan vara aktuell ruta. Upprepa tills aktuell ruta är utanför rutnätet: Om aktuell ruta innehåller talet 1 ändra 1-an till en 2-a och gå åt norr Om aktuell ruta innehåller talet 2 ändra 2-an till en 3-a och gå åt öster Om aktuell ruta innehåller talet 3 ändra 3-an till en 4-a och gå åt söder Om aktuell ruta innehåller talet 4 ändra 4-an till en 1-a och gå åt väster Exempel på en omgång när n=3 (den aktuella siffran är markerad med grå färg): Spelet beskrivs i följande klass: Specifikation av klassen FourWay: /** Skapar ett spel med n*n rutor */ FourWay(int n); /** Initierar spelplanen med 1-or i alla rutor */ void init(); /** Genomför en omgång av spelet */ void oneround(); /** Undersöker om alla rutor innehåller 1-or */ boolean allones(); a) Implementera klassen fullständigt dvs deklarera attribut och skriv konstruktorn och metoderna. Spelplanen bör naturligtvis vara en heltalsmatris. b) Skriv ett huvudprogram som för ett visst n-värde (som läses in) beräknar och skriver ut antalet omgångar som krävs för att återfå det första rutnätet när man startar med ett rutnät med enbart 1-or. Du får förutsätta att man verkligen återfår det första rutnätet. 8. I handelsresandeproblemet gäller det för en handelsresande att besöka ett antal städer. Varje stad skall besökas exakt en gång. Handelsresanden vill att den totala resvägen skall bli så kort som möjligt. Att lösa detta problem exakt är tidsödande, eftersom man måste beräkna alla möjliga resvägar för att finna den kortaste vägen. Vi nöjer oss därför i denna uppgift med att hitta en approximation till den bästa lösningen genom att i varje steg besöka den stad som ligger närmast den senast besökta staden. Städerna och kartan med alla städer beskrivs av följande klasser: Specifikation av klassen Town: //... konstruktor och metoder som inte används i denna uppgift /** Tar reda på stadens namn */ String getname(); /** Tar reda på avståndet till staden t */ double getdistanceto(town t); /** Undersöker om denna stad är besökt */ boolean isvisited(); /** Markerar att denna stad är besökt/inte besökt (b = true/false) */ void setvisited(boolean b);
5 5(13) public class Map { private Town[] towns; // städerna, i elementen med index 0..towns.length-1 /** Skapar en karta med städer. Uppgifter om städerna läses in från en fil med namnet mapfile */ public Map(String mapfile) { // Här läses antalet städer från filen mapfile och vektorn towns skapas. // Därefter läses uppgifter om städerna, Town-objekt skapas och // läggs in i vektorn towns. Konstruktorn är färdigskriven /** Skriver ut namnet på de städer som besöks, i tur och ordning, när man påbörjar en resa i den första staden (towns[0]) */ public void printtour() { // Markera alla städer som obesökta // Skriv ut startstadens namn, markera den som besökt // Leta upp närmaste stad som inte är besökt, skriv ut dess namn, // markera den som besökt // osv /* I metoden printtour skall du utnyttja följande privata metod: */ /** Tar reda på den obesökta stad som ligger närmast staden t */ private Town getnearest(town t); Implementera metoderna printtour och getnearest i klassen Map. 9. I ett tärningsspel utnyttjas en spelplan med rutor numrerade 1 till 100. När spelet börjar ställer varje spelare sin spelpjäs på ruta 1. Spelarna gör sedan drag i tur och ordning. I varje drag kastar spelaren tärningen och flyttar fram sin pjäs så många rutor som tärningen visar. Om pjäsen hamnar på en ruta där det redan finns en annan pjäs så knuffas denna pjäs tillbaka till ruta 1. Spelet avslutas när en spelare (vinnaren) passerar ruta 100. Följande färdigskrivna klasser skall du utnyttja i ett program som beskriver spelet: Specifikation av klassen Dice: /** Skapar en vanlig sexsidig tärning */ Dice(); /** Kastar tärningen, ger antalet prickar (1-6) */ int roll(); Specifikation av klassen Player: /** Skapar en spelare med nummer inbr som kastar tärningen id, placera spelaren på position 1 på spelplanen */ Player(int inbr, Dice id); /** Tar reda på spelarens nummer */ int getnbr(); /** Tar reda på spelarens position på spelplanen */ int getpos(); /** Kastar tärningen, ändra spelarens position på spelplanen */ void move(); /** Flyttar spelaren till ruta 1 på spelplanen */ void setpostostart(); Skriv en main-operation som utför följande: 1. Skapar spelarna, med nummer 1, 2, 3,..., och ställer upp dem på startrutan. 2. Genomför spelet enligt beskrivningen ovan. 3. Skriver ut numret på spelaren som vann.
6 10. Implementera en klass Translator som används för att på ett primitivt sätt översätta en sträng från svenska till engelska enligt följande specifikation: Specifikation av klassen Translator: /** Skapar en ny översättare (translator) som använder sig av ordlistan idict för översättningen */ Translator(Dictionary idict); /** Översätter innehållet i en sträng från svenska till engelska */ String translate(string swedish); 6(13) Implementera klassen fullständigt, dvs deklarera attributen och skriv konstruktorn och operationen translate. Översättningen skall ske ord för ord, utan hänsyn till svensk eller engelsk grammatik. För att översätta ett ord skall den färdiga klassen Dictionary användas. För varje svenskt ord i strängen anropar man operationen getenglish och får därmed den engelska översättningen. Du kan förutsätta att alla svenska ord som kan förekomma i strängen finns i klassens interna databas. Du kan också förutsätta att klassen automatiskt hanterar stora/små bokstäver. Dictionary har följande specifikation (skall inte implementeras): Specifikation av klassen Dictionary: /** Skapar en tom ordlista med plats för inbr ordpar */ Dictionary(int inbr); /** Lägger in ett nytt ordpar (svenska ordet sw med den engelska översättningen eng) i ordlistan */ void insert(string sw, String eng); /** Tar reda på den engelska översättningen av det svenska ordet sw, null om ordet inte finns i ordlistan */ String getenglish(string sw); I strängen som skall översättas kan bara bokstäver, blanktecken, kommatecken och punkter förekomma. Blanktecken, kommatecken och punkter skall behållas som de stod i den ursprungliga strängen. Exempel på användning av klassen Translator: Dictionary dictionary = new Dictionary(100000);... Translator translator = new Translator(dictionary); String s; s = translator.translate( Jag kan programmera, vilket är roligt. ); System.out.println(s); Resultatutskrift: I can program, which is funny. Ledning: Använd ett objekt av klassen StringBuilder i operationen translate för att successivt bygga upp den nya, översatta, strängen. Kopiera efter hand över blanktecken, kommatecken, punkter och översatta ord till detta objekt.
7 7(13) 11. Vi har en färdigskriven klass Airport som beskriver en flygplats. Nedan visas en delmängd av klassens metoder (som kan vara intressanta för att lösa uppgiften). Specifikation av några metoder i klassen Airport: /** Ger flygplatsens "id", t ex CPH. */ public String getid(); /** Ger flygplatsens namn, t ex Kastrup. */ public String getname(); /** Ger närmaste stad, t ex Copenhagen. */ public String getcity(); /** Ger en sträng som beskriver flygplatsen. */ public String tostring(); /** Ger avståndet till flygplatsen other. */ public double getdistanceto(airport other); Vi vill också ha en klass som håller reda på alla flygplatser. Denna klass skall du skriva, och den skall ha följande specifikation: public class AirportDatabase { /** Skapar en tom flygplatsdatabas. */ public AirportDatabase(); /** Lägger in en ny flygplats (airport), om det inte redan finns en flygplats med samma "id" i databasen. Returnerar true om den gick att lägga in och false om den redan fanns med i databasen. */ public boolean add(airport airport); /** Ger flygplatsen med identiteten id, eller null om ingen sådan flygplats finns. */ public Airport get(string id); /** Ger en lista med de flygplatser som ligger inom ett givet avstånd (distance) från en given flygplats (airport). */ public ArrayList<Airport> findwithin(airport airport, double distance); /** Ger den flygplats som ligger närmast en given flygplats (airport). Flygplatsen själv räknas naturligtvis inte in. */ public Airport findclosest(airport airport); /** Returnerar en sträng med alla flygplatser i databasen med en flygplats per rad (id och stad med blanktecken mellan). */ public String tostring(); Implementera klassen AirportDatabase enligt specifikationen ovan. Du skall naturligtvis utnyttja den färdigskrivna klassen Airport.
8 Lösningsförslag 1. /** Skapar en tävling med plats för högst nmax deltagare */ public Contest(int nmax) { part = new Person[nMax]; stat = new int[6]; n = 0; /** Beräknar poängfördelningen: hur många av de n tävlande som har 0-9 poäng, 10-19,..., >= 50 poäng. */ public void computestatistics() { int index; for (index = 0; index<6; index++) { stat[index] = 0; for (int p = 0; p<n; p++) { if (part[p].getpoints()<50) { index = part[p].getpoints()/10; else { index = 5; stat[index]++; /** Skriver ut poängfördelningen enligt exemplet nedan */ public void printstatistics() { System.out.println( Antalet deltagare i tävlingen är + n +. Poängfördelning: ); System.out.println(); System.out.println( Poäng Antal ); for (int index = 0; index<stat.length-1; index++) { System.out.println(index* (index*10+9) + + stat[index]); System.out.println( >=50 + stat[5]); 2. public int frogjump() { int jumps = 0; int x = 10, y = 10; Random rand = new Random(); while (x>=0 && x<=20 && y>=0 && y<=20) { switch (1 + rand.nextint(4)) { case 1: x++; break; case 2: x--; break; case 3: y++; break; case 4: y--; break; jumps++; return jumps; 3a. public class Person { private String name; private String telnbr; // personens namn // personens telefonnummer /** Skapar en person med namnet name och telefonnumret telnbr */ public Person(String name, String telnbr) { this.name = name; this.telnbr = telnbr; /** Tar reda på personens namn */ public String getname() { return name; /** Tar reda på personens telefonnummer */ public String gettelnbr() { return telnbr; 8(13)
9 3b. public class TelephoneDirectory { private Person[] persons; // personerna i registret private int n; // aktuellt antal personer i registret /** Skapar ett tomt telefonregister */ public TelephoneDirectory() { persons = new Person[100]; n = 0; /** Lägger in en person (p) i registret */ public void insert(person p) { persons[n] = p; n++; /** Tar bort personen med namnet name ur registret */ public void delete(string name) { int i = 0; while (i<n &&!persons[i].getname().equals(name)) { i++; if (i<n) { persons[i] = persons[n-1]; n--; /** Tar reda på personen med namnet name (null om ingen sådan person finns) */ public Person findperson(string name) { int i = 0; while (i<n &&!persons[i].getname().equals(name)) { i++; if (i<n) { return persons[i] else { return null; 9(13) 3c. public class TelephoneDirectory { private ArrayList<Person> persons; // personerna i registret /** Skapar ett tomt telefonregister */ public TelephoneDirectory() { persons = new ArrayList<Person>(); /** Lägger in en person (p) i registret */ public void insert(person p) { persons.add(p); /** Tar bort personen med namnet name ur registret */ public void delete(string name) { int i = 0; while (i<persons.size() &&!persons.get(i).getname().equals(name)) { i++; if (i<persons.size()) { persons.remove(i); /** Tar reda på personen med namnet name (null om ingen sådan person finns) */ public Person findperson(string name) { int i = 0; while (i<persons.size() &&!persons.get(i).getname().equals(name)) { i++; if (i<persons.size()) { return persons.get(i); else { return null;
10 3d. I lösningen till 3c behövs inte begränsning med en övre gräns på antalet personer. 10(13) 4a. /** Tar reda på elementet med index i,k */ public double get(int i, int k) { return a[i][k]; /** Adderar matrisen m till denna matris (matriserna förutsätts vara lika stora) */ public void add(matrix m) { for (int i = 0; i<n; i++) { for (int k = 0; k<n; k++) { a[i][k] += m.a[i][k]; /** Beräknar spåret av matrisen dvs summan av diagonalelementen från övre vänstra hörnet till nedre högra hörnet */ public double trace() { double sum = 0; for (int i = 0; i<n; i++) { sum += a[i][i]; return sum; 4b. /** Undersöker om matrisen är singulär */ boolean issingular(); /** Inverterar matrisen */ void invert(); /** Multiplicerar matrisen med x */ void multiply(double x); 5. public void printstatistics() { int[] nbrdriversfinished = new int[18]; // antalet förare som har fullföljt // 0, 1,..., 17 tävlingar for (int k = 0; k<nbrdrivers; k++) { int finished = 0; // antal fullföljda tävlingar för denne förare for (int race = 1; race<=17; race++) { if (drivers[k].getresult(race)!=0) { finished++; nbrdriversfinished[finished]++; for (int finished = 0; finished<nbrdriversfinished.length; finished++) { System.out.println(finished + "\t" + nbrdriversfinished[finished]); 6. public class Die { private int dots; private Random rand; /** Skapar en tärning */ public Die() { rand = new Random(); roll(); /** Kastar tärningen */ public void roll() { dots = 1 + rand.nextint(6); // antal prickar som tärningen visar // slumptalsgenerator /** Tar reda på resultatet av det senaste tärningskastet */ public int getresult() { return dots;
11 public class Test { public static void main(string[] args) { Die die = new Die(); Scanner scan = new Scanner(System.in); int n = scan.nextint(); int sum = 0; for (int i = 1; i<=n; i++) { die.roll(); sum += die.getresult(); System.out.println("Medelvärdet av " + n + " kast med tärningen: " + (double) sum/n); 7. public class FourWay { private int n; private int[][] a; // spelplanens storlek // spelplanen /** Skapar ett spel med n*n rutor */ public FourWay(int n) { this.n = n; a = new int[n][n]; /** Initierar spelplanen med 1-or i alla rutor */ public void init() { for (int i = 0; i<n; i++) { for (int k = 0; k<n; k++) { a[i][k] = 1; /** Genomför en omgång av spelet */ public void oneround() { int i = n/2; int k = i; while (i>=0 && i<n && k>=0 && k<n) { int oldvalue = a[i][k]; a[i][k] = oldvalue%4 + 1; switch (oldvalue) { case 1: i--; break; case 2: k++; break; case 3: i++; break; case 4: k--; break; /** Undersöker om alla rutor innehåller 1-or */ public boolean allones() { for (int i = 0; i<n; i++) { for (int k = 0; k<n; k++) { if (a[i][k]!=1) { return false; return true; class FourWayTest { public static void main(string[] args) { System.out.println("Skriv n-värdet:"); Scanner scan = new Scanner(System.in); int n = scan.nextint(); FourWay fw = new FourWay(n); fw.init(); int nbrrounds = 0; do { fw.oneround(); nbrrounds++; while (!fw.allones()); System.out.println("n = " + n + ". Omgångar = " + nbrrounds); 11(13)
12 8. /** Skriver ut namnet på de städer som besöks, i tur och ordning, när man påbörjar en resa i den första staden (towns[0]) */ public void printtour() { for (int i = 0; i<towns.length; i++) { towns[i].setvisited(false); Town current = towns[0]; System.out.println(current.getName()); current.setvisited(true); for (int i = 1; i<towns.length; i++) { current = getnearest(current); System.out.println(current.getName()); current.setvisited(true); 12(13) /* Tar reda på den obesökta stad som ligger närmast staden t */ private Town getnearest(town t) { double mindist = Double.MAX_VALUE; Town nearest = null; for (int i = 0; i<towns.length; i++) { if (towns[i]!=t &&!towns[i].isvisited() && towns[i].getdistanceto(t)<mindist) { mindist = towns[i].getdistanceto(t); nearest = towns[i] return nearest; 9. public static void main(string[] args) { Scanner scan = new Scanner(System.in); int nbrplayers = scan.nextint(); Dice d = new Dice(); Player[] players = new Player[nbrPlayers]; for(int p=0;p<nbrplayers;p++) { players[p] = new Player(p+1,d); int current = nbrplayers-1; while(players[current].getpos()<=100) { current++; if (current==nbrplayers) { current = 0; players[current].move(); for(int p=0;p<nbrplayers;p++) { if (p!=current && players[p].getpos()==players[current].getpos()) { players[p].setpostostart(); System.out.println( Spelare +players[current].getnbr()+ vann. ); 10. public class Translator { private Dictionary dict; /** Skapar en ny översättare (translator) som använder sig av ordlistan idict för översättningen */ public Translator(Dictionary idict) { dict = idict; /** Översätter innehållet i en sträng från svenska till engelska */ public String translate(string swedish) { int pos = 0; StringBuilder result = new StringBuilder(); while(pos<swedish.length()) { if (swedish.charat(pos)== swedish.charat(pos)==. swedish.charat(pos)==, ) { result.append(swedish.charat(pos)); pos++; else { int end = pos+1; while (end<swedish.length() && swedish.charat(end)!= && swedish.charat(end)!=. && swedish.charat(end)!=, ) { end++; result.append(dict.getenglish(swedish.substring(pos,end))); pos = end; return result.tostring();
13 11. public class AirportDataBase { private ArrayList<Airport> airports; 13(13) /** Skapar en tom flygplatsdatabas. */ public AirportDatabase () { airports = new ArrayList<Airport>(); /** Lägger in en ny flygplats (airport), om det inte redan finns en flygplats med samma "id" i databasen. Returnerar true om den gick att lägga in och false om den redan fanns med i databasen. */ public boolean add(airport airport) { String id = airport.getid(); for (int i = 0; i < airports.size(); i++) { if (airports.get(i).getid().equals(id)) { return false; airports.add(airport); return true; /** Ger flygplatsen med identiteten id, eller null om ingen sådan flygplats finns. */ public Airport get(string id) { for (int i = 0; i < airports.size(); i++) { Airport a = airports.get(i); if (a.getid().equals(id)) { return a; return null; /** Ger en lista med de flygplatser som ligger inom ett givet avstånd (distance) från en given flygplats (airport). */ public ArrayList<Airport> findwithin(airport airport, double distance) { ArrayList<Airport> closeenough = new ArrayList<Airport>(); for (int i = 0; i < airports.size(); i++) { Airport a = airports.get(i); if (airport.getdistanceto(a) < distance) { // <= också ok closeenough.add(a); return closeenough; /** Ger den flygplats som ligger närmast en given flygplats (airport). Flygplatsen själv räknas naturligtvis inte in. */ public Airport findclosest(airport airport) { Airport closest = null; double closestdist = Double.MAX_VALUE; for (int i = 0; i < airports.size(); i++) { Airport a = airports.get(i); if (!a.getid().equals(airport.getid()) && airport.getdistanceto(a) < closestdist) { closest = a; closestdist = airport.getdistanceto(a); return closest; /** Returnerar en sträng med alla flygplatser i databasen med en flygplats per rad (id och stad med blanktecken mellan). */ public String tostring(){ StringBuilder sb = new StringBuilder(); for (int i = 0; i < airports.size(); i++) { Airport a = airports.get(i); sb.append(a.getid()); sb.append( ); sb.append(a.getcity()); sb.append( \n ); return sb.tostring();
Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER
Föreläsning 8 SLUMPTAL, SIMULERING + INTRODUKTION TILL VEKTORER Från laboration 3 till 4 I laboration 3 har du implementerat klasser implementerat metoder i klasserna I laboration 4 kommer du att implementera
Tentamen, EDA501 Programmering M L TM W K V
LUNDS TEKNISKA HÖGSKOLA 1(0) Institutionen för datavetenskap Tentamen, EDA501 Programmering M L TM W K V 2010 05 31, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt ger uppgifterna
Tentamen, EDA501 Programmering M L TM W K V
LUNDS TEKNISKA HÖGSKOLA 1(3) Institutionen för datavetenskap Tentamen, EDA501 Programmering M L TM W K V 2010 04 13, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt ger uppgifterna
Övningar, EDAA20 Programmering och Databaser
LUNDS TEKNISKA HÖGSKOLA EDAA20 Programmering och databaser Institutionen för datavetenskap HT 2016 Övningar, EDAA20 Programmering och Databaser Övningarna är papper- och penn -övningar. Du löser uppgifter
Tentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2011 10 19, 8.00 13.00 Anvisningar: Denna tentamen består av fem uppgifter. Preliminärt ger uppgifterna
Tentamen, EDA501/EDAA20 Programmering M MD W BK L
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDA501/EDAA20 Programmering M MD W BK L 2017 05 31, 8.00 13.00 Anvisningar: Preliminärt ger uppgifterna 9 + 12 + 10 + 9 = 40 poäng.
Föreläsning 9-10 Innehåll
Föreläsning 9-10 Innehåll Inläsning från textfil, utskrift från textfil Vektorer med objekt Matriser Datavetenskap (LTH) Föreläsning 9-10 HT 2018 1 / 41 Klassen Scanner Läsa från System.in Vi har tidigare
Programexempel: tärningsspel. Programexempel: tärningsspel Kasta tärning tills etta. Klassen Die Specifikation. Slumptalsgenerator Klassen Random
Kasta tärning tills etta Skriv ett program som låter en användare spela detta tärningsspel: Spelaren gör första tärningsslaget och får samma poäng som tärningen visar. Sedan fortsätter spelet enligt följande
Föreläsning 3-4 Innehåll
Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå
Objekt som argument. Föreläsning 7-8 Innehåll. Hur komma åt den andra kvadratens attribut? Anropa metod på objektet självt
Föreläsning 7-8 Innehåll Objekt som argument Antag att vi har lagt till följande metod i klassen Square (från lab 4). Mer om att skriva egna klasser Fel och felsökning Klasserna String och StringBuilder
Föreläsning 7-8 Innehåll
Föreläsning 7-8 Innehåll Mer om att skriva egna klasser Fel och felsökning Klasserna String och StringBuilder Datavetenskap (LTH) Föreläsning 7-8 HT 2017 1 / 42 Objekt som argument Antag att vi har lagt
Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 25 maj 2009
Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 25 maj 2009 Christian 5 mars 2010 Observera att poängen nedan är preliminära det är möjligt att vi korrigerar något
OOP Objekt-orienterad programmering
OOP F6:1 OOP Objekt-orienterad programmering Föreläsning 6 Mer om klasser och objekt Hantera många objekt ArrayList tostring() metoden this Vi vill ofta hantera många objekt i ett program: OOP F6:2 public
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.
1 Uppgift 1 Klassen Company Banken FinanceTrust som tidigare bara haft privatpersoner som kunder vill nu bygga ut sitt datasystem så att även företag kan registreras som kunder. Skriv klassen Company som
Del A (obligatorisk för alla)
Del A (obligatorisk för alla) A1. Koden följer garanterat namnkonventionerna. Ringa in rätta svar och lämna in tillsammans med dina övriga svar! a) Hur många objekt skapas av följande kod? World w = new
Tentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2013 08 22, 8.00 13.00 Anvisningar: Denna tentamen består av fyra uppgifter. Preliminärt ger uppgifterna
Del A (obligatorisk för alla)
Del A (obligatorisk för alla) A1. Ringa in rätt svarsalternativ eller skriv svar i ruta om sådan a) Satsen double x = (int)(1 + 3/2.0) + 3.; resulterar i b) Satsen int x = (int)(1 + 3/2.0) + 3.; resulterar
Saker du ska kunna Föreläsning 13 & 14
Saker du ska kunna Föreläsning 13 & 14 LISTOR Ta bort element från en vektor Både sorterad och osorterad Söka upp element i en vektor Linjärsökning räcker (jag har även visat binärsökning) Registrering
Datastrukturer. Föreläsning Innehåll. Program med vektor Exempel. Deklarera vektorer
Föreläsning 1-12 Innehåll Vektorer Registrering (räkna element av olika slag) Sökning Matriser Klasserna String och StringBuilder Repetition inför delmålskontroll 2 Undervisningsmoment: föreläsning 1-12
Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)
Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet
Objekt-orientering. Java är ett objekt-orienterat programmeringsspråk
Repetition EDAA10 Objekt-orientering Java är ett objekt-orienterat programmeringsspråk Program byggs upp av klasser och objekt Objekt instantieras från klasser Klasser och objekt innehåller attribut och
EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass
EDAA20 Föreläsning 11-12 Klassen ArrayList Klassen ArrayList Skriva program som läser data från en textfil och skriver data till en textfil Repetition inför delmålskontroll 2 är en standardklass (i paketet
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 Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Tentamen, EDAA20/EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA 1(4) Institutionen för datavetenskap Tentamen, EDAA20/EDA501 Programmering 2014 04 29, 8.00 13.00 Anvisningar: Denna tentamen består av tre uppgifter. Preliminärt ger uppgifterna
Tentamen, EDAA10 Programmering i Java
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2019 08 21, 08.00 13.00 Anvisningar: Preliminärt ger uppgifterna 25 + 15 + 5 = 45 poäng. För godkänt betyg
Grundläggande programmering med C# 7,5 högskolepoäng
Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)
Föreläsning ALGORITMER: SÖKNING, REGISTRERING, SORTERING
Föreläsning 11 12 ALGORITMER: SÖKNING, REGISTRERING, SORTERING Seminarier: Fredagsklubben för dig som tycker att programmering är svårt (0 eller möjligen 1 poäng på delmålskontrollen) inte avsedda för
Chapter 4: Writing Classes/ Att skriva egna klasser.
Chapter 4: Writing Classes/ Att skriva egna klasser. I dessa uppgifter kommer du att lära dig om hur man definierar egna objekt genom att skriva klasser. Detta är grunden för att förstå objekt orienterad
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 I 2015-03-19 Skrivtid: 14:00 19:00 Hjälpmedel: Java-bok Tänk på följande 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 Objektorienterad programmering
CHALMERS TEKNISKA HÖGSKOLA Datavetenskap TDA547 Tentamen i Objektorienterad programmering Lördagen 12 mars 2011, 8.30 12.30. Jourhavande lärare: Björn von Sydow, tel 0762/981014. Inga hjälpmedel. Lösningar
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 Programmeringsteknik I 2016-03-17 Skrivtid: 1400 1900 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Tentamen. Lösningsförslag
Sida 1/8 Tentamen Grundläggande programmering i Java A 5p, DTAA32 2002-03-22 Lösningsförslag Uppgift 1 ( 3p ) Utskriften blir: Skriv in ett tal 24 47 48 intal=471 Uppgift 2 ( 6p ) a.) b.) c.) d.) e.) falskt
Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod
Föreläsning 3-4 Innehåll Diskutera Vad gör programmet programmet? Föreslå vilka satser vi kan bryta ut till en egen metod. Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer
Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2014-10-17 Skrivtid: 0800-1300 Hjälpmedel: Java-bok 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
Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.
(16 februari 2016 F5.1 ) Dagens text Programmeringsteknik Mer om Scanner-klassen Dialogrutor (klassen JOptionPane) Bubbelsortering ArrayList Omslagsklasser Arbetsexempel (16 februari 2016 F5.2 ) Pokertärningar
Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006
Lösningsförslag till tentamen i EDA011, lördagen den 16 december 2006 Detta lösningsförslag är skrivet i stor hast, så det är möjligt att det innehåller en del slarvfel jag ber i så fall om ursäkt för
Tentamen, EDAA10 Programmering i Java
LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDAA10 Programmering i Java 2017 04 20, 14.00 19.00 Anvisningar: Preliminärt ger uppgifterna 4 + 6 + 13 + 7 + 15 = 45 poäng. För godkänt
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 Programmeringsteknik I 2017-03-16 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Objektsamlingar i Java
1 (6) Objektsamlingar i Java Objektorienterad programmering 3 Syfte Att ge träning i att använda objektsamlingar i Java. Mål Efter övningen skall du kunna använda objektsamlingsklasserna ArrayList och
LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p
UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det
Tentamen i Programmering
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen i Programmering EDAA65/EDA501/EDAA20 M MD W BK L 2018 05 30, 8.00 13.00 Preliminärt ger uppgifterna 7 + 14 + 6 + 9 + 4 = 40 poäng.
Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen
(10 februari 2019 F4 1 ) Dagens föreläsning Sett i datorsalarna Mer om arrayer Matriser Formatering av utskrifter Inläsning med hjälp av Scanner-klassen (10 februari 2019 F4 2 ) Hört och sett if-loop Skall
Föreläsning REPETITION & EXTENTA
Föreläsning 18 19 REPETITION & EXTENTA Programmeringsteknik på 45 minuter Klasser och objekt Variabler: attribut, lokala variabler, parametrar Datastrukturer Algoritmer Dessa bilder är inte repetitionsbilder
Instuderingsfrågor, del D
Uppgift 1. Instuderingsfrågor, del D Objektorienterad programmering, Z1 I vilka av nedanstående problem behöver man använda sig av fält för att få en elegant lösning? I vilka problem är det är det onödigt/olämpligt
Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)
Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)
Objektorienterad programmering. Telefonboken igen, en bättre version. En jämförelse. Föreläsning 4
Telefonboken Objektorienterad programmering Telefonboken igen, en bättre version Telefonboken, igen. Tvådimensionella fält. Exempel: femtonspelet. Modellklassen. Ett textbaserat program. Ett grafiskt program.
Tentamen, EDA690 Algoritmer och Datastrukturer, Helsingborg
LUNDS TEKNISKA HÖGSKOLA 1(5) Institutionen för datavetenskap Tentamen, EDA690 Algoritmer och Datastrukturer, Helsingborg 2013 12 19, 8.00 13.00 Anvisningar: Denna tentamen består av 4 uppgifter. Preliminärt
PROGRAMMERING-Java Omtentamina
PROGRAMMERING-Java Omtentamina Nicolina Månsson 2007-08 13 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 41 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. -
Dagens föreläsning. Sett i datorsalarna. Mer om arrayer. Matriser. Formatering av utskrifter. Inläsning med hjälp av Scanner-klassen
(5 februari 2018 F4 1 ) Dagens föreläsning Sett i datorsalarna Mer om arrayer Matriser Formatering av utskrifter Inläsning med hjälp av Scanner-klassen Ett exempel med dialogrutor Java-doc Kommer först
4 13 / %.; 8 </" '': " / //&' " " ' * TelefonKostnad +,-%&. #!" $% " &' . > / ' 5 /' * 13/ &' static Math 1+" &'/ % 12 "" static "' * 1 /") %& &
TelefonKostnad static Math static $ & )&* +,-&. 0 +& + & 3 356+573 ) & & 6 3 3 & 3 * 6 3.:; < = 3 = 6 ; < : & >?.;,;@.A@;0,0,? @B0 C,0 > *. > 5 C D & D 5 * &! ; 66C! * C, 0 E,&! 0 F,G0 >: = = C 3 & HI
2. Betrakta följande program, där fyra heltal läses från tangentbordet och några (ointressanta) beräkningar görs:
Övningsuppgifter I kursen ingår 10 övningar (det är ingen övning vecka 7 i läsperiod ht2). Under övningarna ska du självständigt eller tillsammans med en kamrat lösa övningsuppgifterna. Övningsledaren
Lösningsförslag till tentamen
Uppgift 1 Lösningsförslag till tentamen 140828 a) public class MyMax { public static void main(string[] args) { //5 ändra String till String[] System.out.println("Maximum is: " + maximum(5, 7)); //2 ändra
Övningar, EDA501 Programmering
LUNDS TEKNISKA HÖGSKOLA EDA501 Programmering Institutionen för datavetenskap VT 2010 Övningar, EDA501 Programmering I kursen ingår fem övningar. Under övningarna ska du självständigt eller tillsammans
TENTAMEN OOP
TENTAMEN OOP 2014-03-15 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Tentamen OOP 2015-03-14
Tentamen OOP 2015-03-14 Anvisningar Fråga 1 och 2 besvaras på det särskilt utdelade formuläret. Du får gärna skriva på bägge sidorna av svarsbladen, men påbörja varje uppgift på ett nytt blad. Vid inlämning
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 Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.
(1 oktober 2017 F5 1 ) Dagens text Programmeringsteknik Mer om Scanner-klassen Dialogrutor (klassen JOptionPane) Bubbelsortering ArrayList Omslagsklasser Arbetsexempel (1 oktober 2017 F5 2 ) Pokertärningar
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.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.axelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Malmö högskola 2008/2009 CTS
Laboration 8 Avsikten med laborationen är att du lära dig skapa objekt med hjälp av klasser. Detta är en introduktion till ett objektorienterat tankesätt. Med hjälp av detta tankesätt kan du så småningom
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 Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar
TENTAMEN OOP
TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
TENTAMEN OOP
TENTAMEN OOP 2014-01-19 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli
Föreläsning 4 Innehåll. Abstrakta datatypen lista. Implementering av listor. Abstrakt datatypen lista. Abstrakt datatyp
Föreläsning 4 Innehåll Abstrakta datatypen lista Definition Abstrakta datatypen lista egen implementering Datastrukturen enkellänkad lista Nästlade klasser statiska nästlade klasser inre klasser Listklasser
Algoritmexempel. Föreläsning 5-7 Innehåll. Summering Mönster. Summering Exempel: alternerande harmoniska serien
Föreläsning 5-7 Innehåll Algoritm för summering Aritmetiska uttryck Logiska uttryck Algoritm för att beräkna max och min Repetition inför delmålskontroll 1 Teckenuttryck Slumptal Undervisningsmoment: föreläsning
Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2012-03-14 Skrivtid: 0800-1100 Hjälpmedel: Java-bok 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
Laboration A Objektsamlingar
Laboration A Objektsamlingar Avsikten med laborationen är att du ska träna på att använda ett par objektsamlingar. Uppgift 1 Titta genom föreläsningsunderlaget DA129AFAHT07.pdf och testkör exemplen (se
F4 Klasser och Metoder. ID1004 Objektorienterad programmering Fredrik Kilander
F4 Klasser och Metoder ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Klasser och objekt Klasser definierar (utgör idén) Objekt instantierar (utgör förekomsten) En klassdefinition Många
Sammanfattning och repetition utgående från typiska tentamensuppgifter
(2 mars 2018 F6 1 ) Dagens föreläsning Sammanfattning och repetition utgående från typiska tentamensuppgifter (2 mars 2018 F6 2 ) A-fråga Hur många objekt skapas av nedanstående kod? World w = new World();
Tentamen Programmeringsteknik II Inledning. Anmälningskod:
Tentamen Programmeringsteknik II 2016-01-11 Inledning I bilagan finns ett antal mer eller mindre ofullständiga klasser. Några ingår i en hierarki: List, SortedList, SplayList och ListSet enligt vidstående
DAT043 Objektorienterad Programmering
DAT043 Objektorienterad Programmering Detta är en exempeltenta som innehåller gamla tentauppgifter av ungefär liknande slag som ni kan förvänta er se på ordinarie tenta i Del 1 respektive Del 2. Dock är
Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.
Institutionen för Datavetenskap Göteborgs universitet HT2008 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Innehåll Föreläsning 4 Exempel på listor (klassen ArrayList). Ett exempel med fält.
Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2012-06-04 Skrivtid: 1400-1700 Hjälpmedel: Java-bok 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
Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2012-09-01 Skrivtid: 0900-1200 Hjälpmedel: Java-bok 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
Föreläsning 4 Innehåll
Föreläsning 4 Innehåll Abstrakta datatypen lista Datastrukturen enkellänkad lista Nästlade klasser statiskt nästlade klasser inre klasser Listklasser i Java Implementera abstrakta datatyperna stack och
Föreläsning 2. Länkad lista och iterator
Föreläsning 2 Länkad lista och iterator Föreläsning 2 Länkad-lista Lista implementerad med en enkellänkad lista Iterator Implementering av en Iterator Dubbellänkad lista och cirkulär lista LinkedList JCF
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 Programmeringsteknik I 2017-10-23 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
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 Programmeringsteknik I 2018-03-16 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer
Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek
De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000
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 Programmeringsteknik II 2015-05-26 Skrivtid: 0800 1300 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg
Dagens program. Programmeringsteknik och Matlab. Objektorienterad programmering. Vad är vitsen med att ha både metoder och data i objekten?
Programmeringsteknik och Matlab Övning 4 Dagens program Övningsgrupp 2 (Sal Q22/E32) Johannes Hjorth hjorth@nada.kth.se Rum 4538 på plan 5 i D-huset 08-790 69 02 Kurshemsida: http://www.nada.kth.se/kurser/kth/2d1312
Tentamen ID1004 Objektorienterad programmering April 7, 2015
Ordinarie tentamen för ID1004 Objektorienterad programmering, 7 april 2015 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av en obligatorisk del och
Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 12
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 12 I torsdags: Klassen TelefonKostnad Exemplifierar objektorienterad design, metoder, konstruktorer static Standardklassen Math Matematiska
Tentamen , Introduktion till Java, dtaa98, dtea53
Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion
Lösningsförslag till tentamen i EDA011 Programmeringsteknik för F, E, I, π och N
Lösningsförslag till tentamen i EDA011 Programmeringsteknik för F, E, I, π och N Måndagen den 24 april 2006 Del 1 Uppgift 1 Klassen VotingResult innehåller förhoppningsvis inga större överraskningar, operationen
Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och i regel som private.
Tentamen Programmeringsteknik I 2013-06-14 med lösningar 1. Svara kortfattat på följande: a) Vad är en instansvariabel? Variabler som hör till enskilda objekt. Deklareras på översta nivån i klassen och
Tentamen i Programmeringsteknik I
Tentamen i Programmeringsteknik I 2017-01-03 Skrivtid: 8.00-13.00 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Skriv ej högst upp i det vänstra hörnet
Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2
AID-nummer: Datum: 2014-12-18 Kurskod: 725G61 Provkod: LAB1 Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2 Skrivningstid: 2014-12-18 klockan 8.00-10.00. Hjälpmedel: Inga. För varje fråga
Bedömning av kontrollskrivning, EDA016 Programmeringsteknik
LUNDS TEKNISKA HÖGSKOLA Institutionen för datavetenskap Bedömning av kontrollskrivning, EDA016 Programmeringsteknik 2015-10-27 Instruktioner Maxpoäng per uppgift Med en icke-tom rad menas en kodrad som
TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET
UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt
Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER
Föreläsning 5&6 LOGISKA VARIABLER; IMPLEMENTERA KLASSER; MER ALGORITMER Logiska uttryck datatypen boolean Logiska uttryck kan ha två möjliga värden, true eller false. Variabler av typen boolean kan tilldelas
Laboration 13, Arrayer och objekt
Laboration 13, Arrayer och objekt Avsikten med denna laboration är att du ska träna på att använda arrayer. Skapa paketet laboration13 i ditt laborationsprojekt innan du fortsätter med laborationen. Uppgift
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 I 2015-06-11 Skrivtid: 08:00 13:00 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos vakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Presentation av trafiksimuleringsprojektet
(27 februari 2017 Trafiksimulering 1 ) Presentation av trafiksimuleringsprojektet Skall diskutera Ett lite större program med flera klasser Hur man designar ett system Hur man ritar klassdiagram i UML
Malmö högskola 2007/2008 Teknik och samhälle
Laboration 9 Avsikten med denna laboration är att du ska jobba vidare med klasser. Uppgifterna går ut på att skriva metoder och att skriva konstruktorer. Laborationen bygger vidare på laboration 8. Skapa
Föreläsning 5-6 Innehåll. Exempel på program med objekt. Exempel: kvadratobjekt. Objekt. Skapa och använda objekt Skriva egna klasser
Föreläsning 5-6 Innehåll Exempel på program med objekt Skapa och använda objekt Skriva egna klasser public class DrawSquare { public static void main(string[] args) { SimpleWindow w = new SimpleWindow(600,
EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. Checklista. Föreläsning 1-2 Innehåll. Programmering.
EDAA20 Programmering och databaser Mål komprimerat se kursplanen för detaljer Läsperiod 1 7.5 hp anna.aelsson@cs.lth.se http://cs.lth.se/edaa20 Mer information finns på kursens webbsida samt på det utdelade
Del A (obligatorisk för alla)
Del A (obligatorisk för alla) A1. Ringa in rätt svarsalternativ eller skriv svar i ruta om sådan a) Vad blir resultatet av följande kod? b) Satsen double h = (double)(1/10); double s = 0; for (int i= 1;
public och private Obs: private inte skyddar mot access från andra objekt i samma klass.
public och private En metod som är public får anropas från alla metoder i alla klasser. Ett attribut som är public får avläsas och ändras från alla metoder i alla andra klasser. En metod som är private
TENTAMEN I PROGRAMMERING. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng
TENTAMEN I PROGRAMMERING Ansvarig: Jan Skansholm, tel 7721012 Betygsgränser: Hjälpmedel: Sammanlagt maximalt 60 poäng. På tentamen ges graderade betyg:. 3:a 24 poäng, 4:a 36 poäng och 5:a 48 poäng Skansholm,