Upload
sagira
View
66
Download
0
Embed Size (px)
DESCRIPTION
Fakultät für Wirtschaftswissenschaften. Einführung in die Programmierung Anweisungen und Datentypen. Uwe Lämmel. www.wi.hs-wismar.de/~laemmel [email protected]. Begriffswelt der Informatik: Daten + Algorithmen. Unsere Weltsicht: Dinge + Handlungen. Anweisungen und Daten. - PowerPoint PPT Presentation
Citation preview
Anweisungen und Datentypen Folie 1Uwe Lämmel
Einführung in die ProgrammierungAnweisungen und Datentypen
Uwe Lämmel
Fakultät für Wirtschaftswissenschaften
www.wi.hs-wismar.de/~laemmel
Anweisungen und Datentypen Folie 2Uwe Lämmel
Anweisungen und Daten
Algorithmus = Handlungsanweisung
Unsere Weltsicht:Dinge + Handlungen
Begriffswelt der Informatik:Daten + Algorithmen
public void taktsignalGeben( ) {minuten.erhoehen( );
if (minuten.gibWert( ) == 0) { // Limit wurde erreicht!stunden.erhoehen( );
} //ifanzeigeAktualisieren();
} //taktsignalGeben
Methoden-Körper = Algorithmus
Anweisungen und Datentypen Folie 3Uwe Lämmel
Anweisungen
Anweisungen: einfache Anweisungen:
– Zuweisung: wert=0; name=neuName; ...– return-Anweisung: return umsatz/anzahl;
return name; ...– Methodenaufruf:
stunden.setzeWert(neu); ... strukturierte Anweisungen
– Sequenz (Klammerung): { name=neuName; wert=0; }
– Alternative (IF-Anweisung)
Unsere Weltsicht:Dinge + Handlungen
Begriffswelt der Informatik:Daten + Algorithmen
Anweisungen und Datentypen Folie 4Uwe Lämmel
Alternative: if-Anweisung
if (Bedingung) { Anweisungen // Dann-Fall, wenn Bedingung true ist}else { Anweisungen // Sonst-Fall, Bedingung ist false}
if ( z % 2 == 0) { System.out.println( "gerade Zahl") ;}else { System.out.println("ungerade Zahl");}
Anweisungen und Datentypen Folie 5Uwe Lämmel
if-Anweisung: Interpretation
Bedingung muss vom Typ boolean sein. Besteht Anweisungen nur aus einer Anweisung,
können Klammern entfallen else-Teil kann entfallen
Interpretation:Wenn Bedingung den Wert true liefert,
wird (nur) nachfolgende Anweisung abgearbeitet; liefert Bedingung false, wird (nur) Anweisung des else-Teils abgearbeitet.
if (Bedingung) { Anweisungen } else { Anweisungen }
Anweisungen und Datentypen Folie 6Uwe Lämmel
Bedingung einer if-Anweisung
ist logischer Ausdruck:– gleich == a == 0– ungleich != a != 0– größer > a > 10– größer gleich >= a >=0– kleiner <– kleiner gleich <=– und && 0<a && a<100– oder | | a>0 | | a==0 – nicht ! ! (a==0)
logische Variable/Konstante:– boolean b1; b1 !b1
Anweisungen und Datentypen Folie 7Uwe Lämmel
Entscheidungsbaum
Rot?
Röhren? Röhren?
??
nicht möglich Warnung essbar essbar?
Anweisungen und Datentypen Folie 8Uwe Lämmel
Pilze
if (rot) {
if (roehren) { ergebnis= "nicht moeglich"; }
else { ergebnis= "giftig!"; }
}
else {
if (roehren) { ergebnis= "essbar";}
else { ergebnis= "vielleicht essbar";}
class Pilz {
private String name;private boolean rot; // Wahrheitswert: true / falseprivate boolean roehren;
public Pilz(String pname, boolean istRot, boolean hatRoehren){
name = pname; rot = istRot; roehren = hatRoehren;
} //Pilz
public String pilzIst() {String ergebnis;if (rot) {
if (roehren) { ergebnis= "nicht moeglich"; }else { ergebnis= "giftig!"; }
}else {
if (roehren) { ergebnis= "essbar";}else { ergebnis= "vielleicht essbar";}
} //ifreturn ergebnis;
} //pilzIst
Anweisungen und Datentypen Folie 9Uwe Lämmel
Entscheidungsbaum - Aufgabe
Artikel Nummer MWSt in %
Leitungswasser 1000 7
Brot 1010 7
Butter 1020 7
Bier 1100 19
Buch 2000 7
Fahrkarte-Nahverker 3100 7
Fahrkarte-Fernverkehr 3200 19
Miete 4100 0
Arzthonorar 4200 0
Bekleidung 5100 19
Geräte 5200 19
Nutzen Sie Vergleiche für die Entscheidungen!
Anweisungen und Datentypen Folie 10Uwe Lämmel
Daten – Interpretation
Maschinencode
natürliche Sprache
Compiler
Programmierung
Programm
Programmiersprache
Anweisungen und Datentypen Folie 11Uwe Lämmel
Daten
class Person {
//-- Datenfelder, Merkmale, Attribute private String name; private int geboren; //-- Geburtsjahr!
public Person(String nachname, int jahr) {
name = nachname;geboren = jahr;
} //Person
public int getAlter(int jahr ) {int alter = jahr – geboren;return alter;
} //getAlter
} // Person
…
Person p1 = new Person("Meier",1980);
Instanz-Variablen
formale Parameter
lokale Variable
Referenz und Objekt
aktuelle Parameter
Anweisungen und Datentypen Folie 12Uwe Lämmel
Variable: Name + Typ + Wert
Name = Handgriff Typ liefert Interpretation des Wertes
435 a
(EinPerson- Objekt)
p1A4CB890
EinPerson-Objekt new
int a;
Person p1;
Anweisungen und Datentypen Folie 13Uwe Lämmel
Variable = Speicherplatz
0101 0111 0100 1001
2 Byte
short char
ASCII 87ASCII 73
‘W‘ ‘I‘
= 5*163+7*16²+4*16+9
= 22.345
(26 A4 6B 30):
Interpreation als …
Angabe des Typs einer Variablen erforderlich
Anweisungen und Datentypen Folie 14Uwe Lämmel
Variable und einfache Datentypen
int a = 435;
int b = a;
a = 4711;
435 a
435 b
4711 a
435 b
Anweisungen und Datentypen Folie 15Uwe Lämmel
Einfache Datentypen
boolean logischer Wert: true/false 1 Byte
char Zeichen 2 Byte
byte Ganzzahl –128 .. +127 1 Byte
short Ganzzahl 2 Byte
int Ganzzahl 4 Byte
long Ganzzahl 8 Byte
float Fließpunktzahl 4 Byte
double Fließpunktzahl 8 Byte
Anweisungen und Datentypen Folie 16Uwe Lämmel
Objekt-Datentypen
vordefiniert (siehe Java-API):String
selbst entwickelt:TicketAutomatNummernanzeigeUhrenanzeigeStudentUnternehmen…
Objekte stets mittels Konstruktor erzeugen: new
Anweisungen und Datentypen Folie 17Uwe Lämmel
Variable, die auf Objekte zeigen
Person p1;
p1 = new Person("Katz",1979);
Person p2;p2 =p1;p2.setName(„Hund“);
Was liefert p1.getName() ?
p1
PersonObjekt:"Katz"
p1
PersonObjekt:"Katz"
p1
p2// Was bewirkt:Person p3 = new Person();p3 = p1;
Vorsicht bei Objekt-Variablen!
Anweisungen und Datentypen Folie 18Uwe Lämmel
Variable, die auf Objekte zeigen?
String s = "Anton";
String s1 = new String("Anton");
Uhrenanzeige wecker = new Uhrenanzeige();
Datumsanzeige kalender;
Kalender = new Datumsanzeige();
Anweisungen und Datentypen Folie 19Uwe Lämmel
class Person {private String name;…public String getName() {
return name;}
…
Instanzen-Variablen – privat
Sicherheit Stabile Schnittstelle (Wartbarkeit)
– Geheimnisprinzip Schutz vor unerwünschter
Veränderung
namegeboren
Zugriffsmethoden
Programm-Entwicklung: Instanzen-Variablen: private Zugriff über public-Methoden
Anweisungen und Datentypen Folie 20Uwe Lämmel
Daten und Anweisungen
class TestPerson {public static void main(String[ ] args) {
Person p1 = new Person("Berg", 1993);Person p2 = new Person("Tal", 2000);int limit = 18;int imJahr = 2014;if (p1.getAlter(imJahr)>=limit) {
System.out.println("Kredit fuer "+p1.getName()+ ": JA");}else System.out.println("Kredit fuer "+p1.getName()+ ": NEIN");…
}}
Anweisungen und Datentypen Folie 21Uwe Lämmel
Zusammenfassung
Dinge + Handlungen => Daten und Algorithmen
Algorithmen = Folge von Anweisungen
einfache <> strukturierte Anweisungen
Zuweisung, return, Methoden-Aufruf
Sequenz, Alternative (if-Anweisung)
einfache Datentypen (int, double, boolean, …)
Referenz-Datentypen (Objekt-Typen)
Speicherverwendung und Datentypen
Anweisungen und Datentypen Folie 22Uwe Lämmel
Aufgabe
Beispiel Steuersatz– Zeichnen Sie einen Entscheidungsbaum– Implementieren Sie eine Klasse „Artikel“
Wertungsaufgabe Klasse Dreieck– gegeben drei Seiten– Bestimmung der Eigenschaft durch eine Methode– keine Textausgabe, nur int-Ergebnis laut
Aufgabenstellung– keine trigonometrischen Funktionen erforderlich