Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.

Ähnliche Präsentationen


Präsentation zum Thema: "Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte."—  Präsentation transkript:

1 Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen if-then-else-Anweisung Geschachtelte if-then-else-Anweisungen Datentypen: string

2 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Steuerung des Programmablaufs: Verzweigung Ein Programm ist eine Folge von Instruktionen, die alle möglichen Aktionen, notwendig für die Lösung eines Problems, ermöglichen. Oft müssen jedoch, abhängig von den Daten, nicht alle Instruktionen ausgeführt werden. Die meisten Programme müssen deshalb auf verschiedene "Pfade" von Instruktionsfolgen verzweigen können. Ein Programm muss also a) entscheiden können ob verzweigt werden soll und b) wenn ja, wohin 2/14

3 Bedingte Programmausführung Algorithmische GrundlagenAlgorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen if-then-else-Anweisung Geschachtelte if-then-else-Anweisungen Datentypen: string

4 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Algorithmische Grundlagen Operation a Fallunterscheidung 3/14 read(x) x 0 write(sqrt(x)) Fehlermeldung Operation cOperation b wahr falsch

5 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Bedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte und boolesche VariablenVergleichsoperatoren, Wahrheitswerte und boolesche Variablen if-then-else-Anweisung Geschachtelte if-then-else-Anweisungen Datentypen: string

6 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Fallunterscheidung Grundlage für eine Verzweigung ist ein Wahrheitswert (wahr, falsch). Das kann sein a) der Wahrheitswert selbst true, false b) der Wert einer booleschen Variable var b: boolean; c) der Wert eines booleschen Ausdrucks x >= 0 4/14

7 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Boolesche Ausdrücke Boolesche Konstanten true, false Ausdrücke mit Vergleichsoperatoren x >= 0x <> y Ausdrücke mit booleschen Operanden und logischen Operatoren var a, b: boolean; a and (true or b) (x >= 0) and (a or b) 5/14

8 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Boolesche Variablen brauchen nicht ausgewertet zu werden var b: boolean; Gegeben: b:= true Der Ausdruck (b = true) hat den Wahrheitswert "true" Der Ausdruck (b = false) hat den Wahrheitswert "false" Also können wir statt if b = true then einfach if b then schreiben und statt if b = false then einfach if not b then schreiben Gegeben: b:= false Der Ausdruck (b = true) hat den Wahrheitswert "false" Der Ausdruck (b = false) hat den Wahrheitswert "true" 6/14

9 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Bedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen if-then-else-Anweisungif-then-else-Anweisung Geschachtelte if-then-else-Anweisungen Datentypen: string

10 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Fallunterscheidung in Pascal if Bedingung then Anweisungsfolge if Bedingung then Anweisungsfolge1 else Anweisungsfolge2 7/14 Bedingung = boolescher Ausdruck

11 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Beispiel program quadratwurzel (input, output); var x: real; begin read (x); if x >= 0 then write (sqrt (2)) else write (x,'hat keine Quadratwurzel'); end. 8/14

12 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Zusammengesetzte Bedingungen Mit booleschen Operatoren können mehrere Bedingungen für die Fallunterscheidung berücksichtigt werden: if Bedingung1 and Bedingung2 or Bedingung3 then Anweisungsfolge1 else Anweisungsfolge2 9/14

13 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Bedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen if-then-else-Anweisung Geschachtelte if-then-else-AnweisungenGeschachtelte if-then-else-Anweisungen Datentypen: string

14 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich 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 Mit "geschachtelten" if-Anweisungen Können mehr als zwei Verzweigungen programmiert werden. 10/14

15 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Bedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen if-then-else-Anweisung Geschachtelte if-then-else-Anweisungen Datentypen: stringDatentypen: string

16 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Textverarbeitung var S: string; Um die Programmierung von Zeichenfolgen zu vereinfachen, stellt Pascal den Datentyp string zur Verfügung, mit speziellen, auf die Verarbeitung von Text zugeschnittenen Operationen. Variablen vom Typ string können bis zu 255 Zeichen enthalten. Es können aber kürzere Strings deklariert werden: var S1: string[10]; S2: string[135]; 11/14

17 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Textverarbeitung Eine String-Variable kann aber auch indiziert werden: var S: string; i: integer; 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. Einer String-Variablen kann man ganze Zeichenketten zuweisen: S:= 'Geben Sie ein Datum ein: '; write(S) 12/14

18 Programmieren und Problemlösen © Institut für Computational Science, 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 13/14

19 Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich Operationen mit Strings var S: string[15]; S:= 'ETH Zuerich'; 11ETHZuerich S 0 15 length(S) high(S) S[13] = undefinierter Wert S[16] = Kompilations- oder Laufzeitfehler 14/14


Herunterladen ppt "Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte."

Ähnliche Präsentationen


Google-Anzeigen