Präzedenz von Operatoren

Ähnliche Dokumente
Aufrufe von Objektmethoden

Elementare Konzepte von

Werkzeuge zur Programmentwicklung

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

3. Anweisungen und Kontrollstrukturen

Einstieg in die Informatik mit Java

EWS, WS 2016/17 Pfahler I-1

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen

C++ Teil 2. Sven Groß. 16. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Apr / 22

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

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

Anweisungen zur Ablaufsteuerung

Einstieg in die Informatik mit Java

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

Java Anweisungen und Ablaufsteuerung

Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Einführung in die Programmierung mit BlueJ

Vorkurs Informatik WiSe 17/18

Einstieg in die Informatik mit Java

Java I Vorlesung Imperatives Programmieren

Programmierkurs. Manfred Jackel

Grundlagen der Programmierung

Einstieg in die Informatik mit Java

6. Funktionen, Parameterübergabe

Ausdrücke der Programmiersprache Java

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

Vorkurs Informatik WiSe 16/17

Kontrollstrukturen (1)

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Institut für Programmierung und Reaktive Systeme 2. Februar Programmieren I. Übungsklausur

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java

Klassenvariablen, Klassenmethoden

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Intensivübung zu Algorithmen und Datenstrukturen

System.out.println("TEXT");

Ausdrucksbäume in verschiedenen Darstellungen

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

Javakurs für Anfänger

8. Ausdrücke, Operatoren (einfache Typen)

Vorlesung Programmieren

1 pulsierender Speicher

3.2 Datentypen und Methoden

Einstieg in die Informatik mit Java

Java Ablaufsteuerung (Beispiele)

Grundlagen der Programmierung Teil1 Einheit III Okt. 2010

Vorlesung Programmieren

PIC16 Programmierung in HITECH-C

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Programmieren in C / C++ Grundlagen C 4

Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme

2. Unterprogramme und Methoden

3. Grundanweisungen in Java

Java Einführung Methoden. Kapitel 6

Java Methoden. Informatik 1 für Nebenfachstudierende Grundmodul. Kai-Steffen Hielscher Folienversion: 1. Februar 2017

1 Aufgaben 1.1 Umgebungsvariable setzen: CLASSPATH

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

Teil II. Literatur zur C-Programmierung:

Praktische Informatik 1

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

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

Vorlesung Objektorientierte Programmierung Klausur

JAVA - Methoden - Rekursion

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Übungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.

Probeklausur: Programmierung WS04/05

PK-Einstufungstest. 1. Allgemeine Multiple-Choice-Aufgaben. Aufgabe 1.1. Alle Aufgaben beziehen sich auf Java.

7 Funktionen. 7.1 Definition. Prototyp-Syntax: {Speicherklasse} {Typ} Name ({formale Parameter});

Javakurs für Anfänger

C++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.

Programmierung mit C Zeiger

Einführung in die Programmierung für NF. Übung

Kapitel 9. Komplexität von Algorithmen und Sortieralgorithmen

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Herzlich willkommen!

Informatik 1. Sommersemester Helmut Seidl. Institut für Informatik TU München

Dr. Monika Meiler. Inhalt

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

2 Eine einfache Programmiersprache

Grundlagen der Informatik Ergänzungen WS 2007/2008 Prof. Dr. Rainer Lütticke

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

Programmiertechnik Kontrollstrukturen

Welche Informatik-Kenntnisse bringen Sie mit?

C.3 Funktionen und Prozeduren

Transkript:

Präzedenz von Operatoren SWE-30 Die Präzedenz von Operatoren bestimmt die Struktur von Ausdrücken. Ein Operator höherer Präzedenz bindet die Operanden stärker als ein Operator geringerer Präzedenz. Mit der Tabelle unten gilt z. B. a + b * c ist gleichwertig zu a + (b * c). unäre Operatoren ~! -- ++ + - cast * / % + - >> << >>> < > <= >= instanceof ==!= & ^ && bedingter Ausdruck b? e1: e2 Zuweisung hohe Präzedenz geringe Präzedenz Bei gleicher Präzedenz bindet der linke Operator stärker als der rechte (außer bei Zuweisungen und bedingten Ausdrücken), z. B. a - b + c ist gleichwertig zu (a - b) + c Vorlesung Software-Entwicklung / Folie 30 Vorrangregeln für Operatoren Beispiele dazu vollständig geklammerte Ausdrücke Judy Bishop: Java lernen, 3.Aufl., Abschnitt 3.6 Ausdrücke vollständig klammern Was hat die Reihenfolge, in der die Operatoren ausgewertet werden, mit der Struktur eines Ausdrucks zu tun? Die Reihenfolge, in der die Operanden ausgewertet werden, ist unabhängig von der Struktur des Ausdrucks. Begründung?

Elementare Anweisungsformen SWE-31 Zuweisung: Variable = Ausdruck; Alternative: if (Bedingung) Anweisung else Anweisung Die Bedingung wird ausgewertet; ergibt sie wahr, so wird die erste sonst die zweite Anweisung ausgeführt. if (Bedingung) Anweisung Die Anweisung wird nur ausgeführt, wenn die Bedingung Beispiel: wahr liefert. Größter gemeinsamer Teiler Schleife: while (Bedingung) Anweisung Solange die Auswertung der Bedingung wahr ergibt, wird die Anweisung ausgeführt. do Anweisung while (Bedingung); Die Anweisung wird ausgeführt und solange wiederholt, wie die Bedingung wahr liefert. Folge (Block): { Anweisung... Anweisung Die Anweisungen (und Deklarationen) werden nacheinander ausgeführt. Der Block kann für eine Anweisung stehen. Aufruf: Funktionsname (Parameterausdrücke); Die Ausdrücke werden ausgewertet und die Funktion mit den Parameterwerten aufgerufen. { int a, b; a = Text.ReadInt(in); b = Text.ReadInt(in); while (a!= b) { if (a > b) a = a - b; else b = b - a; System.out.println(a); Vorlesung Software-Entwicklung / Folie 31 Algorithmische Grundformen und ihre Notation in Java kennenlernen Erläuterungen und Beispiele dazu Judy Bishop: Java lernen, 3.Aufl., Abschnitt 4.4, 5.2 Wie transformiert man eine beliebige for-schleife in eine while-schleife, die dieselbe Wirkung hat?

Funktionen (Methoden) SWE-32 Übersicht: Funktionen dienen zur Gliederung von Programmen. Eine Funktion soll eine übersichtliche Teilaufgabe erledigen. Eine Funktion kann Parameter verwenden, deren Werte erst im Aufruf angegeben werden. Eine Funktion berechnet ein Ergebnis und/oder verändert den Zustand in ihrer Umgebung. Methoden sind Funktionen, die auf den Variablen von Objekten (oder Klassen) operieren. Funktionsdeklaration: Modifizierer Ergebnistyp Funktionsname (formale Parameter) Block static double tofahrenheit (double celsius) { return celsius * 9 / 5 + 32; Funktionsaufruf: Funktionsname (aktuelle Parameter) double cdegree = 10; double fdegree; fdegree = tofahrenheit (cdegree); System.out.println (tofahrenheit (cdegree+10)); Vorlesung Software-Entwicklung / Folie 32 Konzepte und Notation von Funktionen in Java Funktionsdeklaration und -aufruf am Beispiel erläutern Judy Bishop: Java lernen, 3.Aufl., Abschnitt 3.3 GdP-58 bis GdP-60 Beschreiben Sie die Struktur der letzten Beispielzeile. Beschreiben Sie die Ausführung der letzten Beispielzeile.

Aufruf, Parameter, Ergebnis SWE-33 Zur Ausführung eines Aufrufes wird Speicher angelegt für die formalen Parameter, das Ergebnis und die lokalen Variablen der Funktion. Parameterübergabe call-by-value: Die formalen Parametervariablen werden mit den Werten der entsprechenden aktuellen Parameter initialisiert. Eine Anweisung return Ausdruck; beendet den Aufruf und bestimmt sein Ergebnis. Beispiel GGT als Funktion: Aufrufe: int ggt (int a, int b) int g; { while (a!= b) g = ggt(90, 54); { System.out.print(ggt(36, 54)); if (a > b) g = ggt(g, 4); a = a - b; else b = b - a; return a; Aufruf und Parameterübergabe verstehen Korrekte und fehlerhafte Aufrufe an Beispielen erläutern Judy Bishop: Java lernen, 3.Aufl., Abschnitt 3.3 GdP-58 bis GdP-60 Vorlesung Software-Entwicklung / Folie 33 Schreiben Sie Funktionen für einfache Berechnungen, betten Sie sie in den Rahmen ein und führen Sie das Programm aus. Wie lange wird der Speicher für einen Aufruf gebraucht? Was gilt für die Existenz der Speicherbereiche von Aufrufen, wenn Funktionen aus anderen Funktionen aufgerufen werden?

Funktionen ohne Ergebnis (Prozeduren) SWE-34 Funktionen können eine Änderung ihrer Umgebung (Zustand, Ein-, Ausgabe) bewirken, statt ein Ergebnis zu berechnen. Sie werden dann als Anweisungen aufgerufen. (Zustandsändernde Funktionen mit Ergebnis sind möglich aber fragwürdiger Stil.) Beispiel: Aufrufe und Ausgabe: void aline (int width, char c) { System.out.print ('='); int i = 2; aline(7, '5'); while (i < width) { System.out.print (c); i = i+1; System.out.println ('='); void aticket (int width, int depth, char c) { aline (width, '='); aticket(7, 6, '5'); int i = 2; while (i < depth) ======= { aline (width, c); i = i+1; aline (width, '='); ======= Vorlesung Software-Entwicklung / Folie 34 Zerlegung in Teilaufgaben am Beispiel Das Beispiel erläutern Kriterien für die Zerlegung und die Parameter erläutern Wie ändern Sie die Funktionen, um mehrere Marken nebeneinander zu drucken?