20.07.2013 Aufrufe

ENDE Algorithmus

ENDE Algorithmus

ENDE Algorithmus

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Brückenkurs Informatik WS 12/13<br />

Brückenkurs<br />

Informatik<br />

WS 2012/13<br />

Teil 3<br />

Prof. Thomas Nitsche<br />

Prof. Gudrun Stockmanns<br />

Seite 1


Vom Problem zum <strong>Algorithmus</strong><br />

Berechnung der Fakultät:<br />

Objekte:<br />

positive ganze Zahl : Fakultät, Zahl (Variablen)<br />

Operationen:<br />

Einlesen von Werten für die Variablen<br />

Zuweisung von Werten "= "<br />

Ausdrucken von Variablenwerten<br />

Multiplikation "*“<br />

Anfangszustand:<br />

Variablen haben einen vorgegebenen Startwert<br />

Endzustand:<br />

Zahl : eingelesener Wert für den die Fakultät<br />

berechnet werden soll.<br />

Fakultät : Fakultät des Wertes von Zahl<br />

Brückenkurs Informatik WS 12/13<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 2


Vom Problem zum <strong>Algorithmus</strong><br />

Herstellung eines Teiges:<br />

Objekte:<br />

Teigschüssel, Schneebesen<br />

Mehl, Salz, Eier, Milch<br />

Operationen :<br />

Einfüllen einer Zutat in die Teigschüssel, Rühren der<br />

Zutaten in der Teigschüssel mit Schneebesen<br />

Anfangszustand:<br />

Zutaten befinden sich in der ursprünglichen<br />

Verpackungen, Die Teigschüssel ist leer und der<br />

Schneebesen unbenutzt<br />

Endzustand :<br />

In der Teigschüssel befindet sich der gerührte<br />

(backfertige) Teig<br />

Brückenkurs Informatik WS 12/13<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 3


Vom Problem zum <strong>Algorithmus</strong><br />

Kern-(<strong>Algorithmus</strong>)<br />

Teigschüssel = leer<br />

Teigschüssel = Teigschüssel + Mehl + Eier + Salz + Milch<br />

Rühren in Teigschüssel<br />

Rühren in Teigschüssel<br />

Rühren in Teigschüssel<br />

Rühren in Teigschüssel<br />

....<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Brückenkurs Informatik WS 12/13<br />

Elementare <strong>Algorithmus</strong>schritte:<br />

1) Basisoperation (Zuweisung)<br />

2) Folge (Sequenzen)<br />

3) Auswahl (Verzweigung, Selektion)<br />

4) Schleife (Wiederholung)<br />

5) Aufruf (eines <strong>Algorithmus</strong>)<br />

einschließlich rekursiver Aufruf<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 4


Elementare <strong>Algorithmus</strong>schritte<br />

Syntax der Folge (Sequenz)<br />

Schritt 1<br />

Schritt 2<br />

Schritt 3<br />

...<br />

...<br />

Schritt n<br />

Brückenkurs Informatik WS 12/13<br />

Hinweise und Regeln<br />

Elementare <strong>Algorithmus</strong>schritte:<br />

1) Basisoperation (Zuweisung)<br />

2) Folge (Sequenzen)<br />

3) Auswahl (Verzweigung, Selektion)<br />

4) Schleife (Wiederholung)<br />

5) Aufruf (eines <strong>Algorithmus</strong>)<br />

einschließlich rekursiver Aufruf<br />

1) Zu einem bestimmten Zeitpunkt wird nur ein Schritt<br />

ausgeführt<br />

2) Jeder Schritt wird genau einmal ausgeführt, keiner wird<br />

wiederholt, keiner wird ausgelassen.<br />

3) Die Reihenfolge, in der die Schritte ausgeführt werden,<br />

ist die gleiche, in der sie niedergeschrieben sind.<br />

4) Mit Beendigung des letzten Schrittes endet der gesamte<br />

<strong>Algorithmus</strong><br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 5


Elementare <strong>Algorithmus</strong>schritte<br />

Syntax der bedingten<br />

Auswahl<br />

FALLS Bedingung<br />

DANN<br />

Schritt 1<br />

[ SONST<br />

Schritt 2]<br />

<strong>ENDE</strong> FALLS<br />

Brückenkurs Informatik WS 12/13<br />

Eine Bedingung oder auch<br />

boolescher Ausdruck kann die<br />

Wahrheitswerte TRUE oder<br />

FALSE annehmen.<br />

Elementare <strong>Algorithmus</strong>schritte:<br />

1) Basisoperation (Zuweisung)<br />

2) Folge (Sequenzen)<br />

3) Auswahl (Verzweigung, Selektion)<br />

4) Schleife (Wiederholung)<br />

5) Aufruf (eines <strong>Algorithmus</strong>)<br />

einschließlich rekursiver Aufruf<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 6


Elementare <strong>Algorithmus</strong>schritte<br />

Brückenkurs Informatik WS 12/13<br />

• Zuweisung<br />

• Folge (Sequenzen)<br />

• Auswahl (Verzweigung, Selektion)<br />

• Schleife (Wiederholung)<br />

• Aufruf (eines <strong>Algorithmus</strong>)<br />

einschließlich rekursiver Aufruf<br />

Syntax der Wiederhole-Solange-Schleife<br />

WIEDERHOLE<br />

<strong>Algorithmus</strong>schritt(e)<br />

SOLANGE Bedingung erfüllt ist<br />

Die Wiederhole-Solange-Schleife ist<br />

eine Schleife mit Nachtest, da die<br />

Bedingung am Ende abgefragt wird.<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 7


Vom Problem zum <strong>Algorithmus</strong><br />

Kern-(<strong>Algorithmus</strong>)<br />

Teigschüssel = leer<br />

Teigschüssel = Teigschüssel + Mehl + Eier + Salz + Milch<br />

WIEDERHOLE<br />

Rühren in Teigschüssel<br />

SOLANGE (Teigschüssel zu uneben)<br />

FALLS (Teigschüssel zu flüssig)<br />

DANN<br />

SONST<br />

<strong>ENDE</strong> FALLS<br />

Teigschüssel = Teigschüssel + Zusatzmehl<br />

WIEDERHOLE<br />

Brückenkurs Informatik WS 12/13<br />

Rühren in Teigschüssel<br />

SOLANGE (Teigschüssel zu uneben)<br />

<strong>ENDE</strong> <strong>Algorithmus</strong><br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 8


Elementare <strong>Algorithmus</strong>schritte<br />

Formaler Aufbau eines <strong>Algorithmus</strong><br />

ALGORITHMUS Fakultätsberechnung()<br />

Beschreibung<br />

Berechnung der Fakultät von Zahl: Zahl!<br />

Deklaration und Definition der lokalen Größen<br />

<strong>Algorithmus</strong>kern<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Brückenkurs Informatik WS 12/13<br />

Prinzipien zum Entwurf von Algorithmen<br />

ALGORITHMUS Name(...)<br />

Beschreibung<br />

...<br />

Deklaration u. Definition<br />

....<br />

Kern<br />

Schritt 1<br />

Schritt 2<br />

...<br />

Schritt n<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Seite 9


Elementare <strong>Algorithmus</strong>schritte<br />

Formaler Aufbau eines <strong>Algorithmus</strong><br />

ALGORITHMUS Fakultätsberechnung()<br />

Beschreibung<br />

Berechnung der Fakultät von Zahl: Zahl!<br />

Deklaration und Definition der lokalen Größen<br />

Natürliche Zahlen: Fakultät, Zahl, i<br />

<strong>Algorithmus</strong>kern<br />

Einlesen von Zahl<br />

i = 0<br />

Fakultät = 1<br />

WIEDERHOLE<br />

i = i+1<br />

Brückenkurs Informatik WS 12/13<br />

Fakultät = Fakultät * i<br />

SOLANGE (i < Zahl)<br />

Ausgabe von Fakultät<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Prinzipien zum Entwurf von Algorithmen<br />

ALGORITHMUS Name(...)<br />

Beschreibung<br />

...<br />

Deklaration u. Definition<br />

....<br />

Kern<br />

Schritt 1<br />

Schritt 2<br />

...<br />

Schritt n<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Seite 10


Elementare <strong>Algorithmus</strong>schritte<br />

Zusammenstellung der elementaren <strong>Algorithmus</strong>schritte<br />

1) Basisop. (Zuweisung)<br />

Variable = Ausdruck<br />

2) Folge (Sequenz)<br />

Schritt 1<br />

Schritt 2<br />

...<br />

...<br />

Schritt n<br />

Brückenkurs Informatik WS 12/13<br />

3) Fallunterscheidung<br />

FALLS Bedingung<br />

DANN<br />

Schritt 1<br />

[SONST<br />

Schritt 2]<br />

<strong>ENDE</strong> FALLS<br />

FALLS Selektor<br />

Wert 1: Schritt 1<br />

...<br />

Wert n: Schritt n<br />

SONST: Schritt n+1<br />

<strong>ENDE</strong> FALLS<br />

5) Aufruf von Name(...) mit Übergabe der<br />

Parameter … und Rücknahme der Werte ..<br />

ggf. speichern<br />

4) Schleife<br />

WIEDERHOLE<br />

Schritt(e)<br />

SOLANGE (Abbruch)-<br />

Bedingung<br />

SOLANGE Bedingung FÜHRE AUS<br />

Schritt<br />

<strong>ENDE</strong> SOLANGE<br />

FÜR i = n 1 BIS n 2 SCHRITTWEITE n 3<br />

<strong>ENDE</strong> FÜR<br />

<strong>Algorithmus</strong>schritt(e)<br />

ALGORITHMUS<br />

Name(...)<br />

...<br />

...<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Seite 11


Elementare <strong>Algorithmus</strong>schritte<br />

Zusammenstellung der elementaren <strong>Algorithmus</strong>schritte<br />

1) Basisop. (Zuweisung)<br />

Variable = Ausdruck<br />

2) Folge (Sequenz)<br />

Schritt 1<br />

Schritt 2<br />

...<br />

...<br />

Schritt n<br />

Brückenkurs Informatik WS 12/13<br />

3) Fallunterscheidung<br />

FALLS Bedingung<br />

DANN<br />

Schritt 1<br />

[SONST<br />

Schritt 2]<br />

<strong>ENDE</strong> FALLS<br />

FALLS Selektor<br />

Wert 1: Schritt 1<br />

...<br />

Wert n: Schritt n<br />

SONST: Schritt n+1<br />

<strong>ENDE</strong> FALLS<br />

5) Aufruf von Name(...) mit Übergabe der<br />

Parameter … und Rücknahme der Werte ..<br />

ggf. speichern<br />

4) Schleife<br />

WIEDERHOLE<br />

Schritt(e)<br />

SOLANGE (Abbruch)-<br />

Bedingung<br />

SOLANGE Bedingung FÜHRE AUS<br />

Schritt<br />

<strong>ENDE</strong> SOLANGE<br />

FÜR i = n 1 BIS n 2 SCHRITTWEITE n 3<br />

<strong>ENDE</strong> FÜR<br />

<strong>Algorithmus</strong>schritt(e)<br />

ALGORITHMUS<br />

Name(...)<br />

...<br />

...<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Seite 12


Elementare <strong>Algorithmus</strong>schritte<br />

Die Solange-Schleife<br />

ist eine Schleife mit<br />

Vorabtest, da die<br />

Bedingung am<br />

Anfang abgefragt<br />

wird<br />

Syntax der Solange-Schleife<br />

SOLANGE Bedingung erfüllt ist FÜHRE AUS<br />

<strong>Algorithmus</strong>schritt(e)<br />

<strong>ENDE</strong> SOLANGE<br />

Brückenkurs Informatik WS 12/13<br />

1) Basisoperation (Zuweisung)<br />

2) Folge (Sequenzen)<br />

3) Auswahl (Verzweigung,<br />

Selektion)<br />

4) Schleife (Wiederholung)<br />

5) Aufruf (eines <strong>Algorithmus</strong>)<br />

einschließlich rekursiver Aufruf<br />

SOLANGE (Teigschüssel zu uneben) FÜHRE AUS<br />

Rühren in Teigschüssel<br />

<strong>ENDE</strong> SOLANGE<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 13


Vom Problem zum <strong>Algorithmus</strong><br />

Kern-(<strong>Algorithmus</strong>)<br />

Teigschüssel = leer<br />

Teigschüssel = Teigschüssel + Mehl + Eier + Salz + Milch<br />

WIEDERHOLE<br />

Rühren in Teigschüssel<br />

SOLANGE (Teigschüssel zu uneben)<br />

FALLS (Teigschüssel zu flüssig)<br />

DANN<br />

SONST<br />

<strong>ENDE</strong> FALLS<br />

Teigschüssel = Teigschüssel + Zusatzmehl<br />

WIEDERHOLE<br />

Brückenkurs Informatik WS 12/13<br />

Rühren in Teigschüssel<br />

SOLANGE (Teigschüssel zu uneben)<br />

<strong>ENDE</strong> <strong>Algorithmus</strong><br />

SOLANGE (Teigschüssel zu uneben) FÜHRE AUS<br />

Rühren in Teigschüssel<br />

<strong>ENDE</strong> SOLANGE<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 14


Elementare <strong>Algorithmus</strong>schritte<br />

Formaler Aufbau eines <strong>Algorithmus</strong><br />

ALGORITHMUS Fakultätsberechnung()<br />

Beschreibung<br />

Berechnung der Fakultät von Zahl: Zahl!<br />

Deklaration und Definition der lokalen Größen<br />

Natürliche Zahlen: Fakultät, Zahl, i<br />

<strong>Algorithmus</strong>kern<br />

Einlesen von Zahl<br />

i = 0<br />

Fakultät = 1<br />

WIEDERHOLE<br />

i = i+1<br />

Brückenkurs Informatik WS 12/13<br />

Fakultät = Fakultät * i<br />

SOLANGE (i < Zahl)<br />

Ausgabe von Fakultät<br />

<strong>ENDE</strong> ALGORITHMUS<br />

SOLANGE (………..) FÜHRE AUS<br />

……<br />

<strong>ENDE</strong> SOLANGE<br />

Prinzipien zum Entwurf von Algorithmen<br />

ALGORITHMUS Name(...)<br />

Beschreibung<br />

...<br />

Deklaration u. Definition<br />

....<br />

Kern<br />

Schritt 1<br />

Schritt 2<br />

...<br />

Schritt n<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Seite 15


Elementare <strong>Algorithmus</strong>schritte<br />

Formaler Aufbau eines <strong>Algorithmus</strong><br />

ALGORITHMUS Fakultätsberechnung()<br />

Beschreibung<br />

Berechnung der Fakultät von Zahl: Zahl!<br />

Deklaration und Definition der lokalen Größen<br />

Natürliche Zahlen: Fakultät, Zahl, i<br />

<strong>Algorithmus</strong>kern<br />

Einlesen von Zahl<br />

i = 0<br />

Fakultät = 1<br />

WIEDERHOLE<br />

i = i+1<br />

Brückenkurs Informatik WS 12/13<br />

Fakultät = Fakultät * i<br />

SOLANGE (i < Zahl)<br />

Ausgabe von Fakultät<br />

<strong>ENDE</strong> ALGORITHMUS<br />

ALGORITHMUS Name(...)<br />

Beschreibung<br />

...<br />

Deklaration u. Definition<br />

....<br />

Kern<br />

Schritt 1<br />

Schritt 2<br />

...<br />

Schritt n<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Einlesen von Zahl<br />

i = 0<br />

Fakultät = 1<br />

SOLANGE (i < Zahl) FÜHRE AUS<br />

i = i+1<br />

Fakultät = Fakultät *i<br />

<strong>ENDE</strong> SOLANGE<br />

Ausgabe von Fakultät<br />

SOLANGE (………..) FÜHRE AUS<br />

……<br />

<strong>ENDE</strong> SOLANGE<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 16


Elementare <strong>Algorithmus</strong>schritte<br />

Formaler Aufbau eines <strong>Algorithmus</strong><br />

ALGORITHMUS Fakultätsberechnung()<br />

Beschreibung<br />

Berechnung der Fakultät von Zahl: Zahl!<br />

Deklaration und Definition der lokalen Größen<br />

Natürliche Zahlen: Fakultät, Zahl, i<br />

<strong>Algorithmus</strong>kern<br />

Einlesen von Zahl<br />

i = 1<br />

Fakultät = 1<br />

WIEDERHOLE<br />

Fakultät = Fakultät * i<br />

i = i+1<br />

SOLANGE (i


Elementare <strong>Algorithmus</strong>schritte<br />

Formaler Aufbau eines <strong>Algorithmus</strong><br />

ALGORITHMUS Fakultätsberechnung()<br />

Beschreibung<br />

Berechnung der Fakultät von Zahl: Zahl!<br />

Deklaration und Definition der lokalen Größen<br />

Natürliche Zahlen: Fakultät, Zahl, i<br />

<strong>Algorithmus</strong>kern<br />

Einlesen von Zahl<br />

i = 1<br />

Fakultät = 1<br />

WIEDERHOLE<br />

Fakultät = Fakultät * i<br />

i = i+1<br />

SOLANGE (i


Elementare <strong>Algorithmus</strong>schritte<br />

Es gibt folgende Schleifentypen:<br />

• die Solange-Schleife,<br />

• die Wiederhole-Solange-Schleife,<br />

• die Für-bis-Schleife.<br />

Die Stärke der Schleifen liegt darin, einen Prozeß mit<br />

unbestimmter Dauer durch eine endliche Anzahl an<br />

<strong>Algorithmus</strong>schritten zu beschreiben.<br />

Brückenkurs Informatik WS 12/13<br />

1) Basisoperation (Zuweisung)<br />

2) Folge (Sequenzen)<br />

3) Auswahl (Verzweigung,<br />

Selektion)<br />

4) Schleife (Wiederholung)<br />

5) Aufruf (eines <strong>Algorithmus</strong>)<br />

einschließlich rekursiver Aufruf<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 19


Elementare <strong>Algorithmus</strong>schritte<br />

Syntax der Für-bis-Schleife<br />

FÜR i = n 1 BIS n 2 SCHRITTWEITE n 3<br />

<strong>Algorithmus</strong>schritt(e)<br />

<strong>ENDE</strong> FÜR<br />

Hinweise und Regeln:<br />

n 1, n 2, n 3 sind Zahlen.<br />

Wenn die Anzahl der<br />

Schleifendurchläufe vorher<br />

bekannt ist, verwendet man<br />

die Für-bis-Schleife<br />

Brückenkurs Informatik WS 12/13<br />

FÜR i = 1 BIS Zahl SCHRITTWEITE 1<br />

Fakultät = Fakultät*i<br />

<strong>ENDE</strong> FÜR<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 20


Elementare <strong>Algorithmus</strong>schritte<br />

Formaler Aufbau eines <strong>Algorithmus</strong><br />

ALGORITHMUS Fakultätsberechnung()<br />

Beschreibung<br />

Berechnung der Fakultät von Zahl: Zahl!<br />

Deklaration und Definition der lokalen Größen<br />

Natürliche Zahlen: Fakultät, Zahl, i<br />

<strong>Algorithmus</strong>kern<br />

Einlesen von Zahl<br />

i = 1<br />

Fakultät = 1<br />

WIEDERHOLE<br />

<strong>ENDE</strong> FÜR<br />

Fakultät = Fakultät * i<br />

i = i+1<br />

SOLANGE (i


Elementare <strong>Algorithmus</strong>schritte<br />

Zusammenstellung der elementaren <strong>Algorithmus</strong>schritte<br />

1) Basisop. (Zuweisung)<br />

Variable = Ausdruck<br />

2) Folge (Sequenz)<br />

Schritt 1<br />

Schritt 2<br />

...<br />

...<br />

Schritt n<br />

Brückenkurs Informatik WS 12/13<br />

3) Fallunterscheidung<br />

FALLS Bedingung<br />

DANN<br />

Schritt 1<br />

[SONST<br />

Schritt 2]<br />

<strong>ENDE</strong> FALLS<br />

FALLS Selektor<br />

Wert 1: Schritt 1<br />

...<br />

Wert n: Schritt n<br />

SONST: Schritt n+1<br />

<strong>ENDE</strong> FALLS<br />

5) Aufruf von Name(...) mit Übergabe der<br />

Parameter … und Rücknahme der Werte ..<br />

ggf. speichern<br />

4) Schleife<br />

WIEDERHOLE<br />

Schritt(e)<br />

SOLANGE (Abbruch)-<br />

Bedingung<br />

SOLANGE Bedingung FÜHRE AUS<br />

Schritt<br />

<strong>ENDE</strong> SOLANGE<br />

FÜR i = n 1 BIS n 2 SCHRITTWEITE n 3<br />

<strong>ENDE</strong> FÜR<br />

<strong>Algorithmus</strong>schritt(e)<br />

ALGORITHMUS<br />

Name(...)<br />

...<br />

...<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Seite 22


Elementare <strong>Algorithmus</strong>schritte<br />

Zusammenstellung der elementaren <strong>Algorithmus</strong>schritte<br />

1) Basisop. (Zuweisung)<br />

Variable = Ausdruck<br />

2) Folge (Sequenz)<br />

Schritt 1<br />

Schritt 2<br />

...<br />

...<br />

Schritt n<br />

Brückenkurs Informatik WS 12/13<br />

3) Fallunterscheidung<br />

FALLS Bedingung<br />

DANN<br />

Schritt 1<br />

[SONST<br />

Schritt 2]<br />

<strong>ENDE</strong> FALLS<br />

FALLS Selektor<br />

Wert 1: Schritt 1<br />

...<br />

Wert n: Schritt n<br />

[SONST: Schritt n+1]<br />

<strong>ENDE</strong> FALLS<br />

5) Aufruf von Name(...) mit Übergabe der<br />

Parameter … und Rücknahme der Werte ..<br />

ggf. speichern<br />

4) Schleife<br />

WIEDERHOLE<br />

Schritt(e)<br />

SOLANGE (Abbruch)-<br />

Bedingung<br />

SOLANGE Bedingung FÜHRE AUS<br />

Schritt<br />

<strong>ENDE</strong> SOLANGE<br />

FÜR i = n 1 BIS n 2 SCHRITTWEITE n 3<br />

<strong>ENDE</strong> FÜR<br />

<strong>Algorithmus</strong>schritt(e)<br />

ALGORITHMUS<br />

Name(...)<br />

...<br />

...<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Seite 23


Elementare <strong>Algorithmus</strong>schritte<br />

Brückenkurs Informatik WS 12/13<br />

1) Basisoperation (Zuweisung)<br />

2) Folge (Sequenzen)<br />

3) Auswahl (Verzweigung,<br />

Selektion)<br />

4) Schleife (Wiederholung)<br />

5) Aufruf (eines <strong>Algorithmus</strong>)<br />

einschließlich rekursiver Aufruf<br />

Syntax der alternativen Auswahl Ausdrucken mit mehreren des aktuellen Zweigen Monats<br />

FALLS Selektionsausdruck FALLS Monat<br />

Wert 1: Schritt(e) 1 1: Drucke: “Januar“<br />

Wert 2: Schritt(e) 2 2: Drucke: “Februar“<br />

...<br />

...<br />

Wert n: Schritt(e) 12: Drucke: “Dezember“<br />

SONST: Schritt(e), wenn Selektionsausdruck SONST: Drucke: “Wert keinen ist Wert kein Monat“ 1....n hat<br />

<strong>ENDE</strong> FALLS<br />

<strong>ENDE</strong> FALLS<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 24


Elementare <strong>Algorithmus</strong>schritte<br />

Formaler Aufbau eines <strong>Algorithmus</strong><br />

ALGORITHMUS Name(Übernahme-; Rückgabedaten)<br />

Beschreibung<br />

Umgangssprachliche Beschreibung des <strong>Algorithmus</strong>‘<br />

Deklaration und Definition der lokalen Größen<br />

Alle im <strong>Algorithmus</strong> verwendeten Daten (Variablen, Felder und<br />

Konstanten) werden mit ihrem Datentyp definiert. Daten können<br />

weiterhin sein: Eingabe- und Ausgabedaten, Übernahme- und<br />

Rückgabedaten (Parameter).<br />

<strong>Algorithmus</strong>kern<br />

Aktionen des <strong>Algorithmus</strong>, die mit elementaren, standardisierten<br />

Sprachmitteln (elementare <strong>Algorithmus</strong>schritte) beschrieben werden<br />

(operativer Teil des <strong>Algorithmus</strong>). Besonderer Wert sollte auf die<br />

Fehlererkennung und die Generierung von Fehlermeldungen<br />

gelegt werden. Eingabe- und Ausgabeschritte sind ebenfalls<br />

Bestandteil des <strong>Algorithmus</strong>kerns.<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Brückenkurs Informatik WS 12/13<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 25


Elementare <strong>Algorithmus</strong>schritte<br />

Zusammenstellung der elementaren <strong>Algorithmus</strong>schritte<br />

1) Basisop. (Zuweisung)<br />

Variable = Ausdruck<br />

2) Folge (Sequenz)<br />

Schritt 1<br />

Schritt 2<br />

...<br />

...<br />

Schritt n<br />

Brückenkurs Informatik WS 12/13<br />

3) Fallunterscheidung<br />

FALLS Bedingung<br />

DANN<br />

Schritt 1<br />

[SONST<br />

Schritt 2]<br />

<strong>ENDE</strong> FALLS<br />

FALLS Selektor<br />

Wert 1: Schritt 1<br />

...<br />

Wert n: Schritt n<br />

[SONST: Schritt n+1]<br />

<strong>ENDE</strong> FALLS<br />

5) Aufruf von Name(...) mit Übergabe der<br />

Parameter … und Rücknahme der Werte ..<br />

ggf. speichern<br />

4) Schleife<br />

WIEDERHOLE<br />

Schritt(e)<br />

SOLANGE (Abbruch)-<br />

Bedingung<br />

SOLANGE Bedingung FÜHRE AUS<br />

Schritt<br />

<strong>ENDE</strong> SOLANGE<br />

FÜR i = n 1 BIS n 2 SCHRITTWEITE n 3<br />

<strong>ENDE</strong> FÜR<br />

<strong>Algorithmus</strong>schritt(e)<br />

ALGORITHMUS<br />

Name(...)<br />

...<br />

...<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Seite 26


Elementare <strong>Algorithmus</strong>schritte<br />

Formaler Aufbau eines <strong>Algorithmus</strong><br />

ALGORITHMUS Fakultätsberechnung()<br />

Beschreibung<br />

ALGORITHMUS Fakultätsberechnung(Zahl; Fakultät)<br />

Berechnung der Fakultät von Zahl: Zahl!<br />

Deklaration und Definition der lokalen Größen<br />

Natürliche Zahlen: Fakultät, Zahl, i<br />

Übernahmeparameter: keine<br />

Rückgabeparameter: keine<br />

<strong>Algorithmus</strong>kern<br />

Natürliche Zahlen: i<br />

Übernahmeparameter:<br />

Einlesen von Zahl<br />

Natürliche Zahl: Zahl<br />

Rückgabeparameter:<br />

Fakultät = 1<br />

Natürliche Zahl: Fakultät<br />

FÜR i = 1 BIS Zahl SCHRITTWEITE 1<br />

<strong>ENDE</strong> FÜR<br />

Brückenkurs Informatik WS 12/13<br />

Fakultät = Fakultät*i<br />

Ausgabe von Fakultät<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 27


Elementare <strong>Algorithmus</strong>schritte<br />

ALGORITHMUS KoordinationFakultät()<br />

Beschreibung<br />

Einlesen einer Zahl n, Aufruf der<br />

Berechnung der Fakultät und Ausgabe<br />

der Fakultät<br />

Deklaration und Definition der lokalen Größen<br />

Natürliche Zahlen: n, erg<br />

Übernahmeparameter: keine<br />

Rückgabeparameter: keine<br />

<strong>Algorithmus</strong>kern<br />

Einlesen von n<br />

Aufruf von Fakultätsberechnung ()<br />

mit Übergabe von n und Speicherung<br />

des Rücknahmewertes in erg<br />

Ausgabe von erg<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Brückenkurs Informatik WS 12/13<br />

ALGORITHMUS Fakultätsberechnung(Zahl; Fakultät)<br />

Beschreibung<br />

Berechnung der Fakultät von Zahl: Zahl!<br />

Deklaration und Definition der lokalen Größen<br />

Natürliche Zahlen: i<br />

Übernahmeparameter: Natürliche Zahl: Zahl<br />

Rückgabeparameter: Natürliche Zahl: Fakultät<br />

<strong>Algorithmus</strong>kern<br />

Fakultät = 1<br />

FÜR i = 1 BIS Zahl SCHRITTWEITE 1<br />

Fakultät = Fakultät*i<br />

<strong>ENDE</strong> FÜR<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Seite 28


Elementare <strong>Algorithmus</strong>schritte<br />

Verfeinerung von Algorithmen<br />

Grobalgorithmus,<br />

Stufe 1<br />

<strong>Algorithmus</strong>schritt 1<br />

<strong>Algorithmus</strong>schritt 2<br />

<strong>Algorithmus</strong>schritt 3<br />

Brückenkurs Informatik WS 12/13<br />

Verfeinerter<br />

<strong>Algorithmus</strong>,<br />

Stufe 2<br />

<strong>Algorithmus</strong>schritt 2.1<br />

<strong>Algorithmus</strong>schritt 2.2<br />

<strong>Algorithmus</strong>schritt 2.3<br />

<strong>Algorithmus</strong>schritt<br />

2.4<br />

<strong>Algorithmus</strong>schritt<br />

2.5<br />

<strong>Algorithmus</strong>schritt 2.6<br />

1) Basisoperation (Zuweisung)<br />

2) Folge (Sequenzen)<br />

3) Auswahl (Verzweigung, Selektion)<br />

4) Schleife (Wiederholung)<br />

5) Aufruf (eines <strong>Algorithmus</strong>)<br />

einschließlich rekursiver Aufruf<br />

Verfeinerter<br />

<strong>Algorithmus</strong>,<br />

Stufe 3<br />

<strong>Algorithmus</strong>schritt 2.5.1<br />

<strong>Algorithmus</strong>schritt 2.5.2<br />

<strong>Algorithmus</strong>schritt<br />

2.5.3<br />

<strong>Algorithmus</strong>schritt 2.5.4<br />

Prinzipien zum Entwurf von Algorithmen<br />

...<br />

Seite 29


Elementare <strong>Algorithmus</strong>schritte<br />

Zusammenstellung der elementaren <strong>Algorithmus</strong>schritte<br />

1) Basisop. (Zuweisung)<br />

Variable = Ausdruck<br />

2) Folge (Sequenz)<br />

Schritt 1<br />

Schritt 2<br />

...<br />

...<br />

Schritt n<br />

Brückenkurs Informatik WS 12/13<br />

3) Fallunterscheidung<br />

FALLS Bedingung<br />

DANN<br />

Schritt 1<br />

[SONST<br />

Schritt 2]<br />

<strong>ENDE</strong> FALLS<br />

FALLS Selektor<br />

Wert 1: Schritt 1<br />

...<br />

Wert n: Schritt n<br />

[SONST: Schritt n+1]<br />

<strong>ENDE</strong> FALLS<br />

5) Aufruf von Name(...) mit Übergabe der<br />

Parameter … und Rücknahme der Werte ..<br />

ggf. speichern<br />

4) Schleife<br />

WIEDERHOLE<br />

Schritt(e)<br />

SOLANGE (Abbruch)-<br />

Bedingung<br />

SOLANGE Bedingung FÜHRE AUS<br />

Schritt<br />

<strong>ENDE</strong> SOLANGE<br />

FÜR i = n 1 BIS n 2 SCHRITTWEITE n 3<br />

<strong>ENDE</strong> FÜR<br />

Prinzipien zum Entwurf von Algorithmen<br />

<strong>Algorithmus</strong>schritt(e)<br />

ALGORITHMUS<br />

Name(...)<br />

...<br />

...<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Seite 30


Vom Problem zum <strong>Algorithmus</strong><br />

Brückenkurs Informatik WS 12/13<br />

Jetzt sind Sie dran<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 31


<strong>Algorithmus</strong>: Mittelwert Berechnen<br />

Schwierigkeitsstufe 1:<br />

Schreiben Sie einen <strong>Algorithmus</strong>, der den Mittelwert aus vier<br />

einzulesenden Zahlen (w, x, y, z) ermittelt und ausgibt.<br />

Mittelwert(w, x, y, z) :=<br />

Schwierigkeitsstufe 2:<br />

Mittelwert aus 4 Zahlen - Bitte verwenden Sie bei der Entwicklung des<br />

<strong>Algorithmus</strong> eine Schleife.<br />

Bitte beachten Sie, dass wir noch keine Arrays kennengelernt haben!<br />

Das Aufsummieren muss direkt nach der Eingabe eines Wertes innerhalb<br />

der Schleife erfolgen.<br />

Schwierigkeitsstufe 3, 4:<br />

Mittelwert aus n (beliebig vielen) Zahlen<br />

Brückenkurs Informatik WS 12/13<br />

+ + + <br />

4<br />

Entwurf von Algorithmen<br />

Seite 32


<strong>Algorithmus</strong>: Mittelwert Berechnen<br />

ALGORITHMUS Mittelwert1()<br />

Beschreibung<br />

s. Aufgabenstellung der Schwierigkeitsstufe 1<br />

Daten<br />

Übernahmeparameter: -<br />

Rückgabeparameter: -<br />

Zahlen: w, x, y, z, summe<br />

Kern-(<strong>Algorithmus</strong>)<br />

Einlesen von w<br />

Einlesen von x<br />

Einlesen von y<br />

Einlesen von z<br />

summe = w + x + y + z<br />

Ausgabe von summe/4<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Brückenkurs Informatik WS 12/13<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 33


<strong>Algorithmus</strong>: Mittelwert Berechnen<br />

ALGORITHMUS Mittelwert2()<br />

Beschreibung<br />

Ermittlung und Ausgabe des Mittelwertes einer Zahlenfolge<br />

Daten<br />

Zahlen: zahl, summe<br />

positive ganze Zahl : i<br />

Kern-(<strong>Algorithmus</strong>)<br />

Ausgabe “Mittelwert-Berechnung“<br />

summe= 0<br />

i = 1<br />

SOLANGE (i ≤ 4) FÜHRE AUS<br />

Einlesen von zahl<br />

summe = summe + zahl<br />

i = i+1<br />

<strong>ENDE</strong> SOLANGE<br />

Ausgabe von summe/4<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Brückenkurs Informatik WS 12/13<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 34


<strong>Algorithmus</strong>: Mittelwert Berechnen<br />

ALGORITHMUS Mittelwert3()<br />

Beschreibung<br />

s. Aufgabenstellung der Schwierigkeitsstufe 3<br />

Daten<br />

Übernahmeparameter: -<br />

Rückgabeparameter: -<br />

Zahlen: zahl, summe, n<br />

positive ganze Zahlen: i<br />

Kern-(<strong>Algorithmus</strong>)<br />

summe = 0<br />

i = 1<br />

Einlesen von n<br />

FALLS (n


<strong>Algorithmus</strong>: Mittelwert Berechnen<br />

ALGORITHMUS Mittelwert4()<br />

Beschreibung<br />

S. Aufgabenstellung Schwierigkeitsstufe 4<br />

Daten<br />

Zahlen: zahl, summe, mw<br />

positive ganze Zahl: anzahl<br />

Kern-(<strong>Algorithmus</strong>)<br />

summe= 0<br />

anzahl = 0<br />

Drucke " Zahl? : negativer Zahl bedeutet Abbruch"<br />

Einlesen zahl<br />

SOLANGE (zahl >= 0) FÜHRE AUS<br />

summe = summe + zahl<br />

anzahl = anzahl +1<br />

Drucke "Zahl?"<br />

Einlesen Zahl<br />

<strong>ENDE</strong> SOLANGE<br />

FALLS (anzahl =0) DANN<br />

Ausgabe "Kein Wert eingegeben"<br />

SONST<br />

Ausgabe von summe/anzahl<br />

<strong>ENDE</strong> FALLS<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Brückenkurs Informatik WS 12/13<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 36


<strong>Algorithmus</strong>: Mittelwert Berechnen<br />

ALGORITHMUS Mittelwert2()<br />

Beschreibung<br />

Ermittlung und Ausgabe des Mittelwertes einer Zahlenfolge<br />

Daten<br />

Zahlen: zahl, summe<br />

positive ganze Zahl : i<br />

Kern-(<strong>Algorithmus</strong>)<br />

Ausgabe “Mittelwert-Berechnung“<br />

summe= 0<br />

i = 1<br />

SOLANGE (i ≤ 4) FÜHRE AUS<br />

Einlesen von zahl<br />

summe = summe + zahl<br />

i = i+1<br />

<strong>ENDE</strong> SOLANGE<br />

Ausgabe von summe/4<br />

<strong>ENDE</strong> ALGORITHMUS<br />

Brückenkurs Informatik WS 12/13<br />

Übernahmeparameter: -<br />

Rückgabeparameter: -<br />

Prinzipien zum Entwurf von Algorithmen<br />

Seite 37

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!