University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4

Save this PDF as:
 WORD  PNG  TXT  JPG

Størrelse: px
Starte visningen fra side:

Download "University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 4"

Transkript

1 DM502 Forelæsning 4

2 Flere kontrolstrukturer for-løkke switch-case Metoder Indhold Arrays og sortering af arrays String-funktioner

3 for-løkke Ofte har man brug for at udføre det samme kode, for en sekvens af tal/elementer Dette kan selvfølgelig gøres med en while-løkke int i = 1; while (i <= 10) { System.out.println(i); ++i; Alternativt med en for-løkke int i; for (i=1; i<=10; ++i) { System.out.println(i); Eller lidt mere kompakt for (int i=1; i<=10; ++i) { System.out.println(i);

4 for-løkke Vi kan også gennemløbe elementerne i (f.eks.) en ArrayList ArrayList<Integer> list = new ArrayList<Integer>(); Collections.addAll(list, 1,5,7,9,5); for (int x=0; x<list.size(); ++x) { System.out.println(list.get(x)); Eller mere kompakt for (Integer i : list) { System.out.println(i);

5 if (i == 0) {...; else if (i == 1) {...; else if (i == 2) {...; else {...; switch-case

6 switch (i) { case 0:...; break; case 1:...; break; case 2: default:...; break; switch-case

7 switch-case String navn; switch (dag) { case 1: navn = Mandag ; break; case 2: navn = Mandag ; break; case 3: navn = Mandag ; break;... case 7: navn = Mandag ; break; default: navn = Ikke en gyldig dag ; break;

8 int antal; switch (maaned) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: antal = 31; break; case 4: case 6: case 9: case 11: antal = 30; break; case 2: if (skudaar) { antal = 29; else { antal = 28; switch-case

9 Metoder Også kaldet funktioner De muliggør genbrug af kode Skal kun skrive koden én gang Men kan bruges mange steder En metode er meget lig en matematisk funktion Man propper noget ind i den og får noget ud i den anden ende Fx f(x) =x 3 Man kalder x et argument til funktionen f

10 Metoder Vi har allerede set metoder brugt flere gange median = list.get( index - 1 ); get er en metode på ArrayLister Den tager en int som argument tal = tastatur.nextint(); nextint er en metode på ArrayLister Den tager ingen argumenter Ligesom matematiske funktioner Man propper noget ind (evt. ingenting) Fx en int - et index Man får noget ud i den anden ende Fx et element i listen - elementet i listen på det pågældende index

11 Metoder i Java Erklæring Hvilke argumenter Hvad returneres (sendes tilbage) Fx en int i nextint() tilfældet Implementation Hvordan skrives selve koden Brug af argumenter Returnering Brug af en metode. Hvordan anvendes en metode Det har vi allerede set flere gange

12 Erklæring af metoder public static RETURTYPE metodenavn( ARGUMENTLISTE ) {... KODE... public static Ignorer vi foreløbigt RETURTYPE Typen af det der returneres fra funktionen Fx int i nextint() tilfældet Kan være void hvis der ikke returneres noget Bruges ofte ved sideeffekter metodenavn Navnet på metoden

13 Erklæring af metoder ARGUMENTLISTE En liste, adskilt med komma, af argumenter til metoden Evt. er listen tom (ingen argumenter) Som fx for nextint() Hvert argument i listen angives som TYPE navn Fx er argumentet til metoden get fra ArrayList int index Bemærk: Flere ting ind (argumenter) Kun én ting ud (retur-værdi)

14 nextint() på Scanner Eksempler på erklæringer public int nextint() Kan også ses i API et println() fra System.out public void println( String x ) Metoden tager et argument, en String Metoden returner ingenting Erklæringen på en metode der opløfter x i y te Metoden skal tage x og y som argumenter Returnere x y public static int power( int x, int y )

15 Implementation af metoder Argumenter kan bruges ligesom alle andre variable (de har den værdi brugeren af metoden har angivet) Returnering sker med return Variable erklæret i en metode kan ikke ses i en anden metode (scope) Man kan altså godt bruge samme variabelnavn i flere metoder

16 public static int power( int x, int y ) { int result = 1; int i; for( i = 1; i <= y; ++i ) { result = result * x; return result; Eksempel

17 public static int power( int x, int y ) { int result = 1; int i; for( i = 1; i <= y; ++i ) { result = result * x; return result; Ækvivalent med: Eksempel public static int power( int x, int y ) { int result = 1; int i; i = 1; while( i <= y ) { result = result * x; ++i; return result;

18 public class PowerExample {! public static void main( String[] args ) {!! int result;!! int a, b;!! a = 2;!! b = 4;!! result = power( a, b );!! System.out.println( result );!! result = power( b, 0 );!! System.out.println( result ); Komplet eksempel!! System.out.println( power( 1, 2 ) );!! public static int power( int x, int y ) {!! int result = 1;!! int i;!! for( i = 1; i <= y; ++i ) {!!! result = result * x;!!!! return result;!

19 Arrays En statisk liste i Java Dvs. ingen indsættelser/tilføjelser (længden er fast) Må dog godt ændre i et array Erklæring Hvordan laves et array? Initialisering Hvordan kommes ting ind i arrayet? Brug Hvordan læses og ændres i arrayet?

20 Arrays TYPE[] navn; Hvilken type elementer skal der ligge i arrayet Fx int[] speeddial; navn = new TYPE[ LÆNGDE ]; Hvor mange pladser skal der være i arrayet Fx speeddial = new int[20]; Eller det hele på en linie int[] speeddial = new int[20]; Bemærk: Ikke noget antal mellem første sæt klammer Initialisering int[] speeddial = { , Længden givet ved længden af initialiseringslisten

21 Arrays int[] speeddial = new int[20]; Husk at lister i Java er 0-indekseret! speeddial har elementer på plads 0-19 Læs det 5. element i listen speeddial[4]; Skriv en værdi på den 5. plads i arrayet speeddial[4] = ; Bemærk at nogle pladser godt kan være uinitialiseret Længden af arrayet kan læses speeddial.length

22 public class ArrayExample {! public static void main( String[] args ) {!! int[] speeddial = new int[5];!! int i;!! speeddial[0] = ;!! speeddial[1] = ; Array - eksempel!! System.out.println( "Plads 0: " + speeddial[0] );!! System.out.println( "Plads 1: " + speeddial[1] );!! System.out.println( "Længde: " + speeddial.length );!! for( i = 0; i < speeddial.length; ++i ) {!!! speeddial[i] = i;!!!! for( i = 0; i < speeddial.length; ++i ) {!!! System.out.println( speeddial[i] );!!!

23 import java.util.arrays; public class ArraySortExample {! public static void main( String[] args ) {!! int[] a = {1,78,4,67,4,2,2,5,7;!! System.out.println(Arrays.toString(a));!! Arrays.sort(a);!! System.out.println(Arrays.toString(a));! Array - sortering

24 String Strenge på dansk En type der kan indeholde tekst Vi har allerede set String brugt flere gange Erklæring og initialisering String s; s = Hej med dig ; String s = Hej med dig ; Man kan ikke ændre på indholdet af en String (fx ændre et bogstav) En String er i virkeligheden et char array Men vi kan ikke ændre det der står på den enkelte plads

25 String - vigtige funktioner Eksempel: String s = Hej med dig ; char charat( int index ) s.charat( 2 ); Returnerer j boolean equals( String str ) s.equals( HEj med dig ); Returnerer false boolean equalsignorecase( String str ) s.equalsignorecase( HEj med dig ); Returnerer true int length() s.length(); Returnerer 11

26 String - vigtigt Man kan IKKE sammenligne på følgende måde: String s = Hej med dig ; String t = Hej med dig ; if( s == t ) {...

27 String - eksempel public class StringExample {! public static void main( String[] args ) {!! String s = "Hej med dig";!! System.out.println( s.charat( 2 ) );!! System.out.println( s.equals( "HEj med dig" ) );!! System.out.println( s.equalsignorecase( "HEj med dig" ) );!! System.out.println( s.length() );

28 String - eksempel public class StringExample {! public static void main( String[] args ) {!! String s = "Hej med dig";!! System.out.println( s.charat( 2 ) );!! System.out.println( s.equals( "HEj med dig" ) );!! System.out.println( s.equalsignorecase( "HEj med dig" ) );!! System.out.println( s.length() );!! System.out.println( substring( s, 0, 2 ) );!! public static String substring( String str, int i, int j ) {!! String result = "";!! while( i <= j ) {!!! result = result + str.charat( i );!!! i++;!!!! return result;!

29 main-metoden Helt almindelig metode Pånær det er her programmer starter public static void main( String[] args ) {... Returnerer altså ingenting Tager et String-array som argument Det er argumenter som er givet på kommandolinjen

30 main-metoden - eksempel public class CommandLineExample {! public static void main( String[] args ) {!! int i;!! for( i = 0; i < args.length; i++ ) {!!! System.out.println( args[i] );!!!

31 main-metoden - eksempel public class CommandLineExample {! public static void main( String[] args ) {!! int i;!! for( i = 0; i < args.length; i++ ) {!!! System.out.println( args[i] );!!!

32 main-metoden - eksempel public class CommandLineExample {! public static void main( String[] args ) {!! int i;!! for( i = 0; i < args.length; i++ ) {!!! System.out.println( args[i] );!!!

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 3 DM502 Forelæsning 3 Indlæsning fra tastatur Udskrift til skærm Repetition Beregning af middelværdi Gentagelse med stop-betingelse (while) Heltalsdivision Division med nul Type-casting ( (double) ) Betinget

Læs mere

Eksempel: Skat i år 2000

Eksempel: Skat i år 2000 Kursus 02199: Programmering afsnit 2.1-2.7 Anne Haxthausen IMM, DTU 1. Værdier og typer (bl.a. char, boolean, int, double) (afsnit 2.4) 2. Variable og konstanter (afsnit 2.3) 3. Sætninger (bl.a. assignments)

Læs mere

Virkefeltsregler i Java

Virkefeltsregler i Java Virkefeltsregler i Java int i; int k; Sequence s; int j; What s in a name? Brian spillede blændende i søndags! Skolen ligger i Viby Ring til Kirsten og sig at... Et navn fortolkes i en kontekst og konteksten

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 2 DM502 Forelæsning 2 Repetition Kompilere og køre Java program javac HelloWorld.java java HeloWorld.java Debugge Java program javac -g HelloWorld.java jswat Det basale Java program public class HelloWorld

Læs mere

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11

DM01 DM01. 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 18/3-2003. Side 1 af 11 DM01 DM01 3. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 18/3-2003 Side 1 af 11 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DILEMMA:...4 2.1.1 METODER:...4

Læs mere

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens

Aritmetiske Forelæsning Pr ogrammering operatorer tir 1999 sda præcedens september 1999 Logiske Sammenligningsoperatorer operatorer præcedens Programmering 1999 Forelæsning 3, tirsdag 7. september 1999 Aritmetiske og logiske operatorer, præcedens Den indbyggede klasse String: tegnstrenge Metoder i klasser Metoder: returtype eller void Metoder:

Læs mere

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007

AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 AAU, Programmering i Java Intern skriftlig prøve 18. maj 2007 Opgavebesvarelsen skal afleveres som enten en printerudskrift eller som et passende dokument sendt via email til fjj@noea.dk. Besvarelsen skal

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

Læs mere

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java

Kursus i OOP og Java. Kursus i Objektorienteret programmering i Java Kursus i OOP og Java Kursus i Objektorienteret programmering i Java Åben Dokumentlicens Dette foredragsmateriale er under Åben Dokumentlicens (ÅDL) Du har derfor lov til frit at kopiere dette værk Bruger

Læs mere

Kursusarbejde 3 Grundlæggende Programmering

Kursusarbejde 3 Grundlæggende Programmering Kursusarbejde 3 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 21. november 2003 Indhold 1. Kode 2 1.1. forestillinger.h............................................. 2 1.2. forestillinger.cc.............................................

Læs mere

Noter og opgaver. Programmering A IMADA. Niels Kjeldsen & Jacob Aae Mikkelsen. Med grundig korrektur og rettelser af Edmund Christiansen

Noter og opgaver. Programmering A IMADA. Niels Kjeldsen & Jacob Aae Mikkelsen. Med grundig korrektur og rettelser af Edmund Christiansen Programmering A IMADA Noter og opgaver Niels Kjeldsen & Jacob Aae Mikkelsen Med grundig korrektur og rettelser af Edmund Christiansen Noter til Programmering A INDHOLD Indhold 1 Indledning 3 2 Kom i gang

Læs mere

Forelæsning Uge 4 Torsdag

Forelæsning Uge 4 Torsdag Forelæsning Uge 4 Torsdag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Levetid for variabler og parametre Virkefeltsregler Hvor kan man bruge de forskellige variabler?

Læs mere

Forelæsning Uge 2 Mandag

Forelæsning Uge 2 Mandag Forelæsning Uge 2 Mandag Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Java syntax og style guide Afleveringsopgave:

Læs mere

Jacob Christiansen, Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense

Jacob Christiansen, Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense 7 DM -. Obligatoriske Opgave Løsning af ligningssystem vha. fipunktmetoden Jacob Christiansen, 8 moffe@imada.sdu.dk Institut for MAtematik og DAtalogi, Syddansk Universitet, Odense. Opgaven Der skal implementeres

Læs mere

Abstrakte datatyper C#-version

Abstrakte datatyper C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Abstrakte datatyper C#-version Finn Nordbjerg 1/9 Abstrakte Datatyper Denne note introducerer kort begrebet abstrakt datatype

Læs mere

Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0.

Kursus 02199: Programmering. Kontrol af programudførelsen. afsnit 3.1-3.5. if (indkomst > 267000) topskat = (indkomst-267000) * 0. Kursus 02199: Programmering afsnit 3.1-3.5 Anne Haxthausen IMM, DTU 1. Kontrol af programudførn (afsnit 3.1) 2. Valg-sætninger (if og switch) (afsnit 3.2 og 3.3) 3. Bloksætninger (afsnit 3.2) 4. Logiske

Læs mere

BRP 6.9.2006 Kursusintroduktion og Java-oversigt

BRP 6.9.2006 Kursusintroduktion og Java-oversigt BRP 6.9.2006 Kursusintroduktion og Java-oversigt 1. Kursusintroduktion 2. Java-oversigt (A): Opgave P4.4 3. Java-oversigt (B): Ny omvendings -opgave 4. Introduktion til næste kursusgang Kursusintroduktion:

Læs mere

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104

Civilingeniøreksamen 49104 12. januar 2001. Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Skriftelig prøve den 12. januar 2001 Kursusnummer 49104 Kursusnavn: Programmering. Tilladte hjælpemidler: Alle skriftlige hjælpemidler Opgavesættet består af fire opgaver, der har følgende vægtning: Opgave

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 6 DM502 Forelæsning 6 Klasser og objekter Introduktion Math-klassen Indhold Klasser vs. objekter Først et tænkt eksempel: Vi vil lave en bil i Java 1. spørgsmål: Hvad karakteriserer en bil? Model År Farve...

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Opfølgning på Skildpadde

Læs mere

Programmering i C. Lektion 4. 5. december 2008

Programmering i C. Lektion 4. 5. december 2008 Programmering i C Lektion 4 5. december 2008 Funktioner Eksempel Fra sidst 1 Funktioner 2 Eksempel Funktioner Eksempel Eksempel: 1 / f u n k t i o n s p r o t o t y p e r / i n t i n d l a e s ( void )

Læs mere

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7

DM01 DM01. 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk. D12, Elias 13/5-2003. Side 1 af 7 DM01 DM01 4. Obl. Afl. Jacob Christiansen, 130282, jacob.ch@mail.tdcadsl.dk D12, Elias 13/5-2003 Side 1 af 7 DM01 Indholdsfortegnelse: BILAG:...2 1 FORMÅL:...3 2 KLASSER:...4 2.1 DNA2:...4 2.1.1 METODER:...4

Læs mere

Løsning af møntproblemet

Løsning af møntproblemet Løsning af møntproblemet Keld Helsgaun RUC, oktober 1999 Antag at tilstandene i problemet (stillingerne) er repræsenteret ved objekter af klassen State. Vi kan da finde en kortest mulig løsning af problemet

Læs mere

Forelæsning Uge 4 Mandag

Forelæsning Uge 4 Mandag Forelæsning Uge 4 Mandag Algoritmeskabeloner Kan (ved simple tilretningerne) bruges til at implementere metoder, der gennemsøger en arrayliste (eller anden objektsamling) og finder objekter, der opfylder

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2016 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 29. februar, 2016 Dette projekt udleveres i tre dele. Hver del har sin deadline, således

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList Collection (samling af objekter) med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel

Læs mere

//Udskriver System.out.println("Hej " + ditfornavn + " " + ditefternavn + "."); System.out.println("Du er " + dinalder + " aar gammel!

//Udskriver System.out.println(Hej  + ditfornavn +   + ditefternavn + .); System.out.println(Du er  + dinalder +  aar gammel! Denne guide er oprindeligt udgivet på Eksperten.dk Brugerinput i Java Denne her artikel gennemgår diverse ting ved brug af brugerinput i Java. Den starter med det simple og fortæller derefter skridt for

Læs mere

Programmering i C. Lektion november 2008

Programmering i C. Lektion november 2008 Programmering i C Lektion 3 18. november 2008 Kontrolstrukturer Udvælgelse Gentagelse Eksempler Fra sidst 1 Kontrolstrukturer 2 Udvælgelse 3 Gentagelse 4 Eksempler Kontrolstrukturer Udvælgelse Gentagelse

Læs mere

Python programmering. Per Tøfting. MacFest

Python programmering. Per Tøfting. MacFest Python programmering MacFest 2005 Per Tøfting http://pertoefting.dk/macfest/ Indhold Måder at afvikle Python program på Variabler Data typer Tal Sekvenser Strenge Tupler Lister Dictionaries Kontrolstrukturer

Læs mere

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner

Java Programmering. En bog for begyndere. Skrevet af Henrik Kressner Java Programmering En bog for begyndere Skrevet af Henrik Kressner Indholdsfortegnelse Introduktion...3 1 Introduktion til Java...4 1.1 Javakoden...4 1.2 Det første program...6 1.2 Skriv til skærmen...6

Læs mere

Forelæsning Uge 3 Torsdag

Forelæsning Uge 3 Torsdag Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Arrays Kan "opbevare" et antal objekter (som ArrayList) Fast (på forhånd kendt) antal elementer Afleveringsopgave:

Læs mere

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11

University of Southern Denmark Syddansk Universitet. DM503 Forelæsning 11 DM503 Forelæsning 11 Generics Pakker Exceptions Indhold Generics Nedarvning og Generics Generics Nedarvning og Generics Husk Box fra sidst Generics public class Box {! private T object;! public void

Læs mere

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen.

Indledning. Hvorfor det forholder sig sådan har jeg en masse idéer om, men det bliver for meget at komme ind på her. God fornøjelse med læsningen. Indledning...2 Variabler...13 Eksempel: 1...13 Eksempel 2:...13 Eksempel 3:...15 Eksempel 4:...16 Metoder...17 Metode (intet ind og intet ud)...17 Metode (tekst ind)...18 Metode (tekst ind og tekst ud)...19

Læs mere

Integer.parseInt(args[0]) konverterer tegnstreng (f.eks. "10") til heltal (10). if (udtryk) else

Integer.parseInt(args[0]) konverterer tegnstreng (f.eks. 10) til heltal (10). if (udtryk) else Programmering 1999 Forelæsning 2, fredag 3. september 1999 Betingede ordrer: if-, if Indlejrede betingede ordrer Løkker med begrænset iteration: for Løkker med ubegrænset iteration: while Betingede ordrer,

Læs mere

Forelæsning Uge 5 Mandag

Forelæsning Uge 5 Mandag Forelæsning Uge 5 Mandag Algoritmeskabeloner findone, findall, findnoof, findsumof (sidste mandag) findbest Brug af klassen Collections og interfacet Comparable BlueJ s Debugger Nyttig til at inspicere

Læs mere

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 10

University of Southern Denmark Syddansk Universitet. DM502 Forelæsning 10 DM502 Forelæsning 10 Rekursion Fakultet n! Fibonaccitallene 2. projektopgave Opgaven Formalia Indhold Rekursion Rekursion Prøv at definere en liste af tal uden at bruge ordet liste Rekursion Prøv at definere

Læs mere

Hashing og hashtabeller

Hashing og hashtabeller Datastrukturer & Algoritmer, Datalogi C Forelæsning 12/11-2002 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt

Læs mere

PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections;

PROGRAM. using System; using System.Collections.Generic; using System.Text; using System.Collections; PROGRAM using System; using System.Collections.Generic; using System.Text; using System.Collections; namespace EventManager class Program static void Main(string[] args) string hovedmenu = ""; string svar;

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Java syntax og style guide Sætninger Simple sætninger (assignment, interne og eksterne metodekald) Sammensatte sætninger (blok, selektion, gentagelse) Udtryk og operatorer Brug

Læs mere

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 dintprog Manual Revision: 1241 August 24, 2010 Indhold I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering 4 III Sprogkonstruktioner 5 4 Klasser

Læs mere

Forelæsning Uge 3 Mandag

Forelæsning Uge 3 Mandag Forelæsning Uge 3 Mandag ArrayList Collection med variabelt antal elementer Der er mange andre Collection typer (se Collection interfacet i JavaDoc) MusicOrganizer projektet Eksempel på brug af ArrayList

Læs mere

Rekursion og dynamisk programmering

Rekursion og dynamisk programmering Rekursion og dynamisk programmering Datastrukturer & Algoritmer, Dat C Forelæsning 12/10-2004 Henning Christiansen Rekursion: at en procedure kalder sig selv eller et antal metoder kalder hinanden gensidigt.

Læs mere

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering

Grundlæggende Programmering ITU, Efterår 1999. Skriftlig eksamen i Grundlæggende Programmering Skriftlig eksamen i Grundlæggende Programmering ITU, 20. januar 2000 Alle hjælpemidler tilladt, dog ikke datamat. Eksamen er skriftlig, fire timer, og bedømmes efter 13-skalaen. Opgavesættet består af

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition)

Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 - forstå datastrukturer og algoritmer (teoretisk forståelse og intuition) Datalogi OB, Efterår 2002 OH er, forelæsning 3/9-2002 Datastrukturer og algoritmer Henning Christiansen henning@ruc.dk http://www.ruc.dk/~henning Formål: at kunne - forstå datastrukturer og algoritmer

Læs mere

Hashing og hashtabeller

Hashing og hashtabeller Datastrukturer & Algoritmer, Datalogi C Forelæsning 16/11-2004 Hashing og hashtabeller Teknik til at repræsentere mængder Konstant tid for finde og indsætte men ingen sortering af elementerne Specielt

Læs mere

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter..

9.8 Kildekode. side 88. Pakke Klasse Sidenummer. fortsætter.. 9.8 Kildekode Pakke Klasse Sidenummer db Aktivitetstype 91 Behandler 91 ConnectDB 92 DagensKommentar 93 Helligdag 94 IkkePrimaerTid 94 Patient 96 Patientaftale 96 PatientAktivitet 97 Patientgruppe 98 PatientgruppeItem

Læs mere

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning

Datalogi OB, Efterår 2002 OH er, forelæsning 10/ Klasser og nedarvning Datalogi OB, Efterår 2002 OH er, forelæsning 10/9-2002 Klasser og nedarvning Hvad er formålet? Typer, generisk kode, typeparameterisering Kritisk kig på, hvordan man gør i Java. Eftermiddagens opgave:

Læs mere

Programmering i C. Lektion oktober 2008

Programmering i C. Lektion oktober 2008 Programmering i C Lektion 2 20 oktober 2008 Historie Processen At kompilere 2 / 23 Fra sidst 1 Historie 2 Processen 3 At kompilere Historie Processen At kompilere 3 / 23 ALGOL 60 1963 CPL 1966 BCPL 1969

Læs mere

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/

DM502. Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ DM502 Peter Schneider-Kamp (petersk@imada.sdu.dk) http://imada.sdu.dk/~petersk/dm502/ 1 DM502 Bog, ugesedler og noter De første øvelser Let for nogen, svært for andre Kom til øvelserne! Lav opgaverne!

Læs mere

Klasser og objekter. (Afsnit i manualen)

Klasser og objekter. (Afsnit i manualen) Klasser og objekter (Afsnit 4 + 5 i manualen) Grundbegreber Klasser og objekter beskrivelse oprettelse Attributter og metoder tilstand opførsel Indkapsling afskærmning datarepræsentationsuafhængighed Klasser

Læs mere

Forelæsning Uge 6 Mandag

Forelæsning Uge 6 Mandag Forelæsning Uge 6 Mandag Tingene i denne forelæsning er ikke eksamenspensum Forelæsningen afrunder kurset, og forklarer nogle af de begreber, som I har mødt under kurset uden at få detaljeret forklaring

Læs mere

Forelæsning Uge 3 Torsdag

Forelæsning Uge 3 Torsdag Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Rekursive metoder Metoder der kalder sig selv Giver ofte meget elegante og simple løsninger på komplekse

Læs mere

DM507 Algoritmer og datastrukturer

DM507 Algoritmer og datastrukturer DM507 Algoritmer og datastrukturer Forår 2015 Projekt, del I Institut for matematik og datalogi Syddansk Universitet 3. marts, 2015 Dette projekt udleveres i to dele. Hver del har sin deadline, således

Læs mere

Forelæsning Uge 1 Torsdag

Forelæsning Uge 1 Torsdag Forelæsning Uge 1 Torsdag Objekters tilstand og opførsel Java og BlueJ Skabelse af objekter (via new-operatoren) Iteration (gentagelser) og parametrisering Java's for løkke Parametre i metoder Forskellige

Læs mere

Tree klassen fra sidste forelæsning

Tree klassen fra sidste forelæsning Programmering 1999 Forelæsning 12, fredag 8. oktober 1999 Oversigt Abstrakte klasser. Grænseflader. Programmering 1999 KVL Side 12-1 Tree klassen fra sidste forelæsning class Tree { int age; // in years

Læs mere

dintprog Manual Revision: 731 September 30, 2009 1 Introduktion 3 1.1 Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4

dintprog Manual Revision: 731 September 30, 2009 1 Introduktion 3 1.1 Notation... 3 I Begreber 4 2 Grundbegreber om programmering 4 dintprog Manual Revision: 731 September 30, 2009 Indhold 1 Introduktion 3 1.1 Notation................................. 3 I Begreber 4 2 Grundbegreber om programmering 4 3 Grundbegreber om modellering

Læs mere

Test af It-komponent

Test af It-komponent Test af It-komponent I programmeringssproget Java Programmet Login service Elev: Mads Funch Klasse 2.4 Mat, It, Programmering Skole: Roskilde Tekniske Gymnasium HTX Underviser: Karl Dato: 31-08-2016 Side

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004

Videregående Programmering Obligatorisk opgave - 3. semester, efterår 2004 Overvågningssystem Beskrivelse Bagagesorteringssystemet består af et antal skranker (check-in) til modtagelse og registrering af bagage, et automatiseret sorteringsanlæg samt et antal terminaler (gates),

Læs mere

Forelæsning Uge 3 Torsdag

Forelæsning Uge 3 Torsdag Forelæsning Uge 3 Torsdag Billedredigering Gråtonebilleder (som er lidt simplere end farvebilleder) Rekursive metoder Metoder der kalder sig selv Giver ofte meget elegante og simple løsninger på komplekse

Læs mere

Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner

Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner Forelæsning 4.1 Opfølgning på Dygtig Skildpadde (Michael) To algoritmeskabeloner finden findalle Primitive typer (forfremmelse og begrænsning) Identitet versus lighed (for objekter, herunder strenge) Afleveringsopgave

Læs mere

Hvad er Objekter - Programmering

Hvad er Objekter - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Hvad er Objekter - Programmering En rigtig god gennemgang af hvad objekter er! Hvordan de oprettes og anvendes! Det er helt klart til nybegyndere, som

Læs mere

Sekvenser af længde mellem 1 og 4 ord repræsenteres ved en klasse Segment, som uden grundlæggende ser således ud:

Sekvenser af længde mellem 1 og 4 ord repræsenteres ved en klasse Segment, som uden grundlæggende ser således ud: Besvarelse af opgave til formuleret til øvelserne 10. september 2002 Datastrukturer og algoritmer Henning Christiansen 22/9-2002 Følgende er ikke en eksakt besvarelse af opgaven, idet den benytter hashtabeller

Læs mere

Anvendelse af metoder - Programmering

Anvendelse af metoder - Programmering Denne guide er oprindeligt udgivet på Eksperten.dk Anvendelse af metoder - Programmering En forhåbentlig rigtig god forklaring på hvad metoder er og hvordan de anvendes. Lidt om private og public, retur

Læs mere

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer

Opgaven fortsat. Opfølgning på Opgave 2 og Use Cases. Opgaven. Trin 1: Væsentlige begreber. Resultatliste: 100 bryst, herrer Opfølgning på Opgave 2 og Use Cases originally by Michael R. Hansen modified/extended by Anne E. Haxthausen Informatics and Mathematical Modelling Technical University of Denmark Opgaven fortsat Efter

Læs mere

Kursusarbejde 2 Grundlæggende Programmering

Kursusarbejde 2 Grundlæggende Programmering Kursusarbejde 2 Grundlæggende Programmering Arne Jørgensen, 300473-2919 klasse dm032-1a 31. oktober 2003 Indhold 1. Kode 2 1.1. hotel.h.................................................... 2 1.2. hotel.cc...................................................

Læs mere

Fundamentale sprogbegreber

Fundamentale sprogbegreber Fundamentale sprogbegreber Sætninger og udtryk Niveauer af programbeskrivelse (statisk versus dynamisk syn) Oversigt Sætninger simple sætninger (assignment, metodekald) sammensatte sætninger (selektion,

Læs mere

Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M

Enigma. Et programmeringssprog. Forfatter: Niels Serup X. Y Vejleder: A B C. Fag: Programmering Uddannelsessted: N M Enigma Et programmeringssprog Forfatter: Niels Serup X. Y Vejleder: A B C Fag: Programmering Uddannelsessted: N M 25. maj 2010 Indholdsfortegnelse Indledning 3 Sproget 3 Syntax.............................................

Læs mere

Tredjepart webservices

Tredjepart webservices Tredjepart webservices 4. juni 2015 USS Dok. Klik her for at angive tekst. 1/12 Indholdsfortegnelse Introduktion... 3 Miljøer... 3 Adgang... 3 API kald... 4 GET: /authorizations... 4 Input 4 Output 4 Output

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter side 1 af 9 sider Skriftlig eksamen i Datalogi Modul 1 Vinter 1999/2000 Opgavesættet består af 6 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 5% Opgave 2

Læs mere

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer

BRP Tal. Om computer-repræsentation og -manipulation. Logaritmer BRP 13.9.2006 Tal. Om computer-repræsentation og -manipulation. Logaritmer 1. Opgaverne til i dag dækker det meste af stoffet 2. Resten af stoffet logaritmer binære træer 3. Øvelse ny programmeringsopgave

Læs mere

Introduktion til funktioner, moduler og scopes i Python

Introduktion til funktioner, moduler og scopes i Python Denne guide er oprindeligt udgivet på Eksperten.dk Introduktion til funktioner, moduler og scopes i Python Denne artikel er fortsættelsen af "I gang med Python", som blevet publiceret her på sitet for

Læs mere

//--------------------------------- Definition af porte og funktioner -------------------------

//--------------------------------- Definition af porte og funktioner ------------------------- Temeraturmåler (C-program).txt // Initialiserings-sekvens #include #pragma model=medium #pragma code=0x0000 #pragma xdata=0x4000 #pragma asm=on #pragma parameters=register //#define display P4

Læs mere

$ %' ) * %' +,! - Myarray %' /0 /0 122 +3 /0 /0

$ %' ) * %' +,! - Myarray %' /0 /0 122 +3 /0 /0 !"#!"# "# %&') * #" % && %' Dim MyArray2) As Integer ) * %' +,! - Myarray MyArray0). %' /0 /0 122 + /0 /0 +4 / 0) Dim MyArray1 to 2) As Integer 5MyarrayMyArray1)" +6 Option Base 1 Option Explicit %' 76

Læs mere

Software Construction 1 semester (SWC) Spørgsmål 1

Software Construction 1 semester (SWC) Spørgsmål 1 Spørgsmål 1 Objekter #1 Giv en kort præsentation af begrebet objekt, samt hvorledes du erklærer(declare), opretter(create) og bruger objekter Du kan beskrive o Datatyper o Variable / Instans variable /

Læs mere

Skriftlig eksamen i Datalogi

Skriftlig eksamen i Datalogi Roskilde Universitetscenter Skriftlig eksamen i Datalogi Modul 1 Vinter 1998/99 Opgavesættet består af 5 opgaver, der ved bedømmelsen tillægges følgende vægte: Opgave 1 16% Opgave 2 12% Opgave 3 10% Opgave

Læs mere

A Profile for Safety Critical Java

A Profile for Safety Critical Java A Profile for Safety Critical Java Martin Schoeberl Hans Søndergaard Bent Thomsen Anders P. Ravn Præsenteret af: Henrik Kragh-Hansen November 8, 2007 Forfatterne Martin Schoeberl Udvikler af JOP processoren

Læs mere

Introduktion til ActionScript

Introduktion til ActionScript Introduktion til ActionScript Kaspar Rosengreen Nielsen kaspar@interactivespaces.net i n t e r a c t i v e s p a c e s. n e t Kaspar Nielsen, kaspar@interactivespaces.net 1 Dagens program Opsamling på

Læs mere

Python 3 kursus lektion 1:

Python 3 kursus lektion 1: Python 3 kursus lektion 1: Her laves et nyt program Her køre programmet! Her skrives koden: Gem (CTRL-s) Tryk F5 (for at køre) www.madsmatik.dk d.14-01-2016 1/5 At skrive til skærmen: Hello World Man kan

Læs mere

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med

LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) { int wmid, wmevent; programmering med LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wparam, LPARAM lparam) int wmid, wmevent; PAINTSTRUCT Introduktion ps; til HDC hdc; programmering med switch (message) case WM_COMMAND: wmid = LOWORD(wParam);

Læs mere

Stakke, køer og lidt om hægtede lister - kapitel 16 og 17

Stakke, køer og lidt om hægtede lister - kapitel 16 og 17 Datastrukturer & Algoritmer, Datalogi C Forelæsning 2/11-2004 Henning Christiansen Stakke, køer og lidt om hægtede lister - kapitel 16 og 17 Fundamentale datastrukturer man får brug for igen og igen Et

Læs mere

Forelæsning Uge 5 Mandag

Forelæsning Uge 5 Mandag Forelæsning Uge 5 Mandag Sortering ved hjælp af klassen Collections Ved hjælp af interfacet Comparable Ved hjælp af interfacet Comparator findbest som sorteringsproblem Køreprøven i uge 7 Form Forberedelse

Læs mere

Mere om tilfældige tal

Mere om tilfældige tal Denne guide er oprindeligt udgivet på Eksperten.dk Mere om tilfældige tal Denne artikel bygger oven på den forrige artikel om tilfældige tal. Den forudsætter at man har læst den forrige artikel og har

Læs mere

Forelæsning Uge 6 Mandag

Forelæsning Uge 6 Mandag Forelæsning Uge 6 Mandag Funktionel programmering i Java (Kapitel 5) Forskellen på imperative og funktionelle programmeringssprog Lambda'er (kodestumper, der kan bruges som parametre i et metodekald) Streams

Læs mere

Stakke, køer og lidt om hægtede lister

Stakke, køer og lidt om hægtede lister Datastrukturer & Algoritmer, Datalogi C Forelæsning 4/11-2003 Henning Christiansen Stakke, køer og lidt om hægtede lister - kapitel 16 og 17 Hvorfor? Fundamentale datastrukturer man får brug for igen og

Læs mere

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version

Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Note til Programmeringsteknologi Akademiuddannelsen i Informationsteknologi Algoritmeskabeloner: Sweep- og søgealgoritmer C#-version Finn Nordbjerg 1/9 Indledning I det følgende introduceres et par abstrakte

Læs mere

Databaseadgang fra Java

Databaseadgang fra Java Databaseadgang fra Java Grundlæggende Programmering med Projekt Peter Sestoft Fredag 2007-11-23 Relationsdatabasesystemer Der er mange databaseservere Microsoft Access del af Microsoft Office MySQL god,

Læs mere

import java.awt.event.*; import java.awt.*; Container <- Panel <- Applet Component <- Button <- Checkbox <- ScrollPane <- Label

import java.awt.event.*; import java.awt.*; Container <- Panel <- Applet Component <- Button <- Checkbox <- ScrollPane <- Label Programmering 1999 Forelæsning 13, tirsdag 12. oktober 1999 Oversigt Grafiske brugergrænseflader. Komponenter: Knapper, tekstfelter, checkbokse... Vinduer (containere). Hændelser, hændelsesstyret programmering.

Læs mere

Sproget Rascal (v. 2)

Sproget Rascal (v. 2) Sproget Rascal (v. 2) Til brug i K1 på kurset Oversættere Opdateret 29/11 2004 Abstract Rascal er et simpelt Pascal-lignende imperativt sprog. Dette dokument beskriver uformelt Rascals syntaks og semantik

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

Læs mere

Dag 10 Flertrådet programmering

Dag 10 Flertrådet programmering Videregående programmering i Java Dag 10 Flertrådet programmering Fremlæggelse af programmering/status for projekter Dokumentation med javadoc Flertrådede designmønstre: Arbejdstråd, Producent Konsument,

Læs mere

Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft

Programmering. Udvidet Programmering. Kurserne. Kurset: programmering i sproget Java. Lærerne: Morten Larsen og Peter Sestoft Kurserne Kurset: programmering i sproget Java Programmering og Udvidet Programmering Lærerne: Morten Larsen og Peter Sestoft Kursusmål: I skal lære at skrive interessante programmer i Java Forudsætninger:

Læs mere

Forelæsning Uge 2 Torsdag

Forelæsning Uge 2 Torsdag Forelæsning Uge 2 Torsdag Niveauer af programbeskrivelser Statiske / dynamiske beskrivelser Klassevariabler og klassemetoder Variabler og metoder der et tilknyttet klassen (i stedet for at være tilknyttet

Læs mere

SWC eksamens-spørgsmål. Oversigt

SWC eksamens-spørgsmål. Oversigt SWC eksamens-spørgsmål Oversigt #1 Typer og variable #2 Aritmetik og logik #3 Klasser (definition, objekter) #4 Klasser (metoder) #5 Klasser (nedarvning, polymorfi) #6 Conditional statements #7 Repetition

Læs mere

HTML, PHP, SQL, webserver, hvad er hvad??

HTML, PHP, SQL, webserver, hvad er hvad?? Dagens menu HTML og PHP: Baglæs fra output til input PHP: Variable, strenge og arrays Funktioner, oprettelse og kald (og variable på tværs af funktioner) echo vs return? if-else konstruktioner MySQL: Hvad

Læs mere

1B fil database. //globale variabler DateTime tid; // erklærer en variabel af typen datetime DateTime dag; // erklærer en variabel af typen datetime

1B fil database. //globale variabler DateTime tid; // erklærer en variabel af typen datetime DateTime dag; // erklærer en variabel af typen datetime 1B fil database using System; //eksterne klasser using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks;

Læs mere

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion

Polymorfi. Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type. Coercion Polymorfi Arv (inheritance) Abstrakte klasser, substitutionsprincippet, overriding, statisk og dynamisk type Coercion Tvangskonvertering (forfremmelse og begrænsning) Oversigt Abstrakt klasse abstrakt

Læs mere

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003

Navn: Søren Guldbrand Pedersen Klasse: 2i Fag: up/ansi Opgave: Brev til Sigurd Lære: John Austin Side 1 af 8 Dato: 14-05-2003 Side 1 af 8 Dato: 14-05-2003 Til Sigurd Som aftalt vil jeg her fremsende vores program til vores 80C535 kit og display. Det gik jo ud på at vi skulle starte med at få den til at intialiserer displayet,

Læs mere

Sekvensafstand DM34 - Eksamensopgave. Jacob Aae Mikkelsen

Sekvensafstand DM34 - Eksamensopgave. Jacob Aae Mikkelsen Sekvensafstand DM34 - Eksamensopgave Jacob Aae Mikkelsen 19 10 76 kokken@grydeske.dk 27. maj 2005 Resumé Rapporten her beskriver tre forskellige rekursive metoder til at sammenligne tekst strenge med.

Læs mere

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java

Threads i Java. Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Denne guide er oprindeligt udgivet på Eksperten.dk Threads i Java Denne artikel giver en introduktion til threads i Java. Den beskriver hvad tråde er og forklarer hvordan de bruges i Java Den forudsætter

Læs mere