In Scheme gibt es keine exakte Arithmetik ausser der mit Ganzzahlen. D. h. es gibt keine rationalen bzw. Bruch-zahlen. Diese können wir aber mit unserem bisherigen Wissen über Programmierung (in Scheme) leicht selbst schreiben.
Im Gegensatz zu landläufigen Strategien, bei denen wir uns zuerst eine Repräsentation des Problemfeldes mit Mitteln der zur verfügung stehenden Programmierumgebung einfallen lassen (müssen), versuchen wir hier, diese zu abstrahieren: Wir benötigen eine Prozedur, die aus gegebenen ganzzahligen Zähler und Nenner eine Rationalzahl erstellt, sowie je eine Zugriffsfunktion, die uns den Zähler bzw. Nenner einer rationalen zahl als Ganzzahl wieder zurückliefert. Alle anderen Operationen, Prädikate etc. können wir darauf aufbauend schreiben. Erst ganz am Schluß machen wir uns Gedanken über die tatsächliche Repräsentation mit Hilfe von Scheme Primitiva. Hier ist der Code: 06-rationals.scm