Top Banner
II.1. 5. Arrays - 1- 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Arrays
18

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

Oct 19, 2019

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 1 -

1. Erste Schritte

2. Einfache Datentypen

3. Anweisungen und Kontrollstrukturen

4. Verifikation

5. Arrays

Page 2: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 2 -

5. Arrays

Ort

80114folge:

folge [0] = = 14, ..., folge [3] = = 8

bestand:Ort

Artikel

0 1 2 3 ...

0

1

2

3

...

5 0 10 7

0231

2 17 1 1

80114

bestand [0] [0] = = 5, bestand [0] [1] = = 0,

bestand [0] [2] = = 10, ...

Page 3: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 3 -

Wert- und Referenzvariablen

int x;

x = 10;

...

...

x

int [] x;

x = new int [3];

x [0] = 14;

x [1] = 2;

x [2] = 5;

x

...

...

[0]

[1]

[2]

10

Primitive Datentypen: Variablen speichern Werte

Andere Datentypen (Arrays, Strings, ...): Variablen speichern Verweise

Page 4: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 4 -

Wert- und Referenzvariablen

int x;

x = 10;

...

...

x

int [] x;

x = new int [3];

x [0] = 14;

x [1] = 2;

x [2] = 5;

x

...

...

[0]

[1]

[2]

2

5

14

10

Primitive Datentypen: Variablen speichern Werte

Andere Datentypen (Arrays, Strings, ...): Variablen speichern Verweise

Page 5: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 5 -

Zuweisung bei Wertvariablen

int x = 2;

int y = x;

y = 8;

...

x 2

...

2y

Page 6: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 6 -

Zuweisung bei Wertvariablen

int x = 2;

int y = x;

y = 8;

...

x 2

Zum Schluss: x = = 2

...

8y

Page 7: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 7 -

Zuweisung bei Referenzvariablen

int [] x = new int [3];

x [0] = 14;

x [1] = 2;

x [2] = 5;

int [] y = new int [2];

y [0] = 3;

y [1] = 4;

y = x;

y [1] = 8;

...

x

...

...

14

2

5

[0]

[1]

[2]

y

...

3

4

[0]

[1]

Page 8: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 8 -

Zuweisung bei Referenzvariablen

int [] x = new int [3];

x [0] = 14;

x [1] = 2;

x [2] = 5;

int [] y = new int [2];

y [0] = 3;

y [1] = 4;

y = x;

y [1] = 8;

...

x

...

...

14

2

5

[0]

[1]

[2]

y

...

3

4

[0]

[1]

Page 9: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 9 -

Zuweisung bei Referenzvariablen

int [] x = new int [3];

x [0] = 14;

x [1] = 2;

x [2] = 5;

int [] y = new int [2];

y [0] = 3;

y [1] = 4;

y = x;

y [1] = 8;

...

x

...

...

14

8

5

[0]

[1]

[2]

y

...

3

4

[0]

[1]

Zum Schluss: x [1] = = 8

Page 10: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 10 -

Zuweisung, Typ

Name = Ausdruck

Zuweisung

Name

Typ

Page 11: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 11 -

Zuweisung, Typ

Name [ Ausdruck ] = Ausdruck

Zuweisung

Name

[]

Typ

Page 12: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 12 -

Ausdruck

Grundwert

Name

Methodenaufruf

)Ausdruck(

Infix-Operator

Ausdruck? : AusdruckAusdruck

Typ( ) Präfix-Operator

Page 13: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 13 -

Ausdruck

Grundwert

Name

Methodenaufruf

)Ausdruck(

Infix-Operator

Ausdruck? : AusdruckAusdruck

Typ( ) Präfix-Operator

new Name Ganzzahl[ ]

Ausdruck[ ]

Page 14: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 14 -

public class Palindrom {

public static void main (String [] args) {

char [] wort = args[0].toCharArray();

boolean palindrom = true;

for (int i = 0;

i <= (wort.length - 2) / 2 && palindrom;

i++)

palindrom = wort [i] = = wort [wort.length - 1 - i];

System.out.println(palindrom);

}

}

Palindrom-Programm mit Arrays

Page 15: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 15 -

public static void main (String [] args) {

int i,j,z;

int n = SimpleIO.getInt("Wieviele Zahlen sortieren?");

int [] a = new int[n];

//Lies Elemente ein

for (i = 0; i < n; i++)

a[i] = SimpleIO.getInt("Gib eine Zahl ein");

//Sortiere Elemente

for (i = 0; i < n-1; i++)

//Vertausche a[i] mit kleinstem Nachfolger

for (j = i+1; j < n; j++)

if (a[i] > a[j]) { //Nachfolger kleiner als a[i]?

//Vertausche a[i] und a[j]

z = a[i]; a[i] = a[j]; a[j] = z; }

//Gib sortierte Elemente aus

String result = "";

for (i = 0; i < n; i++) result = result + a[i] + " ";

SimpleIO.output(result,"Sortierte Elemente"); }

Sort-Programm mit Arrays

Page 16: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 16 -

for (int i = 0; i < a.length; i++) {

int var = a[i];

System.out.print(var);

}

foreach Schleife

Array a vom Typ int []

for (int var : a) {

System.out.print(var);

}

Page 17: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 17 -

for (int i = 0; i < a.length; i++) {

type var = a[i];

}

foreach Schleife

Array a vom Typ type []

for (type var : a) {

}

Page 18: 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen ... · II.1. 5. Arrays - 1 - 1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation

II.1. 5. Arrays - 18 -

public static void main (String [] args) {

int i,j,z;

int n = SimpleIO.getInt("Wieviele Zahlen sortieren?");

int [] a = new int[n];

//Lies Elemente ein

for (i = 0; i < n; i++)

a[i] = SimpleIO.getInt("Gib eine Zahl ein");

//Sortiere Elemente

for (i = 0; i < n-1; i++)

//Vertausche a[i] mit kleinstem Nachfolger

for (j = i+1; j < n; j++)

if (a[i] > a[j]) { //Nachfolger kleiner als a[i]?

//Vertausche a[i] und a[j]

z = a[i]; a[i] = a[j]; a[j] = z; }

//Gib sortierte Elemente aus

String result = "";

for (i = 0; i < n; i++) result = result + a[i] + " ";

SimpleIO.output(result,"Sortierte Elemente"); }

Sort-Programm mit Arrays

for (int x : a) result = result + x + " ";

for (int x : a)

x = SimpleIO.getInt("Gib eine Zahl ein");