ebook img

Methoden der Programmerstellung für Tisch- und Taschenrechner: Grundlagen, Anwendungen, Grenzen PDF

197 Pages·1979·4.108 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 Methoden der Programmerstellung für Tisch- und Taschenrechner: Grundlagen, Anwendungen, Grenzen

Methoden der Programmerstellung fur Tisch- und Taschenrechner Grundlagen, Anwendungen, Grenzen Helmut Schauer Georg Barta Springer-Verlag Wien New York Dipl.-Ing. Dr. Helmut Schauer Institut flir Infonnationssysteme Technische Universitat Wien Dipl.-Ing. Georg Barta Schule flir Datenverarbeitung Siemens Data Gesellschaft m.b.H., Wien Das Werk ist urheberrechtlich geschiitzt. Die dadurch begriindeten Rechte, insbesondere die der Ubersetzung, des Nachdruckes, der Entnahme von Abbildungen, der Funksendung, der Wiedergabe auf photomechanischem oder ahnlichem Wege und der Speicherung in Datenverarbeitungsanlagen, bleiben, auch bei nur auszugsweiser Verwertung, vorbehalten. © 1979 by Springer-V erlag/Wien IBM-Composersatz: Springer-Verlag Wien; Umbruch und Offsetdruck: Ferdinand Berger & Sohne OHG, A-3580 Horn, NO. Mit 134 Abbildungen CIP-Kurztitelaufnahmc der Deutschen Bibliothck Schauer, Helmut: Methoden der Programmcrstcllung liir Tisch-und Taschcnrechner: Grundlagcn, Anwcndungcn, Grrnzen I Helmut Schauer; Georg Barta. Wien, New York: Springer, 1979. ISBN-13:978-3-211-81476-5 e-ISBN-13:978-3-7091-8513-1 001: 10.1007/978-3-7091-8513-1 NE: Barta, Georg: ISBN-13 :978-3-211-81476-5 Wer solI dieses Buch lesen ? (Vorwort) Dieses Buch ist gedacht fUr alle diejenigen, die einen program mierbaren Tisch- oder Taschenrechner besitzen (vielleicht auch geschenkt bekommen haben), die aber keine ausgebildeten Pro grammierer sind und es auch nicht werden wollen, aber dennoch die beachtlichen Fiihigkeiten ihres Rechners ausnUtzen mochten, urn ihre Probleme - seien es nun mathematische, kaufmannische, technische oder andere - zu losen, und dazu Grundkenntnisse tiber die Logik der Programmierung und die Erstellung von Pro grammen benotigen. Die Art des Kleinrechners ist dabei von untergeordneter Bedeutung: Ob es sich urn Rechner mit oder ohne Druckwerk, Magnetstreifenspeicherung oder austauschbaren Speicher-Chips handelt, beeinfluBt die allgemeinen Richtlinien nur wenig. (Und wo das der Fall ist, haben wir natiirlich darauf hingewiesen.) Vom Leser dieses Buches setzen wir voraus, daB er die Bedienungsanleitung seines Rechners gelesen hat und mit der "mechanischen Bedienung" seines Gerates vertraut ist. Er sollte femer den Rechner wahrend der LektUre stets griffbereits haben und alle Beispiele nachvollziehen. Sonst wird nichts vorausgesetzt, was tiber die Schulmathematik hinausginge. Ausgenommen sind die Beispiele in den Kapitein 8,9 und II, die fachspezifische Auf gaben Iosen. Die Entwickiung der elektronischen Rechenmaschinen, die gegen Ende des Zweiten WeItkrieges begann, verlauft nach wie vor auBerst sttirmisch. Leistungen, wie sie heute programmierbare Rechner mit Leichtfertigkeit vollbringen, waren vor einem VierteI jahrhundert bestenfalls von einer Maschine in der GroBe eines Zimmers zu erwarten gewesen. Entsprechend betragt die Leistung heutiger GroBcomputer ein Vielfaches derjenigen von damais. VI Vorwort Zwischen diesen Gro~rechnern und den vergleichsweise winzigen Tisch- und Taschenrechnern gibt es heute eine Vielfalt von Rechnern mittlerer GroBe, die als "Minicomputer" oder "Rechner der mittleren Datenverarbeitung" bezeichnet werden und zu deren Aufgaben unter anderem die Steuerung von industriellen Prozes sen, die Textverarbeitung und die Bewaltigung kaufmannischer Probleme in kleineren Firmen zahlen. Die Entwicklung der Programmiermethodik hat mit der Ent wicklung der Elektronik nicht Schritt halt en konnen. Bei der Pro grammierung der Klein- und Kleinstrechner werden heute oftmals dieselben veralteten Methoden und Werkzeuge gebraucht, die man vor 20 Ja hren bei Gro~rechnern eingesetzt hat, wodurch Pro gramme entstehen, die unlesbar, unverstandlich, un-anderbar und oftmals auch falsch sind. Wahrend bei der Programmierung von GroBrechnern heute Ansatze zur Oberwindung dieser "Software krise" vorhanden sind, lauft die Programmierung von Kleinrechnern offenbar mitten in diese hinein. Wir haben daher in diesem Buch versucht, die Methoden und Werkzeuge der "Software-Technologie" soweit wie m6glich fUr Kleinstrechner zu iibernehmen bzw. anzu passen*, ohne den Leser mit der dahintersteckenden Theorie zu belasten. Der Leser sollte dadurch imstande sein, Programme zu entwickeln, - die er selbst nach einem Jahr noch versteht - die andere verstehen konnen - die in ihrem Funktionsumfang anderbar sind und - die richtig sind. Der letzte Punkt bedeutet, daB nicht nur fUr manche, sondern fUr aile denkbaren Eingabewerte entweder das richtige Ergebnis be rechnet oder die Eingabe zuruckgewiesen wird. Zum AbschluB noch einige Bemerkungen: Der Aufbau der Hardware (Kapitel 1) wird an Hand der Struktur der Hewlett-Packard-Rechner beschrieben, wei! diese besser mit den Methoden der Software-Technologie in Oberein stimmung zu bringen sind als andere Produkte. Bei allen Bei spielen findet sich jedoch eine Programmliste von einem HP-19 (Hewlett-Packard) und einem TI-S7 (Texas Instruments), die als * Flir Fachleute einige Schlagworte: Strukturierte Programmierung, Strukto gramme, stepwise refmement. Vorwort VII Vertreter der bedeutendsten unterschiedlichen "Hardware Philosophien" aufgefa~t werden k6nnen. Mit Hilfe der umfang reichen Erklarungen ist der Leser aber jederzeit in der Lage, die Programme so zu verandern, da~ sie seinem speziellen Rechner gerecht werden - die Unterschiede betreffen namlich nur Details. Aus Grunden der Lesbarkeit wurden stets nicht optimierte Programme vorgestellt. Wir zweifeln nicht im geringsten daran, da~ der Leser in der Lage ist, Programme zu erstellen, die entweder dasselbe leisten, aber weniger SpeicherpIatze bzw. kUrzere Zeit beim Ablauf benotigen oder aber mehr leisten bzw. komfortabler sind. 1m Gegenteil, das beweist nur, da~ der Leser die Beispiele und die Methodik, die wir zugrunde gelegt haben, verstanden hat und anwenden kann ! Doch sollte man vor der Anwendung von Tricks zur Optimierung zweierlei bedenken: Erstens, die Auswir kungen auf Lesbarkeit, Verstandlichkeit und Anderbarkeit. Zweitens, daB man ein Programm immer erst dann verbessem soll, wenn es bereits richtig lauft. Unser Dank gebiihrt den Wiener Niederlassungen von Texas Instruments und Hewlett-Packard flir die leihweise ()berlassung der Rechner, Herm Wolfgang Kiiller flir das Codieren zahlreicher Programme, Fraulein Eva Lachkovics fur das Erstellen und Be schriften der Zeichnungen und Fraulein Claudia Hainschink fUr das Schreiben des Manuskripts. SchIieBIich wollen wir uns noch bei allen jenen griesgramigen Lesem entschuldigen, die daran AnstoB nehmen, daB dieses Buch aus dem gewohnten sachlich trockenen Rahmen ausbricht. Wir wUnschen auch ihnen beirn Lesen mindestens ebensoviel SpaB, wie uns das Schreiben gemacht hat! Wien, im Januar 1979 Helmut Schauer Georg Barta Inhaltsverzeichnis 1. Wie funktioniert der Rechner ? (Aufbau der Hardware) 2. Das kann jeder! ........................ . . . . . .. 38 (Drei einfache Beispiele) 3. Wie man es nicht machen solI . . . . . . . . . . .. . . . . . . . .. 48 (Ein kompliziertes Beispiel) 4. Das Innenleben von Programmen 55 (Programmstrukturen) 5. Systematische Vorgangsweise ...................... 84 (Schrittweise Verfeinerung) 6. Dialog mit dem Taschenrechner ................... 114 (Ein-und Ausgabemaglichkeiten) 7. Hat der Rechner immer recht ? 125 (Gedanken zur Genauigkeit) 8. Beispiele aus der Numerik ....................... 139 8.1. Nullstelle einer Funktion mittels Bisektion 8.2. Nullstelle einer Funktion mittels Regula falsi 8.3. Nullstelle einer Funktion mittels Newton-Verfahren 8.4. Lasung einer Differentialgleichung 9. Technische Beispiele ............................ 153 9.1. Einspannmoment und -querkraft eines Kragtragers 9.2. Schwingkreis 9.3. Rydberg-Frequenz x Inhaltsverzeichnis 10. Beispiele aus dem kaufmannischen Bereich .......... 164 10.1. Mehrwertsteuer von Einzelposten (gerundet) 10.2. Kalkulation in einem Buchverlag (am Beispiel eines wissenschaftlichen Buches) 11. Beispiele aus der Statistik . . . . . . . . . . . . . . . . . . . . . . .. 1 73 II .1 . Klassentest 11.2. Klassentest mit Mittelwertberechnung 11.3. Ausgleichsgerade 11.4. Exponentieller Ausgleich Sachverzeichnis ................................... 189 1. Wie funktioniert der Rechner ? (Aufbau der Hardware) Was geht mich die Elektronik an, werden Sie moglicherweise denken. Warum solI ich mich mit Details herumargern - schlie{l, lich beniitze ich auch taglich das Telefon, ohne bis ins letzte zu wissen, wie es funktioniert ? Sie haben fast recht. Natiirlich ware es am schOnsten, wir konnten dieses Kapitel iiberhaupt weglassen oder Ihnen zumindest empfehlen, es zu iibergehen. Leider konnen wir das nicht; ein Rechner, noch dazu ein programmierbarer, erfordert doch ein wesentlich hoheres Engagement von seinem Benutzer - er dankt es ihm aber durch gro{l,ere Vielseitigkeit und, bei Beriicksichtigung seiner Kleinheit, verbliiffende Leistungen. Deshalb bitten wir Sie, auch wenn Sie gegen "alles Technische" eine uniiberwindliche Ab neigung haben soIl ten , dieses Kapitel ebenso sorgfaltig wie aIle anderen durchzugehen. Das Verstandnis, das Sie dabei gewinnen, wird Ihnen die Programmierung urn vieles erleichtern. Und wir ver sprechen feierlich, da£ wir uns auf das Allernotigste beschranken. Es gibt aber auch andere Leute. Solche, die gerne alles ganZ genau wissen wollen, die jedem bit und jeder Schaltung nachspiiren mochten. Wenn Sie zu diesen gehoren, werden Sie vom Inhalt dieses Kapitels enttauscht sein. Das Buch wendet sieh ja schliefllich an Benutzer, nicht an Konstrukteure von Rechnern. An Praktiker der .verschiedensten Berufe und mit der unterschiedlichsten Aus bildung. Und die wollen mit Recht mit niehts tJberfliissigem belastet werden. Daher nochmals: nur das Allernotigste. Schliefllich gibt es iiber die Elektronik von Rechnern bereits eine umfangreiehe Literatur. Da es urn das Programmieren Ihres Rechners geht, wollen wir uns zunachst einmaI fragen, was das ist, ein ,,Programm": 1 Schauer/Barta, Methoden der Programmierung 2 Wie funktioniert der Rechner 1 Ein Programm ist eine Rechenvorschrift (ein "Algorithmus'j einschlie£l,lich der dazugehOrigen Daten. Das solI gleich durch ein Beispiel erlliutert werden: Stellen Sie sich einen mittelalterlichen "Rechenknecht" vor, einen Mann, der vor einem gro£l,en, in einzelne Felder geteilten Blatt Papier sitzt und einzelne Rechenoperationen Punkt fUr Punkt nach einer Anwei sung durchflihrt. Die "Hardware" (Gerlite) besteht dann aus dem Bleistift und dem Papier, die "Software" (<las Programm) aus der Gebrauchsanweisung. Und Schritt fUr Schntt rechnet der Rechen knecht laut Vorschrift und vollbringt dabei moglicherweise viel kompliziertere Berechnungen - etwa eine Division zweier mehr stelliger Zahlen -, als er jemals verstehen oder selbst nachvollziehen konnte; fUr die erwlihnte Division etwa wiirde es gentigen, wenn er addieren und subtrahieren konnte. Ein Computer macht es nicht anders. Ohne sich die gering sten "Gedanken" tiber den Sinn der Rechenvorschrift, also des Programmes zu machen, ftihrt er stur Schritt flir Schritt - in der Fachsprache: Befehl fUr Befehl - durch. Und er tut nichts anderes. Was man ihm nicht ausdrucklich befiehlt, das tut er nicht. Dem Rechner ist nichts selbstverstandlich - woher sollte er auch wissen, was Sie wollen, wenn Sie es ihm nicht durch Befehle mitteilen ? Nehmen wir einmal an, wir wollen die Rechnung 3 * 4 + 5 =1 1 durchflihren. (Natiirlich brauchen wir dazu eigentlich keinen Rechner, aber wir wollen ruhig klein anfangen, es kommt schon noch dicker !) Der Rechenknecht wiirde sich die drei Zahlen 3,4 und 5, die er dazu braucht, in drei Felder seines Formulares ein tragen. Der Rechner hat kein in Felder eingeteiItes Papier, statt dessen hat er einen in Zellen (oder Speicherpliitze) eingeteilten Speicher. Die Speicherpllitze konnen numeriert oder sonst irgend wie gekennzeichnet sein. Nehmen wir einmal an, wir hlitten unsere 1 Der Stern * bedeutet in der Datenverarbeitung die Multiplikation, da der Punkt . statt des Kommas als Dezimalpunkt verwendet wird.

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.