Denken in Programmcode

Was ist Programmieren?

Programmieren bedeutet, Aufgabenstellungen zu lösen. Fast immer wird dabei ein Gesamtproblem in kleine Teilprobleme zerlegt, die Schritt für Schritt abgearbeitet werden. Kernbegriffe hierfür sind Prozeduren und Variablen.

Ein abstraktes Beispiel (ohne Programmcode):

Betrachten wir die Aufgabenstellung „Kuchen backen“ . Wir haben hierfür ein Kochrezept und benötigen eine Reihe von Zutaten:

  • 1/4L Milch
  • 250g Mehl
  • 3 Eier
  • 250g Zucker
  • 150g Butter

Das Kochrezept sieht wiefolgt aus:

  1. Verrühre Butter, Eier und Zucker. Gib die resultierende Masse in einen Topf.
  2. Vermenge die Masse im Topf mit der Milch und dem Mehl. Gib das Ergebnis dieser Masse in eine Backform
  3. Backe die Masse in der Form bei 180°
  4. Warte 45 Minuten. Nimm die Form aus dem Backrohr und stürze den Kuchen heraus.

Analyse

Wir können im Rezept mehrere Dinge identifizieren

  • Zutaten
  • Vorgänge

Vorgänge benötigen meistens Zutaten, um durchgeführt werden zu können. Oft sind die Ergebnisse von Vorgängen ein Produkt, dass in weiteren Schritten verwendet wird. So kommen wir in dieser Aufgabe „Kuchen backen“ von einzelnen Zutaten zu einem fertigen Kuchen.

Terminologie für das Programmieren

Das oben formulierte Rezept ist eine Abfolge von Anweisungen, die in einer vorgegebenen Reihenfolge abgearbeitet werden. Ein Konzept, um eine Aufgabenstellung zu lösen nennt man Algorithmus.

Das Kochrezept oben ist in einer für Menschen verständlichen Sprache verfasst. Um einen Algorithmus auf einem Computer ausführen zu können benötigen wir Programmiersprachen. In der Informatik werden die Zutaten als variable oder konstante Daten (Variablen, Konstanten) bezeichnet. Die Vorgänge werden z.B. als Prozedur, Methode oder Funktion bezeichnet.

Das Rezept als Programmcode

Das oben genannte Rezept wird nun in einer Pseudo-Programmiersprache aufgeschrieben:

Analyse

In der ersten Zeile benennen wir eine Prozedur mit dem Namen kuchenBacken.  Diese Prozedur definiert einen Block an Programmcode, der mit geschwungenen Klammern { } umschlossen wird. Alles, was zwischen diesen Klammern steht gehört zum Körper der Prozedur kuchenBacken.

In den Zeilen 3 bis 7 werden mehrere Variablen (milch, eier,  …) angelegt. Variabel sind sie deswegen, weil ihnen ein beliebiger Wert zugewiesen werden kann. Die Zuweisung erfolgt nach dem Schema  name = WERT;

Wird später die Variable name aufgerufen, so wird tatsächlich der dieser Variable zugewiesene Wert verwendet.

Das Semikolon (Strichpunkt ; ) am Ende dient dazu, die Anweisungen voneinander abzugrenzen.

In Zeile 9 wird eine weitere Prozedur namens vermischen(eier, butter, zucker)  aufgerufen. Der Vorgang vermischen  selbst ist hier nicht weiter beschrieben. Er benötigt aber mehrere Zutaten (Eier, Butter, Zucker), um ausgeführt werden zu können. Die Prozedur vermischen  übernimmt also in den runden Klammern mehrere Parameter. Die Prozedur vermischen hat als Ergebnis eine Masse. Damit diese nicht verloren geht, wird diese in eine Variable mit Namen masse gespeichert. Die Zuweisung dieser Variable erfolgt analog wie oben mittels = .

In Zeile 10 wird eine weitere Prozedur vermengen aufgerufen. Diese verwendet als Parameter die Variable masse  (die als Inhalt das Ergebnis der vorigen Operation) beinhaltet, sowie mehl  und milch . Das Ergebnis dieser Prozedur wird in die Variable teig  gespeichert.

In den folgenden Codezeilen werden weitere Prozeduren aufgerufen, die unterschiedliche Arbeitsschritte repräsentieren.

Zuletzt soll mit der Anweisung rueckgabe kuchen  symbolisch beschrieben werden, dass das Ergebnis  kuchen  der ganzen Prozedur kuchenBacken nun an denjenigen zurückgegeben wird, der den Prozess kuchenBacken angestoßen hat.

Zusammenfassung und Ausblick

Dieses Beispiel zeigt stark vereinfacht das Konezpt von Programmierung. Es demonstiert, wie ein Prozess in mehrere Anweisungen zerteilt wird. Teilergebnisses des Prozesses werden in späteren Schritten weiterverwendet. Am Ende steht ein ein Produkt, das zurückgegeben wird.

In weiterer Folge werden anderer Aufgabenstellungen mit einer richtigen Programmiersprache lösen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.