Was ist Programmieren Ein Computerprogramm hat einiges gemeinsam

  • Slides: 12
Download presentation
Was ist „Programmieren“?

Was ist „Programmieren“?

Ein Computerprogramm hat einiges gemeinsam mit einem Muffinrezept

Ein Computerprogramm hat einiges gemeinsam mit einem Muffinrezept

Muffins Zutaten für neun Muffins: • • • 200 g Butter 200 g Zucker

Muffins Zutaten für neun Muffins: • • • 200 g Butter 200 g Zucker Vier Eine Packung Backpulver Eine Packung Vanillezucker 250 g Mehl Drei Esslöffel Rum Drei geschälte und klein geschnittene Äpfel oder 100 g Schokostückchen Puderzucker Zubereitung: • • • Verrühre Butter, Zucker, Eier, Backpulver, Vanillezucker, Mehl und Rum. Füge Apfelstückchen oder Schokostückchen hinzu. Fülle den Teig in Muffinförmchen und bei 175° bis 200° etwa 20 Minuten backen. Gib Puderzucker auf die fertigen Muffins.

Vergleich Rezept - Programm Ein Rezept besteht aus: Ein Computerprogramm besteht aus: • Zutaten

Vergleich Rezept - Programm Ein Rezept besteht aus: Ein Computerprogramm besteht aus: • Zutaten • Daten • Anweisungen z. B. Eingabe- und Ausgabegrößen (auch Algorithmus genannt)

Was ist das – ein Algorithmus? Algorithmen haben nichts mit Musik zu tun. Der

Was ist das – ein Algorithmus? Algorithmen haben nichts mit Musik zu tun. Der Ausdruck „Algorithmus“ ist die latinisierte Fassung des Namens Al-Khowarizmi. So hieß ein bedeutender persischer Gelehrter aus dem 9. Jahrhundert. Al-Khowarizmi (ca. 780 bis ca. 840) Ein Algorithmus ist eine Folge von Anweisungen, mit denen man ein Problem lösen kann. Alltägliches Beispiele für Algorithmen außer Kochrezepten sind: - Das Einpacken, Frankieren und Einwerfen eines Briefes - Telefonieren -

Beispiel für einen Algorithmus aus der Mathematik: Problem: Der euklidische Algorithmus Zu zwei gegebenen

Beispiel für einen Algorithmus aus der Mathematik: Problem: Der euklidische Algorithmus Zu zwei gegebenen natürlichen Zahlen soll der größte gemeinsame Teiler (gg. T) bestimmt werden. Daten: Eingabe: zwei natürliche Zahlen a und b Ausgabe: eine natürliche Zahl Euklid (ca. 365 bis ca. 300 v. Chr. ) 1. Teile a durch b. Euklidischer 2. Geht die Division auf, so ist b der gg. T. Algorithmus: 3. Geht die Division nicht auf, so bleibt ein Rest r. Ersetze a durch b und b durch r und wiederhole Schritt 1. Beispiel: a=28, b=24 Beispiel: a=39, b=17 28: 24=1 Rest 4 39: 17=2 Rest 5 24: 4=6 Rest 0 17: 5=3 Rest 2 Also gg. T(28; 24)=4 5: 2=2 Rest 1 2: 1=2 Rest 0 Also gg. T(39; 17)=1

Bestimme mit dem euklidischen Algorithmus: gg. T(360, 135)= 45 gg. T(117, 45)= 9 gg.

Bestimme mit dem euklidischen Algorithmus: gg. T(360, 135)= 45 gg. T(117, 45)= 9 gg. T(111, 50)= 1 Euklidischer 1. Teile a durch b. Algorithmus: 2. Geht die Division auf, so ist b der gg. T. 3. Geht die Division nicht auf, so bleibt ein Rest r. Ersetze a durch b und b durch r und wiederhole Schritt 1.

Aufgabe: Für eine natürliche Zahl n soll die Fakultät n! berechnet werden. Entwirf einen

Aufgabe: Für eine natürliche Zahl n soll die Fakultät n! berechnet werden. Entwirf einen Algorithmus. Lösung: Daten: Eingabe: natürliche Zahl n Ausgabe: n! Zähler i, Zwischenergebnis z Algorithmus: 1. Setze i auf den Wert 1 2. Setze z auf den Wert 1 3. Wenn i>=n, dann gib z aus und höre auf. 4. Erhöhe i um 1. 5. Setze z auf z mal i. 6. Gehe zu 3.

Der Algorithmus als Blockdiagramm

Der Algorithmus als Blockdiagramm

Aufgabe: Erstelle ein Blockdiagramm des euklidischen Algorithmus. Zum Algorithmus

Aufgabe: Erstelle ein Blockdiagramm des euklidischen Algorithmus. Zum Algorithmus

Aufgabe Gegeben ist eine lineare Gleichung ax+b=0 mit beliebigen reellen Koeffizienten a und b.

Aufgabe Gegeben ist eine lineare Gleichung ax+b=0 mit beliebigen reellen Koeffizienten a und b. Entwirf einen Algorithmus, der nach Eingabe von a und b die Lösungsmenge ausgibt.

Zusammenfassung: Was ist Programmieren? Problem Genau formuliertes Problem K (z. B. welche Ein- und

Zusammenfassung: Was ist Programmieren? Problem Genau formuliertes Problem K (z. B. welche Ein- und Ausgabegrößen)re Pr at M oze i v e en s r sc s d h e es Algorithmus (z. B. als Struktogramm) n Programm (in einer Programmiersprache) Maschinenspracheprogramm Maschine Ausführung durch Prozessor