Unterprogramm

"Willst du wahre Übersicht, spar' an Prozeduren  nicht." Bei größeren Scratchprogrammen verliert man sehr schnell die Übersicht. Deshalb haben sich in der Programmentwicklung zwei Ansätze herausgebildet: Top-Down und Bottom-Up. Bei Top-Down beginnt man mit einem Überblick über das zu erstellende Programm und teilt dies in kleinere Module auf. Jedes Modul wird wiederum weiter analysiert oder ggf. wieder in kleinere Module aufgeteilt, bis eine komplette, detaillierte Spezifikation vorliegt. Bei der Top-Down-Methode liegt der Schwerpunkt auf Planung und Verständnis
des Systems. Code kann erst geschrieben werden, wenn das System detailliert genug geplant ist.
Bei Bottom-Up fängt man mit einzelnen Programmbestandteilen an, die eventuell bereits vorhanden sind oder noch geschrieben werden müssen. Aus den einzelnen Bestandteilen werden größere Module zusammengesetzt, bis das vollständige System erstellt ist. Bei der Bottom-Up-Methode kann man im Gegensatz zur Top-Down-Methoden schnell mit der Programmierung beginnen; sie beinhaltet aber auch das Risiko, dass das Programm nicht richtig durchdacht und übersichtlich ist. In der modernen Softwaretechnik werden meist beide Designtechniken kombiniert angewandt.

Unterprogramme werden oftmals dort eingesetzt, wobei den bestimmte Verarbeitungsverfahren (V aus EVA) mehrfach benötigt werden. In Scratch werden Unterprogramme als neue Blöcke definiert. Dabei können vom aufrufenden Programm Variablen übergeben werden. Eine Rückgabe von Werten wie man dies bei anderen Programmiersprachen kennt, ist nicht möglich. Dies ist nur durch eine entsprechende globale Variablendeklaration möglich.

In diesem etwas komplexeren Beispiel sollen zwei Brüche addiert werden und das gekürzte Ergebnis ausgegeben werden.

Die Analyse des algorithmischen Geschehens ergibt folgende Schritte:

Im zweiten Schritt werden die Teilalgorithmen festgelegt:

Im dritten Schritt werden die Variablen definiert:

4. Schritt: Ausformulierung der Teilalgorithmen

5. Schritt: Das Hauptprogramm erstellen