Rust/Grundlagen: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
| Zeile 2: | Zeile 2: | ||
---- | ---- | ||
Willkommen beim coolsten Programmier-Abenteuer überhaupt! Hast du dich schon mal gefragt, wie Videospiele, Apps oder Roboter funktionieren? Sie alle sprechen eine geheime Sprache: Code! Und wir lernen jetzt zusammen eine der schnellsten und sichersten Sprachen der Welt: '''Rust'''. Keine Sorge, es ist ganz einfach. Wenn du mit Lego bauen kannst, kannst du auch mit Rust programmieren! | |||
Unsere Mission in den ersten zwei Wochen: Wir lernen die Werkzeuge kennen und schreiben unsere allerersten magischen Zeilen Code. | |||
== | == 1. Installation und Setup — Packen wir unseren Werkzeugkasten! == | ||
Bevor ein Handwerker ein Baumhaus bauen kann, braucht er Hammer und Säge. Genauso brauchen wir als Entwickler unsere eigenen Werkzeuge. | |||
=== | === Installation von `rustup`, `rustc` und `cargo` === | ||
Um Rust | Um Rust auf deinem Computer zu benutzen, brauchen wir einen magischen Installateur namens '''rustup'''. | ||
* '''rustup''': Das ist | * '''rustup''': Das ist der Helfer, der Rust auf deinen Computer holt. | ||
* '''rustc''': | * '''rustc''': Das ist der Übersetzer (Compiler). Er übersetzt unseren für uns lesbaren Code in eine Sprache, die der Computer (Einsen und Nullen) versteht. | ||
* '''cargo''': | * '''cargo''': Das ist dein persönlicher Butler! Er baut deine Programme, holt dir neue Bausteine (Bibliotheken) und hilft dir beim Starten. | ||
''' | '''So geht's:''' | ||
Gehe auf die Webseite [https://rustup.rs/ rustup.rs] und befolge die Anweisungen für deinen Computer (Windows, Mac oder Linux). Meistens musst du nur einen kleinen Befehl kopieren und ausführen. | |||
=== Das | === Das „Hello World!“-Programm === | ||
Das ist Tradition unter Programmierern: Das allererste Programm, das man schreibt, sagt immer "Hallo Welt". Lass uns das bauen! | |||
Öffne dein Terminal (die Kommandozeile) und tippe ein, um Cargo zu bitten, ein neues Projekt zu machen: | |||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
cargo new hallo_welt | cargo new hallo_welt | ||
| Zeile 38: | Zeile 29: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Boom! Da steht „Hello, world!“ auf dem Bildschirm. Du hast gerade dein erstes Programm ausgeführt! 🥳 | |||
=== Einrichtung der IDE (VS Code) === | |||
Eine IDE ist dein Schreibtisch zum Programmieren. Wir empfehlen '''Visual Studio Code''' (VS Code). | |||
# Lade dir VS Code aus dem Internet herunter. | |||
# Öffne es und suche links nach "Erweiterungen" (Extensions) – das sind so kleine Bauklötze-Symbole. | |||
# Suche nach '''rust-analyzer''' und installiere es. Das ist dein magischer Assistent, der dir Fehler anzeigt und dir hilft, Code schneller zu schreiben! | |||
== 2. Grundlegende Syntax — Die ersten Legosteine == | |||
Jetzt schauen wir uns an, woraus so ein Programm eigentlich besteht. | |||
== | === Variablen und Veränderbarkeit (`let`, `let mut`) === | ||
Eine Variable ist wie eine Kiste, auf die du einen Namen schreibst und etwas hineinlegst. | |||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
fn main() { | fn main() { | ||
let alter = 10; | let alter = 10; // Eine Kiste namens "alter" mit der Zahl 10 drin. | ||
println!("Ich bin {} Jahre alt.", alter); | println!("Ich bin {} Jahre alt.", alter); | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
In Rust sind Kisten normalerweise | |||
'''Achtung, Falle!''' In Rust sind Kisten normalerweise verschlossen (unveränderbar, in Englisch: ''immutable''). Wenn du den Inhalt der Kiste später ändern willst, musst du das magische Wort '''mut''' (für mutabel/veränderbar) benutzen! | |||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
fn main() { | fn main() { | ||
let mut | let mut taschengeld = 5; // mut bedeutet: Wir dürfen die Kiste öffnen! | ||
taschengeld = 10; // Jetzt hast du mehr Taschengeld! | |||
println!(" | println!("Ich habe {} Euro.", taschengeld); | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Datentypen | === Datentypen — Was passt in die Kiste? === | ||
Der Computer muss wissen, | Der Computer muss wissen, WAS in der Kiste ist. Eine Zahl? Ein Buchstabe? Ein ganzes Wort? | ||
* ''' | * '''Integer (Zahlen ohne Komma):''' `let alter = 10;` | ||
* | * '''Float (Zahlen mit Komma - wichtig: Im Englischen nimmt man den Punkt!):''' `let groesse = 1.45;` | ||
* | * '''Booleans (Ja oder Nein / Wahr oder Falsch):''' `let mag_eis = true;` | ||
* '''Strings (Wörter und Sätze):''' `let name = "Thorsten";` | |||
* ''' | |||
=== Funktionen und Kommentare === | === Funktionen und Kommentare === | ||
Kommentare sind Notizen | '''Kommentare''' (`//`) sind Notizen für dich! Der Computer liest sie nicht mit. Sie sind wie kleine Post-its in deinem Code. | ||
Funktionen sind wie | |||
'''Funktionen''' sind wie kleine Maschinen. Du gibst ihnen einen Namen und was sie tun sollen, und dann kannst du sie immer wieder anwerfen. Unser Programm startet immer in der `main` Funktion. | |||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
// Das ist eine Funktion | // Das ist eine Funktion, die "Wuff" sagt. | ||
fn | fn hund_bellen() { | ||
println!("Wuff | println!("Wuff! Wuff!"); | ||
} | } | ||
fn main() { | fn main() { | ||
// Hier | hund_bellen(); // Hier rufen wir die Maschine auf! | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
== 3. Kontrollstrukturen — Wer bestimmt hier den Weg? == | |||
Manchmal soll ein Programm Entscheidungen treffen. Wenn es regnet, nimm den Regenschirm. Wenn die Sonne scheint, nimm die Sonnenbrille. | |||
== | === Bedingungen (`if`, `else if`, `else`) === | ||
Mit `if` (wenn) und `else` (sonst) können wir dem Computer sagen, was er bei Entscheidungen tun soll. | |||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
fn main() { | fn main() { | ||
let | let schoko_eis = true; | ||
if | if schoko_eis { | ||
println!(" | println!("Oh lecker, Schokoeis!"); // Das wird gemacht, wenn schoko_eis "true" (wahr) ist. | ||
} else { | } else { | ||
println!(" | println!("Ein anderes Eis ist auch okay."); // Das wird gemacht, wenn es nicht wahr ist. | ||
} | } | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
=== Schleifen | === Schleifen (`loop`, `while`, `for`) — Immer wieder dasselbe! === | ||
Wenn du 10-mal "Hallo" sagen willst, musst du das nicht 10-mal hinschreiben. Dafür gibt es Schleifen! | |||
* '''`loop`''': Macht etwas für immer, bis du mit `break` (abbrechen) Stopp sagst. | |||
* '''`while`''': Macht etwas, *solange* eine Bedingung wahr ist (z.B. solange du noch Bonbons hast). | |||
* '''`for`''': Zählt automatisch mit! | |||
<syntaxhighlight lang="rust"> | <syntaxhighlight lang="rust"> | ||
fn main() { | fn main() { | ||
// Zählt von 1 bis 5 | |||
for zahl in 1..6 { | |||
println!("Zahl ist: {}", zahl); | |||
println!(" | |||
} | } | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
'''2. | --- | ||
< | |||
== Praxisbezogenes Lernen: 50 Magische Mini-Projekte == | |||
Programmieren lernt man durchs Selbermachen! Hier sind 50 kleine Aufgaben für dich zum Üben. Setz die neuen Legosteine zusammen! | |||
<ol> | |||
<li>'''Hallo-Welt-Roboter:''' Verändere dein Programm, sodass es "Hallo Meister!" sagt.</li> | |||
<li>'''Namensschild-Drucker:''' Erstelle eine Variable mit deinem Namen und gib aus: "Mein Name ist [Name]".</li> | |||
<li>'''Alter in Tagen:''' Multipliziere dein Alter mit 365, um herauszufinden, wie viele Tage du lebst (Tipp: `*` ist malnehmen).</li> | |||
<li>'''Lieblingsfarben-Zeiger:''' Drei Variablen mit Farben anlegen und kreativ auf dem Bildschirm ausdrucken.</li> | |||
</ | <li>'''Einfacher Plus-Taschenrechner:''' Addiere Variablen `a = 10` und `b = 15`.</li> | ||
<li>'''Minus-Taschenrechner:''' Ziehe zwei Zahlen voneinander ab.</li> | |||
<li>'''Mal-Maschine:''' Multipliziere drei Variablen.</li> | |||
<li>'''Teilen-Trainer:''' Teile dein Taschengeld (als Float) durch 2 (Tipp: `/`).</li> | |||
<li>'''Satz-Zusammensetzer:''' Drucke mehrere Wörter aus Variablen in einem Satz.</li> | |||
<li>'''Mein erster Kommentar:''' Schreibe einen Code und beschreibe ihn in 3 Kommentarzeilen.</li> | |||
<li>'''Taschengeld-Update:''' Mache eine `mut` Variable, gib ihr 5 Euro, dann überschreibe sie mit 20 Euro. Drucke beides!</li> | |||
<li>'''Level-Up:''' Ein `mut` Level in einem Spiel, zähle 1 Level hoch (`level = level + 1`).</li> | |||
<li>'''Stimmungs-Bool:''' `let bin_froh = true;`. Drucke es aus.</li> | |||
<li>'''Eis-Prüfer:''' if-Abfrage: Wenn `bin_froh == true`, dann print "Yay!".</li> | |||
<li>'''Türsteher (Achterbahn):''' Erstelle `let groesse = 140;`. Wenn `groesse > 130`, dann "Darf fahren!", `else` "Leider noch zu klein."</li> | |||
<li>'''Passwort-Labyrinth:''' `let code = 1234;`. Prüfe, ob `code == 1234` ist.</li> | |||
<li>'''Ampel-Simulator:''' `let farbe = "Rot";`. `if` Rot -> "Stopp", `else if` Grün -> "Los!".</li> | |||
<li>'''Wetter-Prophet:''' Bestimme mit if-else, was du anziehst (Regen vs. Sonne).</li> | |||
<li>'''Schulnoten-Bewerter:''' Prüfe Noten 1 bis 6 und gib dazu passenden Text wie "Super!" oder "Oje." aus.</li> | |||
<li>'''Lieblingstier:''' Wenn Tier == "Hund", bellen, bei "Katze" miauen.</li> | |||
<li>'''Endlos-Bohrer:''' Nutze `loop { println!("Bohren..."); }` (Bohre endlos - breche mit Strg+C ab!).</li> | |||
<li>'''Zahlenschloss-Knacker:''' Zähle in einem `loop` eine `mut`-Variable hoch und stoppe bei 10 mit `break`.</li> | |||
<li>'''Raketen-Countdown:''' Mit einer `while`-Schleife von 10 herunterzählen, dann "Liftoff!".</li> | |||
<li>'''Stammgast-Prüfer:''' `while hungrig == true`, iss einen Keks (simuliert).</li> | |||
<li>'''Papagei-Programm:''' Sag 5 Mal "Hallo" in einer `for`-Schleife.</li> | |||
<li>'''Das Einmaleins:''' Zähle von 1..11 und multipliziere den Zähler mit 2 (2er Reihe).</li> | |||
<li>'''Zehner-Sprünge:''' Eine for-Schleife, die 10, 20, 30 ausgibt (Tipp: Multiplizieren).</li> | |||
<li>'''Glückszahl-Finder:''' Finde in einer Schleife deine Glückszahl und schreibe "GEFUNDEN!" (mit if und break).</li> | |||
<li>'''Ungerade Zahlen:''' Drucke nur ungerade Zahlen mit `if zahl % 2 != 0`.</li> | |||
<li>'''Erste eigene Funktion:''' Mach eine Funktion `sag_tschuess()`.</li> | |||
<li>'''Tierstimmen-Funktionen:''' Mach drei Funktionen: `hund()`, `katze()`, `kuh()`. Rufe alle in main auf.</li> | |||
<li>'''Quadratmaschine (Funktion):''' Mach eine Variablen-Rechnung in einer separaten Funktion.</li> | |||
<li>'''Wochentag-Anzeiger:''' Wenn Zahl = 1, dann Montag, usw.</li> | |||
<li>'''Guten-Morgen-Schleife:''' Sage einer Liste von 3 Leuten (mit drei prints in der Schleife) Guten Morgen.</li> | |||
<li>'''Hundejahre-Umrechner:''' Multipliziere dein Alter mit 7.</li> | |||
<li>'''Kilometer-in-Meter:''' Rechne 5 km in Meter (mal 1000) um.</li> | |||
<li>'''Pizza-Teiler:''' Wenn ich 8 Stücke habe und wir 3 Kinder sind, wie viel bleibt übrig? (Modulo `%`).</li> | |||
<li>'''Spardosen-Checker:''' if Taschengeld > Spiele-Preis? "Du kannst es kaufen!"</li> | |||
<li>'''Begrüßungs-Türsteher:''' Nutze `let name = "Dein Name";`. Wenn es dein Name ist, begrüße freundlich, sonst grimmig.</li> | |||
<li>'''Ping-Pong-Zähler:''' Eine `for`-Schleife. Bei geraden Zahlen "Ping", bei ungeraden "Pong".</li> | |||
<li>'''Wecker-Klingeln:''' Eine for-Schleife 1..4 mit "Klingeling!".</li> | |||
<li>'''Lebenspunkte-Trank:''' `mut hp = 50;` -> `hp = hp + 20;` Wenn > 100, setze auf 100.</li> | |||
<li>'''Geschwindigkeits-Blitzer:''' Schneller als 50 km/h? -> "Geknipst!".</li> | |||
<li>'''Magisches Viereck:''' Berechne den Flächeninhalt (Seite mal Seite).</li> | |||
<li>'''Würfel-Simulation (Manuell):''' Variablen für 3 Würfe. Zähle sie zusammen.</li> | |||
<li>'''Die Geheim-Naricht:''' Drucke Buchstaben einzeln aus.</li> | |||
<li>'''Bug-Fixer:''' Schreibe ein Programm, vergiss absichtlich ein Semikolon `;` und schau, wie nett der Cargo Compiler dir hilft!</li> | |||
<li>'''Der Zornige Chef:''' Eine Funktion `schreien()`, die alles großschreibt (simuliert über println).</li> | |||
<li>'''Kaffeemaschine:''' `let wasser_da = true; let kaffee_da = false;` if beides true -> "Kaffee machen", sonst Fehler.</li> | |||
<li>'''Tagebuch-Einleitung:''' Nutze Variablen für Datum und Wetter und schreibe die Startzeile deines Tagebuchs.</li> | |||
</ol> | |||
== Strukturierung ins Top-Down-Lernen: 10 Große Projekte == | |||
Du willst mehr? Hier kommen die epischen Herausforderungen! Diese großen Projekte fordern all dein Wissen und setzen mehrere kleine Lego-Konzepte zusammen. Nimm dir Zeit! | |||
=== 1. Das "Magische Zahlenraten" Simulator === | |||
* '''Was du baust:''' Ein Programm, das so tut, als hätte es eine Geheimzahl (z.B. 42). Du erstellst eine Variable mit einer "geratenen" Zahl. Mit `if`, `else if` und `else` sagst du dem Benutzer: "Zu hoch!", "Zu niedrig!" oder "Treffer!". | |||
=== 2. Text-Adventure: "Die Suche nach dem verlorenen Keks" === | |||
* '''Was du baust:''' Ein interaktives Geschichten-Spiel. Nutze Variablen wie `let hat_schluessel = true;`. Schreibe `if`-Abfragen: Wenn du am Drachen vorbei willst und keinen Schlüssel hast -> Spielende. Wenn du den Schlüssel hast -> Du kommst zum Raum mit dem Keks! Nutze eigene Funktionen für verschiedene "Räume" (z.B. `fn drachenhöhle()`). | |||
=== 3. Virtuelles Alien-Tamagotchi === | |||
* '''Was du baust:''' Deine `mut`-Variablen heißen `hunger` und `muedigkeit`. Mit einer `loop`-Schleife vergeht simuliert die Zeit (der Hunger steigt). Wenn Hunger > 10, stirbt das Tamagotchi (break). Du simulierst "Füttern", indem du den Hunger-Wert mit if-Abfragen zwischendurch reduzierst. | |||
=== 4. Der Taschengeld-Manager 3000 === | |||
* '''Was du baust:''' Eine Schleife (`while` oder `for`), in der du "Ausgaben" simulierst. Du startest mit 50 Euro. Du kaufst (durch Code) ein Eis (-2€), ein Spiel (-30€). Der Manager druckt immer den neuen Kontostand. Gehst du unter 0, warnt er "Du bist pleite!" und stoppt die Schleife. | |||
=== 5. Der Geheimcode-Generator (Verschlüsselung) === | |||
* '''Was du baust:''' Das Programm nimmt feste Wörter. Es zerlegt das Problem in Funktionen, z.B. eine Funktion, die "Hallo" rückwärts ausgibt oder bestimmte Buchstaben wie das 'a' gegen ein 'x' tauscht (durch mehrere `if`-Abfragen). | |||
=== 6. Quiz-Master Console === | |||
* '''Was du baust:''' Ein Frage-und-Antwort-Spiel. Du hast 3 Fragen. Wenn die simulierte Antwort des Spielers richtig ist, gibt es einen Punkt (`mut punkte = punkte + 1`). Am Ende der Funktion sagt dir das Programm mit `if`, ob du Gold, Silber oder Bronze gewonnen hast. | |||
=== 7. ASCII-Art Raketenbauer === | |||
* '''Was du baust:''' Male komplexe Gebilde mithilfe von Code! Nutze `for`-Schleifen, um Pyramidenmustern aus Sternchen (`*`) oder eine riesige Rakete aufs Terminal zu malen. Hier trainierst du Schleifen-Logik par excellence. | |||
=== 8. Schere, Stein, Papier (Simuliert) === | |||
* '''Was du baust:''' Variablen für Spieler 1 und Spieler 2 stellen "Schere", "Stein" oder "Papier" dar. Konstruiere tief verschachtelte `if / else if`-Bedingungen, um zu ermitteln, wer das Match gewonnen hat. | |||
=== 9. Der kleine Vokabeltrainer === | |||
* '''Was du baust:''' Mache drei Funktionen: `lerne_englisch()`, `lerne_spanisch()`, `lerne_chinesisch()`. Baue einen Kontroll-Fluss (if-else), um je nach gewählter Sprache (Zahl 1, 2 oder 3) in die richtige Funktion zu springen, wo Vokabeln geprintet werden. | |||
== | === 10. Ampel-Steuerung für eine Mega-City === | ||
* '''Was du baust:''' Eine `while`-Schleife läuft 10 mal (simuliert 10 Tage). Jede Ampel (es gibt Fußgänger und Autos) ist eine Variable. Die Schleifen wechseln die Farben. Wenn Autofarbe = Grün, MUSS Fußgänger = Rot sein, sonst löst du im Terminal einen "Crash-Alarm!" (println) aus. | |||
Viel Erfolg! Am Ende dieser zwei Wochen wirst du schon wie ein richtiger Programmierer denken. Bleib dran, mach Fehler und hab Spaß dabei! | |||
---- | ---- | ||
''Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).'' | ''Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).'' | ||
Version vom 4. März 2026, 00:26 Uhr
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).
Willkommen beim coolsten Programmier-Abenteuer überhaupt! Hast du dich schon mal gefragt, wie Videospiele, Apps oder Roboter funktionieren? Sie alle sprechen eine geheime Sprache: Code! Und wir lernen jetzt zusammen eine der schnellsten und sichersten Sprachen der Welt: Rust. Keine Sorge, es ist ganz einfach. Wenn du mit Lego bauen kannst, kannst du auch mit Rust programmieren!
Unsere Mission in den ersten zwei Wochen: Wir lernen die Werkzeuge kennen und schreiben unsere allerersten magischen Zeilen Code.
1. Installation und Setup — Packen wir unseren Werkzeugkasten!
Bevor ein Handwerker ein Baumhaus bauen kann, braucht er Hammer und Säge. Genauso brauchen wir als Entwickler unsere eigenen Werkzeuge.
Installation von `rustup`, `rustc` und `cargo`
Um Rust auf deinem Computer zu benutzen, brauchen wir einen magischen Installateur namens rustup.
- rustup: Das ist der Helfer, der Rust auf deinen Computer holt.
- rustc: Das ist der Übersetzer (Compiler). Er übersetzt unseren für uns lesbaren Code in eine Sprache, die der Computer (Einsen und Nullen) versteht.
- cargo: Das ist dein persönlicher Butler! Er baut deine Programme, holt dir neue Bausteine (Bibliotheken) und hilft dir beim Starten.
So geht's: Gehe auf die Webseite rustup.rs und befolge die Anweisungen für deinen Computer (Windows, Mac oder Linux). Meistens musst du nur einen kleinen Befehl kopieren und ausführen.
Das „Hello World!“-Programm
Das ist Tradition unter Programmierern: Das allererste Programm, das man schreibt, sagt immer "Hallo Welt". Lass uns das bauen!
Öffne dein Terminal (die Kommandozeile) und tippe ein, um Cargo zu bitten, ein neues Projekt zu machen:
cargo new hallo_welt
cd hallo_welt
cargo run
Boom! Da steht „Hello, world!“ auf dem Bildschirm. Du hast gerade dein erstes Programm ausgeführt! 🥳
Einrichtung der IDE (VS Code)
Eine IDE ist dein Schreibtisch zum Programmieren. Wir empfehlen Visual Studio Code (VS Code).
- Lade dir VS Code aus dem Internet herunter.
- Öffne es und suche links nach "Erweiterungen" (Extensions) – das sind so kleine Bauklötze-Symbole.
- Suche nach rust-analyzer und installiere es. Das ist dein magischer Assistent, der dir Fehler anzeigt und dir hilft, Code schneller zu schreiben!
2. Grundlegende Syntax — Die ersten Legosteine
Jetzt schauen wir uns an, woraus so ein Programm eigentlich besteht.
Variablen und Veränderbarkeit (`let`, `let mut`)
Eine Variable ist wie eine Kiste, auf die du einen Namen schreibst und etwas hineinlegst.
fn main() {
let alter = 10; // Eine Kiste namens "alter" mit der Zahl 10 drin.
println!("Ich bin {} Jahre alt.", alter);
}
Achtung, Falle! In Rust sind Kisten normalerweise verschlossen (unveränderbar, in Englisch: immutable). Wenn du den Inhalt der Kiste später ändern willst, musst du das magische Wort mut (für mutabel/veränderbar) benutzen!
fn main() {
let mut taschengeld = 5; // mut bedeutet: Wir dürfen die Kiste öffnen!
taschengeld = 10; // Jetzt hast du mehr Taschengeld!
println!("Ich habe {} Euro.", taschengeld);
}
Datentypen — Was passt in die Kiste?
Der Computer muss wissen, WAS in der Kiste ist. Eine Zahl? Ein Buchstabe? Ein ganzes Wort?
- Integer (Zahlen ohne Komma): `let alter = 10;`
- Float (Zahlen mit Komma - wichtig: Im Englischen nimmt man den Punkt!): `let groesse = 1.45;`
- Booleans (Ja oder Nein / Wahr oder Falsch): `let mag_eis = true;`
- Strings (Wörter und Sätze): `let name = "Thorsten";`
Funktionen und Kommentare
Kommentare (`//`) sind Notizen für dich! Der Computer liest sie nicht mit. Sie sind wie kleine Post-its in deinem Code.
Funktionen sind wie kleine Maschinen. Du gibst ihnen einen Namen und was sie tun sollen, und dann kannst du sie immer wieder anwerfen. Unser Programm startet immer in der `main` Funktion.
// Das ist eine Funktion, die "Wuff" sagt.
fn hund_bellen() {
println!("Wuff! Wuff!");
}
fn main() {
hund_bellen(); // Hier rufen wir die Maschine auf!
}
3. Kontrollstrukturen — Wer bestimmt hier den Weg?
Manchmal soll ein Programm Entscheidungen treffen. Wenn es regnet, nimm den Regenschirm. Wenn die Sonne scheint, nimm die Sonnenbrille.
Bedingungen (`if`, `else if`, `else`)
Mit `if` (wenn) und `else` (sonst) können wir dem Computer sagen, was er bei Entscheidungen tun soll.
fn main() {
let schoko_eis = true;
if schoko_eis {
println!("Oh lecker, Schokoeis!"); // Das wird gemacht, wenn schoko_eis "true" (wahr) ist.
} else {
println!("Ein anderes Eis ist auch okay."); // Das wird gemacht, wenn es nicht wahr ist.
}
}
Schleifen (`loop`, `while`, `for`) — Immer wieder dasselbe!
Wenn du 10-mal "Hallo" sagen willst, musst du das nicht 10-mal hinschreiben. Dafür gibt es Schleifen!
- `loop`: Macht etwas für immer, bis du mit `break` (abbrechen) Stopp sagst.
- `while`: Macht etwas, *solange* eine Bedingung wahr ist (z.B. solange du noch Bonbons hast).
- `for`: Zählt automatisch mit!
fn main() {
// Zählt von 1 bis 5
for zahl in 1..6 {
println!("Zahl ist: {}", zahl);
}
}
---
Praxisbezogenes Lernen: 50 Magische Mini-Projekte
Programmieren lernt man durchs Selbermachen! Hier sind 50 kleine Aufgaben für dich zum Üben. Setz die neuen Legosteine zusammen!
- Hallo-Welt-Roboter: Verändere dein Programm, sodass es "Hallo Meister!" sagt.
- Namensschild-Drucker: Erstelle eine Variable mit deinem Namen und gib aus: "Mein Name ist [Name]".
- Alter in Tagen: Multipliziere dein Alter mit 365, um herauszufinden, wie viele Tage du lebst (Tipp: `*` ist malnehmen).
- Lieblingsfarben-Zeiger: Drei Variablen mit Farben anlegen und kreativ auf dem Bildschirm ausdrucken.
- Einfacher Plus-Taschenrechner: Addiere Variablen `a = 10` und `b = 15`.
- Minus-Taschenrechner: Ziehe zwei Zahlen voneinander ab.
- Mal-Maschine: Multipliziere drei Variablen.
- Teilen-Trainer: Teile dein Taschengeld (als Float) durch 2 (Tipp: `/`).
- Satz-Zusammensetzer: Drucke mehrere Wörter aus Variablen in einem Satz.
- Mein erster Kommentar: Schreibe einen Code und beschreibe ihn in 3 Kommentarzeilen.
- Taschengeld-Update: Mache eine `mut` Variable, gib ihr 5 Euro, dann überschreibe sie mit 20 Euro. Drucke beides!
- Level-Up: Ein `mut` Level in einem Spiel, zähle 1 Level hoch (`level = level + 1`).
- Stimmungs-Bool: `let bin_froh = true;`. Drucke es aus.
- Eis-Prüfer: if-Abfrage: Wenn `bin_froh == true`, dann print "Yay!".
- Türsteher (Achterbahn): Erstelle `let groesse = 140;`. Wenn `groesse > 130`, dann "Darf fahren!", `else` "Leider noch zu klein."
- Passwort-Labyrinth: `let code = 1234;`. Prüfe, ob `code == 1234` ist.
- Ampel-Simulator: `let farbe = "Rot";`. `if` Rot -> "Stopp", `else if` Grün -> "Los!".
- Wetter-Prophet: Bestimme mit if-else, was du anziehst (Regen vs. Sonne).
- Schulnoten-Bewerter: Prüfe Noten 1 bis 6 und gib dazu passenden Text wie "Super!" oder "Oje." aus.
- Lieblingstier: Wenn Tier == "Hund", bellen, bei "Katze" miauen.
- Endlos-Bohrer: Nutze `loop { println!("Bohren..."); }` (Bohre endlos - breche mit Strg+C ab!).
- Zahlenschloss-Knacker: Zähle in einem `loop` eine `mut`-Variable hoch und stoppe bei 10 mit `break`.
- Raketen-Countdown: Mit einer `while`-Schleife von 10 herunterzählen, dann "Liftoff!".
- Stammgast-Prüfer: `while hungrig == true`, iss einen Keks (simuliert).
- Papagei-Programm: Sag 5 Mal "Hallo" in einer `for`-Schleife.
- Das Einmaleins: Zähle von 1..11 und multipliziere den Zähler mit 2 (2er Reihe).
- Zehner-Sprünge: Eine for-Schleife, die 10, 20, 30 ausgibt (Tipp: Multiplizieren).
- Glückszahl-Finder: Finde in einer Schleife deine Glückszahl und schreibe "GEFUNDEN!" (mit if und break).
- Ungerade Zahlen: Drucke nur ungerade Zahlen mit `if zahl % 2 != 0`.
- Erste eigene Funktion: Mach eine Funktion `sag_tschuess()`.
- Tierstimmen-Funktionen: Mach drei Funktionen: `hund()`, `katze()`, `kuh()`. Rufe alle in main auf.
- Quadratmaschine (Funktion): Mach eine Variablen-Rechnung in einer separaten Funktion.
- Wochentag-Anzeiger: Wenn Zahl = 1, dann Montag, usw.
- Guten-Morgen-Schleife: Sage einer Liste von 3 Leuten (mit drei prints in der Schleife) Guten Morgen.
- Hundejahre-Umrechner: Multipliziere dein Alter mit 7.
- Kilometer-in-Meter: Rechne 5 km in Meter (mal 1000) um.
- Pizza-Teiler: Wenn ich 8 Stücke habe und wir 3 Kinder sind, wie viel bleibt übrig? (Modulo `%`).
- Spardosen-Checker: if Taschengeld > Spiele-Preis? "Du kannst es kaufen!"
- Begrüßungs-Türsteher: Nutze `let name = "Dein Name";`. Wenn es dein Name ist, begrüße freundlich, sonst grimmig.
- Ping-Pong-Zähler: Eine `for`-Schleife. Bei geraden Zahlen "Ping", bei ungeraden "Pong".
- Wecker-Klingeln: Eine for-Schleife 1..4 mit "Klingeling!".
- Lebenspunkte-Trank: `mut hp = 50;` -> `hp = hp + 20;` Wenn > 100, setze auf 100.
- Geschwindigkeits-Blitzer: Schneller als 50 km/h? -> "Geknipst!".
- Magisches Viereck: Berechne den Flächeninhalt (Seite mal Seite).
- Würfel-Simulation (Manuell): Variablen für 3 Würfe. Zähle sie zusammen.
- Die Geheim-Naricht: Drucke Buchstaben einzeln aus.
- Bug-Fixer: Schreibe ein Programm, vergiss absichtlich ein Semikolon `;` und schau, wie nett der Cargo Compiler dir hilft!
- Der Zornige Chef: Eine Funktion `schreien()`, die alles großschreibt (simuliert über println).
- Kaffeemaschine: `let wasser_da = true; let kaffee_da = false;` if beides true -> "Kaffee machen", sonst Fehler.
- Tagebuch-Einleitung: Nutze Variablen für Datum und Wetter und schreibe die Startzeile deines Tagebuchs.
Strukturierung ins Top-Down-Lernen: 10 Große Projekte
Du willst mehr? Hier kommen die epischen Herausforderungen! Diese großen Projekte fordern all dein Wissen und setzen mehrere kleine Lego-Konzepte zusammen. Nimm dir Zeit!
1. Das "Magische Zahlenraten" Simulator
- Was du baust: Ein Programm, das so tut, als hätte es eine Geheimzahl (z.B. 42). Du erstellst eine Variable mit einer "geratenen" Zahl. Mit `if`, `else if` und `else` sagst du dem Benutzer: "Zu hoch!", "Zu niedrig!" oder "Treffer!".
2. Text-Adventure: "Die Suche nach dem verlorenen Keks"
- Was du baust: Ein interaktives Geschichten-Spiel. Nutze Variablen wie `let hat_schluessel = true;`. Schreibe `if`-Abfragen: Wenn du am Drachen vorbei willst und keinen Schlüssel hast -> Spielende. Wenn du den Schlüssel hast -> Du kommst zum Raum mit dem Keks! Nutze eigene Funktionen für verschiedene "Räume" (z.B. `fn drachenhöhle()`).
3. Virtuelles Alien-Tamagotchi
- Was du baust: Deine `mut`-Variablen heißen `hunger` und `muedigkeit`. Mit einer `loop`-Schleife vergeht simuliert die Zeit (der Hunger steigt). Wenn Hunger > 10, stirbt das Tamagotchi (break). Du simulierst "Füttern", indem du den Hunger-Wert mit if-Abfragen zwischendurch reduzierst.
4. Der Taschengeld-Manager 3000
- Was du baust: Eine Schleife (`while` oder `for`), in der du "Ausgaben" simulierst. Du startest mit 50 Euro. Du kaufst (durch Code) ein Eis (-2€), ein Spiel (-30€). Der Manager druckt immer den neuen Kontostand. Gehst du unter 0, warnt er "Du bist pleite!" und stoppt die Schleife.
5. Der Geheimcode-Generator (Verschlüsselung)
- Was du baust: Das Programm nimmt feste Wörter. Es zerlegt das Problem in Funktionen, z.B. eine Funktion, die "Hallo" rückwärts ausgibt oder bestimmte Buchstaben wie das 'a' gegen ein 'x' tauscht (durch mehrere `if`-Abfragen).
6. Quiz-Master Console
- Was du baust: Ein Frage-und-Antwort-Spiel. Du hast 3 Fragen. Wenn die simulierte Antwort des Spielers richtig ist, gibt es einen Punkt (`mut punkte = punkte + 1`). Am Ende der Funktion sagt dir das Programm mit `if`, ob du Gold, Silber oder Bronze gewonnen hast.
7. ASCII-Art Raketenbauer
- Was du baust: Male komplexe Gebilde mithilfe von Code! Nutze `for`-Schleifen, um Pyramidenmustern aus Sternchen (`*`) oder eine riesige Rakete aufs Terminal zu malen. Hier trainierst du Schleifen-Logik par excellence.
8. Schere, Stein, Papier (Simuliert)
- Was du baust: Variablen für Spieler 1 und Spieler 2 stellen "Schere", "Stein" oder "Papier" dar. Konstruiere tief verschachtelte `if / else if`-Bedingungen, um zu ermitteln, wer das Match gewonnen hat.
9. Der kleine Vokabeltrainer
- Was du baust: Mache drei Funktionen: `lerne_englisch()`, `lerne_spanisch()`, `lerne_chinesisch()`. Baue einen Kontroll-Fluss (if-else), um je nach gewählter Sprache (Zahl 1, 2 oder 3) in die richtige Funktion zu springen, wo Vokabeln geprintet werden.
10. Ampel-Steuerung für eine Mega-City
- Was du baust: Eine `while`-Schleife läuft 10 mal (simuliert 10 Tage). Jede Ampel (es gibt Fußgänger und Autos) ist eine Variable. Die Schleifen wechseln die Farben. Wenn Autofarbe = Grün, MUSS Fußgänger = Rot sein, sonst löst du im Terminal einen "Crash-Alarm!" (println) aus.
Viel Erfolg! Am Ende dieser zwei Wochen wirst du schon wie ein richtiger Programmierer denken. Bleib dran, mach Fehler und hab Spaß dabei!
Hinweis: Diese Inhalte wurden mit Unterstützung von Künstlicher Intelligenz erstellt und redaktionell überprüft (Transparenzhinweis gemäß Art. 50 EU AI Act).