Zusammenfassung

- **Unterschiedliche Zeitangaben tragen unterschiedlich viel Information**

Zusammenfassung: CharGraph Zeitberechnung

Kernprinzipien

  • Unterschiedliche Zeitangaben tragen unterschiedlich viel Information
  • Modifikatoren erhöhen die Entropie (Präzision)
  • Layout-Komplexität korreliert mit Entropie
  • Natürliche Sprache ist informationstheoretisch optimiert

Modifikatoren-Übersicht

ModifikatorBedeutungEinsatz
KURZKurz nach/vor:01, :02, :28-:29, :31, :58
BALDBald (2-3 Min vor Marke):03-:04, :08-:09, :13-:14, :27-:29, :34, :56-:59
FASTFast (1 Min vor Marke):04, :09, :14, :19, :29, :34, :39, :49, :54, :59

Prioritätsregeln

1 Minute vor 5er-Marke (:04, :09, :14, :19, :34, :39, :49, :54, :59)

FAST > BALD

  • :04 mit FAST+BALD → "FAST FÜNF NACH"
  • :09 mit FAST+BALD → "FAST ZEHN NACH"

2 Minuten vor 5er-Marke (:03, :08, :13, :18, :33, :38, :53)

BALD > FAST (wenn beide vorhanden)

  • :03 mit BALD+FAST → "BALD FÜNF NACH"
  • :33 mit BALD+FAST → "BALD FÜNF NACH HALB"

Vor HALB (:28-:29)

FAST > KURZ > BALD

  • :29 mit FAST → "FAST HALB"
  • :28 mit KURZ → "KURZ VOR HALB"

Vor voller Stunde (:57-:59)

  • :59: FAST > KURZ > BALD
  • :58: KURZ > BALD/FAST
  • :57: BALD (nur mit KURZ)

Spezialfälle

MinuteRegelGrund
:02KURZ komplett deaktiviertZu nah an :05
:27BALD nur bei allen 3 Modifikatoren3 Min vor :30 ist zu weit
:31KURZ nur mit FASTVerhindert Kollisionen
:44BALD DREIVIERTEL benötigt DREIVIERTEL-WortFallback auf Standardtext

Imperativ vs. Deklarativ

V0.1 - Imperativ (285 Zeilen)

if(mm === 0) { /* Code */ }
else if(mm === 1) { /* Code */ }
else if(mm === 2) { /* Code */ }
// ... 55 weitere else-if Blöcke ❌

Probleme:

  • ❌ Schwer lesbar und wartbar
  • ❌ Fehleranfällig (Copy-Paste-Fehler)
  • ❌ Schwer testbar (viele Pfade)

V0.2 - Deklarativ (60 Regel-Objekte)

const MINUTE_RULES = [
  { range: [0, 0], handler: (ctx) => [...] },
  { range: [1, 2], handler: (ctx) => [...] },
  // ... 58 weitere Regeln ✅
];

Vorteile:

  • ✅ Selbstdokumentierend
  • ✅ Änderungen isoliert
  • ✅ Einfach testbar
  • ✅ Erweiterbar

Visuelle Punkt-Logik

Grundprinzip

  • Positive Offsets (+ LEDs von links): addieren zur angezeigten Zeit
  • Negative Offsets (- LEDs von rechts): subtrahieren von der angezeigten Zeit

Beispiele

"FÜNF NACH EINS" (13:07)

  • Angezeigt: 13:05 | Offset: +2 | LEDs: ●● von links | Berechnung: 5 + 2 = 7 ✓

"FÜNF VOR ELF" (10:53)

  • Angezeigt: 10:55 | Offset: -2 | LEDs: ●● von rechts | Berechnung: 55 - 2 = 53 ✓

"BALD ZWEI" (13:58)

  • Angezeigt: 14:00 | Offset: -2 | LEDs: ●● von rechts | Berechnung: 60 - 2 = 58 ✓

Qualitätssicherung

Mehrschichtige Validierung

  1. Strukturvalidierung

    • Sind alle erforderlichen Wörter vorhanden? (ES, IST, HALB, UHR, VOR, NACH)
  2. Nachbarschafts-Validierung

    • Gibt es identische benachbarte Buchstaben?
  3. Schutzrechts-Compliance

    • Ist das Layout identisch mit geschützten Designs?

Test-Kategorien

  • Äquivalenzklassen (00:00, 12:00, X:05, X:10, ...)
  • Grenzwerte (Mitternacht, Mittag, Tagesübergang)
  • Spezialfälle (Minute 04, 29, 45-49)

CAD-Editor Features

Benutzeroberfläche:

  • ✓ Interaktives 11×10 Raster
  • ✓ Drag-and-Drop Wort-Palette
  • ✓ Undo/Redo-Funktionalität
  • ✓ Live-Zeit-Simulation
  • ✓ Echtzeit-Beleuchtungs-Vorschau
  • ✓ Punkt-Anzeige-Simulation
  • ✓ 3D-STL Export

Intelligente Funktionen:

  • Durchstreichung verwendeter Wörter
  • Hover-Effekt zur Position-Hervorhebung
  • Keyboard-Navigation (← / →)
  • localStorage für Palette-Status

Lernziele

Schüler (Sek I + II):

  • Imperative vs. Deklarative Programmierung
  • Design Patterns (Rule Engine, Strategy)
  • Refactoring-Techniken
  • Code-Smell-Erkennung

Studenten (Hochschule):

  • Wartbarkeitsmetriken (Zyklomatische Komplexität)
  • Software-Engineering
  • Functional Programming
  • DSLs (Domain-Specific Languages)

Kompetenzentwicklung

Algorithmisches Denken:

  • Problemzerlegung, Abstraktion, Mustererkennung

Software-Engineering:

  • Design Patterns, Testing, Validierung

Mathematik/Logik:

  • Modulo-Arithmetik, Constraint-Satisfaction, Boolean Logic

User Experience:

  • Interface-Design, Feedback-Mechanismen, visuelles Design

Erweiterungsmöglichkeiten

Hardware:

  • Spiele-Konsole (Snake, Tetris)
  • Daten-Visualisierung (Spektrum, Temperatur)
  • IoT-Integration (WLAN, MQTT, APIs)

Software:

  • Multi-Language Support (Englisch, Französisch)
  • Animations-Engine
  • KI-Integration (automatische Optimierung)

Code-Metriken: V0.1 vs. V0.2

MetrikV0.1V0.2Verbesserung
Zeilen Code28580-72%
Zyklomatische Komplexität1503-5-95%
Test-Coverage~60%95%+58%
Änderungsaufwand30 Min5 Min-83%
Bugs pro 100 LOC~4<1-75%