Manchmal ist es sehr hilfreich, rechnen zu können (auch ganz allgemein). Es gibt aber auch den Fall, daß es VIEL besser ist, sich zu überlegen, ob man Dinge nun wirklich mit der CPU berechnen muß, oder ob es evtl. anders besser geht, insbesondere schneller.
Denn: Ergebnisse nachschauen, ist oft nicht so aufwendig wie Neuberechnung.
Die Lösung für schnelles Nachsehen sind Tabellen.
Dafür belegt man einen Speicherbereich mit den Ergebnissen für vorhersagbare oder erwartbare Berechnungen. Immer dann, wenn eine solche Berechung notwendig wäre, sieht man in der Tabelle nach. Ein schönes "Verfahren" dafür ist, einen sogenannten Pointer zu benutzen. Der funktioniert i.P. ähnlich wie der Stackpointer (SP) beim Stapelspeicher, allerdings wird mit ihm nicht eine freie Speicherstellen angezeigt, sondern das gewünschte Ergebnis in der Tabelle.
Dieses kann dann geladen und verwendet werden.
(Pointer und Ergebnis müssen dabei natürlich irgendwie "sinnvoll" verknüpft sein; man kann sich das so vorstellen, wie bei einer Steuerkurve, der Pointer ist der X-Wert, den man auf eine Position setzt und dann das Ergebnis aus der Kurvengrafik abliest.)
Man ist dabei auch nicht auf ein Ergebnis pro Poitnerposition begrenzt, sondern kann mit mehreren parallel geführten Tabellen auch verschiedene Ergebnisse zu einer Pointerposition auslesen. Etwa bei zwei Winkeltabellen, bei denen man einen Winkel in Grad vorgibt (Pointer) und das Ergebnis in Radiant oder Neugrad ablesen kann.
Benutzbar sind Tabellen für alles mögliche: einfaches Mappen von Werten (also Wert1 wird zu Wert2), mathematische Tabellen (insbesondere solche für Logarithmen oder Winkelfunktionen), direktes Abspeichern von Werten in definierten Reihenfolgen, aber auch Abfolgen von Subroutinen oder Anordnungen von Betriebssystemfunktionen sind denkbar.
Vorteil: Schnell ! ; einfach in der Benutzung ; können als Indirektion benutzt werden ; können verknüpft werden
Nachteil: Tabellen benötigen Speicherplatz, teils sogar viel davon - auf kleinen RAMs u.U. soviel (relativ), daß sie nicht praktikabel sind (ZX81 o.ä.)