Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf,...

16
Sequenzen: Lineare Programme

Transcript of Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf,...

Page 1: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Sequenzen:Lineare Programme

Page 2: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Das EVA-Prinzip

Ausgabe

Eingabe

Verarbeitung

Rezept, Zutaten

Topf, Ofen (Hardware)Kochen (Software)

Lecker

Page 3: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Beispiel Lineares Programm: Brutto berechnen

Bruttonetto einlesen

prozent einlesen

steuern = netto * prozent / 100

brutto = netto + steuern

brutto ausgeben

Page 4: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Ein- und Ausgabe

Page 5: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Ausgabe in Java

System.out.println("Hallo"); // Ausgabe von Hallo und System.out.println("Welt"); // springt in die nächste Zeile

Ausgabe:HalloWelt

System.out.print("Hallo"); // Ausgabe von Hallo und System.out.println("Welt"); // bleibt in der gleichen Zeile

Ausgabe: HalloWelt

String text="Hallo";int zahl=5;System.out.println(text+"Welt"+zahl+ "! ");

Ausgabe: HalloWelt5!

Page 6: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Eingabe in Java: Die Scanner-Klasse

Definiert die Eingabe über die Tastatur

Einlesen eines Strings

Einlesen einer Integer

Pfad zu der Scanner-Klasse angeben

Page 7: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Arbeitsauftrag

Schreiben Sie das Java-Programm

zum Struktogramm „Brutto“

Page 8: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Ein- und Ausgabe mit der JOptionPane

Ausgabe eines Strings

Fehlermeldung

Einlesen eines Strings

Page 9: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Arbeitsauftrag

Entwickeln Sie ein Struktogramm, das den Abstand von zwei

Punkten in der Ebene ermittelt.

Page 10: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Grundbegriffe

Maschinensprache, Programmiersprachen, Algorithmus, Compiler, Interpreter, JavaVirtualMachine, java, javac

Variablen und Datentypen

Bezeichner, Datentypen, Definition, Wertzuweisung

Operatoren

Arithmetische Operatoren, Modulo, Vergleichsoperatoren, Logische Operatoren

Ein-/Ausgabe

print / println, “Hallo”+name, Scanner

Programme

Struktogramm, Java-Prg

Themen Klassenarbeit

Page 11: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Typumwandlungen(Typecasting)

Page 12: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Implizites und explizites Typecasting

int long

int iZahl=1000;long loZahl=1000000;loZahl=iZahl; // funktioniert implizit

long int

iZahl = (int) loZahl; // explizit durch den Typecast-Operator

float double

float fZahl=3.14f;double dZahl=77.7;dZahl = fZahl; // funktioniert implizit

double float

fZahl = (float) dZahl; // explizit durch den Typecast-Operator

Page 13: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Explizites Typecasting zwischen verschiedenen Datentypen

int float

Int iZahl1=5;float fZahl1=10.8f;

fZahl1 = (float) iZahl1;iZahl1 = (int) fZahl1; // danach hat iZahl1 den Wert 10

String int, String float

String sZahl1="56";int iZahl1=5;float fZahl1=10.8f;

iZahl1 = Integer.valueOf(sZahl1);sZahl1 = String.valueOf(iZahl1); fZahl1 = Float.valueOf(sZahl1);sZahl1 = String.valueOf(fZahl1);

Page 14: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Typecasting Beispiele 1

iZahl = (int) fZahl1 * (int) fZahl2;oderiZahl = (int) (fZahl1 * fZahl2); // Klammern sind hier wichtig!

dZahl2 = fZahl1; // geht implizit

fZahl = (float)(iZahl1 + iZahl2); // expliziter Typecast-Operator

sZahl1 = String.valueOf(loZahl1 + (long) iZahl1);

fZahl1= 45.765f;iZahl1= (int) fZahl1; // erhält nur den ganzteiligen Anteil, also 45

Page 15: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Typecasting Beispiele 2

Runden einer float-Zahl

float fZahl1=45.49f;int iZahl1 = (int) (fZahl1+0.5f);

Runden auf 3 Kommastellen

float fZahl1=45.123456f;float fZahl3 = (int)(fZahl1*1000+0.5f)/1000f;

Zufallszahlen

Math.random() liefert eine double-Zahl zwischen 0 und 1.

Gesucht: Integer-Zufallszahl im Bereich 1…n

int n=10;int meineZufallszahl = (int) (n * Math.random())+1;

Page 16: Sequenzen: Lineare Programme. Das EVA-Prinzip Ausgabe Eingabe Verarbeitung Rezept, Zutaten Topf, Ofen (Hardware) Kochen (Software) Lecker.

Arbeitsauftrag

Würfel-Simulation schreiben