Datentypen: integer, char, string, boolean

Slides:



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

der Universität Oldenburg
Forschungszentrum caesar
Variablen und Datentypen
10. Grundlagen imperativer Programmiersprachen
Java: Dynamische Datentypen
Indirekte Adressierung
Java: Referenzen und Zeichenketten
Datentyp- umwandlung. Literale sind: Bezeichner mit einem festen Wert wie z.B:
Robotik mit LEGO Mindstorms
Imperative Programmierung
Das erste Programm (Folie 16)
boolean Datentyp und Operator
Menschliche Logik AND Boolsche Logik = NOT Logisch
Agenda für heute, 8. Juni, 2006 Strukturierte Variablen: RecordsStrukturierte Variablen: Records Kombiniertes Strukturieren Bitmap-Dateien Datentypen:
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.
Konzept einer Programmiersprache!
Grundlagen von Objekt-Pascal Erstellt von J. Rudolf überarbeitet von H.Brehm.
Programiersprache Mustafa SÖYLEMEZ e
Variablenkonzept Klassisch, in Java Basistyp
Permanente Datenspeicherung
Agenda für heute, 9. Juni, 2005 Direkte FilezugriffeDirekte Filezugriffe Textfiles Bitmap-Dateien Datentypen: Mengen.
Variablen in Programmiersprachen
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
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.
Willkommen... Studentinnen und Studenten der Studiengänge Umweltnaturwissenschaften Erdwissenschaften Agrarwissenschaften zur.
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
PHP: Operatoren und Kontrollstrukturen
Zeichenketten in PASCAL
Anführungszeichen?! echo 'Apfel$atf'; // ergibt: Apfel$aft
Agenda für heute, 21. April, 2005 Interaktion mit Pascal-ProgrammenInteraktion mit Pascal-Programmen Dateneingabe Programmsteuerung Debugging Datentypen:
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Delphi Chars und Strings
Extended Pascal ( Erweitreung von Pascal) Name: Mehmet CELIK Matr :
The Programming Language Pascal
 Sortigkeit oder Arität
Extended Pascal Erweiterung von Pascal shadi Behzadipour shadi Shadi behzadipour.
Programmiersprache PASCAL
Variablen und Datentypen
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
Aufgaben zu Rückgabewerten
Programmieren und Problemlösen
Prüfungsbesprechung Barbara Scheuner
Strukturierte Variablen: Records
Klassen selbst programmieren
Java-Kurs - 2. Übung primitive Datentypen, Konstanten
Reihungen Prof. Dr. Christian Böhm In Zusammenarbeit mit Gefei Zhang
SS 04 Christiane Rauh Christian Hellinger
GRUNDLAGEN WISSENSCHAFTLICHEN ARBEITENS MODULA-2 SONAY SUBAYAZ
Datentyp- umwandlung.
The Programming Language Pascal
 Präsentation transkript:

Datentypen: integer, char, string, boolean Agenda für heute, 26. Feb., 2009 Datentypen: integer, char, string, boolean Bedingte Programmausführung Zusammengesetzte if-then-else-Anweisungen Lesen Sie den Begleittext Kapitel 3.

Pascal ist eine streng typisierte Programmiersprache Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp (Datenformat) definiert werden. Nicht dem Datentyp entsprechende Verwendung der Speicherplätze führt zu Fehlermeldungen. 2/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Wie werden Daten dargestellt? Datenstruktur Eigenschaft Laufzeit Literal der zu verwendende Wert selbst nicht veränderbar Konstante ein Bezeichner (Name), der einen Wert repräsentiert Variable ein Bezeichner, dem Werte zugewiesen werden können veränderbar Siehe Begleittext, Seiten 9, 10 & 89 3/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Wie werden Variablen und Konstanten definiert? In der Variablendeklaration werden Variablen benannt und über den Datentyp wird definiert, welche Werte eine Variable annehmen kann. var x, summe, quadrat: integer; Jede Variable eines Programms muss deklariert werden. Der Datentyp von Konstanten ist implizit durch das ihnen zugeordnete Literal gegeben. const a = 20; pi = 3.1415; quit = 'q'; 4/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Wie werden Variablen verändert? Der Wert einer Variablen kann durch eine Zuweisungsanweisung verändert werden. Variable := Ausdruck; const a = 20; var x, summe, quadrat: integer; read(x); summe:= x + 5 * a; quadrat:= sqr(x); 5/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Var i: integer; j: byte; Der Datentyp integer Var i: integer; j: byte; Shortint: -128 . . 127 Integer: -32768 . . 32767 Longint: -2'147'483'648 . . 2'147'483'647 Byte: 0 . . 255 Word: 0 . . 65535 Turbo Pascal Symbol Operation + Addition – Subtraktion * Multiplikation DIV ganzzahlige Division MOD Rest einer ganzzahligen Division 6/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Arithmetische Ausdrücke Wir wollen: Fläche und Diagonale von Rechtecken berechnen Var flaeche, laenge, breite, diag: integer; read(laenge); read(breite); flaeche:= laenge * breite; {Diagonale berechnen} laenge:= sqr(laenge); breite:= sqr(breite); diag:= sqrt(laenge + breite); oder diag:= sqrt(sqr(laenge) + sqr(breite)); 7/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Der Datentyp char (Abk. für character) Var ch: char; Für die Speicherung und Verarbeitung von Textzeichen Wertebereich: Zeichensatz definiert durch ANSI-Standard Symbol Operationen ORD Ordinalwert CHR Textzeichen für gegebenen Ordinalwert =, >, < Vergleichsoperationen <=, >=, <> Vergleichsoperationen 8/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Der Datentyp char, Beispiele Textzeichen sind normalerweise Symbole des Quellprogramms Apostrophiert werden sie zu Literalen für Textdaten const A = 'A'; var ch: char; ch:= 'A'; ch:= A; 'B' < 'C' < 'c' Ord('k') = 107 Ord('K') = 75 Chr(107) = 'k' Chr(75) = 'K' = Chr(Ord('k')+32) 9/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

S1: string; enthält bis zu 255 Zeichen Der Datentyp string var S1: string; enthält bis zu 255 Zeichen S2: string[12]; enthält bis zu 12 Zeichen Erlaubt die Verarbeitung von Zeichenfolgen: S:= 'Geben Sie ein Datum ein: '; write(S) 10/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Textverarbeitung mit string-Variablen Die Variable S[i] stellt das i-te Zeichen von S dar. Die Anweisung S[3]:= 'C' weist dem dritten Zeichen von S den Wert C zu. Der + Operator dient der Verkettung von Zeichenfolgen Jedes Element eines Strings kann ein Zeichen aufnehmen, ausge-nommen das erste Element (mit Index 0), denn dieses (length byte) sagt, wie lange die im String gespeicherte Zeichenkette ist. S:= 'Geben Sie ein Datum ein: '; S[1] enthält den Wert G S[0] enthält den Wert 25 Die Standardfunktion length() gibt die Länge eines Strings zurück. Nach der Anweisung: L:= length(S) Enthält die Variable L den Wert 25. 11/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Operationen mit Strings const ort = 'Zuerich'; var S1, S2: string; Zuweisungsanweisungen: S1:= 'ETH '; S2:= ort; Verketten von String-Operanden mit + : S1:= S1 + S2; S1 enthält jetzt den Text: ETH Zuerich Auf Strings können Vergleichsoperationen angewandt werden: 'kuben' < 'kubus' erzeugt den Wahrheitswert true weil 'e' < 'u' ebenfalls 'ee' < 'u' D.h. der Vergleich basiert auf lexikografischer Ordnung. Pascal erlaubt null strings, ausgedrückt als ' ' (zwei aufeinander-folgende Apostroph, ohne Zwischenraum). Das entsprechende length byte enthält den Wert 0. S:= ' ' ist kein null string. Es ist eine Zeichenkette bestehend aus 5 Leerzeichen 12/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Wertebereich: die Wahrheitswerte "TRUE" und "FALSE" Operationen Der Datentyp boolean Wertebereich: die Wahrheitswerte "TRUE" und "FALSE" Operationen NOT Negation AND Konjunktion OR Disjunktion XOR exklusive Disjunktion 13/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Var laenge, breite: integer; kuerzer: boolean; Logische Ausdrücke Var laenge, breite: integer; kuerzer: boolean; kuerzer:= breite < laenge; Die Variable kuerzer enthält den Wert "TRUE" falls breite kleiner als laenge ist Den gleichen Wert erhält man mit: kuerzer:= not (breite > laenge); 14/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Bedingte Programmausführung Datentypen: integer, char, string, boolean Bedingte Programmausführung Zusammengesetzte if-then-else-Anweisungen

Bedingte Programmausführung Falls laenge länger als breite dann drucke laenge aus if laenge > breite then write(laenge) w ? kuerzer:= breite > laenge if not kuerzer then write(laenge) else begin write(‘laenge ist kürzer’); read(laenge, breite) end; 15/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Bedingte Programmausführung, zusammengesetzte Bedingungen Wir wollen Kleinbuchstaben durch Grossbuchstaben ersetzen: if Ord(ch) >= 97 then ch:= Chr(Ord(ch)-32) Verwendung logischer Ausdrücke als Bedingung: if (Ord(ch) >= 97) and (Ord(ch) < 123) then ch:= Chr(Ord(ch)-32) 16/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Zusammengesetzte if-then-else-Anweisungen Datentypen: integer, char, string, boolean Bedingte Programmausführung Zusammengesetzte if-then-else-Anweisungen

Zusammengesetzte if-then-else-Anweisungen Die then- und die else-Klausel einer if-Anweisung können beliebige Anweisungen enthalten, insbesondere auch if-Anweisungen: if Bedingung1 then if Bedingung2 then Anweisungsfolge1 else Anweisungsfolge2 else Anweisungsfolge3 false true B1 false true B2 Mit "geschachtelten" if-Anweisungen Können mehr als zwei Verzweigungen programmiert werden. A3 A2 A1 17/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich

Zu welchem if gehört das else? Ein Nachteil von Pascal: kein Abschlusssymbol für if-then-else if Bedingung1 then if Bedingung2 then Anweisungsfolge1 else Anweisungsfolge2 Zu welchem "if" gehört das"else" Regel: die else-Klausel gehört zum nächstliegenden "if" das kein "else" hat if B1 then if B2 then A1 else A2 18/18 Programmieren und Problemlösen © Departement Informatik, ETH Zürich