Ausdrucksbäume in verschiedenen Darstellungen

Ähnliche Dokumente
Klassen und Objekte. Objekte einer Klasse bilden

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

Ausnahmebehandlung. Ausnahmen werfen (auslösen) Eigene Ausnahmen definieren. Ausnahmen abfangen. Ausnahmen definieren

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

Zugriffsrechte. im gleichen Package. Stilregel: Datenelemente immer private mit zugehörigen get- und set-methoden, wenn nötig.

Aufrufe von Objektmethoden

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

1 Fehler-Objekte: Werfen, Fangen, Behandeln

Name: Matrikelnr : Aufgabe 1: (ca. 8 Punkte )

Java Fehlerbehandlung

Java Einführung Exception Handling. Kapitel 17

3. Grundlegende Sprachkonstruktionen imperativer Programme

Software-Entwicklung

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

AK-Automatisierungs und Kommunikationstechnik TI Technische Informatik. NWT Netzwerktechnik

Präzedenz von Operatoren

Soll die Programm-Ausführung nicht beendet werden, muss der Fehler abgefangen werden. NumberFormatException

Autoboxing - Nachtrag

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17

! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.

Kapitel 3. Programmierkurs. Arten von Anweisungen. 3.1 Was sind Anweisungen?

Grundlagen der Programmierung Prof. H. Mössenböck. 16. Ausnahmen (Exception Handling)

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

15 Fehlerobjekte: Werfen, Fangen, Behandeln

Distributed Computing Group

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

15 Fehlerobjekte: Werfen, Fangen, Behandeln

15 Fehlerobjekte: Werfen, Fangen, Behandeln. Idee. Fehlerklassen. Fehlerklassen

Interaktive Programme mit Scanner

II.1.1. Erste Schritte - 1 -

Vorlesung 10. Sitzung Grundlegende Programmiertechniken

Exceptions. CoMa-Übung VII TU Berlin. CoMa-Übung VII (TU Berlin) Exceptions / 1

Graphische Benutzungsoberflächen

Programmieren I. Dateien: Allgemeines. Vorlesung 10. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

2 Eine einfache Programmiersprache

1 Organisatorisches. 2 Compilezeit- und Laufzeitfehler. 3 Exceptions. 4 Try-Catch-Finally

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Programmieren in Java

Ausnahmen. Exceptions. Definition Ausnahmen erzeugen Ausnahmen abfangen Ausnahmen weiterleiten. Dr. Beatrice Amrhein

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

Java - Programmierung - Prozedurale Programmierung 1

ihrer Klasse benötigt die Funktion einfuegenan:

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

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

System.out.println("TEXT");

JAVA für Nichtinformatiker - Probeklausur -

Aufgabe: Hinweise zu der Farbwahl der Texte/Wörter: Orange ist angegeben, wo etwas ergänzt werden soll.

Einführung in die Programmierung 1

Umsetzungshilfe Java Teil 1

Javakurs für Anfänger

Grundlagen der Programmierung. Kapitel 10: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Grundlagen der Programmierung. Kapitel 11: Ein- und Ausgabe. Ziele dieses Kapitels. Das Problem. Datei

Parallele Prozesse Prozeß Parallele Prozesse verzahnte Prozesse Nebenläufige Prozesse: Threads Vorlesung Software-Entwicklung / Folie 131 Ziele:

Primitive Datentypen

Kapitel 12. Programmierkurs. Allgemeine Konzepte Byte-Streams versus Character-Streams

Programmieren 2 Selbststudium Semesterwoche 6

Programmieren in Java

Methoden und Wrapperklassen

Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Grundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Datei! Das Problem!

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

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf

java.io Ziel Ressourcen Page 1 Verstehen der unterschiedlichen I / O Möglichkeiten Anwenden der Java I/ O Klassen Java Tutorial Java API Dokumentation

boolean ispalindrome = word.equalsignorecase(reverse.tostring());

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

1.7 Fehler- und Ausnahmebehandlung

1 Klassen anlegen und Objekte erzeugen

1 Klassen anlegen und Objekte erzeugen

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Dr. Klaus Höppner

Gliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions

Einführung in die Informatik Files and Streams

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

PREV CLASS NEXT CLASS FRAMES NO FRAMES All Classes

Versuchsziele Konzepte der parallelen Programmierung am Beispiel von Threads anwenden können. Einbau von Kontrollmechanismen mittels Semaphore.

EINFÜHRUNG IN DIE PROGRAMMIERUNG

Programmieren in Java

Lesen und Schreiben von Dateien

Grundlagen der Programmierung! Kapitel 10: Ein- und Ausgabe! Ziele dieses Kapitels! Das Problem! Datei!

Übung Informatik I - Programmierung - Blatt 3

Dateien: Allgemeines Dateien lesen Beispiel: CSV-Daten Filter Ausgabe in Dateien. Programmieren I. Martin Schultheiß

Sie müssen den Test bis 20:00 Uhr am Abgabetag dieses Übungszettels absolviert haben.

Programmieren mit einem einfachen Klassenkonzept

9. Fehler und Ausnahmen Grundlagen der Programmierung 1 (Java)

Kapitel 15: Ausnahmen und

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

Exceptions. Prof. Dr. Margarita Esponda SS M. Esponda-Argüero

Aufgabe 1: Objekte, Klassen, Vererbung (15 Punkte)

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12. Kapitel 12. Fehler und Ausnahmen

Vorkurs Informatik WiSe 17/18

Objektorientierte Programmierung. Kapitel 13: Exceptions

Remote Method Invocation

Welcome to java. einfach objektorientiert verteilt interpretierend robust secure architekturneutral portabel schnell parallel(multitheded)

Einführung in die Informatik Definition von Klassen

Instrumentierung und Dekodierung

Vorlesung Informatik II

Ausgabe:

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

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

Grundlagen der Fehlerbehandlung. Informatik B - Objektorientierte Programmierung in Java. Vorlesung 06: Ausnahme- und Fehlerbehandlung in Java.

Transkript:

Ausdrucksbäume in verschiedenen Darstellungen SWE-42 Infix mit notwendigen Klammern: (a + b) / (c - d) Infix vollständig geklammert: (((a) + (b)) / ((c) - (d))) Postfix a b + c d - / Präfix / + a b - c d Objekte der Klasse BinTree: / + - a b c d ~ ~ ~ ~ ~ ~ ~ Vorlesung Software-Entwicklung / Folie 42 Darstellungen von Ausdrucksbäumen erlernen Baumdurchlauf links-abwärts Postfix- und Präfix-Darstellung erzeugen Warum benötigt man Klammern nur in der Infix-Darstellung?

Einfache Eingabefunktionen SWE-43 Zeichenfolgen von der Standardeingabe (Tastatur) lesen: Ein Objekt der Klasse BufferedReader aus der Bibliothek java.io wird mit dem Objekt System.in initialisiert und dessen Funktionen werden benutzt: import java.io.*; class Greetings { public static void main (String [] args) throws IOException { BufferedReader in = new BufferedReader (new InputStreamReader (System.in)); System.out.println ("What is your name?"); String name = in.readline (); System.out.println ("Hello " + name); in.readline() liest bis zum nächsten Zeilenwechselzeichen oder bis zum Eingabeende und liefert die Zeichen davor als String-Objekt. throws IOException gibt an, daß ein Aufruf dieser Funktion E/A-Ausnahmen auslösen könnte (siehe SWE-48). Vorlesung Software-Entwicklung / Folie 43 Direkte Verwendung von Bibliotheksklassen mit Eingabefunktionen Erläuterungen dazu Tabellen drucken und Grenzen dafür einlesen

Java Gently s Text Class SWE-44 Vereinfacht interaktive Eingabedialoge mit Fehlerbehandlung. Benutzt E/A-Ströme wie in SWE-22 und SWE-43gezeigt. Einige Funktionen aus der Klasse Text: public static void prompt (String s); public static int readint (BufferedReader in); public static double readdouble (BufferedReader in); public static String readstring (BufferedReader in); public static char readchar (BufferedReader in); Beispiel von SWE-43: import java.io.*; import javagently.*; class Greetings { public static void main (String [] args) throws IOException { BufferedReader in = Text.open (System.in); Text.prompt ("What is your name?"); String name = Text.readString (in); System.out.println ("Hello " + name); Vorlesung Software-Entwicklung / Folie 44 E/A-Unterstützung speziell für Anfänger Am Beispiel erläutern Weitere E/A-Dialoge programmieren Verhalten bei Eingabefehlern erproben Warum ist Eingabe technisch komplizierter als Ausgabe?

Eingabe von Zahlenfolgen SWE-45 Es sollen Zahlenfolgen unterschiedlicher Länge gelesen werden. Die Länge wird erst bei der Ausführung des Programms bestimmt. 4 Techniken dazu: 1. Länge interaktiv erfragen; dann entsprechend viele Elemente lesen (SWE-46). 2. Auf der Eingabedatei die Angabe der Länge den Elementen voranstellen, dann entsprechend viele Elemente lesen (SWE-47). 3. Leseschleife am Eingabeende durch eine Ausnahmebehandlung beenden (SWE-48). 4. Einen speziellen Wert, der nicht in der Folge vorkommen kann, als Endezeichen (Sentinel) anfügen. Beispiel siehe SWE-46. Nützliche Eingabetechniken parat haben (1) und (4) erläutern, siehe SWE-46 Technik (1) implementieren und zu (4) verändern Welche Fehlersituationen können bei (1) und (4) auftreten? Vorlesung Software-Entwicklung / Folie 45

Eingabe von Zahlenfolgen, Beispiel 1 SWE-46 Technik 1: Länge interaktiv erfragen; dann entsprechend viele Elemente lesen. import java.io.*; import javagently.*; public class Summation1 { public static void main(string[] args) throws IOException { BufferedReader in = Text.open (System.in); Text.prompt ("How many numbers?"); int count = Text.readInt (in); // Länge interaktiv erfragen double total = 0; for (int i = 1; i <= count; i++) { Text.prompt (i + ">"); double number = Text.readDouble(in); total += number; System.out.println ("That's enough, thanks."); System.out.println ("The total is " + total); // Leseschleife Vorlesung Software-Entwicklung / Folie 46 Implementierung zu SWE-45(1) Erläuterungen zusammen mit SWE-45

Ein- und Ausgabe mit Dateien SWE-47 Statt der vordefinierten Dateiobjekte System.in, System.out werden neue Dateiobjekte für Dateien unter deren Dateinamen (Unix-Pfad) von den Funktionen Text.open und Text.create erzeugt: statt Standardeingabe: BufferedReader in = Text.open (System.in); Eingabedatei: BufferedReader in = Text.open ("numbers.in"); Ausgabedatei: PrintWriter out = Text.create ("totals.out"); Im Beispiel SWE-46 nur die Erzeugung des Dateiobjektes und das Lesen der Länge ändern: BufferedReader in = Text.open ("numbers.in"); int count = Text.readInt (in); // Länge von der Datei lesen // Lesen der Werte wie in SWE-46 Vorlesung Software-Entwicklung / Folie 47 Nur kleine Änderungen beim Übergang zu Dateien Erläuterungen dazu Judy Bishop: Java lernen, 3.Aufl., Abschnitt 4.2, 4.5 Ändern Sie das Programm so, daß der Dateiname interaktiv erfragt wird

Ausnahmebehandlung SWE-48 Ausnahmen signalisieren Fehler oder ungewöhnliche Situationen bei der Programmausführung. In robusten Programmen sollen sie abgefangen und behandelt werden. Ein try-block wird mit einer oder mehreren Ausnahmebehandlungen (catch-block) versehen. Wird im try-block eine Ausnahme ausgelöst, so wird sofort der catch-block dazu ausgeführt. Dies geschieht wie ein spontaner Aufruf eines passenden catch-blockes als Funktion mit dem Ausnahmeobjekt als Parameter. Beispiel: Einlesen einer Zahlenfolge Technik (3): try { for (int i = 1; /* keine Bedingung */; i++) // Leseschleife { Text.prompt (i + ">"); double number = Text.readDouble(in); total += number; catch (EOFException e) // der Parametertyp wählt die Ausnahme aus { System.out.println ("That's enough, thanks."); System.out.println ("The total is " + total); Elementare Ausnahmebehandlung verstehen Erläuterungen dazu Judy Bishop: Java lernen, 3.Aufl., Abschnitt 4.6 Programm zum sicheren Benutzen von Dateien entwickeln Vorlesung Software-Entwicklung / Folie 48 Nennen Sie Beispiele aus früher geschriebenen Programmen, die durch sinnvollen Einsatz von Ausnahmebehandlung robuster gemacht werden können.