% Keine Panik - Diese Anleitung ist als Eingabefile für \LaTeX\ gedacht. Aber sie
% ist auch lesbar, wenn man \TeX\ nicht hat oder versteht. Alles, was mit
% einem \ beginnt ist ein Kommando. \bf steht z.B. für Bold, also wird
% ein Teil des folgenden Textes in Bold gedruckt. \section etc. steht für
% die Unterteilung des Textes in Kapitel. Der eigentliche Text ist normal
% lesbar. Jede Zeile mit einem % davor ist eine Kommentarzeile.
% Diese Informationen sollten ausreichen, um diese Anleitung lesen zu können.
% Ansonsten: \TeX\ ist wirklich gut - sollte man sich wirklich mal ansehen !


\documentstyle[amigauml]{article}

\parindent 0pt
\def\RETURN {$<$RETURN$>$}
\begin{document}

\title{Plotter V3.98}
\author{\copyright by Rüdiger Dreier 1988--91}
\sloppy
\maketitle
\begin{center}
Plotter ist FREEWARE
\end{center}
\newpage
\tableofcontents
\newpage
%
% Abschnitt 1
%
\part{Einleitung}
%
% Einleitung
%
\section{Wichtiger Hinweis}
{\sl
  Der Autor über\-nimmt keinerlei Haftung für Schäden, die aus der sach-- oder
  un\-sach\-ge\-mässen Benutzung des Programms entstehen !!

  Weiterhin wird  keine  Haftung  für  die  Fehlerfreiheit  des  Programms
  über\-nommen !!

  Benutzung auf eigene Gefahr !
}

\vspace{.5cm}
Plotter ist {\sl{\bf FREEWARE}}.
\vspace{.5cm}

Dieses Programm darf unter folgenden Bedingungen weitergegeben werden:

\begin{itemize}
\item Es darf mit dem Programm kein Geld verdient werden (also nur Kosten für Porto,
Material und eine kleine Gebühr für die Abnutzung der Kopieranlage, Strom etc.)
\item Das Programm darf nicht verändert worden sein.
\item Das Programmpaket muß vollständig sein, lauffähiges Programm,
Anleitungen und eine lauffähige Version müssen zusammen weitergegeben werden.
\item Es muß eine Version der MTool.Library mitgeliefert werden (mind. Version 2.05).
\item Der Copyright-Hinweis muß erhalten bleiben.
\item Will jemand das Programm (oder Teile davon) oder die MTool.Library (oder
Teile davon) kommerziell nutzen, so ist dafür eine schriftliche Genehmigung
des Autors nötig.
\end{itemize}
%
% Anwendung
%
\section{Anwendungsbereich}
  Der Plotter ist ein Programm zum zeichnen zweidimensionaler
  mathematischer Funktionen. Es kön\-nen bis zu 10 Funktionen eingegeben und gezeichnet
  werden. Zu\-sätzlich kann man sich von jeder Funktion die erste und zweite
  Ableitung zeichnen lassen (jeweils nummerisch oder symbolisch bestimmt).
  Plotter eignet sich zur Unterstützung bei Kurvendiskussionen, um die selbst
  errechneten Ergebnisse zu kontrollieren. Das Programm fertigt keine
  {\bf komplette} Kurvendiskussion an (Es fehlt z.B. die Bestimmung von
  Polen).

%
% Rechner
%
\section{Anforderungen an die Rechnerkonfiguration}
  Das  Programm läuft unter  Kickstart 1.2 und 1.3, 2.0 sollte auch möglich
  sein, 512kB Speicher sollten
  mindestens vorhanden sein, besser mehr. Der Stack sollte mindestens 20000
  Bytes betragen, sonst kommt es zu leicht zu Abstürzen. Im logischen
  Device LIBS: müssen sich drei Libraries befinden:
\begin{enumerate}
\item mathieeedoubbas.library
\item mathieeedoubtrans.library
\item tool.library (in diesem Ordner enthalten)
\end{enumerate}
  Und in S: sollten sich befinden:
\begin{enumerate}
\item Funktionen, einige vordefinierte Funktionen.
\item Colour, Die Farbdaten des Programms.
\end{enumerate}

\newpage
%
% Abschnitt 2
%
\part{Die Menupunkte:}
%
% Menu 1
%
\section{C--Plot}
\subsection{Genauigkeit}
    Es  erscheinen 3 SubMenuPunkte, mit denen die Genauigkeit auf {\bf klein},
    {\bf mittel} oder {\bf groß} gesetzt werden kann. Je genauer gezeichnet wird, desto
    mehr Zeit wird benötigt.
\subsection{Intervall}
\label{INTERVALL}
    Nach Anwahl dieses Menupunktes erscheint ein Fenster mit 4
    Stringgadgets, in denen die alten Intervallgrenzen (der Bereich, für
    den die Funktion gezeichnet werden soll) anzeigt werden. Diese Werte
    kann man wie gewohnt verändern. Der eingegebene Term muß nur den
    Anforderungen entsprechen, die auch für die Funktionen gelten
    (siehe Kapitel \ref{FTerme}). Außerdem
    darf die linke/untere Grenze nicht größer/gleich sein als die
    rechte/obere. In solchen Fällen erscheint das Fenster nach Anwahl des
    OK--Gadget (oder $<$RETURN$>$ im vierten Stringgadget) wieder.
    Eine evt. vorhandene HP--Plotausgabe wird abgeschlossen (siehe auch Kapitel \ref{HP}).
\subsection{Konstanten}
\label{KONSTANTEN}
    Es erscheint ein Fenster mit 2 Stringgadgets. Das zweite Stringgadget
    ist zunächst deaktiviert. Im ersten kann ein Buchstabe eingegeben werden
    (nur {\bf Kleinbuchstaben !}).
    Dieser Buchstabe repräsentiert den Namen der Konstanten (a-z). Der Wert
    für {\bf e} und {\bf x} wird später nirgendswo verwendet, sollte
    also nicht benutzt werden. Wurde im ersten
    Gadget ein korrekter Name eingegeben und $<$RETURN$>$ gedrückt, so wird
    das zweite Gadget aktiviert und eine evt. schon vorhandene Definition für
    die entsprechende Konstante angezeigt. Diese kann verändert bzw. neu
    eingegeben werden. Durch Anwahl des OK--Gadgets (oder $<$RETURN$>$) wird
    die Definition übernommen.
\subsection{Macros}
\label{macro}
    Es erscheint ein Fenster wie bei (\ref{KONSTANTEN}). Es muß erst der Name
    des Macros (klein) und danach die Definition für das Macro eingegeben werden.

In den Funktionen wird ein Macro als \_Macroname oder \_Macroname(Parameter)
angesprochen (z.B. \_a bzw. \_a(2*x)). Wird ein Parameter angegeben, so wird in
dem Macros der Buchstabe $x$ durch den Parameter ersetzt.
Ein Macro kann selbst wieder aus anderen Macros bestehen.
Rekursionen werden {\sl{\bf nicht}} automatisch erkannt. Während eine
Funktion zusammengestellt wird (d.h. die in ihr enthaltenen Macros
durch die entsprechenden Definitionen ersetzt werden),
sind die Bildschirmfarben auf einen anderen Wert gesetzt und dieser Vorgang
kann durch einen Mausklick gestoppt werden. Es erscheint
dann ein Requester, in dem man wählen kann, ob fortgefahren oder
abgebrochen werden soll.
\subsection{About}
    Dieser Menupunkt zeigt die Versionsnummer und das Datum der letzten
    Ver\-änder\-ung an dem Programm an. Durch Anklicken des Fensters
    verschwindet es wieder.
\subsection{ENDE}
    Das Programm wird beendet (mit Sicherheitsabfrage).
%
% Menu 2
%
\section{Funktion}
\subsection{Ändern}
    Nach Anwahl dieses Menupunktes erscheint ein Untermenu mit den bisher
    eingegebenen Funktionen (es werden die ersten 14 Zeichen jeder Funktion
    angezeigt). Wird eine dieser Funktionen angewählt, so erscheint sie in
    einem Stringgadget, so daß sie verändert werden kann. Die Funktion muß
    mathematisch korrekt eingegeben werden (siehe Kapitel \ref{FTerme}).
    Wenn unpaarige Klammern vorhanden sind, erscheint das Stringgadget
    gleich wieder, damit man die Funktion korrigieren kann.
\subsection{Funktion, 1./2. Ableitung num/symb}
    Bei jedem dieser 5 Menupunkte erscheint wieder das oben
    beschriebene Untermenu. Durch
    Anwahl eines Untermenupunktes kann man dann bestimmen, welche Funktion
    man gezeichnet haben will. Numerische Ableitungen werden nach dem
    Sekantenverfahren bestimmt, dabei können schon in der ersten Ableitung
    Ungenauigkeiten auftreten, die in der zweiten Ableitung dann schon
    recht deutlich werden. Beim symbolischen Ableiten wird erst die
    Ableitung als Term bestimmt und dann normal gezeichnet. Dabei kommt es
    dann nach Anwahl der Funktion zu einer kurzen Verzögerung, in der die
    Ableitung bestimmt wird. Diese Methode ist genauer, hat aber auch ihre
    Nachteile:
\begin{itemize}
\item Das Bilden der Ableitung ist ein rekursiver Vorgang.
    Der Programmteil Ableitung.c sollte daher
    mit Stack--Checking  compiliert werden, wenn man auf Nummer Sicher
    gehen will (Lattice--C: ohne --v). Damit
    kann man einige Abstürze umgehen. Tritt dann bei dieser Version Plotter
    (ohne --v  compiliert) ein Stacküberlauf auf, so erscheint ein
    Autorequester, der einen darauf aufmerksam macht und die Möglichkeit zum
    Abbruch des Programms gibt. Dabei wird der Screen des Programms nicht
    geschlossen, dieser Speicher geht also verloren (leider). Aber immerhin
    ist der Rechner nicht aus heiterem Himmel abgestürzt.
    {\sl ACHTUNG: Die lauffähige Version des Plotters ist mit --v compiliert,
    Stack--Checking ist also abgeschaltet. Mit einem Stack von 20k sollte es
    aber trotzdem keine Probleme geben}
\item Einige der verwendbaren Funktionen sind nicht ohne weiteres
    abzuleiten.  Die Ableitung von sgn ist z.B. fast überall Null, nur um
    Null herum ist sie nicht definiert. Das Programm setzt dafür aber
    einfach Null ein.
\item Außerdem wird z.B. die Ableitung von ln zu 1/x
    bestimmt und auch so gezeichnet, d.h. auch im negativen Bereich
    gezeichnet, obwohl ln dort überhaupt nicht definiert ist.
\end{itemize}

    Stellt das Programm beim Zeichnen einen mathematischen Fehler fest
    (z.B. Wurzel aus einer negativen Zahl), so erscheint nach dem Zeichnen
    ein Requester, der einen auf einen Fehler in der Formel aufmerksam
    macht. Dieser Fehler kann natürlich auch am Intervall liegen (oder bei
    1/x wurde eine Division durch Null erkannt). Meistens kann man diese
    Meldung ignorieren,  besonder wenn man sie schon erwartet hat. Sie
    erscheint hauptsächlich, um einen zu zeigen, daß beim Zeichnen etwas
    geschummelt wurde.

{\bf
    Jeder Zeichenvorgang kann durch einen Mausklick in die Zeichenfläche
    abgebrochen werden. Es erscheint dann ein Requester, in dem man wählen
    kann, ob weitergezeichnet oder abgebrochen werden soll. Bei großer
    Zeichengenauigkeit und steilen Funktionen kann es eine ganze Weile
    dauern, bis der Requester erschein.
}

\subsection{Diskussion}
    Unter diesem Menupunkt kann man sich eine grobe Kurvendiskussion
    erstellen lassen (Nullpunkte, Wendepunkte und Extrempunkte). Diese
    Punkte werden nur für das eingegebene Intervall bestimmt. Außerdem
    wird die Funktion sowie die erste und zweite Ableitung angezeigt. Bei
    Extremstellen wird angegeben, ob es ein Minimum oder Maximum ist, bei
    Wendestellen, ob es eine rechts--\-links "`Kurve"' oder umgekehrt ist.
    Nochmal zu den symbolischen Ableitungen: Eingefleischten Mathematikern
    mag bei einigen der Ableitungen die Haare zu Berge stehen. Zum Einen
    ist es mit der Vereinfachung der Terme (noch) nicht sehr weit her
    (Immerhin: 0*irgendetwas wird nicht angezeigt, wohl aber
    (1-1)*irgendetwas \dots).
    Aber auch rein mathematisch wird manchmal geschummelt. Die verwendeten
    Funktionen sind in der Tabelle \ref{ABLEITUNGEN} aufgeführt. Zu Punkt 4: Weiß
    jemand etwas besseres oder einfacheres ?

    Das Programm macht nicht deutlich, wenn eine nicht ganz korrekte
    Ableitung benutzt wird. Im Zweifelsfall die nummerisch bestimmte
    Ableitung mit der symbolisch bestimmten vergleichen, sie sollten
    identisch sein. (Ausnahme: z.B. bei ln(x), siehe oben).

{\bf
    Jeder Diskussionsabschnitt kann durch einen Mausklick in die Zeichenfläche
    abgebrochen werden. Es erscheint dann ein Requester, in dem man wählen
    kann, ob weiterdiskutiert oder abgebrochen werden soll.
}

\begin{table}
\caption{Die verwendeten Ableitungen}
\label{ABLEITUNGEN}
\begin{center}
\begin{tabular}{|r|r|l|}
\hline
1. & $+-*/$ & Das übliche \\
2. & $x^a$ & $a*x^{(a-1)}$ \\
3. & $a^x$ & $a^x*\ln{a}$ \\
4. & $f(x)^{g(x)}$ & $(g(x)*\ln(f(x)))'*f(x)^{g(x)}$ \\
5. & trigonometr. Funktionen & Das übliche \\
6. & abs($x$) & sgn($x$) (Für $x$=0 nicht richtig) \\
7. & int($x$) & 0 (Läßt sich drüber diskutieren) \\
8. & sgn($x$) & 0 (Läßt sich drüber diskutieren) \\
\hline
\end{tabular}
\end{center}
\end{table}

\subsubsection{WICHTIG}
{\sl
    Ich über\-nehme keinerlei Verantwortung für die Richtigkeit der
    Ableitungen oder anderer Ergebnisse dieses Programms ! Nie
    blind auf die Ergebnisse vertrauen, lieber
    nochmal von Hand nachrechnen !!!!
}
\subsubsection{ToDo}
    Zu einer vollständigen Kurvendiskussion fehlt noch einiges: z.B.
\begin{itemize}
\item Angabe Definitionsbereich, Definitionslücken etc.
\item Symetrie
\item Asymptoten etc.
\end{itemize}

\subsection{Num. Integration}
 Hier können Sie eine Funktion nummerisch Integrieren lassen. Geben Sie in
 das erscheinende Fenster Start und Ende des zu integrierenden Bereiches ein
 und die Anzahl Schritte. Meist gilt: je mehr Schritte, desto besser.
 Die Integration startet man mit OK oder \RETURN im letzten Gadget,
 das Ergebnis wird im Fenster angezeigt,
 ebenso evt. Fehler (Bedeutung der Fehlercode, siehe Tabelle \ref{Fehler}).
 Das Fenster schließt man durch Anwahl von Quit. Vorher können aber beliebig
 viele Integrationen für die eine Funktion durchgeführt werden.

\begin{table}
\caption{Fehlercodes}
\label{Fehler}
\begin{center}
\begin{tabular}{|l|r|l|}
\hline
DIVBYZERO   &   1  &  Es wurde durch 0 geteilt \\
LOGNEG      &   2  &  Es wurde von Zahl <= 0 der Log gebildet \\
SQRTNEG     &   4  &  Es wurde von Zahl <0   die Wurzel gebildet \\
ATRIG       &   8  &  Es wurde von Zahl >1 oder <-1 asin/acos gebildet \\
UNPAKLAM    &   16 &  Unpaarige Klammern \\
TEST        &   32 &  Wird nicht benutzt \\
NOFUNC      &   64 &  Keine Funktion eingegeben  \\
NO\_KONST   &  128 &  Keine solche Konstante  \\
NO\_MEM     &  256 &  Kein Speicher für weiteren Block     \\
POWERROR    &  512 &  Negative Zahl hoch Bruch wurde versucht    \\
NO\_FUNC    & 1024 &  Keine Funktion gefunden         \\
\hline
\end{tabular}
\end{center}
\end{table}

%
% Menu 3
%
\section{Grafik}
\subsection{Dim1/Dim2}
\label{GROESSE}
    Mit den beiden Submenus kann man einstellen, auf welcher Zeichenfläche
    gezeichnet werden soll. Es stehen immer zwei Zeichenflächen zur Verfügung.
    Da die größere Möglichkeit nicht immer in ein Fenster paßt, kann man mit
    den Cursor-\-Tasten in dem Fenster herumscrollen. Mit ESC kommt man in
    die obere/linke Ecke zurück. Die
    große Auflösung eignet sich besonders gut für Ausdrucke, aber man
    sollte dann einen Drucker haben, der auch so viele Punkte je Zeile
    darstellen kann.

    Die Voreinstellungen sind 640x200 Punkte für Dim1 und 1000x300 Punkte
    für Dim2. Zum Verändern der Voreinstellungen, siehe Kapitel \ref{Optionen}.
\subsection{Löschen}
    Nach einer Sicherheitsabfrage wird der
    Bildschirm gelöscht. Geschieht automatisch beim Verändern
    der Intervallgrenzen und Auflösung.
    Eine evt. vorhandene HP--Plotausgabe wird abgeschlossen (siehe Kapitel \ref{HP}).
\subsection{Zoom}
    Dieser Menupunkt stellt eine Art Lupenfunktion zur Verfügung. Das
    Intervall, das als nächstes gezeichnet werden soll, kann mit der Maus
    ausgewählt werden. Die obere/linke Ecke wird mit der Maus angefahren,
    die linke Maustaste gedrückt  und gehalten und  dann die rechte/untere
    Ecke ausgewählt und  die Maus\-taste losgelassen. Danach wird der
    Bildschirm gelöscht. Während die Maustaste gedrückt wird, wird um den
    momentan ausgewählten Bereich ein Kasten gezeichnet. Wurde die größte
    Darstellungsart (siehe Kapitel \ref{GROESSE}) aus\-gewählt, so kann jederzeit mit den
    Cursurtasten und ESC in der gesammten Darstellung gescrollt werden.
    Eine evt. vorhandene HP--Plotausgabe wird abgeschlossen (siehe Kapitel \ref{HP}).
\subsection{Text einfügen}
    Es erscheint ein Fenster mit einem Stringgadget, in dem man einen Text
    eingeben kann. Nach $<$RETURN$>$ wird dieser Text immer an der aktuellen
    Mausposition angezeigt und kann so positioniert werden. Nach Druck auf die
    linke Maustaste erscheint ein Requester, in dem man die Farbe für den Text
    auswählen kann (1-4, wenn keine HP-Plotausgabe aktiv ist, sonst 1-8).
    Nur drei der vier Farben sind auf dem Bildschirm sichtbar, die vierte ist
    die Hintergrundfarbe. Wird eine Farbe $>$ 4 angewählt, so wird automatisch
    für den Bildschirm eine Farbe aus dem Bereich 1 bis 4 gewählt. In der
    Ausgabedatei steht natürlich der gewählte Wert.

\section{File}
\subsection{Funktionen laden/speichern}
    Nach Eingabe eines Namens wird die entsprechende Datei geladen und als
    Funktion interpretiert, bzw. die aktuellen Funktionen werden gespeichert.
    Das Demo--File zeigt an, wie die Funktionen anzuordnen sind.
\subsection{Macros laden/speichern}
\label{lsm}
    Nach Eingabe eines Names wird die entsprechende Datei als Macrodefinition
    geladen bzw. werden die aktuellen Macros abgespeichert.
\subsection{Konstanten laden/speichern}
    Siehe (\ref{lsm}).
\subsection{Farben laden}
    Der Name einer Datei wird abgefragt, die als Farbdatei geladen werden soll.
    Das Demo--File enthält ebenfalls alle nötigen Daten.
\subsection{Drucken}
    Der Screen wird auf einem Preferences--Drucker ausgegeben. Während des
    Druckvorgangs ändert sich die Farbe des Screens. Eine HP--Ausgabe wird
    abgeschlossen (siehe Kapitel \ref{HP}).
\subsection{HP--Ausgabe}
\label{HP}
    Bei An wird der Name eines Files abgefragt, in das die Daten für einen
    HP--Plotter geschrieben werden sollen. Alle Zeichenvorgänge incl. Text
    einfügen werden in diese Datei geschrieben. Solange dieser Modus aktiv
    ist, bleibt die Farbe des Screens verändert. Ausgeschaltet wird dieser
    Modus mit Aus oder durch Ändern des Intervall, der Screengröße oder durch
    normalen Ausdruck (Drucken).
\newpage
%
%
%
\part{Optionen und Eingabeformate}
%
\section{Funktionsterme}
\label{FTerme}
 Jede Funktion darf aus den Rechenarten
$+$,
$-$,
$*$,
$/$,
$\uparrow$
    und den Funktionen sin, cos, tan, log, int, sgn,
    abs, sqr, asin, acos, atan, ln und den Konstanten a - z und pi ohne x
    sowie der Variablen x bestehen. e und pi sind mit den erwarteten
    Werten vordefiniert.
    {\bf Es muß alles klein geschrieben werden.}
    Zahlen dürfen normal (1; 1.1; .1) oder in Potenzschreibweise (3e5,5d-7)
    eingegeben werden. Bei Potenzen darf vor dem Exponenten ein $+$ oder $-$
    stehen, ohne daß der Exponent gleich geklammert werden muß. In der
    Regel sollte man aber alles so klammern, daß zweifelsfrei festgelegt
    ist, in welcher Reihenfolge der Term berechnet werden soll. Es gilt
    natürlich Potenz-- vor Punkt-- vor Strichrechnung.

\section{Optionen}
\label{Optionen}
 Beim Starten lädt der Plotter die Dateien S:Colours und S:Funktionen.
 Tabelle \ref{Colours} und \ref{Funktionen} zeigen Beispiele für diese
 Dateien.

 Beim Start von der Workbench kann außerdem über das .info--File die Größe
 der Zeichenfläche eingestellt werden. Dazu sind die Schlüsselworte
 {\bf WIDTH1, WIDTH2, HEIGHT1, HEIGHT2, TEXT1} und {\bf TEXT2} zu definieren.
 Dabei sollte WIDTH2 $>$ WIDTH1 und HEIGHT2 $>$ HEIGHT1 sein, dies wird vom
 Programm aber nicht überprüft. Es wird ein Fenster der Dimension WIDTH/HEIGHT 1
 geöffnet und eine Bitplane der Dimension WIDTH/HEIGHT 2 angelegt. Es muß also
 immer genug Speicher für die größere Dimension vorhanden sein. Mit TEXT1 und
 TEXT2 kann ein Text vereinbart werden, der statt Dim1 und Dim2 angezeigt wird.
 Der Text sollte mit mindestens zwei Leerzeichen beginnen, da dieser Bereich
 für das Check--Mark benutzt wird.

\begin{table}
\caption{Voreinstellung der Farben}
\label{Colours}
\begin{center}
\begin{tabular}{|l|l|}
\hline
fff & \verb|Printing Hintergrund| \\
f0f & \verb|         TitelBar|   \\
5f0 & \verb|         Titel|      \\
000 & \verb|         Plot|   \\
aaa & \verb|Normal   Hintergrund| \\
679 & \verb|         TitelBar|   \\
fff & \verb|         Titel|      \\
000 & \verb|         Plot|   \\
09e & \verb|HP-Out   Hintergrund| \\
0b0 & \verb|         TitelBar|   \\
fff & \verb|         Titel|      \\
000 & \verb|         Plot|   \\
\hline
\end{tabular}
\end{center}
\end{table}

\begin{table}
\caption{Voreinstellung der Funktionen}
\label{Funktionen}
\begin{center}
\begin{tabular}{|l|l|}
\hline
sin(x) & Wird als erste Funktion angezeigt \\
cos(x) & Wird als zweite Funktion angezeigt \\
tan(x) & \\
x & \\
$x\uparrow 2$ & \\
$x\uparrow 3$ & \\
sqr(x) & \\
log(x) & \\
sgn(x) & \\
abs(x) & \\
\hline
\end{tabular}
\end{center}
\end{table}

\newpage
%
% Abschnitt 3
%
\part{Einige Bemerkungen}
%
% Hinweis
%
\section{Hinweis}
  Um  den  Code  klein   zu  halten,  wurde  eine  Stub--Routine  MemCleanup
  eingefügt. Das  verringert  die  Codelänge bei  Lattice--Programmen  meist
  etwas.  Bei anderen Compilern sollten  die entsprechenden Zeilen gelöscht
  werden  (in Berechnungsroutinen.c).
%
% Known Bugs
%
\section{Bekannte Fehler}
  Es wäre schön, wenn ich hier KEINE hinschreiben (tippen) könnte. Aber das
  wäre  nicht ganz richtig. Es  gibt ein paar kleine  Fehler, ich weiß aber
  nicht, wo sie sind.
\begin{itemize}
\item Gelegentlich erhalte ich beim HP--Output eine Datei, die mit dem
  PLT:--Device und der Option s am Bildschirm angezeigt werden kann, die
  aber nicht gedruckt wird.
\item Gelegentlich wird beim Zeichnen ein Funktionswert zu NULL bestimmt und
  entsprechend gezeichnet. Das ergibt dann einen einzelnen Punkt oder einen
  häßlichen  Haken. Dieser Fehler  ist nicht reproduzierbar,  d.h. läßt man
  die gleiche Funktion sofort  nochmal zeichnen, passiert das gleiche nicht
  nochmal. Wie kann sowas passieren ?
\item  Gelegentlich   tritt  eine   TrapV--Exception  auf.   Die   an\-fäl\-ligen
  Fix\--Um\-wand\-lun\-gen  (die diesen  Fehler scheinbar  produzieren können) habe
  ich alle  überprüft,  wo nötig  auch eine  Sicherheitsabfrage  eingefügt.
  Diese  Exception  entsteht  irgendwo  anders.  Sie  ist  ebenfalls  nicht
  reproduzierbar.
\end{itemize}
  Die beiden letzten Fehler sind bei mir jetzt schon eine ganze Weile nicht mehr
  aufgetaucht, obwohl ich auch einige fiese Funktionen gezeichnet habe. Lagen
  wohl beide an alten Versionen der matheieee\dots --Libraries.
% Changes
\section{Changes}
  Hier sind einige der Veränderungen zwischen den veröffentlichten Versionen
  aufgeführt.
\subsection{V3.96 -- V3.98}
\begin{itemize}
\item Plotter arbeitet nun auch auf FPU--Amigas korrekt.
\end{itemize}
\subsection{V3.71 -- V3.96}
\begin{itemize}
\item Zwei mir bekannte Fehler in den Ableitungsroutinen beseitigt.
\item Macros wurden eingeführt (siehe \ref{macro}).
\item Das Laden und Speichern von Funktionen, Konstanten und Macros ist jetzt
möglich, ebenso das Laden einer Farbpalette.
\item Eine Möglichkeite zur numerischen Integration wurde eingefügt.
\item Plotter beherscht jetzt die Ausgabe von HP Daten. Zusammen mit dem
PLT:--Device sind somit gute Ausdrucke möglich.
\item Das Einfügen von Text in die Zeichenfläche ist jetzt möglich.
\item Über das .info--File kann die Größe der Zeichenfläche bestimmt werden
(siehe \ref{Optionen}).
\end{itemize}




\newpage

%
%
%
\part{Tutorial}
\section{Einleitung}
 Sie haben sich also entschieden, den Plotter einmal auszuprobieren und
 wollen Schritt für Schritt wissen, was Sie tun sollen. Genau das versuche ich
 mit diesem Tutorial zu erreichen. Sagen wir mal, Sie wollen sich die Funktionen
$$\sin(x)+\cos(x)$$
$$2*\sin(x)$$
$$\sin(2*x)$$
 im Intervall $[-\pi,\pi]$ ansehen.
\section{Vorbereitungen}
 Sorgen Sie dafür, daß sich im LIBS:--Ordner die folgenden Libraries befinden:
\begin{enumerate}
\item mathieeedoubbas.library
\item mathieeedoubtrans.library
\item tool.library
\end{enumerate}
 Sollten Sie regelmäßig mit dem Plotter arbeiten, sollten Sie auch noch folgende
 Dateien nach S: kopieren:
\begin{enumerate}
\item Colours
\item Funktionen
\end{enumerate}
 Außerdem sollten Sie noch die Größe der Zeichenfläche einstellen:
\begin{itemize}
\item Öffnen Sie Ihr Diskettenicon, bis Sie das Icon des Plotter sehen.
\item Klicken Sie den Plotter {\bf einmal} an und wählen Sie den
 Workbench--Menupunkt Workbench/Info. Es sollte das Info--Fenster erscheinen.
\item Im unteren Bereich sollte unter Tool--Types bereits etwas stehen. Klicken
 Sie die Pfeile so lange an, bis Sie einen der folgenen Texte sehen und
 ändern Sie den Wert dahinter auf den angegebenen Wert ab:
\begin{verbatim}
            WIDTH1=640
            WIDTH2=1000
            HEIGHT1=256
            HEIGHT2=300
            TEXT1=   640x256
            TEXT2=  1000x300
\end{verbatim}
 Dies sind die Standarteinstellungen für einen PAL--Amiga. Keiner der Werte
 für WIDTH oder HEIGHT sollte größer als 1024 sein (es sei denn, man hat
 die ECS--Chips).
\item Wählen Sie SAVE an.
\item Starten Sie den Plotter durch einen Doppelklick
\end{itemize}
\section{Eingeben der Funktionen}
 Die drei Funktionen, die Sie zeichnen lassen wollen, enthalten immer wieder
 den Ausdruck \verb|sin| und \verb|cos|. Obwohl es sich bei diesen kurzen
 Texten fast nicht lohnt: Stellen Sie sich tippfaul und arbeiten Sie mit Macros.
\subsection{Eingabe der Macros}
 Sie haben sich überlegt, daß Sie \_a=sin und \_b=cos definieren wollen.
 Wählen Sie also den entsprechenden Menupunkt (Macros). Geben Sie in das
 kleine Gadget ein kleines a ein und drücken Sie \RETURN. Der Cursor sollte
 nun in dem zweiten Gadget stehen. Sollte dort ein alter Text angezeigt werden, so
 löschen Sie ihn mit rechte--Amiga--x. Geben Sie dann \verb|sin(x)| ein.
 Entsprechend geben Sie für \_b den Text \verb|cos(x)| ein.
\subsection{Eingabe der Funktionen}
 Klicken Sie im Menupunkt Ändern drei Untermenupunkte an, ohne die rechte
 Maustaste loszulassen. Nach dem Loslassen sollte ein Fenster erscheinen, in
 dessen Gadget evt. eine alte Funktion steht. Löschen Sie diese. Dann geben Sie
 \verb|_a+_b| ein. \_a steht für den Sinus, \_b für den Cosinus.
 Wenn Sie \RETURN drücken, sollte das Fenster verschwinden und gleich darauf
 wieder erscheinen. Geben Sie dort \verb|2*_a| ein. Schließlich erscheint
 das Fenster noch einmal. Dort geben Sie dann \verb|_a(2*x)| ein. Wenn Sie
 sich jetzt die Untermenupunkte von Ändern ansehen, sollten dort Ihre Funktionen
 erscheinen.
\section{Eingabe des Intervalls}
 Wählen Sie den Menupunkt Intervall. Geben Sie für x--min \verb|-pi|, für
 x--max \verb|pi|, für y--min \verb|-20| und für y--max \verb|20| ein. Die
 Grenzen für den y--Bereich kennen Sie ja noch nicht, also tasten Sie sich
 von oben heran.
\section{Zeichnen der Funktionen}
 Wählen Sie unter dem Menupunkt Funktion die drei gewünschten Funktionen an.
 Sie sollten gezeichnet werden. Aber der Bereich von -20 bis 20 war zu viel.
\section{Ändern des Bereiches}
 Prinzipiell können Sie nochmals Intervall aufrufen und neue y--Grenzen eingeben.
 Versuchen Sie aber mal die Funktion Zoom. Wählen Sie sie an und gehen Sie mit
 der Maus an die Stelle, die Sie als neue obere linke Ecke sehen möchten.
 Drücken Sie die linke Maustaste und lassen Sie sie {\bf nicht} los. Gehen Sie
 mit der Maus an die Stelle, die Sie als neue untere rechte Ecke sehen möchten und
 lassen Sie die Maustaste los. Nun können Sie die Funktionen neu zeichnen.
\section{Diskussion}
 Falls Sie noch mehr über die Funktion wissen wollen, wählen Sie den Menupunkt
 Diskussion.

%
%
%
\part{Abschluß}
%
% Ende
%
\section{Schlußwort}
  Falls jemand  Verbesserungsvorschläge, Fehlerkorrekturen  (oder auch  neu
  entdeckte Fehler, z.B. das  irgendeine Ableitung  falsch  gebildet
  wird \dots ich  habe da  eigentlich  sehr  viel überprüft) oder Geld für
  mich hat, meine Adresse:

\begin{verbatim}
                 Rüdiger Dreier
                 Gustav-Winkler Str. 40
          W-4800 Bielefeld 18
                 Germany

\end{verbatim}

\begin{center}
       Viel Freude mit diesen Programm !!
\end{center}


\end{document}
