Willkommen zu Function 3.0!
===========================
Vorgeschichte
-------------
Eines Tages war es soweit. Ich, 
Gunnar Thle, damals 17, bestellte 
mir einen Portfolio. Das war im 
Herbst 1995. Und dann ging es 
weiter: Speicheraufrstung auf 320 
KByte, Portwalk, PC-Verbindung. Dann 
wollte ich aber auch mal etwas 
programmieren. Und dadurch entstand 
dieses Programm.



Was soll dieses Programm berhaupt ?
------------------------------------
Dieses Programm stellt den Graphen 
weitgehend beliebiger mahematischer 
Funktionen dar und enthlt einige 
interessante Bearbeitungsfunktionen.

Systemvoraussetzungen
---------------------
Dieses Programm luft auf dem Atari 
Portfolio. Man braucht:
- ca 80 KByte freien Hauptspeicher
- Platz fr die Programmdateien
- ca 1,5 KByte freien Platz im 
SYSTEM-Verzeichnis (!)
- PBasic ab Version 4.9

Wer das Programm unbedingt auf dem 
PC starten will, braucht die 
Portfolio-Emulationsdateien I60 und 
I61 und ein Verzeichnis C:\SYSTEM.

Das Programm sollte eigentlich auch 
auf (EP)ROM-Karten lauffhig sein. 
Konnte ich bisher noch nicht testen 
(habe keinen Eprommer).

Bedienung
=========
Starten
-------
Gestartet wird so:
- Wenn Pbasic im PATH liegt oder im 
selben Verzeichnis wie dieses 
Programm:
Wechsel in das Programmverzeichnis
Eingabe von FUNC <RET>.

Wenn Pbasic in einem anderen 
Verzeichnis liegt, wechselt man in 
jenes Verzeichnis und startet:
P <Pfad>\func <RET>

Starten auf dem PC
Zuerst mu man die Programme I60 und 
I61 starten, anschlieend wechselt 
man in das Verzeichnis von Pbasic 
und gibt ein:
P -E <Pfad zu func.bas>\FUNC <RET>



Eingaben
Im ersten erscheinenden Fenster gibt 
man eine Funktionsgleichung in der 
Form y=... ein. Sie darf bis zu 200 
Zeichen lang sein. Abschlu mit 
<RET>. Das y= mu stehenbleiben!

Beispiel:
y=sin(x)+tan(x)


Untersttzte Funktionen
-----------------------
Es werden alle PBasic-Funktionen 
untersttzt:

Rechenzeichen:
Potenzierung ^
Multiplikation *
Division /        11/3=3,6666666
Rest einer Division %  11%3=2
Ganzzahlteil einer Division \ 11\3=3
Addition +
Subtraktion -
Logische Operatoren:
AND
OR
NOT
XOR
EQV
IMP
<
>
<=
>=
=
<>

Vordefinierte Funktionen:
abs()
Liefert den Absolutwert einer Zahl
acos()
Liefert den Arcuscosinus einer Zahl
asin()
Liefert den Arcuscosinus einer Zahl
ceil()
Rundet die Zahl auf eine ganze Zahl 
auf
cos()
Liefert den Cosinus einer Zahl
cosh()
Liefert den Cosinus hyperbolicus 
einer Zahl
deg()
Konvertiert Radiant in Grad
exp()
Ergibt e hoch Zahl
false
Liefert 0
fix()
Schneidet Nachkommastellen ab
int()
Schneidet Nachkommastellen ab
log()
Liefert den natrlichen Logarithmus 
einer Zahl
pi
Liefert pi=3,1415927
e
Liefert die Zahl e=2,7182818
rad()
Konvertiert Grad in Radiant
rand()
Liefert eine Zufallszahl zwischen 0 
und Zahl-1
rnd
Liefert eine Zufallszahl zwischen 0 
und 0,999999999
sin()
Liefert den Sinus einer Zahl
sinh()
Liefert den Sinus hyperbolicus einer 
Zahl
sqr()
Liefert die Quadratwurzel einer Zahl
tan()
Liefert den Tangens einer Zahl
tanh()
Liefert den Tangens hyperbolicus 
einer Zahl
true
Liefert -1
wksread()
Liefert die Zahl, die in der 
Tabellenkalkulationsdatei "Datei" an 
Reihe, Spalte steht.
Beispiel:
wksread("Beispiel.wks",1,27) liefert 
die Zahl von AB2. Achtung: 
verlangsamt Zeichnung enorm!}

Hinweise
Alle trigonometrischen Funktionen in 
Radiant!


Eingabe von Grenzen
-------------------
Nachdem man seine Funktion 
eingegeben hat, mu man den 
Bildschirmausschnitt bestimmen. 
Linke und rechte Grenze mssen 
eingegeben werden, obere und untere 
knnen eingegeben werden, wenn oben 
und unten 0 eingegeben wird, werden 
die Grenzen automatisch berechnet.
Die automatische Berechnung sollte 
bei Funktionen mit 
Unendlichkeitsstellen nicht 
verwendet werden, da man dann nicht 
mehr viel sehen wird.
Die linke Grenze mu nicht kleiner 
sein als die Rechte und die Untere 
nicht kleiner als die Obere. Auf 
diese Weise kann man ein 
"verkehrtherum" liegendes 
Koordinatensystem bekommen.

Eingaben fr's Koordinatensystem
--------------------------------
Als nchstes wird gefragt, ob ein 
Koordinatensystem gezeichnet werden 
soll. ja oder j oder 1 zeichnen 
Achsen, alle anderen Eingaben nicht.
Als letztes soll man den Abstand der 
Einheitsstriche eingeben. Eine 0 
fhrt dazu, da keine Striche 
gezeichnet werden. Man kann auch 
Einheitsstriche ohne Achsen zeichnen 
oder nur eine Achse mit Strichen 
versehen oder...

Zeichnen ...
------------
Nach einem Rechenvorgang wird 
endlich gezeichnet.
Das Ende wird durch einen Pieps 
angezeigt, falls der Summer nicht 
abgeschaltet wurde.


Das "Was nun"-Men
------------------
Neue Werte
Wenn man diesen Menpunkt anwhlt, 
kann man eine neue Funktion oder 
neue Grenzen eingeben oder das 
Koordinatensystem ndern.

Zoom NP
Hier kann man den 
Bildschirmausschnitt verndern. 
Zuerst wird man nach den Prozenten 
gefragt. Eine Zahl <100 fhrt zu 
einem kleineren Bildschirmausschnitt 
und somit zu mehr Details, eine Zahl 
>100 zu einem greren Ausschnitt 
und zu mehr bersicht.
Im folgenden Men stellt man ein, 
welche Koordinaten gezoomt werden 
sollen:
- Nur X lt die Y-Koordinate 
unangetastet
- Nur Y lt die X-Koordinate 
unangetastet
- X und Y verndert beide 
Koordinaten
- X;Y maximal verndert nur die X-Koordinate, die Y-Koordinate wird 
neu berechnet. ACHTUNG Nicht bei 
Funktionen mit Unendlichkeitsstellen 
anwenden !

Zoom Ecken
Im nun erscheinenden Men kann man 
einen Quadranten auswhlen, den man 
dann mit Zeigen anzeigt. Zurck 
sorgt dafr, da ein symmetrisches 
Koordinatensystem entsteht, wobei 
eine vorherige "Zeigen"-Operation 
ungeschehen gemacht wird. Als 
Bereichsgrenzen werden die z.T. 
negierten Grenzen des ausgewhlten 
Quadranten genommen. Einfach 
ausprobieren !

Zeigen
Zeigt den Graphen noch einmal an.

Bild speichern
Hier kann man die Graphik im 
Grafikformat PGC speichern, z.B. zur 
Bearbeitung mit SPaint oder zum 
Ausdrucken.

Werte zeigen
Damit kann man sich die eingegebenen 
Werte ins Gedchtnis zurckrufen.

ESC
Wenn an auf ESC drckt, wird das 
Programm beendet, ohne Abfrage.

Programm verlassen
So kommt man raus:
- Im "Was nun"-Men ESC drcken.
- Bei Eingabe der Funktion end (ohne 
y= ) eingeben und alle weiteren 
Fenster mit RET abschlieen.
- Durch Drcken der Atari-Taste 
(eventuell lnger festhalten).

Fehlerbehandlung
Wenn in der Funktion ein Fehler 
enthalten ist, wird man ber kurz 
oder lang mit einer Fehlermeldung 
konfrontiert, die zur Suche Anla 
geben sollte.

Wenn ein Programmierfehler auftritt 
(das war dann mein Fehler), erhlt 
man den Fehlertext auf dem 
BIldschirm. Nach einem Tastendruck 
startet das Programm neu.

Man kann bei Eingabe der Funktion 
allerdings leicht Sachen eingeben, 
die das Programm "um die Ecke 
bringen". Also Vorsicht!
Die Funktionsauswertung wird mit 
EVAL vorgenommen, daher kann man 
auch andere Befehle eintippen, die 
gewissenhaft ausgefhrt werden und 
eventuell das Programm 
durcheinanderwerfen.

Hinweise
--------
Copyright
Dieses Programm ist SHAREWARE. Es 
darf in UNMODIFIZIERTER Form 
beliebig kopiert und weitergegeben 
werden. Verkauf (auer 
Kopiergebhren) ist verboten. Vor 
jeder kommerziellen Nutzung ist der 
Autor zu befragen. Das Copyright fr 
dieses Programm ud die dazugehrigen 
Anleitungstexte liegt beim Autor.
Bezahlung: Wer dies Programm nutzt, 
mge mir bitte irgendeine Form der 
Anerkennung zukommen lassen. Ne 
Tafel Schoki, ein bischen Geld oder 
was wei ich. Mittellose Schler 
betrachten das Programm bitte als 
Geschenk.
Copyright Pbasic: BJ Gleason

Kritik, Wnsche, Kummerkasten
-----------------------------
Was ist gut?
Was ist schlecht?
Was fehlt?
Schreibt mir eure Wnsche !!!
Ich denke z.B. an die schlechte 
Fehlerbehandlung und an eine 
Druckmglichkeit. Also, was soll's 
sein ?

Adresse
Gunnar Thle
Postfach 70
D-25691 St.Michaelisdonn
(bis Frhjahr 1998)


Updates und neue Zusatzfunktionen:
rev 001: 12-95
Erste Version.
Anregung durch den geringen 
Funktionsumfang anderer PoFo-Programme derselben Richtung.

Rev002:
In der neuen Version wurde 
verbessert:
Funktionen, die teilweise oder ganz 
undefiniert sind (Pole, 
Wurzelfunk.), werden nun ohne 
Darstellungsprobleme gezeichnet.

Rev003:
Bei Funktionen, die ein "/" 
enthalten (also wohl eine 
Unendlichkeitsstelle), ndern sich 
automatisch die voreingestellten 
Werte bei "Obere Grenze" und "Untere 
Grenze"von 0 auf 2 bzw. -2, damit 
man einen brauchbaren Graph erhlt.

Wenn sich im aktuellen Verzeichnis 
eine Datei von MMCALC 2.1 befindet, 
erhlt man die in MMCALC eingegebene 
Funktion F1 als Vorgabe (meiner 
Meinung nach sehr sinnvoll). 
Erweiterung auf MMCALC-3.1-Dateien 
angedacht, aber dank eines neuen 
Formats recht aufwendig.

Wer andere Funktionen aus MMCALC-Dateien zeichnen mchte, gibt statt 
der Funktionsgleichung ein (Vorgabe 
lschen):

Name der Funktion
einen Doppelpunkt
Dateiname ohne .clc

Beispiel:
f3:hausaufg
zeichnet Funktion F3 aus der Datei 
"HAUSAUFG.CLC"

Tip:
Die mit "Bild speichern" 
gespeicherten Bilder knnen z.B. mit 
Spaint nachbearbeitet werden. (PGC-Format)

Es sind nun die Konstanten pi und e 
vordefiniert.

Viel Spa!!