ebook img

Einführung in die Programmiersprache SIMULA: Anleitung zum Selbststudium PDF

239 Pages·1976·7.298 MB·German
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Einführung in die Programmiersprache SIMULA: Anleitung zum Selbststudium

uni-texte Lehrbücher A. J. Baden Fuller, Mikrowellen G. M. Barrow, Physikalische Chemie I, II, 111 W. L. Bontsch-Brujewitsch II. P. Swaigin II. W. Karpenko I A. G. Mironow, Aufgabensammlung zur Halbleiterphysik L. Collatz I J. Albrecht, Aufgaben aus der Angewandten Mathematik I, II W. Czech, Übungsaufgaben aus der Experimentalphysik H. Dallmann I K.-H. Elster, Einführung in die höhere Mathematik M. Denis-Papin I G. Cullmann, Übungsaufgaben zur Informationstheorie M. J. S. Dewar, Einführung in die moderne Chemie P. B. Dorain, Symmetrie und anorganische Strukturchemie M. Durand I P. Favard, Die Zelle N. W. Efimow, Höhere Geometrie I, II A. P. French, Spezielle Relativitätstheorie D. Geist, Halbleiterphysik I, II W. L. Ginsburg I L. M. Levin I S. P. Strelkow, Aufgabensammlung der Physik I P. Guillery, Werkstoffkunde für Elektroingenieure J. G. Holbrook, Laplace-Transformation Ch. Houillon, Sexualität I. Ye. lrodov, Aufgaben zur Atom-und Kernphysik D. Kind, Einführung in die Hochspannungs-Versuchstechnik S. G. Krein I V. N. Uschakowa, Vorstufe zur höheren Mathematik Krischner, Einführung in die Röntgenfeinstrukturanalyse H. Lau I W. Hardt, Energieverteilung R. Ludwig, Methoden der Fehler-und Ausgleichsrechnung E. Meyer I R. Pottel, Physikalische Grundlagen der Hochfrequenztechnik E. Poulsen Nautrup, Grundpraktikum der organischen Chemie L. Prandtl I K. Oswatitsch I K. Wieghardt, Führer durch die Strömungslehre J. Ruge, Technologie der Werkstoffe W. Rieder, Plasma und Lichtbogen H. Sachsse, Einführung in die Kybernetik D. Schuller, Thermodynamik F. G. Taegen, Einführung in die Theorie der elektrischen Maschinen I, II W. Tutschke, Grundlagen der Funktionentheorie W. Tutschke, Grundlagen der reellen Analysis I, II H.-G. Unger, Elektromagnetische Wellen I, II H.-G. Ungar, Quantenelektronik H.-G. Ungar I W. Schultz, Elektronische Bauelemente und Netzwerke I, II, 111 B. Vauquois, Wahrscheinlichkeitsrechnung W. Wuest, Strömungsmeßtechnik Skripten J. Behne I W. Muschik IM. Päsler, Ringvorlesung zur Theoretischen Physik, Theorie der Elektrizität H. Feldmann, Einführung in ALGOL 60 0. Hittmair I G. Adam, Ringvorlesung zur Theoretischen Physik, Wärmetheorie H. Jordan I M. Weis, Asynchronmaschinen H. Kamp I H. Pudlatz, Einführung in die Programmiersprache PLI I G. Lamprecht, Einführung in die Programmiersprache FORTRAN IV E. Macherauch, Praktikum in Werkstoffkunde E.-U. Schlünder, Einführung in die Wärme-und Stoffübertragung H. Schubart, Einführung in die klassische und moderne Zahlentheorie W. Schultz, Einführung in die Quantenmechanik W. Schultz, Dielektrische und magnetische Eigenschaften der Werkstoffe Günther Lamprecht Einführung in die Programmiersprache SIMULA Anleitung zum Selbststudium Skriptum für Hörer aller Fachrichtungen ab 1. Semester Springer Fachmedien Wiesbaden GmbH Prof. Dr. Giinther Lamprecht ist Leiter des Rechenzentrums der Universitiit Bremen Verlagsredaktion: Alfred Schubert Additional material to this book can be downloaded from http://extras.springer.com Alle Rechte vorbehalten © by Springer Fachmedien Wiesbaden 1976 Urspriinglich erschienen bei Friedr. Vieweg & Sohn Ver1agsgesellschaft mbH, Braunschweig 1976 Die VervielfaJ.tigung und Vbertragung einze1ner Textabschnitte, Zeichnungen oder Bilder, auch flir Zwecke der Unterrichtsgestaltung, gestattet das Urheberrecht nur, wenn sie mit dem Verlag vorher vereinbart wurden. Im Einzelfall m~ iiber die Zahlung einer Gebiihr flir die Nutzung fremden geistigen Eigentums entschieden werden. Das gilt flir die Vervielflil.tigung durch alle Verfahren einschliei\lich Speicherung und jede Vbertragung auf Papier, Transparente, Filme, Bănder, Platten und andere Medien. ISBN 978-3-528-03321-7 ISBN 978-3-322-89444-1 (eBook) DOI 10.1007/978-3-322-89444-1 Vorwort Diese Einführung in die Programmiersprache SIMULA ist aus einer Lehrveranstaltung entstanden, die im WS 1974/75 und im SS 75 am Rechenzentrum der Universität Bremen abgehalten wurde. Das Buch wendet sich an "Hörer aller Fakultäten" und will ihnen den Zugang zur Datenverarbeitung an Hand einfacher Aufgabenstellungen erleichtern. Die Programmiersprache SIMULA, die am Norwegian Computing Center, Oslos, von 0. J. Dahl, B. Myhrhaug und K. Nygaard entwickelt wurde, ist eine Erweiterung der Programmiersprache ALGOL 60. Die Sprache bietet eine Fülle von Anweisungen, so daß man den Lösungsweg auch bei komplexer Aufgabenstellung übersichtlich be schreiben kann. Das Ziel dieser Einführung in die Programmiersprache SIMULA ist es, den Leser nach und nach mit den Sprachelementen vertraut zu machen. Dabei kommt es weniger darauf auf, die Sprache vollständig zu beschreiben, als vielmehr, beispielhaft zu zeigen, wie man die einzelnen Anweisungen anwenden kann. Alle Programmierbeispiele und Aufgaben wurden auf der Rechenarralge IRIS 80 der Universität Bremen gerechnet und die Ergebnisse im Lösungsteil angegeben und er läutert. Damit hat der Leser die Möglichkeit, seine Programme und Ergebnisse zu kontrollieren. Allen Mitarbeitern des Rechenzentrums bin ich für ihre Anregungen und Verbes serungsvorschläge zu Dank verpflichtet. Frau U. Pochciol möchte ich an dieser Stelle ausdrücklich für ihre Sorgfalt beim Schreiben der Druckvorlage danken. Bremen, im November 1975 Günther Lamprecht Inhaltsverzeichnis 1 Eine einfache Programmieraufgabe 2 Ganze Zahlen; Auswertung arithmetischer Ausdrücke 6 3 Steuerung des Programmablaufs; logische Größen, Vektoren und Matrizen 13 4 Eingabe von Datenkarten, Ausgabe auf dem Drucker 28 5 Verarbeitung von Texten 48 6 Programmstruktur: zusammengesetzte Anweisungen, Blöcke, Unterprogramme 73 7 Rekursive Prozeduren; vorgegebene Unterprogramme 93 8 Klassen als Verbund 103 9 Klassen als Programmsystem; Klassen mit Anweisungen 116 10 Zugriff auf Dateien 122 11 Ko-Routinen 134 12 Simulation 142 Lösungen zu den Beispielen und Aufgaben 154 Anhang A: Interne Zahlendarstellung 220 Anhang B: Vorgegebene Namen 223 Anhang C: In SIMULA benutzte Zeichen 226 Sachwortverzeichnis 227 Syntax der Sprache SIMULA Faltblatt - '1 - '1 Eine einfache Programmieraufgabe Wir wollen uns die Aufgabe stellen, mit Hilfe der Rechenanlage den Wert der Funktion y = 0,3 x2 + 0,25 x - '1 an der Stelle x = 5 zu berechnen. Wie man leicht nach rechnen kann, muß das Ergebnis 7,75 lauten. Das SIMULA-Programm soll angegeben und anschließend erläutert werden. Beispiel '1.'1 BEG IN REAL X,Y; X := 5; Y := O.)*X**2+0.25*X-'1; OUTFIX(X,6,20); OUTFIX(Y,6,20); OUTIMAGE; END# Jedes Programm wird mit dem Schlüsselwort BEGIN be gonnen und mit END# beendet. *) Diese beiden Schlüssel wörter bilden sozusagen eine Klammer, mit der alle An weisungen zu einem Programm zusammengehalten werden. Wie wir später sehen werden, können sie auch an anderer Stelle (jedoch ohne das Zeichen"") benutzt werden. Sie verklammern dann einen Teil des Programms. Durch die auf BEGIN folgende Anweisung REAL X,Y; werden zwei Speicherplätze bereitgestellt, auf die wir im weiteren Programmablauf über die Namen X und Y zu greifen können. *)Die Sprache SIHULA kennt das Zeichen"" als Programmende nicht. Da es andererseits von dem von uns benutzten Compiler gefordert wird und wir auch fertige Programme angeben wollen, soll diese besondere Form des Programm endes hier eingeführt werden. - 2 - Da sich der Inhalt der Speicherplätze im Laufe des Programms ändern kann, spricht man auch von den "Variablen" X und Y und sagt, daß sie durch die Anweisung REAL X,Y; "deklariert" werden. Allgemein kann man Variable deklarieren, indem man nach dem Schlüsselwort REAL deren Namen durch Kommata getrennt aufführt. Die Deklarationsanweisung wird mit einem Semikolon abgeschlossen. Es ist zu beachten, daß alle Variablen vor ihrer ersten Benutzung im Programm deklariert sein müssen, und wir halten fest, daß ihre Deklaration nach dem Schlüssel wort BEGIN zu erfolgen hat. Bezüglich der Wahl von Variablennamen gilt folgende Festlegung: Das erste Zeichen des Namens muß ein Buchstabe sein, dann dürfen Buchstaben und Ziffern in beliebiger Reihen folge angegeben werden. Dies besagt, daß keine Sonderzeichen und insbesondere keine Leerzeichen in einem Namen auftreten dürfen. Selbstverständ lich müssen die Namen eindeutig sein und dürfen nicht mit bereits festgelegten Namen oder Schlüsselwörtern überein stimmen (vgl. hierzu Anhang B). Durch die hier benutzte Deklarationsanweisung (es werden nachfolgend noch weitere erläutert) REAL X,Y; geschieht dreierlei: 1) Bereitstellung von zwei Speicherplätzen, die die Namen X und Y erhalten 2) Festlegung der internen Zahlendarstellung ("Typ der Variablen") 3) Vorbesetzung der bereitgestellten Speicherplätze mit dem Wert Null. - 3 - Die unter 2) genannte Festlegung der internen Zahlen darstellung ist abhängig von der benutzten Rechenanlage. Gleichzeitig ist damit die mögliche Rechengenauigkeit und der Zahlenbereich gegeben. (Wegen weiterer Einzelheiten siehe .Anhang A). Durch die im Programmbeispiel nachfolgende Anweisung X := 5; wird der Variablen X der Wert 5 in der für sie gewählten Speicherungsform (Typ REAL) zugewiesen. Allgemein wird in einem Zuweisungsstatement der Variablen, die links von dem Zuweisungszeichen := steht, der Wert zugewiesen, der auf der rechten Seite angegeben ist. Wie man an der nächsten Anweisung Y .- 0.3*X**2*0.25*X-1; erkennen kann, braucht die rechte Seite nicht aus einer Konstanten zu bestehen. Vielmehr kann hier ein beliebig komplizierter arithmetischer Ausdruck angegeben sein. Nach der Auswertung des arithmetischen Ausdrucks wird der be rechnete Wert der Variablen auf der linken Seite des Zu weisungszeichens zugewiesen. Die Auswertung wird nach Priori täten vorgenommen, die mit den einzelnen Rechenarten (Exponentiation, Multiplikation, Division sowie Addition und Subtraktion) gekoppelt sind. Im nächsten Abschnitt soll ausführlicher auf die arithmetischen Ausdrücke eingegangen werden. Nach der Wertzuweisung an die Variable Y werden die In halte der Variablen X und Y auf dem Drucker ausgegeben. Dies geschieht durch die drei Anweisungen: OUTFIX(X,6,20); OUTFIX(Y,6,20); OUTIMAGE; Diese Anweisungen werden später ausführlich beschrieben; im Augenblick wollen wir nur festhalten, daß durch die Anweisung OUTFIX mit anschließender Angabe des Variablen namens und zweier Angaben für die Größe des Druckfeldes der Inhalt eines Speicherplatzes in aufbereiteter Form in einen Ausgabebereich geschrieben wird. - 4 - Durch die Anweisung OUTIMAGE; wird der Ausgabebereich seinerseits auf dem Drucker ausge geben. Anschließend wird das Programmbeispiel durch die An weisung beendet, wie es bereits oben erwähnt wurde. In dem Programmbeispiel 1.1 wurden die einzelnen An weisungen untereinander aufgeführt. Dies hatte nur den Grund, daß der menschliche Leser das Programm einfacher überschauen kann. Für den Compiler, der das Programm in die jeweilige Maschinensprache übersetzt, hätte es ausgereicht, zwischen den Schlüsselwörtern BEGIN und REAL und zu dem Variablen- namen X jeweils ein Leerzeichen zu lassen. Alle anderen An gaben des Programms hätte man unmittelbar aneinanderreihen können. Dabei hätte man alle 8o Spalten der Programm-Lochkarten für die Anweisung ausnutzen können, da alle 8o Spalten für die Programmangaben zur Verfügung stehen. Allgemein kann man sagen, daß nur die Schlüsselwörter und die entweder gewählten oder vorgegebenen Namen nicht anein anderstoßen dürfen. Sie müssen durch mindestens ein Leer zeichen oder durch ein Sonderzeichen (siehe Anhang C) von einander getrennt sein. Umgekehrt dürfen fast überall Leer zeichen eingefügt werden, um das Programm leichter lesbar zu gestalten. Sie dürfen aber nicht in Schlüsselwörtern und in Namen sowie in zusammengesetzten Sonderzeichen auftreten. So darf z.B. nicht REA L anstelle von REAL und nicht : = an stelle des Zuweisungszeichens := geschrieben werden. Falls man zur Erläuterung der einzelnen Anweisungen Kommen tare einfügen möchte, kann man dieses an jeder Stelle im Programm tun, an der man - ohne das Programm zu verändern - ein Leerzeichen einfügen könnte. Man hat den Kommentar dafür zwischen zwei Dollarzeichen ($) zu schreiben. Natürlich darf der Kommentar kein Dollarzeichen enthalten, wohl aber jedes andere zulässige Zeichen.

See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.