Datastrukturer. Föreläsning Innehåll. Program med vektor Exempel. Deklarera vektorer
|
|
- Anna-Karin Ekström
- för 6 år sedan
- Visningar:
Transkript
1 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 övning 4 laboration 7-8 Avsnitt i läroboken: , 8.1, 11 EDAA2 (F1-12 programmering) HT / 59 Datastrukturer En datastruktur kan innehålla många element. har ett namn, men man kan även komma åt enskilda element. lista träd graf I kursen används listor i form av vektorer klassen ArrayList EDAA2 (F1-12 programmering) HT / 59 Program med vektor Exempel public class MysteryProgram { public static void main(string[] args) { System.out.println("Skriv ett n-värde och " + "därefter n heltal:"); Scanner scan = new Scanner(System.in); int n = scan.nextint(); int[] v = new int[n]; for (int i = ; i < v.length; i++) { v[i] = scan.nextint(); for (int i = v.length - 1; i >= ; i--) { System.out.println(v[i]); Vad gör programmet? EDAA2 (F1-12 programmering) HT / 59 Deklarera vektorer Vektorer deklareras precis som andra variabler med datatyp namn elementens typ int[] v; Markerar att det är en vektor och inte en vanlig int-variabel vektorns namn Vektorer är objekt i Java. v är alltså en referensvariabel. Observera att själva vektorn inte är skapad ännu. EDAA2 (F1-12 programmering) HT / 59 v
2 Skapa vektorer Vektorer är objekt vektorns namn elementens typ v = new int[5]; Antal element måste anges. Elementen får automatiskt startvärden. antal element v [] [1] [2] [3] [4] Oftast deklarerar och skapar man vektorn på samma gång: int[] v = new int[5]; v [] [1] [2] [3] [4] Vektorer är objekt i Java. v refererar till vektorn (vilket framgår av bilden ovan). Men ofta ritar man en enklare bild av vektorn: v EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Använda vektorelement Ta reda på vektorns längd vektorns namn index Använd length för att ta reda antal element i vektorn. v[] = 42; Ett vektorelement används som en vanlig variabel. Det är viktigt att indexet håller sig inom gränserna [, antal element 1] for (int i = ; i < v.length; i++) { v[i] = scan.nextint(); Tänk på att elementen numreras från och uppåt. EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59
3 Övning Skapa vektor Deklarera och skapa en vektor numbers med plats för 5 stycken element av typen double. Tilldela första elementet värdet 7.2. numbers [] [1] [2] [3] [4] Deklarera och skapa en vektor exist med plats för 4 stycken element av typen boolean. Tilldela tredje elementet värdet true. exist [] [1] [2] [3] false false true false Vektorer är objekt Referenstilldelning Vad händer i detta exempel? Hur många vektorer skapas? Vad refererar b till? Komplettera bilden. int[] a = new int[3]; a[] = 7; a[1] = 8; a[2] = 9; int[] b = a; a [] 7 [1] 8 [2] 9 EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Kopiera vektorer Exempel Kopiera a, dvs. skapa en ny vektor med samma innehåll som a. int[] a = new int[3]; a[] = 7; a[1] = 8; a[2] = 9; int[] b = new int[a.length]; for (int i = ; i < a.length; i++) { b[i] = a[i]; Genvägar Överkurs, men praktiskt // Skapa en vektor när man vet innehållet: int[] a = {7, 8, 9; // Kopiera en vektor till en ny vektor med längden a.length: int[] b = Arrays.copyOf(a, a.length); // Metoden Arrays.toString returnerar en sträng med vektorns // innehåll. Skriv ut innehållet i vektorn: System.out.println(Arrays.toString(b)); a [] 7 [1] 8 [2] 9 b [] 7 [1] 8 [2] 9 a [] 7 [1] 8 [2] 9 b [] 7 [1] 8 [2] 9 EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59
4 Lagra objekt i vektorer Lagra objekt i vektorer forts Vektorn vertices med plats för tre Point-objekt: Point[] vertices = new Point[3]; vertices[] = new Point(1,15); vertices[1] = new Point(5,1); vertices[2] = new Point(9,12); vertices [] [1] [2] null null null vertices Varje vektorelement är en referensvariabel av typen Point. Observera att vi inte har skapat några punktobjekt ännu, bara en vektor med plats för punkter. x y 1 15 x y 5 1 x y 9 12 EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Klassen Triangle Huvudprogram som använder klassen Triangle public class Triangle { private Point[] vertices; // triangelns hörnpunkter /** Skapar en triangel med hörnpunkterna x1,y1 x2,y2 x3,y3. */ public Triangle(int x1,int y1,int x2,int y2,int x3,int y3) { vertices = new Point[3]; vertices[] = new Point(x1,y1); vertices[1] = new Point(x2,y2); vertices[2] = new Point(x3,y3); /** Ritar triangeln i fönstret w. */ public void draw(simplewindow w) { w.moveto(vertices[].getx(), vertices[].gety()); for (int i = 1; i < vertices.length; i++) { w.lineto(vertices[i].getx(), vertices[i].gety()); w.lineto(vertices[].getx(), vertices[].gety()); EDAA2 (F1-12 programmering) HT / 59 public class TriangleExample { public static void main(string[] args) { Triangle t = new Triangle(1, 15, 5, 1, 9, 12); SimpleWindow w = new SimpleWindow(2, 2, "Triangel"); t.draw(w); EDAA2 (F1-12 programmering) HT / 59
5 Registrering Exempel på användning av heltalsvektor Uppgift: Räkna antal element av olika slag. Lösning: Använd en vektor av typ int[] för att lagra de olika antalen. Räkna mynt.vi behöver en låda för enkronor, en för femkronor och en för tiokronor: int[] nbrcoins = new int[3]; enkronor femkronor tiokronor EDAA2 (F1-12 programmering) HT / 59 räkna antal 6:or public class DieTest { public static void main(string[] args) { Die d = new Die(); Scanner scan = new Scanner(System.in); System.out.println("Antal tärningskast: "); int nbrrolls = scan.nextint(); int nbr6 = ; for (int i = ; i < nbrrolls; i++) { d.roll(); if (d.getresult() == 6) { nbr6++; System.out.println("Det blev en 6:a i " + (double) nbr6/nbrrolls * 1 + " % av fallen"); Ändra i programmet så att även antal 1:or, antal 2:or,... räknas. EDAA2 (F1-12 programmering) HT / 59 räkna antal olika tärningskast registrera poäng Räkna antal 1:or, antal 2:or... int[]res = new int[6]; for (int i = ; i < nbrrolls; i++) { d.roll(); res[d.getresult() - 1]++; res antal 1:or antal 2:or antal 6:or Antag att ett antal studenter har skrivit ett prov. På provet kan man ha max 5 poäng. Vi ska räkna antal studenter som har, 1,..., 5 poäng. antal studenter som har -9, 1-19, 2-29, 3-39, 4-5 poäng. Vi koncentrerar oss här bara på registreringen och och skriver ett litet huvudprogram där vi antar att antal studenter är 1. Poängen slumpar vi fram. (De blir rektangelfördelade vilket är orealistiskt.) I läroboken finns det ett större exempel med klasser för studenter och prov. EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59
6 registrera poäng, 1,..., 5 public class RegExample { public static void main(string[] args) { Random rand = new Random(); int[] nbrs = new int[5]; // antal med poäng, // antal med 1 poäng... for (int i = ; i < 1; i++) { int p = rand.nextint(51); // slumpa poäng nbrs[p]++; // notera poängen System.out.println(Arrays.toString(nbrs)); nbrs antal med poäng 1 antal med 1 poäng 2 antal med 2 poäng... 5 antal med 5 poäng registrera poäng -9, 1-19, 2-29, 3-39, 4-5 Vi har 5 intervall och behöver en vektor med 5 platser: int[] nbrs = new int[5]; Översättning från poängantal till index: int index = p / 1; Poängantalet 5 måste särbehandlas. nbrs -9 poäng 1-19 poäng poäng poäng poäng EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 registrera poäng -9, 1-19, 2-29, 3-39, 4-5, forts Registrering Kommentar public class RegExampleInterval { public static void main(string[] args) { Random rand = new Random(); int[] nbrs = new int[4]; // antal med -1 poäng, // antal med 1-19 poäng... for (int i = ; i < 1; i++) { int p = rand.nextint(51); // slumpa poäng int index = p / 1; // Ex: 37 poäng ger index 3 if(index == 5){ //särbehandla 5 poäng index = 4; nbrs[index]++; System.out.println(Arrays.toString(nbrs)); Passar det alltid att använda en heltalsvektor för att räkna antal av olika slags element? Ideexempelvianvänthardetvaritlättattöversättafrån slagav element till index i resultatsvektorn. I andra fall är det svårare. Antag att vi ska räkna antal förekomster av olika ord i en text. I så fall är det bättre att vi lagrar ordet tillsammans med antal förekomster i någon annan datastruktur. Det finns färdiga klasser i Java som kan användas i sådana fall (t.ex. HashMap) Detta behandlas i en senare kurs. EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59
7 Linjärsökning Mönster Uppgift: Sök upp givet element i en följd av element. Lösning: Gå igenom elementen i tur och ordning och kontrollera för varje element om det är det sökta. Avbryt om det sökta elementet påträffas. EDAA2 (F1-12 programmering) HT / 59 Diskutera public static int indexof(int[] v, int nbr) { for (int i = ; i < v.length; i++) { if (v[i] == nbr) { return i; else { return -1; Varför fungerar inte det här? EDAA2 (F1-12 programmering) HT / 59 Linjärsökning Med for-sats Algoritm: for (int i = ; i < "antal element"; i++) { if ("elementet på plats i är det vi söker") { avbryt /** Sök efter talet nbr i vektorn v. Om nbr finns returneras platsen för nbr, annars -1 */ public static int indexof(int[] v, int nbr) { for (int i = ; i < v.length; i++) { if (v[i] == nbr) { return i; return -1; EDAA2 (F1-12 programmering) HT / 59 Linjärsökning Med while-sats Algoritm: i = "platsen för det första elementet" while ("fler element kvar att söka igenom" && "elementet på plats i inte är det vi söker") i = platsen för nästa element public static int indexof(int[] v, int nbr) { int i = ; while (i < v.length && v[i]!= nbr) { i++; if (i < v.length) { return i; else { return -1; EDAA2 (F1-12 programmering) HT / 59
8 Diskutera Ordningen mellan delvillkoren är viktig. Varför måste jämförelsen i < v.length göras först? int i = ; while (i < v.length && v[i]!= nbr) { i++; Varför kan man inte använda villkoret v[i] == nbr för att avgöra om man funnit talet nbr eller ej? if (i < v.length) { return i else { return -1; Linjärsökning Kommentar I exemplet på föregående sida förutsäter vi att vektorns alla platser används och ska sökas igenom. Vi har alltså v.length element att söka igenom: while (i < v.length && v[i]!= nbr) I motsvarande exempel i läroboken (avsnitt 8.8) har man en vektor där de bara de n första platserna i vektorn utnyttjas: while (i < n && v[i]!= nbr) { EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Klassen Arrays I Java finns det en klass Arrays som innehåller en hel del metoder bland annat för att söka i vektorer och sortera. Antag att vi har en vektor v av typen int[] med sorterade heltal. Då kan vi söka efter platsen för talet 42 på följande sätt: int index = Arrays.binarySearch(v, 42); Vektorn kan sorteras genom följande anrop: Arrays.sort(v); Att använda denna klass ingår ej i kursen, men det kan vara bra att veta att det finns en hel del färdigt om du fortsätter skriva program efter kursens slut. Vill du veta mera så se vidare i Javas dokumentation. EDAA2 (F1-12 programmering) HT / 59 polygon Vektorer med godtyckligt antal element Antag att vi vill hantera polygoner med ett godtyckligt antal hörnpunkter. Vi måste skapa en tillräckligt stor vektor för punkterna. Det behövs också en variabel som håller reda på hur många punkter vi satt in i vektorn: Point[] vertices = new Point[8]; int n = ; vertices null null null null null n null null null EDAA2 (F1-12 programmering) HT / 59
9 polygon forts Polygon med fyra hörnpunkter vertices null null null null Sätta in en ny punkt Insättning av en ny punkt efter de andra punkterna i polygonen: vertices[n] = new Point(2, 4); n++; vertices null null null x 5 x 7 x 35 x 32 y 5 y 3 y 35 y 2 x 5 x 7 x 35 x 32 x 2 y 5 y 3 y 35 y 2 y 4 n 4 n 5 EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Klassen Polygon Ta bort en punkt public class Polygon { private Point[] vertices; private int n; // polygonens hörnpunkter // antal hörnpunkter Borttagning av punkten på plats pos i vektorn vertices: Täpp till hålet i vektorn genom att flytta flytta alla element efter pos ett steg till vänster. Uppdatera n eftersom antal punkter minskat med 1. /** Skapar en polygon med max 8 hörnpunkter. */ public Polygon() { vertices = new Point[8]; n = ; /** Sätter in en ny punkt med koordinaterna x, y. */ public void addvertex(int x, int y) { vertices[n] = new Point(x, y); n++; public void removevertex(int pos) { for (int i = pos; i < n - 1; i++) { vertices[pos] = vertices[pos + 1]; vertices[n - 1] = null; n--; EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59
10 Före borttagning av punkten Efter borttagning av punkten vertices null null null vertices null null null null x 5 x 7 x 35 x 32 x 2 y 5 y 3 y 35 y 2 y 4 x 5 x 35 x 32 x 2 y 5 y 35 y 2 y 4 n pos 5 1 n pos 4 1 EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Passar en vektor för detta? Linjärsökning Klassen Polygon I exemplet på föregående bilder måste vi gissa hur stor vektor vi behöver. Vad händer om vi vill sätta in fler än 8 punkter? Då måste vi skapa en ny större vektor. För problem där antal element varierar är det enklare att använda den färdiga klassen ArrayList (behandlas senare i kursen). Ett ArrayList-objekt använder internt en vektor och har färdiga metoder för att sätta in element i listan, ta bort element etc. Lägg till en metod som undersöker om punkten x, y ingår bland polygonens hörnpunkter. public boolean hasvertex(int x, int y) { for (int i = ; i < n; i++) { if (vertices[i].getx() == x && vertices[i].gety() == y) { return true; return false; EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59
11 Håll koll på typerna Matriser Kontrollera att typerna stämmer vid tilldelningar och jämförelser för att undvika fel. namn typ index i int vektorn med punkter vertices Point[] en punkt vertices[i] Point punktens x-koordinat vertices[i].getx() int punktens y-koordinat vertices[i].gety() int rad rad 1 rad 2 kolonn kolonn kolonn kolonn kolonn EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Deklarera och skapa matriser Använda matriser Att använda ett matriselement: elementens typ radindex kolonnindex int[][] m = new int [3][5]; m[2][] = ; antal rader antal kolonner Man kan ta reda på antal rader: m.length och antal kolonner på raden i: m[i].length EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59
12 Övning Matris Exempel Matris Deklarera och skapa en matris som representerar ett schackbräde med 8 x 8 rutor. På rutorna ska man kunna placera schackpjäser som beskrivs av en klass ChessPiece. Beräkna och skriv ut radsummorna i en 3 x 5-matris. för varje rad för varje element på raden behandla elementet for (int i = ; i < m.length ; i++) { int sum = ; for (int k = ; k < m[i].length; k++) { sum = sum + m[i][k]; System.out.println(sum); EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Övning Matris Antag att vi har en matris booked av typen boolean[][] som ska användas för att hålla reda på bokade platser i en biosalong. Varje matriselement motsvarar en plats i salongen och har värdet true om platsen är bokad, i annat fall värdet false. Skriv satser som räknar antal bokade platser. Klassen String Klassen String beskriver en teckensträng (en följd av tecken). Tecknen kan läsas av men inte ändras. String s = "En massa tecken"; String empty = ""; s empty En massa tecken EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59
13 Slå ihop (konkatenera) strängar Behandla alla tecken i strängen String s1 = "En text"; String s2 = "En text till"; String result = s1 + " och " + s2; Mönster: String s =...; for (int i = ; i < s.length(); i++) { // aktuellt tecken nås med anropet s.charat(i); s1 s2 result En text En text till En text och En text till Räkna antal blanktecken i strängen s. int spaces = ; for (int i = ; i < s.length(); i++) { if (s.charat(i) == ) { spaces++; EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Övning Jämföra teckensträngar med equals Vad skrivs ut? Förklara varför. Scanner scan = new Scanner(System.in); String s1 = scan.next(); String s2 = scan.next(); if (s1 == s2) { System.out.println("Lika"); else { System.out.println("Inte lika"); s1 s2 abc abc Vill man jämföra innehållet i teckensträngarna måste man använda metoden equals: /** Returnerar true om innehållet i aktuell sträng är lika med innehållet i s. */ boolean equals(object s); if (s1.equals(s2)) { System.out.println("Samma innehåll"); else { System.out.println("Inte samma innehåll"); EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59
14 Jämföra teckensträngar med compareto Klassen StringBuilder Med metoden compareto kan man avgöra om en sträng är större än eller mindre än en annan sträng: /** Jämför aktuell sträng med s. Returnerar om teckensträngarna är lika, ett negativt tal om aktuell sträng är mindre än s, ett positivt tal om aktuell sträng är större än s. */ int compareto(string s); Klassen StringBuilder beskriver en följd av tecken som kan läsas och ändras. StringBuilder b = new StringBuilder("En massa tecken"); b.append("!"); String s1 = "java"; s1.compareto("java") == s1.compareto("javac") < s1.compareto("java") > s1.compareto("jazz") < b En massa tecken! EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Några metoder i klassen StringBuilder /** Skapar en tom strängbuffert. */ StringBuilder(); /** Skapar en strängbuffert med samma innehåll som s. */ StringBuilder(String s); /** Tar reda på antal tecken. */ int length(); /** Tar reda på tecknet på plats pos. */ char charat(int pos); /** Returnerar ett String-objekt med samma innehåll som denna strängbuffert. */ String tostring(); Ändra innehållet i StringBuilder-objekt /** Lägger in s efter tecknen i strängbufferten. */ StringBuilder append(string s); /** Ändrar tecknet på plats k till ch. */ void setcharat(int k, char ch); /** Lägger in s på plats k, flyttar tecknen efter. */ StringBuilder insert(int k, String s); /** Tar bort tecknet på plats k. */ StringBuilder deletecharat(int k); Man kan sätta in värden av andra typer än String i ett StringBuilderobjekt. Det finns flera metoder append och insert. Dessa har en parameter av typen int, double, char,... EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59
15 Metoden tostring Det är vanligt att man lägger till metoden tostring i sina klasser. Metoden tostring anropas t.ex. inuti println och används av debuggern när ett objekt ska skrivas ut. Metoden tostring i klassen Point (kap. 3) kan se ut så här: public String tostring() { return x + " " + y; eller så här: Delmål 2 Repetition På föreläsning 12 blir det repetition inför delmålskontroll 2. Det vi ska repetera är framförallt: implementering av klasser använda vektorer och matriser Material till denna repetitionsföreläsning delas ut separat. public String tostring() { StringBuilder b = new StringBuilder(); b.append(x); b.append( ); b.append(y); return b.tostring(); EDAA2 (F1-12 programmering) HT / 59 EDAA2 (F1-12 programmering) HT / 59 Checklista Exempel på vad du ska kunna Förklara begreppen datastruktur, vektor, matris. Deklarera, skapa och använda vektorer och matriser. Formulera algoritmer och programkod för att söka i en vektor eller matris (linjärsökning). Formulera algoritmer och programkod för att räkna antal element av olika slag (registrering). Använda klasserna String och StringBuilder Implementera och använda klasser (större än tidigare). EDAA2 (F1-12 programmering) HT / 59
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
Läs merFö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
Läs merAtt 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
Läs merFö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å
Läs merEDAA20 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
Läs merObjekt 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
Läs merFöreläsning 10 OM DELMÅLSKONTROLLEN ; VARIABLERS SYNLIGHET STRING OCH STRINGBUILDER
Föreläsning 10 OM DELMÅLSKONTROLLEN ; VARIABLERS SYNLIGHET STRING OCH STRINGBUILDER Denna vecka Läsperiodens sista föreläsning Uppsamlingslabb (laboration 6 redovisas först nästa läsperiod) Ingen resurstid
Läs merFö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
Läs merFö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äs merSaker 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
Läs merFö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
Läs merFö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
Läs merFö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
Läs merEDAA20 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
Läs merFö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,
Läs merFöreläsning 5-6 Innehåll
Föreläsning 5-6 Innehåll Skapa och använda objekt Skriva egna klasser Datavetenskap (LTH) Föreläsning 5-6 HT 2017 1 / 32 Exempel på program med objekt public class DrawSquare { public static void main(string[]
Läs merDatatyper 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
Läs merEDAA20 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
Läs merDagens 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
Läs merProgramexempel: 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
Läs merAlgoritmexempel. 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
Läs merFö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
Läs merTentamen, 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
Läs merFöreläsning 7 Innehåll. Rekursion. Rekursiv problemlösning. Rekursiv problemlösning Mönster för rekursiv algoritm. Rekursion. Rekursivt tänkande:
Föreläsning 7 Innehåll Rekursion Rekursivt tänkande: Hur många år fyller du? Ett år mer än förra året! Rekursion Rekursiv problemlösning Binärsökning Generiska metoder Rekursiv problemlösning: Dela upp
Läs merTentamen, 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
Läs merExempel på program med objekt Klass med main-metod. Föreläsning 3-4 Innehåll. Övning Viktiga begrepp
Föreläsning 3-4 Innehåll Eempel på program med objekt Klass med main-metod Klasser Implementera (skriva programkod för) egna klasser Datatper Undervisningsmoment: föreläsning 3-4 övning 2 laboration 3-5
Läs merFöreläsning 2, vecka 8: Repetition
TDA 548: Grundläggande Programvaruutveckling Föreläsning 2, vecka 8: Repetition Magnus Myréen Chalmers, läsperiod 1, 2016-2017 Idag Metoder och terminologi Referensvärden och arrays Interface och ritning
Läs merFö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
Läs merProgrammeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner
Programmeringsteknik och Matlab Övning 3 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
Läs merTentamen 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
Läs merObjekt-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
Läs merFö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
Läs merDel 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
Läs merLite 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
Läs merAnmä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
Läs merGrundkurs 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
Läs merTentamen, 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.
Läs merDagens 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äs merDagens 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
Läs merInstuderingsfrå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
Läs merOOP 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
Läs merExempel 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.
Läs merIdag. Javas datatyper, arrayer, referenssemantik. Arv, polymorfi, typregler, typkonvertering. Tänker inte säga nåt om det som är likadant som i C.
Idag Javas datatyper, arrayer, referenssemantik Klasser Arv, polymorfi, typregler, typkonvertering Strängar Tänker inte säga nåt om det som är likadant som i C. Objectorienterad programmering Sida 1 Ett
Läs merString [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning
Dagens Agenda String [] argv String [] argv Arrayer och Strängar fortsättning Booleska operatorer if, for, while satser Introduktion till algoritmer public static void main(string [] argv) argv är variabelnamnet
Läs merI ett program hantera man ofta samlingar av objekt av samma typ.
Fält I ett program hantera man ofta samlingar av objekt av samma typ. Sådana samlingar vill man vanligtvis kunna gruppera ihop till en sammanhängande struktur. För detta ändamål tillhandahåller Java språkkonstruktioner
Läs merFöreläsning 6: Metoder och fält (arrays)
TDA 545: Objektorienterad programmering Föreläsning 6: Metoder och fält (arrays) Magnus Myréen Chalmers, läsperiod 1, 2015-2016 I (föregående och) denna föreläsning Läsanvisning: kap 2 & 13 meddelanden
Läs merJAVAUTVECKLING LEKTION 8
JAVAUTVECKLING LEKTION 8 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Fält (Arrayer) Att skapa och arbeta med fält Indexering Jämförelse av fält Flerdimensionella fält 1 VAD
Läs merTentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2017-08-14 Tid: 14.00-18.00 Hjälpmedel: Lexikon Engelskt-Valfritt språk. Betygsgränser: U: -23 3: 24-37 4: 38-47 5
Läs merTENTAMEN 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
Läs merDatalogi 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
Läs merTypkonvertering. Java versus C
Typer Objektorienterad programmering E Typkonvertering Typkonvertering Satser: while, for, if Objekt Föreläsning 2 Implicit konvertering Antag att vi i ett program deklarerat int n=3; double x = 5.2; Då
Läs merTentamen, 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
Läs merDAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU
DAT043 Objektorienterad programmering för D, DIT011 Objektorienterad programvaruutveckling för GU lösningsförslag till tentamen 2017-06-09 Tid: 8:30-12:30. Plats: SB. Ansvarig lärare: Fredrik Lindblad,
Läs merDagens 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
Läs merFö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
Läs mer2. 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äs merOOP Objekt-orienterad programmering
OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion Deklaration och tilldelning OOP F2:2 int x; double d; char ch; boolean
Läs merObjektorienterad programmering. Fält som funktionsresultat. Mer om fält: att uppdatera ett parameterfält. Kontrast: Parametrar av primitiv typ
orienterad programmering Föreläsning 3 Exempel: Telefonboken Fält som funktionsresultat Exempel Definiera static double[] vectorsum(double[] a, double[] b) Betrakta sedan följande kodavsnitt:... double[]
Läs mer732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning
Varför? 732G11 Linköpings universitet 2011-02-08 Varför? 1 2 3 Varför? 4 5 Medelvärde av 5000 tal Varför? while-loopen int nrofints = 5000; int [] integers = new int [ nrofints ]; int pos = 0; while (
Läs mer1 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
Läs merFö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
Läs mer2D1311 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
Läs merFöreläsning 8: Exempel och problemlösning
TDA 545: Objektorienterad programmering Föreläsning 8: Exempel och problemlösning Magnus Myréen Chalmers, läsperiod 1, 2015-2016 De tre senaste föreläsningarna Läsanvisning: kap 2 & 13 meddelanden och
Läs merProgrammering 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
Läs merFöreläsning 1-2 innehåll
Föreläsning 1-2 innehåll Om kursen Kursens mål och innehåll Praktisk information om kursen Programmering program, algoritmer variabler, datatyper och tilldelningssatser läsa in värden från tangentbordet,
Läs merTentamen, 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
Läs merProgrammering 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 -
Läs merLö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
Läs merOutline. I Vi kan lätt göra samma sak för fyra variabler... I Hur gör vi för 400 inlästa värden? I Ofta behöver man flera likadana variabler
Outline Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vända om inlästa värden Vända om inlästa
Läs merDagens 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
Läs merPROGRAMMERING-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. -
Läs mer2D1339 Programkonstruktion för F1, ht 2003
2D1339 Programkonstruktion för F1, ht 2003 Kontrollskrivning 1 Onsdag 19/11 2003 kl 9.15 10.00 Endast ett svar är rätt på varje fråga! Om mer än ett svar givits blir det noll poäng på frågan. Alla skriftliga
Läs mer(Man brukar säga att) Java är... Denna föreläsning. Kompilering av Java. Historik: Java. enkelt. baserat på C/C++ Allmänt om Java
(Man brukar säga att) Java är... Denna föreläsning Allmänt om Java Javas datatyper, arrayer, referenssemantik Klasser Strängar enkelt baserat på C/C++ objekt-orienterat från början dynamiskt utbyggbart
Läs merFöreläsning Innehåll. Generisk klass. Några metoder i klassen ArrayList<E>
Föreläsning 13-15 Innehåll Klassen ArrayList Klassen ArrayList Inläsning från textfil, utskrift på textfil Arv Undervisningsmoment: föreläsning 13-15 övning 5 laboration 9-10 Avsnitt i läroboken:
Läs merFöreläsning 13 Innehåll
Föreläsning 13 Innehåll Arv Repetition Om tentamen Datavetenskap (LTH) Föreläsning 13 HT 2017 1 / 32 Diskutera Här är början på klassen MemoryWindow som använts på en lab. Vad kan menas med extends SimpleWindow?
Läs mer725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack
725G61 - Laboration 2 Loopar och arrayer Johan Falkenjack October 29, 2013 1 Inledning I labb 1 lärde vi oss om de primitiva datatyperna (och lite om String). Vi lärde oss också att använda variabler av
Läs merObjektorienterad 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
Läs merTentamen 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)
Läs merAnmä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
Läs merTentamen 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
Läs merTentamen 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:
Läs merOOP Objekt-orienterad programmering
OOP F4:1 OOP Objekt-orienterad programmering Föreläsning 4 Metoder klass-metoder instans-metoder Metoder - subrutiner OOP F4:2 Kod som utför en viss operation. Ligger i olika klasser och anropas via operatorn.
Läs merFöreläsning Innehåll. Checklista. Några metoder i klassen ArrayList<E> Exempel på vad du ska kunna
Föreläsning 13-15 Innehåll Checklista Klassen ArrayList Arv Undervisningsmoment: föreläsning 13-15 övning 5 laboration 9-10 Avsnitt i läroboken: 12.1-3, 12.8, 9.1-9.6, 10 Avsnitt 12.6 och 12.10 ingår
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning V: arrayer, metoder, räckvidd (scope), eclipse Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Arrayer Metoder Räckvidd (Scope) Eclipse
Läs merLösningsförslag: Instuderingsfrågor, del D
Uppgift 1. Objektorienterad programmering, Z1 Lösningsförslag: Instuderingsfrågor, del D a) Inget fält behövs. Man kan läsa in ett tal i taget och addera dessa till summan. b) Här behövs ett fält. c) Här
Läs merFö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
Läs merProgrammering 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
Läs merLö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
Läs merDel 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
Läs merTentamen i Programmeringsteknik I,, KandMa/Fy,
Tentamen i Programmeringsteknik I,, KandMa/Fy, 2010-10-19 Skriv tid: 14-17. Hjälpmedel: 1. Kurslitteratur, en av följande: Lewis & Loftus, Java Software Solutions Skansholm, Java Direkt Guzdial & Ericson,
Läs merGrundlä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
Läs mer[] Arrayer = Indexerad variabel
[] Arrayer = Indexerad variabel Lagra många värden i en variabel Jmfr inom matematiken, variabler x 0, x 1, x 2, I detta dokument tas upp hur man skapar och hanterar sådana variabler i java. Dessa kallas
Läs merHej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer
Programmering hh.se/db2004 Föreläsning 3: Java. Grundtyper, variabler och arrayer Hej Då, Karel! Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Center for Research on Embedded
Läs merAlgoritmer. Två gränssnitt
Objektorienterad programmering E Algoritmer Sökning Linjär sökning Binär sökning Tidsuppskattningar Sortering Insättningssortering Föreläsning 9 Vad behöver en programmerare kunna? (Minst) ett programspråk;
Läs merTentamen i Grundläggande Programvaruutveckling, TDA548
Tentamen i Grundläggande Programvaruutveckling, Joachim von Hacht/Magnus Myreen Datum: 2016-12-20 Tid: 08.30-12.30 Hjälpmedel: Engelskt-Valfritt språk lexikon Betygsgränser: U: -23 3: 24-37 4: 38-47 5
Läs merTENTAMEN 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
Läs merDatastrukturer. Erik Forslin. Rum 1445, plan 4 på Nada
Datastrukturer Vad är en datastruktur? Vad är en datatyp? Primitiva datatyper i Java Icke-primitiva datatyper i Java Minnesexempel med datastrukturer Vektorer i Java Erik Forslin efo@nada.kth.se Rum 1445,
Läs merPROGRAMMERING-Java TENTAMINA
PROGRAMMERING-Java TENTAMINA Nicolina Månsson 2010-03-17 Tentamensinstruktioner Poängsättning Hela tentamen omfattar 42 poäng. Poäng för varje uppgift står angivet inom parentes före varje uppgift. - För
Läs merFö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
Läs merArrayer (fält)
Arrayer (fält) 1 Vad kommer vi att ta upp om arrayer? Deklarera och initiera arrayen Lägga till i arrayen Ta ut på indexposition Ta reda på arrayens längd Sortera arrayen Söka igenom arrayen Loopa igenom
Läs mer