10.01. Generate all
1: Nimm dein Grammatikprogramm und erweitere es um das Prädikat generate_all/1:
- generate_all/1 nimmt eine natürliche Zahl als Argument (Bsp.:
generate_all(5)
) und - generiert alle grammatischen Sätze dieser Länge.
- Die Sätze werden an ihr Prädikat
parse/1
(aus Kapitel 9) weitergereicht, so dass alle Sätze sowie alle Ableitungsbäume auf dem Bildschirm ausgegeben werden.
Tipp: Verwende fail/0
, um Backtracking zu erzwingen.
2: Schreibe ein zweistelliges Prädikat generate_all/2
, das zwei Zahlen als Argument nimmt (Bsp. generate_all(5,7)
) und alle Sätze generiert, deren Länge im Intervall der beiden Zahlen liegt.
3: Schreibe durchnummerierte Beispielsätze in deine Wissensbasis (ex/2
, siehe Übung zu Kapitel 9). Schreiben ein Prädikat parse_all/0
, das alle Beispielsätze der Wissensbasis parst.
Tipp: Verkleinere in der Entwicklungsphase dein Lexikon, um die
Ergebnismenge kleiner zu halten.
Drücke auf ‚Programmieren‘, um die entsprechende SWISH-Seite zu öffnen und mit dem Programmieren zu starten.