EuraStudy
Notizen/Informatik/INF-Modell - Boolesche Logik, UML und Modellierung
Notizen · InformatikAT · Matura

INF-Modell - Boolesche Logik, UML und Modellierung

Logik, formale Modelle (UML, ER, Petri-Netze) und Pseudocode sind die Werkzeuge der Modellierung.

3 Abschnitte·~9 Min Lesezeit·3 Kompetenzen·Niveau Basis 1 · Standard 2·Stand 06/2026

T·121212 / 12
Prüfungsprofil
INF-Modell-1 · Boolesche Algebra und Wahrheitstafeln beherrschenINF-Modell-2 · UML-Diagramme (Klassen, Sequenz, Use Case) lesen und erstellenINF-Modell-3 · Pseudocode und Flowcharts einsetzen
Tiefe

Lesetiefe: Vertiefung

Schrift

Schriftgröße: Standard

Inhalt · 3 Abschnitte▾
  1. INF-Modell - Boolesche Logik, UML und Modellierung
    • 01Boolesche Algebra und Schaltnetze◐
    • 02UML-Diagramme - Klassen, Sequenz, Use Case◐
    • 03Pseudocode, Flowcharts und Programmverifikation○
§ 01

Boolesche Algebra und Schaltnetze#

●●○StandardLPINF-Modell-1.1

Kernpunkte

Die gesamte digitale Technik beruht auf boolescher Algebra - dem Rechnen mit den zwei Werten 0 und 1. Sie ist die Mathematik hinter jedem Logikgatter und damit hinter jeder CPU.
Die Grundoperatoren sind AND (∧\land∧, nur 1, wenn beide 1), OR (∨\lor∨, 1 bei mindestens einer 1) und NOT (¬\lnot¬, kippt den Wert); dazu XOR (⊕\oplus⊕, 1 genau bei Ungleichheit) sowie NAND und NOR (negiertes AND/OR). Ihr Verhalten hält man in Wahrheitstafeln fest ().

Wahrheitstafel der Grundoperatoren

WahrheitstafelTabelle mit 5 Spalten und 4 Zeilen, Daten: A · B · A∧B · A∨B · A⊕B; 0 · 0 · 0 · 0 · 0; 0 · 1 · 0 · 1 · 1; 1 · 0 · 0 · 1 · 1; 1 · 1 · 1 · 1 · 0ABA∧BA∨BA⊕B00000010111001111110
Abb. 1AND ist nur bei zwei Einsen wahr, OR bei mindestens einer, XOR genau bei Ungleichheit.
Wichtigstes Rechengesetz sind die De-Morgan-Regeln ¬(A∧B)=¬A∨¬B\lnot(A \land B) = \lnot A \lor \lnot B¬(A∧B)=¬A∨¬B und ¬(A∨B)=¬A∧¬B\lnot(A \lor B) = \lnot A \land \lnot B¬(A∨B)=¬A∧¬B: Eine Negation „zieht" über die Klammer und tauscht dabei AND und OR. Ausdrücke vereinfacht man algebraisch (mit solchen Gesetzen) oder visuell mit Karnaugh-Diagrammen (siehe Beispiel).
Bemerkenswert: NAND (ebenso NOR) ist funktional vollständig - allein damit lässt sich jede boolesche Funktion bauen (¬A\lnot A¬A = NAND mit gleichen Eingängen, daraus AND und OR). Deshalb fertigt man Chips oft einheitlich aus NAND-Gattern.
Aus Gattern baut man Schaltungen zweier Arten: Schaltnetze (kombinatorisch) berechnen ihre Ausgabe nur aus der aktuellen Eingabe, ohne Gedächtnis - etwa der Halbaddierer (Summe =A⊕B= A \oplus B=A⊕B, Übertrag =A∧B= A \land B=A∧B), Volladdierer oder Multiplexer.
Schaltwerke (sequenziell) besitzen dagegen Zustand über Flip-Flops (Register, Zähler) und sind die Grundlage von Speicher und CPU. Häufige Fehler: XOR und OR verwechseln (XOR ist bei „beide 1" gerade 0), bei De Morgan Klammern/Operatoren falsch verteilen, oder Schaltnetz (ohne Gedächtnis) und Schaltwerk (mit Zustand) gleichsetzen.
¬(A∧B)=¬A∨¬B,¬(A∨B)=¬A∧¬B\lnot(A \land B) = \lnot A \lor \lnot B,\quad \lnot(A \lor B) = \lnot A \land \lnot B¬(A∧B)=¬A∨¬B,¬(A∨B)=¬A∧¬B

De Morgan

Musterbeispiel

Wahrheitstafel und Vereinfachung

Erstelle die Wahrheitstafel für f=(A∧¬B)∨(A∧B)f = (A \land \lnot B) \lor (A \land B)f=(A∧¬B)∨(A∧B) und vereinfache.

  1. 01Wahrheitstafel

    | A | B | ¬B\lnot B¬B | A∧¬BA \land \lnot BA∧¬B | A∧BA \land BA∧B | f | |---|---|---|---|---|---| | 0 | 0 | 1 | 0 | 0 | 0 | | 0 | 1 | 0 | 0 | 0 | 0 | | 1 | 0 | 1 | 1 | 0 | 1 | | 1 | 1 | 0 | 0 | 1 | 1 |

  2. 02Algebraisch vereinfachen

    f=A∧(¬B∨B)=A∧1=Af = A \land (\lnot B \lor B) = A \land 1 = Af=A∧(¬B∨B)=A∧1=A.

  3. 03Begründung

    Komplement-Gesetz: ¬B∨B=1\lnot B \lor B = 1¬B∨B=1; Neutralität: A∧1=AA \land 1 = AA∧1=A.

Ergebnis: Die Funktion ist äquivalent zu f=Af = Af=A - der B-Anteil hebt sich auf.

Schritt-für-Schritt Erklärung3 Schritte
  1. 1

    Boolesche Algebra ist die Mathematik hinter jeder CPU.

  2. 2

    NAND-Gatter können ganze Computer bauen - das nennt man funktionale Vollständigkeit.

  3. 3

    De Morgan ist deine Lieblingsregel für Negation komplexer Ausdrücke.

SRDP-Aufgaben

SelbsttestAus der Fragenbank7 Punkte

Aufgabenstellung

Erstelle die Wahrheitstafel der Funktion f=(A∨B)∧¬(A∧B)f = (A \lor B) \land \lnot(A \land B)f=(A∨B)∧¬(A∧B). Wofür steht diese Funktion?

Maturafokus

  • Wahrheitstafel für 2-3 Variablen sicher aufstellen.
  • De-Morgan-Regeln anwenden.
  • Halbaddierer mit XOR und AND skizzieren.

Typische Fehler

  • XOR und OR verwechselt.
  • De Morgan: Klammern werden vergessen, Vorzeichen falsch verteilt.
  • Schaltnetz und Schaltwerk gleichgesetzt.

Aktive Wiederholung

Erstelle die Wahrheitstafel für einen Halbaddierer (Eingänge A, B; Ausgänge Summe S, Übertrag C). Welche Gatter braucht er?

Aktiv abrufen

Erinnere dich an die Kernpunkte — dann aufdecken.

Quellen: Patterson, Hennessy: Computer Organization and Design (Morgan Kaufmann)

§ 02

UML-Diagramme - Klassen, Sequenz, Use Case#

●●○StandardLPINF-Modell-2.1

MVC vs. MVVM Architekturmuster

MVC Model View Controller MVVM Model View ViewModel Two-Way Binding MVVM erlaubt deklarative UI-Frameworks (React, Vue, WPF, SwiftUI)
Abb. 2MVC: Controller vermittelt; MVVM: ViewModel mit Datenbindung an View.

Kernpunkte

Bevor man komplexe Software schreibt, modelliert man sie. Die UML (Unified Modeling Language) ist die standardisierte grafische Sprache dafür - mit über einem Dutzend Diagrammtypen, die Struktur und Verhalten eines Systems zeigen.
Das Klassendiagramm ist der wichtigste Strukturtyp: Es zeigt Klassen (mit Attributen und Methoden) und ihre Beziehungen - Vererbung, Assoziation, Aggregation und Komposition - samt Multiplizitäten (siehe Beispiel). Es ist die Brücke vom Entwurf zur objektorientierten Implementierung.
Die Notation muss man sicher lesen: ein Dreieckspfeil zeigt Vererbung (is-a), eine leere Raute eine Aggregation (lose „hat ein", Teile leben unabhängig weiter), eine gefüllte Raute eine Komposition (existenziell „besteht aus", Teile sterben mit dem Ganzen) und ein gestrichelter Pfeil eine Abhängigkeit. Aggregation und Komposition zu verwechseln ist der klassische Fehler.
Für das Verhalten gibt es weitere Typen: Das Sequenzdiagramm zeigt die zeitliche Interaktion zwischen Objekten als Nachrichten entlang von Lebenslinien; das Use-Case-Diagramm stellt Akteure und ihre Anwendungsfälle dar (etwa Kunde → „Bestellung aufgeben") und dient der Verständigung mit Stakeholdern.
Das Aktivitätsdiagramm beschreibt Workflows mit Verzweigungen und Parallelität (ähnlich einem Flowchart), das Zustandsdiagramm die Zustände eines Objekts und ihre Übergänge. So deckt UML den ganzen Bogen von der Struktur bis zur Dynamik ab.
Häufige Fehler: Aggregation (lose) und Komposition (existenziell) vermischen, Pfeilrichtungen vertauschen, oder die Multiplizitäten (z. B. 1 — 0..n) vergessen, ohne die ein Klassendiagramm unvollständig ist.
Musterbeispiel

Klassendiagramm für eine Bibliothek

Modelliere ein UML-Klassendiagramm für Buch, Schüler und Ausleihe mit passenden Beziehungen und Multiplizitäten.

  1. 01Klassen finden

    Die Substantive der Anforderung werden zu Klassen: Buch(bNr, titel, autor), Schüler(sNr, name), Ausleihe(datum, rueckgabe).

  2. 02Attribute und Methoden

    Jede Klasse erhält ihre Attribute; Schüler etwa die Methode ausleihen(buch).

  3. 03Beziehung modellieren

    Ein Schüler leiht viele Bücher, ein Buch wird nacheinander von vielen Schülern geliehen → eine n:m-Beziehung, realisiert über die Assoziationsklasse Ausleihe.

  4. 04Multiplizitäten

    Schüler „1" — „0..n" Ausleihe und Buch „1" — „0..n" Ausleihe; jede Ausleihe verweist auf genau einen Schüler und ein Buch.

  5. 05Beziehungsart wählen

    Hier eine Assoziation (keine Aggregation/Komposition), da Buch und Schüler unabhängig voneinander existieren.

Ergebnis: Drei Klassen mit der Assoziationsklasse Ausleihe und Multiplizitäten 1 — 0..n an beiden Enden. Aggregation („hat ein") und Komposition („besteht aus") wären unpassend, weil keine Lebenszyklus-Abhängigkeit besteht.

Schritt-für-Schritt Erklärung3 Schritte
  1. 1

    UML ist die universelle Sprache für Softwarearchitektur.

  2. 2

    Klassendiagramme zeigen Struktur, Sequenzdiagramme zeigen Dynamik - beide brauchst du im Designprozess.

  3. 3

    Use Cases helfen, mit Stakeholdern über das System zu sprechen, ohne in Implementierung zu versinken.

SRDP-Aufgaben

SelbsttestAus der Fragenbank7 Punkte

Aufgabenstellung

Beschreibe die wichtigsten UML-Diagrammtypen. Modelliere für eine Bibliothek ein Klassendiagramm (Buch, Schüler, Ausleihe) mit Beziehungen.

Maturafokus

  • Klassendiagramm aus deutscher Anforderung zeichnen.
  • Aggregation vs. Komposition unterscheiden.
  • Use Cases mit Akteuren benennen.

Typische Fehler

  • Aggregation (lose) und Komposition (existenziell) vermischt.
  • Pfeilrichtungen vertauscht.
  • Multiplizitäten nicht angegeben.

Aktive Wiederholung

Modelliere für ein Online-Shop-System ein Use-Case-Diagramm mit Akteuren Kunde, Admin und externem Bezahldienst. Welche Anwendungsfälle gibt es?

Aktiv abrufen

Erinnere dich an die Kernpunkte — dann aufdecken.

Quellen: Fowler: UML Distilled, 3. Auflage (Addison-Wesley)

§ 03

Pseudocode, Flowcharts und Programmverifikation#

●○○BasisLPINF-Modell-3.1

Kernpunkte

Bevor man einen Algorithmus in einer konkreten Sprache codiert, beschreibt man ihn sprachunabhängig - in Pseudocode oder als Flowchart. So trennt man die Idee von syntaktischen Details und kann sie mit jedem teilen.
Pseudocode ist eine klar lesbare, halbformale Notation: Einrückung statt Klammern, gängige Konstrukte wie `if/then/else`, `while`, `for` und `return`, aber ohne sprachspezifischen Ballast (keine Semikolons, keine Typdeklarationen). Wichtig: präzise genug, dass die Übersetzung in echten Code eindeutig ist (siehe Beispiel).
Ein Flowchart (Programmablaufplan, DIN 66001 / ISO 5807) stellt denselben Ablauf grafisch dar (): Oval für Start/Ende, Rechteck für eine Operation, Raute für eine Entscheidung (mit ja/nein-Ausgängen) und Parallelogramm für Ein-/Ausgabe, verbunden durch Ablaufpfeile.

Flowchart-Symbole (ISO 5807)

Flowchart-SymboleTabelle mit 2 Spalten und 5 Zeilen, Daten: Symbol · Bedeutung; Oval · Start oder Ende; Rechteck · Operation / Anweisung; Raute · Entscheidung (ja/nein); Parallelogramm · Ein-/Ausgabe; Pfeil · AblaufrichtungSYMBOLBEDEUTUNGOvalStart oder EndeRechteckOperation / AnweisungRauteEntscheidung (ja/nein)ParallelogrammEin-/AusgabePfeilAblaufrichtung
Abb. 3Die genormten Symbole eines Programmablaufplans und ihre Bedeutung.
Für Korrektheitsbeweise ist die Schleifeninvariante das zentrale Werkzeug: eine Aussage, die vor und nach jeder Iteration gilt. Zeigt man Initialisierung (gilt zu Beginn), Erhalt (bleibt pro Durchlauf) und Terminierung (liefert am Ende das Gewünschte), ist die Schleife bewiesen korrekt (siehe Beispiel: Maximum-Suche).
Verifikation, Tests und Code Reviews ergänzen einander: Tests zeigen die Anwesenheit von Fehlern an Beispielen, eine formale Verifikation kann ihre Abwesenheit beweisen (aber nur bei begrenztem Umfang), Reviews fangen Verständnis- und Designfehler. Kein einzelnes Mittel genügt allein.
In der Prüfung lautet die Aufgabe oft „Pseudocode angeben + Trace + Komplexität". Häufige Fehler: Pseudocode zu sprachspezifisch (wie fertiges Python) schreiben, Flowchart-Symbole falsch verwenden (eine Operation in eine Raute setzen), oder die Schleifeninvariante mit der Schleifenbedingung verwechseln.
Musterbeispiel

Pseudocode + Invariante: Maximum in Liste

Finde das größte Element einer nicht-leeren Liste a[0..n−1]a[0..n-1]a[0..n−1].

  1. 01Pseudocode

    ``` max := a[0] for i from 1 to n-1 do if a[i] > max then max := a[i] return max ```

  2. 02Schleifeninvariante

    Vor jedem Schleifendurchlauf gilt: `max` ist das größte Element von a[0..i−1]a[0..i-1]a[0..i−1].

  3. 03Initialisierung

    Vor i=1i=1i=1: max = a[0] = größtes von a[0..0] - Invariante gilt.

  4. 04Erhalt

    In jedem Schritt wird max ggf. auf a[i] erhöht - Invariante bleibt.

  5. 05Terminierung

    Nach i=ni=ni=n: max ist größtes von a[0..n-1] - Korrektheit folgt.

Ergebnis: Beweis über Schleifeninvariante zeigt: Algorithmus liefert tatsächlich das Maximum. Laufzeit O(n)O(n)O(n).

Schritt-für-Schritt Erklärung3 Schritte
  1. 1

    Pseudocode ist die Lingua Franca der Algorithmen - sprachunabhaengig, aber präzise.

  2. 2

    Schleifeninvarianten sind das Fundament jeder Korrektheitsuessage.

  3. 3

    Flowcharts helfen, Kontrollflusss visuell zu prüfen - besonders bei verschachtelten Bedingungen.

SRDP-Aufgaben

SelbsttestAus der Fragenbank6 Punkte

Aufgabenstellung

Schreibe Pseudocode für den Algorithmus, der die Summe aller geraden Zahlen in einer Liste berechnet. Skizziere zusätzlich das Flowchart und gib die Laufzeit an.

Maturafokus

  • Pseudocode für typische Aufgaben (Summe, Minimum, Sortieren) sicher beherrschen.
  • Flowchart-Symbole erkennen und anwenden.
  • Schleifeninvariante an Beispiel formulieren (z.B. binaere Suche).

Typische Fehler

  • Pseudocode mit Python verwechselt (zu sprachspezifisch).
  • Flowchart-Symbole falsch verwendet (Operation in Raute).
  • Schleifeninvariante als Schleifenbedingung wiederholt.

Aktive Wiederholung

Schreibe Pseudocode für "Finde das Maximum in einer Liste". Notiere die Schleifeninvariante.

Aktiv abrufen

Erinnere dich an die Kernpunkte — dann aufdecken.

Quellen: Knuth: TAOCP Volume 1 - Fundamental Algorithms (Addison-Wesley)

Inhalt

Abschnitt -- / 03

    • 01Boolesche Algebra und Schaltnetze◐
    • 02UML-Diagramme - Klassen, Sequenz, Use Case◐
    • 03Pseudocode, Flowcharts und Programmverifikation○

0/3 Gelesen

Aus den Notizen ins Training

INF-Modell - Boolesche Logik, UML und Modellierung

Festige dieses Thema an passenden Aufgaben aus der Fragenbank.

~9
Min
3
Kompetenzen
Üben
Beispielfrage

Erstelle die Wahrheitstafel der Funktion f=(A∨B)∧¬(A∧B)f = (A \lor B) \land \lnot(A \land B)f=(A∨B)∧¬(A∧B). Wofür steht diese Funktion?

7 BE · 2021

Zur Fragenbank

Belege & Quellen

Quellen

Morgan Kaufmann

  • Patterson, Hennessy: Computer Organization and Design

Addison-Wesley

  • Fowler: UML Distilled, 3. Auflage
  • Knuth: TAOCP Volume 1 - Fundamental Algorithms

Vorheriges Thema

INF-OOP - Programmierparadigmen und Objektorientierung

EuraStudy·Notizen T·12·MMXXVI

Letztes Thema dieses Fachs — zurück zur Fachübersicht.