Programmierung-Grundlagen
Variablen und Datentypen
Eine Variable ist ein benannter Speicherplatz für einen Wert, den ein Programm während der Laufzeit lesen und verändern kann. In Python weist du einer Variable mit dem Gleichheitszeichen einen Wert zu — eine vorherige Typdeklaration wie in Java oder C ist nicht nötig, Python erkennt den Datentyp automatisch anhand des zugewiesenen Werts (dynamische Typisierung).
Die vier Grundtypen, die dir in AP1-Aufgaben am häufigsten begegnen:
- int (Ganzzahl):
alter = 25 - float (Kommazahl):
preis = 19.99 - str (Zeichenkette/String):
name = "Anna" - bool (Wahrheitswert):
ist_aktiv = True
Mit der Funktion type(alter) kannst du dir den Datentyp einer Variable jederzeit anzeigen lassen. Der Typ ist wichtig, weil er bestimmt, welche Operationen erlaubt sind — "3" + "4" ergibt in Python den String "34", während 3 + 4 die Zahl 7 ergibt. Willst du eine als Text eingelesene Zahl rechnerisch verwenden, musst du sie explizit umwandeln, z. B. mit int("3") oder float("3.5").
Ein beliebter Stolperstein in AP1-Aufgaben: Werte aus input() sind immer vom Typ str, auch wenn eine Zahl eingegeben wurde. Ohne explizite Umwandlung mit int() oder float() führt eine Rechnung entweder zu einem Fehler oder zu einer unerwarteten String-Verkettung statt einer Addition.
Ein- und Ausgabe
Mit der Funktion print() gibst du Text oder Werte auf der Konsole aus, mit input() liest du eine Eingabe des Benutzers als Text ein. Beide Funktionen bilden die Schnittstelle zwischen Programm und Anwender und tauchen in praktisch jedem kleinen Beispielprogramm der Prüfung auf.
name = input("Wie heißt du? ")
print("Hallo, " + name + "!")
Sollen mehrere Werte unterschiedlichen Typs zusammen ausgegeben werden, bietet sich ein sogenannter f-String an, der Variablen direkt in einen Text einbetten kann, ohne dass du Typen manuell umwandeln musst:
alter = int(input("Wie alt bist du? "))
print(f"In 10 Jahren bist du {alter + 10} Jahre alt.")
Bedingungen
Mit if, elif (Kurzform für "else if") und else steuerst du, welcher Codeblock abhängig von einer Bedingung ausgeführt wird. Python prüft die Bedingungen von oben nach unten und führt genau den ersten passenden Block aus — alle weiteren werden übersprungen.
Beispiel: Eine Zahl soll in drei Kategorien eingestuft werden.
zahl = int(input("Zahl eingeben: "))
if zahl < 0:
print("negativ")
elif zahl == 0:
print("null")
else:
print("positiv")
Gibst du z. B. -3 ein, prüft Python zuerst zahl < 0. Das trifft zu, also wird "negativ" ausgegeben und die restlichen Zweige werden nicht mehr geprüft. Bei der Eingabe 0 ist die erste Bedingung falsch, die zweite (zahl == 0) trifft zu. Bei jeder positiven Zahl greift am Ende der else-Zweig, der immer dann ausgeführt wird, wenn keine der vorherigen Bedingungen zutraf. Wichtig ist die Einrückung: Sie ist in Python kein Stilmittel, sondern legt syntaktisch fest, welche Anweisungen zu welchem Block gehören.
Schleifen: for und while
Schleifen wiederholen einen Codeblock, ohne dass du ihn mehrfach abschreiben musst. Python kennt zwei grundlegende Schleifentypen, die sich in ihrem Einsatzzweck unterscheiden:
for-Schleife
Die for-Schleife wird genutzt, wenn die Anzahl der Durchläufe von vornherein feststeht oder du über eine bekannte Sammlung von Werten (z. B. eine Liste) iterieren willst.
for i in range(5):
print(i)
Das gibt die Zahlen 0 bis 4 aus. Genauso oft wird eine for-Schleife direkt über eine Liste laufen gelassen: for note in noten: print(note) gibt nacheinander jeden Wert der Liste noten aus.
while-Schleife
Die while-Schleife wiederholt einen Block, solange eine Bedingung wahr ist — die Anzahl der Durchläufe muss vorher nicht bekannt sein.
zaehler = 0
while zaehler < 5:
print(zaehler)
zaehler = zaehler + 1
Hier läuft die Schleife so lange, bis zaehler den Wert 5 erreicht. Vergisst du die Erhöhung von zaehler innerhalb der Schleife, bleibt die Bedingung dauerhaft wahr — das Programm läuft in eine Endlosschleife. Das ist ein klassischer Fehler, nach dem in AP1-Aufgaben gezielt gefragt wird: In der Prüfung sollst du oft erkennen, warum ein gegebenes Programm nicht terminiert.
Beispielprogramm: Werte einlesen und auswerten
In AP1 wird häufig ein kleines Auswertungsprogramm vorgegeben, das du nachvollziehen oder um eine Zeile ergänzen sollst. Das folgende Beispiel liest eine feste Anzahl von Zahlen ein, sammelt sie in einer Liste und berechnet anschließend Summe und Durchschnitt.
werte = []
anzahl = int(input("Wie viele Werte? "))
for i in range(anzahl):
wert = float(input("Wert eingeben: "))
werte.append(wert)
summe = 0
for w in werte:
summe = summe + w
durchschnitt = summe / len(werte)
print(f"Summe: {summe}, Durchschnitt: {durchschnitt}")
Schritt für Schritt erklärt: Zuerst wird werte als leere Liste angelegt. Die erste for-Schleife läuft genau anzahl-mal (bekannte Durchlaufzahl, also klassischer Fall für for) und fügt mit append() jeden eingegebenen Wert an die Liste an. Die zweite for-Schleife iteriert über die fertige Liste werte und summiert alle Elemente in der Variable summe auf. Zum Schluss wird der Durchschnitt berechnet, indem die Summe durch die Anzahl der Elemente (len(werte)) geteilt wird, und beide Ergebnisse werden mit einem f-String ausgegeben. Dieses Muster — Werte einlesen, in einer Struktur sammeln, mit einer Schleife auswerten, Ergebnis ausgeben — ist die Grundform fast jedes kleinen Auswertungsprogramms, das dir in AP1 begegnen kann.
Wenn du ein fremdes Codebeispiel in der Prüfung analysieren sollst, geh Zeile für Zeile durch und notiere dir nebenbei den aktuellen Wert jeder Variable — genau wie bei einem Trace/Debugging von Hand. Das verhindert Flüchtigkeitsfehler bei der Frage "Was gibt dieses Programm aus?".
Warum das für Systemintegration relevant ist
Als Fachinformatiker/-in Systemintegration schreibst du in der Praxis selten vollständige Anwendungen, sehr wohl aber Automatisierungsskripte — etwa in PowerShell oder Bash, um Benutzerkonten anzulegen, Logdateien auszuwerten oder Backups zu prüfen. Diese Skriptsprachen bauen auf exakt denselben Grundkonzepten auf, die hier anhand von Python gezeigt wurden: Variablen speichern Zwischenwerte, Bedingungen (if) steuern Fallunterscheidungen, und Schleifen (for/while) verarbeiten Listen von Dateien, Zeilen oder Benutzern.
Wer das algorithmische Grundprinzip einmal verstanden hat — Eingabe verarbeiten, Bedingung prüfen, wiederholen, Ergebnis ausgeben — kann es unabhängig von der konkreten Syntax auf jede Sprache übertragen. Mehr zu den konkreten Skriptsprachen der Systemintegration und typischen AP2-Aufgaben findest du auf der Seite "Automatisierung & Skripting", die genau auf diesem Grundverständnis aufbaut.