Pénzes István (szerk.): Műszaki nagyjaink 6. Matematikusok, az oktatás, a gépészet és a villamos vontatás alkotói, kiváló lisztvegyészek (Budapest, 1986)

Dr. Ádám András - Dr. Dömösi Pál: Kalmár László

JJ. Rechentechnik T 65 werke» (bei komplizierten Operationen des eingebauten Unterprogramms) übertragen, von dessen Ausgangsregister das Ergebnis nach vollendeter Berechnung in ER„ zurückübertragen wird. Für n > 0 geht es dann, unter gleichzeitiger Entleerung von LOR*. ROR„, OR« und ER„, in dasjenige der Register LOR„_i und ROR„_i weiter, welches im voraus mit ER„ „verbunden“ wurde. Jede skalare (d. h. indexlose) Variable bezeichnet ständig den Inhalt einer festen Speicher­zelle, die durch die Schlüsselzahl der Variablen adressiert wird. Ali Befehl bewirkt eine skalare Variable die Übertragung des Inhalts dieser Zelle in das an die Reihe kommende (kurz: aktive) Register (bzw., falls ER0 das aktive Register ist, seines Inhalts in jene Zelle nebst Entleerung von LOR0, ROR0, OR„ und ER0); in ähnlicher Weise bewirkt ein Operationszeichen die Übertragung seiner Schlüsselzahl in das aktive Register. Eine linke Klammer bewirkt als Befehl die Verbin­dung des aktiven Registers mitERn mit nächsthöherem n; eine rechte Klammer bewirkt keinen Befehl. Ein ^-Zeichen als Befehl dient nur zur Übertragung des Wertes des auf seiner linken Seite stehenden Termes nach ER0 im Falle, daß letzterer eine Variable ist oder eine Konstante als letzten Operanden besitzt. Eine Kennziffer des Registers, das als aktiv zu betrachten ist, wird in einem Steucrungsregister vermerkt, dessen Inhalt bei jedem Befehl in entsprechender Weise geändert wird. Konstanten sind im Programm als Dezimalzahlen zu schreiben. Sie werden in einem Zah­­lenumrechner in (etwa binäre) Maschinenform umgewandelt. Da der hierzu nötige, den einzelnen Ziffern z entsprechende Befehl (nämlich: „multipliziere die bisher erhaltene Zahl mit 10 und addiere z" bzw. „addiere zu der bisher erhaltenen Zahl das Produkt von z mit der entsprechenden negativen Potenz von 10“) davon abhängt, ob z vor oder nach dem Komma steht, wird dieser Umstand nebst dem „entsprechende Potenz von 10“ in einem besonderen Register notiert, dessen Inhalt durch das Komma bzw. durch die nachfolgenden Ziffern als Befehle entsprechend geändert wird. In ähnlichei Weise werden die Adressen der (durch von den skalaren Variablen verschiedene Buchstaben mit einem, zwei oder mehreren Indizes bezeichneten) Matrizenelemente berechnet auf Grund des als Matrizennamen dienenden Buchstabens, sowie der wie oben berechneter. Werte der Indizes. Zu diesem Zwecke wird vermittels der entsprechenden, im Programm figurierenden Matrizcndcklaration, wodurch die Höchstwerte der Indizes der entsprechenden Matrizenelemente für den fraglichen Matrizennamen angegeben werden, mit Hilfe eines Registers, das stets die Minimaladresse der für die Matrizenelemente zur Verfügung stehenden Speicherzelle registriert, die Anfangsadresse und die Spannen der entsprechenden Matrizenelemente berechnet und zu einem Worle vereinigt, das dann in der durch die Schlüsselzahl des Matrizennamens adressierten Zelle gespeichert wird. Kommt nun im Programm ein entsprechendes Matrizenelement vor, dann wird durch den Matrizennamen als Befehl eine Aufteilung dieses Wortes nebst Überlrag"ng seiner Bestandteile: Anfar.gsadresse und Spannen, in die entsprechenden Register eines Adressen­berechners bewirkt. Die Berechnung der gewünschten Adresse läßt sich nunmehr durch Multi­plikationen und Additionen ausführen. Das letzte Zeichen des Matrizenelementes, eine rechte Indcxklammci. bewirkt als Befehl dasselbe wie eine skalare Variable, jedoch mit der im Adressen­­iimrecliner berechneten Adresse, in der Rolle der Schlüsselzahl der skalaren Variablen. Einstellige elementare Funktionen werden durch die Angabe einer Kennziffer der ent­sprechenden eingebauten Unterprogramme als ersten und des Arguments der Funktion als zweiten Operanden einer festen, speziell zu diesem Zwecke dienenden Operation bezeichnet. Man detf aber auch die üblichen Bezeichnungen verwenden, vorausgesetzt, daß z. E. das Wert sin, falls etwa 17 als Schlüsselzahl des entspreche irden Unterprogramms und etwa * als Operalionszeichen für die genannte spezielle Operation verwendet wird, in gleicher Weise wie (17* verschlüsselt wird (das Fehlen der rechten Klammer in (17* .r, d. h. sin x. stört nicht). Die Wahrhcitswcrlc von Formeln (z. B. (abs. (z — x) < e) V ((x < 0) A Of < 0))) werden in der gleichen Weise wie die Werte der Terme berechnet, indem die beiden Vorzeichen als Wahr­­heilswerle verwende! werden. Dadurch wird das Kinbezichrn von bedingten Sprunganweisungen ins Programm ermöglicht und auch das Einheziehen von unbedingten Sprunganweisungen, indem der Inhalt von ER„ im leeren Zustand etwa als positiv angesehen wird. Die Bezugsnummern werden ebenfalls im Zahlcmmirechner umgewandelt und dann, auf Grund der Wirkung des zwischen der Uezugsnummcr und der entsprechenden Anweisung stehenden Zeichens (etwa:! bzw. (in Sprunganweisungen) des nach der Bczugsnummer stehender. Sprungzeichens als Befehl, in ent­sprechender Weise verwendet (zm Übertragung des Inhalts des Befehlszählers in ein durch die Bczugsnummer gekennzeichnetes Begislei bzw. des Inhalts dieses Registers in den Befehlszähler). Die Schlüsselzahlen der nadieinandcrfolgenden Zeichen des Programmes werden als Kom­ponenten eines „Programmveklnrs“ (d. h. Mai.rizen mil einem Index) gespeichert; statt einer rntspicchcnclcn Mnlrizcndcklnrnlinn wird die Anzahl diese; Zeichen während des Ahiesens ms Programmbandes (oder der Programmkarlcu) gezählt Dadurch wird die Modibkalion der Be­fehle durch das Programm selbst ermöglich!. 10. ábra A 9. ábrán hivatkozott tanulmány [A. 67] második oldala

Next

/
Thumbnails
Contents