Datentypen, Algorithmen und Datenstrukturen
Classified in Informatik
Written at on Deutsch with a size of 5,19 KB.
Grundlagen der Programmierung: Datentypen und Algorithmen
1. Was sind Datentypen?
Datentypen definieren die Art der Werte, die eine Variable annehmen kann, sowie die Operationen, die mit diesen Werten ausgeführt werden können.
2. Primitive Datentypen
Primitive Datentypen lassen sich unterteilen in:
- Numerisch:
- Integer (ganze Zahlen)
- Real (Gleitkommazahlen)
- Alphanumerisch:
- Zeichen
- String (Zeichenkette)
- Logisch:
- Wahr (true)
- Falsch (false)
3. Primitive Anweisungen in Algorithmen
Primitive Anweisungen sind grundlegende Operationen in einem Algorithmus:
- Eingabe: Ermöglicht dem Benutzer, Daten einzugeben. Beispiel:
READ(NUM)
- Zuweisung: Speichert einen Wert in einer Variablen. Beispiel:
X <- 5
- Ausgabe: Zeigt Informationen auf einem Ausgabegerät an. Beispiel:
WRITE("Die Summe ist", SUM)
4. Rein sequentielle Algorithmen
Ein rein sequentieller Algorithmus führt Anweisungen nacheinander aus, wobei jede Anweisung nur einmal ausgeführt wird. Er verwendet nur die drei oben genannten primitiven Anweisungen.
5. Bedingte Anweisungen (IF-Anweisung)
Syntax:
IF <Bedingung> THEN <Anweisungen1> [ELSE <Anweisungen2>] (optional) ENDIF
Funktionsweise: Die <Bedingung>
ist ein logischer Ausdruck, der entweder wahr oder falsch ist. Wenn die Bedingung wahr ist, werden <Anweisungen1>
ausgeführt. Wenn die Bedingung falsch ist, werden <Anweisungen2>
(falls vorhanden) ausgeführt. Nach der Ausführung wird mit der nächsten Anweisung nach ENDIF
fortgefahren.
6. Beispiele für Bedingungen
Eine Bedingung ist ein logischer Ausdruck, der einen Wahrheitswert (wahr oder falsch) ergibt. Beispiele:
X >= 10
(NUM >= 1) AND (NUM <= 3)
NAME = "MARY"
7. Schleifen (WHILE-Anweisung)
Syntax:
WHILE <Bedingung> DO <Anweisungen> ENDWHILE
Funktionsweise: Die <Bedingung>
wird ausgewertet. Solange die Bedingung wahr ist, werden die <Anweisungen>
wiederholt ausgeführt. Wenn die Bedingung falsch wird, wird die Schleife beendet und die Ausführung mit der nächsten Anweisung nach ENDWHILE
fortgesetzt.
Wichtiger Hinweis: Innerhalb der Schleife muss es eine Anweisung geben, die den Wert der Bedingung ändert, um eine Endlosschleife zu vermeiden.
Fortgeschrittene Konzepte: Initialisierung, Zähler, Akkumulatoren und Datenstrukturen
1. Initialisierung (Boot)
Initialisierung bedeutet, einer Variablen einen Anfangswert zuzuweisen, bevor sie verwendet wird. Es ist wichtig, Variablen zu initialisieren, um unvorhersehbare Ergebnisse zu vermeiden.
2. Zähler und Akkumulator
- Akkumulator: Eine numerische Variable, die in einer Schleife einen Anfangswert erhält und bei jeder Iteration um einen variablen Wert erhöht wird.
- Zähler: Eine numerische Variable, die in einer Schleife einen Anfangswert erhält und bei jeder Iteration um einen festen Wert erhöht wird.
3. Flaggen (Flags)
Eine Flagge ist eine logische Variable, die verwendet wird, um den Zustand eines bestimmten Teils eines Algorithmus zu kontrollieren, insbesondere innerhalb von Schleifen.
4. Kontrolle des Endwerts in Schleifen
Es gibt verschiedene Arten, die Anzahl der Wiederholungen in einer Schleife zu steuern:
- Feste und bekannte Anzahl von Wiederholungen.
- Variable Anzahl von Wiederholungen, die im Algorithmus bekannt ist.
- Unbekannte Anzahl von Wiederholungen.
5. Die FOR-Schleife
Die FOR
-Schleife wird verwendet, wenn die Anzahl der Wiederholungen im Voraus bekannt ist.
Funktionsweise (vereinfacht):
- Der Variablen wird der Startwert zugewiesen.
- Der Wert der Variablen wird mit dem Endwert verglichen.
- Ist das Ergebnis größer, werden die Anweisungen ausgeführt.
- Wenn das Ende erreicht ist, wird die Bedingung erneut geprüft.
6. Vektoren
Ein Vektor ist eine Reihe von Variablen desselben Datentyps, die denselben Namen haben und über einen Index angesprochen werden.
7. Matrizen (Arrays)
Matrizen sind mehrdimensionale, homogene Strukturen (alle Elemente haben denselben Datentyp). Deklaration einer 3x4-Matrix:
VAR MAT: ARRAY[1..3, 1..4] OF REAL
8. Quadratische Matrizen
Eine quadratische Matrix hat die gleiche Anzahl von Zeilen und Spalten.
- Hauptdiagonale: Zeilenindex und Spaltenindex sind gleich.
- Nebendiagonale: Zeilenindex ist gleich der Größe der Matrix plus eins minus dem Spaltenindex.