3. Grundlegende Sprachkonstruktionen imperativer Programme

Ähnliche Dokumente
Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme

Schwerpunkte. 10. Felder (Arrays) Grundprinzip von Arrays. Klassifikation von Typen in Programmiersprachen

2/19 Wednesday September 30, Sep 30, 15 15:13 Hello.java. Wednesday September 30, /19. Sep 30, 15 15:17 GdP WS 15 Teil II

8. Grundkonzepte der Objektorientierung (5): Interfaces

II.1.1. Erste Schritte - 1 -

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Java - Programmierung - Prozedurale Programmierung 1

Ein erstes Java-Programm

4. Komponentenarten. Java-Beispiele:

Einführung in die Programmierung

Schwerpunkte. 4. Komponentenarten. Imperative und objekt-orientierte Programm-Strukturen: Wirklichkeit

II.1.1. Erste Schritte - 1 -

II.1.1. Erste Schritte - 1 -

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

II.1.1. Erste Schritte - 1 -

Problemstellung. Object1:Klasse1. Object2:Klasse2 att1: Klasse1 att2: 9. att1: att2: 17. Klasse1 att1 att2 Klasse2 att1 att2

Ausdrucksbäume in verschiedenen Darstellungen

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

8. Ausdrücke, Operatoren (einfache Typen)

Grunddatentypen, Ausdrücke und Variablen

Software. 7. Methoden. Software kann sehr komplex sein... Schwerpunkte. Grundproblem der SW-Entwicklung: Komplexität

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

System.out.println("TEXT");

Distributed Computing Group

Vorkurs Informatik WiSe 16/17

Computeranwendung und Programmierung (CuP)

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Methoden und Klassen. Silke Trißl Wissensmanagement in der Bioinformatik

Silke Trißl, Prof. Ulf Leser Wissensmanagement in der Bioinformatik. Jede Applikation braucht eine Klasse mit einer main-methode

Einführung in C. EDV1-04C-Einführung 1

Silke Trißl Wissensmanagement in der Bioinformatik. Objektorientierte Programmierung (OOP) Vorstellung wie in der realen Welt: Farbe Hubraum Tank...

Teil 5 - Java. Programmstruktur Operatoren Schlüsselwörter Datentypen

Klassenvariablen, Klassenmethoden

Schwerpunkte. 8. Ausdrücke, Operatoren (einfache Typen) Beispiel: Schaltjahr Test. Einführendes Beispiel: Grundprobleme

Wie entwerfe ich ein Programm?

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

10. Felder (Arrays) Teil 2. Java-Beispiele: Echo.java Primzahlen.java Monate.java. K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK

Methoden und Wrapperklassen

Eingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien

Einführung in Java. Silke Trißl Wissensmanagement in der Bioinformatik. Linux, Unix, Windows, Macintosh, Kann aus Bausteinen zusammengesetzt werden

Informatik II. Woche 15, Giuseppe Accaputo

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

EINI LW. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 15/16

Fragenkatalog ESOP WS 16/17

Vorkurs Informatik WiSe 17/18

Einfache Sortierverfahren in Java, 2. Version

Ein String ist in Java eigentlich eine Klasse, wir können ihn aber zunächst als Datentyp betrachten, der zur Speicherung von Zeichenketten dient.

Objektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Java I Vorlesung Imperatives Programmieren

Klassen und Objekte. Objekte einer Klasse bilden

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Grundlagen der Modellierung und Programmierung, Übung

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind:

Javaprogrammierung mit NetBeans. Variablen, Datentypen, Methoden

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

EINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15

3. Java - Sprachkonstrukte I

Objekte. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 5. 1 Modulübersicht 3

6. Iteration (Schleifenanweisungen)

Prozeduren vs. Funktionen

9. Ausnahmebehandlung

Primitive Datentypen

Einführung in die Programmierung mit Java

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache

Einstieg in die Informatik mit Java

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Kapitel

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen

Arbeitsblätter für die Lehrveranstaltung OOP JAVA 1

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

EINI LogWing/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure. Vorlesung 2 SWS WS 17/18

2 Programmieren in Java I noch ohne Nachbearbeitung

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19. Vorbereitende Aufgaben

2 Eine einfache Programmiersprache

3. Java - Sprachkonstrukte I

Einstieg in die Informatik mit Java

Programmiervorkurs. Wintersemester 2013/2014

Java Einführung Klassendefinitionen

Variablen. int Flugzeug. float. I write code Hund. String. long. Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel

Java-Schulung Grundlagen

Einstieg in die Informatik mit Java

2 Eine einfache Programmiersprache

Grundlagen von JAVA Hello World in JAVA Elementare Datentypen. Grundlagen von JAVA Hello World in JAVA Elementare Datentypen

Handbuch konsultieren!

6. Iteration (Schleifenanweisungen)

Einführung in Java. Ausgewählte Quellen zu Java

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

2. Unterprogramme und Methoden

Transkript:

3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015

2 Schwerpunkte Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable, Datentyp, Zuweisung Einfache Ein- und Ausgabe Standardbibliothek: Java-API

3 Imperative Programmierung

4 Beispiel: Temperaturumwandlung class Temperature { // Convert temperature // from Fahrenheit to Centigrade (Celsius) public static void main (String[] args) { double tempfahr; // Fahrenheit double tempcels; // Celsius System.out.print("Temperature (deg F): "); tempfahr = Keyboard.readDouble(); tempcels = (5.0 * (tempfahr - 32.0)) / 9.0; System.out.print(tempFahr); System.out.print(" deg F is "); System.out.print(tempCels); System.out.println(" deg C"); % javac Temperature.java % java Temperature ein imperatives Programm Temperature (deg F): 10 10 deg F is -12.222222222222221 deg C

5 Temperatur-Beispiel: als Pascal-Programm (Standard-Pascal) PROGRAM Temperature; {Convert temperature from Fahrenheit to Centigrade (Celsius) VAR tempfahr: real; tempcels: real; BEGIN writeln("temperature (deg F): "); readln(tempfahr); tempcels := (5.0 * (tempfahr - 32.0)) / 9.0; write(tempfahr); write(" deg F is "); write(tempcels); writeln(" deg C"); END.

6 Imperative Programmierung: Grundansatz Imperative Programmierung orientiert auf die Beschreibung von Algorithmen. Algorithmus: Verfahren zur Berechnung gesuchter Werte aus gegebenen Werten,... das auf der schrittweisen Ausführung von elementaren Verarbeitungsoperationen beruht. Imperatives Programm: Algorithmen durch Bearbeitung der Variablenwerte beschrieben (Verändern und Lesen der Werte) tempcels = (5.0 * (tempfahr - 32.0)) / 9.0;

Imperatives Pascal-Programm PROGRAM Temperature ; VAR tempfahr : real ; tempcels : real ; BEGIN readln (tempfahr); Eingabewerte in Eingangsvariablen Algorithmus tempcels := (5.0 * tempfahr ); write (tempcels); END. Ausgabewerte in Ausgangsvariablen K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 7

8 Imperatives Java Programm class Temperature { public static void main () { double tempcels; double tempfahr; Eingabewerte in Eingangsvariablen tempfahr = Keyboard.readDouble(); Algorithmus tempcels = (5.0 * tempfahr ); System.out.print(tempCels); Ausgabewerte in Ausgangsvariablen

9 Imperative Programmierung: Eigenschaften im Detail Basiskonzepte: Variable, Anweisung Variable: besitzt Wert, der durch Anweisungen gelesen und verändert wird Anweisung: dient dem Zugriff auf Variablen-Werte (Lesen und Verändern von Werten) Grundlegende Strukturierungsmethode imperativer Programme: Prozedur (Funktion, Methode) Prozedur (Funktion, Methode): Teilalgorithmus: mit Anweisungen der Sprache

10 Mehrkomponenten-Programm

11 Aus wie vielen Komponenten besteht das Java-Programm? class Temperature { // Convert temperature // from Fahrenheit to Centigrade (Celsius) public static void main (String[] args) { double tempfahr; // Fahrenheit double tempcels; // Celsius System.out.print("Temperature (deg F): "); tempfahr = Keyboard.readDouble(); tempcels = (5.0 * (tempfahr - 32.0)) / 9.0; System.out.print(tempFahr); System.out.print(" deg F is "); System.out.print(tempCels); System.out.println(" deg C");

12 Temperatur-Programm: besteht aus d r e i Komponenten File: Temperature.java class Temperature { File: Keyboard.java class Keyboard { Eingabe nutzerdefinierte Klassen class System { Ausgabe Java API (application programming interface) = Standardbibliothek getrennte Compilation

13 Klasse 'Keyboard' import java.io.*; class Keyboard { // Author: M. Dennis Mickunas, // June 9, 1997 Primitive Keyboard // input of integers, reals, // strings, and characters. static boolean iseof = false; static char c; static int i; static double d; static String s; /* WARNING: THE BUFFER VALUE IS SET TO 1 HERE TO OVERCOME ** A KNOWN BUG IN WIN95 (WITH JDK 1.1.3 ONWARDS)*/ static BufferedReader input = new BufferedReader ( new InputStreamReader(System.in),1); Aufgabe der Klasse? public static int readint () { if (iseof) return 0; System.out.flush(); try { s = input.readline(); catch (IOException e) { System.exit(-1); if (s==null) { iseof=true; return 0; i = new Integer(s.trim()).intValue(); return i; public static char readchar () { if (iseof) return (char)0; System.out.flush(); Mangel: keine übersichtliche Darstellung für die Nutzer der Klasse

14 Klasse Keyboard: eine Abstraktion class Keyboard { Nur das ist für die Anwendung wichtig public static int readint () ; public static char readchar () ; public static double readdouble () ; public static String readstring () ; public static boolean eof () ; Sammlung nützlicher Funktionen zur Eingabe von ganzen Zahlen, Zeichen, reellen Zahlen, Zeichenketten von der Tastatur

15 Temperatur-Programm: Interface zwischen Komponenten File: Temperature.java class Temperature { public static void main (String [] args) { tempfahr = Keyboard.readDouble(); System.out.print(" deg F is "); Java API (=Standardbibliothek) nutzerdefinierte Klassen class System { public.out; class Keyboard { public readdouble () File: Keyboard.java

16 Grundelemente von Java-Programmen

Grundstruktur von Java-Programmen K l a s s e = grundlegende Komponente Klassenname class Temperature { public static void main (String [] args) { double tempfahr; Klassenkörper (Beginn) Methodendeklaration Variablendeklaration Klasse: Sammlung von - Variablendeklarationen - Methodendeklarationen (Methode = Algorithmus, Prozedur, Funktion) je Gesamtprogramm: e i n e Methode m a i n ( ) dort beginnt die Abarbeitung! (wie Hauptprogramm in Pascal) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 17

Variablendeklaration double tempfahr; Typ Variable Wirkung: 1. Wertebereich der Variablen festlegen 2. Speicherplatzgröße entsprechend Typ festgelegt z. B. double: 8 Byte 3. erlaubte Operationen einfache Typen: Java-EBNF: 'Standardtyp' boolean, char, byte, short, int, long, float, double K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 18

19 Kommentare class Temperature { // Convert temperature // from double tempfahr; // Fahrenheit // bis Zeilenende /* dazwischen */ int /* nur hier */ temp;

20 Einfache Anweisungen: Zuweisung und Aufruf einer Methode aus Klasse Keyboard: Methode readdouble tempfahr = Keyboard.readDouble(); Zuweisung tempcels = (5.0 * (tempfahr - 32.0)) / 9.0; System.out.print(tempFahr); Aufruf einer Methode ( Eingabe / Ausgabe )