Projektvorschläge: Variablen und primitive Datentypen
Dieses Kapitel bietet dir eine Auswahl an selbstständigen Programmieraufgaben. Nutze sie, um dein Wissen über Veränderlichkeit, primitive Datentypen, Typkonvertierungen und Shadowing praktisch anzuwenden.
1. Code-Katas (Bottom-Up-Lernen)
Fokus: Festigung der Syntax und präzise Typkontrolle (Dauer: ca. 10–15 Minuten).
- Kata 1: Der Temperatursensor (Typkonvertierung)
- Aufgabe: Erstelle eine unveränderliche Ganzzahl
temperatur_celsius(z. B. mit dem Wert22). Konvertiere diese mithilfe desas-Operators in eine Fließkommazahl (f64). Berechne daraus die Temperatur in Fahrenheit ($F = C \times 1.8 + 32.0$) und gib das Ergebnis aus.
- Aufgabe: Erstelle eine unveränderliche Ganzzahl
- Kata 2: Das Lichtgitter (Booleans & Chars)
- Aufgabe: Deklariere eine boolesche Variable
sensor_aktiviertund ein Unicode-Zeichenwarnsymbol(z. B.'⚠'). Schreibe ein kurzes Programm, das je nach Zustand des Sensors eine unterschiedliche Statusmeldung zusammen mit dem Warnsymbol auf dem Terminal ausgibt.
- Aufgabe: Deklariere eine boolesche Variable
- Kata 3: Die Konstanten-Weiche
- Aufgabe: Definiere eine globale Konstante für eine maximale Geschwindigkeitsgrenze (
MAX_SPEED: u32 = 120). Deklariere inmaineine veränderliche Variable für die aktuelle Geschwindigkeit. Erhöhe diese Geschwindigkeit und gib aus, ob die aktuelle Geschwindigkeit die Grenze überschreitet.
- Aufgabe: Definiere eine globale Konstante für eine maximale Geschwindigkeitsgrenze (
2. Mini-Projekte (Top-Down-Lernen)
Fokus: Vom Ziel ausgehend ein nützliches Werkzeug entwerfen (Dauer: ca. 20–30 Minuten).
- Projekt A: Der Währungsrechner
- Ziel: Ein Programm, das einen Euro-Betrag (Ganzzahl) einliest und in US-Dollar sowie Schweizer Franken umrechnet.
- Herausforderung: Nutze globale Wechselkurs-Konstanten. Führe alle Berechnungen präzise mit Fließkommazahlen durch und konvertiere den Ganzzahl-Eurobetrag explizit.
- Projekt B: Der E-Book-Reader-Fortschritt
- Ziel: Ein Modul, das den Lesefortschritt eines Benutzers in Prozent berechnet.
- Herausforderung: Deklariere Variablen für die
aktuelle_seiteundgesamtseiten. Berechne den Fortschritt in Prozent als Fließkommazahl. Was passiert, wenn du versuchst, Ganzzahlen direkt zu teilen? Nutze explizite Typkonvertierung.
3. Refactoring-Übung
Fokus: Code-Qualität und Idiomatik verbessern (Dauer: ca. 15 Minuten).
- Aufgabe: Die unaufgeräumte Paket-Erfassung
- Ausgangslage: Du hast ein funktionierendes Programm, das viele temporäre Hilfsvariablen (wie
temp_gewicht,gewicht_neu,gewicht_final) deklariert, um ein Paketgewicht von Gramm in Kilogramm umzurechnen und zu runden. - Ziel: Nutze Shadowing, um die Anzahl der Variablenbezeichner drastisch zu reduzieren und den Code sauberer und lesbarer zu strukturieren, ohne das Verhalten des Programms zu verändern.
- Ausgangslage: Du hast ein funktionierendes Programm, das viele temporäre Hilfsvariablen (wie