Strukturierte Variablen: Records

Slides:



Advertisements
Ähnliche Präsentationen
Imperative Programmierung
Advertisements

Variablen und Datentypen
Pascal-Datentypen Skalare Typen Zeiger- Typen Strukturierte Typen
10. Grundlagen imperativer Programmiersprachen
der Universität Oldenburg
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Einführung Wat jibt´s denn? Mit Computa kenn´ ick mir aus! Guten Tag,
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
Kontrollstrukturen Verwendung: Steuerung des Ablaufs.
Agenda für heute, 8. Juni, 2006 Strukturierte Variablen: RecordsStrukturierte Variablen: Records Kombiniertes Strukturieren Bitmap-Dateien Datentypen:
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.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Variablenkonzept Klassisch, in Java Basistyp
Permanente Datenspeicherung
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Agenda für heute, 9. Juni, 2005 Direkte FilezugriffeDirekte Filezugriffe Textfiles Bitmap-Dateien Datentypen: Mengen.
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.
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.
Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen.
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.
Programmieren in C Grundlagen C 2
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Der Datentyp Verbund (record)
Agenda für heute, 21. April, 2005 Interaktion mit Pascal-ProgrammenInteraktion mit Pascal-Programmen Dateneingabe Programmsteuerung Debugging Datentypen:
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
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.
Extended Pascal Erweiterung von Pascal shadi Behzadipour shadi Shadi behzadipour.
Programmiersprache PASCAL
A SHORT INTRODUCTION TO CONCURRENT EUCLID Entwicklung von Euclid 1976 Entwicklung von Euclid 1977 Entwicklung des „TORONTO Euclid“ 1977 Entwicklung.
Variablen und Datentypen
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Strukturen (Eigenschaften) Strukturen dienen zur Zusammenfassung mehrerer Komponenten verschiedener Typen zu einer Einheit, die dann mit gemeinsamen Namen.
Wiederholte Programmausführung
Programmieren und Problemlösen
Programmierparadigmen
Objektorientierte Programmierung
Hello World! Javakurs 2013 Arne Kappen
Datentypen: integer, char, string, boolean
Direkte Filezugriffe Agenda für heute, 22. Juni, 2006
Aufgaben zu Rückgabewerten
Programmieren und Problemlösen
Java-Kurs - 4. Übung weitere Kontrollstrukturen
Prüfungsbesprechung Barbara Scheuner
Strukturierte Variablen: Records
Datentypen: integer, char, string, boolean
Klassen selbst programmieren
Parametrisierte Prozeduren und Funktionen
SS 04 Christiane Rauh Christian Hellinger
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
Arrays in C Ein Array ist eine Variable, die aus einer Anzahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
GRUNDLAGEN WISSENSCHAFTLICHEN ARBEITENS MODULA-2 SONAY SUBAYAZ
Felder in der Informatik
Schleifen Datenfelder (Arrays) Verzweigungen
The Programming Language Pascal
 Präsentation transkript:

Strukturierte Variablen: Records Agenda für heute, 7. Mai, 2009 Strukturierte Variablen: Records Datentypen: Aufzählungstypen, Mengen Lösungsansätze für Praxismodul 6 Lesen Sie den Begleittext Seite 60 - 67

Vereinigung verschiedener Datentypen in einer Struktur : Records Variablen vom Typ Record erlauben mehrere Felder von unterschiedlichem Typ. type Datum: record Tag: byte; Monat: string[9]; Jahr: word; Werktag: boolean end; Variablebezeichner Recordfelder Feldbezeichner Feldtyp 2/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Zugriff auf die Felder eines Records geschieht über Namen var heute, morgen: Datum; heute.Tag:= 8; heute.Monat:= 'Mai'; heute.Jahr:= 2008; heute.Werktag:= true morgen:= heute; morgen.Tag:= 9; Die Felder der Variablen heute und morgen sind mit Ausnahme des Feldes Tag identisch. Programmieren und Problemlösen © Departement Informatik, ETH Zürich 3/13

Arrays und Records im Vergleich var Punkt: array[1..3]of real; Pkt: array['x'..'z'] of real; ch: char; for ch:= 'x' to 'z' do Pkt[ch]:= random; var Punkt: record x, y, z: real; end; with Punkt do begin x:= random; y:= random; z:= random; end; Punkt.x:= random; Punkt.y:= random; Punkt.z:= random; Keine Schleifen möglich 4/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Erfassen verschiedener Eigenschaften eines Objekts mit Records var Punkt: record x, y, z: real; inKugel: boolean end; radius: real; with Punkt do begin x:= random * radius; y:= random * radius; z:= random * radius; inKugel:= sqr(x)+sqr(y)+sqr(z) <= sqr(radius) end; 5/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

EinJahr: array[1..366]of Datum; Heute: Datum; Arrays von Records type Datum = record Tag: byte; Monat: string[9]; Jahr: word; end; var EinJahr: array[1..366]of Datum; Heute: Datum; Heute:= EinJahr[2] Tag Monat Jahr EinJahr[1] 8 Juni 2008 EinJahr[2] 9 EinJahr[3] 10 Tag Monat Jahr Heute 9 Juni 2008 6/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Geschachtelte Records type Mo = record Name: string[9]; Jzeit: char; end; var Jahr: record Tag: 1..366; Monat: Mo; end; Monat.Name:= 'Oktober'; Monat.Jzeit:= 'H'; Jahr.Monat:= Monat; Jahr.Tag:= 126; Jahr.Monat.Name:= 'Mai'; Jahr.Monat.Jzeit:= 'F'; 7/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Datentypen: Aufzählungstypen, Mengen Strukturierte Variablen: Records Datentypen: Aufzählungstypen, Mengen Lösungsansätze für Praxismodul 6

Listet alle Werte, die Variablen von diesem Typ annehmen können. Aufzählungstypen Listet alle Werte, die Variablen von diesem Typ annehmen können. type Waehrung = (CHF, Dollar, Euro, Yen); var Geld: Waehrung; Die Variable Geld kann nur die folgenden Werte annehmen : CHF, Dollar, Euro, Yen 8/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Waehrung = (CHF, Dollar, Euro); var Geld: set of Waehrung; Mengentypen Definiert die Menge aller möglichen Mengen von Elementen eines Basistyps. Die Basis eines Mengentyps muss ein Ordinaltyp sein, z.B. ein Aufzählungstyp: type Waehrung = (CHF, Dollar, Euro); var Geld: set of Waehrung; 9/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Mengentypen: Eigenschaften Die Werte der Variablen Waehrung sind die Mengen: [], [CHF], [Dollar], [Euro], [CHF, Dollar], [CHF, Euro], [Dollar, Euro], [CHF, Dollar, Euro] Der Basistyp darf nicht mehr als 256 Elemente enthalten. Zuweisungsanweisungen: Geld:= []; Geld:= [Euro]; Geld:= [CHF, Dollar]; 10/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Mengentypen: Operationen Vereinigung + Geld:= [CHF] + [Dollar] ⇨ [CHF, Dollar] Durchschnitt * Geld:= [CHF, Euro] * [Euro, Dollar] ⇨ [Euro] Differenz – Geld:= [CHF, Dollar, Euro] – [Euro] ⇨ [CHF, Dollar] Mengenzugehörigkeit [CHF] in [CHF, Dollar] ⇨ TRUE 11/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Mengentypen: Operationen Vergleiche = Gleichheit <> Ungleichheit <= Teilmenge >= Obermenge [CHF] = [CHF, Dollar] ⇨ FALSE [CHF] <> [CHF, Dollar] ⇨ TRUE [CHF] <= [CHF, Dollar] ⇨ TRUE [CHF] >= [CHF, Dollar] ⇨ FALSE 12/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Mengentypen vereinfachen Vergleiche var ch: Char; ('0' <= ch) and (ch <= '9') ist wahr, wenn ch eine Ziffer darstellt Der Mengentyp erlaubt einen bündigeren Ausdruck: ch in ['0'..'9'] Die folgende Anweisung überspringt Leerzeichen und Satzzeichen in der File "F". : while ch in [' ',',','.',';',':'] do read(F,ch); 13/13 Programmieren und Problemlösen © Departement Informatik, ETH Zürich