Grundlagen der Programmierung: Algorithmen und Pseudocode
Eingeordnet in Informatik
Geschrieben am in
Deutsch mit einer Größe von 6,74 KB
Was ist ein Algorithmus?
Algorithmus: Ein Algorithmus ist eine endliche und geordnete Menge von Anweisungen zur Lösung eines Problems. Im Alltag begegnen uns Algorithmen ständig. Zum Beispiel bei der Installation einer Stereoanlage: Die Ausführung der Anweisungen im Handbuch des Geräts stellt einen Algorithmus dar. Ein weiteres Beispiel für einen mathematischen Algorithmus ist der Euklidische Algorithmus zur Bestimmung des größten gemeinsamen Teilers zweier Zahlen.
Einführung in den Pseudocode
Pseudocode: Pseudocode ist eine Sprache, die verwendet wird, um die Pseudoprogrammierung numerischer Algorithmen zu schreiben. Als Pseudoprogrammiersprache ist der Pseudocode eine Nachahmung einer oder mehrerer Programmiersprachen. Auf diese Weise können wir Pseudocode-orientierte Programmiersprachen wie Pascal, Java, C, C++ etc. finden. Im Fall dieses Kurses wird der Pseudocode auf Java, C und C++ abzielen. Der Zweck des Pseudocodes ist es, den Programmierer auf die logischen Aspekte der Lösung zu konzentrieren und die Regeln der Syntax von Programmiersprachen zu vermeiden. Pseudocode ist keine formale Sprache.
Variablen und Datenspeicherung
Variablen: Eine Variable ist ein Standort oder Speicherplatz im Hauptspeicher, der einen Wert speichert, der sich während der Programmausführung ändern kann. Wenn ein Programm Daten speichern muss, benötigt es eine Variable. Jede Variable hat einen Namen, einen Datentyp und einen Wert. Bevor man sie verwenden kann, ist es notwendig, eine Variable zu deklarieren, indem man ihren Namen und Datentyp angibt.
Verwendung von Literalen
Literale: Literale sind die im Pseudocode angegebenen Werte. Diese können sein:
- Integer-Literale (Ganzzahlen)
- Real-Literale (Gleitkommazahlen)
- Zeichenliterale
- Zeichenfolgenliterale (Strings)
- Logische Literale (Booleans)
Grundlegende Anweisungen in Algorithmen
Es gibt drei grundlegende Algorithmus-Anweisungen:
- Eingabe: Sie besteht darin, eine Eingabe von einem Eingabegerät wie der Tastatur zu erhalten und in einer Variablen zu speichern. Im Allgemeinen wird die Aktion, Daten in eine Variable zu schreiben, im Pseudocode mit dem Wort LESEN ausgedrückt.
- Ausgang: Sie besteht darin, den Wert einer Variablen auf einem Ausgabegerät wie dem Display anzuzeigen. In der Regel wird die Aktion, den Wert einer Variablen anzuzeigen, im Pseudocode mit dem Wort SCHREIBEN ausgedrückt.
- Zuweisung: Sie besteht darin, einer Variable den Wert eines Ausdrucks zuzuweisen. Der Ausdruck kann eine einfache Variable, ein einzelnes Literal oder eine Kombination aus Variablen, Literalen und Operatoren sein. Die Zuteilung erfolgt nach den Pseudo-Regeln.
Arithmetische Operatoren und logische Ausdrücke
Arithmetische Operatoren: Wenn ein arithmetischer Ausdruck über mehr als einen arithmetischen Operator verfügt, folgt die Reihenfolge der Anwendung einer genauen Hierarchie, die durch die Regeln der Hierarchie der arithmetischen Operatoren bestimmt wird. Logische Ausdrücke: Ein logischer Ausdruck verbindet Variablen, Literale, arithmetische Operatoren, Vergleichsoperatoren und logische Operatoren.
Sequenzielle und Auswahlstrukturen
Sequenzielle Strukturen: Eine sequentielle Struktur ist eine, in der die Anweisungen nacheinander (eine nach der anderen) in einer einzigen Folge ohne Umleitung ausgeführt werden. Die sequentielle Struktur hat einen Eingang und einen Ausgang.
Einfache Auswahlstruktur (if): Die Struktur der einfachen Auswahl ermöglicht es, eine Aktion oder eine Gruppe von Maßnahmen nur dann auszuführen, wenn eine bestimmte Bedingung erfüllt ist. Wenn die Bedingung erfüllt ist, wird die Aktion ausgeführt, andernfalls wird nichts getan.
Doppelte Auswahlstruktur (if-else): Die Doppel-Auswahlstruktur ermöglicht es, zwischen zwei möglichen Routen auf der Grundlage der Wahrheit oder Falschheit einer Bedingung zu wählen. Wenn die Bedingung erfüllt ist, wird Aktion A ausgeführt, ansonsten Aktion B.
Kaskadierte und Mehrfachauswahl
Kaskadierte Auswahlstruktur (if-else-if): Diese Struktur wird durch die Kaskadierung mehrerer Doppel-Auswahlstrukturen (SINO SI / ELSE IF) gebildet. Die Bedingungen werden in absteigender Reihenfolge bewertet. Sobald eine Bedingung wahr ist, wird die entsprechende Aktion ausgeführt und der Rest der Struktur übersprungen. Sind alle Bedingungen falsch, wird die Standard-Aktion (nach dem letzten ELSE) ausgeführt.
Mehrfachauswahl-Struktur (Switch/Case): Die Multiple-Choice-Struktur ermöglicht es, eine Route zwischen mehreren Möglichkeiten basierend auf dem Wert einer Variablen zu wählen, die als Selektor dient. Der Selektor vergleicht den Wert mit den Konstanten C1, C2, ..., Cn. Bei einer Übereinstimmung wird die entsprechende Aktion ausgeführt.
Repetitive Strukturen und Schleifen
Repetitive Strukturen: Eine repetitive Struktur wird verwendet, wenn eine Reihe von Anweisungen eine bestimmte Anzahl von Malen ausgeführt werden soll. Dies wird als Schleife oder Zyklus bezeichnet. Es gibt zwei Arten:
- Strukturen mit einer festen Anzahl von Wiederholungen (z. B. 20-mal).
- Strukturen, bei denen die Anzahl der Wiederholungen unbekannt ist und von einer Bedingung abhängt.
While-Struktur: Wie der Name sagt, wiederholt diese Struktur die Schleife, solange eine bestimmte Bedingung erfüllt ist.
Repeat-Struktur: Diese dient der gleichen Funktion wie die While-Struktur. Der Unterschied ist, dass die While-Struktur die Bedingung vor Beginn prüft, während die Repeat-Struktur sie am Ende prüft. Dadurch wird die Repeat-Struktur mindestens einmal ausgeführt.
Zähler und Akkumulatoren
Zähler: Ein Zähler ist eine Variable zur Aufnahme von Werten, die sich jedes Mal um einen konstanten Schritt erhöhen oder verringern (z. B. der Spielstand beim Fußball oder die Rundenanzahl bei einem Autorennen).
Speicher oder Akkumulator: Eine Variable, die es ermöglicht, einen Wert zu speichern, der sich während des Prozesses um nicht konstante Beträge erhöht oder verringert (z. B. ein Bankkonto, bei dem die Einzahlungsbeträge variieren).