sequenzen: lineare programme. das eva-prinzip ausgabe eingabe verarbeitung rezept, zutaten topf,...
Embed Size (px)
TRANSCRIPT

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

Ein- und Ausgabe

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!

Eingabe in Java: Die Scanner-Klasse
Definiert die Eingabe über die Tastatur
Einlesen eines Strings
Einlesen einer Integer
Pfad zu der Scanner-Klasse angeben

Arbeitsauftrag
Schreiben Sie das Java-Programm
zum Struktogramm „Brutto“

Ein- und Ausgabe mit der JOptionPane
Ausgabe eines Strings
Fehlermeldung
Einlesen eines Strings

Arbeitsauftrag
Entwickeln Sie ein Struktogramm, das den Abstand von zwei
Punkten in der Ebene ermittelt.

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

Typumwandlungen(Typecasting)

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

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);

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

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;

Arbeitsauftrag
Würfel-Simulation schreiben