Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen.

Slides:



Advertisements
Ähnliche Präsentationen
ALP II: Objektorientierte Programmierung Sommersemester 2006
Advertisements

Funktionen, Felder und Parameter-übergabe
Ausdrücke bezeichnen Elemente eines Datentyps induktive Definition:
10. Grundlagen imperativer Programmiersprachen
12. Iteration und Rekursion
FH-Hof Einbindung von JavaScript Anweisungen
Strukturen. In einer Struktur kann eine beliebige Anzahl von Komponenten (Daten) mit unterschiedlichen Datentypen (im Gegensatz zu Feldern) zusammengefaßt.
Imperative Programmierung Funktionen und Parameter
Repetitorium PG : Gültigkeit, Sichtbarkeit & Operatorüberladung FH-Darmstadt, FB Informatik.
Agenda für heute, 8. Juni, 2006 Strukturierte Variablen: RecordsStrukturierte Variablen: Records Kombiniertes Strukturieren Bitmap-Dateien Datentypen:
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Wiederholte Programmausführung
Willkommen... Studentinnen und Studenten der Studiengänge Umweltnaturwissenschaften Erdwissenschaften Agrarwissenschaften zur.
Agenda für heute, 20. Juni, 2010 Strukturieren von Programmen: UnitsStrukturieren von Programmen: Units Datentypen: Unterbereichstypen Übung 7: Bitmap-Dateien.
Prozeduren und Funktionen
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 5 Dr. W. Narzt u. Dr. A. Stritzinger.
Konzept einer Programmiersprache!
Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm.
Permanente Datenspeicherung
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Agenda für heute, 9. Juni, 2005 Direkte FilezugriffeDirekte Filezugriffe Textfiles Bitmap-Dateien Datentypen: Mengen.
Variablen in Programmiersprachen
Mala Bachmann, Beispiel Velorennen Velorennen mit 5 TeilnehmerInnen Wie kann die durchschnittliche Rennzeit berechnet werden?
Mala Bachmann, Beispiel Velorennen (1) Velorennen mit 5 TeilnehmerInnen Wie kann die durchschnittliche Rennzeit berechnet werden?
MODULA-2.
Objektorientierte Programmierung
Agenda für heute, 22. Juni, 2006 Direkte FilezugriffeDirekte Filezugriffe Datentypen: Mengen Individualisierbare Datentypen.
Willkommen... Studentinnen und Studenten der Studiengänge Umweltnaturwissenschaften Erdwissenschaften Agrarwissenschaften zur.
Agenda für heute, 18. Mai, 2006 Strukturierung von Programmen: ProzedurenStrukturierung von Programmen: Prozeduren Strukturierung von Programmen: Units.
Datentypen: integer, char, string, boolean
Agenda für heute, 20. April, 2006 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Willkommen... Studentinnen und Studenten der Studiengänge Umweltnaturwissenschaften Erdwissenschaften Agrarwissenschaften zur.
Programmierparadigmen
Agenda für heute, 28. April, 2005 Strukturierte VariablenStrukturierte Variablen Arrays.
Agenda für heute, 2. Juni, 2005 Permanente DatenspeicherungPermanente Datenspeicherung Lesen und schreiben in Pascal Filetypen: Drei Kategorien Arbeiten.
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen.
Agenda für heute, 26. Mai, 2005 Strukturierte Variablen: RecordsStrukturierte Variablen: Records Kombiniertes Strukturieren Individualisierbare Datentypen.
Zeichenketten in PASCAL
Programmierparadigmen
Vorkurs Programmierungstechnik Einführung in Pascal Michael Gellner Lehrstuhl für Softwaretechnik am Institut für praktische Informatik der Universität.
Kurzreferat über Funktionen und Prozeduren Von Alexander RothHomepage:
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Synchronisation paralleler Transaktionen  AIFB SS Serialisierbarkeitsprinzip 4.3 Serialisierbarkeitsprinzip (2/13) Im folgenden wird ein vereinfachtes.
Agenda für heute, 21. April, 2005 Interaktion mit Pascal-ProgrammenInteraktion mit Pascal-Programmen Dateneingabe Programmsteuerung Debugging Datentypen:
SQL-Prozeduren Charakteristika: Kapselung von SQL-Anweisungen in Prozeduren, die wiederholt aufgerufen werden können. Dazu Verbergen parametrisierter SQL-
Extended Pascal ( Erweitreung von Pascal) Name: Mehmet CELIK Matr :
The Programming Language Pascal
Prüfungsbesprechung Barbara Scheuner Vorlesung: Programmieren und Problemlösen Prof. Hans Hinterberger.
Programmiersprache PASCAL
Objektorientierte (OO) Programmierung
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
Wiederholte Programmausführung
Programmieren und Problemlösen
Programmierparadigmen
Objektorientierte Programmierung
Strukturierte Variablen: Records
Datentypen: integer, char, string, boolean
Direkte Filezugriffe Agenda für heute, 22. Juni, 2006
Programmieren und Problemlösen
Strukturierte Variablen: Records
Datentypen: integer, char, string, boolean
Parametrisierte Prozeduren und Funktionen
Einführung in die Programmierung
Einführung in die Programmierung
The Programming Language Pascal
 Präsentation transkript:

Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Rezept als Programm mit Prozeduren 2/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Prozeduren Eine Prozedur ist ein kleines Programm, das innerhalb eines anderen Programms steht. Prozeduren werden eingesetzt um: a) Grosse Programme in kleinere Teile aufzuteilen b) Mehrfach verwendete Codesegmente nur einmal schreiben zu müssen 3/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Pascal-Prozeduren program tempumrechnung (input, output); var x, y: real; procedure fahrenheit; begin y:= (x - 32) * 5 / 9; end; {fahrenheit} begin {Hauptprogramm} read (x); fahrenheit; write (y:5:2) end. Prozedurdeklaration Prozeduraufruf 4/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Programmablauf bei Prozeduraufrufen procedure P; begin... end; begin { Hauptprogramm } P end.{ Hauptprogramm } 5/18

Prozeduren FunktionsprozedurenFunktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Funktionsprozeduren program tempumrechnung (input, output); var x, y: real; function fahrenheit: real; begin fahrenheit:= (x - 32) * 5 / 9; end; {fahrenheit} begin {Hauptprogramm} read (x); y:= fahrenheit; write (y:5:2) end. Funktionsname kann in Ausdrücken verwendet werden 6/18

Prozeduren Funktionsprozeduren ProzedurparameterProzedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Datenübergabe mit Werte-Parameter program tempumrechnung (input, output); var x, y: real; function fahrenheit(t: real): real; begin fahrenheit:= (t - 32) * 5 / 9; end; {fahrenheit} begin {Hauptprogramm} read (x); y:= fahrenheit(x); write (y:5:2) end. 7/18 Formeller Parameter Aktueller Parameter

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Datenübergabe mit Var-Parameter program tempumrechnung (input, output); var x: real; procedure fahrenheit(var t: real): real; begin fahrenheit:= (t - 32) * 5 / 9; end; {fahrenheit} begin {Hauptprogramm} read (x); fahrenheit(x); write (x:5:2) end. 8/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Syntax von Prozeduren 9/18

Prozeduren Funktionsprozeduren Prozedurparameter Lokale und globale VariablenLokale und globale Variablen Datentypen: Ordinaltypen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Lokalität: Sichtbarkeit von Bezeichnern var a procedure P var b procedure Q procedure R var b, c b, c, a, Q und P sichtbar a, b, R, Q und P sichtbar a, b, Q, R und P sichtbar a und P sichtbar Sichtbar bedeutet: Auf eine Variable oder Konstante, die sichtbar ist, kann man zugreifen. Eine Prozedur oder Funktion, die sicht- bar ist, kann man aufrufen. Unsichtbare Elemente entziehen sich einem Zugriff program H 10/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsbereich von Hauptprogramm H var a procedure P a und P sichtbar program H Weil Prozeduren schachtelbar sind, sind auch Sichtbar- keitsbereiche schachtelbar 11/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsbereich von Prozedur P var a procedure P var b procedure Q procedure R a, b, Q, R und P sichtbar program H Globale Variable für die Prozeduren P, Q und R Lokale Variable für die Prozedur P 12/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsbereich von Prozedur R var a procedure P var b procedure Q procedure R a, b, R, Q und P sichtbar program H 13/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsbereich von Prozedur Q var a procedure P var b procedure Q var b, c b, c, a, Q und P sichtbar program H R (und seine lokalen Variablen) sind für Q nicht sichtbar! procedure R 14/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsbereich von Prozedur Q var a procedure P var b procedure Q var b, c b, c, a, Q, R und P sichtbar program H procedure R procedure R; FORWARD; Die forward-Deklaration macht R (aber nicht seine lokalen Variablen) für Q sichtbar! 15/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Sichtbarkeitsregeln für Prozeduren 1.Ein Bezeichner ist innerhalb der Prozedur in der er deklariert wird sichtbar. Ebenso ist er in allen von dieser Prozedur eingeschlossenen Prozeduren sichtbar, vorbehaltlich Regel 2. 2.Wenn ein in der Prozedur P deklarierter Name N in einer inneren, von P eingeschlossenen Prozedur Q, umdeklariert wird, dann sind die Prozedur Q und alle weiteren, in Q eingeschlossenen Prozeduren, aus dem Sichtbarkeitsbereich des in P deklarierten Namens N ausgeschlossen. 3.Die Standarbezeichner von Pascal werden als bereits deklariert angesehen, und zwar in einer imaginären, das Programm umschliessenden, Prozedur. 16/18

Prozeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: OrdinaltypenDatentypen: Ordinaltypen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Ordinaltypen Die Werte von Ordinaltypen stammen aus einem abzählbaren Wertebereich. Dazu gehören die folgenden einfachen Datentypen: Integer, Cardinal, Boolean, Char Ihre Werte bilden eine geordnete Menge. Jedem Wert ist eine Ordinalzahl zugeordnet: 0, 1, 2,...(Ausnahme: Integer) Auf jeden Wert von Ordinaltypen anwendbare Standardfunktionen: Ord() gibt die Ordinalzahl zurück Pred() gibt die Ordinalzahl des Vorgängers zurück Succ() gibt die Ordinalzahl des Nachfolgers zurück Low() gibt den kleinsten Wert des Wertebereichs zurück High() gibt den grössten Wert des Wertebereichs zurück 17/18

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Standardfunktionen für Ordinaltypen Beispiele Ord(true) =1 Ord('8') =56 Ord(8) =8 Pred(false) =true Pred(-342) = –343 Succ('m') = n Low(integer) =– Low(word) =0 High(word) = /18