Title: Nachlese: Algorithmus
Course: PAC++ SchülerInnen > Section: Willkommen in ASCII

Motivation und Überblick

In den folgenden Modulen werden wir die Grundlagen der Programmierung erklären. Dazu zählen insbesondere Variablen, Datentypen, Anweisungen und Schleifen. Sie bilden die wichtigsten Grundlagen für die Programmierung und kommen in jeder Programmiersprache vor. Bevor wir so richtig losstarten können, müssen wir zuerst auf ein ganz wichtiges Konzept der Programmierung eingehen: den Algorithmus!

Bemerkung: Du kannst links oben mit einem Klick auf Einstellungen/Buch-Administration/Buch drucken die gesamte Nachlese ausdrucken.

Algorithmus

Ein Algorithmus ist so etwas wie ein Kochrezept, nach dem wir vorgehen.

Wir definieren das Kochrezept und gehen dann Schritt für Schritt danach vor. Je komplizierter ein Algorithmus ist, desto mehr spezielle Ausnahmen wird ein solches Kochrezept enthalten. Das kann man sich wieder ganz einfach an einem Beispiel vorstellen:

Beispiel Algorithmus

Wir wollen wieder einen Kuchen backen. Jetzt ist es aber so, dass unsere Gäste, für die wir den Kuchen backen, spezielle Wünsche haben.

- Stefan wünscht sich dunkle Schokolade im Kuchen und mag weiße nicht.
- Daniel wünscht sich Nüsse im Kuchen.
- Karolina wünscht sich weiße Schokolade. Wenn das nicht möglich ist, mag sie Kokus im Kuchen.

Wir möchten natürlich, dass alle unsere Gäste alle zufrieden sind. Dazu müssen wir zu allererst unser Kochrezept aus unserem Kochbuch anpassen. Da Stefan sich dunkle Schokolade wünscht, fügen wir diese zu unserem Teig hinzu. Gleich darauf kommen die Nüsse hinein und zum Schluss Karolinas weiße Schokolade.

Da fällt uns gleich etwas auf: Wir haben die weiße und die dunkle Schokolade vermischt, doch Stefan isst weiße Schokolade nicht gerne. So kann unser Rezept also nicht funktionieren.

Damit wir alle Wünsche unserer Gäste erfüllen können, müssen wir zuerst alle Informationen über unsere Gäste sammeln und dann entsprechende Entscheidungen treffen.

Wenn Stefan weiße Schokolade nicht mag und Karolina diese nicht unbedingt haben möchte, sondern stattdessen Kokusflocken mag, streichen wir die weiße Schokolade aus unserem Kochrezept. Da alle unsere Gäste Nüsse mögen, können wir diese natürlich in unserem Kochrezept verwenden. Somit backen wir einen Kuchen mit dunkler Schokolade, Nüssen und Kokusflocken.

Tools

Genug mit der Kuchenbäckerei!

Wie sieht das nun in der Realität aus? Wie können wir Programme programmieren und was wird alles benötigt, damit diese dann auch funktionieren und ausgeführt werden können?

Compiler

Zu allererst benötigen wir einen eigenen geeigneten Compiler, der aus unserem geschriebenen Programm, auch Quellcode genannt, ein maschinenlesbares und ausführbares Programm erstellt, denn unsere Sprache unterscheidet sich von der des Computers.

Was für den Computer in Maschinencode / in Maschinensprache

55
48 89 E5
5D
C3

bedeutet, ist für uns nichts anderes als der Ausdruck: int main() {}

Daher ist ein Compiler nichts anderes als ein Computerprogramm, das einen Quellcode einer bestimmten Programmiersprache übersetzt, der dann vom Computer direkt ausgeführt werden kann. Am besten stellt ihr euch den Compiler als kleinen Dolmetscher vor, der beide Sprachen spricht und uns bei der Übersetzung hilft.

Nun wissen wir, dass wir einen Compiler, also einen Dolmetscher, benötigen. Aber wie schreibt man nun ein Programm? Am einfachsten geht es mit einem passenden Texteditor wie zum Beispiel Notepad++ oder auch einer IDE, die wir in diesem Kurs verwenden werden. Jetzt werdet ihr euch sicher wieder fragen, was eine IDE ist.

IDE

Eine IDE ist eine Abkürzung und steht für eine integrierte Entwicklungsumgebung, in der man Programme auf einfache Art und Weise schreiben und Software entwickeln kann.
Die IDE verfügt in der Regel über mehrere Komponenten:

- einen Texteditor
- einen Compiler
- einen Linker
- einen Debugger

- Der Texteditor ist nichts anderes als ein Computerprogramm zum Bearbeiten von Quelltexten wie z. B. Notepad++ oder der Windows Editor.
- Der Compiler ist ein Computerprogramm zum Übersetzen des Textes - unser Dolmetscher!
- Der Linker ist ein Computerprogramm, das verschiedene wichtige Programmiermodule und -teile zu einem ausführbaren Programm zusammenstellt - vergleichbar mit einer Bibliothekarin oder einem Bibliothekar, die oder der uns Bücher holt.
- Der Debugger ist ein Werkzeug zum Finden von Fehlern im eigenen Code - wie ein Polizist oder eine Polizistin, der oder die uns sagt, wo unser Fehler liegt und uns erst weitermachen lässt, wenn wir diesen behoben haben.

Anwendungen

Was kann man alles programmieren und wo findet man heutzutage überall Programme?

Programme werden immer mehr genutzt und sind aus unserem täglichen Leben nicht mehr wegzudenken. Wo gibt es überall Programme? Hier ein paar Beispiele:

- Betriebssysteme
- Textverarbeitungs-, Tabellen- und Präsentationsprogramme
- iOS, Android und die Apps auf deinem Smartphone
- Fernseher
- Konsolen und Konsolenspiele (Playstation, Xbox, Wii)
- Software im Auto
- Ampelschaltungen
- Anzeigen und Animationen
- Aufzug

Ausblick

Im nächsten Modul wagen wir mit unserem ersten Programm den Einstieg in C++. Danach trauen wir uns in die weite Welt des Programmierens hinaus.