22
Anweisungen und Datentypen Folie 1 Uwe Lämmel Einführung in die Programmierung Anweisungen und Datentypen Uwe Lämmel Fakultät für Wirtschaftswissenscha ften www.wi.hs-wismar.de/ ~laemmel [email protected]

Einführung in die Programmierung Anweisungen und Datentypen

  • Upload
    sagira

  • View
    61

  • 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

Page 1: Einführung in die Programmierung Anweisungen und Datentypen

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

[email protected]

Page 2: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 3: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 4: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 5: Einführung in die Programmierung Anweisungen und Datentypen

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 }

Page 6: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 7: Einführung in die Programmierung Anweisungen und Datentypen

Anweisungen und Datentypen Folie 7Uwe Lämmel

Entscheidungsbaum

Rot?

Röhren? Röhren?

??

nicht möglich Warnung essbar essbar?

Page 8: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 9: Einführung in die Programmierung Anweisungen und Datentypen

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!

Page 10: Einführung in die Programmierung Anweisungen und Datentypen

Anweisungen und Datentypen Folie 10Uwe Lämmel

Daten – Interpretation

Maschinencode

natürliche Sprache

Compiler

Programmierung

Programm

Programmiersprache

Page 11: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 12: Einführung in die Programmierung Anweisungen und Datentypen

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;

Page 13: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 14: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 15: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 16: Einführung in die Programmierung Anweisungen und Datentypen

Anweisungen und Datentypen Folie 16Uwe Lämmel

Objekt-Datentypen

vordefiniert (siehe Java-API):String

selbst entwickelt:TicketAutomatNummernanzeigeUhrenanzeigeStudentUnternehmen…

Objekte stets mittels Konstruktor erzeugen: new

Page 17: Einführung in die Programmierung Anweisungen und Datentypen

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!

Page 18: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 19: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 20: Einführung in die Programmierung Anweisungen und Datentypen

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

}}

Page 21: Einführung in die Programmierung Anweisungen und Datentypen

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

Page 22: Einführung in die Programmierung Anweisungen 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