Fachkonzept - Problem/Algorithmus/Programm
Problembeschreibung
Vor jeder Problembearbeitung sollte das zu lösende Problem möglichst klar beschrieben werden.
Wir benutzen hier ein Verfahren zur Problembeschreibung, das in vielen Bereichen der Informatik angewandt wird. Wir beschreiben ein Problem mit Hilfe der Zustände, die das betrachtete System (hier die Scratchwelt) vor und nach der Problembearbeitung einnehmen soll.
Zur Darstellung der Zustände benutzen wir häufig Bilder mit den entsprechenden Problemsituationen.
Beispiel 1 - vorher: gelber Fisch mit Ball irgendwo im Aquarium / nachher: gelber Fisch berührt den Ball
Beispiel 2 - vorher: gelber Fisch mit Ball irgendwo im Aquarium / nachher: gelber Fisch berührt den Ball
Die zu bearbeitenden Probleme sind meist allgemein in dem Sinne, dass viele konkrete Problemsituationen möglich sind. Im oben dargestellten Beispiel sind viele verschiedene Anordnungen des gelben Fischs und des Balls denkbar. Häufig deuten wir den allgemeinen Charakter eines Problems dadurch an, dass wir mehrere unterschiedliche Problemsituationen wiedergeben.
Fachkonzept - Algorithmus
In der Informatik versucht man, Probleme automatisiert zu lösen.
Ein Algorithmus ist eine Verarbeitungsvorschrift zur Lösung eines Problems, die so präzise formuliert ist, dass sie (zumindest im Prinzip) auch von einer Maschine abgearbeitet werden kann.
Beispiel: Algorithmus "Blindekuh"
wiederhole bis der Rand oder der Ball berührt wird: schwimme 10 Einheiten nach unten wenn der Rand berührt wird: schwimme 10 Einheiten nach oben drehe dich nach links wiederhole bis der Rand oder der Ball berührt wird: schwimme 10 Einheiten nach vorne wenn der Rand berührt wird: drehe dich nach rechts schwimme 20 Einheiten nach vorne wiederhole bis der Rand oder der Ball berührt wird: wenn der Ball nicht berührt wird: wiederhole bis der Rand oder der Ball berührt wird: schwimme 10 Einheiten nach vorne wenn der Rand berührt wird: schwimme 10 Einheiten nach oben drehe dich nach links schwimme 20 Einheiten nach vorne wiederhole bis der Rand oder der Ball berührt wird: schwimme 10 Einheiten nach vorne wenn der Rand berührt wird: schwimme 10 Einheiten nach oben drehe dich nach rechts schwimme 20 Einheiten nach vorne
Wenn ein Problem automatisiert gelöst werden soll, dann müssen die Verarbeitungsschritte genau festgelegt werden. Algorithmen als präzise Lösungsbeschreibungen können in einer Programmiersprache (wie z. B. Scratch) verfasst werden. Das hat den Vorteil, dass man sie direkt testen kann. Bei komplexeren Problemstellungen werden sie jedoch meist programmiersprachenunanbhängig dargestellt. Das wiederum hat den Vorteil, dass die Idee der Lösung stärker betont werden kann und dass man keine Rücksicht auf die Besonderheiten der Programmiersprache nehmen muss.
Mehr zum Thema Algorithmus
findest du im Kapitel
Algorithmen
Fachkonzept - Programm
Algorithmen kann man auf unterschiedliche Weise darstellen. Oben wurde eine halbformale Beschreibung benutzt, die zwar den Ablauf klar beschreibt, die aber von Sratch nicht ausgeführt werden kann, da sie nicht die vom Sratch-System vorgeschriebenen Kacheln benutzt.
Ein Programm ist ein Algorithmus zur Lösung eines Problems, der in einer vorgegebenen Programmiersprache verfasst ist.
Beispiel: Ein Ausschnitt aus dem Programm "Blindekuh"