Inf1-Skript4 - 46 Teil II Grundlagen der Programmierung 4...

Info iconThis preview shows pages 1–4. Sign up to view the full content.

View Full Document Right Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon

Info iconThis preview has intentionally blurred sections. Sign up to view the full version.

View Full DocumentRight Arrow Icon
This is the end of the preview. Sign up to access the rest of the document.

Unformatted text preview: 46 Teil II Grundlagen der Programmierung 4 Vom Problem zum Programm 47 4 Vom Problem zum Programm Problem Kreativit¨at, Intuition L¨osungsidee Denkschweiß Algorithmus Programmierung Programm automatisch Maschinelle Ausf¨uhrung Eine idealisierte Vorgehensweise sieht wie folgt aus: 1. Saubere, formale Erfassung der Problemstellung = ⇒ Nebenbedingungen, Sonderf¨ alle, Ein- und Ausgabeformat ...sind zu be- achten! 2. Analyse der Problemstellung = ⇒ Gibt es ¨ ahnliche, gel¨ oste Probleme? Ist eine Aufteilung in Teilprobleme m¨ oglich? 3. Entwurf eines L¨osungsverfahrens ( Algorithmus ). 4. Nachweis der Korrektheit . 5. Analyse der Effizienz und Komplexit¨at . 6. Implementierung (Programmierung). 7. Test und Fehlerbeseitigung . 8. Dokumentation . In der Praxis sieht es aber oft anders aus: • Bei Problemen wird oft zu vorherigen Phasen zur¨uckgegangen. • Das System wird durch eine schnell erstellte ” Vorabversion “ ( Prototyp ) imple- mentiert, die schrittweise verbessert wird. • Die einzelnen Phasen werden oft nicht sauber getrennt, sondern laufen neben- einander . 4.1 Der Algorithmusbegriff 48 • Zus¨ atzliche organisatorische Maßnahmen (Projektmanagement, Qualit¨ atssi- cherung, aber auch Ressourcen-Probleme). • Nicht alle Probleme sind ¨uberhaupt l¨osbar . • Es gibt nicht immer eine ” ideale“ oder auch nur ” gute“ L¨ osung. • Der Nachweis der Korrektheit erfolgt oft durch ” Plausibilit¨at “. 4.1 Der Algorithmusbegriff Ein entscheidender Schritt bei der oben skizzierten Vorgehensweise ist die Entwick- lung geeigneter Algorithmen. Doch was ist ein Algorithmus eigentlich? Der Name ” Algorithmus“ leitet sich aus dem Namen des persischen Mathematikers und Astronoms Abu Ja‘far Mohammed ibn Mˆusˆ a al-Khwˆ arismˆ ı ab, der bereits im 9. Jahrhundert ein ” Buch ¨uber die Regeln der Wiedereinsetzung und Reduktion“ schrieb ( Kitab al jabr w‘almuqabala ). Unter einem Algorithmus versteht man eine Verarbeitungsvorschrift, die so pr¨ azise formuliert ist, daß sie von einem mechanisch oder elektronisch arbeitenden Ger¨ at durchgef¨uhrt werden kann. Aus der Pr¨ azision der sprachlichen Darstellung des Algorithmus muß die Abfolge der einzelnen Verar- beitungsschritte eindeutig hervorgehen. Hierbei sind Wahlm¨ oglichkeiten zugelassen. Nur muß dann genau festliegen, wie die Auswahl einer M¨ oglichkeit erfolgen soll. Beispiele f¨ur Algorithmen sind Vorschriften zum Addieren, Subtrahieren oder Mul- tiplizieren von Zahlen, der euklidische Algorithmus zur Berechnung des gr¨ oßten ge- meinsamen Teilers und alle in einer Programmiersprache formulierten Verfahren. Beispiel 4.1 Euklidischer Algorithmus zur Bestimmung des ggT zweier nat¨urlicher Zahlen a und b . Das Verfahren wurde um 300 v. Chr. von Euklid in seinem Werk ” Elemente“ beschrieben....
View Full Document

Page1 / 12

Inf1-Skript4 - 46 Teil II Grundlagen der Programmierung 4...

This preview shows document pages 1 - 4. Sign up to view the full document.

View Full Document Right Arrow Icon
Ask a homework question - tutors are online