Lite logik. Kap 6: Sid 2

Storlek: px
Starta visningen från sidan:

Download "Lite logik. Kap 6: Sid 2"

Transkript

1 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

2 Kap 6: Sid 2 Lite logik Boolska uttryck och selektioner Boolska uttryck (logiska uttryck, villkorsuttryck) behandlade vi i kapitel 2. Vi repeterar: Ett boolskt uttryck är något som antingen har värdet true eller värdet false Exempel: 100 är större än 10 är true 100 är lika med 10 är false Vi använder nedanstående jämförelseoperatorer i dessa uttryck. I tabellen antar vi att a = 100 och b = 10 Betydelse Operator Exempel Värde mindre än < a < b false mindre än eller lika med <= a <= 100 true större än > a > b true större än eller lika med >= b >= 9 true lika med == a == b false ej lika med (skilt från)!= a!= b true Observera att likhet skrivs med dubbelt likhetstecken! (Enkelt likhetstecken betyder ju tilldelning. Exempel: a = 100; betyder att variabeln a får värdet 100) Java6_LooparoVal.doc Ove Lundgren 2

3 Kap 6: Sid 3 Val mellan två alternativ If-satsen Du är redan bekant med if-satsen: Efter if skriver man ett villkorsuttryck (ett boolskt uttryck, det vill säga något som är true eller false) och därefter ett block med de satser som ska exekveras om villkoret är sant. Så här: if (villkor) Om vi vill att något ska hända om villkorssatsen är falsk så bygger vi på med en else-gren: Så här: if (villkor) else Övning: Betyg Skapa mappen X\java\Betyg Du ska skriva en applet där man kan mata in ett tal (en poäng på ett prov). Efter att man tryckt på en knapp (eller slagit ENTER-tangenten) ska följande ske: Om poängen är minst 50 (d v s större än eller lika med 50)så texten "Godkänd" visas med grön färg annars texten "Underkänd" visas med röd färg. Källkoden ska sparas med namnet Betyg.java. Skriv också en enkel HTML-fil (Betyg.html) som startar appleten. Du behöver importera klasserna: TextField, Button, Label, Color och Graphics Alla finns i paketet java.awt. Med satsen import java.awt.*; får du tillgång till alla klasserna i det paketet. Vi behöver också paketet med klasser för händelsehantering. Skriv alltså: import java.awt.event.*; På nästa sida finns ett lösningsförslag Java6_LooparoVal.doc Ove Lundgren 3

4 Kap 6: Sid 4 //Övning Betyg import java.awt.*; import java.awt.event.*; import java.applet.*; public class Betyg extends Applet implements ActionListener // Deklarationer Label ledtext; Button butt; TextField inruta1; int poang ; public void init() ledtext = new Label("Skriv in poäng"); inruta1 = new TextField(10); inruta1.addactionlistener(this); butt = new Button("Tryck här"); butt.addactionlistener(this); add(ledtext); add(inruta1); add(butt); poang = 50; public void paint(graphics g) if (poang >= 50) g.setcolor(color.green); g.drawstring("godkänd ",10,90); else g.setcolor(color.red); g.drawstring("underkänd ",10,90); public void actionperformed(actionevent e) poang = Integer.parseInt( inruta1.gettext() ); repaint(); Spara - kompilera - provkör! Om ett block innehåller en enda sats behöver man inte ha med "krullparenteserna". Exempel: if (poang >= 50) g.drawstring("godkänd ",10,90); else g.drawstring("underkänd ",10,90); Java6_LooparoVal.doc Ove Lundgren 4

5 Kap 6: Sid 5 Konditionaloperatorn Ett annat sätt att skriva närmast ovanstående är följande: g.drawstring( poang >= 50? "Godkänd" : "Underkänd",10,90); Konstruktionen poang >= 50? "Godkänd " : "Underkänd" levererar värdet "Godkänd" om villkoret är sant, annars ges värdet "Underkänd".? : kallas konditionaloperatorn. Du känner kanske igen idén från kalkylprogram: I Excel skulle vi använda formlen =OM( A1 >= 50 ; "Godkänd" ; "Underkänd" ) Nästlade if-satser Studera följande algoritm: Om poängen >= 90 så texten "MVG" visas med blå färg annars om poäng >= 75 så texten "VG" visas med gul färg annars om poäng >= 50 så texten "G" visas med grön färg annars texten "IG" visas med röd färg Om det första villkoret är falskt sker en test på ett nytt villkor, om detta är falskt sker en ny test osv. En sådan här konstruktion kallas för en nästlad if-sats. Java-koden för ovanstående algoritm blir så här: if (poang >= 90) g.setcolor(color.blue); g.drawstring("mvg",10,90); else if (poang >= 75) g.setcolor(color.yellow); g.drawstring("vg",10,90); else if (poang >= 50) g.setcolor(color.green); g.drawstring("g",10,90); else g.setcolor(color.red); g.drawstring("ig",10,90); Övning: Betyg - igen Byt ut if-satsen i Betyg.java mot ovanstående nästlade if-sats. Du får också lägga till några färger. Spara - kompilera - kör Java6_LooparoVal.doc Ove Lundgren 5

6 Kap 6: Sid 6 Val mellan fler alternativ switch-satsen Med switch-satsen kan man testa värdet hos en variabel (av typ int eller char) mot flera givna värden. Låt oss anta att t är namnet på en char-variabel och att vissa saker ska hända om t har värdet 'A', andra saker ska hända om t har värdet 'B' osv. Syntax: switch (t) case 'A': break; case 'B': break; case 'C': break; Observera att varje "gren" måste brytas med break Övning: SwitchTest Skriv koden på nästa sida. Det är en applet där du i en textruta kan skriva in en bokstav (R, G eller B) och trycka på ENTER. Beroende på vilket tecken du matar in blir bakgrundsfärgen röd, grön eller blå. Switch-satsen ombesörjer det hela. För inmatningen använder vi (som vanligt) en textruta. Metoden gettext ger som bekant en textsträng. Men vi använde ju ett tecken (datatypen char) i switch-satsen. charat() är en metod i klassen String som fungerar så här: Om s är en textsträng så ger s.charat(0) det första tecknet (tecken nummer 0) i strängen s som ett tecken (d v s en char) Om s har värdet "Kalle" så skulle s.charat(0) få värdet 'K' I vårt fall ger således inruta1.gettext().charat(0) det första tecknet i den sträng som matas in i inruta1 Spara koden som SwitchTest.java i mappen X\java\SwitchTest Skriv också en enkel HTML-fil (SwitchTest.html) som startar appleten. Kompilera javafilen - provkör Java6_LooparoVal.doc Ove Lundgren 6

7 Kap 6: Sid 7 //Övning SwitchTest import java.awt.*; import java.awt.event.*; import java.applet.*; public class SwitchTest extends Applet implements ActionListener // Deklarationer Label ledtext; TextField inruta1; char fargkod; public void init() ledtext = new Label("Skriv R, G eller B "); inruta1 = new TextField(10); add(ledtext); add(inruta1); inruta1.addactionlistener(this); public void paint(graphics g) switch (fargkod) case 'R': g.drawstring("röd färg",10,100); this.setbackground(color.red); break; case 'G': g.drawstring("grön",10,100); this.setbackground(color.green); break; case 'B': g.drawstring("blå",10,100); this.setbackground(color.blue); break; public void actionperformed(actionevent e) fargkod = inruta1.gettext().charat(0); repaint(); Man kan låta flera olika variabelvärden leda till samma "gren". I vårt exempel ovan skulle man exempelvis kunna skriva case 'R': case 'r': så kommer bakgrunden att bli röd även om man skriver in ett gement 'r'. Testa! Java6_LooparoVal.doc Ove Lundgren 7

8 Kap 6: Sid 8 Sammansatta villkorssatser Ett boolsk uttryck (ett villkorsuttryck) har antingen värdet true eller false. Ibland kan ett villkor vara sammansatt av flera villkor. Exempel: Om ( kön == M OCH ålder > 20) så Hela, det sammansatta, villkoret är sant om båda de ingående villkoren är sanna. Exempel: Om ( bokstav == A ELLER bokstav == B ) så Hela villkoret är sant om minst ett av de ingående villkoren är sanna. Orden OCH och ELLER, som används för att sätta samman flera villkors till en enda, kallas för logiska operatorer. I tabellen nedan är A ett villkor (ett boolskt uttryck) och B ett annat villkor A OCH B och A ELLER B är sammansatta villkor. S = sant, F = falskt A B A OCH B A ELLER B S S F F S F S F S F F F S S S F I de flesta programspråk uttrycks logiskt OCH med AND, och logiskt ELLER med OR (Exempelvis i Pascal: IF (a>10) AND (b>30) THEN ) I Java (och i C++ ) uttrycks logiskt OCH med operatorn && och logiskt ELLER med operatorn ( pipe-tecknet,, hittar du på samma tangent som minde än - och större än -tecknen näst längst till vänster på tangentbordet) Exempel: I ett javaprogram vill vi testa om båda variablerna x och y är positiva. Vi skriver: if ( x > 0 && y > 0 ) kod Om vi vill testa att minst en av variablerna är positiv skriver vi: if ( x > 0 y > 0 ) kod Ytterligare en logisk operator bör du känna till, nämligen ICKE. Denna operator heter NOT på de flesta språk. I Java ser den ut så här:! (ett utropstecken, alltså) Exempel: if (!( a > b) ) kod Villkoret efter if är sant om det inte gäller att a är större än b Vi ska testa sammansatta villkor i ett enkelt konsolprogram (se nästa sida). Java6_LooparoVal.doc Ove Lundgren 8

9 Kap 6: Sid 9 Övning: IfTest Klassen Prompt har (bl a) metoderna heltal och decimaltal som ger enkel inmatning av tal. class IfTest public static void main( String args[] ) int x,y; x = Prompt.heltal("Ange x"); y = Prompt.heltal("Ange y"); if (x > 0 && y > 0) System.out.println("Båda positiva"); else if (x > 0 y > 0) System.out.println("Ett tal är positivt"); else System.out.println("Inget är positivt"); Skriv koden ovan. Spara den som IfTest.java i mappen X\java\Javagrunder (kap 1) Se till att filen Prompt.class finns i samma mapp (eller i en mapp i classpath-listan) Kompilera. Kör programmet. Ge x och y positiva värden. Kör igen, nu med olika tecken på x och y Kör återigen med negativa värden på x och y Java6_LooparoVal.doc Ove Lundgren 9

10 Kap 6: Sid 10 Boolska variabler Du har lärt dig dessa primitiva datatyper: int heltal ( t ex 17 ) double flyttal (decimaltal) ( t ex 23.5 ) char tecken ( t ex 'X' ) Ytterligare en ska du lära dig, nämligen datatypen boolean. En variabel av datatypen boolean kallas en boolsk variabel. En sådan variabel kan ha ett av två värden: true eller false Övning: Boolsk variabel I programmet nedan deklareras den boolska variabeln myndig. Användaren matar in ett värde på heltalsvariabeln alder Den boolska variabeln myndig får värdet av villkorsuttrycket alder > 17 det vill säga myndig blir true eller false if-satsen använder myndig för att avgöra vad som ska skrivas ut. class BoolTest public static void main( String args[] ) int alder; boolean myndig; alder = Prompt.heltal("Skriv din alder: "); myndig = alder > 17; if ( myndig ) System.out.println("Du ar myndig!"); else System.out.println("Du ar inte myndig..."); Testa! Spara i X\java\Javagrunder Jämför strängar När vi testar likhet används dubbelt likhetstecken ( == ). Detta gäller för primitiva datatyper (int, double, char och boolean). Om vi vill testa likhet mellan objekt måste vi använda en funktion som heter equals() Övning: Testa likhet mellan strängar Textsträngar är objekt av typen String. Testa detta program som visar hur equals-funktionen används: Spara i X\java\Javagrunder class StringTest public static void main( String args[] ) String ort; ort = Prompt.strang("Var bor du? "); if (ort.equals("hjo")) System.out.println("Du bor i Hjo"); else System.out.println("Du bor inte i Hjo"); Java6_LooparoVal.doc Ove Lundgren 10

11 Kap 6: Sid 11 While-loopar En loop (en slinga, en iteration) är programsatser som genomlöps flera gånger. Övning: WhileTest Vi vill att strängen "Java är kul" ska skrivas 10 gånger i ett konsolprogram. Så här kan programmet se ut: class WhileTest public static void main( String args[] ) int i; i=0; while (i<10) i = i + 1; System.out.println("Java är kul"); Heltalet i ges värdet 0 Vid while sker en test: Är i<10? Om så är fallet utförs de satser som står i blocket som följer, nämligen satsen i = i + 1, dvs i ökar sitt värde med 1 (i blir 1), och utskriften "Java är kul" sker. Därefter sker en ny test: Är fortfarande i<10? Om så är fallet utförs satserna i blocket igen, i = i + 1, dvs i ökar sitt värde med 1 (i blir 2), och "Java är kul" skrivs ut igen. Det hela upprepas (itereras) tills villkoret inte är sant (dvs till dess i inte längre är mindre än 10) Skriv in koden ovan. Spara som WhileTest.java i mappen X\java\Javagrunder Kompilera och kör. Notera: En while-loop utförs noll, en eller flera gånger. Den utförs så länge while-villkoret är true. Det är viktigt att den variabel som testas i villkorssatsen förändras inne i loopen (annars kommer aldrig villkoret att bli falskt, d v s iterationen tar aldrig tar slut - vi har då hamnat i en oändlig loop!) Två skrivsätt för räknare Satsen i = i + 1 ; visar hur man konstruerar en räknare i dataprogram. För varje "varv" kommer ju variabeln i att öka sitt värde med 1 Du minns kanske (från kapitel 2) att Java (och C++ ) har ett kortare skrivsätt för i = i + 1; Man kan i stället skriva så här: i++ ; Java6_LooparoVal.doc Ove Lundgren 11

12 Kap 6: Sid 12 Övning: Kapitaltillväxt Hur lång tid tar det för ett kapital som sätts in på bank att växa till ett visst belopp? Vi deklarerar flyttalen kapital, ranta och slutbelopp samt heltalet ar. Vi använder metoderna i Prompt-klassen för att tilldela värden: ar (årtalet då kapitalet sätts in på banken, t ex 1999) kapital (det insatta kapitalets storlek, t ex 1000) ranta (den aktuella räntesatsen, t ex 4.5) slutbelopp (det belopp som vi vill att kapitalet ska växa till, t ex 2000) class Kapital public static void main( String args[] ) double kapital, ranta, slutbelopp; int ar; ar = Prompt.heltal("Vilket år sätts beloppet in? "); kapital = Prompt.decimaltal("Vilket kapital sätts in?"); ranta = Prompt.decimaltal("Hur stor är räntesatsen?"); slutbelopp = Prompt.decimaltal("Vilket är slutbeloppet?"); while (kapital < slutbelopp) ar++; kapital = kapital * ( 1 + ranta/100); System.out.println("År " + ar + "är kapitalet " + kapital); Om kapitalet är mindre än slutbeloppet sker följande: Året räknas upp med 1 Kapitalets värde efter ett år beräknas Kapitalets värde skrivs ut Iterationen fortsätter så länge villkoret är sant, dvs att kapitalet är mindre än slutbeloppet. Skriv in programmet. Spara det som Kapital.java i mappen X\java\Javagrunder Kompilera Provkör några gånger med olika värden. Bestäm t ex: Hur lång tid tar det för ett kapital att fördubblas då räntan är 8.5 % Hur lång tid tar det för ett kapital att fördubblas då räntan är 3 % Java6_LooparoVal.doc Ove Lundgren 12

13 Kap 6: Sid 13 Do-loopar I while-loopen ligger villkorssatsen före slingan (vilket innebär att satserna i loopen kanske inte alls kommer att utföras) I do-loopen ligger villkoret efter slingan, vilket innebär att loopen genomlöps åtminstone en gång. Så här ser den ut: do... while ( villkor ); Övning: Upprepa beräkning Ta fram filen Summera2.java (kapitel 1) Lägg satser för inmatning, beräkning och utskrift i en do-loop Loopen fortsätter så länge man svarar j eller J class Summera2 public static void main( String args[] ) int x, y, s; char fortsatt; do x = Prompt.heltal("Skriv ett tal: "); y = Prompt.heltal("Skriv ett tal till: "); s = x + y; System.out.println("Summan är " + s); fortsatt = Prompt.tecken( Ny beräkning? ( J/N ) ); while ( fortsatt == j fortsatt == J ); Java6_LooparoVal.doc Ove Lundgren 13

14 Kap 6: Sid 14 For-loopar while-loopen och do-loopen upprepas så länge ett visst villkor är sant. Ofta vet vi inte från början hur många varv en sådan loop genomlöps. Om man vill bygga en loop där man vet hur många iterationer som ska göras kan man använda en while-loop och en räknare så som visades i övningen WhileTest ovan. Vanligen använder man i sådana fall en for-loop. (Sådana har du träffat på tidigare i kapitel 2 ) Uppgiften att skriva "Java är kul" 10 gånger löses så här med en for-loop: class ForTest public static void main( String args[] ) int j; j räknas upp med 1 varje varv for(j=0; j<10; j++) System.out.println("Java är kul"); j är noll första "varvet" Loopen fortsätter så länge detta villkor gäller, d v s j är 9 sista "varvet" Övning: ForTest Testa programmet ovan. Ändra sedan utskriften till System.out.println( j + " Java är kul"); så ser du värdet hos j för varje varv. Ändra sedan i for-satsen, så att den ser ut så här: for( j=15; j>0; j-- ) Spara det som ForTest.java i mappen X\java\Javagrunder Provkör. Studera hur värdet hos j ändras. Om loopvariabeln I exemplen ovan har vi deklarerat loopvariabeln, j, före loopen. Man kan även deklarera den inne i loopen, så här: for(int j=0; j<10; j++)... Variabeln har då räckvidd (gäller) endast inne i loopen, den existerar inte utanför. Loopvariabeln är oftast ett heltal (int) men kan även deklareras som flyttal (double) Java6_LooparoVal.doc Ove Lundgren 14

15 Kap 6: Sid 15 Kortformer Vi har tidigare sett att satsen i = i + 1 kan skrivas i++ I övningen ovan ser du att j = j - 1 kan skrivas j-- I Java finns fler kortformer. Du behöver inte använda dem (om du inte vill) men det är bra att känna igen dem. Här är en liten sammanställning: i = i + 1 kan skrivas i += 1 eller i++ j = j - 1 " " j -= 1 eller j-- a = a + 5 " " a += 5 b = b - 7 " " b -= 7 c = c * 3 " " c *= 3 d = d / 2 " " d /= 2 Övning: ForTest - igen Ändra for-satsen i föregående övning till for( j=2; j<=10; j+=2 ) Studera hur värdet på j ändras Nedan följer några övningar där du huvudsakligen använder for-loopen: Java6_LooparoVal.doc Ove Lundgren 15

16 Kap 6: Sid 16 Övning: Streck Skriv en applet som ritar 6 horisontella, röda streck på en blå bakgrund, så här: Använd en for-loop Spara som Streck.java i mappen X\java\Streck Ungefär så här kanske din for-loop ser ut: for(int i=0; i<6; i++) g.drawline(10, 10 + i*10, 100, 10 + i*10); Lägg till vertikala streck så att ett rutnät bildas. Använd variabler så att du lätt kan ändra placering, antalet rader och kolumner i rutnätet, samt rutans storlek. Så här till exempel: int a =10, b = 10; // Rutnätets övre vänstra hörn punkten (a,b) int r = 5, k = 7; // Antal rader r och antal kolumner k int s = 15; // Rutans storlek s... for(int i = 0; i < r+1 ; i++) // ritar horisontella linjer g.drawline(a, b+s*i, a+k*s, b+s*i); for(int i = 0; i < k +1; i++) // ritar vertikala linjer g.drawline(a+s*i, b, a+s*i, b+r*s); Övning: Rutnätklass Skriv en klass, Rutnat, med instansvariablerna a, b, r, k och s (heltal) Variablerna r, k och s tilldelas värden i konstruktorn. Variablerna a och b tilldelas värden i en metod setposition(int a, int b) Metoden rita(graphics g) ritar rutnätet. Skriv en applet, VisaRutnat, som instansierar ett Rutnat-objekt och ritar det. Försök klara uppgiften själv! Lösningsförslag på nästa sida Java6_LooparoVal.doc Ove Lundgren 16

17 Kap 6: Sid 17 Lösningsförslag: import java.awt.*; public class Rutnat private int a,b,r,k,s; public Rutnat(int r, int k, int s) // konstruktor this.r = r; this.k = k; this.s = s; public void setposition( int a, int b) this.a= a; this.b = b; public void rita(graphics g) for(int i = 0; i < r+1 ; i++) g.drawline(a, b+s*i, a+k*s, b+s*i); for(int i = 0; i < k +1; i++) g.drawline(a+s*i, b, a + s * i, b+r*s); import java.applet.*; import java.awt.*; public class VisaRutnat extends Applet Rutnat r; public void init() r = new Rutnat( 5, 7, 15); r.setposition( 5, 10 ); public void paint(graphics g) r.rita(g); På nästa sida finns ytterligare övningar. Rita mönstren direkt i en applet, eller skriv klasser och låt sedan en applet skapa och rita objekt Java6_LooparoVal.doc Ove Lundgren 17

18 Kap 6: Sid 18 Övning: Cirklar och kvadrater Hitta på egna mönster. Rita t ex 20 cirklar med växande radie eller kvadrater i olika storlekar (och färger) Övning: Schackbräde Rita ett schackbräde: Java6_LooparoVal.doc Ove Lundgren 18

Applets med komponenter

Applets med komponenter 5 Applets med komponenter Knappar Om gränssnitt (interface) Händelser Måla om appletytan Etiketter och textrutor Förvandla strängar till tal Aritmetik Omvandla datatyper med cast Felhantering Kap 5: Sid

Läs mer

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning.

Programmering med Java. Grunderna. Programspråket Java. Programmering med Java. Källkodsexempel. Java API-exempel In- och utmatning. Programmering med Java Programmering med Java Programspråket Java Källkodsexempel Källkod Java API-exempel In- och utmatning Grunderna Ann Pan panda@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 Game.java

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

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

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

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

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada

Mer källkod. Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne. Erik Forslin. Rum 1445, plan 4 på Nada Mer källkod Styrstrukturer Val Slingor Operatorer Källkodsexempel med minne Erik Forslin efo@nada.kth.se Rum 1445, plan 4 på Nada 08-7909690 1 Styrstrukturer i Java En styrstruktur är något som påverkar

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

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

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

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

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

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan.

Bankkonto - övning. Övning 2 Skriv en metod, geträntan, som returnerar räntan. Bankkonto - övning Övningar att göra efter lärardemostration. Filen bankkonto.zip innehåller ett projekt med klassen Bankkonto. Zippa upp denna fil och öppna projektet i BlueJ och skriv vidare på klassen

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

Grundläggande programmering

Grundläggande programmering 1 Grundläggande programmering Javaprogram Talvariabler Selektioner Teckenvariabler Strängar Iterationer Sammanfattning Övningar Kap 1: Sid 2 Observera! För övningarna i detta kapitel: Skapa en mapp med

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

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

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

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

TENTAMEN OOP

TENTAMEN OOP TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli

Läs mer

Kort om klasser och objekt En introduktion till GUI-programmering i Java

Kort om klasser och objekt En introduktion till GUI-programmering i Java Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på

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

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

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

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass.

Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Datateknik A, Syfte: Att prova på en enkel Applet och att lära sig olika sätt att hämta data från tangentbordet. Du får även prova på att skapa din första riktiga klass. Att läsa: Lektion 2 Uppgifter:

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

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p

LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p UMEÅ UNIVERSITET Datavetenskap 010530 LÖSNINGSFÖRSLAG Programmeringsteknik För Ing. - Java, 5p Betygsgränser 3 21,5-27 4 27,5-33,5 5 34-43 Uppgift 1. (4p) Hitta de fel som finns i nedanstående klass (det

Läs mer

Datalogi I, grundkurs med Java 10p, 2D4112, Fiktiv tentamen, svar och lösningar och extra kommentarer till vissa uppgifter 1a) Dividera förs

Datalogi I, grundkurs med Java 10p, 2D4112, 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 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

Innehållsförteckning

Innehållsförteckning Innehållsförteckning Ämne Sida Program Hur ska man lära sig programmering med Java? 11 Kapitel 1 Introduktion till programmering 13 1.1 Vad är programmering? 14 1.2 Vad är en algoritm? 16 1.3 Olika sätt

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 3: Booleans, if, switch

Föreläsning 3: Booleans, if, switch TDA 545: Objektorienterad programmering Föreläsning 3: Booleans, if, switch Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Påminnelse om klasser och objekt Boll boll1 = new Boll(5,12); skapar ett nytt

Läs mer

2D1339 Programkonstruktion för F1, ht 2003

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

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C DD1316 Mikael Djurfeldt Föreläsning 2 Programmeringsteknik och C Python introduktion Utskrift Inläsning Variabler Datatyp Aritmetiska operatorer Omvandling

Läs mer

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik DD1310. Programmering. Programspråk Föreläsning 2 steknik DD1310 Python introduktion Variabler Datatyper Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program är

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

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner 732G11 Linköpings universitet 2011-01-21 1 2 3 4 5 6 Skapa program Kompilera: Källkod Kompilator bytekod Köra: Bytekod Virtuell maskin Ett riktigt program Hej.java class Hej { public static void main (

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

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? Programmera i C Varför programmera i C när det finns språk som Simula och Pascal?? C är ett språk på relativt låg nivå vilket gör det möjligt att konstruera effektiva kompilatorer, samt att komma nära

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

Objektorienterad programmering Föreläsning 2

Objektorienterad programmering Föreläsning 2 Objektorienterad programmering Föreläsning 2 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda Inläsning av data via dialogrutor Repetitioner (While-satsen och For-satsen) Nästlade

Läs mer

Programmering A. Johan Eliasson johane@cs.umu.se

Programmering A. Johan Eliasson johane@cs.umu.se Programmering A Johan Eliasson johane@cs.umu.se 1 Jag Undervisar mest grundläggande programmering på Institutionen för datavetensakap Applikationsutveckling för iphone Applikationsutveckling i Java Datastrukturer

Läs mer

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det?

Föreläsning 10 Datalogi 1 DA2001. Utskrift på skärmen. Syntax. print( Hej ) Hur är det? Hej. print( Hej,end= ) print( Hur är det? ) HejHur är det? Föreläsning 10 Datalogi 1 DA2001 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer på skärmen print( Hej ) print( Hur är det?

Läs mer

Villkor och tester. Utförande satser bygger upp metoderna, man brukar finindela detta i: sekvenser. Ett program består i princip av: selektioner (val)

Villkor och tester. Utförande satser bygger upp metoderna, man brukar finindela detta i: sekvenser. Ett program består i princip av: selektioner (val) Villkor och tester Ett program består i princip av: Deklarationer som inför variabler, dvs namngivna minnesceller som används för att lagra data. int a; double radie=1.0, yta; double d = 4.5; String s

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

Lab5 för prgmedcl04 Grafik

Lab5 för prgmedcl04 Grafik Lab5 för prgmedcl04 Grafik Viktigt läs detta först:den här labblydelsen är ganska lång, detta betyder inte att labben tar lång tid.en hel del av lydelsen är anvisning om hur man går tillväga för att kunna

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

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

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

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

DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin DI-institutionen Sid 1 av 6 Hans-Edy Mårtensson Sten Sundin TENTAMEN I IKB007 INTERNETPROGRAMMERING MED JAVA för SY2 1999-03-17, kl 14.00-18.00 Hjälpmedel: En lärobok i Java programmering Återlämningstillfälle:

Läs mer

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det rik

2D1311 Programmeringsteknik för Bio1 och Bio2, vt 2003 Fiktivt prov På flervalsfrågorna är endast ett svar rätt om inget annat anges i frågan! Det 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 mer

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk

Föreläsning 2 Programmeringsteknik och C DD1316. Programmering. Programspråk Föreläsning 2 steknik och C DD1316 python introduktion Variabler Datatyp Aritmetiska operatorer av typer Reserverade ord logiska operatorer If-sats kommentarer betyder att instruera en dator Ett program

Läs mer

Övning2. Variabler. Data typer

Övning2. Variabler. Data typer Vahid 28 okt 2002 prgk02 Övning2 -Repetition -Variabler -Primitiva typer (+ boolean) -Operatörer +, ++, --, -Typ konvertering -Wrapper klasser -Jämförelse operatörer,(==, =, ,!=,!) -String hur man

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

String [] argv. Dagens Agenda. Mer om arrayer. Mer om arrayer forts. String [] argv. argv är variabelnamnet. Arrayer och Strängar fortsättning

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

2D1342 Programkonstruktion för F1, ht 2006

2D1342 Programkonstruktion för F1, ht 2006 2D1342 Programkonstruktion för F1, ht 2006 Lappskrivning 1 Tisdag 7/11 2006 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

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

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser // En första version av BankKonto-klassen class BankKonto { private String namn; private long nr; private double saldo; private double ränta; // Klassen TestaBankKonto // Klassens uppgift är att skapa

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

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

Lösningsförslag tentamen FYTA11 Java

Lösningsförslag tentamen FYTA11 Java Lunds universitet FYTA11 Institutionen för Teoretisk fysik HT 10 Lösningsförslag tentamen FYTA11 Java Måndag 10:e januari 2011, 09:00 13:00 Instruktioner Hjälpmedel: enkla ritverktyg och Javadoc-genererade

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

i LabVIEW. Några programmeringstekniska grundbegrepp

i LabVIEW. Några programmeringstekniska grundbegrepp Institutionen för elektroteknik Några programmeringstekniska grundbegrepp 1999-02-16 Inledning Inom datorprogrammering förekommer ett antal grundbegrepp som är i stort sett likadana oberoende om vi talar

Läs mer

JAVA Mer om klasser och objektorientering

JAVA Mer om klasser och objektorientering JAVA Mer om klasser och objektorientering Begreppet package - paket Package används när man t ex vill skapa ett eget bibliotek med klasser. Sen är det då meningen att man ska importera detta paket i det

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

Programmeringsteknik med C och Matlab

Programmeringsteknik med C och Matlab Programmeringsteknik med C och Matlab Kapitel 2: C-programmeringens grunder Henrik Björklund Umeå universitet Björklund (UmU) Programmeringsteknik 1 / 32 Mer organisatoriskt Imorgon: Datorintro i lab Logga

Läs mer

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic Inledning Starta Microsoft Visual Studio 2005. Välj create Project Välj VB + Vindows Application och välj ett nytt

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

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

E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I

E02 The Review Föreläsning 2, HT2013 Grunderna, repetition. Johan Leitet. Kurs: 1dv403 Webbteknik I E02 "The Review" Föreläsning 2, HT2013 Grunderna, repetition Kurs: 1dv403 Webbteknik I Johan Leitet E02 - "The Review" Dagens agenda Identifierare Kommentarer Variabler Datatyper Operatorer Villkorssatser

Läs mer

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014

Introduktion till Datalogi DD1339. Föreläsning 2 22 sept 2014 Introduktion till Datalogi DD1339 Föreläsning 2 22 sept 2014 Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 public class { public class { Åtkomst, public betyder fullt tillgänglig utifrån public

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

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

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

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

Föreläsning 3-4 Innehåll

Föreläsning 3-4 Innehåll Föreläsning 3-4 Innehåll Skriva egna metoder Logiska uttryck Algoritm för att beräkna min och max Vektorer Datavetenskap (LTH) Föreläsning 3-4 HT 2017 1 / 36 Diskutera Vad gör programmet programmet? Föreslå

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 för ingenjörer, VT06 2 Repetition Repetition -

Läs mer

Tentamen på kursen DA7351, Programmering 1. 051102, kl 08.15-12.15. Malmö högskola Teknik och samhälle. DA7351, Programmering 1 1 051102

Tentamen på kursen DA7351, Programmering 1. 051102, kl 08.15-12.15. Malmö högskola Teknik och samhälle. DA7351, Programmering 1 1 051102 Tentamen på kursen DA7351, Programmering 1 051102, kl 08.15-12.15 Tillåtna hjälpmedel: Valfri bok om Java. Vid bedömning av lösningarna tas hänsyn till om dessa uppfyller de krav på programkvalitet (strukturering,

Läs mer

Föreläsningsmaterial (Logik, if-satsen & iteration)

Föreläsningsmaterial (Logik, if-satsen & iteration) Föreläsningsmaterial (Logik, if-satsen & iteration) Logiska uttryck och boolska variabler Relationsoperatorer i Java Relationsoperatorer i java Lika med == Ej lika med!= Större än > Större än eller lika

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

TENTAMEN OOP

TENTAMEN OOP TENTAMEN OOP 2014-01-19 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Strukturdiagram. Styra. Algoritmer. Val 732G11 Linköpings universitet 2011-01-26 1 2 3 4 Program recept 1 spaghetti = 100; 2 salt = 1; 3 olja = 5; 4 köttbullar = 8; 5 ketchup = 0,5; 6 koka(salt, spaghetti); 7 micra(köttbullar); 8 Om(micron ==

Läs mer

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F2:1 OOP Objekt-orienterad programmering Föreläsning 2 Input/Output Programsatser Selektion Output OOP F2:2 Görs via System.out, anropa antingen print eller println: System.out.print("Hej"); System.out.println(

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

5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har

5. En metod som anropar sig själv a) får inte förekomma i Java-program b) kallas destruktiv c) kallas iterativ d) kallas rekursiv 6. Vilka värden har Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Exempel på tentafrågor i Java Först följer frågor av flervalstyp. Frågorna är inte ordnade efter svårighetsgrad. 1. Skillnaden mellan typerna int och

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

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

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

Föreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden

Föreläsning 7. Nyckelord I Java. Uttryck. Uttryck, Operatorer Och Kontrollflöden Föreläsning 7 Uttryck, Operatorer Och Kontrollflöden Nyckelord I Java abstract double int super boolean else interface switch break extends long synchronized byte final native this case finally new throw

Läs mer

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h

Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Kungliga Tekniska Högskolan Ämneskod 2D4134 Nada Tentamensdag 2001 - maj - 19 Tentamen i Objektorientering och Java Skrivtid 5 h Antalet uppgifter : 2 (20p + 20p = 40 p) ) Lärare, jourhavande lärare :

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

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

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

Programmering för språkteknologer II, HT2011. Rum Programmering för språkteknologer II, HT2011 evelina.andersson@lingfil.uu.se Rum 9-2035 http://stp.ling.uu.se/~evelina/uv/uv11/pst2/ Kursplan Mål Efter avslutad kurs skall studenten för att förtjäna betyget

Läs mer

En kort text om programmering i C.

En kort text om programmering i C. En kort text om programmering i C C skapades 1972 av Brian Ritchie och Dennis Kerighan på Bell Labs i USA Det blev det språk som är mest använt genom tiderna Det finns många olika språk Pascal, FORTH,

Läs mer

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1)

Att deklarera och att använda variabler. Föreläsning 10. Synlighetsregler (2) Synlighetsregler (1) Föreläsning 10 STRING OCH STRINGBUILDER; VARIABLERS SYNLIGHET Att deklarera och att använda variabler När vi deklarerar en variabel, t ex int x; inför vi en ny variabel med ett namn och en typ. När namnet

Läs mer

Tentamen. Lösningsförslag

Tentamen. Lösningsförslag Sida 1/8 Tentamen Grundläggande programmering i Java A 5p, DTAA32 2002-03-22 Lösningsförslag Uppgift 1 ( 3p ) Utskriften blir: Skriv in ett tal 24 47 48 intal=471 Uppgift 2 ( 6p ) a.) b.) c.) d.) e.) falskt

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

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6

Objektorienterad programmering i Java I. Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Laboration 2 Objektorienterad programmering i Java I Uppgifter: 2 Beräknad tid: 5-8 timmar (OBS! Endast ett labbtillfälle) Att läsa: kapitel 5 6 Syfte: Att kunna använda sig av olika villkors- och kontrollflödeskonstruktioner

Läs mer

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08

Programmering A C# VT 2010. Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Programmering A C# VT 2010 Ett kompendie över Programmering A (50p) i c# Stefan Fredriksson 2010 02 08 Innehåll Hjälp och referenser... 3 Kap 1 Introduktion... 3 Steg för steg... 3 Kapitel 2 Variabler...

Läs mer

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Muddy cards. Slingor 732G11 Linköpings universitet 2011-02-01 1 2 3 Strukturdiagram Strukturdiagram används för att visa hur ett program fungerar. Man kan se alla val och upprepningar som sker i programmet. Består av tre (!)

Läs mer