Grundlagen der Programmierung
Vorbemerkung
Dieses Kapitel ist bislang nur in den ersten Ansätzen enthalten. Es wird nach und nach vervollständigt. Im Moment liegt der Fokus aber zunächst auf der Ausgestaltung der Übungen und Aufgaben.
Was ist Software und was ist Programmieren eigentlich?
Um die beiden oben gestellten Fragen valide beantworten zu können, müssen wir noch ein paar Schritte zurück gehen und uns die Frage stellen, zu welchem Zweck eine Software und das System auf dem diese ausgeführt wird, dient. Wir kommen dann zum allgemeineren Begriff der Informationsverarbeitung, der viele Vorgänge sowohl in technischen wie nicht-technischen Systemen abstrakt beschreibt.
Lebewesen wie der Mensch verfügen über Sinnesorgane (Haut, Ohren, Augen, etc.), über die sowohl die Umgebung wie auch der Zustand des eigenen Körpers wahrgenommen wird. Diese Informationen werden im Körper verarbeitet und dienen dazu Aktionen abzuleiten, seien es nun körperliche Handlungen/Bewegungen (auch Sprache!) oder seien es (zunächst) nur gedankliche Überlegungen. (Anmerkung: Die Informationsverarbeitung beim Menschen ist überaus komplex und die gesamten Vorgänge und Strukturen sind noch Forschungsgegenstand und weit davon entfernt vollständig erschlossen zu sein.)
Im Gegensatz zu höheren Lebewesen erscheint die Struktur technischer Systeme deutlich strukturierter und durchschaubarer für uns Menschen. Dabei können auch technische Systeme durch hierarchische vernetzte Architekturen einen erheblichen Komplexitätsgrad aufweisen.
Angesichts der Struktur in der Abfolge Eingabe-Verarbeitung-Ausgabe spricht man auch vom sogenannten EVA-Prinzip.
Sowohl die Eingangssignale wie auch die Ausgangssignale können grundsätzlich beliebige physikalische Größen sein. Ebenso kann die Verarbeitung durch verschiedenste technische Mittel erfolgen. So stellt bereits ein einfacher mechanischer Hebel ein System dar, wobei die Eingangsgrößen Eingangsweg und Eingangskraft sind, die Verarbeitung der Übersetzung/dem Hebelverhältnis entspricht und Ausgangsweg und Ausgangskraft dann die Ausgangsgrößen repräsentieren. In komplexeren Systemen wie etwas maschinenbaulichen Anlagen erfolgt die Steuerung/Regelung der Anlage durch ein separate Steuerung, heutzutage fast immer in Form einer computerbasierten Steuerung ("Steuergeräte im KFZ"). Dabei werden für die Steuerung wesentliche Informationen/Signale durch Sensoren erfasst. Die so gemessenenen Signale werden vom Steuerrechner eingelesen und verarbeitet. Als Ergebnis der Verarbeitung werden dann vom Steuerrechner Ausgangssignale an sog. Aktoren (z.B. Motoren, Magnetventile) gegeben und damit die Anlage im Sinne der Steuerung beeinflusst. Wir haben damit eben einen sog. Regelkreis beschrieben, wie wir sie auch Lebewesen finden, z.B. zur Steuerung von Blutdruck, Herzfrequenz oder des Insulinspiegels. Genausogut könnten wir aber auch die Arbeitsweise eine PCs oder Smartphones als System formulieren, dass Benutzereingaben oder Informationen aus dem Internet als Eingangssignale erhält und diese Informationen in Form von Anzeigen oder Tönen für die Nutzer wahrnehmbar macht.