{{tag>Algorithmierung Algorithmus Struktogramm Programmablaufplan PAP}} ====== Algorithmierung: Verbale Darstellungsformen ====== ===== Verbale Darstellungsformen von Algorithmen ===== **Informiere** dich in der folgenden Übersicht über die verschiedenen Darstellungsformen von Algorithmen. === umgangsprachlich (Fließtext, strukturiert) === >Umgangssprachlich formulierte Algorithmen versuchen, die Idee eines Algorithmus zu beschreiben, ohne strenge Formalien in der Darstellung zu beachten.(([[https://www.inf-schule.de/algorithmen/algorithmen/algorithmusbegriff/exkurs_darstellung|inf-schule.de: umgangssprachliche Darstellungsform]])) === Pseudocode === >Häufig formuliert man Algorithmen auch in einer Sprache, die sich stark an gängige Programmiersprachen anleht, ohne alle Vorgaben der Programmiersprache strikt zu beachten.(([[https://www.inf-schule.de/algorithmen/algorithmen/algorithmusbegriff/exkurs_darstellung|inf-schule.de: Pseudocode]])) Beispiel: Ein Quiz-Spiel in Pseudocode(([[https://scratch-dach.info/wiki/Pseudocode|Pseudocode Quiz-Spiel]])) WENN Programm beginnt: WIEDERHOLE 10 mal: stelle eine Zufallsfrage warte auf Antwort FALLS Antwort richtig DANN: bestätige Antwort gebe einen Punkt ANSONSTEN: nenne richtige Antwort beende das Programm === Programmcode === >Als Programmcode werden die Anweisungen bezeichnet, die [...] für ein bestimmtes Computerprogramm [...] entstehen und [in einer bestimmten Programmiersprache geschrieben sind]. (([[https://de.wikipedia.org/wiki/Programmcode|Wikipedia - Programmcode]])) Beispiel: Eine Funktion in der Sprache Python, welche die Fakultät einer natürlichen Zahl berechnet def fak(n): if n==0: return 1 else: return n * fak(n-1) n = int(input("n = ")) print("fak(n) = ", fak(n)) ===== Kontrollstrukturen ===== **Informiere** dich in der folgenden Übersicht über die 3 grundlegenden Kontrollstrukturen für Algorithmen. === Sequenz === Die Sequenz ist die einfachste Form seine Programmanweisungen zu steuern. In einer Sequenz werden mehrere Anweisungen hintereinander ausgeführt, z.B. so: Zahnbürste aus Becher nehmen Zahnbürste anfeuchten Zahnpaste auf Zahnbürste auftragen Zähne putzen ... === Verzweigung === In einer Verzweigung sind nach Prüfung einer Bedingung zwei unterschiedliche Programmabläufe möglich. Welche der beiden Programmabläufe eintritt, wird danach entschieden, ob die Bedingung erfüllt ist oder nicht, z.B.: WENN es draußen regnet DANN: ziehe Gummistiefel an packe Regenschirm ein ANSONSTEN: ziehe Turnschuhe an setze Sonnenhut auf //Beachte die unterschiedliche Einrückung der Anweisungen (Zeilen). Damit können Programmteile übersichtlicher voneinander getrennt werden. In einigen Programmiersprachen ist eine korrekte Einrückung Pflicht - bei Fehlern kann das Programm nicht ausgeführt werden.// === Schleife (Zyklus) === In einer Schleife können Anweisungen wiederholt ausgeführt werden. Es gibt verschiedene Arten von Schleifen, z.B. kann die Ausführung der Wiederholung an eine Bedingung geknüpft sein: SOLANGE du Durst hast TUE: trinke einen Schluck Wasser Oder die Wiederholungen sind von Anfang an auf eine bestimmte Anzahl beschränkt: WIEDERHOLE 100 mal: gehe in die Hocke führe einen Strecksprung aus **Notiere** dir einen Algorithmus zur Lösung deines Problems "Ich erstelle meinen Wochenlernplan aus den LernSax-Lernplänen".\\ \\ Schreibe dein Vorgehen in der Darstellungsform Pseudocode.\\ Beachte die Großschreibung von Kontrollanweisungen.