Notizen nach Stichwörtern finden ist ein praktisches C++-Projekt für Lernende mit Grundkenntnissen der Sprache. Aus wenigen erinnerten Wörtern entsteht ein wiederverwendbares lokales Suchwerkzeug, das alle passenden Notizen in verschiedenen Ordnern findet und ihre tatsächlichen Fundstellen zeigt.
Der Kurs verbindet zwei Guided Labs mit einer eigenständigen Challenge. Zuerst verknüpfst du Wörter mit Dokumentidentitäten in einem Index. Danach kombinierst du Suchwörter, um alle Dokumente zu finden, die sie enthalten. Schließlich wendest du dieselben Regeln auf eine andere Notizsammlung an. Jedes Lab stellt eigene Notizen und Startcode bereit und benötigt keine Dateien aus einer früheren Umgebung.
Was du lernen wirst
Nach Abschluss des Kurses kannst du:
- Dokumente anhand ihres relativen Pfads identifizieren und gleichnamige Dateien in verschiedenen Ordnern getrennt halten;
- mit
mapundseteinen Index von Wörtern auf Dokumentmengen aufbauen, ohne Dokumente bei wiederholten Wörtern zu duplizieren; - eine festgelegte Ganzwortregel für ASCII-Buchstaben anwenden und deren Groß- und Kleinschreibung ignorieren;
- Kandidatenmengen mit AND verknüpfen und jedes Dokument zurückgeben, das alle Suchwörter enthält;
- tatsächliche Pfade, Zeilennummern und passende Originalzeilen ohne doppelte Zeilenergebnisse ausgeben;
- den Index durch einen erneuten Programmaufruf aus den aktuellen Übungsnotizen neu aufbauen und die Referenzoriginale erhalten.
Für wen dieser Kurs geeignet ist
Der Kurs richtet sich an C++-Lernende, die mit Standardcontainern und Dateieingabe ein nützliches Suchprogramm mit klaren, überprüfbaren Regeln erstellen möchten.
Voraussetzungen: Grundlegende Navigation im Terminal sowie Kenntnisse über C++-Strings, Funktionen, vector, Dateistreams und einfache Ausnahmen. Die Guided Labs erklären die benötigten Operationen von map und set, relative Pfade als Identität und Mengenschnittmengen.
Lernumgebung: LabEx stellt eine vorbereitete Linux-Umgebung im Browser mit C++17-Compiler, Startcode, Notizsammlungen und Terminal bereit. Hilfscode zum Laden der Dateien, zur Wortzerlegung und zur Ausgabeformatierung ist vorhanden. Befehle und Programmmeldungen sind auf Englisch; Dateinamen und Notiztexte behalten ihren bereitgestellten Inhalt.
Häufig gestellte Fragen
Müssen alle Suchwörter in derselben Zeile stehen?
Nein. AND gilt für das gesamte Dokument. Unterschiedliche Wörter dürfen in verschiedenen Zeilen stehen. Das Ergebnis zeigt jede Originalzeile mit mindestens einem Suchwort einmal, damit du die Fundstellen selbst prüfen kannst.
Versteht diese Suche jede Sprache?
Die Wortregel ist auf Folgen von ASCII-Buchstaben begrenzt und vereinheitlicht nur deren Groß- und Kleinschreibung; andere Bytes trennen Wörter. cat und catalog sind unterschiedliche Wörter. Unicode-Dateinamen und Originalzeilen bleiben erhalten, eine allgemeine mehrsprachige Wortsegmentierung bietet das Projekt jedoch nicht.
Wie gelangen geänderte Notizen in den Index?
Jeder Programmaufruf liest die aktuellen Dateien erneut und erstellt einen neuen Index im Arbeitsspeicher. Rufe das Programm nach dem Ändern, Hinzufügen oder Löschen einer erlaubten Übungsnotiz erneut auf. Die Referenzoriginale bleiben unverändert; es gibt keinen dauerhaften Index und keinen Hintergrunddienst zur Aktualisierung.

