Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 27 maj 2008
|
|
- Carina Pettersson
- för 9 år sedan
- Visningar:
Transkript
1 Lösningsförslag till tentamen i EDA011/EDA017 Programmeringsteknik för F, E, I, π och N 27 maj 2008 Christian 27 maj 2008 Uppgift 1 Flera av dem jag talade med efter tentan hade blivit förskräckta när de såg att man kunde få 64 poäng på uppgift 1 anledningen till det höga poängantalet är att det blir enklare att vara rättvis med en fingranulär skala. Vi sätter alltså poäng på nästan allt man kan göra (som framgår av poängsättningarna nedan). Klassen Room Vi börjar med klassen Room. Enligt uppgiftsformuleringen skulle vi använda minst två attribut: usedcomputers och requests. I båda fallen kunde vi välja mellan listor eller vektorer, det blir som vanligt enklare om vi använder listor. I denna uppgift blir det faktiskt betydligt enkare klasserna Computer och HelpRequest överskuggade båda equals(object)- operationen, och vi kan därför använda Collection-klassernas contains(object)- och remove(object)-operationer. Utöver dessa attribut behöver vi hålla reda på rummets namn, dess kapacitet, och dessutom namnet på den övningsledare som kan vara i rummet. Det var ganska många som frågade varför det inte fanns någon close-operation i klassen Room, och förklaringen är att det från början fanns en, men att jag tog bort den för att ni skulle få lite mindre att skriva på tentan. Ytterligare ett attribut kan kännas naturligt, och det är ett boolean-värde som håller reda på om rummet är öppet för övning eller inte. Om vi använder Session-klassen som det är tänkt kommer vi aldrig att anropa någon Room-operation annat än open på ett rum som inte är öppet, men det var naturligtvis långt ifrån självklart när ni skrev klassen Room. class Room { private String roomid; private int capacity; private List<HelpRequest> requests; private List<Computer> usedcomputers; private String assistant; private boolean isopen; // om man v i l l public Room (String roomid, int capacity) { this.roomid = roomid; this.capacity = capacity; requests = new LinkedList<HelpRequest>(); usedcomputers = new LinkedList<Computer>(); public String getid() { return roomid; public int getcapacity() { return capacity; Faktum är att det hade gått ändå, eftersom vi aldrig har några kopior av våra datorer eller förfrågningar, så == fungerar utmärkt (den equals som vi ärver från Object testar med ==). I efterhand är jag inte säker på att det var så smart av mig att plocka bort denna operation, kanske hade det varit lite enklare att förstå klassen Room om man även hade skrivit en close-operation. 1
2 ... Den som använder vektorer behöver som vanligt även heltalsräknare som håller reda på antalet element som verkligen används i de båda vektorerna. Vi skulle ha kunnat deklarera requests som en Queue, men förfrågningarna tas inte nödvändigtvis ut ur denna kö i turordning, eftersom en student kan ta bort sig själv ur kön om hon lyckas lösa sitt problem innan övningsledaren hinner komma dit så en vanlig lista känns naturligare (även om vi faktiskt kan anropa remove(object)- operationen även på en kö). open I operationen open kan vi antingen tömma redan befintliga listor (som kan skapas i konstruktorn), eller skapa nya dessutom är det rätt plats att sätta isopen till true (om vi nu använder isopen man får inget poängavdrag om man inte gör det): public void open(string assistant) { this.assistant = assistant; requests.clear(); usedcomputers.clear(); isopen = true; // om man v i l l... Poäng (max 3 p): 1 p Sparar assistentens namn. 1 p Skapar eller tömmer kö med frågor. 1 p Skapar eller tömmer lista med datorer. participate Att testa om datorn står i rätt rum ger en bonuspoäng (även om det faktiskt är lite onödigt i vårt program om vi skriver operationen login i klassen Session på rätt sätt): public boolean participate(computer computer) { if (computer.getroom() == this // bonus &&!usedcomputers.contains(computer)) { usedcomputers.add(computer); Här skulle vi även kunna testa om isopen är true innan vi lät någon delta i övningen. Om vi inte använder list-paketets contains-operation (som vi alltså kan anropa, eftersom klassen Computer överskuggade equals(object)), så kan vi istället själva skriva en hjälpoperation isused(computer): private boolean isused(computer computer) { for (Computer c : usedcomputers) { if (c.equals(computer)) { Poäng (max 6 p): 2 p Testar att vi är i rätt rum (bonus). 2 p Testar att datorn inte redan används. 1 p Lägger in datorn bland använda datorer. 1 p Rätt returvärde. leave Operationen leave skall plocka bort datorn ur både hjälp-kö och listan med använda datorer. Om vi använder listpaketet blir det väldigt enkelt: public void leave(computer computer) { hasbeenhelped(computer); usedcomputers.remove(computer); Det går alldeles utmärkt att skriva en egen hjälpoperation remove som tar bort datorn ur listan med använda datorer, eller att göra en sökning och borttagning inuti leave. Poäng (max 4): 2 p Tar bort student ur kö. 2 p Tar bort dator ur lista. Bonuspoäng innebär att vi sänker gränsen för godkänt med motsvarande antal poäng. 2
3 askforhelp Operationen askforhelp skulle kontrollera att datorn verkligen deltog i övningen, och att datorn inte redan stod i kö. Det enklaste sättet att testa om datorn redan står i kö är att anropa en hjälpoperation: public boolean askforhelp(computer computer) { if (!usedcomputers.contains(computer) isaskingforhelp(computer)) { requests.add(new HelpRequest(computer, Time.now())); Här kan vi skriva isaskingforhelp så här: private boolean isaskingforhelp(computer computer) { return findrequest(computer)!= null; och denna behöver i sin tur hjälpoperationen findrequest: private HelpRequest findrequest(computer computer) { for (HelpRequest request : requests) { if (request.getcomputer().equals(computer)) { return request; return null; Den som gör sökningen efter förfrågningen direkt i asforhelp får inget poängavdrag (men måste skriva lite mer programkod strax...). Poäng (max 8): 1 p Testar att datorn används. 3 p Testar att datorn inte redan i kö. 2 p Skapar ny förfrågan. 1 p Lägger frågan i kö. 1 p Rätt returvärde. hasbeenhelped När vi skriver hasbeenhelped kan vi återanvända den findrequest som vi skrev nyss: public boolean hasbeenhelped(computer computer) { return requests.remove(findrequest(computer)); Det går naturligtvis utmärkt även att göra en sökning inuti hasbeenhelped. Vi kan även ta bort en HelpRequest ur en vektor, men måste vara lite försiktiga när vi gör det. För att frågekön inte skall komma i oordning måste vi flytta elementen i vektorn så att deras inbördes ordning inte kastas om. Om vi har en vektor för att lagra fråge-kön kan vi skriva hasbeenhelped-operationen ungefär så här: public boolean hasbeenhelped(computer computer) { int index = findrequestindex(requests, computer); if (index < 0) { for (int i = index; i < nbrofrequests-1; i++) { requests[i] = requests[i+1]; nbrofrequests--; requests[nbrofrequests] = null; // inte nödvändigt där vi återigen har använt en hjälpoperation: Poäng (max 6): private int findrequestindex(helprequest[] requests, Computer computer) { for (int i = 0; i < nbrofrequests; i++) { if (requests[i].getcomputer().equals(computer)) { return i; return -1; 3 p Letar upp förfrågan. 2 p Tar bort förfrågan så att de fortfarande ligger i rätt ordning. 1 p Rätt returvärde. 3
4 showstatus Operationen showstatus kräver två loopar, i den första loopen går vi igenom usedcomputers, och skriver ut namnen på de användare som är inloggade i den andra skriver vi ut de datorer som står i kö för hjälp: public void showstatus() { System.out.printf("Övningssal %s\n", roomid); System.out.printf("Övningsledare: %s\n", assistant); System.out.printf("%d inloggade (%d lediga platser)\n", usedcomputers.size(), capacity-usedcomputers.size()); for (Computer computer : usedcomputers) { System.out.println(" " + computer.getuser().getname()); if (requests.size() == 0) { System.out.println("Ingen kö"); else { System.out.println("Kö:"); for (HelpRequest request : requests) { System.out.printf(" %s (%s)\n", request.getcomputer().getname(), request.gettime().tostring()); Poäng (max 11): 1 p Skriver ut rums-id/namn. 1 p Skriver ut övningsledare. 2 p Skriver ut antal inloggade/lediga platser. 3 p Skriver ut namn på samtliga inloggade (1 + 2 för loop/namn). 1 p Kollar om det finns någon kö. 3 p Skriver ut alla köande ( för loop, id och tid). Klassen Session I klassen Session behöver vi en referens till aktuell byggnad och grupp, och dessutom en lista eller vektor med öppnade rum enklast är att använda en lista, men ni får lika många poäng om ni istället har valt en vektor och ett heltal som håller räkning på antalet rum. Attribut och konstruktor kan skrivas som: class Session { private Campus campus; private Group group; private List<Room> openedrooms; public Session (Campus campus, Group group) { this.campus = campus; this.group = group; openedrooms = new LinkedList<Room>();... Vi behöver inte någon lista eller vektor med samtliga rum eller datorer, eftersom campus-objektet håller reda på dem. Eftersom attributen var givna delas inga poäng ut här. openroom I operationen openroom måste vi leta upp det aktuella rummet (med hjälp av dess namn/identitet), och därefter uppdatera både rum och openedrooms: Poäng (max 6): public boolean openroom(string roomid, String assistant) { Room room = campus.findroom(roomid); if (room == null) { System.out.println("Det finns inget sådant rum"); if (openedrooms.contains(room)) { System.out.println("Rummet är redan öppet"); room.open(assistant); openedrooms.add(room); 1 p Letar upp rum på rätt sätt. 1 p Testar om rummet finns. 1 p Ser om rummet redan öppet. 1 p Öppnar rummet. 4
5 1 p Lägger in rummet bland öppna rum 1 p Rätt returvärden. login Operationen login skall göra flera saker och ger därför lite fler poäng. Det var inte alldeles självklart i vilka fall operationen showstatus skulle anropas, så vi kommer att vara snälla vid bedömningen. public boolean login(string studentid, String computername) { Computer computer = campus.findcomputer(computername); if (computer == null) { System.out.println("Det finns ingen sådan dator!"); Student student = group.findstudent(studentid); if (student == null) { System.out.println("Du tillhör inte denna kursomgång."); if (!computer.login(student)) { System.out.println("Datorn är redan upptagen"); Room room = computer.getroom(); if (openedrooms.contains(room)) { room.participate(computer); showstatus(); else { System.out.println("Vi har inte övning i din sal nu."); showstatus(); Den som inte vill testa returvärdet på login-operationen i klassen Computer får gärna istället skriva något i stil med: if (!computer.getuser()!= null) { System.out.println("Datorn är redan upptagen"); computer.login(student); Flera av er ville lägga till en operation isopen() i klassen Room, och det är naturligtvis en god idé vi skulle i så fall kunna kontrollera om rummet var öppet utan att göra en sökning i openedrooms. Ni får full poäng oavsett om ni söker i openedrooms, eller om ni anropar en isopen()-operation. Poäng (max 10): 1 p Letar upp rätt dator. 1 p Testar om datorn finns. 1 p Testar om datorn är upptagen. 1 p Letar upp rätt student. 1 p Testar att studenten finns. 1 p Plockar fram rätt rum. 1 p Testar att rummet är öppet. 1 p Loggar in i rummet. 1 p Skriver ut status om ingen övning i rummet. 1 p Rätt returvärden. logout I logout kan man testa om datorn finns, och om någon är inloggad på datorn. Poäng (max 5): public void logout(string computername) { Computer computer = campus.findcomputer(computername); if (computer == null) { System.out.println("Felaktigt rumsnamn!"); return; if (computer.getuser() == null) { System.out.println("Ingen är inloggad på denna dator"); return; computer.getroom().leave(computer); computer.logout(); 1 p Letar upp rätt dator. Som jag egentligen hade tänkt att ni skulle göra inte för att det är smart, utan för att det kräver att ni implementerar en sökning. 5
6 1 p Testar om datorn finns. 1 p Plockar fram rätt rum. 1 p Gör logout i rum. 1 p Gör logout på dator. showstatus Operationen showstatus kan delegera det mesta av sitt arbete till showstatusoperationen i klassen Room: public void showstatus() { System.out.printf("Klockan är %s\n", Time.now()); if (openedrooms.size() == 0) { System.out.println("Just nu har vi ingen öppen sal"); Poäng (max 5): else { System.out.println("Vi har övning i följande salar:"); for (Room room : openedrooms) { room.showstatus(); 1 p Skriver ut rätt tid. 1 p Testar om det finns någon öppen sal. 3 p Skriver ut status för samtliga öppna salar Uppgift 2 Man kan lösa denna uppgift på otroligt många sätt (vilket gör att den antagligen blir rätt jobbig att rätta...). Det kanske mest grundläggande problemet är att plocka ut enstaka siffror ur ett tal, och man kan tänka sig många olika lösningar enklast är heltalsdivision och %- operatorn, men man kan exempelvis omvandla till en sträng och plocka ut enstaka tecken, som i sin tur kan omvandlas till ett ensiffrigt tal. Som ofta är det en god idé att skriva en funktion som löser problemet åt oss: int digit(int value, int digitnbr) { // plocka ut s i f f r a digitnbr (från höger) ur t a let value En lösning som baseras på heltalsdivision kan utnyttja att vi får den n:te siffran bakifrån i talet v om vi dividerar v med 10 n 1, och därefter tar resten vid division med 10: int digit(int value, int digitnbr) { return (value/tenraisedto(digitnbr-1)) % 10; där vi behöver ytterligare en hjälpoperation: int tenraisedto(int n) { return (int) Math.round(Math.exp(n*Math.log(10))); Vi kan för övrigt inte skriva 10^n för att få 10 n det går visserligen att kompilera, men ^ betyder inte upphöjt i i Java (detta ger dock inga avdrag). Om vi istället vill gå omvägen via strängar när vi skall plocka ut en siffra i vårt tal kan vi skriva: int digit(integer value, int digitnbr) { String str = value.tostring(); int pos = str.length() - digitnbr; if (pos < 0) { return 0; return str.charat(pos) - 0 ; Här måste vi deklarera parametern som ett Integer-objekt om vi vill kunna anropa tostring-operationen (dock inga poängavdrag för den som gör tostring på ett int-värde, eftersom man faktiskt får göra det i exempelvis Ruby, och det inte ingår i kursen att veta precis när autoboxingen gör att man slipper typa om sina värden). Ett alternativ är att låta value vara deklarerad som ett int, och sätta: String str = "" + value; I lösningsförslaget nedan använder jag inte någon funktion som plockar ut en enstaka siffra, istället bygger jag upp en faktor som växer med en faktor 10 för varje ny omgång vi kör, och dividerar ner talen direkt med detta värde. Detta är lite mer effektivt, men spelar ingen roll för poängsättningen på uppgiften. Ett annat problem är att välja datastruktur för att hålla reda på det som jag i upp- 6
7 giften kallar l-listorna. I problemtexten visar jag hur man kan skapa en vektor med köer (det är tyvärr ganska knepigt, eftersom vektorer med generiska typer är något av ett hack i Java) man kan även använda en lista av köer. Deklarationen av en vektor med köer fanns i texten, om vi vill ha en lista med köer istället kan vi skriva: List<Queue<Integer>> queues = new ArrayList<Queue<Integer>>(); Egentligen är det rent numeriskt inte särskilt smart att använda basen 10 när vi implementerar RADIX-SORT men det gör det mycket enklare att illustrera algoritmen. En bättre bas är 16, eller kanske 256 (vi får göra en avvägning mellan antalet iterationer och antalet listor som krävs). class RadixSorter { private final int base = 10; private Queue<Integer>[] queues = (LinkedList<Integer>[]) new LinkedList[base]; public RadixSorter () { for (int i = 0; i < base; i++) { queues[i] = new LinkedList<Integer>(); public void sort(list<integer> values) { int biggest = findbiggest(values); int factor = 1; while (biggest > 0) { orderbydigit(values, factor); factor *= base; biggest /= base; private int findbiggest(list<integer> values) { int biggest = Integer.MIN_VALUE; for (int value : values) { biggest = Math.max(value, biggest); return biggest; Jag trodde att det kanske skulle vara enklare för er att förstå idén med en vektor med köer. Om vi inte möjligen får tal med fler siffror att sortera. Som våra Comparator-objekt gör. private void orderbydigit(list<integer> values, int factor) { while (!values.isempty()) { int value = values.remove(0); // se kommentar nedan queues[(value/factor) % base].add(value); for (int i = 0; i < base; i++) { while (!queues[i].isempty()) { values.add(queues[i].remove()); En sak som är lurig är att vi här använder remove(int)-operationen på en List<Integer> det finns ibland risk att autoboxingen gör att vi tar bort fel värden av misstag (den skulle här ha kunnat få för sig att plocka bort värdet 0 istället för värdet på plats 0). I detta fall fungerar det precis som vi vill (det är värdet på plats 0 som tas bort). Man får poäng för följande (max 30): 2 p Korrekt yttre loop. 3 p Går inte fler varv än nödvändigt. 6 p Bestämmer index för rätt l-lista i varje varv. 4 p Flyttar värden till rätt l-lista i varje varv. 7 p Slår samman l-listorna till en ny lista på rätt sätt. 8 p Har förstått algoritmen/lämplig nedbrytning i underprogram/ snygg kod. Det är intressant att räkna på tidsåtgången för RADIX-SORT, om vi ökar antalet värden som vi skall sortera så ökar tidsåtgången linjärt (tiden att ta ut ur och sätta in i våra listor är direkt proportionellt mot antalet element i listorna, men vi behöver inte köra fler varv i den yttre loopen ) den är alltså en O(n)-operation. Detta kan jämföras med insättningssortering och urvalssortering, som båda är O(n 2 ). I själva verket finns det en teoretisk undre gräns för hur snabb en vanlig sorteringsalgoritm kan bli, och man kan intuitivt få en känsla för denna gräns genom följande resonemang. Vanliga sorteringsalgoritmer bygger på att vi jämför värden med varandra. Om vi har en samling med n värden a 1, a 2,..., a n, så kan de ordnas på n! olika sätt i 7
8 hälften av dessa permutationer kommer värdet a 1 att hamna före a 2. Om vi testar om a 1 > a 2 och upptäcker att det är sant så kan vi i princip utesluta alla de permutationer i vilka a 1 ligger före a 2 om vi vill sortera talen i växande ordning. På samma sätt kan vi efter varje ny test mellan två värden utesluta ungefär hälften av återstående permutationer. Detta är ingen praktiskt genomförbar sorteringsalgoritm, men den antyder att en jämförelse mellan två värden inte kan elminiera mer än ungefär hälften av de möjliga permutationer som finns. Det minsta antalet jämförelser vi måste göra innan vi har den permutation som innehåller våra värden i rätt ordning blir log 2 n! (detta motsvarar antalet jämförelser vi måste göra vid binärsökning, med skillnaden att vi nu har n! olika permutationer att söka bland). Stirlings formel säger att n! n n 2πn, e och om vi logaritmerar detta uttryck ser vi att det minsta antalet jämförelser vi måste göra är ungefär log( 2πn n n e n ). Den dominerande faktorn inuti logaritm-uttrycket är n n, och antalet jämförelser blir därför O(n log n). Detta är en teoretisk undre gräns för sorteringsalgorimer som baseras på jämförelse, och det finns flera algoritmer som faktiskt når ner till denna gräns (bland andra HEAP-SORT som vi hade på föregående tenta, och QUICK-SORT, som beskrivs i kompendiet). Det kan därför verka egendomligt att RADIX-SORT är O(n), vilket är bättre än den teoretiska undre gränsen för sorteringsalgoritmer men det beror på att den faktiskt inte gör några jämförelser alls! Istället utnyttjar den annan information om de värden som skall sorteras, vilket gör att den inte är lika generell som exempelvis HEAP-SORT och QUICK-SORT (vi kan dock använda den till att sortera exempelvis strängar, vilket flera av er som skrev tentan insåg). Det visar sig dessutom att konstanterna framför n log n-uttrycken i både HEAP-SORT och QUICK-SORT är så små att de i praktiken är snabbare än RADIX-SORT i de flesta fall. 8
Objektorienterad programmering D2
Objektorienterad programmering D2 Laboration nr 2. Syfte Att få förståelse för de grundläggande objektorienterade begreppen. Redovisning Källkoden för uppgifterna skall skickas in via Fire. För senaste
Programmering för språkteknologer II, HT2014. evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/
Programmering för språkteknologer II, HT2014 Avancerad programmering för språkteknologer, HT2014 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv14/pst2/ Idag - Hashtabeller
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
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10. Skriv bara på framsidan av varje papper.
Tentamen Programmeringsteknik II och NV2 (alla varianter) 2008-12-10 Skrivtid: 0800-1300 Inga hjälpmedel. Tänk på följande Maximal poäng är 40. För betygen 3 krävs 18 poäng. För betygen 4, 5 kommer något
Föreläsning 1 & 2 INTRODUKTION
Föreläsning 1 & 2 INTRODUKTION Denna föreläsning Vad händer under kursen? praktisk information Kursens mål vad är programmering? Skriva små program i programspråket Java Skriva program som använder färdiga
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)
Examination i. PROGRAMMERINGSTEKNIK F1/TM1 TIN212 (Dugga) Dag: Onsdag Datum: 2014-12-17 Tid: 9.00-12.00 (OBS 3 tim) Rum: V
Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Erland Holmström Göteborg 16 dec 2014 Examination i PROGRAMMERINGSTEKNIK F1/TM1
Objektorienterad programmering i Java
Objektorienterad programmering i Java Föreläsning 4 Täcker i stort sett kapitel 6 i kursboken Java Software Solutions 1 Läsanvisningar Den här föreläsningen är uppbyggd som en fortsättning av exemplet
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)
Dugga Datastrukturer (DAT036)
Dugga Datastrukturer (DAT036) Duggans datum: 2012-11-21. Författare: Nils Anders Danielsson. För att en uppgift ska räknas som löst så måste en i princip helt korrekt lösning lämnas in. Enstaka mindre
Programmering för Språkteknologer II. Innehåll. Associativa datastrukturer. Associativa datastrukturer. Binär sökning.
Programmering för Språkteknologer II Markus Saers markus.saers@lingfil.uu.se Rum -040 stp.lingfil.uu.se/~markuss/ht0/pst Innehåll Associativa datastrukturer Hashtabeller Sökträd Implementationsdetaljer
Sätt att skriva ut binärträd
Tilpro Övning 3 På programmet idag: Genomgång av Hemtalet samt rättning Begreppet Stabil sortering Hur man kodar olika sorteringsvilkor Inkapsling av data Länkade listor Användning av stackar och köer
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
Föreläsning 6: Introduktion av listor
Föreläsning 6: Introduktion av listor Med hjälp av pekare kan man bygga upp datastrukturer på olika sätt. Bland annat kan man bygga upp listor bestående av någon typ av data. Begreppet lista bör förklaras.
Tentamen TEN1 HI1029 2014-05-22
Tentamen TEN1 HI1029 2014-05-22 Skrivtid: 8.15-13.00 Hjälpmedel: Referensblad (utdelas), papper (tomma), penna Logga in med tentamenskontot ni får av skrivvakten. Det kommer att ta tid att logga in ha
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
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
Algoritmanalys. Genomsnittligen behövs n/2 jämförelser vilket är proportionellt mot n, vi säger att vi har en O(n) algoritm.
Algoritmanalys Analys av algoritmer används för att uppskatta effektivitet. Om vi t. ex. har n stycken tal lagrat i en array och vi vill linjärsöka i denna. Det betyder att vi måste leta i arrayen tills
Föreläsning 7. Träd och binära sökträd
Föreläsning 7 Träd och binära sökträd Föreläsning 7 Träd Binära träd Binärt sökträd som ADT Implementering av binärt sökträd Travestera binärt sökträd Sökning Insättning/borttagning Läsanvisningar och
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
Försättsblad till skriftlig tentamen vid Linköpings Universitet
Försättsblad till skriftlig tentamen vid Linköpings Universitet Datum för tentamen 2016-03-21 Sal Tid 08:00 12:00 Kurskod Provkod Kursnamn/benämning Institution Antal uppgifter som ingår i tentamen Antal
Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.
Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Omtentamen i Programmering C, 5p, fristående, kväll, 040110.
1(8) ÖREBRO UNIVERSITET INSTITUTIONEN FÖR TEKNIK Lösningar till tentauppgifterna sätts ut på kurssidan på nätet idag kl 19. Denna tenta kommer att vara färdigrättad On 14/1-04 och kan då hämtas på mitt
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
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
SMD 134 Objektorienterad programmering
SMD 134 Objektorienterad programmering Dagens agenda: Typer i Java: primitiva datatyperna, referenstyper Variabler och variabeltilldelningar med primitiva typer Konstanter av de olika typerna. Heltalsräkning
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
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
Föreläsning 10. ADT:er och datastrukturer
Föreläsning 10 ADT:er och datastrukturer ADT:er och datastrukturer Dessa två begrepp är kopplade till varandra men de står för olika saker. En ADT (abstrakt datatyp) är just abstrakt och är inte kopplad
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
Tentamen i Algoritmer & Datastrukturer i Java
Tentamen i Algoritmer & Datastrukturer i Java Hjälpmedel: Skrivhjälpmedel, miniräknare. Ort / Datum: Halmstad / 2008-05-27 Skrivtid: 4 timmar Kontakt person: Nicolina Månsson, tel. 035-167487 Poäng / Betyg:
Tentamen Datastrukturer D DAT 036/DIT960
Tentamen Datastrukturer D DAT 036/DIT960 17 december 2010 Tid: 8.30-12.30 Ansvarig: Peter Dybjer, tel 0736-341480 eller ankn 1035 Max poäng på tentamen: 60. Betygsgränser, CTH: 3 = 24 p, 4 = 36 p, 5 =
Hitta k största bland n element. Föreläsning 13 Innehåll. Histogramproblemet
Föreläsning 13 Innehåll Algoritm 1: Sortera Exempel på problem där materialet i kursen används Histogramproblemet Schemaläggning Abstrakta datatyper Datastrukturer Att jämföra objekt Om tentamen Skriftlig
Lösningsförslag, tentamen FYTA11 Javaprogrammering
Lunds universitet FYTA11 Institutionen för Astronomi och Teoretisk fysik HT 12 Lösningsförslag, tentamen FYTA11 Javaprogrammering Onsdag 9 januari 2013, 10:15 14:15 Instruktioner Hjälpmedel: Papper och
Redovisning av inlämningsuppgifter
Bilaga B Redovisning av inlämningsuppgifter 1 Rapportens innehåll Varje inlämningsuppgift ska redovisas med en skriftlig rapport. Rapporten ska vara häftad och försedd med ett försättsblad med uppgiftens
Programmering A. Johan Eliasson johane@cs.umu.se
Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer
Programmeringsteknik med C och Matlab
Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga
Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa
Lena Kallin Westin 2005-08-22 Institutionen för datavetenskap Umeå universitet TENTAMEN Uppgift (poäng) 1 (2) 2 (3) 3 (4) 4 (4) 5 (3) 6 (4) 7 (6) 8 (6) 9 (8) Summa Inlämnad Poäng Kurs : Programmeringsteknisk
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010)
Tentamen för kursen Objektorienterad programvaruutveckling GU (DIT010) Tid: Onsdagen 15 december 2004, 8:30 till 13:30 Plats: M Ansvarig lärare: Katarina Blom, tel 772 10 60. Läraren besöker tentamen kl
Föreläsning 4: Poster
Föreläsning 4: Poster Följande är genomgånget: type Person_Type is Namn : String(30); Skonr : Float; Kon : Boolean; Diskussion runt detta med olika typer m.m. Har tagit upp vilka operationer man kan göra
Föreläsning 13 och 14: Binära träd
Föreläsning 13 och 14: Binära träd o Binärträd och allmänna träd o Rekursiva tankar för binärträd o Binära sökträd Binärträd och allmänna träd Stack och kö är två viktiga datastrukturer man kan bygga av
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
Vem är vem på kursen. Objektorienterad programvaruutveckling GU (DIT011) Kursbok Cay Horstmann: Big Java 3rd edition.
Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Vem är vem på kursen Objektorienterad programvaruutveckling GU (DIT011) Kursansvarig : Katarina Blom, tel 772 10 60 Rum: 6126 (E-huset)
Föreläsning 3.1: Datastrukturer, en översikt
Föreläsning.: Datastrukturer, en översikt Hittills har vi i kursen lagt mycket fokus på algoritmiskt tänkande. Vi har inte egentligen ägna så mycket uppmärksamhet åt det andra som datorprogram också består,
TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.
Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:
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
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
Övningar Dag 2 En första klass
Kurs i C++ Sid 1 (5) Övningar Dag 2 En första klass Denna övning går ut på att steg för steg bygga upp en klass och skapa objekt. Vi kommer att utgå från en sammansatt datatyp i en struct och parallellt
Tänk på följande: Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.
Tentamen Programmeringsteknik I 2015-01-10 Skrivtid: 8.00 13.00 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 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
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
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 på kursen DA7351, Programmering 1. 051102, kl 08.15-12.15. Malmö högskola Teknik och samhälle. DA7351, Programmering 1 1 051102
Tentamen på kursen DA7351, Programmering 1 051102, kl 08.15-12.15 Tillåtna hjälpmedel: Valfri bok om Java. Vid bedömning av lösningarna tas hänsyn till om dessa uppfyller de krav på programkvalitet (strukturering,
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h
Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :
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å
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
6 Rekursion. 6.1 Rekursionens fyra principer. 6.2 Några vanliga användningsområden för rekursion. Problem löses genom:
6 Rekursion 6.1 Rekursionens fyra principer Problem löses genom: 1. förenkling med hjälp av "sig själv". 2. att varje rekursionssteg löser ett identiskt men mindre problem. 3. att det finns ett speciellt
Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08
Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...
TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P
UME UNIVERSITET Datavetenskap 981212 TENTAMEN PROGRAMMERINGSMETODIK MOMENT 2 - JAVA, 4P Datum : 981212 Tid : 9-15 HjŠlpmedel : Inga Antal uppgifter : 9 TotalpoŠng : 60 (halva pošngtalet kršvs normalt fšr
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
SI-pass 4. Johan Brook och Jesper Persson. 25 september 2012. Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.
SI-pass 4 Johan Brook och Jesper Persson 25 september 2012 1. Sant eller falskt? Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner. Interfaces i Java kan innehålla privata
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
Lektion 1 - Programmeringsteknik F1, ht 2003
Lektion 1 - Programmeringsteknik F1, ht 2003 Daniel Deogun danield@it.uu.se 8 september 2003 Innehåll 1 När är ICA öppet? 3 1.1 Problem................................ 3 1.2 Lösning................................
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 Datastrukturer (DAT037)
Tentamen Datastrukturer (DAT07) Datum och tid för tentamen: 2016-01-09, 14:00 18:00. Ansvarig: Nils Anders Danielsson. Nås på 0700 620 602 eller anknytning 1680. Besöker tentamenssalarna ca 15:00 och ca
Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling
metoder Föreläsning 2 Objektorienterad programmering DD1332 Array [modifierare] String metodnamn (String parameter) Returtyp (utdata typ) i detta fall String Indata typ i detta fall String 1 De får man
Föreläsning 9: Arv och UML
TDA 545: Objektorienterad programmering Föreläsning 9: Arv och UML Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Quiz Vad betyder static? Varför skriver man get-metoder? public int getpos() { return pos;
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
Översikt. Installation av EasyPHP 1. Ladda ner från http://www.easyphp.org/ Jag använder Release 5.3.4.0 2. Installera EasyPHP.
Laboration 1 Översikt 1. Att komma igång med laborationsmiljön a. installera Aptana Studio 3 b. Installera EasyPHP 2. Testa lite programmering a. Testa enkla uppgifter b. Testa automatiskt 3. Skapa inloggningsformulär
Repetition av OOP- och Javabegrepp
ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir
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
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 riktiga provet tar 45 minuter (en lektionstimme) och det
Textsträngar från/till skärm eller fil
Textsträngar från/till skärm eller fil Textsträngar [Kapitel 8.1] In- och utmatning till skärm [Kapitel 8.2] Rekursion Gränssnitt Felhantering In- och utmatning till fil Histogram 2010-10-25 Datorlära,
Repetition av OOP- och Javabegrepp
ArrayList Repetition av OOP- och Javabegrepp En lista i vilken man kan lagra objekt Implementerar List-interfacet Skiljer sig från ett vanligt endimensionellt fält: Dynamisk expanderar när den blir
Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program
Dagens föreläsning Programmeringsteknik för Ingenjörer VT05 Föreläsning 3-4 Repetition Datatyper Uttryck Operatorer Satser Algoritmer Programmeringsteknik VT05 2 Repetition Repetition - Programmering i
Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs
Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera först talet 37 med 2. Använd heltalsdivision. Det ger kvoten
Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen 20150613, kl. 9.00-12.00
Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 FACIT Tentamen 20150613, kl. 9.00-12.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del
Föreläsning 5 Innehåll
Föreläsning 5 Innehåll Algoritmer och effektivitet Att bedöma och jämföra effektivitet för algoritmer Begreppet tidskomplexitet Datavetenskap (LTH) Föreläsning 5 VT 2019 1 / 39 Val av algoritm och datastruktur
Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201)
Omtentamen (del 1, 6 högskolepoäng) i Programkonstruktion och datastrukturer (1DL201) Lars-Henrik Eriksson Fredag 5 april 2013, kl 14:00 17:00, i Polacksbackens skrivsal Hjälpmedel: Inga. Inte heller elektronisk
LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen?
ICT LEGO Robot programmering och felsökning Hur svårt ska det vara att följa den svarta linjen? Daniel Lindfors 12/9/07 dlindf@kth.se Introduktionskurs i datateknik II1310 Sammanfattning Denna laboration
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.
ADT Kö. Seminarium 4 Köer och Stackar Innehåll. Operationer. ADT Stack. Definition. Definition
Seminarium 4 Köer och Stackar Innehåll ADT:erna Kö och Stack Definitioner Operationer Exempel på användning Givna klasser i Java Interfacet Queue Klassen Stack Klassen LinkedList Klassen PriorityQueue
Tentaupplägg denna gång
Några tips på vägen kanske kan vara bra. Tentaupplägg denna gång TIPS 1: Läs igenom ALLA uppgifterna och välj den du känner att det är den lättaste först. Det kan gärna ta 10-20 minuter. Försök skriva
Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling
Göteborg, Magnus Myréen, 2014-10- 15 Detta dokument är ett exempel, cirka hälften av en tentamen för TDA545 Objektorienterad programvaruutveckling Fulltentamen vitsord: 3=28p, 4=38p, 5= 48p, max 60p. Max
Föreläsning 9 Innehåll
Föreläsning 9 Innehåll Binära sökträd algoritmer för sökning, insättning och borttagning, implementering effektivitet balanserade binära sökträd, AVL-träd Abstrakta datatyperna mängd (eng. Set) och lexikon
Seminarium 3 Introduktion till Java Collections Framework Innehåll. Generik Bakgrund. Exempel på en generisk klass java.util.arraylist.
Seminarium 3 Introduktion till Java Collections Framework Innehåll Generik Bakgrund Java Collections Framework interface och klasser för samlingar av element interfacen Iterator och Iterable och foreach-sats
Fält av referenser. Konstruktorerna används för att skapa Bilar och Trafikljus.
Fält av referenser Tanken med objekt är man kan bygga ihop olika sorts objekt till nya saker. Sålunda kan man exempelvis använda Bil och Trafikljus att konstruera ett Väg-objekt. Om Bil och Trafikljus
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
OOP Objekt-orienterad programmering
OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym
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
Föreläsning Innehåll. Hantera många element. Exempel: polygon Godtyckligt antal element. Exempel: polygon forts
Föreläsning 11-12 Innehåll Hantera många element Tidigare har vi använt vektorer för att lagra många element av samma tp. Eempel: Klassen ArraList Inläsning från tetfil, utskrift på tetfil int[] nbrs
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.
Föreläsning 14 Innehåll
Föreläsning 14 Innehåll Abstrakta datatyper, datastrukturer Att jämföra objekt övriga moment i kursen Om tentamen Skriftlig tentamen både programmeringsuppgifter och teoriuppgifter Hitta fel i fingerade
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
Dagens program. Programmeringsteknik och Matlab. Vad är arv? Vi ärver från GregorianCalendar. Kan vi bygga vidare på existerande klasser?
Programmeringsteknik och Matlab Övning 6 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
Föreläsning 5 (6) Metoder. Metoder Deklarera. Metoder. Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc
Föreläsning 5 (6) Metoder Metoder Parametrar Returvärden Överlagring Konstruktorer Statiska metoder tostring() metoden javadoc Metoder Deklarera public void setnamn(string n) Åtkomstmodifierare Returtyp
Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.
-Algoritmer och Datastrukturer- Abstrakt datatyp Datatyp för en variabel Betecknar i ett programmeringsspråk den mängd värden variabeln får anta. T ex kan en variabel av typ boolean anta värdena true och
Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.
Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen
Tentamen: Programutveckling ht 2015
Tentamen: Programutveckling ht 2015 Datum: 2015-11-04 Tid: 09:00-13:00 Sal: Ansvarig: Resultat: Hjälpmedel: Maxpoäng: Betygsgränser: Anslås inom 3 veckor. Inga 40 p 20 p för G, 32 p för VG. Iakttag följande:
OOP Omtenta 2011-03-05 10.00 15.00
Stockholms universitet 1 (6) OOP OOP Omtenta 2011-03-05 10.00 15.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv
Programmering för språkteknologer II, HT2011. Rum
Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Idag - Hashtabeller - Flerdimensionella arrayer (2D) 2 Repetition -