Algorithmusbegriff
Einführung in die Programmierung
Auch heute kann man noch nicht in natürlicher Sprache mit einem dem Computer kommunizieren, deshalb wurden im Laufe der Jahre verschiedene Programmiersprachen entwickelt.
Die Entwicklung einer Programmiersprache gehört zur theoretischen Informatik. In Abgrenzung zur natürlichen Sprache und auch zu den Programmiersprachen befassen sich formale Sprachen mit deren „Aufbau“ – Satzbau.
Der Unterschied zwischen gesprochenen Sprachen und Programmiersprachen liegt darin, dass die Worte einer Programmiersprache nur eine Bedeutung zulassen, während der Sinngehalt mancher Worte der Umgangssprache erst aus dem Kontext heraus deutlich werden kann.
Ein Rechner benötigt aber stets eindeutig formulierte Anweisungen zur Bearbeitung - Algorithmus:
Algorithmus - wichtige Eigenschaften:
- Allgemeingültig
- determiniert
- Effizient
- Endlich – terminiert
Untersuche, ob folgende Probleme mit einem Algorithmus gelöst werden können:
| Beispiel | Endlich | Eindeutig | Wiederholbar | Allgemeingültig | Algorthimus |
| Subtraktion zweier natürlicher Zahlen | |||||
| Frühstücksei kochen | |||||
| Fortgesetztes Verdoppeln der Zahl 17 | |||||
| Winkelhalbierende konstruieren | |||||
| Gepäckstück in Automaten einschließen | |||||
| Komponieren des Sommerhits des Jahres | |||||
| Plan für Medikamenteneinnahme | |||||
| Eigenes Beispiel für Algorithmus | |||||
| Eigenes Beispiel für keinen Algorithmus |
Im Gegensatz zur theoretischen befasst sich die praktische Informatik mit der Formulierung von Algorithmen als Programm – diese müssen in Maschinen-sprache übersetzt werden.
Möglichkeiten der Übersetzung von Quelltexten einer Programmierumgebung in Maschinensprache: Interpreter: • Programm wird zeilenweise abgearbeitet • Bei Neustart ist immer neue zeilenweise Übersetzung notwendig • Programme laufen langsamer, z.B. Javascript, Basic, Robot Karol
Compiler: • Programm wird komplett übersetzt (es entsteht eine startbare EXE-Datei) • Kompilierte Programme laufen 10 bis 20 schneller als interpretierte Programme, z.B. Delphi, C++