725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack

Save this PDF as:
 WORD  PNG  TXT  JPG

Storlek: px
Starta visningen från sidan:

Download "725G61 - Laboration 2 Loopar och arrayer. Johan Falkenjack"

Transkript

1 725G61 - Laboration 2 Loopar och arrayer Johan Falkenjack October 29, 2013

2 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 olika typer. I slutet av labben lärde vi oss också lite om villkorssatser. Detta låter oss lösa enkla beräkningsproblem men vill vi ha någon form av interaktivitet eller upprepning räcker det inte långt. Vi kommer dock inte lämna något av detta bakom oss för att göra något helt annat, variabler och villkorssatser är fundamentala för programmering och kommer följa med oss genom alla labbar framöver. En av de viktigaste aspekterna av programmering är att kunna upprepa ett stycke kod. T.ex. kanske man vill läsa in kommandon till programmet och skriva ut resultaten av att köra dessa kommandon, som i en klassisk DOSprompt. Detta kallas för en interaktionsloop och sådana kommer vi titta mer på i labb 4. Vi kan också ha en mängd objekt i någon form av lista som vi vill göra samma sak med. T.ex. en lista med personer vilkas namn vi vill skriva ut. Många mer avancerade algoritmer bygger på att man loopar, eller itererar. 1.1 Förberedelse Klasserna i labb 2 har samma namn som i labb 1 så antingen måste man skapa ett nytt projket eller ett nytt paket att ha klasserna i. Skapa ett nytt projekt i Eclipse eller skapa ett nytt paket i samma projekt som använde för labb 1. Fråga en labbassistent om du inte vet hur man gör. 2 While-loopen Den enklaste formen av loop i Java är den så kallade while-loopen. En whileloop fungerar på precis samma sätt som en if-sats, med den skillnaden att whilesatsens kodblock upprepas så länge predikat-uttrycket är sant. 1 while(true) { 2 System.out.println("This will print forever!"); 3 Ovan har vi det enklaste exemplet på en while-loop, en loop som fortsätter i all evighet. Det är kanske inte den mest spännande typen av loop men kan faktiskt vara användbar ibland. While-loopar är praktiska när man inte vet i förväg hur många gånger en iteration ska utföras, som när antalet varv är beroende av input från användaren. Ett exempel är en interaktionsloop som upprepas tills användaren skriver "exit". 1

3 Övning 2.1 Klistra in följande kod i en klass som du döper till Exit. 1 public class Exit { 2 public static void main (String[] args) { 3 Random rand = new Random(); 4 int num = rand.nextint(4); 5 while (num!= 0) { 6 System.out.println(num); 7 num = rand.nextint(4); 8 9 System.out.println("Got 0, now " + 10 "we stop this sillyness."); Här använder vi en slumpgenerator (skapas på rad 3 och används på rad 4) som sedan får slumpa fram heltal från 0 och upp till men inte med 4. Testkör koden flera gånger och fundera över vad de olika delarna av programmet gör. 2.1 Styrvariabler I övningen ovan hade vi variabeln input som fungerade som sk styrvariabel. En styrvariabel är en variabel som används för att styra ett programs flöde genom att man använder t.ex. if-satser och while-loopar som agerar olika beroende på variabelns värde. En styrvariabel kan vara av vilken typ som helst. I det enklaste fallet är det en sanningsvariabel som sätts till true eller false inne i loopen och som avgör om loopen ska köras igen eller ej. Vanligare är dock att det, som ovan, är en variabel vars värde undersöks för att se om det matchar ett sk stoppvillkor. 3 Do-loopen En while-loop kommer inte köras en enda gång om predikatet är falskt redan från början. I många fall vill man dock garantera att ett stycke kod körs åtminstone en gång oberoende av predikatet, i det fallet kan man använda do-loopen. Den fungerar som en while-loop men istället för att kolla predikatet först så kollas predikatet sist. Do-loopar är förhållandevis ovanliga i produktionskod eftersom de är så lika while-loopar men det är bra att känna till att de finns. 2

4 Övning 2.2 Klistra in följande kod i en klass som du döper till Exit2. public class Exit2 { public static void main (String[] args) { java.util.scanner in = new java.util.scanner(system.in); String input; do { System.out.println("Write exit to exit."); input = in.next(); while (!input.equals("exit")); System.out.println("Thank you, now I can rest."); Här gör vi en hel del vi inte gjort förut. Dels skapar vi en sk Scanner på rad 3 och 4, det är en komponent som låter Java läsa in text från tangentbordet. (Scanner kommer tas upp på föreläsning 4 och kommer förekomma igen i labb 4.) Dels skapar vi en do-loop som körs tills det att användaren skriver exit. Testkör koden och fundera över vad de olika delarna av programmet gör. Vi kommer hålla på mycket mer med interaktionsloopar i kommande labbar. 4 For-loopen och postinkrementoperatorn Den kanske vanligaste typen av loop i Java är den så kallade for-loopen. Forloopen är så kallat syntaktiskt socker för en while-loop där vi vet precis hur många varv vi ska loopa. Syntaktiskt socker är ett begrepp som används när en konstruktion i ett språk existerar för att lösa ett specifikt problem på ett vackrare, enklare eller mer konsekvent sätt än en mer generell konstruktion kan göra. Vad det innebär är att en for-loop egentligen inte kan göra något som inte en while-loop kan göra, men då dess utseende är mer formaliserat så är den lättare att läsa. En for-loop har inte ett predikat på samma sätt som en while-loop eller en if-sats. Istället fungerar for-loopen på följande vis: 1 for (int i = 0; i < 10; i++) { 2 //do something 3 Koden ovan kan verka förvirrande vid första anblick men du kommer snabbt lära dig känna igen en for-loop och dess olika delar. Istället för ett predikat har vi tre uttryck separerade av semikolon. Det första som står i parentesen är en 3

5 variabeldeklaration där vi skapar vår styrvariabel, i det här fallet en heltalsvariabel som får startvärdet 0. Efter det följer ett stoppvillkor, detta kan liknas vid predikatet i en if- eller while-sats. Sist kommer en manipulation av styrvariabeln, i det här fallet en postinkrementation. En postinkrementation, i++, är (nästan) samma sak som i = i + 1, och fungerar för många olika datatyper. För att bättre förstå for-loopen ovan kommer här en while-loop som gör precis samma sak: 1 int i = 0 2 while (i < 10) { 3 //do something 4 i++; 5 Vad vi har gjort är helt enkelt att vi bakat in styrvariabeln i själva for-satsen snarare än att deklarera den innan loopen och ändra dess värde inne i loopen. Vi har också fördelen att variabeln i bara existerar och kan manipuleras inne i loopen, i while-exemplet blir i kvar och kan användas igen, på gott och ont. Förutom postinkrementation så finns det också en preinkrementation (++i). Den fungerar nästan på samma sätt och i en for-loop gör de samma sak. När ni gjort labb 3 och fått lite känsla för retur-värden kan ni googla på post- och preinkrementation för att läsa på om skillnaderna. Det är viktigt att inse att vissa delar i for-satsen kan utelämnas under speciella förhållanden. T.ex. kan det första fältet utelämnas om man vill använda en styrvariabel som deklarerats utanför for-loopen, på samma sätt som i en while-loop. Det sista fältet kan också utelämnas om man vill. Utelämnar man båda dessa fungerar for-loopen precis som en while-loop. Övning 2.3 Skapa ett program och klistra in for-satsen från exemplet ovan. Ersätt kommentaren //do something med en utskrift som skriver ut värdet på i. Innan du kör koden, fundera över vad som kommer skrivas ut. Testkör, hade du rätt? 4

6 Övning 2.4 class Loops { public static void main (String[] args) { int m = 0; while (m > 0) { System.out.print(m + " "); System.out.println(); do { System.out.print(m + " "); while (m > 0); System.out.println(); for ( ; m > 0 ; ) { System.out.print (m + " "); System.out.println(); Vilken utskrift får du när du exekverar det här programmet? Försök att förutsäga vilken utskriften kommer att bli innan du exekverar programmet, kontrollera sedan om det stämmer och analysera resultatet. 5

7 Övning 2.5 class VariableInABlock { public static void main (String[] args) { for (int i = 1; i <= 5; i++) { int n = 0; System.out.print( n + " "); n++; System.out.println(); // System.out.println(n); Vilken utskrift får du när du exekverar det här programmet? Försök att förutsäga vilken utskriften kommer att bli innan du exekverar programmet, kontrollera sedan om det stämmer och analysera resultatet. Vad händer när man tar bortkommentarsmarkeringen? Varför? UPPGIFT 2.1 Skapa en klass som heter Uppgift1 och skapa en main-metod. Skapa en heltalsvariabel i med värdet 5. Skapa sedan en while-loop som skriver ut värdena 5, 10, 15, 20 och 25 genom att skriva ut värdet på i och sedan ändra det. Tänk på att while-loopen ska sluta efter att 25 skrivits ut. Lös samma problem med en do-loop och en for-loop. Hur kan man se till bara multiplar av 5 skrivs ut med en for-loop? UPPGIFT 2.2 Skapa en klass som heter Uppgift2 och skapa en main-metod. Skriv ett program som skriver ut alla stora bokstäver från engelska alfabetet (A till Z) 10 gånger. Använd en loop i en annan loop för att lösa problemet. Den ena loopen ska vara en for-loop och den andra ska vara en while-loop, vilken som ska vara "ytterst" bestämmer du själv. 5 Arrayer En array är den mest enkla och primitiva formen av en sekvens. Formellt sett är array engelska och det svenska ordet är fält eller eventuellt vektor. Det svenska ordet fält hör man dock väldigt sällan och ordet vektor kan lätt blandas ihop 6

8 med klassen Vector som ni kan komma att stöta på längre fram. Därför använder man oftast ordet array. En array är alltså en sekvenstyp som används för att lagra ett antal värden av en viss typ. Man kan alltså betrakta det som en lista eller en behållare. En array kan bara innehålla element av en viss typ och har en viss längd som sätts när arrayen initieras. Viktigt att veta är att arrayvariabler är referensvariabler, precis som String, med de skillnader från vanliga variabler som det innebär. En array skapas på något av följande sätt: 1 int[] integerarray; 2 integerarray = new int[3]; 3 char[] chararray = { a, b, c ; Arrayen integerarray ovan kan innehålla heltal och har kapacitet för 3 element. Vi har dock inte stoppat in några egna värden än så värdena på alla platser i arrayen är int-typens standardvärde, dvs 0. Arrayen chararray har vi dock initierat med en specifik array som innehåller tecknena a, b och c. Övning 2.6 Klistra in arrayerna ovan i ett program och försök skriva ut variablerna integerarray och chararray. Vad händer i respektive fall? Intressant att inse här är att String, under ytan, bara är en array med chars. För att komma åt ett element ur en array använder man indexering, för att t.ex. skriva ut första elementet i integerarray: 1 System.out.println(integerArray[0]; Notera att första elementet har index 0 och inte index 1. Index numrerade från 0 används i alla ordnade sekvenser i Java, t.ex. String, ArrayList, LinkedList m.m. Man kan tänka sig en sådan struktur på följande sätt:

9 Övning 2.7 class AnArray { public static void main (String[] args) { int n1 = 11; int n2 = 12; int n3 = 13; int n4 = 14; int n5 = 15; System.out.print( n1 + " "); System.out.print( n2 + " "); System.out.print( n3 + " "); System.out.print( n4 + " "); System.out.print( n5 ); System.out.println(); int[] n = new int[5]; for (int i = 0; i < 5; i++) { n[i] = 11 + i; for (int i = 0; i < 5; i++) { System.out.print (n[i] + " "); System.out.prinln(); Vilken utskrift får du när du exekverar det här programmet? Utvidga programmet så att det lagrar och skriver ut 10 olika heltal (istället för 5) båda gångerna. 5.1 Referenser igen Som sades i labb 1 kan det vara lite knöligt att förstå sig på referenser. Dels kan det bli problem när man försöker jämföra referenser, men det kan också bli problem när olika variabler refererar till samma data. T.ex. om man gjort följande: 1 String[] a1 = new String[5]; 2 String[] a2 = a1; 8

10 Övning 2.8 class ReferencesArray { public static void main (String[] args) { int[] u = null; int[] v = null; u = new int[5]; for (int i = 0; i < u.length; i++) { u[i] = i + 1; for (int i = 0; i < u.length; i++) { System.out.print (u[i] + " "); System.out.prinln(); v = new int[4]; for (int i = 0; i < v.length; i++) { v[i] = i + 1; for (int i = 0; i < v.length; i++) { System.out.print (v[i] + " "); System.out.prinln(); u = v; for (int i = 0; i < u.length; i++) { System.out.print (u[i] + " "); System.out.prinln(); Vilken utskrift får du när du exekverar det här programmet? Varför? Försök att förutsäga vilken utskriften kommer att bli innan du exekverar programmet, kontrollera sedan om det stämmer och analysera resultatet. UPPGIFT 2.3 Skapa en klass som heter Uppgift3 och skapa en main-metod. Skriv sedan ett program som skapar en teckenarray och initierar dess element, samt skriver ut den. Skapa två nya referenser och låt även dessa referera till arrayen. Ändra sedan det första elementet i arrayen genom att använda en av de nya referenserna och det andra elementet i arrayen genom att använda den andra. Avsluta med att visa arrayen tre gånger, via tre olika referenser. 9

11 5.2 Flerdimensionella arrayer De arrayer vi hittills stött på är den vanligaste, endimensionella, typen av array. Det är dock möjligt att ha flerdimensionella arrayer. En två-dimensionell array skapas exempelvis på följande sätt: 1 //Two-dimensional 8x8 array 2 char[][] twodimensions = new char[8][8]; Den två-dimensionella arrayen ovan skulle t.ex. kunna användas för att representera ett schack-bräde. Enklaste sättet att tänka är att de två indexen representerar koordinater i ett koordinatsystem, detta gäller även för arrayer av högre dimensioner. Generellt sett ser man sällan arrayer med fler än 3 dimensioner. Övning 2.9 class TwoDimensionalArray { public static void main (String[] args) { int[][] v = new int[4][5]; for (int i = 0; i < v.length; i++) { for (int j = 0; j < v[i].length; j++) { v[i][j] = i + j + 1; int[][] u = v; u[0][0] = 9; for (int i = 0; i < v.length; i++) { for (int j = 0; j < v[i].length; j++) { System.out.print(v[i][j] + " "); System.out.println(); Vilken utskrift får du när du exekverar det här programmet? Försök att förutsäga vilken utskriften kommer att bli innan du exekverar programmet, kontrollera sedan om det stämmer och analysera resultatet. 10

12 UPPGIFT 2.4 Skriv ett program som skapar en tvådimensionell array, eller matris. Med hjälp av en loopar ska matrisen fyllas med värden så att den motsvarar följande tabell: Beräkna sedan summan av alla heltal i arrayen genom att loopa över matrisen. Skriv till sist ut summan. 6 Sortering Sortering kan göras på många olika sätt, det finns så många algoritmer för sortering att hela böcker har skrivits på ämnet. Vi kommer dock inte gå in på dessa sorteringsalgoritmer här, om någon är intresserad finns det massor att läsa på Wikipedia. För att sortera arrayer i Java, utan att själv hacka sorteringsalgoritm (sånt är kul men lite utanför kursens ramar), kan man använda den inbyggda klassen Arrays. Använd JavaDoc för klassen Arrays (du hittar den i paketet java.util) för att ta reda på hur den kan användas för sortering. Använd Google för att hitta exempel om du känner att det behövs. UPPGIFT 2.5 Skapa en heltalsarray med 10 slumpmässiga element, använd klassen Random (se Övning 2.1) för att generera heltalen och en for-loop för att lägga till dem i arrayen. Skapa sedan en for each-loop som skriver ut talen. Använd sedan Arrays för att sortera arrayen och skriv till sist ut arrayen igen. Tänk på att Random genererar olika slumpmässiga tal varje gång så bli inte förvirrade när ni får olika tal varje gång ni kör programmet. 7 ArrayList - ett sätt att slippa arrayer Som ni har märkt är arrayer jobbiga att arbeta med, speciellt jobbigt är det att man redan när arrayen skapas måste bestämma dess storlek. Istället för att använda arrayer kan man därför ofta använda klassen ArrayList istället. En ArrayList kan inte innehålla primitiva datatyper, men som tur är finns det för varje primitiv datatyp en klassmotsvarighet, för int heter den Integer. Slå upp ArrayList i JavaDoc för standardbiblioteket, och googla för att hitta exempel om du behöver, lös sedan Uppgift

13 UPPGIFT 2.6 Skapa en ArrayList<Integer> med 10 slumpmässiga element, använd klassen Random för att generera heltalen och en for-loop för att lägga till dem i ArrayListen. Skapa sedan en traditionell for loop som skriver ut talen. Använd sedan klassen Collections för att sortera talen och skriv till sist ut ArrayListen igen, den här gången med en for each-loop. Varför använder man fortfarande arrayer om ArrayList är så mycket lättare att arbeta med? Det beror främst på att array är en så enkel datastruktur att den lämpar sig när effektivitet och hastighet är viktiga. Det är av samma skäl förhållandevis enkelt att skicka en array över ett nätverk eller spara en array på hårddisken. 8 Redovisning Nu när ni är färdiga med alla uppgifter är det dags at lämna in era lösningar för Uppgift 2.1 till 2.6 för rättning. Gå igenom era lösningar en extra gång och se till så att hi har kommenterat er kod, och testkört den noga så att ni är säkra på att alla lösningar fungerar. Samla ihop kodfilerna (filerna som slutar på.java) i ett zip-arkiv och ladda upp zip-filen under Labb2 i LISAM. Glöm inte att skriva namnen på båda gruppmedlemmarna i kommentarsfältet vid inlämningen. 12

725G61 - Laboration 3 Metoder och abstrakta datatyper. Johan Falkenjack

725G61 - Laboration 3 Metoder och abstrakta datatyper. Johan Falkenjack 725G61 - Laboration 3 Metoder och abstrakta datatyper Johan Falkenjack October 29, 2013 1 Förberedelse Några av klasserna i labb 3 har samma namn som i labb 1 och 2 så antingen måste man skapa ett nytt

Läs mer

Föreläsning REPETITION & EXTENTA

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

Läs mer

Objektorienterad programmering i Java

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

Läs mer

OOP Objekt-orienterad programmering

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

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering

Kompilering och exekvering. Föreläsning 1 Objektorienterad programmering DD1332. En kompilerbar och körbar java-kod. Kompilering och exekvering Föreläsning 1 Objektorienterad programmering DD1332 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer Kompilering och exekvering Ett program måste översättas till datorns språk

Läs mer

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

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

Läs mer

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser.

Dagens text. Programmeringsteknik. Mer om Scanner-klassen. Dialogrutor (klassen JOptionPane) Bubbelsortering. Omslagsklasser. (16 februari 2016 F5.1 ) Dagens text Programmeringsteknik Mer om Scanner-klassen Dialogrutor (klassen JOptionPane) Bubbelsortering ArrayList Omslagsklasser Arbetsexempel (16 februari 2016 F5.2 ) Pokertärningar

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy. Funktioner / metoder. Punktnotation. Evalueringsordning

732G 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 mer

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4:

Föreläsning 2. Täcker material från lektion 1, 2, 3 och 4: (22 januari 2016 F2.1 ) Föreläsning 2 Täcker material från lektion 1, 2, 3 och 4: Datatyper Aritmetik Tecken och strängar Klasser, Objekt Metoder Villkor, villkorssatser och iterationer main-metoden Kodstandard

Läs mer

725G61 - Laboration 1 Variabler och villkorssatser. Johan Falkenjack

725G61 - Laboration 1 Variabler och villkorssatser. Johan Falkenjack 725G61 - Laboration 1 Variabler och villkorssatser Johan Falkenjack October 16, 2013 1 Inledning till labbarna Any sufficiently advanced technology is indistinguishable from magic. - Arthur C. Clarke Citatet

Läs mer

EDAA20 Föreläsning Klassen ArrayList. Viktiga operationer på ArrayList. Generisk klass

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

Läs mer

Tentamen , Introduktion till Java, dtaa98, dtea53

Tentamen , Introduktion till Java, dtaa98, dtea53 Mittuniversitetet 2007-09-01 Institutionen för informationsteknologi och medier Sid:1(3) dtaa98, dtea53 Martin Kjellqvist; Linda Karlsson, Ulf Reiman Lösningsansatser Tentamen 2007-09-01, Introduktion

Läs mer

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0..

Ett problem. Kontrollstrukturer och arrayer. Arrayer. Lösningen. Arrayer och hakparanteser. Exempel int[] results; results = new int[10]; // 0.. Ett problem Kontrollstrukturer och er Hur sparas data T ex när man vill spara resultaten av en tävling Exempel med 3 deltagare: public class Competition private int result1; private int result2; private

Läs mer

JAVAUTVECKLING LEKTION 8

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

Föreläsning 3-4 Innehåll. Diskutera. Metod. Programexempel med metod

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

Läs mer

Tentamen OOP 2015-03-14

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

Läs mer

F4. programmeringsteknik och Matlab

F4. programmeringsteknik och Matlab Programmeringsspråk Föreläsning 4 programmeringsteknik och Matlab 2D1312/ 2D1305 Introduktion till Java Kompilering, exekvering, variabler, styrstrukturer 1 Ett program är en eller flera instruktioner

Läs mer

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram?

Dagens program. Programmeringsteknik och Matlab. Viktiga datum. Ett första exempel. Programmall, vad behöver vi i ett javaprogram? Programmeringsteknik och Matlab Övning 2 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 mer

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek De åtta primitiva typerna Java, datatyper, kontrollstrukturer Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Typ Innehåll Defaultvärde Storlek boolean true, false false 1 bit char Tecken \u000

Läs mer

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList.

Lite om felhantering och Exceptions Mer om variabler och parametrar Fält (eng array) och klassen ArrayList. Institutionen för Datavetenskap Göteborgs universitet HT2009 DIT011 Objektorienterad programvaruutveckling GU (DIT011) Föreläsning 3 Innehåll Lite om felhantering och Exceptions Mer om variabler och parametrar

Läs mer

"if"-satsen. Inledande programmering med C# (1DV402)

if-satsen. Inledande programmering med C# (1DV402) "if"-satsen Upphovsrätt för detta verk Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får använda detta verk så här: Allt innehåll i verket if-satsen

Läs mer

Hej Då, Karel! Programmering. Vårt första Javaprogram. hh.se/db2004. Java. Grundtyper, variabler och arrayer

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

Laboration 1 - Grunderna för OOP i Java

Laboration 1 - Grunderna för OOP i Java Uppdaterad: 2006-08-31 Laboration 1 - Grunderna för OOP i Java Inledning Laborationen går ut på att lära sig grunderna för objektorienterad programmering, samt motsvarande språkkonstruktioner i Java. Labben

Läs mer

SMD 134 Objektorienterad programmering

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

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Sammanfattning period 1 Eric Elfving Institutionen för datavetenskap 1 oktober 2013 Översikt Ett C++-programs uppbyggnad Variabler Datatyper Satser Uttryck Funktioner

Läs mer

[] Arrayer = Indexerad variabel

[] 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 mer

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst

Outline. For. I istället för att följa det normala ordningen, man ändra den. I i Java får man inte göra hopp hur som helst Outline Objektorienterad Programmering (TDDC77) Föreläsning IV: while, for, do while, switch, arrayer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Ordning Villkorliga hopp I Normalt sett så

Läs mer

Laboration A Objektsamlingar

Laboration A Objektsamlingar Laboration A Objektsamlingar Avsikten med laborationen är att du ska träna på att använda ett par objektsamlingar. Uppgift 1 Titta genom föreläsningsunderlaget DA129AFAHT07.pdf och testkör exemplen (se

Läs mer

Typkonvertering. Java versus C

Typkonvertering. 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 mer

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p

Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Programmering i C++ En manual för kursen Datavetenskaplig introduktionskurs 5p Skriven av Michael Andersson Introduktion Programmering I högnivåspråk fokuserar på själv problemet (algoritmen) istället

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

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar

Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Föreläsning 3: Typomvandling, villkor och val, samt textsträngar Camilla Kirkegaard camilla.kirkegaard@liu.se Linköpings universitet Sweden October 14, 2013 1 Innehåll n n n n n Repetition Typomvandlingar

Läs mer

Saker du ska kunna Föreläsning 13 & 14

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

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Kompilera och köra programmet under terminal 2: I Skapa Hej.java

Läs mer

Användarhandledning Version 1.2

Användarhandledning Version 1.2 Användarhandledning Version 1.2 Innehåll Bakgrund... 2 Börja programmera i Xtat... 3 Allmänna tips... 3 Grunderna... 3 Kommentarer i språket... 4 Variabler... 4 Matematik... 5 Arrayer... 5 på skärmen...

Läs mer

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program Kompilera och köra programmet Objektorienterad Programmering (TDDC77) Föreläsning II: utmatning, variabler, typer Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 under terminal 2: I Skapa Hej.java

Läs mer

Beräkningsvetenskap föreläsning 2

Beräkningsvetenskap föreläsning 2 Beräkningsvetenskap föreläsning 2 19/01 2010 - Per Wahlund if-satser if x > 0 y = 2 + log(x); else y = -1 If-satsen skall alltid ha ett villkor, samt en då det som skall hända är skrivet. Mellan dessa

Läs mer

Föreläsning 2 Objektorienterad programmering DD1332. Typomvandling

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

Läs mer

Föreläsning 1 & 2 INTRODUKTION

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

Läs mer

Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer

Uppgift: Algoritm för att beräkna kontrollsiffran i ett personnummer givet de 9 första siffrorna. Torrsimning av algoritm för personnummer F6 Observera att när man utvecklar program så är inte alla lösningar på vägen korrekta. Speciellt den här gången så finns många OH med program som inte fungerar eftersom det är just det vi skall se på

Läs mer

System.out.println("Jaså du har "+ antalhusdjur+ " husdjur"); if ( antalhusdjur > 5 ) System.out.println("Oj det var många);

System.out.println(Jaså du har + antalhusdjur+  husdjur); if ( antalhusdjur > 5 ) System.out.println(Oj det var många); 1 Villkor och styrsatser I de program vi sett tidigare har programkörning inneburit att sats efter sats utförts i den ordning de skrivits i källkoden. Vi har inte kunna ändra programmets uppförande beroende

Läs mer

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

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. 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 mer

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

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

Läs mer

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ

Kapitel 6. Hakparenteser fšr att ange index MŒnga všrden av samma typ Organisation En array Šr en ordnad lista av všrden Varje všrde har ett numeriskt index - deklaration & anvšndning som parametrar flerdimensionella fšlt N element indexeras med 0 till N-1 0 1 2 3 4 5 6

Läs mer

1 Iteration. 1.1 for-satsen

1 Iteration. 1.1 for-satsen 1 Iteration Iteration innebär en upprepning, repetition av satser. Vi har nu sett hur en villkorssats kan välja att utföra ett satsblock beroende på om ett villkor är uppfyllt, selektion. För selektion

Läs mer

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

EDAA20 Programmering och databaser. Mål komprimerat se kursplanen för detaljer. 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 mer

JAVAUTVECKLING LEKTION 4

JAVAUTVECKLING LEKTION 4 JAVAUTVECKLING LEKTION 4 2016 Mahmud Al Hakim mahmud.al.hakim@nackademin.se www.alhakim.se AGENDA Iterationer (loopar) Algoritmer Mer om felsökning 1 WHILE-SATSEN String s = JOptionPane.showInputDialog("Talet

Läs mer

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

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)

Läs mer

2D1339 Programkonstruktion för F1, ht 2004

2D1339 Programkonstruktion för F1, ht 2004 2D1339 Programkonstruktion för F1, ht 2004 Kontrollskrivning 1 Onsdag 24/11 2004 kl 11.15 12.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

OOP Objekt-orienterad programmering

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

Läs mer

Föreläsning 1 & 2 INTRODUKTION

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

Läs mer

Programmeringsteknik och Matlab. Dagens program. Viktiga datum. Repetitionsexempel. Repetition av if/else, for, while och Scanner

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

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output

Lite mer om Javas stöd för fält. Programmering. Exempel: vad är det största talet? hh.se/db2004. Fält samt Input/Output Programmering hh.se/db2004 Föreläsning 5: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite mer om Javas stöd för fält Hur många element har ett fält?

Läs mer

Anteckningar 1: Grundläggande saker

Anteckningar 1: Grundläggande saker UPPSALA UNIVERSITET Institutionen för lingvistik och filologi Mats Dahllöf http://stp.ling.uu.se/ matsd/uv/uv11/pst1/ Programmering för språkteknologer I Anteckningar 1: Grundläggande saker 1 Programmering

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim Agenda (halvdag)

Objektorienterad programmering Föreläsning 9. Copyright Mahmud Al Hakim  Agenda (halvdag) Objektorienterad programmering Föreläsning 9 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Fält Grunderna Fält med komponenter av struct-typ Fält med referenser Standardklassen

Läs mer

Idag. 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. 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 mer

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet

Lite om reella tal. Programmering. I java. Om operatorers associativitet och prioritet Programmering hh.se/db2004 Föreläsning 4: Fält samt Input/Output Verónica Gaspes www2.hh.se/staff/vero www2.hh.se/staff/vero/programmering Lite om reella tal Vad kan man göra med reella tal? Utöver de

Läs mer

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

1 Uppgift 1. 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 mer

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander

F5 Selektion och iteration. ID1004 Objektorienterad programmering Fredrik Kilander F5 Selektion och iteration ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Boolska uttryck Boolska uttryck använder sig av jämförelseoperatorer < > = ==!= Resultatets datatyp är boolean

Läs mer

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander F2 Datatyper och variabler ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Datatyper Java är ett starkt typat språk Varje slags data har en datatyp Datatyp Javasyntax Exempel Teckensträng

Läs mer

TDIU01 - Programmering i C++, grundkurs

TDIU01 - Programmering i C++, grundkurs TDIU01 - Programmering i C++, grundkurs Grundläggande satser och uttryck Eric Elfving Institutionen för datavetenskap 5 augusti 2014 Översikt Uttryck Litteraler Operatorer Satser Villkor Upprepning Teckenhantering

Läs mer

Programmering för språkteknologer I, VT2012. Rum

Programmering för språkteknologer I, VT2012. Rum Programmering för språkteknologer I, VT2012 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.lingfil.uu.se/~evelina/uv/uv12/pst1/ Idag - Kursplan - Börja programmera - Lokala variabler - aritmetiska

Läs mer

Objektorienterad programmering. Telefonboken igen, en bättre version. En jämförelse. Föreläsning 4

Objektorienterad programmering. Telefonboken igen, en bättre version. En jämförelse. Föreläsning 4 Telefonboken Objektorienterad programmering Telefonboken igen, en bättre version Telefonboken, igen. Tvådimensionella fält. Exempel: femtonspelet. Modellklassen. Ett textbaserat program. Ett grafiskt program.

Läs mer

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin)

Lektion Java Grunder. Javas historia. Programmeringsspråket Java. Skillnaderna mellan Java och C++ JVM (Javas Virtuella Maskin) Lektion Java Grunder Javas historia Ursprungligen utvecklades Java (1991) för att användas i olika typer av konsumentelektronik (mikrovågsugnar, videoapparater) av programmerare på Sun. Språket kallades

Läs mer

Exempel på listor (klassen ArrayList). Ett exempel med fält. Avbildning är en speciell typ av lista HashMap.

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.

Läs mer

Visual Basic, en snabbgenomgång

Visual Basic, en snabbgenomgång Visual Basic, en snabbgenomgång Variabler och Datatyper En variabel är som en behållare. Olika behållare passar bra till olika saker. I Visual Basic(härefter VB) finns olika typer av behållare för olika

Läs mer

Java, klasser, objekt (Skansholm: Kapitel 2)

Java, klasser, objekt (Skansholm: Kapitel 2) Java, klasser, objekt (Skansholm: Kapitel 2) Uppsala Universitet 11 mars 2005 Objectorienterad programmering Sida 1 Vad är en klass? En klass är ett sätt att beskriva en mängd objekt och deras gemensamma

Läs mer

Föreläsning 10. ADT:er och datastrukturer

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

Läs mer

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016

Command line argumenter. Objektorienterad Programmering (TDDC77) Vad blir resultatet? Nu då? Ahmed Rezine. Hösttermin 2016 Command line argumenter Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 /* Cla. java * Programmet illustrerar

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning VI: eclipse, felsökning, felhantering Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Felhantering Eclipse Felsökning Command line argumenter

Läs mer

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet

ITK:P1 Föreläsning 1. Programmering. Programmeringsspråket Java. Stark typning Explicit typning Strukturerat Hög säkerhet ITK:P1 Föreläsning 1 Att programmera i språket Java DSV Peter Mozelius Programmering Olika typer av programmering som t ex: o Imperativ programmering (C, Pascal m fl) o Funktionell programmering (Lisp,

Läs mer

Abstrakt datatyp. -Algoritmer och Datastrukturer- För utveckling av verksamhet, produkter och livskvalitet.

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

Läs mer

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

Tentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34 Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger

Läs mer

Programmering i C, 7,5 hp

Programmering i C, 7,5 hp Programmering i C, 7,5 hp Föreläsning 4 VÄLKOMNA! 31 switch-satsen Antag att vi har en heltalsvariabel a som skall styra programflödet Antag vidare att a kan anta tex 5 olika värden 1,2,3,4,5 printf( Mata

Läs mer

LÖSNINGSFÖRSLAG TENTAMEN

LÖSNINGSFÖRSLAG TENTAMEN LÖSNINGSFÖRSLAG TENTAMEN OBJEKTORIENTERAD PROGRAMMERING I JAVA 5P FRISTÅENDE KURS, DAG (ITM - ÖSTERSUND) MÅNDAG 2 JUNI, 2003, KL. 8-13 TID: 5 TIMMAR ANTAL UPPGIFTER: 8 MAX POÄNG: 43 BETYGSKALA: UNDERKÄND

Läs mer

Föreläsning ALGORITMER: SÖKNING, REGISTRERING, SORTERING

Föreläsning ALGORITMER: SÖKNING, REGISTRERING, SORTERING Föreläsning 11 12 ALGORITMER: SÖKNING, REGISTRERING, SORTERING Seminarier: Fredagsklubben för dig som tycker att programmering är svårt (0 eller möjligen 1 poäng på delmålskontrollen) inte avsedda för

Läs mer

Föreläsning 2, vecka 8: Repetition

Fö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 mer

Grundläggande programmering med C# 7,5 högskolepoäng

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)

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

F7 - Arrayer. ID1004 Objektorienterad programmering Fredrik Kilander

F7 - Arrayer. ID1004 Objektorienterad programmering Fredrik Kilander F7 - Arrayer ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Array, arrayer, arrayen En array är en lista av variabler av samma typ Arrayen har en fast längd (antal element) Enskilda

Läs mer

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om?

Vad handlar kursen om? Algoritmer och datastrukturer. Vad handlar kursen om? Vad handlar kursen om? Algoritmer och datastrukturer Allmänt om kursen Kort javagrund repetition - Klasser, metoder, objekt och referensvariabler, - Hierarkiska klass strukturer - Arrayer och arrayer av objekt - Collection ramverket

Läs mer

Objektorienterad Programmering (TDDC77)

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

//Använd main som ett "handtag" för att hålla ihop programmet. //Själva programmet finns i övriga klasser.

//Använd main som ett handtag för att hålla ihop programmet. //Själva programmet finns i övriga klasser. /*==================================================================== Detta program hör ihop med dokumentet EXEMPEL_AVERAGE_POINTS.PDF där det finns förklaringar. ======================================================================*/

Läs mer

Lite logik. Kap 6: Sid 2

Lite logik. Kap 6: Sid 2 6 Loopar och val Lite logik Val mellan två alternativ Val mellan flera alternativ Sammansatta villkor Boolska variabler Jämför strängar While-loopar Do-loopar For-loopar Kortformer Kap 6: Sid 2 Lite logik

Läs mer

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna.

Design av interaktiv multimedia. Läs i förväg om det som övningarna kommer att beröra. Träna hemma både före och efter övningarna. Använd olika lager. Döp lagren! Organisera era bibliotek! Design av interaktiv multimedia Ge era symboler instansnamn för att hitta dem med AS. Nytt för denna kurs: Ingen ActionScript-kod i.fla-filen!

Läs mer

Föreläsning 3. Iteration while-satsen

Föreläsning 3. Iteration while-satsen Föreläsning 3 Iteration while-satsen Datatypen double I en dator kan man inte lagra hur stora eller hur små tal som helst. De enkla datatyperna, som används för att lagra tal (t.ex. int och double), har

Läs mer

Språket Python - Del 1 Grundkurs i programmering med Python

Språket Python - Del 1 Grundkurs i programmering med Python Hösten 2009 Dagens lektion Ett programmeringsspråks byggstenar Några inbyggda datatyper Styra instruktionsflödet Modulen sys 2 Ett programmeringsspråks byggstenar 3 ETT PROGRAMMERINGSSPRÅKS BYGGSTENAR

Läs mer

Algoritmer. Två gränssnitt

Algoritmer. 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 mer

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET

TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET UMEÅ UNIVERSITET Datavetenskap 010824 TENTAMEN PROGRAMMERING I JAVA, 5P SOMMARUNIVERSITETET Datum : 010824 Tid : 9-15 Hjälpmedel : Inga Antal uppgifter : 7 Totalpoäng : 40 (halva poängtalet krävs normalt

Läs mer

Objektorienterad programmering i Java

Objektorienterad programmering i Java bild 1 Objektorienterad programmering i Java Föreläsning 1 Kapitel 1-3 i kursboken Java Software Solutions bild 2 Läsanvisningar Kapitel 1 är en repetition av det ni förväntas kunna sedan tidigare. Det

Läs mer

Skillnader mellan Python och Java

Skillnader mellan Python och Java Java Utvecklat på SUN Microsystems mitten 1990-talet Ursprungligen för Webprogram Nu mycket spritt Massor med läroböcker Vi använder Lewis&Loftus http://javasuncom/javase/6/docs/api/ Skillnader mellan

Läs mer

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik I 2016-06-11 Skrivtid: 0900 1400 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

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

Läs mer

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Abstrakta datatyper Listor Stackar

Läs mer

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

Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Föreläsning 3: Abstrakta datastrukturer, kö, stack, lista Abstrakt stack Abstrakt kö Länkade listor Abstrakta datatyper Det är ofta praktiskt att beskriva vilka operationer man vill kunna göra på sina

Läs mer

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

Tentamen, EDA501/EDAA20 Programmering M MD W BK L LUNDS TEKNISKA HÖGSKOLA 1(6) Institutionen för datavetenskap Tentamen, EDA501/EDAA20 Programmering M MD W BK L 2017 05 31, 8.00 13.00 Anvisningar: Preliminärt ger uppgifterna 9 + 12 + 10 + 9 = 40 poäng.

Läs mer

Recap Mera om nya typer Kort Fält. Programmering. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Verónica Gaspes. IDE-sektionen.

Recap Mera om nya typer Kort Fält. Programmering. Sommarkurs 2007 www.hh.se/staff/vero/programmering. Verónica Gaspes. IDE-sektionen. Programmering Sommarkurs 2007 www.hh.se/staff/vero/programmering Verónica Gaspes IDE-sektionen Juni 14 Utkast 1 Recap 2 Mera om nya typer 3 Kort 4 Fält Recap Man kan ge namn till typer. Vi undersökte enum

Läs mer

Inledande programmering med C# (1DV402) Summera med while"-satsen

Inledande programmering med C# (1DV402) Summera med while-satsen Summera med while"-satsen Upphovsrätt för detta verk Inledande programmering med C# (1DV402) Detta verk är framtaget i anslutning till kursen Inledande programmering med C# vid Linnéuniversitetet. Du får

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel 732G11 Linköpings universitet 2011-02-15 1 2 3 4 Extrapass Extrapass håller på att bokas. Blir 3-4 st. och öppet för alla. Mer info på kursmailen när bokningen är klar. i Java En funktion i Java... public

Läs mer