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

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

View Full Document Right Arrow Icon
46 Teil II Grundlagen der Programmierung
Image of page 1

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

View Full Document Right Arrow Icon
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 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 .
Image of page 2
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.
Image of page 3

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

View Full Document Right Arrow Icon
Image of page 4
This is the end of the preview. Sign up to access the rest of the document.
  • Spring '09
  • Kutrib
  • Algorithmus schrittweise nachvollzieht, guten Algorithmen bzw, endlichen Zeichenketten uber, Problems erfolgt uber, Algorithmus eigentlich, Algorithmus versteht

{[ snackBarMessage ]}

What students are saying

  • Left Quote Icon

    As a current student on this bumpy collegiate pathway, I stumbled upon Course Hero, where I can find study resources for nearly all my courses, get online help from tutors 24/7, and even share my old projects, papers, and lecture notes with other students.

    Student Picture

    Kiran Temple University Fox School of Business ‘17, Course Hero Intern

  • Left Quote Icon

    I cannot even describe how much Course Hero helped me this summer. It’s truly become something I can always rely on and help me. In the end, I was not only able to survive summer classes, but I was able to thrive thanks to Course Hero.

    Student Picture

    Dana University of Pennsylvania ‘17, Course Hero Intern

  • Left Quote Icon

    The ability to access any university’s resources through Course Hero proved invaluable in my case. I was behind on Tulane coursework and actually used UCLA’s materials to help me move forward and get everything together on time.

    Student Picture

    Jill Tulane University ‘16, Course Hero Intern