Transcript
Page 1: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Agenda für heute, 14. April, 2005

• Wiederholte ProgrammausführungWiederholte Programmausführung

• Algorithmische Grundlagen

• Bedingungen zum Abbruch von Programmschleifen

• For-Anweisung

• While-Anweisung

• Repeat-Anweisung

• Geschachtelte Programmschleifen

• Syntaxdiagramme

• Datentypen: char

Page 2: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Steuerung des Programmablaufs: Wiederholung

• Wiederholungen von Anweisungsfolgen können aus verschiedenen Gründen notwendig sein, z.B.:

- eine Berechnung wird solange ausgeführt, bis das Resultat eine gewünschte Genauigkeit erreicht

- Operationen werden solange ausgeführt, bis alle Daten verarbeitet sind

- eine Anwenderin möchte das Programm wiederholt solange wie sie will ausführen

• Ein Programm muss also

a) wissen was wiederholt ausgeführt werden muss und

b) entscheiden können wann anzuhalten ist

2/15

Page 3: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

• Wiederholte Programmausführung

• Algorithmische GrundlagenAlgorithmische Grundlagen• Bedingungen zum Abbruch von Programmschleifen

• For-Anweisung

• While-Anweisung

• Repeat-Anweisung

• Geschachtelte Programmschleifen

• Syntaxdiagramme

• Datentypen: char

Page 4: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Algorithmische Grundlagen: Zwei Arten der Wiederholung

Anweisungs-folge

Abbruch?

Anweisungsfolge wird nicht, 1 mal oder mehrmals ausgeführt

falsch Anweisungs-folgeAbbruch?

wahr falschwahr

Anweisungsfolge wird mindestens1 mal ausgeführt

3/15

Page 5: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

• Wiederholte Programmausführung

• Algorithmische Grundlagen

• Bedingungen zum Abbruch von ProgrammschleifenBedingungen zum Abbruch von Programmschleifen• For-Anweisung

• While-Anweisung

• Repeat-Anweisung

• Geschachtelte Programmschleifen

• Syntaxdiagramme

• Datentypen: char

Page 6: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Wie oft wird eine Schleife ausgeführt?

• Bei einer Wiederholung bewegt sich das Programm in einer Schleife indem es auf eine bereits ausgeführte Instruktion zurück "springt".

• Programmiersprachen stellen für diese Operation eine Anweisung zur Ver-fügung, die an der Stelle eingefügt wird, an welche die Schleife zurück kehrt.

• In Pascal sind dies die folgenden Schleifen-Anweisungen:

for Anfangswert to Endwert do Anweisungsfolge

while Bedingung do Anweisungsfolge

repeat Anweisungsfolge until Bedingung

Die for-Schleife führt eine vorgegebene Anzahl Wiederholungen aus.

Die Anzahl Wiederholungen der while- und repeat-Schleife wird durch Aktionen innerhalb der Schleife gesteuert.

4/15

Page 7: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

• Wiederholte Programmausführung

• Algorithmische Grundlagen

• Bedingungen zum Abbruch von Programmschleifen

• For-AnweisungFor-Anweisung• While-Anweisung

• Repeat-Anweisung

• Geschachtelte Programmschleifen

• Syntaxdiagramme

• Datentypen: char

Page 8: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Struktur der for-Anweisung

for Variable:= Ausdruck1 to Ausdruck2 do Anweisung

Beispiel:

for i:= 0 to 9 do write(i)

for Variable:= Ausdruck1 downto Ausdruck2 do Anweisung

Beispiel:

for i:= 9 downto 0 do write(i)

Kontrollvariable

5/15

Page 9: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

• Wiederholte Programmausführung

• Algorithmische Grundlagen

• Bedingungen zum Abbruch von Programmschleifen

• For-Anweisung

• While-AnweisungWhile-Anweisung• Repeat-Anweisung

• Geschachtelte Programmschleifen

• Syntaxdiagramme

• Datentypen: char

Page 10: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Struktur der while-Anweisung

while boolescher Ausdruck do Anweisung

Die Anweisung wird wiederholt solange ausgeführt wie eine Auswertung des booleschen Ausdrucks den Wahrheitswert "true" ergibt.

Beispiel: i:= 0; while i < 10 do begin

write(i); i:= i + 1

end;

6/15

Page 11: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

• Wiederholte Programmausführung

• Algorithmische Grundlagen

• Bedingungen zum Abbruch von Programmschleifen

• For-Anweisung

• While-Anweisung

• Repeat-AnweisungRepeat-Anweisung• Geschachtelte Programmschleifen

• Syntaxdiagramme

• Datentypen: char

Page 12: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Struktur der repeat-Anweisung

repeat Anweisung until boolescher Ausdruck

Führe Anweisung einmal aus und wiederhole solange bis eine Auswertung des booleschen Ausdrucks den Wahrheitswert "true" ergibt.

Beispiel: i:= 0;

repeat write(i); i:= i + 1 until i = 10

7/15

Page 13: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

• Wiederholte Programmausführung

• Algorithmische Grundlagen

• Bedingungen zum Abbruch von Programmschleifen

• For-Anweisung

• While-Anweisung

• Repeat-Anweisung

• Geschachtelte ProgrammschleifenGeschachtelte Programmschleifen• Syntaxdiagramme

• Datentypen: char

Page 14: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Schachtelung am Beispiel der for-Anweisung

for Variable1:= Ausdruck1 to Ausdruck2 do

for Variable2:= Ausdruck3 downto Ausdruck4 do Anweisung

Beispiele:

for i:= 1 to 3 dofor j:= 1 to 10 do write(i*j)

for i:= 1 to 3 dobegin

for j:= 1 to 10 do write(i*j);writeln;

end;

8/15

Die Anweisung innerhalb einer Schleife kann beliebige Anweisungen enthalten, insbesondere auch Wiederholungs-Anweisungen.

Page 15: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

• Wiederholte Programmausführung

• Algorithmische Grundlagen

• Bedingungen zum Abbruch von Programmschleifen

• For-Anweisung

• While-Anweisung

• Repeat-Anweisung

• Geschachtelte Programmschleifen

• SyntaxdiagrammeSyntaxdiagramme• Datentypen: char

Page 16: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Grundlagen der Syntaxdiagramme

Elemente der Syntaxdiagramme

Nicht-Terminalsymbole:

Terminalsymbole: ;

Nicht-Terminalsymbole können durch andere Nicht-Terminalsymbole oder durch Terminalsymbole nach vorgegebenen Syntaxregeln ersetzt werden.

Bezeichner

9/15

Page 17: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Grundlagen der Syntaxdiagramme

Produktionsregeln (gelten für beide Arten von Symbolen)

BuchstabeFolge:

Auswahl: a b . . . Y Z

Buchstabe

Wiederholung: Bezeichner

Option:

Bezeichner

10/15

,

Page 18: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Syntaxregeln am Beispiel "Programm"

11/15

Page 19: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Syntaxregeln am Beispiel "Bezeichner"

12/15

Page 20: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

• Wiederholte Programmausführung

• Algorithmische Grundlagen

• Bedingungen zum Abbruch von Programmschleifen

• For-Anweisung

• While-Anweisung

• Repeat-Anweisung

• Geschachtelte Programmschleifen

• Syntaxdiagramme

• Datentypen: charDatentypen: char

Page 21: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Der Datentyp char (Abk. für character)

Var ch:char;

Für die Speicherung und Verarbeitung von Textzeichen.

Wertebereich: definiert durch ANSI-Standard

Operationen: ORD, CHR, Vergleichsoperationen

13/15

Page 22: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

Der Datentyp char, Beispiele

14/15

Ord('k') = 107

Chr(107) = 'k'

var ch: char;

ch:= '=';

Ord(ch) = 61

'B' < 'C' < 'c'

Chr(Ord('C') + 34) = 'c'

Page 23: Agenda für heute, 14. April, 2005 Wiederholte ProgrammausführungWiederholte Programmausführung Algorithmische Grundlagen Bedingungen zum Abbruch von Programmschleifen

Programmieren und Problemlösen © Institut für Computational Science, ETH Zürich

ANSI-Zeichensatz (American National Standards Institute)

Der ANSI-Zeichensatz enthält 256 (28) Zeichen.

Beispiele

Ordinalzahl Zeichen

13 <CR>

36 $

56 8

107 k

137 ‰

174 ®

223 ß

252 ü

Die Zeichen 0 bis 127 entsprechen dem ASCII-Zeichensatz.

15/15


Recommended