Die Schülerinnen und Schüler können selbstentwickelte Algorithmen in Form von lauffähigen und korrekten Computerprogrammen mit Variablen und Unterprogrammen formulieren.

Dieses Lernziel baut auf den Lernzielen MI.2.2 c bis MI.2.2 g auf. Die Schülerinnen und Schüler haben bis jetzt gelernt, was Schleifen, bedingte Anweisungen und Parameter sind. Sie können durch dieses Wissen selbstentdeckte Lösungswege in lauffähigen Programmen implementieren. Neue Stichworte dieses Lernziels sind Algorithmen und Unterprogramme.

Was ist ein Algorithmus?

Ein Algorithmus ist eine Folge von Anweisungen, mit der ein bestimmtes Problem gelöst werden kann. Ein Algorithmus besteht aus endlich vielen Anweisungen, die eindeutig sind, dies bedeutet nicht, dass es nur eine Lösung gibt wie man ein bestimmtes Problem lösen kann, sondern dass der Algorithmus auf eine eindeutige Art funktioniert (Ein Algorithmus ist nicht doppeldeutig).

Algorithmus von Prim um den kürzesten Weg zu finden

Was ist ein Unterprogramm?

Durch in Unterprogramm in einem Computerprogramm wird eine bestimmte Funktionalität bereitgestellt, welche vom Hauptprgramm oder anderen Unterprogrammen aufgerufen werden kann. Ein grosser Vorteil dieser Entkapselung von gewissen Funktionen ist die Wiederverwendbarkeit. Wieso sollte man auch den selben Code noch einmal schreiben, wenn man ihn einfach an verschiedenen Orten aufrufen kann. Durch solche Unterprogramme erhöht man auch die Verständlichkeit des Codes.

Unterprogramme in Scratch

In Scratch werden Unterprogramme mit den Weiteren Blöcken erstellt und verwendet. Man spricht auch von benutzerdefinierten Blöcken. Hier ist eine Übersicht wie Unterprogramme in Scratch umgesetzt werden können: Scratch Unterprogramme

Übung mit Scratch

Damit die Schülerinnen und Schüler verstehen, wie sie solche Unterprogramme implementieren kann man ihnen den Auftrag geben die Theorie von Scratch Unterprogramme durchzulesen. Danach können sich die Schülerinnen und Schüler eine Funktion überlegen, welche in einem Programm mehrmals an verschiedenen Orten benötigt wird. Ein Beispiel dafür wäre, dass man in einem Programm verschiedene Charaktere hat und diese bei einem gewissen Ereignis alle darauf reagieren. Es kann sein, dass alle Charaktere gleich reagieren, es kann aber auch sein, dass jeder auf seine eigene Art und Weise reagiert. Dies kann gut mit Unterprogrammen umgesetzt werden.

Solche Unterprogramme können als neue Funktion in bereits bestehenden Programmen integriert werden oder man kann natürlich ein komplett neues, lauffähiges Programm mit dieser Theorie implementieren.

Quellen: https://de.wikipedia.org/wiki/Unterprogramm, https://de.wikipedia.org/wiki/Algorithmus, https://praxistipps.chip.de/was-ist-ein-algorithmus-einfach-erklaert_41355, https://scratch-dach.info/wiki/Unterprogramme, https://scratch-dach.info/wiki/Blockfarbe_violett_%3D_Weitere_Bl%C3%B6cke