Zusammenfassung
Dieses Kapitel geht von den Begriffen Objekt und Objektmenge aus. Es werden insbesondere strukturierte Objekte eingeführt, wobei die Strukturierung auch rekursiv sein kann. Wichtige Beispiele wie Sequenzen und Kaskaden werden ausführlicher behandelt.
„Ein Objekt wird im allgemeinen aus Komponenten bestehen, die selbst wieder Objekte sind. ... Es gibt elementare und komposite Objekte. Ein elementares Objekt hat keine Komponenten, es entspricht dem Terminal der generativen Syntax.“ Zemanek 1968
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Referenzen
Im Sinne einer beliebig guten Approximierbarkeit ist eine solche Einführung von it duldbar (und praktisch unentbehrlich). Es gibt jedoch keinen terminierenden Algorithmus, der die Kreiszahl als Dezimal- oder Dualbruch liefert!
Zusammengesetzte Objekte sind in diesem Sinne eo ipso nichtelementar.
(RR, <_) ist eine lineare Ordnung, aber keine Noethersche Ordnung, also keine Wohlordnung. Nach dem Auswahlpostulat (vgl. van der Waerden 1971) kann R wohlgeordnet werden. Niemand hat bisher für diese nichtabzählbare Menge eine Wohlordnung explizit angegeben.
Für die einschlägigen Begriffsbildungen vgl. Loeckx, „Algorithmentheorie“ (Springer 1976), Absatz 2.5.
Eine Menge heißt nach Bolzano endlich, wenn sie keiner echten Teilmenge gleichmächtig ist. 8 oder 3. sind Zeichen (Nachrichten) zusammen mit einer festen Objektbedeutung (Information) »Pik«, »der dritte«. Vgl. Bauer, Goos 1973,1.3.4; Standardbezeichnungen für Objekte tragen stets Symbolcharakter. 9 In PASCAL werden frei gewählte Wortsymbole typographisch nicht hervorgehoben.
Als „generische Zeichen“ fettgedruckte griechische Buchstaben (vgl. Tab. 1.3.1) sind Schemaparameter: sie können als konkrete Arten interpretiert werden.
Oder einfacher funct not ≡ (bool a) bool: a= false (wenn man die universelle Gleichheitsrelation benützt).
Die einfachere Fassung if a then b else false fi (sequentielle Konjunktion, vgl. 1.3.3) ist nicht strikt im Sinn von 1.5. Für definiertes b sind jedoch beide Fassungen gleichwertig.
Vgl. DIN 5474.
Engl. composite, vgl. Zemanek 1968. Auch structured (ALGOL 68), siehe Wirth 1967.
Siehe dazu auch die in Zemanek 1968 zusammengefaßte „Wiener Definitionsmethode“ (Lucas, Walk 1969).
Engl. cardinal product. Strenggenommen handelt es sich um ein ordinal product, vgl. G. Birkhoff, „Lattice Theory“ (3rd ed., Amer. Math. Soc. 1967), S. 55, 198 — wenn man einbezieht, daß die Ergebnismenge lexikographisch geordnet ist.
Wegen der Gefahr der Verwechslung mit pointer in PASCAL wird hierfür das Wort „Zeiger“ (Bauer, Goos 1973, S. 101) vermieden.
Vgl. auch G. Seegmüller, „Einführung in die Systemprogrammierung“ (Mannheim 1974), S. 50 — 60. Die Zusammensetzung von Selektoren hat schon McCarthy 1960 betrachtet, er schreibt z. B. caddar für car o cdr o cdr o car. Man kann auch festlegen, daß das Ergebnis einer nicht anwendbaren Selektion das leere Objekt ist (Seegmüller), wir werden dafür weiterhin Ω̱ setzen.
Aus historischen Gründen steht t[i] für t i ; diese Notation bringt eine eigentlich unnötige Unterscheidung der Indizes von den (expliziten) Selektoren bei Verbunden mit sich.
Für i ∈ NN , insbesondere bei mehrstufiger Anwendung, als Dewey-Notation bekannt, im Deutschen auch „Dezimal-Klassifikation“ genannt. Sie geht auf Francis Galton 1889 zurück (vgl. Knuth 1973).
Vgl. Fischer Lexikon Mathematik I, S. 268. 22 Engi. cardinal power.
Unter der Terminierungsforderung für Algorithmen kann selbstverständlich die vollständige Objektstruktur, die zu einer unendlichen Indexmenge gehört, nicht verarbeitet werden. Wohl aber können beliebig große Ausschnitte verarbeitet werden. (Siehe auch 3.3.3, „benummertes Feld“.)
Eine beliebige Art ist wieder durch ein generisches Zeichen wie x, µ ausgedrückt.
Engl. direct union, auch cardinal sum. Strenggenommen handelt es sich um eine ordinal sum, wenn man berücksichtigt, daß auch die Ergebnismenge geordnet ist.
PASCAL sieht nur den Fall der expliziten Diskriminierung vor, die entsprechende Komponente heißt „Typ-Diskriminator“.
Die Verwandtschaft mit der in LISP zugrundegelegten Listenstruktur wird deutlicher in der analogen Form mode lisp ≡ atom (lisp car, lisp cdr) , die auf eine mit atom bezeichnete Grundart gestützt ist, in unserem Beispiel (x primitiv) mode atom - x.
Knuth 1973 :„linear list“. Sie gehen zurück auf „pushdown lists“ (Newell, Shaw 1957) und au f „Kellerspeicher“ (Bauer, Samelson 1957, vgl. Samelson, Bauer 1959).
Siehe auch Bobrow und Raphael 1964. Nicht zu verwechseln mit „list structure“ oder „List“ (mit großem L) bei Knuth 1973, siehe unten.
Knuth 1973: „binary tree“.
Sie ist eine angemessene Struktur zur Darstellung von Sätzen einer natürlichen Sprache, die in Worte gegliedert sind.
“Each instance of a data structure is represented by a graph („V-graph“) constructed from atoms, nodes and links. Atoms represent data with no substructure, links are given labels called selectors and are directed“ (Earley 1971). Earley benutzt im übrigen Graphen sogar zur Definition von Otjektstrukturen.
„In der Informatik wachsen die Bäume nicht in den Himmel“ (K. Samelson). Siehe auch Knuth 1973, 2.3.
Da x Unterart von lisp x ist, darf item of a kurz für lisp x: item of a stehen (implizite Artausweitung).
Noch allgemeiner als lisp x ist list x, siehe 7.6.3.
T, F stehen für true bzw. false (s. Tab. 1.3.1)
Das Lexikon gibt an: stack für (Heu-)Haufen, (Holz-)Stoß, syn.: pile, heap.
Engl. pile; to pile up und to stack up sind synonym. Andere gebräuchliche Ausdrücke sind pushdown list und LIFO („ last in, first out“) list.
Eine abstrakte Definition werden wir in Kap. 3 kennenlernen.
Das „Einflicken“ von b unmittelbar nach bzw. vor jedem Vorkommnis von x erledigt man durch Ersetzen von x durch <x, b> bzw. <b, x>.
Engl. roll, scroll; frz. écrou.
Engl. list traversal, tree traversal.
Auch „polnische Notation“ genannt, zu Ehren von JanLukasiewicz, der sie 1929 („Elementy logi ki matematycznej“) einführte (Lukasiewicz 1963).
Beachte, daß diese Notation nicht eindeutig die Klammern zu ergänzen erlaubt! ((a + b)/c) x ((d — e) x f) ergibt einen anderen Kantorovic-Baum, aber die gleiche Durchlauffolge.
Auch ,reverse polish notation‘ genannt.
Mehrere Vorkommnisse ein und desselben Objekts werden dabei unterschieden.
Für eine eingehendere theoretische Behandlung siehe Scott 1976.
der seltsamerweise in manchem Buch über Graphentheorie für Informatiker fehlt.
Die Struktur casc x ist Rollen besser angepaßt. Zweiwegstrukturen aus lisp x sind uninteressant.
Die verzögerte Auswertung könnte auch durchgehend verwendet werden. Dies würde jedoch im Endeffekt auf der von-Neumann-Maschine erhöhten Aufwand bedeuten.
Friedman und Wise nennen durch Termbildung aufgebaute Objekte ,computational structures‘. Wir werden diesen Ausdruck in etwas größerer Allgemeinheit in Kap. 3 benutzen.
Entparametrisierte Rechenvorschriften mit verzögerter Auswertung entsprechen den „streams“ von Landin 1965, sie sind auf applikativem Niveau das getreue Abbild der sogenannten „Referen•zen“ . Im Spezialfall von „Referenzen auf Zusammensetzungen von Variablen“ werden wir ihnen in 7.4.1 als „Zeiger“ begegnen.
Die vollständige Analogie zu 1.14 wäre funct Beta ≡(funct (u µ) K rho).(v array µ a, y array µ b) .(v i) k: rho (a [i], b[i]). Dies liefert jedoch nur eine Rechenvorschrift und nicht eine Reihung, die eine „eingefrorene Funktion“ ist.
Dies kann man aus APL lernen.
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 1984 Springer-Verlag Berlin Heidelberg
About this chapter
Cite this chapter
Bauer, F.L., Wössner, H. (1984). Objekte und Objektstrukturen. In: Algorithmische Sprache und Programmentwicklung. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-05654-7_3
Download citation
DOI: https://doi.org/10.1007/978-3-662-05654-7_3
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-05655-4
Online ISBN: 978-3-662-05654-7
eBook Packages: Springer Book Archive