Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| modul:m323:learningunits:lu01:strukturiert [2025/11/13 10:28] – kmaurizi | modul:m323:learningunits:lu01:strukturiert [2026/08/18 10:13] (aktuell) – Korrektur Algorithmus-Definition, strukturiert vs. imperativ, kaputter CC-Link, Typos; Tags auf neue Kompetenzmatrix admin | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| ====== LU01b - Strukturierte Programmierung ====== | ====== LU01b - Strukturierte Programmierung ====== | ||
| + | |||
| ===== Definition ===== | ===== Definition ===== | ||
| - | Strukturierte oder auch imperative | + | |
| + | **Imperative | ||
| + | |||
| + | **Strukturierte Programmierung** ist eine // | ||
| + | |||
| + | - **Sequenz**: | ||
| + | - **Auswahl (Selektion)**: | ||
| + | - **Wiederholung (Iteration)**: | ||
| + | |||
| + | Das **Theorem von Böhm und Jacopini** (1966) besagt, dass sich jeder berechenbare Algorithmus allein mit diesen drei Strukturen ausdrücken lässt. Sprünge sind also nie zwingend nötig – und weil sie den Ablauf unübersichtlich machen („Spaghetticode" | ||
| + | |||
| + | <WRAP center round tip 60%> | ||
| + | **Merksatz** | ||
| + | |||
| + | Jede strukturierte Programmierung ist imperativ – aber nicht jede imperative Programmierung ist strukturiert. | ||
| + | </ | ||
| ===== Grundprinzipien ===== | ===== Grundprinzipien ===== | ||
| + | |||
| Im Mittelpunkt der imperativen Programmierung steht die Veränderung des Zustands eines Systems durch die Anwendung von Anweisungen oder Befehlen. Diese Befehle werden in einer klaren und definierten Reihenfolge ausgeführt. | Im Mittelpunkt der imperativen Programmierung steht die Veränderung des Zustands eines Systems durch die Anwendung von Anweisungen oder Befehlen. Diese Befehle werden in einer klaren und definierten Reihenfolge ausgeführt. | ||
| Zeile 24: | Zeile 41: | ||
| </ | </ | ||
| - | Hier wird eine klare Abfolge von Befehlen gegeben, die nacheinander ausgeführt werden, um das gewünschte Ergebnis zu erzielen. | + | Hier wird eine klare Abfolge von Befehlen gegeben, die nacheinander ausgeführt werden, um das gewünschte Ergebnis zu erzielen. Alle drei Grundstrukturen der strukturierten Programmierung sind erkennbar: Sequenz (die Zeilen nacheinander), |
| ===== Fokus auf Befehle und Anweisungen ===== | ===== Fokus auf Befehle und Anweisungen ===== | ||
| + | |||
| ==== Befehle und Anweisungen ==== | ==== Befehle und Anweisungen ==== | ||
| + | |||
| In der imperativen Programmierung sind Befehle und Anweisungen die fundamentalen Bausteine. Ein Befehl ist eine Aufforderung an den Computer, eine bestimmte Operation durchzuführen, | In der imperativen Programmierung sind Befehle und Anweisungen die fundamentalen Bausteine. Ein Befehl ist eine Aufforderung an den Computer, eine bestimmte Operation durchzuführen, | ||
| === Befehle === | === Befehle === | ||
| + | |||
| Befehle sind direkte Anforderungen an den Computer, um eine bestimmte Aktion auszuführen. Sie können einfache Operationen wie Addition oder Multiplikation sein oder komplexere wie das Lesen oder Schreiben einer Datei. | Befehle sind direkte Anforderungen an den Computer, um eine bestimmte Aktion auszuführen. Sie können einfache Operationen wie Addition oder Multiplikation sein oder komplexere wie das Lesen oder Schreiben einer Datei. | ||
| === Anweisungen === | === Anweisungen === | ||
| - | Anweisungen sind präzise Instruktionen, | + | |
| + | Anweisungen sind präzise Instruktionen, | ||
| + | |||
| + | === Algorithmus === | ||
| + | |||
| + | Eine // | ||
| + | |||
| + | * **Eindeutigkeit**: | ||
| + | * **Endlichkeit**: | ||
| + | * **Eingabe und Ausgabe**: Es gibt definierte Startwerte und ein definiertes Ergebnis. | ||
| + | * **Allgemeingültigkeit**: | ||
| + | |||
| + | <WRAP center round important 60%> | ||
| + | **Wichtige Abgrenzung** | ||
| + | |||
| + | Eine einzelne Anweisung ist noch kein Algorithmus. '' | ||
| + | </ | ||
| ==== Unterschied zu anderen Paradigmen ==== | ==== Unterschied zu anderen Paradigmen ==== | ||
| - | Im Gegensatz zur deklarativen Programmierung, | + | |
| + | Im Gegensatz zur deklarativen Programmierung, | ||
| <WRAP center round tip 60%> | <WRAP center round tip 60%> | ||
| **Schlussfolgerung** | **Schlussfolgerung** | ||
| - | Die imperativ | + | Die imperative |
| </ | </ | ||
| + | |||
| ---- | ---- | ||
| - | {{tag> | + | {{tag> |
| - | [[https://creati vecommons.org/ | + | [[https://creativecommons.org/ |