Commodore 64 für Technik und Wissenschaft

Aus C64-Wiki
Zur Navigation springenZur Suche springen


Commodore 64 für Technik und Wissenschaft
Cover
Sprache deutsch
Autor(en) Rainer Severin
Verlag Data Becker
Jahr 1984
ISBN ISBN 3-89011-021-5
Neupreis DM 49.-
Datenträger
Seitenzahl 1.Auflage: 296
2.Auflage: 357
letzte Auflage 2., überarbeitete Auflage (1987)
Genre wissenschaftliche Basic-Programmierung
Information




Einleitung[Bearbeiten | Quelltext bearbeiten]

Dem Commodore 64 geht der Ruf eines Spiel- und Hobbycomputers voraus. Inzwischen hat sich jedoch schon bis in Universität und Schule seine Eignung zum ernsthaften Einsatz herumgesprochen. In den ersteren beschränkte sich früher der Einsatz von Computern meist auf die Terminals von Großrechenanlagen, in den Schulen andererseits war der Einsatz von Computern im Unterricht eher unbekannt.

In jüngster Zeit hat sich das grundlegend geändert, doch mangelt es noch an einem ausreichenden Programmangebot zur Anwendung auf Probleme in Naturwissenschaft und Technik. Außerdem bietet der Commodore 64 eine ideale Möglichkeit, bisher eher uninteressierte Leute an die Naturwissenschaften heranzuführen, denn diese Maschine ist weit verbreitet und unterstützt dieses Anliegen durch beeindruckende Grafik- und Programmiermöglichkeiten.

Dem Heranführen an naturwissenschaftliche und technisch-mathematische Inhalte soll auch das vorliegende Buch dienen und durch das breite gebotene Spektrum einen möglichst umfassenden Einblick in Arbeits- und Denkweisen der Wissenschaft geben.

Buchrückseite[Bearbeiten | Quelltext bearbeiten]

DAS STEHT DRIN:
COMMODORE 64 für Technik und Wissenschaft bietet ein faszinierendes und vielfältiges Spektrum naturwissenschaftlicher Aufgabenstellungen. Dazu enthält das Buch sehr viele interessante Listings.

Aus dem Inhalt:

  • Fourieranalyse und Synthese
  • Netzwerkanalyse
  • Rechengenauigkeit, Zahlenformatierung
  • pH-Wertberechnung
  • Differentialgleichungssysteme
  • Räuber-Beute-Modell
  • Wahrscheinlichkeitsrechnung
  • Zeitmessung
  • Integration

UND GESCHRIEBEN HAT DIESES BUCH:
Rainer Severin ist Student der Chemie und seit vielen Jahren begeisterter Programmierer.

Inhaltsverzeichnis[Bearbeiten | Quelltext bearbeiten]

1.    Kapitel - Einleitung
1.1   Der Commodore 64 und die Wissenschaft...............  1
1.2   Voraussetzungen.....................................  2
1.3   Nötige Minimalkonfiguration.........................  3

2.    Kapitel - Das Programmieren wissenschaftl. Probleme
2.1   BASIC - Vor- und Nachteile..........................  5
2.2   Unterschiede verschiedener BASIC-Dialekte...........  9
2.3   PASCAL und andere Sprachen
2.3.1 PASCAL - Probleme strukturiert lösen................ 17
2.3.2 ADA - Eine Programmiersprache vom Ministerium....... 19
2.3.3 FORTH - Kreatives Programmieren..................... 20
2.3.4 LOGO und weitere Sprachen........................... 22
2.4   Vom Problem zum Algorithmus......................... 24
2.4.1 Das Flußdiagramm.................................... 25
2.4.2 Das Struktogramm.................................... 30
2.4.3 Lineare Notation.................................... 35
2.5   Strukturierte Programmierung........................ 37
2.6   Das Erstellen lesbarer Listings..................... 39
2.7   Variablen  im Commodore-BASIC....................... 43
2.8   Mathematische Funktionen und Operatoren............. 51
2.8.1 Funktionen.......................................... 51
2.8.2 Die Operatoren...................................... 55
2.9   Funktionen  in Hochauflösung........................ 60
2.10  Genauigkeit und Geschwindigkeit des C 64............ 63

3.    Kapitel - Ein- und Ausgabe
3.1   Der INPUT-Befehl.................................... 69
3.2   Der GET-Befehl...................................... 70
3.3   Bildschirmaus- und -eingabe......................... 71
3.4   Datenhandling mit der Floppy-Station 1541........... 74
3.5   Relative Files mit 1541.......................... 77
3.6   Abspeichern von Vektoren und Matrizen............... 86
3.7   Das PRINT-USING-Unterprogramm....................... 88

4.    Kapitel - Sortierroutinen
4.1   Der BUBBLE-Sort..................................... 92
4.2   Linear-Sort......................................... 95
4.3   Der Shell-Sort...................................... 96
4.4   Der Quick-Sort...................................... 98

5.    Kapitel - Mathematische Programme
5.1   Nullstellenbestimmung...............................105
5.2   Die Romberg-Differentiation.........................109
5.3   Numerische Integration..............................112
5.4   Lineare Regression..................................115
5.5   Wahrscheinlichkeitsrechnung.........................117
5.5.1 Die Binomialverteilung..............................122
5.5.2 Chi^2 Verteilung und Anpassungstest.................129
5.6   Fourier-Analyse und Synthese........................136
5.7   Numerische Lösungen von Anfangswertproblemen........147 
5.7.1 Vergleichsprogramm DGL-Systeme......................147
5.8   Vektorrechnung......................................153
5.9   Matrizenrechnung....................................162

6.    Kapitel - Programme zur Chemie
6.1   Dateiprogramm Periodensystem........................168 
6.2   pH - Wert - Berechnungen............................173
6.3   Titration...........................................181
6.4   Thermodynamik realer und idealer Gase...............184
6.5   Das HMO - Verfahren.................................192

7.    Kapitel - Physikalische Anwendungen
7.1   Zeitmessung.........................................213
7.2   Bestimmung eines Isolationsfehlers..................217
7.3   Geometrische Optik..................................224

8.    Kapitel - Computer in der Biologie
8.1   Das Räuber - Beute - Modell.........................229

9.    Kapitel - IEC
9.1   Der IEC - Bus.......................................240

10.   Kapitel - Technische Programme
10.1  Wärmedurchgang......................................243
10.2  Riemenlängenberechnung..............................247
10.3  Analyse komplexer Netzwerke.........................254
10.3.1 Komplexe Zahlen....................................254
10.3.2 Strom- und Spannungsquellen........................264
10.3.3 Maschenstromanalyse................................267
10.3.4 Knotenspannungsanalyse.............................278
10.4  Messung und Steuerung...............................287

Literaturverzeichnis......................................295

Leseprobe[Bearbeiten | Quelltext bearbeiten]

4.3 Der Shell-Sort - Seite 96 (1. Auflage)

Der Shell-Sort wurde im Jahre 1959 durch einen Herrn D.L.Shell eingeführt. Bei dieser Methode handelt es sich nun nicht mehr, wie bei den bisherigen Beispielen, um einen "direkten" Algorithmus. Jetzt werden die zu sortierenden Daten nämlich nicht mehr mit benachbarten Werten verglichen, sondern über größere Abstände hinweg.

Der Shell-Sort stellt eigentlich eine verfeinerte Fortentwicklung des Einfüge-Algorithmus dar, des oben geschilderten Linear-Sorts zum Beispiel. Dennoch ist die genaue Untersuchung des Verfahrens hier kaum wiederzugeben. Laut N.Wirth in seinem Buch "Datenstrukturen und Algorithmen", welches wir bereits erwähnten, sind einige mathematische Fragen betreffs gewisser überraschender Eigenschaften bis heute offen geblieben. So ist beispielsweise ungeklärt, warum sich die günstigste Schrittweite des Verfahrens bezüglich der Geschwindigkeit nicht voraussagen lässt.

Eine Vorstellung vom Prinzip des Shell-Sort ist wohl am besten aus dem folgenden Struktogramm ersichtlich. Der Algorithmus besteht im Wesentlichen daraus, dass die Daten der zu sortierenden Wertemenge über eine kleiner werdende Distanz hinweg verglichen und eventuell ausgetauscht werden. Langsam nähert man sich dadurch der geringsten Distanz, die möglich ist, es werden benachbarte Elemente verglichen und getauscht. Damit ist der Vorgang dann beendet und die Werte sind (hoffentlich) sortiert.

Hier nun das Struktogramm:
<Struktogramm>

Die Schrittweite wird in Ermangelung besseren Wissens meist mit der halben Länge des Datenfeldes angenommen, bei n Daten also eine Schrittweite von n/2. Man kann bisher im günstigsten bekannten Falle mit einem proportionalen Wert von n^1.2 für die Anzahl der Vergleiche rechnen, im negativsten Fall erreicht man höchstens n^3/2.

Bevor wir mit dem Quick-Sort zum Ende unserer Auswahl kommen, jetzt erst wieder das Listing eines Shell-Sorts

30000 rem
30010 rem *** routine shell-sort ***
30020 rem 
30030 s=n
30040 s=int(s/2)
30050 if s=0 then 30160
30060 d1=n-s
30070 for j=1 to d1
30080 : i=j
30090 : s1=i+s
30100 : if x(i) <= x(s1) then 30150
30110 : h=x(i)
30120 : x(i)=x(s1)
30130 : x(s1)=h
30135 : i=i-s
30140 : if i>0 then 30090
30150 next j
30155 goto 30040
30160 return

Anmerkung: Das Programm in der 1. Auflage ist fehlerhaft. Es wurde korrigiert und durch gelbe Markierungen entsprechend gekennzeichnet. Die korrekte Version ist auf Seite 102 im Listing des Vergleichsprogramms von Zeile 3000 bis 3190.

Auflagen[Bearbeiten | Quelltext bearbeiten]

Die hier beschriebene 1.Auflage umfasst 296 Seiten. Die zweite und letzte überarbeitete Auflage erschien 1987 und hatte 357 Seiten!

Meinung[Bearbeiten | Quelltext bearbeiten]

Werner: "Geeignet für Menschen, die sich für Mathematik und Physik interessieren. Man sollte aber auf jeden Fall zur fehlerbereinigten zweiten Auflage greifen."

Weblinks[Bearbeiten | Quelltext bearbeiten]

Katalog der Deutschen Nationalbibliothek: 3-89011-021-5