IBM @_p M-O`  @`! #@%`')+-/1 3@5`7;=?A C@E`GIKOQ S@U`WY[]_a c@e`gikoq s@u`wy{} @` @ ` @ ` @ `  @ ` ǀ ɠ @ ` ׀ ٠ O` @`/Aa   !Aa!!#A%a')+-/1!3A5a79;=?/CAEaGIKOQ!SAUaWY[]_a!cAeagkmq!o!Aa!Aa!Aa!Aaɡaׁ١!Aa!Aa B b  O`  @`! #@%`')+-/1 3@5`7;=?A C@E`GIKOQ S@U`WY[]_a c@e`gikoq s@u`wy{} @` @ ` @ ` @ `  @ ` ǀ ɠ @ ` ׀ ٠ O` @`/Aa   !Aa!!#A%a')+-/1!3A5a79;=?/CAEaGIKOQ!SAUaWY[]_a!cAeagkmq!o!Aa!Aa!Aa!Aaɡaׁ١!Aa!Aa B b  CARPET !DREI_D B!LFUNKTION !PLOTTER GFA!tTERM !. !.. CARPET PRG jF CARPET RSC pF 9H` nNNFFNNN<^NjN>ZN>*N:Ni:NhZNhNhNifNNNbfN8NQNfNBN@Ng|NYNcNENYNZ@N6N>jN>:N\VN6|NN^VN^NF\NaNaNh2NZbN:NiNNNiN1NCN;N?.?.?.?.?.?.?.?.?<N-BBgN. \0.N^NuNV0.  nA  @0=@0.2.FAA2.  nA " A0N^NuNVH>.<. :. 8.=G=F=E=DHn?<?,Nf4PLN^NuNVH>.<. :. 8.=G=F=E=DHn?,NfV\LN^NuNV=n=n 0.n =@0. n=@Hn?<?,NeLPN^NuNVHlHlHlHl?<BgN-HlHlHlHl0,Y@?0,Y@?0,T@?0,T@?Bg?<N.0,]@?0,]@?0,T@?0,T@?BgN, 9@ lgd?,?,?,?,?<?<0,H?0,H?N+0,]@?0,]@?0,T@?0,T@??,N, N^NuNV lg?,N,T?,N,T9|N^NuNVHlNZXN^NuNVHl:NHXNNBg/,N)\ ,g /,N?HXN-z?,NcTN(?<N.TN^NuNVHn?< BgN-^P n ( @-P?<@/./.NSP ?<?<?<0,H?0,H?Bg/.N?/.NPN^NuNVB,>?<?</,N)8PBg?</,N)(PBg?</,N)P|T gNHl?<N'\NNBg/,N&\ ,g /,N< XN*R?,N`TN%?<N+rTHn?<BgN*>P n (T @-P` nRHn nf n@gHl?<N'B\BgN+TN^NuNV/ ?<}N:T)@ ,)@ ,fN T ,/ </N8xX 】&l?0<|BQ09|9|9|(Bl9|CAp N;?<N=nT)@&_N^NuNVN$`9@HlHlHlHlN'9@B?<N'>\NHlN(XJ@f"Hl?<N&L\B?<N'\BgN*THlBgBgN(PJ@f&Hl:?<N&\N(B?<N&\BgN)T?<N(T?</,N$\NNNNBgN'T lf&Hld?<N%\N(`B?<N&|\BgN)TB?<N&h\BBgN&^\NXNN@Bg/,N$l\/,N9XN(?,N^DTN#tN^NuNuNVHn?<BgN'P nA T @0 nA T @BP nA T @BP nA T @BP?.?. ?. ?.?< Bg/.N$:,fB?<N%\NBBgN%\ nA T @01?.?. ?. ?.?< ?</.N#,f ,TfB?<N%>\NBBgN%0\ l:g\,TfV nA T @0Q?.?. ?. ?.?< ?</.N#z,fB?<N$\NBBgN$\ l:fb,Tf\ nA T @0q?.?. ?. ?.?< ?</.N#,f B?<N$v\/,NXBBgN$b\,Tg/,NXB,B,TN^NuNVB?<N$6\?<N%|T=n=n =n =nHnHnHnHn?< ?,N$`HnHnN'pPJ@gv0.U@?0.U@??.?.NtP0.=@=@0.=@=@0.nU@=@=@0.nU@=@=@HlHlHn?<?,N\HnHnHnHn?< ?,N$"0.g0.fLBgN$TB?<N#&\0,U@?0,U@??,?,NPN^NuNVB.HnHnHnHnHnHnBgBgHnBgBgBgBgBgBgBgBgBgBg?<BgBg?<N 0<=@?<N#THnHnHnHl?< ?,N#`0.|g=|=| 0.||g`=|=|``|g|g`=|=|``| g`=|=|``|g`=|=|`h`|g`=|=|`P`|g`=|=|`8`|g`=|=|"` `|g`=|=| `Bn``0.gBg?./,NP0.|g ,0.|g`D0.lf4?.?.?.?.NP0,U@?0,U@??,?,NP` `|g`BgBgBgBg?< ?,N" ` ` | g` 0.|g``0.| g`NHn?<BgN"P?<?<?<0,H?0,H?Bg/.Nd?/.NxP` ` |g` 0.|g`>|>Bg?</,NP?<?</,NPBg?</,N|P``|g`:B,>?<?</,NXPBg?</,NHPBg?</,N8P`x`|g`<|>Bg?</,NPBg?</,NP?<?</,NP`4`|g`Hl?<N\ @f|``|g`N H` ` |g`X0.|g`Hn?<BgN!8P?<?<?<0,H?0,H?Bg/.N?/.NPN N n (l @/HlpNFP n ( @/HlpNG XApA/NFPHlHlpNP,Tf|`/,N"XB,B,T<@@`t` |g`h,g`,g&,g l:g,g l:f,fHn?<BgN (PHnHnHnHn/.Nn?.?.?.?.?<?<0,H?0,H?BgN?.?.?.?.?<?<0,H?0,H??<N?.?.?.?.NtP?.?.?.?.?<?<0,H?0,H??<N@?.?.?.?.?<?<0,H?0,H??<NHnNtX ng HlN9xX`>0.ΰlf4?.?.?.?.NP0,U@?0,U@??,?,NtPHnHnHnHl?< ?,Nz0,lfd,g^B?<N\?<?,NSvXBg?,NSX0,lS@?0,lS@??,?,NPNB?<N4\`BgBgBgBg?< ?,N6 `` |g`0.|g`hHn?<BgNP?<?<?<0,H?0,H?Bg/.N?/.NPN\N<@@``|g`fHn?<BgNjP?<?<?<0,H?0,H?Bg/.N?/.N,PNLNJ,8gB,`2`| g`\Hn?<BgNP?<?<?<0,H?0,H?Bg/.N?/.NPNJNh``|"g`hHn?<BgNP?<?<?<0,H?0,H?Bg/.NF?/.NZPNN0<@@`^` |%g`,9|:Bg?<(/,NP?<?<)/,NPBg?<*/,NP``|*g`<9|:Bg?<(/,NPBg?<)/,NP?<?<*/,NP`l`|,g`0|8?<?<,/,NPBg?<-/,NxPB,`4`|-g`*B,8Bg?<,/,NTP?<?<-/,NBPB,`` |g`0.|0g`THn?<BgNP?<?<?<0,H?0,H?Bg/.Nh?/.N|P`$`|1g`THn?< BgN^P?<?<?<0,H?0,H?Bg/.N ?/.N P``|2g`THn?<BgNP?<?<?<0,H?0,H?Bg/.N?/.NP`l`|3g`THn?< BgNP?<?<?<0,H?0,H?Bg/.NT?/.NhP``|4g`THn?< BgNJP?<?<?<0,H?0,H?Bg/.N?/.N P``|5g`RHn?< BgNP?<?<?<0,H?0,H?Bg/.N?/.NP`X`|/g`NHn?<BgNP?<?<?<0,H?0,H?Bg/.NB?/.NVP?<?./,NP`HlN2X``BgNT.g>N^NuNV/ ,&@,>H|g`Hl AZA/N0.lf4?.?.?.?.NP0,U@?0,U@??,?,NP0<9@~0<9@Z` A~H|\f 0,~R@9@ZRl~HlN<(X=@0,~nmHlAZA/N;P?H|g`?<"Hl\?.NLP`|g`?<}/ ?.NLP?.NT`0`|g`&?.NT,g HlNX` HlJNX?.?.?.?.?<?<0,H?0,H??<N?.?.?.?.?<?<0,H?0,H??<NBBgN\` HlhNbX&_N^NuNV n)P)hHl|Hl?<NoN)l)l n !l n)P)hHlHl?<NHlHl?<NlN)l)l n !lN^NuNVHn?<BgN"P n ( @-PHlhHl/.N8 =@0.fN)l)l)lh)llHlhN X n ( @-PHl`Hl/.N8X =@0.f)l)l)l`)ldNHl`NX)lh)llHl`Hl?<NoH)lh)ll-l-l)l`)ld)lh)ll)n)n)l`)ld)l`)ldHlhHl?<NbHlHl?<NRfN)lh)llHlhN n ( @-PHlXHl/.N7Z =@0.f)l)l)lX)l\NHlXNX)lX)l\)l`)ldHlhHl?<NHlHl?<N)lP)lT n (D @-PHlHHl/.N6 =@0.f)l)l)lH)lLN HlHN$X n (\ @-PHl@Hl/.N6r =@0.f)l)l)l@)lDNHl@NX n (t @-PHl8Hl/.N6 =@0.f)l)l)l8)l/.N3` =@0.f)lD)lH)l0)l4N߼Hl0NXN^NuNVHn?<BgN nP n (T @-P)l()l,/,/,HlLHnN'?< Hn/.N3< n (l @-P)l0)l4/,/,HlTHnN'?< Hn/.N2 N^NuNVHn?<BgN P n ( @-PHlHl\/.N2R =@)l)l HlbHl?<Nm0.f)lj)ln)l)l NސHlNX n (< @-PHl Hlr/.N1 =@0.f)lx)l|)l )l$N>Hl NBX n (T @-PHlHl/.N1 =@)l)lHlHl?<N,m0.f)l)l)l)lN)l)l)l)l HlHl?<NHlHl?<Nl,)l)l HlHl?<N)l)lNhHlNlX n (l @-PHlHl/.N0 =@0.f)l)l)l)lNHlNXN^NuNVHn?<BgN P n (< @-P)l )l$/,/,HlHnN%P?<Hn/.N0 n (T @-P)l)l/,/,HlHnN% ?<Hn/.N0P n (l @-P)l)l/,/,HlHnN$?<Hn/.N0 n ( @-P)l)l /,/,HlHnN$~?<Hn/.N/ N^NuNV n0| @l N n0 n P'o N۪ n0'N^NuNV=l=l=lHn?<BgN LP n (l @-PHlHl/.N. =@0.fBlNDHlNfX n ( @-PHlHl/.N. =@0.f 9|NHlN&X n ( @-PHlHl/.N.V =@0.fBlNHlNX n0(|g|`B,0.lf0.lf 0.lgB,N^NuNVHn?<BgN

NX9@g0<`0<N^NuNVHl /.N%DPJ@g`Hl /.N%2PJ@gNHl /.N% PJ@g n(g nf. n-P n(f HnNpX` HnNXA-H/./. 0.A PNPLN^/W DNuN^NuHl//N&PO/WXONu)@HlNXONuHlNXO ,NuHlN*XO ,Nu)AHlNXONuHlNXO",NuNVH n "(fJg"¼м@ LN^NuNVH nB fB`м8 LN^NuNVH n"4(JB0@|fB` |D@ggD LN^NuNVH n$fBCB`nD6< f႖|NN^NuNVH0&n$n Bn-J @A)X)XA BEG>O|g|JGn|m` REHl/ NfPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`d .6.HЃR$@ nH|0fRZ"H|9o R"` nH|0f$n R&@g`SE .6.HЃ @B n0L N^NuNV0.@|g|N^NuNV0.2.|gn||@nA)X)XN^NuNVH0&n BnH|bf=| RH|rgH|wgH|ag <`R ,$@ f*Ah$H`0* |f` Ah"Ҽm Ah"Ҽm <`BBj Bn+H|+f =|j H|wf?./.N|\>j `hH|afB0<n?/.N\> @f?./.N>\>?<B?NPPj `0.n?/.N\>j Gf Bj <`<5G Bj <$%@-J?<B?* NP n!@ n1lf L N^NuNVH$.". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BNf -@ m .`?<?.B?<BN< -@?<?.B?<BN" -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNVH0><2.|SA¼0?N T&@f <` $@5G \/NX ,L N^NuNVH0><2.\ASA¼A ,$@ fA $@)@)@Bl&R0+Ge*0+Gf$`0k0+7G)J \`, f?NT&@ f <` $@ &@`L N^NuNVH0 .]&@$l` m n l`$R o l 2+Ёf R0(k R&`& 2*Ёf 0+j$`$)JL N^NuNV/ 0Q"_N^NuNV/.?<HN\N^NuNV/.?<IN\N^NuNVBn`60.A0f"0.A00.A0 ` Rn nLmN^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^NuNVHl /.NPJ@f =|`Hl /.NlPJ@f =|`Hl /.NPPJ@f=|`f0. |g0/.N 8XJ@g0<``Bg/.?<NhX0. |?/.?<=NPP=@9@ @l0<`0. | ??.N~X0.N^Nu)I)J)_NN"l$l/,Nu)I)J)_NA"l$l/,NuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/N X-@ .fp0.gHSn0.A P m0.A0| |A`0.A0|0 SR`LN^NuNVH&n n f=| A)X)XHl Hl?<N]|@0. R@?HnHnHnNv.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnNBF0g" nm0RFA SRSGSn` nm SR0Sn`0. g SR.0. g nl SR0RnSn `0. Sn J@g$ Go0RFAH`0<0 SRSG``` SR0. g SR.><0. Sn J@g0RGA SR` SRE?.Hl &/NP /NXHѓLN^NuNVBn n PH|0m4 n PH|9n$0. n PHC|0=@ nR`0.N^NuNVH0&n -n @$PXgVgH|%g nR`H|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN"X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NT 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @A)X)X/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f .n nR` .R-@` nB .L N^NuNV/. HnNhP=@/.HnNrP0.N^NuNVHnHl|NPN^NuNVHn /.NPN^NuNVHn /.NPN^NuNVHl|/.NPHl|?< Nn\N^NuNV ng/. nRH?NF\`N^NuNV nf:0,8l6f0<9@69@80<g?<NT=@ nf*0,8g Sl8?<?<NX?<D?<NX` n f00,8Rl8A: ?< ?<NtX?< ?<NfX`r nf ?<NTT nf20.2,8Rl8A:?< ?<N(X?< ?<NX`&0.2,8Rl8A:?.?<NX`A:6H|f0<`0,6Rl6A:H`` nf?<NT``0.=| 0.HN,A BnBnBnBn=|Bn=|A *)X)XA G-f|N>`B.Bn0. g G-f0.g =|` G0m G9n0.g0. G|0=@`t G0gBn0.fRn`^0.gSn0.fNA)X)XHnHl?<Nz?/Hl?< NjTHl 2Hl?<NXA Sn`0 G.f0.f=|` GEg Gef0.f=|``=|N>Sn `0.f9|*0.g 0.n`0.n0.gd nl.A)X)XHnHl?<NA Rn`,A)X)XHnHl?<NA Sn`.g(A)X)XHl :Hl?<NRA 0,,g/,2?N\`S.A)X)XLN^NuNVH0BnBl* nX&Pg.H=@ n g n g n f,N=@ ng0,,g/,2?.N8\`S.` n%gHNN=@ nf0<`0.ng"0,,g/,2?.N\`S.0.``0<=@=@=|H|*f=|RH|0m H|9n-KHnN4X=@&nH|lf=|RH=@ ncf4Np=@ @f0<`0.f0. nX PRn` ndg nog nxg nhfN@=@ @f0<`?.?.?.N\-@0,*g0.`0.fF0.g nX  @ `. nhf . nX" A` . nX" A0Rn`: neg nffN=@ @f0<`?.?.NXXA 0,*g0.`0.fH0.g$A)X)X nX" AA `A)X)XNb nX" A Rn` nsfN=@ @f0<`|0.f nX$P0.g> n g6 n g. n g&0.f0.N=@ @f0<`.Sn`B0,,g/,2?.N^\`S.Rn`0.L N^NuNV)n.Bl,Hn NXN^NuNVH0&n$n `RRg HHAgHHCL N^NuNV n "n fN^NuNVH0&n$n >.-K0SGJ@gg` .L N^NuNVH0&n$K`Rf L N^NuNVBgA)X)X/,/,Nf A A)X)XHl BHl?<NA)X)XHl JHl?<NHlHl?<NA A)X)XA A)X)XHnHl?<NLA =|A)X)XA A)X)XA A)X)XHnHl?<NA TnA)X)XHnHl?< NA)X)XHlHl?<NA A)X)XHnHl?<N~fZA)X)X/,/,NPHN"Hl RHl?<NJ-l-lA)X)XHl ZHl?<N"HnHl?<NN^NuNVA r)X)XA A)X)XN=@0.g,?.A)X)X/,/,N> A A)X)XHnHl?< NA A)X)XHl zHl?<NhA A)X)XHl Hl?<N@A A )X)XA A)X)XA =|A)X)XA A)X)XHnHl?<NA RnA)X)XHnHl?< NߞA A)X)XHnHl?<NvA)X)XHlHl?<NZA A)X)XHnHl?<N2f2A)X)XHnHl?<NN^NuNVA)X)XHl Hl?<N/,/,NPN^NuNVBnA)X)XHl Hl?<N޸l$A)X)X lA =|A)X)XHl Hl?<NvNJ=@2.HN\Hl Hl?<NTA)X)XHlHl?<N8A A)X)XHl Hl?<No6A)X)XHl Hl?<NA 0.W|=@A)X)XHl Hl?<Nݼo(A )X)XHnHl?<NݞA A )X)XA A)X)XA A)X)XA A )X)XA BnBnA)X)XHnHl?<NA `A)X)XA TnA)X)XHnHl?<NA 2.0.R@A)X)X?/Hl?< NܒTA 0.|gFA)X)XHnHl?<N^A)X)XHlHl?<NBA `DA)X)XHnHl?<NA)X)XHlHl?<NA RnA)X)XHnHl?<Nf0.gA)X)X lA A)X)XN^NuNVA)X)XHl Hl?<Nx/,/,NPN^NuNVA)X)X/,/,NpP/,/,A)X)X/,/,NP)l)l)_)_HlHl?<NN^NuNVA)X)XHl Hl?<Nn0<HNۚ`JA)X)XHl Hl?<NڲA A )X)XA A)X)XHnHl?<NrA A)X)XA A)X)XHnHl?<N2HnHl?<N"A A)X)X/,/,NhPS@?A)X)X/,/,Nb A A)X)XHl Hl?<Nٴg A)X)XHnHl?<NٖfA)X)XN^NuNVBnBnA)X)XHl Hl?<NZl$A)X)X lA =|BnA)X)XHl Hl?<NoxA)X)XHl "Hl?<NlZ=|A *)X)XHnHl?<NA 2)X)XHnHl?<NضHlHl?<NئA A)X)XHl :Hl?<N~o.A B)X)XHnHl?<N`A =|=|A)X)XA A A)X)XHnHl?<NA BnA)X)XA A)X)XHnHl?<NA TnRn0.|gFA)X)XHnHl?< N׊A)X)XHlHl?<NnA `DA)X)XHnHl?< NDA)X)XHlHl?<N(A A)X)XHnHl?<Nf0.g(A J)X)XHnHl?<NA 0.g(A R)X)XHnHl?<N֬A 0.gA)X)X lA A)X)XN^NuNVA Z)X)XA)X)XHnHl?<N@HlHl?<N0/,/,N(P-l-lA)X)XHnHl?<N/,/,NnPN^NuNVA)X)X/,/,NbP-l-lA b)X)XHnHl?<NբN^NuNV/.?<ANH\9@g0<``0<N^NuNV .9@H .9@JN^NuNV .9@L .9@NN^Nu)I)JHl:)_Hl" <sNB"l$lNuNV9n :9| :Bl<9|@9nFN0,:N^NuNV9n :9|:Bl<9|@9nFN0,:N^NuNV9n :Bl<9|:9|<`<<`~?<NT-@ . fN nB 0S@ n00S@ n1@BE`)S)k" Ҽ AHPHl?<N" 4.H҂ AHPHl?<N" 4.H҂Ҽ AHPHl?<NHlHl?<N2A !lPRE Emr)n)nHl Hl?<NN)n)nHl Hl?<NN$HlHl?<N nN!@)n)nHlHl?<NN)n)nHlHl?<NNHlHl?<N n (N$HlHl?<NN!@)n)nHlHl?<NN)n)nHlHl?<NNHlHl?<N n (N$HlHl?<NN!@ ,f)n`V l ( nd n!l )n`2$l`$j * g n ( j e n!j %n RF02,RAAfxRG02,RAAfZ|L N^NuNVnH0$l0,R@=@v` ,&@0*2vAHBG` 2HЁ @)P)h" Ҽ4H҂ AHPHl?<N" 4.vH҂4H҂ AHPHl?<N" 4.vH҂Ҽ4H҂ AHPHl?<NHlHl?<N2A !lRG GmPBG` 2.vHЁ2HЁ @)P)h" 4H҂ AHPHl?<N2A !l 2HЁм @)P)h" 4H҂ AHPHl?<N2A !lRG Gm`)n)nHnHl?<N)n)nHnHl?<NHlHl?<N-l-l)n)nHnHl?<N)n)nHnHl?<NHlHl?<N-l-l)n)nHnHl?<N)n)nHnHl?<NHlHl?<N-l-l)n)nHlHl?<Nl:BG`00A)P)hHl Hl?<N !lRG Gm0,HN$HnHl?<N-l-l0,HN$HnHl?<N-l-l0,HN$HnHl?<N-l-l)l()l,-lx-l|-l-lBG`2A)P)h0AHPHl?<N)nx)n|HlHl?<N-lx-l|2A)P)h0AHPHl?<N)n)nHlHl?<N-l-lRG GmP)nx)n|/,/,NTP-lx-l|)n)n/,/,NTP-l-l)nx)n|HnHl?<NHl0Hl?<Nf|THl8/.N~P,Tf)l^)lb-ln-lrBG`V2A)P)h0AHPHl?<N)nn)nrHlHl?<N-ln-lrRG Gm)nx)n|HnHl?<N)nn)nrHlHl?<N-ln-lr)nn)nrHlfHl?<Nl5|`2)ln)lrHnnHl?<NN5@ jf5|$j g,Tg*|L N^NuNVH0&l?<?,N6X?<?,NBX?<?,NXBg?,NHXBg?,N&X` ,$@02,RA=@0+nH0=@=@ T @0=@=@ X @=P \ @=P0,R@H=R T @=P X @=P \ @=P l:fz kf?<?,NXBg?,NHX`V kf?<?,NX?<?,NHX`0?<?,NX?<?,NHX0<k??,N0XHn?<?,NVP l:f,gHn?<?,NP` Sf?.?.?.?.NlP02,SAAf?.?.?.?.NlP kf?.?.?.?.NlP0+2,SAAf?.?.?.?.NlP&k f6L N^NuNVNN^NuNVH0&l$l?<?,NX?<?,NBX l:fNF`N?0<|Q0L N^NuNVH)lv)lz-l-l)l~)l-l-l)l`)ldHlhHl?<NHlHl?< N-l-l)l)lHlHl?< N-l-l)l)l)l`)ldHlhHl?<NHlHl?<N-l-l,<`<<`)l)l2SAHNHnHl?<NHlHl?<N KP !l)l)l2SAHNHnHl?<NHlHl?<N KP !l)lP)lT2SAHNHnHl?<NHlHl?<N/,/,)l`)ld2SAHNHnHl?<NHlHl?<N/,/,Nx-l-l)n)nHnHl?<N&'l)n)nHSHl?<NHlHl?<Nl)S)k-l-l)S)kHnHl?<NHlHl?<Nl)S)k-l-lPRF02,TAAf.RG02,TAAf ,&@)n)nHnHl?<NHlHl?<N-l-l><`@<<`,)S)kHnHl?<N&'lRF02,TAAfRG02,TAAfBG`BF`V)l)l24A>Ԉ B !l)l)l24AԈ B !lRF Fm)l)l2A !lRG Gmx)l)l-l>-lB)l0)l4HnHl?<N/,/,NP-l^-lb)l0)l4HnHl?<N/,/,NP-lf-lj)nf)nj l-lv-lz)n^)nb-l~-l)l()l,HnHl?<N/,/,NP-l-l)l()l,HnHl?<N/,/,NP-l-l)n)n l-l-l)n)n-l-l)l)l-l6-l:BG`BF`0A>)P)h2AHPHl?<N2AF)P)h4AHPHl?<NHlHl?<N2AN)P)h4A&HPHl?<NHlHl?<N24AԈ B !lRF Fm0RG Gm ,&@><`J<<`2Bn`( KP)P)h2.A !lRn nmЗ)n)nHnHl?<N)n)nHnHl?<NHlHl?<N)n)nHnHl?<NHlHl?<N&'l KP)P)hHlHl?<N !l)n)nHnHl?<N)n)nHnHl?<NHlHl?<N)n)nHnHl?<NHlHl?<N&'l KP)P)hHlHl?<N !l)n)nHnHl?<N)n)nHnHl?<NHlHl?<N)n)nHnHl?<NHlHl?<N&'l KP)P)hHlHl?<N !lRF02,TAAfRG02,TAAf|LN^NuNVH00,2,HA=@0,2,HA=@=|0=|=|0=|NX ,g /,NX <2,RA/0H/NJ 2,RA/0H/NJ / </NJ T-@ .?NT)@ ,)@ ,fN ,-@T ./ </NtX  .)@ , fN ,&@ ,$@><`L<<`4,8g)l )l$HRHl?<N)l)l $ P BHPHl?<NHlHl?<N)l)l$ P BHPHl?<NHlHl?<N-l-l)R)jHnHl?<NHlHl?<NN6)l)l" Ҽ AHPHl?<N)l)l $ P BHPHl?<NHlHl?<N)l)l$ P BHPHl?<NHlHl?<N-l-l м @)P)hHnHl?<NHlHl?<NN" T A0`P)R)jHlHl?<NN6 м @)P)hHlHl?<NN" T A00." T APl T @=P0." T APo T @=P0.Sl=S0.So=SXRF02,TAAfRG02,TAAf0.nH=@0.ng:0.lHN$2.nHNHlHl?<N-l-l`)l)l-l-l0.nH=@0.ng:0.lHN$2.nHNHlHl?<N-l-l`)l)l"-l-l)n)nHnHl?<NHl&Hl?<Nl)n)n-l-l`)n)n-l-l ,&@><`<<`z T @0n00.S0HN$HnHl?<NN6 T @0HN$HnHl?<N" T AN00.S0." T AP" T A0XRF02,TAAfzRG02,TAAfd|L N^NuNVH?<?,NBX?<?,NX?<?,N<`v<<`` \ @? X @? T @??NlP 2,HЁ\ @? 2,HЁX @? T @??NlPXRF02,RAAfXRG02,RAAf~ ,&@0<H><`N 2,HЁ\ @? 2,HЁX @? T @??NlP0<T@HRG02,RAAf ,&@0,R@H<<`$ \ @? X @? T @??NlPXRF02,RAAfLN^NuNVH0Bn&nAV$H`f,VH|*g n fx`dAVH|.f0AWH|DfAXH|Cf AV AVH|*f AV;RnAVH|fAV L N^NuNVHHl./.NPP-@g\HlBgN,\=@B?<N2\Bn`:/.?.0.RnIARA/N\/N P/.?< N8\0.IARH|f/.Hl2N P0,R@2,RA??.Hl>N\//.N ,&@><`x<<`d м @)P)hN? P @)P)hN?)S)kN??.HlXN\//.N RF02,TAAfRG02,TAAf|/.HlhN P0<2,RA??.HlvN\//.N BG`BF`0lg:02,RAFR@?02,RAF??.HlNn\//.N 0lg:0R@2,RAF?02,RAF??.HlN,\//.N RF02,RAAfnRG02,RAAfX/.HlN P0,??.HlN\//.N BG`BF`/.?.HlN\/N P02,RAF=@=@0R@2,RAF=@0.R@=@0.R@=@/.?.HlNX\/N PBn`@0.A?Hl/.N /. ng0<,`0< ?N8\Rn nmRF0lf:RG0lf(/.?.HlN\/N P/.NXLN^NuNV?>N^NuNV??<NT n n fNB` n"H ABRH|m>N^NuNV/ &n g( + g /+ NX +g /+NX/ NX&_N^NuNV/,VNXBVN^NuNV?BG`RG nH|f Gl0RG n nB`|T?,HlHlN >N^NuNV/,NX=@0,no|THl&HlNP|@`B lH|Am lH|Zn l 0,Rl lPN^NuNV,H|0m ,H|9o,H|.f,H|.g nz,H|0 nHN$!l!lN `h n)h)hHl:Hl?<N!l!l,H|0 n)h)h?/Hl?< NT!l!lN,H|0m ,H|9o,H|.f)lB)lF-l-lNt nz`x,H|0HNHnHl?<N n)h)hHlHl?<N!l!lN)n)nHlJHl?<N-l-l,H|0m,H|9op`,H|Am ,H|Zo,H|am,H|znlN,H|Am ,H|Zo,H|amZ,H|znN nfnB.,H?HnN\N>,H|(g,TgHnNX n1@` nv nn`> nz)lR)lV n!l!l|T?,HlZHlN N^NuNV,Tf,H|(f ns nlN nA /NX n/( NX n!@ `/.NX-@,Tf`x nA/NX n ho n hl n h!n Nj n hA/NdX n h/(NbX n h!@ n-h,H|+g ,H|-f,Tgj .N^NuNVB,TBl/.NXN^NuNV)n)n/,/,)n)n /,/,/,VN N^NuNVH&n,TfH|sg`+H|+g`>)n)n/,/,)n )n/,/,/+ N``` |-g`)n)n/,/,)n )n/,/,/+ NZ-l-l)l)lHnHl?<N`.` HlNNX)l)l````` `|zg`)k)k` ` ` |vg`+H|am*+H|cn+HA)P)h` `h+H|xg +H|yf,+H|xf)n )n` )n)n` f`$|THlHlNP)l)l` @` *` |fg` )n)n/,/,)n )n/,/,/+ N-l-l,Tf"0+AA/HlHlN ,Tf 0+|g`$)n)n/,/,NP` ` z`|g`$)n)n/,/,NP` j` N` |g`)n)nHl>Hl?<NHlFHl?<Nm)n)nHlNHl?<No|T)lV)lZ` )n)n/,/,NP` ` `|g`X)n)nHl^Hl?<Nn|T)lf)lj` )n)n/,/,NP` z` ^`|g`$)n)n/,/,NP` N` 2` |g`)n)nHlnHl?<NHlvHl?<Nl$)n)n lHl~Hl?<N`)n)nHlHl?<NHlHl?<N-l-l)n)n)n)nN//Hl?<(NXHlHl?<Nl)l)l` d`)n)n/,/,NP` D`(`|g`X)n)nHlHl?<Nl|T)l)l` )n)n/,/,NTP` `` |g`)n)n/,/,NP/,/,)n)n l/,/,NP)l)l)_)_HlHl?<N-l-l)l)lHnHl?<N` B`&` |g`)n)n/,/,NP/,/,)n)n l/,/,NP)l)l)_)_HlHl?<N-l-l)l)lHnHl?<N``` | g`)n)n/,/,NP/,/,)n)n l/,/,NP)l)l)_)_HlHl?<N-l-l)n)n/,/,NP/,/,)n)n l/,/,NP)l)l)_)_HlHl?<NHnHl?<N``` | g`)n)nHlHl?<Nl.)n)nHlHl?<NHlHl?<Nn|T)l)l`2)n)nHlHl?<N)l)lHnHl?<NHlHl?<N/,/,NP-l-l)l)lHnHl?<N```| g`v)n)nHlHl?<Nn)n)nHlHl?<Nl|T)l)l`P)n)n/,/,NfP`2`` | g`)n)nHlHl?<Nn.)n)nHlHl?<NHl&Hl?<Nl|T)l.)l2`)n)n/,/,NxP``` | g`)n)nHl6Hl?<Nl)n)n l` )n)nHl>Hl?<N-l-l)n)n)n)nN//Hl?<(NXHlFHl?<Nl)lN)lR``F)n)n/,/,NP-l-l)lV)lZHnHl?<N```|g`z)n)nHnHl?<NHl^Hl?<N/,/,NTP-l-l)n)nHnHl?<N/,/,NP``` |g`)n)nHlfHl?<NHlnHl?<Nl|T)lv)lz``t)n)nHnHl?<NHl~Hl?<N/,/,NTP-l-l)n)nHnHl?<N/,/,NP`T`8`|g`j)n)nHlHl?<Nn|T)l)l``.)n)n/,/,NPHlHl?<N```|g`&)n)nHnHl?<N```|g`F)n)nHlHl?<Nl)n)n l` )n)n`d`H`|g`<)n)nNN$`@`$HlHlN~P)l)l` ````` |og`)n)n/,/,)n )n/,/,/+ N-l-l)n)n/,/,)n )n/,/,/+N-l-l+H|+g`&)n)nHnHl?<N`\`F`|-g`&)n)nHnHl?<N`.``|*g`&)n)nHnHl?<N``` |/g`)n)nHlHl?<Nl)n)n l` )n)nHlHl?<Nl)l)l`)n)nHnHl?<N`p`\`|^g`P)n)n/,/,)n)n/,/,NB`2`HlNNX)l )l ````|T)l )l LN^NuNV)n)nHl Hl?<Nl)n)n l` )n)nHl Hl?<Nlh)n)n Hl &Hl?<Nl)n)n l` )n)n Hl .Hl?<Nl|THl 6HlN~P`)n)nHl JHl?<Nl)n)n l` )n)nHl RHl?<Nl)l Z)l ^`.`*)n)n Hl bHl?<Nl)n)n l` )n)n Hl jHl?<Nl)l r)l v``)n)n Hl zHl?<Nl)n)n)n)nN?/Hl?< NTHl Hl?<Nl6)n)n l)n)nN?/Hl?< NT`.)n)n)n)nN?/Hl?< NTHl Hl?<No(|THl HlN~P)l )l ``)n)n lHl Hl?<NmP)n)nHl Hl?<Nl)n)n l` )n)nHl Hl?<NlX)n)n /,/,NP-l-l)n)nHnHl?<N/,/,NP``)l )l -l-l0<=@`0)n)nHnHl?<N-l-l0.Rn0.)n)nHl Hl?<Nl)n)n l` )n)nN$HlHl?<Nmr)n)nHl Hl?<Nl)l )l HnHl?<N` )n)nN^NuNV)nNHlVNNX/,VN4X)@VA  n N^Nu@@@Lichtquelle ist Element einer Flche@ j@j@i@i?FR5?@Y@Y@????????waobj1ecken: .DC.W %d * Anzahl Ecken .DC.W %d,%d,%d obj1kanten: .DC.W %d * Anzahl Kanten .DC.W %d,%d .DC.W %d,%d obj1flaechen: .DC.W %d * Anzahl Flaechen .DC.W 4 .DC.W %dobj1fin: .DC.W 0 Unzulssige Eingabe wurde automatisch korrigiert ...Speicherplatzberlauf ...@@ !TD-@@[1][Sorry ! Luft nur|monochromerweise !][ Sch.. ][1][I hate people changing|my resource ...][ Sorry ]carpet.rsc[1][Sorry ! Resource nicht da ...][OK][1][Was ist das fr|ein Resource ...][OK][1][Keine Windows zum|rausgucken mehr ...][OK][2][CARPET DESIGNER wirklich| verlassen ?][ Irrtum | Klar ] Error Window Handling ! @Lc@Lc@Lc@LcError beim Event*.PI3*.PIC*.S Error Window Handling ! Funktion nicht berechnet ...Diskettenfehler ...@È@@@È@%10lf%9lf@%10lf%16lf%16lf%16lf@ !TD-%-10.6f%-9.6f%-10.6f%-16.6f%-16.6f%-16.6f%10lf%10lf%-10.6f%-10.6f%5lf@y@y%4lf%4lf@>@>%4lf%-4.3f%-4.3f%-4.3f%-5.4f%4d%4d%4d%4d%4d%4d%2d%2dUnbekannte Funktion %s()Funktion zu lange in %dUngltiger Ausdruck@$@$@$Syntax Fehler in %dGeschlossene Klammer erwartet in %dGeschlossene Klammer nach Funktion erwartet in %d ***NO '+' OR '-' SIGN IN AUSWERT()*** Unerlaubte VariableArgument unerlaubt fr Funktion %s()?!TD-?!TD-?!TD-?!TD-?!TD-@ !TD->hTI%??????????@ !TD->hTI%????@}vFUNKTION UNBEKANNT IN AUSWERT()>hTI% OPERAND UNKNOWN IN AUSWERT() <V<V0^0 ist undefiniert<V?<V>hPotenz undefiniert>h??CON:AUX:PRN:@$??CON:AUX:PRT:%d@H???.B9@@kU?.B9??.B9???.B9@kU@!TD-@!TD-@ !TD-@ !TD-?!TD-@ !TD-??!TD-??ٙ@?????!TD-?!TD-??!TD- .%.$$$4%HRH  Datei Funktion Konstanten Hilfe Carpet Designer ~~~~~~~~~~~~~~~~~~~~~ Desk-Zubehr 1 Desk-Zubehr 2 Desk-Zubehr 3 Desk-Zubehr 4 Desk-Zubehr 5 Desk-Zubehr 6 ~~~~~Format~~~~~ DEGAS DOODLE STAD 3D Speichern ^S~~~~~~~~~~~~~~~~~~~~ Ausgang ^Q Eingabe ^I Zeichnen ^Z Rotationswinkel ^R Projektion ^P Beleuchtung ^B~~~~~~~~~~~~~~~~~~~~~~~ Auflsung ^A~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~Winkel~~~~~~ in Grad in Radiant ~~~~~~Zeichnen~~~~~ Drahtmodell hidden lines Beleuchtung ~~~~~Projektion~~~~ zentrale normale STAD-Format Funktionseingabe Zusatzfunktionen Drehungswinkel Projektionsarten Auflsung Zeichenalgorithmen Exit Greetings to  freaks all over the worldwritten 23.7.1987 by Tony Przygiendaexists !!!application alsoGFA-version of thisBRAUN (thanks !). from the book of graphics were taken ideas concerning 3D The most important GOD save C-Language GOD save TRAMIEL CARPET DESIGNER PUBLIC DOMAINSource Code dieses Wunderwerks (~100 KB mit RSC Files) isterhltlich unter der oben aufgefhrten Adresse gegen dieBeilegung zweier 3.5 Zoll Disketten (double sided, doubledensity), was sogar fr einige angefressensten C-Freaks vonInteresse sein sollte, da sich ein Modul mit der Behandlungvon Funktionen unter C auseinandersetzt (incl. Fehlerabfang)und einige interessante GEM Routinen verwendet werden wiez. B. 'COPY RASTER OPAQUE' und 'FILE SELECTOR'.Die Schattierung der Funktionen wurde auch eingebaut, daich mich in diesem Punkt nicht auf die neue Version von STADverlassen will. Bis nchstens ...Und am Schluss noch zur Abwechselung:And you run and you run to catch up with the sun,but it's sinkingAnd racing around to come up behind you againThe sun is the same in the relative way, but you're olderShorter of breath and one day closer to deathPINK FLOYDReherstr. 22E, CH-9016 St. Gallen DONE Funktionseingabe fn z(x,y)________________________________________________________f(x,y) = ________________________________________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx________________________________________________________ ________________________________________________________xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxX-Achse-2________von: __________xxxxxxxxxx2________bis: _________xxxxxxxxxY-Achse-2________von: __________xxxxxxxxxx0_______________A = ________________xxxxxxxxxxxxxxxx0_______________B = ________________xxxxxxxxxxxxxxxx3.141592654_____C = ________________xxxxxxxxxxxxxxxxKonstantenFunktionsbereichRECHNE ...Drehungswinkel0_________Z-Achse Rotation = __________xxxxxxxxxx0_________X-Achse Rotation = __________xxxxxxxxxx DONE 0___X-Koordinate = ____xxxx1200Y-Koordinate = ____xxxx0___Z-Koordinate = ____xxxxBeobachtungspunkt(nur fr Zentralprojektion)Betrachtungswerte600__Y-Koordinate = _____xxxxx(grsser als 400 !)Projektionsebene(Entfernung vom Ursprung in Y-Richtung) DONE Auflsung10Linien = __xx DONE (max. 50)Dieses Programm dient der Darstellung der rumlichenFunktionen, d.h. Funktionen des Typs z(x,y) ( RxR->R ).Dabei wird zuerst die Funktion intern dreidimensionalim X-Y-Z System dargestellt. (S1)Die Darstel~lung der Funktion findet immer inMitte desSystems Platz. Anschliessend wirddie Funktionum Z und X-Achsen gedreht undauf eine zurEbene X-Z parallele Ebene PI (Bildschirm) projeziert.Die Ebene PI muss mehr als 400 Einheiten vom Ursprungentfernt sein. (S1)Bei der Eingabe der Funktion (in zwei Zeilen) sindneben den Variablen X,Y noch drei Konstanten A,B,C unddie aufgelisteten Funktionen erlaubt. Bei undefiniertenStellen innerhalb des Berechnungsintervalls wird die Be~rechnung unterbrochen. OK OK Diese Drehungswinkel dienen der Drehung der Funktionim internen dreidimensionalen Koordinatensystem. Siesind bei Zentralprojektion nicht unbedingt notwendig,da die entsprechende Wahl des Betrachtungspunktes diegleichen Effekte hervorruft. Bei Normalprojektionsind sie unentbehrlich zur Verdrehung der Funktion,was erst ihre 'Schrgansicht' ermglicht.Die Drehung um die X-Achse ermglicht die Funktion'von oben' anzuschauen und die um die Z-Achse die 'seitwrts'-Sicht. (S1)Die Winkel mssen entweder in Grad oder Radianteingegeben werden, abhngig von der Voreinstellung derKonstanten.Die Applikation erlaubt grundstzlich zwei Projektions~arten: die zentrale und normale Projektion.Die zentrale entspricht unserem Sehen, dh. alle Projektionsstrahlen laufen zu einem einzigen Punkt (Be~trachtungspunkt) und schneiden dabei die Projektions~ebene (PI = Bildschirmebene). Bei der Eingabe der Wertefr die Projektion ist zu achten, dass der Betrachtungs~punkt hinter der Projektionsebene liegt (bezglich demUrsprung des Systems). Ausserdem knnen bei der Situation,dass der Betrachtungspunkt sehr nah an der Projektions~ebene liegt, 'Zerknitterungs'effekte hervortreten, dieauf die geringe Festkommazahlengenauigkeit zurckzu~fhren sind (aus Geschwindigkeitsgrnden !).Bei der normalen laufen alle Projektionsstrahlenparallel der Y-Achse und schneiden die PI Ebene. Hiergibt es keinen Betrachtungspunkt d.h. auch, dass dieEntfernung der Objekte von PI keine Rolle fr ihre Grsseauf PI spielt. Die 'Raumtiefe' geht verloren. OK OK Die Funktion wird beim Zeichnen durch finitesimaleFlchen genhert. Die Zeichnung erweckt den Eindruckeines Netzes. Die Auflsungskonstante gibt an, wie~viele Fden solches Netz quer bzw. lngst aufweist.Je grsser diese Zahl, desto besser wird der Funk~tionsverlauf angenhert, desto mehr Zeit jedoch ben~tigt die Berechnung (Anstieg etwa quadratisch).Zum Zeichnen der Funktion stehen zwei Algorithmenzur Verfgung: das Drahtmodell und Rembrandt.Das Drahtmodell-Verfahren ist usserst schnell,'versteckt' jedoch die unsichtbaren Linien nicht.Das Rembrandt-Verfahren liefert sehr ansprechen~de Resultate, ist aber bei grsseren Auflsungen eherlangsam. Daher empfiehlt sich, zum Entwerfen desGraphen das Drahtmodell zu bentzen und erst die end~gltige Darstellung mit Rembrandt zu zeichnen. OK Noch aufwendiger ist das Beleuchten der Funktion,das eine Erweiterung des Rembrandt Algorithmus dar~stellt. Bei diesem Verfahren wird der Teppich voneiner Lichtquelle aus beleuchtet und die Helligkeits~unterschiede mit verschiedenen Fllmuster hervorgeho~ben.sin, cos, tan, cot;sinh, cosh, tanh;arcsin, arccos, arctan;arsinh, arcosh, artanh;sqr, sqrt;ln, log, exp;abs, int;Verfgbare Funktionen OK ................................................................. OK 'STAD 3D' Einstellung erlaubt den gerade berechnetenTeppich als 3D Objekt im STAD Format abzulegen, wobeidies im '.S' Format geschieht und das erzeugte Filemit einem DR-compatiblen Assembler in ein '.O' Filebersetzt werden muss. Ein entsprechendes Batch-File fr das Entwicklungspaket liegt dem Programm bei.Fr weitere Informationen soll STAD-Beschreibung(Anhang II) beigezogen werden.SPEICHERE ... DONE 0___X-Koordinate = ____xxxx1200Y-Koordinate = ____xxxx0___Z-Koordinate = ____xxxxLichtquelle(nur fr eingeschaltete Beleuchtung)EINAUSUmrahmung der Flchen????????????|???|?0??8?p?~8?p?p?0?<??>8???|?????????G~|~ϟw8@@PxP @`@?m` ~o"BM]Ro}E?B}E[ 2Z/ *\?@@PxP @`@?m` ~o"BM]Ro}E?B}E[ 2Z/ *\??DDD$n(DHnJDnĊE nDnDnDnDDDDpDxDD?D?DDDC@@@@@@@@@@@@@@ 8(UUUUX*44( 2!@ "$("(#d+HI*Jopq%q|} ~+,->?@RSqTbcd;9:TU<V<= :?@0Az{9|="&9:2;LMN|}.~:.q ""=>q?x9B , n9B -      -     * ; P a r   q  q q  q  6  A L j  |    q  q   q  " 7 = Q R S d eq f q( q   p 345MNOZ[ \jklvw xqBiwxqq  q%12qPP2 $ *  3  ? M)  .P  V j    3H[k.-{ !"#$%&'#(0 )F *T +c ,q -/5+012345. %1%* %: (%V *%r %% % %  % &  &6 &R   $@4&n& & %$ /&+& *&*','2,'N-'j *'#' *'-' ' ( $!(.! "(J!#(f*$(!(&  ( H@('D (C )C   ")*  )F )b )~ )  % !)) )* )  *& *B p $@( 1Q q , *^!!*z*' u$D "***q++" +>! $ +Z +v  q%+ +' <++   , : 4 7 55 k l!$#02 *   !  +   !  +   * !5W 5  2 6   7D8}'49344 5?5u1 3 ) 2 8 2 k  / 6  <7.+Z075718 j6  :  7  6 K 4 ,054I9-'68 224#3W325 /8$1V-/105M0 ~5  . 2  1  3N 1 55  $ ,,: ,V,r  ,  ,    , ,' H0$`0$ (,F0? % ( 8 2 45I3}351 0 Jp %@+ -  .y& $"-6-R-n-- $ " !-   -   -.3&68f9>9;N;>?A~BVCE>EFGN. B!L.. BERG_TALDRD F M}COWBOY DRD F m}DREI_D PRG F LREADME F | FUNKTIONDRD }x~~f8|~~f8n``f f<~<8`f~|<`>8~f8< f>~~8|f~~>|~8~~8~~ff|<f|f~~f9f>f`<`>`fffyf~~``~`ff~qff``<`f`ff`qnf``<`f`ff`a|~~<~f`~~~<f<<~Ax>><~f`>~><f<<>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNDDDDDDDDDDDDDDDDDDDDDDDDDDP1?DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDLDDDDDDDDDDDDDDDDDDDDDDDDP0`wDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDPp;pDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP8DDDDDDDDDDDDDDDDDDDDDP @vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDPp? DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDS8DDDDDDDDDDDDDDDDDDPp  ~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@8DDDDDDDDDDDDDDDDP@p1?DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDE8 DDDDDDDDDDDDDDDPp0~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD8DDDDDDDDDDDDDPp?DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD`DDDDDDDDDDDDP p @@p@~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD8DDDDDDDDDDP8?pDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDFDDDDDDDDDPp8 8 ~DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDH@8DDDDDDDP1p8DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD`DDDDDDDDDP p@@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDp8DDDDDDDDDDP < DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF DDDDDDDDDDPp@p @QDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDH8DDDDDDDDDDDP pDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDP p 81@ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@8DDDDDDDDDDDDPp DDDDDDDDDDDDDDDDDDDDDDDxDDDDDDDDDDDDDDDDDDE DDDDDDDDDDDDP@pp@0pDDDDDDDDDDDDDDDDDDDDDDNDDDDDDDDDDDDDDDDDD8 DDDDDDDDDDDDP889 DDDDDDDDDDDDDDDDDDDDDHpDDDDDDDDDDDDDDDP$DDDDDDDDDDDDP p@  pQ8p@DDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDD@DDDDDDDDDDDDDP89  DDDDDDDDDDDDDDDDDDDDH88DDDDDDDDDDDE DDDDDDDDDDDDDP@ ~@8  pDDDDDDDDDDDDDDDDDDDD@DDDDDDDDDDFDDDDDDDDDDDDDP@pp?@91|` DDDDDDDDDDDDDDDDDDDE8DDDDDDDDHDDDDDDDDDDDDDDP@p>NxDDDDDDDDDDDDDDDDDDDHDDDDDDD`pDDDDDDDDDDDDDDPp8 @@ @<8DDDDDDDDDDDDDDDDDDD`8tDDDDDDDDDDDDDDDDDDDP`  p@p  <@DDDDDDDDDDDDDDDDDDEpDDEx@4DDDDDDDDDDDDDDPr8p18  DDDDDDDDDDDDDDDDDDD88DDDÀDDDDDDDDDDDDDDDPp@  DDDDDDDDDDDDDDDDDDPp@X8DDDDDDDDDDDDDDP@pp8'@  @8?@DDDDDDDDDDDDDDDDDD@8DDDDDDDDDDDDDDDPpp` DDDDDDDDDDDDDDDDDEp8 8 DDDDDDDDDDDDDDDPp<@@@8 @DDDDDDDDDDDDDDDDDD 8À$DDDDDDDDDDDDDDDP @pp x 1 @DDDDDDDDDDDDDDDDDP~p88DDDDDDDDDDDDDDDDPrN   8 8DDDDDDDDDDDDDDDDD@DDDDDDDDDDDDDDDDP@|@p 0 0DDDDDDDDDDDDDDDDD>pHp8DDDDDDDDDDDDDDDDPD@'  @8 8@DDDDDDDDDDDDDDDDF@q@DDDDDDDDDDDDDDDDP<x  DDDDDDDDDDDDDDDDHpp@<$DDDDDDDDDDDDDDDDPpG @8 Q8<0DDDDDDDDDDDDDDDD`DDDDDDDDDDDDDDDDP ~ |@ 8@pDDDDDDDDDDDDDDDD >DDDDDDDDDDDDDDDDDP p  8@@?@DDDDDDDDDDDDDDDE@p8@p DDDDDDDDDDDDDDDDDP@@<@~x@@ pp 9DDDDDDDDDDDDDDDD4DDDDDDDDDDDDDDDDDP 8? 81?`@DDDDDDDDDDDDDDDP|ppDDDDDDDDDDDDDDDDDDP p  pp< 8DDDDDDDDDDDDDDD`@@DDDDDDDDDDDDDDDDDDP@|@@@88  8|p!DDDDDDDDDDDDDDD _>xpDDDDDDDDDDDDDDDDDDP  @p ~ p@>8DDDDDDDDDDDDDDFDD$DDDDDDDDDDDDDDDDDDP  1`Q?@|@DDDDDDDDDDDDDDHDDDDO|@pDDDDDDDDDDDDDDDDDDP '@r>8px?9DDDDDDDDDDDDDD`DDDDDxDDDDDDDDDDDDDDDDDDDP >@<<@x<`pDDDDDDDDDDDDDDDDDDDDDGDDDDDDDDDDDDDDDDDDDP  |81x | DDDDDDDDDDDDDF8@ DDDDDDDDx@DDDDDDDDDDDDDDDDDDDDP@@>> w xpDDDDDDDDDDDDDH$DDDDDDDDDDGDDDDDDDDDDDDDDDDDDDDP<@p|Q<8|~DDDDDDDDDDDDD`DDDDDDDDDDDxq DDDDDDDDDDDDDDDDDDDDP @?@>x`DDDDDDDDDDDDDDDDDDDDDDDDDDDG'DDDDDDDDDDDDDDDDDDDDDPpp~DDDDDDDDDDDDF DDDDDDDDDDDDDDDxp DDDDDDDDDDDDDDDDDDDDDP 8@? @1@ DDDDDDDDDDDDP|DDDDDDDDDDDDDDDDDGDDDDDDDDDDDDDDDDDDDDDDP xr 1  p>@pDDDDDDDDDDDD@DDDDDDDDDDDDDDDDDDDxDDDDDDDDDDDDDDDDDDDDDDP8DDDDDDDDDDDExDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPpDDDDDDDDDDDH DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP p8@ '@DDDDDDDDDDD@4DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP1pp DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP@8<DDDDDDDDDD`pDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP@ p 8DDDDDDDDDG@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP8 DDDDDDD_Lx8DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP~1p DDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP?px@8'DDDDDDDDDD_<@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP~ppDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP?88  DDDDDDDDDDDDD_@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP ~91p@DDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP?`8pDDDDDDDDDDDDDDDD_DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP~8pDDDDDDDDDDDDDDDDDE DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP?p1p DDDDDDDDDDDDDDDDDDD]DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPg8DDDDDDDDDDDDDDDDDDDDGDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPs8p DDDDDDDDDDDDDDDDDDDDDDxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP9pDDDDDDDDDDDDDDDDDDDDDDDGDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPpDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPxO2@ @A Q8p F@ODD@x8qpqpq82@@QL QT @Ad8x~~f8|~~f8n``f f<~<8`f~|<`>8~f8< f>~~8|f~~>|~8~~8~~ff|<f|f~~f9f>f`<`>`fffyf~~``~`ff~qff``<`f`ff`qnf``<`f`ff`a|~~<~f`~~~<f<<~Ax>><~f`>~><f<<>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP`18DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDpDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP!@bCBBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@!DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP@!  @DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP `1DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDND"|DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPB BA 0@@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDp`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPp` DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPABB@AQB @!`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD @!$DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP@ @   DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDY\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP@H@I2n@>LDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDe ɤDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP& fl  3H0 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD 0DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP x H D" DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDE@F# DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP@A@  @ @DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF dDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP   @1 A@0DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDLA@4DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP A@@A `ADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDX ADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP8 A 1 1 DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDq @0DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPQ7 @R @#E8 ĀDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD@ bDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP @ R, @ 2QT<+@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDETd%DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPdD#@D10@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDF @ DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP P@  ``  PDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDO@@  tDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP @@0 p@@p0 i@@XxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDVHa8@  @ !@B@@ p0 @AFz}DDDDDDDDG뗑 AA!@@@/ @DDDDDDDDPq A@@@@D@C`@ !|D A"A @@@Ad@@A"9???G"@&A@ P @A"g_BvDDDDDDDD~"? @$ @P ` `A2c!D?~DDDDDDDDP?p# CB'l P @ A2tB!˗{g @Lt   @+t2?!8?\ @@@8T  @ 8 C:=DDDDDDD_׷DDGLA@ hA @ 8 @3#DDGDDDDDDDP?&8  #A0`  8 Ab}}w0AAAp   4 !_=@ 0AAP B0B  @'wDDDDDDGDDDDD_{xr B 4 "X DA  AZwDDDDD}DDDDDDP` n A9"H0DA  @f! i1HAV@ p !ϱ}v3 k !0an@ / @?n#@DDDDDDDDDDDDEK !0 j@@AG'DDDDDD{DDDDDDPw A?!| `  !Й iτ0 A ApqsA |#KDDDDDDDDEDDDDDP2.A <0q < dL_֝! @@@  @xp@ W/k @| 0  P ` >A? ѫ`DDDDMDDDDDDDDDDvMA ! `@0 VDDDDDDDDDDGDDDDP;7$DA@>  `fv O0|A&$t4!  X<@< ~ ~` | @tyDDDEDDDDDDDDDDDGB?9@a4@@ CA?BhtDDDDDDDDDDDODDDP`ʼnA !@" `B @ @! 6 @ d@'%q D  @@0!P@  <y!;"KDDD^DDDDDDDDDDDDD2G@@@  @ X A,[DDDDDDDDDDDD|DDDP8=!B @@ 4P@ `@ BTqU18A @O   P1 iz! p   ` @q~DDGDDDDDDDDDDDDD~D؃'@@ A@   A|DDDDDDDDDDDDDEDDP4hB8A80@"" X B`|! b @F  AB+= $!|>a | A>29pDDDDDDDDDDDDDDDDDGK3X@` # jDDDDDDDDDDDDDDDDDPD @p" @"@@ @! UxB a@  A  @@@@AH!@ @ @B;DDDDDDDDDDDDDDDDDDlF!@@@ QP @a b?DDDDDDDDDDDDDDDDDDPw |N! 4@@A@@'!9/DDDDDDDDDDDDDDDDDDDDGB_@ 0` @"ODDDDDDDDDDDDDDDDDDDDPyA  !P @Cq!   H   @00@Fq 2 P` P@L !8EpDDDDDDDDDDDDDDDDDDDDGȋ@@ HC `@!ЋDDDDDDDDDDDDDDDDDDDDP AaP @@AG3D? @9F@ b@|"y @XA !GNDDDDDDDDDDDDDDDDDDDDD9|@@ ! B@?DDDDDDDDDDDDDDDDDDDDDP'C@@ "@$ ˄!?  ?!0 @@ 4A'oDDDDDDDDDDDDDDDDDDDDDD?A|@ 66@   |DDDDDDDDDDDDDDDDDDDDDDP?    a@3 A|A``p`p A?'7  1P@ @DDDDDDDDDDDDDDDDDDDDDDDGAX x@DDDDDDDDDDDDDDDDDDDDDDDPqÇက3 @@@@O0@  p a`1qDDDDDDDDDDDDDDDDDDDDDDDDDDEs6@t aDDDDDDDDDDDDDDDDDDDDDDDDDDP?`@`?`1DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDGDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPx`xxy8O @@@@AFL8`xx@yTp<<`` <``@FFOFDFdyxpxp@|xxy8pqqpp8qqp8qp;p9ߜ8ppqp9ߜ8ppqpppppqppppppqppqxxpxp===x`xx8'@@@@@L`A(8`xxT H@FFd!||xx8!`S` Efv*oM)n m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHN(ALNHz2?< NA\pdAxr0XQ)K\NN,"ffJrBjNuHz?<&NN\CAp$L Qp NhBlJpNNhpMNh9@pdAr 0Q0tr Nٶ9lN`Nupealp`NuaN,Hz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu &8*:EENuHn 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNܚpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@Nf?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|ܮ  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NxJFkSFk&aQNx`Ha"FFaQL8NL6.ܮJgtBnܮNupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?NL<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dGe GbFGNu G0dFGHANu~NuAd RdQRB6Ce0 C/jC C@j C jr0H@{0DH@Nur{0Nu{0NutNuJj(:,af AfBfNu&<x*<NHnۨr$g4jDk( b4<J@`@[H@0Nu4<Ѐ[Nu4<NuNuAd RdQRBBkBjDBJjDNupNufJj fJAkNupNdRdRrxaAffBWHNuJjDBDA@JBfprJjDEDD@JEfvxNuaغBffAVHNuCDEaEf fDUHNu]HNuCDEaEffDftNuJjtNupN&NAXJ@jNNuNJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNu ::/rI IN<,(k$/<??<?N`NA Jj ?a0NNHrO INLA NNBN|N]Nۨ <ڢ2,SFSGFnHGnDDDk9DBlDEk9EBlFcllGcll0,lb 0,lcNupmrtA)HA)HNٶpNHHPN4 _:8><DbFEbGCHP@dʾAdBD2ƞE29|C???FF22N23BRG0@\@N"2)IN(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NhHNu*( INA)H @depd ae zb QB DNA\)H @ e` ae zb \gQBA BhNfpZNhA BP"`#|}NzA"H0,tg"Hg \f`A\fS A ENAR@H`2QNur|<N @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| Nٶp`p`pNNu~`~ `~HAҬ 2HA dJ@g??)AVHT hf if$Qb XbEJf$?`N۔NlX4TSWjT` $A4TQE I XX0d?N۔NlVT4SWfT`2,V`$AT4Qr40Nٶ2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NN\"l`dpNAtrdJhk\QpaNH ld$l`"Hg: k&@0+R`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgNAH@B pNA NuApNN$ND$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0Nu _0HpN _0HpNE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuNWHNuNVHNuNUHNuNSHNuNRHNuNTHNu Ihd*ND$E$RR@H`2QˈN ENu Ihd"*ND$E8*$R`"QˈN ENu2)A IJAfr4(Ae*RBBc0*SA?ND$E$R`QˈN ENup`(* 0(iND$E 4R`Q$D 4R`QˈN DN ENua NuN IHPg"B  g &gNdJBjt BNut`Rptr ae OgT Xgj HgSRB ae Fb$0k  c_  c b退`tSJBkNRB0 b b瀀`RB0 fрd`0g< @g4:8(g* b.&NDSD`Q0$C$RQLjN CNuNpNDp NpC 0(gFd"P$I` *ND$E$R(S@jv A(Wf( ae zb Q DNuNq Y Qf*d ЀЀ 2$4BBNuHRp` HRpJQfpNNq Y Qfd ЀЀNuNN$_& Y Qf d փփABJk 0NNN>$_& if"QdփփHRNDNN~,Nq8DRzXEEg"7PNqR$HBJBgpNJgJigp`eetЂ`"ЀeЁdp`ЀeЀe"Ѕe$W.H@@NzL"2` NqR YEjrd0` SjN$_NЀЀN YQf "_Nq*eNN*< NqbІSGfN $_NZփփ"@HHRND YQf "_&Nq*eNN*<&NqbֆSGfNp"X4g S`"QNuNuNJPgBP, d4d<e<Ѐ"ЀЁE Y0gR@2DAH!b` `ЀЀ`Ѐ"ЀЁE. l ,`2"X2g,e($UAk&QHPS Y2g RSj _b l ,"X2geb J"F\N6" KC`e N\`d \N l\Ӭ\ NupNd d3 d# d# # d# # # # d# # # # # # # # dB` # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # QNudd2d"d""d""""d""""""""dB` """"""""""""""""""""""""""""""""QNu?k?<NM"UAf J@fH@NuDW?<NMXNuC l ", Ⲭ dfѬ SA 0! Nup"N, HHHNup`pJ@gHzZ?<&NN\NuB?< NA\Av ACLElp"Jg X\QC"C!/:@?< NA\NuLH!NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A6@ Ni LHL|1R/:?< NApdK`HaJLxNNu)H9@Jp4NhP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8N  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNRHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NXtHB9BL@@TAt )l g.A( f hgSASAgRB`9BJNhSAgNu)l g,vARC( g9CJ9|Lp!,Nh FPeNuBAAb8RGRC`3RSG5GC5C J1DcaRF F e`RG GcdNuXASF1F41R 1h4 x1EDgVA)H)H 9|J?<NNTU@g,ACg dRhdRh(gpL8Nhp>L8NAJ0?C bL000zH?A/.)HpNhLrHH/>Bl/,ff.f.ffNu l /.g&, ^`D&, N`>&, R`8&, V`2&, Z`,2,/4WAARA0,/6A hfRAS@f9A/,&, Jo ? CN0`@k Ap0(/.NuA Nup)@JphNhLtH &JKBCH .A/~0 1PP1P1PA L? &<@>AFG0000X0000X0000X0000C ~AJ0g0  pi, Nh"F QNu"l`Yd&-KNN\"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`$Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuN\"l`QepZNpr`&AdRd QJBgRBBABJk"l` d&6&|0!NuN\"l` epZNC ҳfHP0(ND$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)N$_$RR@H`2QNu$Y 0P1@Hg R@@%NuN\$l` epZN,jJk `BffAge Jj 2$NuJjNu,jJj `BffAgb Jj 2$NuJjNu/&#k gH`X-KNuA?NNA킐Np$C킐NbB B"p$A"Nr/-"NC킐N:N`NqNqNA킐Npr NZprNZprNZprNZprNZprNZprNZprNZprNZprNZprNZprNZprNZpr!NZAQNA@NNVAN|N&<x*<NRANۨNVAN|N&<x*<NRA NۨA$N۔AN|NH <r$<A*N|NL8NLANۨANۨA6N۔AN|NHA N۔NL8NATN|NRNADNۨA6N۔&<x*<NHA N۔NL8NAN|NRNAJNۨpNhpNprNAZNې/ANې"NvA8N۔AZN|NN/A>N۔AN|NN"NPAZNې/ANې"NvADN۔AZN|NN/AJN۔AN|NN"NPAZNې/ANې"NvAZNې/AfN۔&<x*<NAN|NRNAN|NN"NPA$N۔AN|NHAN۔NL8NATN|NRNA8NۨA$N۔&<x*<NHAN۔NL8NAN|NRNA>NۨAN۔AN|NN"NPAZNې/ANې"NvADN۔AZN|NN/AJN۔AN|NN"NPAZNې/ANې"NvAZNې/A`N۔&<x*<NAN|NRNAN|NN"NPpNhpNprNN*NRA큰NBmBg?<NMXAPNAPN۔JBfN_lp{@A r @A r @NBgBg?<?<A큰" NpN2pN6pN:prNvp"<NNhpz@A r @A r @p@NBgBgA큰"NN_HxN8)Drucker nicht bereit| |Bitte Einschalten!4HPN, OK |Abbruchr"_ N@ANAN۔&<x*<NgN*NRA큰NAb8NpN2pN6pN:BgBg?<?<A큰" NAV 0 <r Nv <"<vNN,FunktionsgleichungHP <r$<H <r$<H <r$<H <r$<HATNN8f(x,y)=nHP <r$<H <r$<HtH <r$<HATN <r$<H <r$<H <r$<HtH <r$<H <r$<HA6NHmAbNHmA "_NfNap0NC큤NDHmAc6NAVN۔JBfNaHmAwNAVN۔JBg>BgBgA큰"NprNZprNZprNZprNZprNZA 0N*NRA"NA킖N+| 2 -2C킖Nb)|j +|" -2A"Nr/-"NC킖N:N`NqNqN*NR"_ANA"NA C큤ND+|"Hmp"-""_NHPp N"_NfNcHmHmp"-""_N"_NC큤NDR" -"NHANNL8NgN*NR"_ANA6NA"NA:NA>NABNANANANANANA\NA킜NA킢NA킨NA킊NpC킜NbHxdpC킢~Ndp2C킨Nbp2C킊Nb)| +|6/-6NC킜N:Hm -6C킜N"_NfNdRN,Zu drftige DefinitionHPAwnNNpR6 -6Q^HgApNA CNDA CND+|"Hmp"-""_NCNDHmp-N"_NfNiHm -"R/p""_NHPN,--"_NfNe.N8+Zu viele Negationen|Hinweis: '+' statt '--'HPAwnNNp -"SWHNrA\Nۨ+|6Hm -"NH <r$<L8NN/p""_NHP -6C킜N"_NNrA\NۨR6 -6N&<x*<NpJBgp/A\Nې$VHgpA\N۔JBfNiHm -"R/p""_NCNDAN.HPpXN"_NpJBgp/AN.HPpYN"_NpJBgp$VHfNfj+|:NiHmp{N"_NfNf+|:R:Hm -"Э:/p""_NHPp}N"_NgNiHmp(N"_NfNg\+|:R:Hm -"Э:/p""_NHPp)N"_NpJBgp/ -"NH -:NL8NHANNL8NjpJBgp$VHgNiHm -"X/p""_NHPp(N"_NfNh+|:R:Hm -"Э:/p""_NCNDHmp)N"_NpJBgp/ -"NH -:NL8NHANNL8NjpJBgp$VHg|Ni+|:R:Hm -"Э:/p""_NCNDHmp+N"_NpJBgp/Hmp-N"_NpJBgp/Hmp*N"_NpJBgp/Hmp/N"_NpJBgp/Hmp^N"_NpJBgp/ -"NH -:NL8NHANNL8NpJBgp$VHg S:Hm -"NH <r$<L8NN"_N0HPN8({0}-"_NHPHm -"R/ -:""_N"_NHPp)N"_NHPHmANNH -"NL8NH -:NL8NN"_NX"_NCNDHmp"-""_NCNDBm`+|6 -6C킜NHPA"_NNrA\NۨR6 -6N&<x*<NpJBgp/A\Nې$VHgA\NېF$VHfNkAN.HPpXN"_NpJBgp/AN.HPpYN"_NpJBgp$VHfNjHmA"_NCNDNkHmp{N"_NfNkfHmp}N"_NfNkJHmA"_NCNDR"Hmp"-""_NCND`HmA"_NCNDNkN,Nicht zulssiges ZeichenHPAwnNNpNo(Hmp)N"_NfNmLHmp"_NXCNDHmp(N"_NfNm ANJWHfNl(N,Zu wenig Klammern geffnetHPAwnNNpHmp#N"_NfNlHmHmp"_NX"_NCNDHmANNH <r$<L8NN"_N0CNDNlHmA"_NCNDHmANNH <r$<L8NN"_N0CNDHmp"_NXCND`HmANNH <r$<L8NN"_N0CNDNo(Hmp#N"_NfNmHmHmp"-""_N"_NCND <"Ѝ/p _ѐNo(HmAvlN+mF>Hmp"_NXHPAvlN+mFB -B>^HpJBgp/ -BNzNpJBgp/ ->NzNpJBgp$VHfNo -BYWHfNnHmHmp"_NX"_NCNDHmANNH <r$<L8NN"_N0CNDNnHmHmp"_NX"_NCNDHmANNH <r$<L8NN"_N0CNDHmp"_NXHPAvlN+mFB`HmA"_NCNDR" -"NHANNL8Ng>ANJVHfNpHmp"_NXCNDHmp(N"_NfNoN8Zu wenig Klammern geschlossen;HPAwnNNpNpHmp#N"_NfNpFHmHmp"_NX"_NCNDHmANNH <r$<L8NN"_N0CNDNpHmA"_NCNDHmANNH <r$<L8NN"_N0CND`N*NRA"NAJNANNA6NA큪NANANA\N+|" -"NHANNL8NfNvdHmp"-""_NC큪NDB6R6 -6C킖NHPA큪N."_NNrA\Nۨ -62WHpJBgp/A\Nې$VHgA\N۔JBfNr.p#NC큪ND -6NNNSWHfNrHmp0N"_NHP -6NN"_NHPp#N"_NC큪NDNr.Hm -6NN"_NHPp#N"_NC큪NDHmp"_N0HPp#N"_NfNrHm -"NH <r$<L8NN"_N0HPA큪"_NHPHmANNH -"NL8NH <r$<L8NN"_NX"_NCND <"Ѝ/p _ѐHmp"_N0HPp0N"_NpJBgp/Hmp"_N0HPp9N"_N&pJBgp/Hmp"_N0HPp.N"_NpJBgp$VHfNv\+|JRJHm -"ЭJ/p""_NCNDHmp0N"_NpJBgp/Hmp9N"_NpJBgp$VHgHmp.N"_NfNtPRJHm -"ЭJ/p""_NCNDHmp0N"_NpJBgp/Hmp9N"_NpJBgp$VHgAN.HPpEN"_NfNu^Hm -"NH -JNL8N&<x*<NN/p""_NCNDHmp+N"_NpJBgp/Hmp-N"_NpJBgp$VHfNtRJRJHm -"ЭJ/p""_NCNDHmp0N"_NpJBgp/Hmp9N"_NpJBgp$VHgHm -J"-""_NNNC큪NDANNH -"NL8NH -JNL8N&<x*<NN+@NHm -"NH <r$<L8NN"_N0HPp{N"_NHPA큪"_NHPp}N"_NHPHm -N"_NX"_NCND <"Ѝ/A큪NR _ѐR"`N*NR"_A큪NHmp+N"_NpJBgp/Hmp-N"_NpJBgp$VHfNv+|FNwfHmp*N"_NpJBgp/Hmp/N"_NpJBgp$VHfNw+|FNwfHmp^N"_NfNw<+|FNwfHmp#N"_NfNwb+|FNwfBFN*NR"_ANHxN, Syntaxfehler| |HPA"_NHPN, OK r"_ N@ANBmZN*NR"_ANARNAVNA"NAJNANNANAbNBRBVBZ+|"RRHmp"-""_NCNDAN.HPpXN"_NpJBgp/AN.HPpYN"_NpJBgp$VHfNx/-RHxAN.C킢~N@Hmp{N"_NfNy:HmAN""_NXNAbNۨ/-RHxp{NHPAbN۔N"_NHPp}N"_NC킢~N@ <"Ѝ/AbN۔NNR _ѐHmp+N"_NpJBgp/Hmp-N"_NpJBgp/Hmp*N"_NpJBgp/Hmp/N"_NpJBgp/Hmp^N"_NpJBgp$VHfNyRVRZ/-RHxAC킢~N@Hmp#N"_NfNz"COWBOY.DRD") ohne Schwierigkeiten? Die Bedienung des Programms erfolgt unter GEM und gestaltet sich somit sehr einfach: - Eingabe der gewnschten Funktion in der Form z=f(x,y) Dabei kann eine Klammerebene weggelassen werden. - Intervallgrenzen auf x- und y-Achse - Winkel der Achsen relativ zur Bildschirmhorizontale - Anzahl der Tangentialebenen in x- und y-Richtung Nun erfolgt die Berechnung sowie die Ausgabe des Schaubildes. Anschlieend knnen im Menpunkt "Edit" Vernderungen der Para- meter eingegeben werden. Durch Anklicken von "Neustart" wird die Berechnung mit den neuen Werten duchgefhrt. Um ein befriedigendes Ergebnis zu erhalten, ist manchmal einiges Experimentieren ntig, insbesondere mit den Achsenwinkeln, was eine Drehung des Objekts bewirkt, sowie mit der Anzahl der Tan- gentialebenen, um eine feinere oder grbere Struktur zu erreichen. Die Anzahl der Tangentialebenen sollte dabei anfangs nicht zu gro gewhlt werden (-->Rechenzeit!). Bei unbersichtlichen Schaubildern bewirkt eine Einschrnkung des z-Bereiches manchmal Wunder... Jetzt noch ein paar Worte zum "Organisatorischen": Fr Spenden in Hhe von DM 20.- wren wir sehr empfnglich... Dafr gibt's dann als Dank das Programmlisting in GfA-Basic, gegen Einsendung einer Diskette auch auf derselben. Mit Hilfe dieses Listings kann beispielsweise die Liste der im Programm eingebauten Standardfunktionen erweitert werden, oder das Programm kann persnlichen Wnschen angepat werden, oder... Interessant ist sicher auch die Auswertung der Funktionsgleichung mittels Umwandlung in Postfixnotation und Dreiadrebefehlsfolge. Diese Methode bietet gegenber der rekursiven Auswertung einen nicht unerheblichen Geschwindigkeitsvorteil. Da die Routine in GfA-Basic geschrieben ist, drfte die Umsetzung in andere Programmiersprachen keine Schwierigkeiten bereiten. Viel Spa! Jrgen Tuffentsammer Martin Deubler Riesengebirgstr. 1a Kistlerhofstr. 98 8000 Mnchen 50 8000 Mnchen 70 x~~f8|~~f8n``f f<~<8`f~|<`>8~f8< f>~~8|f~~>|~8~~8~~ff|<f|f~~f9f>f`<`>`fffyf~~``~`ff~qff``<`f`ff`qnf``<`f`ff`a|~~<~f`~~~<f<<~Ax>><~f`>~><f<<>DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP `DDDDDDDDDDDDDDDDDDLDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPgDDDDDDDDDDDDDDDDDDѥDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPS`_FXDDDDDDDDDDDDDDDDDF*fDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP:q3K 3`DDDDDDDDDDDDDDDDDLDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP4h:g$˚DDDDDDDDDDDDDDDDDbKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP`,*KI8PDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP)’ɤ@'䒮Տ1/"XӅDDDDDDDDDDDDDDDDy҉&tLDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPPc.IeXIKe8P'ʙgI`DDDDDDDDDDDDDDDFF9RYՏDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPNܖXӅ,XytLJNM|4,iFTDDDDDDDDDDDDDDGRfƼ4s̗$ʲ*{DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP14&μ(򤫤bgƔd&i,kGkK:%.DDDDDDDDDDDDDDFGc^4OʲgU5DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPFZrOc^E&UucY$Z3'dy.e5Od*uQPDDDDDDDDDDDDDF+xk:e%/x.I5,DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP XkuIgV4k2I'>1FGrYcZ2yOIgUFUZRwϱYc^DDDDDDDDDDDDDT乳Tuaf&Yz3DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP$Kdi%55tuQX#xk%]%?%5'hG3IgSxJ%'DDDDDDDDDDDDDQ,'YS]iOWIgU DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP:#URT\YcZ pѧ \4:dYzMR<%:Qtu(DDDDDDDDDDDDEM5U%Mʗ}%5PDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPL-p%SI3xeYefӞ:i*YyK'WYcq::TU:YDDDDDDDDDDDDE2ʒɧ 2\4:2UY=)lDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPJ=$ʒQR}u: 5I"}%џ,,8's xc'YgDҖDDDDDDDDDDDDD*i:?ģ,%xWLdDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPIKhT*K:7Lѭƒʒӊ2|KRu:=(ʒz=Βћ^}::DDDDDDDDDDDDSĹ4o5M |s}2џDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP#di,*H'̩ ƒΒK^}K:K'乤׍4cՍ|s5̒ϑAi,Xē乬֍˒ɍhI>K:TUK%XW|,֜DDDDDDDDDDDocI$%Ǚeh/>:EtVDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP)&7]RYƞ?ΙfIiO9ϚghOK,ᑦDDDDDDDDDDDi&i&5N,,ucsFsgƪ'DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPi2K7%N.k,uMɳ,,F"XJeV7{:K:%:1>,k/y|Nfc^4oʒeV7>4k>1>,j<DDDDDDDDDDDF$YdOcZ4 N2].4mADDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP$UUcwGZSϳ^3Oy&t5N,UcgGZsƵi2e$?d.i5M,&u_FqDDDDDDDDDDDDJ%IeV7{:I%60>.5/*5>1>,u<2XIcOYcJ2ЊOg]_*4vTUaGYZSaϳcZ2ʳwDDDDDDDDDDDDDi55%TU?g쩣ZQ oZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPI%$d?%4&,u? e,jq%IeO{7e%>u5?<'Z9I2YS]:pNWIg^_>eu>5,DDDDDDDDDDDDDDIX\OYcZhNg]߲˚vDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPTT:YY)wYZ1NϚum4%2ӧdٕtuqevYZQqoYZ$%m%5ќuuП.xjq`DDDDDDDDDDDDDDEII3_]eeқu5.y6DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPHY-:p'YwIcxMgu7u5IY*'Y9Џ)YgT۫gwTT:Y-)Y]NslDDDDDDDDDDDDDDDt$ʒS2ut:Vy](owYYDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP$Y$IJz}%ҝUu:蟈xqI3G?]eқe:ӟƶy9I,%9C'YwHx/Yg;֏_U%DDDDDDDDDDDDDDDFE,K*ǧLѭ)ЇYQsYfDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP4Ks\+)7YQ9'ib4ΒS2u::ѧ2yh7wY$ْIJ z}2ҟ~ut:~՞xDDDDDDDDDDDDDDDDCL OOnvȏD~֞Pם8C&̳̳McScvQ$,XG,C-U;քc DDDDDDDDDDDDDDDDDDn,Ix,ѮFdF-idDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPIɍ)ӄ9:<7,ѵx6iMIem:Ϻh2L<ӽ4OWCϲiMoSOODbԀDDDDDDDDDDDDDDDDDDE䛦XҝA̙ۅc?˲njcdDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP$&dXCӬ֌G9DG*%x9,Fք3Ie)߂:ϺEh?n)OMYF!fYkF1KgODDDDDDDDDDDDDDDDDDDDELtN|!YYՆ!fDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPd%,m{r}h֎|#vD$%oUeZlc4xڃ &fδ=)g%t'Ꝟ)޺DDDDDDDDDDDDDDDDDDDDDMVIbL7ft7o'iRDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPML!YfYu1%flrkNl#iV}X~!eYdv,k>RDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP Og^7 4k1nZs ǭ dZSaZrDDDDDDDDDDDDDDDDDDDDDDDDDDk$ugGzDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPI&5.t&{Q;Ke6..5>QKgN7y*w1DDDDDDDDDDDDDDDDDDDDDDDDDDDgYZRJgDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDP&YZtﱣZry"xu?g쩧zI3u5'r_>0DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDVMiτfdDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPKB̹EC$֜GDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDn<޴DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDPI 0 THEN config := config - 4 ; IF (config & $0008) <> 0 THEN config := config - 8 ; config := config | $0004 ; config := Set_Printer (config) ; {-- Sonstiges --} konst[1].name := 'ende' ; fkt := 'sin(x)' ; Set_DText (fktein_zei, funkt, 'sin(x)', System_Font, TE_Left) ; var_x := 'x' ; Set_DText (fktein_zei, fvarx, 'x', System_Font, TE_Left) ; Obj_SetState (fktein_zei, fvary, disabled, false) ; { 2.Variable disabled } step := 5 ; Set_DText (warten_zei, wstepfel, '5', System_Font, TE_Center) ; neu_rechnen := true ; END ; {---- Do_Init_Warnungen : Setzt Warnungstexte zu Beginn d. Programms ---------} PROCEDURE Do_Init_Warnungen ; BEGIN warn[ 1] := '[3][ Ungltige x-Grenzen !! ][ verstanden ]' ; warn[ 2] := '[3][ Log. Einteilung x mu > 0 sein ! ][ ok ]' ; warn[ 3] := '[3][ Ungltige y-Grenzen !! ][ verstanden ]' ; warn[ 4] := '[3][ Log. Einteilung y mu > 0 sein ! ][ ok ]' ; warn[11] := '[3][ Sinnvolle x-Skalierung, was !! ][ ahh ]' ; warn[12] := '[3][ Sinnvolle y-Skalierung, was !! ][ ahh ]' ; warn[13] := '[3][ Skalierung 0 ist auch schn ... ][ na gut ]' ; warn[21] := '[3][ Berechnung wurde abgebrochen .. ][ ach so ] ' ; warn[22] := '[3][ Ich sehe kein altes Koordinatenkreuz, DU ? ][ hmm ] ' ; END ; {---- Do_Eingabe_Konstanten : Eingabe der erkannten Konstanten ---------------} PROCEDURE Do_Eingabe_Konstanten ; VAR index : integer ; erfolg : boolean ; BEGIN index := 1 ; WHILE konst[index].name <> 'ende' DO BEGIN Set_DText (koein_zei, kname, konst[index].name, System_Font, TE_Center) ; Set_DText (koein_zei, kwert, zahl_str[index], System_Font, TE_Center) ; IF index = 1 THEN pushed := Do_Dialog (koein_zei, kwert) ELSE BEGIN Obj_SetState (koein_zei, kname, disabled, false) ; Obj_SetState (koein_zei, kname, normal, true) ; Obj_SetState (koein_zei, kwert, disabled, false) ; Obj_SetState (koein_zei, kwert, normal, true) ; pushed := Redo_Dialog (koein_zei, kwert) ; END ; Obj_SetState (koein_zei, pushed, normal, true) ; erfolg := Zahl_Einlesen (koein_zei, kwert, konst[index].wert) ; Get_DEdit (koein_zei, kwert, zahl_str[index]) ; IF erfolg THEN index := index + 1 ; END ; End_Dialog (koein_zei) ; END ; {---- Do_Eingabe_Grenzen : Regelt die Eingabe der Zeichenparameter -----------} PROCEDURE Do_Eingabe_Grenzen (user : boolean) ; VAR err_pos : integer ; erfolg : boolean ; help, help_1, help_2 : real ; BEGIN pushed := Do_Dialog (werte_zei, zxmin) ; LOOP Obj_SetState (werte_zei, pushed, normal, true) ; erfolg := true ; err_pos := -1 ; erfolg := Zahl_Einlesen (werte_zei, zxmin, help_1) ; IF NOT erfolg THEN err_pos := zxmin ; erfolg := Zahl_Einlesen (werte_zei, zxmax, help_2) ; IF NOT erfolg THEN err_pos := zxmax ; erfolg := Zahl_Einlesen (werte_zei, zymin, help) ; IF NOT erfolg THEN err_pos := zymin ; erfolg := Zahl_Einlesen (werte_zei, zymax, help) ; IF NOT erfolg THEN err_pos := zymax ; erfolg := Zahl_Einlesen (werte_zei, wskalax, help) ; IF NOT erfolg THEN err_pos := wskalax ; erfolg := Zahl_Einlesen (werte_zei, wskalay, help) ; IF NOT erfolg THEN err_pos := wskalay ; EXIT IF err_pos = -1 ; pushed := Redo_Dialog (werte_zei, err_pos) ; END ; End_Dialog (werte_zei) ; IF neu_fkt AND user THEN BEGIN IF (help_1 <> draw.x_min) OR (help_2 <> draw.x_max) OR neu_rechnen THEN BEGIN button := Do_Alert ('[3][ Funktion mu neu | berechnet werden ][ OK ]', 1) ; neu_rechnen := true ; END ELSE Do_Funktion_Zeichnen (true) ; END ; END ; {---- Do_Eingabe_Funktion : Eingabe der zu zeichnenden Funktion --------------} PROCEDURE Do_Eingabe_Funktion ; VAR fehler_str : str255 ; error : integer ; fehler : boolean ; BEGIN neu_rechnen := true ; fehler_str := ' ' ; Set_DText (fktein_zei, fehlpos, fehler_str, System_Font, TE_Center) ; pushed := Do_Dialog (fktein_zei, funkt) ; Obj_SetState (fktein_zei, pushed, normal, true) ; Get_DEdit (fktein_zei, funkt, fkt) ; Get_DEdit (fktein_zei, fvarx, var_x) ; Get_DEdit (fktein_zei, fvary, var_y) ; fehler := Fkt_Analyse (fkt, konst, var_x, var_y) ; error := Do_Berechnen (fkt, konst, 0.5, 0.5, var_x, var_y, ergebnis) ; WHILE error > 0 DO BEGIN fehler_str[error] := '^' ; Set_DText (fktein_zei, fehlpos, fehler_str, System_Font, TE_Center) ; Obj_SetState (fktein_zei, fehlpos, disabled, true) ; Obj_SetState (fktein_zei, fehlpos, normal, true) ; fehler_str[error] := ' ' ; pushed := Redo_Dialog (fktein_zei, funkt) ; Obj_SetState (fktein_zei, pushed, normal, true) ; Get_DEdit (fktein_zei, funkt, fkt) ; fehler := Fkt_Analyse (fkt, konst, var_x, var_y) ; error := Do_Berechnen (fkt, konst, 0.5, 0.5, var_x, var_y, ergebnis) ; END ; Get_DEdit (fktein_zei, fvarx, var_x) ; Get_DEdit (fktein_zei, fvary, var_y) ; End_Dialog (fktein_zei) ; IF konst[1].name <> 'ende' THEN Do_Eingabe_Konstanten ; Do_Screen_Aktualisieren ; Draw_Menu (menu_zei) ; Do_Eingabe_Grenzen (false) ; END ; {---- Do_Set_Pfad : Eingabe des gewnschten Pfades ---------------------------} PROCEDURE Do_Set_Pfad ; VAR par_datei : text ; BEGIN pushed := Do_Dialog (lauf_zei, lpfad) ; Obj_SetState (lauf_zei, pushed, normal, true) ; Get_DEdit (lauf_zei, lpfad, pfad_akt) ; IF pushed = lsave THEN BEGIN Set_Mouse (M_Bee) ; REWRITE (par_datei, 'FUNKTION.INF') ; writeln (par_datei, pfad_akt) ; Set_Mouse (M_Arrow) ; END ; End_Dialog (lauf_zei) ; END ; {---- Do_Parameter : bernimmt Parameter vom Dialog --------------------------} PROCEDURE Do_Parameter ; VAR help_flag, dummy_flag : boolean ; BEGIN help_flag := draw.x_log ; pushed := Do_Dialog (darst_zei, 0) ; Obj_SetState (darst_zei, pushed, normal, true) ; End_Dialog (darst_zei) ; Test_Button (darst_zei, dalogx, draw.x_log) ; Test_Button (darst_zei, dalogy, draw.y_log) ; Test_Button (darst_zei, papuver, draw.verb) ; Test_Button (darst_zei, danetz, dummy_flag) ; IF dummy_flag THEN draw.achsen_art := netz ; Test_Button (darst_zei, daohne, dummy_flag) ; IF dummy_flag THEN draw.achsen_art := ohne ; Test_Button (darst_zei, daskal, dummy_flag) ; IF dummy_flag THEN draw.achsen_art := skala ; Test_Button (darst_zei, daautoy, draw.auto) ; {-- Verndern, je nach Flags --} IF draw.x_log THEN Obj_SetState (werte_zei, wskalax, disabled, false) ELSE Obj_SetState (werte_zei, wskalax, normal, false) ; IF draw.y_log THEN Obj_SetState (werte_zei, wskalay, disabled, false) ELSE Obj_SetState (werte_zei, wskalay, normal, false) ; IF draw.auto THEN BEGIN Obj_SetState (werte_zei, zymin, disabled, false) ; Obj_SetState (werte_zei, zymax, disabled, false) ; END ELSE BEGIN Obj_SetState (werte_zei, zymin, normal, false) ; Obj_SetState (werte_zei, zymax, normal, false) ; END ; IF neu_fkt THEN BEGIN IF (help_flag <> draw.x_log) OR neu_rechnen THEN BEGIN button := Do_Alert ('[3][ Funktion mu neu | berechnet werden ][ OK ]', 1) ; neu_rechnen := true ; END ELSE Do_Funktion_Zeichnen (true) ; END ; END ; {---- Do_Berechnen_Funktion --------------------------------------------------} FUNCTION Do_Berechnen_Funktion : integer ; VAR i, falsch : integer ; wert_x : real ; BEGIN Show_Mouse ; Set_DText (warten_zei, werror, ' ', System_Font, TE_Center) ; pushed := Do_Dialog (warten_zei, 0) ; WHILE (pushed = wstepplu) OR (pushed = wstepmin) DO BEGIN CASE pushed OF wstepmin : IF step > 1 THEN step := step - 1 ; wstepplu : IF step < 300 THEN step := step + 1 ; END ; Do_Aktualisieren (warten_zei, wstepfel, step) ; pushed := Redo_Dialog (warten_zei, 0) ; END ; Hide_Mouse ; IF pushed = wsinja THEN write (CHR(27),'Y',CHR(41),CHR(53),' Noch kein nicht definierter Wert ! ') ; IF pushed = wsindru THEN BEGIN REWRITE (output, 'PRN:') ; writeln (' Singularitaeten von : y(', var_x,') = ', fkt) ; writeln ; writeln ; REWRITE (output, 'CON:') ; END ; i := 1 ; WHILE i <= 600 DO BEGIN IF draw.x_log THEN wert_x := EXP (((i-draw.null_x) / draw.dx) * LN (10)) ELSE wert_x := (i - draw.null_x) / draw.dx ; falsch := Do_Berechnen (fkt, konst, wert_x, 0, var_x, var_y, fkt_wert[i]) ; error_feld[i] := falsch ; IF (falsch < 0) THEN BEGIN IF pushed = wsinja THEN BEGIN write (CHR(27),'Y',CHR(41),CHR(52),'Nicht defininierter Wert bei : ', wert_x :10:6) ; Set_DText (warten_zei, werror, error_str[ABS(falsch)], System_Font, TE_Center) ; Obj_SetState (warten_zei, werror, disabled, false) ; Obj_SetState (warten_zei, werror, normal, true) ; END ; IF pushed = wsindru THEN BEGIN REWRITE (output, 'PRN:') ; writeln (' Bei x = ', wert_x:10:6, ' Grund : ', error_str[ABS(falsch)]) ; REWRITE (output, 'CON:') ; END ; END ; i := i + step ; IF Taste_Druck = -1 THEN BEGIN IF Taste_Lesen = ORD(' ') THEN BEGIN button := Do_Alert ('[2][ Wirklich abbrechen ? ][ Ja | Nein ]', 2) ; IF button = 1 THEN i := 999 ; END ; END ; END ; Obj_SetState (warten_zei, pushed, normal, true) ; End_Dialog (warten_zei) ; IF i = 999 THEN Do_Berechnen_Funktion := 21 ELSE BEGIN Do_Berechnen_Funktion := 0 ; neu_rechnen := false ; END ; END ; {---- Do_Funktion_Zeichnen ---------------------------------------------------} PROCEDURE Do_Funktion_Zeichnen ; { -- wurde FORWARD deklariert !! -- } VAR old_kreuz : boolean ; fehler : integer ; BEGIN old_kreuz := false ; fehler := 0 ; IF NOT redraw THEN BEGIN button := Do_Alert ('[3][Altes Koordinatenkreuz | verwenden ?][ Ja | Nein ]', 2) ; IF button = 1 THEN old_kreuz := true ; IF (draw.dx = draw.dy) AND Old_Kreuz THEN fehler := 22 ; END ; Hide_Mouse ; IF Old_Kreuz THEN BEGIN IF fehler = 0 THEN fehler := Do_Berechnen_Funktion ; Do_Screen_Aktualisieren ; IF fehler = 0 THEN Do_Draw_Funktion (draw, fkt_wert, error_feld, step) ELSE button := Do_Alert (warn[fehler], 1) ; END ELSE BEGIN IF NOT redraw THEN BEGIN fehler := Do_x_Koordinaten (draw, fkt_wert); IF fehler = 0 THEN fehler := Do_Berechnen_Funktion ; END ; IF fehler = 0 THEN fehler := Do_y_Koordinaten (draw, fkt_wert) ; IF fehler = 0 THEN BEGIN write (CHR(27), 'E') ; Do_Draw_Funktion (draw, fkt_wert, error_feld, step) ; END ELSE button := Do_Alert (warn[fehler], 1) ; END ; Draw_Menu (menu_zei) ; Show_Mouse ; END ; {---- Do_Set_Drucker : Setzt die Druckerparameter ----------------------------} PROCEDURE Do_Set_Drucker ; VAR config : integer ; BEGIN pushed := Do_Dialog (drucker_zei, 0) ; Obj_SetState (drucker_zei, pushed, normal, true) ; End_Dialog (drucker_zei) ; Test_Button (drucker_zei, bp980, low_flag) ; Test_Button (drucker_zei, dqtest, test_flag) ; config := Set_Printer (-1) ; IF (config & $0004) <> 0 THEN config := config - 4 ; IF (config & $0008) <> 0 THEN config := config - 8 ; IF low_flag THEN config := config | $0004 ; IF NOT test_flag THEN config := config | $0008 ; config := Set_Printer (config) ; END ; {---- Do_Drucken : Druckt das Bild aus ---------------------------------------} PROCEDURE Do_Drucken ; PROCEDURE Hard_Copy ; XBIOS (20) ; BEGIN Hide_Mouse ; Do_Screen_Aktualisieren ; Hard_Copy ; Draw_Menu (menu_zei) ; Show_Mouse ; END ; {---- Do_Save_Bild : Speichert Bild auf Diskette -----------------------------} PROCEDURE Do_Save_Bild ; VAR datei_name, maske : str255 ; bild_datei : FILE OF integer ; index : integer ; count : long_integer ; BEGIN IF bild_art = mono THEN maske := CONCAT (pfad_akt, '*.ART') ; IF bild_art = degas THEN maske := CONCAT (pfad_akt, '*.PI3') ; IF Get_In_File (maske, datei_name) THEN BEGIN Do_Screen_Aktualisieren ; Draw_Menu (menu_zei) ; Set_Mouse (M_Bee) ; REWRITE (bild_datei, datei_name) ; IF bild_art = degas THEN BEGIN bild_datei^ := 2 ; put (bild_datei) ; { Auflsung } bild_datei^ := 1 ; put (bild_datei) ; FOR index := 1 TO 15 DO BEGIN bild_datei^ := 0 ; put (bild_datei) ; END ; END ; FOR index := 0 TO 15999 DO BEGIN bild_datei^ := bild[index] ; put (bild_datei) ; END ; Set_Mouse (M_Arrow) ; END ; END ; {---- Do_Erase_Bild : Lscht File von der Diskette ---------------------------} PROCEDURE Do_Erase_Bild ; VAR maske, datei_name, alarm : str255 ; bild_datei : FILE OF integer ; BEGIN maske := CONCAT (pfad_akt, '*.*') ; IF Get_In_File (maske, datei_name) THEN BEGIN Do_Screen_Aktualisieren ; Draw_Menu (menu_zei) ; alarm := CONCAT ('[2][ Die Bilddatei | ', datei_name, ' | wirklich lschen ? ][ Ja | Nein ]') ; button := Do_Alert (alarm, 2) ; IF button = 1 THEN BEGIN Set_Mouse (M_Bee) ; IO_Check (false) ; RESET (bild_datei, datei_name) ; IO_Check (true) ; IF IO_Result = 0 THEN ERASE (bild_datei) ; Set_Mouse (M_Arrow) ; END ; END ; END ; {---- Do_Show_Koordinaten : Zeigt Koordinaten -------------------------------} PROCEDURE Do_Show_Koordinaten ; VAR x, y, butt, key : integer ; re_x, re_y : real ; BEGIN Erase_Menu (menu_zei) ; Objc_Draw (ausgabe_zei) ; IF (draw.dx <> 0) AND (draw.dy <> 0) THEN BEGIN REPEAT Mouse_State (x, y, butt, key) ; IF draw.x_log THEN re_x := EXP (((x-20-draw.min_pot_x-draw.null_x) / draw.dx) * LN(10)) ELSE re_x := ((x-20) - draw.null_x) / draw.dx ; IF draw.y_log THEN re_y := EXP (((399-y+draw.min_pot_x-draw.null_y) / draw.dy) * LN(10)) ELSE re_y := ((399-y) - draw.null_y) / draw.dy ; write (CHR(27), 'Y', CHR(32+4), CHR(32+54), var_x, ' : ', re_x:13:9) ; write (CHR(27), 'Y', CHR(32+5), CHR(32+54), 'f(',var_x,'): ', re_y:13:9) ; UNTIL butt = 1 ; END ELSE button := Do_Alert ('[3][Nicht so hudelig, erst | mal was zeichnen !][ Grrrr ]', 1) ; End_Dialog (ausgabe_zei) ; END ; {---- Event_Loop : berwacht das Men und mgliches Redraw -------------------} PROCEDURE Event_Loop ; BEGIN WHILE true DO BEGIN event := Get_Event (E_MESSAGE, 0, 0, 0, 0, false, 0, 0, 0, 0, false, 0, 0, 0, 0, msg, dummy, dummy, dummy, dummy, dummy, dummy) ; IF msg[0] = MN_Selected THEN BEGIN CASE msg[4] OF minfo : Do_Show_Info ; mende : Do_Abbruch ; mhelp : Do_Show_Help ; mfktein : Do_Eingabe_Funktion ; meinkon : Do_Eingabe_Konstanten ; meingre : Do_Eingabe_Grenzen (true) ; mlauf : Do_Set_Pfad ; mdarstel : Do_Parameter ; mfktzei : Do_Funktion_Zeichnen (false) ; mdruzei : Do_Drucken ; mdruein : Do_Set_Drucker ; msavepic : Do_Save_Bild ; merapic : Do_Erase_Bild ; mscann : Do_Show_Koordinaten ; mwurm : Do_Show_Wurminfo ; mfdegas : BEGIN Menu_Check (menu_zei, mfdegas, true) ; Menu_Check (menu_zei, mfmono, false) ; bild_art := degas ; END ; mfmono : BEGIN Menu_Check (menu_zei, mfmono, true) ; Menu_Check (menu_zei, mfdegas, false) ; bild_art := mono ; END ; mfktneu : BEGIN neu_fkt := NOT neu_fkt ; Menu_Check (menu_zei, mfktneu, neu_fkt) ; IF neu_fkt THEN Do_Funktion_Zeichnen (true) ; END ; END ; Menu_Normal (menu_zei, msg[3]) ; END ; IF msg[0] = WM_Redraw THEN BEGIN Do_Screen_Aktualisieren ; Draw_Menu (menu_zei) ; END ; END ; END ; {-------------------- H a u p t p r o g r a m m ----------------------------} BEGIN IF Init_Gem >= 0 THEN BEGIN IF NOT Load_Resource ('FUNKTION.RSC') THEN BEGIN button := Do_Alert ('[3][RSC-File defekt !][ Abbruch ]',0) ; Exit_Gem ; Halt ; END ; Find_Menu (menu, menu_zei) ; window := New_Window (0, titel, 0, 0, 0, 0) ; Open_Window (window, 0, 0, 0, 0) ; bild_ptr := Bild_Ram ; Find_Dialog (infobox, info_zei) ; Center_Dialog (info_zei) ; Find_Dialog (lauf, lauf_zei) ; Center_Dialog (lauf_zei) ; Find_Dialog (fktein, fktein_zei) ; Center_Dialog (fktein_zei) ; Find_Dialog (werte, werte_zei) ; Center_Dialog (werte_zei) ; Find_Dialog (koein, koein_zei) ; Center_Dialog (koein_zei) ; Find_Dialog (darst, darst_zei) ; Center_Dialog (darst_zei) ; Find_Dialog (drucker, drucker_zei) ; Center_Dialog (drucker_zei) ; Find_Dialog (help, help_zei) ; Center_Dialog (help_zei) ; Find_Dialog (warten, warten_zei) ; Center_Dialog (warten_zei) ; Find_Dialog (wurm1, w1_zei) ; Center_Dialog (w1_zei) ; Find_Dialog (wurm2, w2_zei) ; Center_Dialog (w2_zei) ; Find_Dialog (ausgabe, ausgabe_zei) ; Do_Init ; Do_Init_Error ; Do_Init_Warnungen ; Init_Mouse ; Event_Loop ; END ; END. A:\ `ܪ o"h#Z#^#b,Ic.N//Bg?<JNA Bb3fNNNV?<NNN^NuNV?.?<!NNN^ _ONNV?<NAN^NuNV?< NAN^NuDO_INIT_ER?Hz~/,HNVA-HPNPC E$pQ~CEvpQ~CE-p,Q~CLE'p&Q~CElpQ~CE pQ~CEpQ~C~EbpQ~CTEpQ~C EpQ~N^,_X>Nu Overflow bei Multiplikation Overflow bei EXP Division durch null LN aus einer negativen Zahl Wurzel aus einer negativen Zahl LOG aus einer neagtiven Zahl AR- Funktionen mit verbotenem Argument Argument der ARC-Funktionen nicht aus (-1,1) TAN nicht definiert fr n*pi/2 Potenz einer negativen ZahlPRFE ?Hz~$/,HNVAr-HPNP0.J@jD@?NZA0 ~%0.J@j&pA]"O2"?NNnA0 ~&A]"O2"A0 ~' .2.N^,_X> _TNOEZ ?Hz~,/,HNVAL-HPNPA]"O2"A]"O2"Nr?/NVN°?/A0 ~- .2.N^,_X> _O NA ?Hz~2/,HNVAL-HPNPA]"O2"Nf?/A]"O2"ND?/NnA0 ~3 .2.N^,_X> _\NRSN ?Hz~8/,HNVAn-HPNPA]"O2"pA]"O2"A]"O2"NV?NNHN|?/NnNߢ?/A0 ~9 .2.N^,_X> _\NRCS ?Hz~>/,HNVA-HPNPp/A]"O2"/rA]"O2"A]"O2"NV?NNHN|$ ?/NnNߢ$ ?/?NNnA0 ~? .2.N^,_X> _\NIH ?Hz~D/,HNVAb-HPNPA]"O2"N°?/A]"O2"N,N°?/NH?</<NVA0 ~E .2.N^,_X> _\NOH ?Hz~J/,HNVAb-HPNPA]"O2"N°?/A]"O2"N,N°?/NN?</<NVA0 ~K .2.N^,_X> _\NAH ?Hz~P/,HNVAH-HPNPA]"O2"N?/A]"O2"N(?/NnA0 ~Q .2.N^,_X> _\NRIH ?Hz~V/,HNVAn-HPNPA]"O2"A]"O2"A]"O2"NVp?NNNN|?/NNNr?/A0 ~W .2.N^,_X> _\NROH ?Hz~\/,HNVAn-HPNPA]"O2"A]"O2"A]"O2"NVp?NNHN|?/NHNr?/A0 ~] .2.N^,_X> _\NRAH ?Hz~b/,HNVAr-HPNPA]"O2"?</<NNpA]"O2"?NNHNnNr?/?</<NVA0 ~c .2.N^,_X> _\NA ?Hz~k/,HNVA-HPNP?<NA0 ~lp=@A]"O2"N~0=@0.nn0~lA]"O2"0.?NNVA0 Rn`~mA]"O2"A0 ~n .2.N^,_X> _\NO ?Hz~s/,HNVAJ-HPNPA]"O2"Nr?/?< NNr?/NnA0 ~t .2.N^,_X> _\NETZI ?Hz></,HNVA-HPNP><><"n$n0R@2><"n0 V"hr)An$ V"h$n0A><r1=A` ><=|><0.r Ag><=n><0.N^,_X> _XNZEICHEN_WA?Hz></,HNVA-HPNPp=@"np)=@0.nnp><><><"n0.Ar1?Hz^?<N 0@d0><"n0.A$n2.Ct2ravACA><Rn`><N^,_X> _XNK_NLS?Hz></,HNVA-HPNPp=@><Bnp=@><><0."nr)Al><><Hn NN=@><?.HzD?<N 0@dJ><><=n><><><Hn NN=@><?.Hz?<N 0@e><N"n/ ?<Hn NN><Hn?<Hn?<Hn?<Hn?<Hn?<Hn?<Hn?<Hn?<Hn?<Hn?<Hn?<Hn?<><Bn><p=@0.S@=@0.nnP><><"n0.2|C/ ?<0.@e><><0.rAoH><><><CO$O;p:Q?<N3r><Bn><><`J><><><"n0.2|CEp?"Q><0.R@=@><><><><><`f><"n0.2|CE,><0.N^,_X> _ONende[3][Nicht mehr als 20 Konstanten | benutzen ][ verstanden ]absintfracsqrtexploglnartanharcosharsinhtanhcoshsinharctanarccosarcsintancossinALASE?Hz></,HNVAr-HPNPBnBn><Bn><p=@"nBgN I0 Bn><p=@><0.ArA0p-@f"><><p=@><0.R@=@><><><0.r.A_><0.ArA0?Hz?<N 0F@@Bdx><><"n$n J]&O6&?</< NV0.ArA0?NNNp0?NNH I0 ><0.R@=@><`H><0.ArA0p.@f><><0.R@=@><><0.r.A_><0.ArA0?Hz?<N 0F@@Bd><><"n><$n J]&O6&0.ArA0Ap4.?NZ?NNn?NNVNN I0 ><0.R@=@><0.R@=@><`0><><0.ArA0pE@W0.ArA0pe@WÄCBd><0.R@=@><0.ArA0p+@f 0.R@=@><0.ArA0p-@f"><><p=@><0.R@=@><><><0.r.AnL><><p=@><0. 2.CtA0B@=@><0.R@=@><`>< p=@>< 0.@d>< >< 0.J@jD@rAl>< ><0.@dD"n$n J]&O6&p2.?NZ?NNn><NV I0 `0><"n$n J]&O6&0.?NZNV I0 ><><`><><Bn><><0.@d0"n$n J]&O6&?</<NVN, I0 ><0.N^,_X> _ON( h INIT_FUNKT?Hz><./,HNVA -HPNPp V1@></CF VEpQ><0C& VEpQ><1C VEpQ><2C VEpQ><3C VEpQ><4C VEpQ><5C VE><6Cj VE><7CL VE><8C. VE><9C VE><:C VE><;C VE><<=C VE><>C VE><?Cf VE><@CJ VE><AC0 VE><Bp! VC><CN^,_X>NulnexplogtancossinabsintfracsqrttanhcoshsinharctanarccosarcsinartanharcosharsinhZEICHEN_WA?Hz><K/,HNVA-HPNPp=@"np)=@0.nnp><L><L><M"n0.Ar1?Hz^?<N 0@d0><N"n0.A$n2.Ct2ravACA><ORn`><PN^,_X> _XNETZI ?Hz><X/,HNVA-HPNP><Y><Y"n$n0R@2><Z"n0r V(An$"n0A><[r VA0=A` ><[p#=@><\0.r Ag><]=n><^0.N^,_X> _XNZAHL_BASTE?Hz><h/,HNVAd-HPNP V=h><i><j><j VHh VN V1@><k V?(Hz`?<N 0@e><l V?(Hz2?<N 0@dx><m><n V?(Hz?<N 0@d VHh VN V1@><o><p><p VHh VNv V1@><q V?(Hz?<N 0@e><r><sN VHh?<tAO"Op?"Q"n/ N=@><u0.@e V0( V1@><vN^,_X> _XN( @OSATN?Hz></,HNVA-HPNPp=@Bn><><0.2|C VAHp?<><0.2|Cr VA0=A>< V0(nS@r V(An<><N VHh?< V?(?.N"_><Ep?$Q`><><C,E pQ><Hn?<0.2|C VAHp?<><0.2|C VAA]"O2"A0 ><p=@>< V0(nS@ V1@>< VHh VN V1@><><0.R@=@><`X><0.@e ><><p V(=@>< V0(nS@r V(An<><N VHh?< V?(?.N"_><Ep?$Q`><><CE pQ><Hn?< VHh?<>< VA]"O2"A0 ><p=@>< V0(nS@ V1@>< VHh VN V1@><><><0.@e ><><p V(=@>< V0(nS@r V(An<><N VHh?< V?(?.N"_><Ep?$Q`><><CE pQ><Hn?< VHh?<>< VA]"O2"A0 ><p=@>< V0(nS@ V1@>< VHh VN V1@><><><0.@e V0( V1@>< .2.N^,_X>Nunichts !!endeTN_K ?Hz></,HNVA-HPNPBn><p=@ V=h0.nnR><><><0.|r|Af&><><0.2|C@r VA0=A>< V0(nr V(An<><N VHh?< V?(?.N"_><Ep?$Q`><><CEpQ><Hn VN@><Hn?<0.2|C@ VAHp?<>< V0(nS@ V1@>< VHh VN V1@>< VN)?/A0 ><0.`><><A]"O2"N?/A0 `><><A]"O2"N:p?NN20@d&A]"O2"><N ?/A0 `><p V1@`R><><A]"O2"N:p?NN&0@d&A]"O2"><ND?/A0 `><p V1@`><><A]"O2"N:p?NN&0@d&A]"O2"><N?/A0 `><p V1@`><><A]"O2"N:p?NN&0@d&A]"O2"><N?/A0 `><p V1@` ><><A]"O2"Nߢ?/A0 `><><A]"O2"N4?/A0 `><><A]"O2"N?/A0 `><><A]"O2"N ?/A0 `~><><A]"O2"p?NN20@d(A]"O2"><N|?/A0 `><p V1@`><><A]"O2"A]"O2"N~0?NNHA0 `><><A]"O2"N~0?NA0 `><><A]"O2"N:A0 `><><A]"O2"Nf?/A0 `Z><><A]"O2"ND?/A0 `0><><A]"O2"ND?/p?NNV0@d&A]"O2"><Nb?/A0 `><p V1@`><><A]"O2"p?NN0@d&A]"O2"><N(?/A0 `><p V1@`f><><A]"O2"p)?NN&0@d(A]"O2"><N°?/A0 `><p V1@`><><A]"O2"p?NN0@d(A]"O2"><Nr?/A0 `><p V1@`><><A]"O2"p?NN>0@d&A]"O2"><N>?/A0 `><p V1@`B><S@ @b4@0;NNvB8`Th*><p=@><><><Rn`><0.@e VN?/A0 >< .2.N^,_X>Nuhier ist nichts !!ATR ?Hz></,HNVA -HPNP V?(Hz?<N 0@d><Hn VN>< V0(r(Aft><>< VHh VN V1@>< VN.|?/A0 >< V0(r)Af VHh>< VN V1@`>< V0( V1@><>< V?(HzT?<N 0@d VN"?/A0 ><A]"O2"A0 >< .2.N^,_X>Nu@OZIHN?Hz></,HNVA-HPNP V0(r-AfP>< VHh VN V1@>< VNT?/?</<NVN,A0 ><><`>< VN?/A0 >< .2.N^,_X>NuEM ?Hz></,HNVA-HPNP VN"?/A0 ><>< V0(r^Af><>< VHh VN V1@>< A]"O2"p?NN0@d0A]"O2" VN?/><!N?/A0 `><!p V1@><"`l><#A]"O2"A0 ><$ .2.N^,_X>NuIFC_U?Hz><-/,HNVA"-HPNP VN?/A0 ><.><. V0(r*AW V0(r/AWÄCBd></><0 V=h><1 VHh VN V1@><20.r*Af><3><4 VNX?/A0 ><5A]"O2"p?NNV0@d><6><7?<8A]"O2"NVA0 `><8p V1@><9><:`><;><;BgNA0 ><<><=0.r/Af><>><? VNZ?/A0 ><@A]"O2"p?NNV0@d0A]"O2"><AA]"O2"NnA0 `><Ap V1@><B><C`"><DA]"O2"A0 ><E .2.N^,_X>NuUDUK ?Hz><N/,HNVA-HPNP VN?/A0 ><O><O V0(r+AW V0(r-AWÄCBd><P><Q V=h><R VHh VNZ V1@><S0.r+Af&A]"O2" VN ?/NNA0 ><T0.r-Af&A]"O2" VN?/NHA0 ><U`H><VA]"O2"A0 ><W .2.N^,_X>NuOBRCN?Hz><]/,HNVA-HPNPBnBn><^ NN><_Hn NNh=@><`"n/ NN~"_?/ I0 ><a0.J@j"nBgN I0 ><b0.r#Ag=n><c=n><d0.N^,_X> _ONOBJC_DRAW ?Hz~/,HNVAv-HPNPBy|~p3~~By~By~3~3~"n#~?<*Hy|HyHyHyN~N^,_X> _XNMOUSE_STAT?Hz~&/,HNVAd-HPNP?<OHy|HyHyHyN~'"n2~("n2~)"n2~*"n2~+N^,_X> _ONTEST_BUTTO?Hz~6/,HNVAN-HPNP/.?.0|AeNrAJ@g~7"n~8p2` ~9~9"nBQ~:N^,_X> _O NALENE?Hz~G/,HNVA-HPNP/.?.0|AeHnN~Hp=@p.=@0.nnf~I~I0.ArA0?Hz`?<N 0@e~J~KBn`&~L~LAO"Op?"Q"n/ N\=@Rn`~M0.N^,_X> _O Nh DO_ABBRUCH?Hz~U/,HNVAN-HPNPCFO$O(p'Q?<N3r~V09rrAf~W~X?9zN~Y?9zN~Z/9N~[/9N~\/9NL~]/9NL~^/9NL~_/9NL~`/9NL~a/9NL~b/9NL~c/9NL~d/9NL~e/9NL~f/9NL~g/9NL~hN|~iN~jNn yhN~k~lN^,_X>Nu[2][ Wirklich abbrechen ? ][ Ja | Nein ]DO_SHOW_WU?Hz~t/,HNVA-HPNP/9BgN3x~u/9?9x0|AeBg?<N~v/9BgN3x~w/9?9x0|AeBg?<N~x/9N~y/9N~zN^,_X>NuDO_SHOW_IN?Hz></,HNVAt-HPNP/9BgN3x></9?9x0|AeBg?<N><09xr AfN></9N><N^,_X>NuDO_SHOW_HE?Hz></,HNVA^-HPNP/9BgN3x></9?9x0|AeBg?<N></9N><N^,_X>NuSTR_WANDEL?Hz></,HNVA-HPNP=n><0.?<0.2.dA=@><0.?<}/<0.2. A=@><"nN0.@0??<0.?</<?NNNNr?/?< NNr?/NnN:?</<NNN~0=@><"n/ ?<N^,_X> _\NDO_AKTUALI?Hz></,HNVA-HPNP?.HnN></.?.0|AeAO"Op?"Q?<?<N&></.?.0|Ae?<BgN></.?.0|AeBg?<N><N^,_X> _PNDO_SCREEN_?Hz></,HNVAH-HPNPN><><"yuE20<?"Q><><N><N^,_X>NuDO_MERKEN ?Hz></,HNVAH-HPNPN><><"yuE40<?$Q><><N><N^,_X>NuOXKOD?Hz~/,HNVA-HPNPBn~~/9?<"n4/ N=@~/9?<"n./ N=@~~"nA4]$O4$"nA.]$O4$N20@d~p=@`~~~!"n0)@d~"~#"nA4]$O4$p?NN>0@d~$p=@`~%~%~&"nA4]$O4$p?NN&0@d~'p=@` ~'p=@~("n/ $nA.]&O6&N"_?/?<}/ _PNOYKOD?Hz~I/,HNVA-HPNPBn~K~M/9?<"n(/ N.=@~N/9?<"n"/ N=@~P~R"nA(]$O4$"nA"]$O4$N20@d~Sp=@`4~T~T~V"n0)@d*~W~Y"n0)@dp~Z~["n I]$O4$p?NN>0@d "n~\?<N IA(0 ` ~\"n$n J]&O6& IA(0 ~]~^`"~_~_"n$n J]&O6& IA(0 ~a"n$n J]&O6& IA"0 ~bp=@ nXn~c~c~e"n0)@ex~f"n0.2|CWA]$O4$"nA(]$O4$N&0@d4"n$n0.2|CWA]&O6& IA(0 ~g"n0)@d~h"n0.2|CWA]$O4$"nA(]$O4$N&0"n2.4|EWA]$O4$r?NN2A@d6~i"n$n0.2|CWA]&O6& IA(0 ~k"n0.2|CWA]$O4$"nA"]$O4$N0@d4"n$n0.2|CWA]&O6& IA"0 ~lRn`.~m"n$nA(]&O6&$nA(]&O6&?<}/0@d~tp=@`~u~u~v"nA(]$O4$p?NN&0@d~wp=@` ~wp=@~x"n/ $nA"]&O6&N"_?/?<}/~y"n/ $nA(]&O6&N"_?/0.?NNNN~03@@~{"n/ $n0*>R@?NP"_?/ IA"0 ~|"n/ $n?*@N,"_?/ IA(0 ~~"n0<H@$nA"]&O6&ND$L?/H@$nA(]&O6&N"$L?/NHN:?NNn IA0 ~"n$n0*@$nA]&O6&?NNVN:N~03@:><><><`><><><"nA(]$O4$p?NN0@d"nBgN IA(0 ><"n0<$nA"]&O6&$nA(]&O6&NHN:?NNn IA0 ><"n$nA(]&O6&$nA]&O6&NVN:N~03@:><><><=n><0.N^,_X> _PNACHSE_LIN_?Hz></,HNVA-HPNP V"h0J@g><>< V"hA.]$O4$ V"hA4]$O4$NH V"hA]$O4$Nn0<,?NN0@d><p V1@`><><>< V"hA4]$O4$ V"hA]$O4$NnN~0 V"hA]$O4$?NNVA0 ><><A]"O2" V"hA.]$O4$N>02.A]"O2" V"hA]$O4$NV?NNN2<X?NN&2A@d><>< V"h0)< V"h0rAf8><0.@?Bg0.@??<?<BgBgBg?<0.@?0< V"hi:S@?0.@?0< V"hi:Y@?><?<BgBgBg?<A]"O2" V"hA]$O4$NNA0 ><`j><><><?<0< V"hi:??<l0< V"hi:??<BgBgBg?<N^,_X>NuACHSE_LIN_?Hz></,HNVA-HPNP V"h0J@g~><>< V"hA"]$O4$ V"hA(]$O4$NH V"hA ]$O4$Nn0<?NN0@d><p V1@`><><>< V"hA(]$O4$ V"hA ]$O4$NnN~0 V"hA ]$O4$?NNVA0 ><><A]"O2" V"hA"]$O4$N>02.A]"O2" V"hA]$O4$NV?NNN2<?NN&2A@d><>< V"h0):A]"O2" V"hA]$O4$NVN~2A=@>< V"h0rAf:><?<0<n??<l0<n??<BgBgBg?< V"h0)<@?0<n? V"h0)<@?0<n?><?<BgBgBg?<A]"O2" V"hA ]$O4$NNA0 ><`l><><>< V"h0)<@?Bg V"h0)<@??<?<BgBgBg?<N^,_X>NuACHSE_LOG_?Hz></,HNVA-HPNP V"h=iD V"h=iB0.nnV><><><p=@ n n.><><><0./?.N$ ?/?NNVN?/A0 >< V"h0)< V"h0rAf8><0.@?Bg0.@??<?<BgBgBg?<0.@?0< V"hi:S@?0.@?0< V"hi:Y@?><?<BgBgBg?<Rn`><Rn`><?<0< V"hi:??<l0< V"hi:??<BgBgBg?<N^,_X>NuACHSE_LOG_?Hz></,HNVA-HPNP V"h=i@ V"h=i>0.nnT><><><p=@ n n,><><><0./?.N$ ?/?NNVN?/A0 >< V"h0):A]"O2" V"hA]$O4$NVN~2A=@>< V"h0rAf:><?<0<n??<l0<n??<BgBgBg?< V"h0)<@?0<n? V"h0)<@?0<n?><?<BgBgBg?<Rn`><Rn`>< V"h0)<@?Bg V"h0)<@??<?<BgBgBg?<N^,_X>NuOKEZZ?Hz></,HNVAl-HPNPBn></9?< "n/ N2=@></9?< "n / N=@><"nA]$O4$p?NNJ0"nA ]$O4$r?NNJ2A@d><p =@`b>< >< >< "n0)@d>< NN,` >< NN>< "n0)@d>< NN` >< NN><><0.J@g>0.2|CRA6C IO$Op?$Q?<N3r><Bn><0.N^,_X> _XNDO_DRAW_FU?Hz><"/,HNVA-HPNP"n/ N8=@><#0.J@gJ><$0.2|CRA6C IO$Op?$Q?<><%N3r`><&><&><'p=@><(><(0.|Xn><)><*=n><+"n0)@dT><,><-"n0.2|CWA]$O4$p?NN0@d><.></"n0.2|CWA]$O4$N?/"nA]$O4$NV"n0):?NNN0<?NN&0@dd><0"n0.2|CWA]$O4$NN?/"nA]$O4$NVN~0"n><1i:=@`><2><2=|><3><4`><5><5Bn><6><7`><8><8><9"n0):"n2.4|EWA]$O4$"nA]$O4$NV?NNN0<?NN&0@d^><:"n0):"n2.4|EWA]$O4$"nA]$O4$NVN~2><;A=@`><<><<><==|><?0.J@jBn><A0.no><B><C0.2|CW@A20JAW0.n2|CW@A20JAWC"niBdP><D0.@?0<n?0.@?0<n?><E?<BgBgBg?<F`P><G><G0.@?0<n?0.@?0<n?><H?<BgBgBg?<I><J`L><K><K0.@?0<n?0.@?0<n?><L?<BgBgBg?<N=n=n><O0.n=@><P`><Q><RN><SN^,_X> _ONDO_INIT ?Hz~x/,HNVJA2-HPNPAJ01|p3u~yByu~zByu ~{Byu~|p3u ~~></9?<0|Ae?<N&><p3></9?<(0|Ae?<N&><p3><></9?<0|AeCO$O?<BgN&></9?<0|AeCjO$O?<BgN&></9?<0|AeC6O$O?<BgN&></9?<0|AeCO$O?<BgN&></9?< 0|Aep1O"O?<BgN&></9?< 0|Aep1O"O?<BgN&><?0 ><?< NAu80 ><?<?< NAu,0 ><?<NAu0 ><?<NAu0 ><><BgN><HnJHz?< N><?<N><NxJ@f*><HnJ?<HyPNNئX><` ><><C`EP p Q></9?<0|AeAPO"Op?"Q?<BgN&><><p3></9?<0|Ae?<BgN><p3></9?< 0|Ae?<BgN><?<0.rAJ@g 0.Y@=@><0.rAJ@g 0.Q@=@><0.rA=@><?.NZ=@><><C:EP><CEPpQ></9?<0|AeCO$OpQ?<BgN&><pxCP></9?<0|AepxO"O?<BgN&></9?< 0|Ae?<BgN><p3></9?<0|Aep5O"O?<?<N&><p3><HnJN6N^,_X>Nusin(x)endeA:\BILDER\FUNKTION.INF10-10DO_INIT_WA?Hz></,HNVA-HPNPCnE+p*Q><C&E-p,Q><CE,+p*Q><CE~-p,Q><CRE,p+Q><C E,p+Q><CE`0p/Q><CvE1p0Q><C"EB9p8Q><N^,_X>Nu[3][ Ich sehe kein altes Koordinatenkreuz, DU ? ][ hmm ] [3][ Berechnung wurde abgebrochen .. ][ ach so ] [3][ Skalierung 0 ist auch schn ... ][ na gut ][3][ Sinnvolle y-Skalierung, was !! ][ ahh ][3][ Sinnvolle x-Skalierung, was !! ][ ahh ][3][ Log. Einteilung y mu > 0 sein ! ][ ok ][3][ Ungltige y-Grenzen !! ][ verstanden ][3][ Log. Einteilung x mu > 0 sein ! ][ ok ][3][ Ungltige x-Grenzen !! ][ verstanden ]DO_EINGABE?Hz></,HNVA-HPNPp=@><><0.2|CAJHp?<></9?<0|Ae0.2|CAJAO"Or?"Q?<?<N&></9?<0|Ae0.2|C@AtPAO"Or?"Q?<?<N&><0.rAf /9?<><N3x`><><></9?<0|Ae?<BgN></9?<0|AeBg?<N></9?<0|Ae?<BgN></9?<0|AeBg?<N></9?<N3x><></9?9x0|AeBg?<N></9?<0.2|CAJHpNҎ=@></9?<0|Ae0.2|C@AtPHpN><0.@d 0.R@=@><`></9N><N^,_X>NuendeDO_EINGABE?Hz></,HNVA-HPNP/9?<N3x><><></9?9x0|AeBg?<N><p=@><p=@></9?<HnNt=@><0.@ep=@></9?<HnNF=@><0.@ep=@></9?<HnN=@><0.@ep=@></9?<HnN=@><0.@ep=@></9?< HnNм=@><0.@ep =@>< /9?< HnNЎ=@>< 0.@ep =@>< 0.rAg$>< /9?.N3x><`></9N><09n@d><><A]"O2"Au>]"O2"NV0A]"O2"Au8]"O2"NV2Ay@dL><><><CdO$O0p/Q?<N3r><p3><><`><><?<Ntb><><N^,_X> _TN[3][ Funktion mu neu | berechnet werden ][ OK ]DO_EINGABE?Hz><(/,HNVA`-HPNPp3><)><*CLEAp@Q><+/9?<0|AeAO"Op?"Q?<?<N&><,/9?<N3x><-/9?9x0|AeBg?<N><./9?<0|AeHyPN><//9?<0|AeHyPN><0/9?< 0|AeHyPN><2HyPHyPAPO"Op?"QAPO"Op?"QN=@><3APO"Op?"QAPO"O0<"Q?</<?</<APO"Op?"QAPO"Op?"QHyN=@><5><50.rAo><6><70.Ar^A><8/9?<0|AeAO"Op?"Q?<?<N&><9/9?<0|Ae?<?<N><:/9?<0|AeBg?<N><;0.Ar A><=/9?<N3x><>/9?9x0|AeBg?<N><?/9?<0|AeHyPN><AHyPHyPAPO"Op?"QAPO"Op?"QN=@><BAPO"Op?"QAPO"O0<"Q?</<?</<APO"Op?"QAPO"Op?"QHyN=@><C`><D/9?<0|AeHyPN><E/9?< 0|AeHyPN><F/9N><HHyP?<IN><J/9N><KBgN><LN^,_X>Nuende DO_SET_PFA?Hz><V/,HNVLA-HPNPAL01|/9?<N3x><W/9?9x0|AeBg?<N><X/9?<0|AeHyPN><Y09xrAfZ><Z><[?<N><\HnLHzd?< N><]HnLHyP?<^BgN><_><`/9N><aHnLN6N^,_X>NuFUNKTION.INFDO_PARAMET?Hz><k/,HNVAf-HPNP=yu><l/9BgN3x><m/9?9x0|AeBg?<N><n/9N><o/9?<HyuN><p/9?<Hyu N><q/9?<HyuN><r/9?< HnN><s0.@d p3u ><t/9?< HnNǔ><u0.@dByu ><v/9?< HnNj><w0.@d p3u ><x/9?<HyuN<><z><|09u@d.><}/9?< 0|Ae?<Bg><~N`(><></9?< 0|AeBgBgN><09u @d.></9?< 0|Ae?<Bg><N`(><></9?< 0|AeBgBgN><09u@dZ><></9?<0|Ae?<BgN></9?<0|Ae?<BgN><><`R><><></9?<0|AeBgBgN></9?<0|AeBgBgN><><09@d><><0.|29u|AV„yBdL><><><C`O$O0p/Q?<N3r><p3><><`><><?<Ntb><><N^,_X>Nu[3][ Funktion mu neu | berechnet werden ][ OK ]OBRCN?Hz></,HNVA-HPNPN></9?<0|Aep O"O?<?<N&></9BgN3x><><09xrAW09xrAWÄCBd><><09x`V><><09rAo09S@3`F><><09԰|,l09R@3`><[@ @b@0;N></9?<?9NX></9BgN3x><`(><N><09xr AfD><pHy?N\?<YN\p)?N\p5?N\Hz?<$NXX><09xr Af><><HyHz?<N><HyHzb?<NXHyP?<HyNzXHyNzX><HyHz?<N><><p=@><><0.|Xn><><09u@d\0.yuFAu&]"O2"?NNn?< NNr?/NV><N°?/A0 `4><0.yuFAu&]"O2"?NNnA0 ><APO"Op?"QAPO"O0<"QA]"O2"BgNAPO"Op?"QAPO"Op?"Q0.2|CWAHpN2=@><0.2|CW@A1><0.J@j><><09xr Af><><pHy?N\?<YN\p)?N\p4?N\Hz?<NX><A]"O2"//?< ?<N"X></9?<0|Ae0.J@jD@2|CRAC IO$Op?$Q?<><?<N&></9?<0|Ae?<BgN></9?<0|AeBg?<N><><09xr Af><><HyHz>?<N><HyHz?< NXA]"O2"//?< ?<N"Hz?<NX><0.J@jD@2|CRAHp?<HyHz?<N><><><0.y=@><NrAfd><><Nr AfL><><CO$O(p'Q?<N3r><09rrAf=|><><><`></9?9x0|AeBg?<N></9N><0.|f><p=@` ><><><Bn><By><><0.N^,_X>Nu[2][ Wirklich abbrechen ? ][ Ja | Nein ] Grund : Bei x = Nicht defininierter Wert bei : CON:) = Singularitaeten von : y(PRN: Noch kein nicht definierter Wert ! DO_FUNKTIO?Hz></,HNVA-HPNPBnBn><0.@e><><><CO$O8p7Q?<N3r><09rrAfp=@><Au&]"O2"Au ]"O2"NJ0n@dp=@><><N><0.@d><><0.J@f Nx=@>< Nü>< 0.J@f6Hyu HyAOP"O0<+"Q?9>< Nڦ`B>< 0.2|CRA6C IO$Op?$Q?<N3r>< >< `"><><><0.@e8><><Hyu HyN=@><0.J@f N=@><><0.J@fHyu HyNV=@><0.J@fb><><pHy?N\?<EN\X><Hyu HyAOP"O0<+"Q?9Nن><><`B><0.2|CRA6C IO$Op?$Q?<N3r><></9N><N><N^,_X> _TN[3][Altes Koordinatenkreuz | verwenden ?][ Ja | Nein ]DO_SET_DRU?Hz><)/,HNVA-HPNP/9BgN3x><*/9?9x0|AeBg?<N><+/9N><-/9?<HyN><./9?< HyN><0?<10.rAJ@g 0.Y@=@><20.rAJ@g 0.Q@=@><309@d0.rA=@><409@e0.rA=@><5?.N=@><7N^,_X>NuNV?<NNN^NuDO_DRUCKEN?Hz><A/,HNVAD-HPNPN><BN><CN><D/9N><EN><FN^,_X>NuDO_SAVE_BI?Hz><S/,HNVFA-HPNPALBP1|09J@f4NHyP?<T09rAf4NHyP?<UHnHnN@d$><V><WN ><X/9N><Y?<N><ZHnLHn?<[09rAft><\><]Cp2HnLNV><_Cp2HnLNV><`p=@J nJn,><a><a><bCBQ><cHnLNV><dRnJ`><e><fBnJ n>Jn>><g><g><hC0.JA>@A2><iHnLNV><jRnJ`><kBgN><l><mHnLN6N^,_X>Nu*.PI3*.ARTDO_ERASE_B?Hz><x/,HNVLAx-HPNPALBP1|NHyP?<yHnHnN@d><z><{N@><|/9N><}NHz"?<N$Hn?<~Hz?<$N$"_Ep?$Q><AO"Op?"Q?<N3r><09rrAfr><><?<N><BgN><HnLHn?<?<N><NxJ@f><HnLNd><BgN><><><HnLN6N^,_X>Nu | wirklich lschen ? ][ Ja | Nein ][2][ Die Bilddatei | *.*DO_SHOW_KO?Hz></,HNVAR-HPNP/9N><HyN><Au&]"O2"p?NNV0Au ]"O2"r?NNV2A@d><><><><HnHnHnHnN(><09u@dj><0.@yuNyuFAu&]"O2"?NNn?< NNr?/NV><N°?/A0 `8><0.@yuFAu&]"O2"?NNnA0 ><09u @dj><0<nyuNyuDAu ]"O2"?NNn?< NNr?/NV><N°?/A0 `8><0<nyuDAu ]"O2"?NNnA0 ><pHy?N\?<YN\p X@?N\p @6?N\HyP?<pHy?N\?<YN\p Z@?N\p @6?N\Hz?<NXHyP?<0.rAf><><`4><><><CBO$O9p8Q?<N3r></9N><N^,_X>Nu[3][Nicht so hudelig, erst | mal was zeichnen !][ Grrrr ]): f( : EVENT_LOOP?Hz></,HNVA-HPNP><p@dd><><?<BgBgBgp/BgBgBgBgBg><BgBgBgBgBgHyHytHytHyt><HytHytHytN3v><09r Af><><09`><><N`j><><N8`Z><><N&`J><><N`:><><NJ`*><><?<N`><><N`><><N`><><BgN`><><Nv`><><N`><><N`><><N`><><N`><><N`><><></9?<0|Ae?<N&></9?<0|AeBgN&><p3><`&><><></9?<0|Ae?<N&></9?<0|AeBgN&><By><`><><><09F@3></9?<(0|Ae?9N&><09@d ?<N><`l><@ @'b\@0;NPPPPPPPPP@PP0PPP`PP ,PPPPPrPP></9?90|AeN|><><09rAf"><><N></9N><><`><N^,_X>NuA#hAl0B1|A01|><N*J@kp><><CO$O p QNF@eH><><CPO$O!p QBgN3r><N>< yhN><><BgHyNH><BgHy BgBgBgBgN3z><?9zBgBgBgBgNT><NX#u><?<HyN/9N><?<HyN/9N><?<HyN/9N><?<HyN/9N><?<HyN/9N><?<HyN/9N><?<HyN/9N><?<HyN/9N><?< HyN/9N><?< HyN/9N><?< HyN/9N><?< HyN><N><N>< NR>< N>< N><><HyN6N:[3][RSC-File defekt !][ Abbruch ]FUNKTION.RSCNu/,HNVNPAJ-Hp=@"n 0.r1JAV0.rdA]CBd0.R@=@`"n 0.S@@N^,_ _XN/,HNVfNPA6-H"nE4p$Q"np)R@rA"n p)=@Bn0.@eR0.J@W"n 0.r1p\@WÄC"n 0.r1p:@WÄCBd p=@` 0.S@=@`Bn0."n r)Al20.R@=@0.R@=@0."n 2.t1A`0.@0.R@rAHnN-@lHnN-@p?<ZHnHntHnlHnhN0.vJ@f Bn`p=@HnN>HnN6"nE2p"Q"n E2p"Qp.=@Bn0.@eR0.J@W0.rA0p\@WÄC0.rA0p:@WÄCBd p=@` 0.S@=@`p=@p.=@f0.nfn,0.R@=@"n 0.2.tA0Rn`"n 0.@0.N^,_ _PNNu/,HNVnNPAL-Hp. R@rA Hn N-@r?<nHnHnzHnrHnnN0.zJ@V=B0.N^,_ _ON/,HNVnNPAD-H=n=n ?<pHnHnzHnrHnnN0.zJ@g -nn`B .N^,_ _XN/,HNVNPA-H"n / Bg?.Nz"_"N^,_ _\N/,HNVNPA-H"n / Bg?.NF"_"N^,_ _\N/,HNVtNPA -H?<oHnHnHnxHntNN^,_NuNu/,HNVNPA-HBn"n0.-I"n0)n m"n$n0*R@3@"n0)n m"n$n0*R@3@"n0n m"n$n0R@2"n0.0)r AJ@f0.R@=@`f0.n m4"n0.R@$n0.p"Q0.S@=@`N^,_ _\N/,HNVNPA -H"n 0-I"n0)rAfpT@=@`"n0)R@=@/. ?.N"n 0.-I"nBi"nBi"np. 3@"n3|"np 3@"np2"np3@"np3@"nBi"nBi "nB /. ?<?.N/. ?.NJ/. ?.A O"Op?"QBgBgN&pT@=@"n 0.Bi"n 0.=Q0.rAg@"n 0.$n 0.0*$n 2.j3@=n`"n $n 0.0*$n 2.j3@D/. "n ?)?<?<BgBgBgBg?<?<N:=@/. ?.NJ"n 0.$n 0.0*$n 2.j3@=n0.N^,_ _ON/,HNVNPA-Hp=@0. U@S@=@"n$n0*=i0.rAo 0.S@=@"n0.=Q`/.?.?<BgBgp. ??<BgBgBgN:=@/.?.A O"Op?"QBgBgN&"n0.=iBn0.ng 0.R@=@"n0.=Q`"n0.3n/.?.NJ"n0.0)"n2.io$"n0.$n0.3j"n0.=i"n0.$n0.3j"n0.3n=n0.N^,_ _ON/,HNVNPA-Hp@n =@?.N*-@/.?=@/.?.CO$OpQN=@/.?.CO$OpQN=@/.?.ClO$OpQN=@/.?.C2O$OpQN=@-n .N^,_ _ON Desk Accessory 6 Desk Accessory 5 Desk Accessory 4 Desk Accessory 3 Desk Accessory 2 Desk Accessory 1 -------------------- Desk /,HNVNPA-H/. NN^,_ _XNNu/,HNVtNPA8-H=n0. rA=@-nx?<HnHnHnxHntNN^,_ _PN/,HNVtNPA2-H=n p=@-nx?< HnHnHnxHntNN^,_ _\N/,HNVtNPA0-H=n Bn-nx?< HnHnHnxHntNN^,_ _\N/,HNVNPA*-H/.?. A O"Op?"QBgBgN&N^,_ _ON/,HNVnNPAL-H"n $n p*R@r=n"n / N-@r?<#HnHnzHnrHnnN0.N^,_ _\NNu/,HNVxNPp=@-n |?<HnHnHn|HnxNN^,_ _XN/,HNVxNPBn-n |?<HnHnHn|HnxNN^,_ _XN/,HNVxNP=n Bn-n|?<!HnHnHn|HnxNN^,_ _\N/,HNVxNP=n p=@-n|?<!HnHnHn|HnxNN^,_ _\NNu/,HNVNPAj-H0.T@=@?.N*-@/.?=n<-n$?<HnHnHnHnN=n"n2"n2"n2"n 2"n 2"n20.N^,_ _O` |X` |kaJah o`< |` |$a. |2a8 oaa: o `/ |a _/ |a _"f/ |a _`V"nH .g |`Jk |` |aL/ .f^Xt AH aLQa/ |at&<'HǏf CgJfr `t20/ax$HG faf |aP _a`/2<$aR _tv"0 :e^H a2LYCQNu3/ ||a _?ga `2Nu<|H瀀09Ry |LNu~ZbjBus errorAddress error accessing Attempt to divide by zeroValue out of rangeInteger overflow[3][][ Abort ]Error in Called by PROCEDURE FUNCTION MAIN PROGRAMat line at PC *unknown*Nu/,HNVrNP?<MHnHn~HnvHnrN"n2"n2"n2"n 2=n~0.N^,_ _ON/,HNV0NP0. rAg p=@2` Hn0Hn0Hn0Hn0Nl=@pd=@2=n p=@ n n0.@rA1Rn`p=@?.2Bg?< BgHnHnHndHnLHn4BgN|=n0.N^,_ _TN/,HNVN2=@?.N(=n ?<fBg?<BgHnHn"n/ Hn"n/ BgN|?.N(N^,_ _O N/,HNV8N2=@:?. N(?. HnlHnS@r VR?/L,NuH,aS@r VT?/L,Nu#H _0 @g "_J@jp`0+"|+p2 Ag $_JAjr`2+$|+r@g\H@G,e$4SBkQ4@SBpQ0"|,` 4SBkQ4ASBrQ$|,L@J@f pCJ$I/9HNuHL _024SBgQ@4BAAc/LLNuHyNhRange error during set-operationHL _0246@SCBgQAn68DCCc 0AgRB`/LLNuHL _0@CEHS@rIVW.J?/LLNuHL _0@CEHS@rIVV.J?/LLNuHL _0@CEHS@2FA_VW.J?/LLNuHL _0@CEHS@2FAYVW.J?/LLNuHL _0@274BAAc7V`tO>/LLNuHL _0@"_24BAAc1V`t>/LLNuHL _02S@AC2YQ/LLNuHL _02S@AC2YQ/LLNuHL _02S@AC2FAYQ/LLNuB9d`PdByX _0g$_jp"_// HfN6LfJ@fP)J9df" f |` f|` f |` f|`4<G BQB) @ef *:f^&Jrt `e QGtWJBk4G 3 J9df g g`> g8 fp@`*S@rG   e gRAQJ9dg`tJ)f8a J9dg| _0< HyNR|#|3|Nu )bJ) g )g )g ) f J9dfgHBNu|/ BgHi ?<ANA>NAX"_Hi ?<ANA\L|#|3|N _"_$_* g g fH/ N6LH/ axLHHi Hj Bg?<VNA LC G 0<Q|%|5|N _"_/) g g f0)k @e??<>3|NAXNuNuqt ?Hz~/,HNVA]"O2"~BBgN&0@d(~CO$OpQ~~Nd`~~A]"O2"~BBgN0@dh~~Bn~ A]"O2"~!?</<N&0@db~"~#~#A]"O2"?</<NVA0 ~$0.~%S@=@A]"O2"~&?</<N20@d`d~'~'~'A]"O2"?</<N20@d:~(~)A]"O2"?<{/<NVA0 ~*0.~+R@=@`~,A]"O2"A0 ~-~.~.A]"O2"A0 ~/A]"O2"A]"O2"A]"O2"NnNN~0?</<NVA0 A]"O2"A]"O2"NHN:? _\NNegative argument of SqrtNux ?Hz~/,HNVA]"O2"~ ? .2.N^,_X> _\NOverflow in Expn ?Hz~S/,HNVBBgA0 ~TA]"O2"?</<N&0=@~UA]"O2"~VBBgN>0@d ~WC^O$OpQNd~X~Y0.@d&?</<A]"O2"NnA0 ~Z~ZA]"O2"? _\NAttempted Ln of negative number _4` _t6 Bo r aSB`2aNH?̈ _r ar a/L?̈Nu _r aN _4` _t"x0HgJJjDxvCzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCp0 2H@0RJAfJg<-RBlCSBr aQSCaQN _4v` _46"_JBjtJCkgCe4`BSCr aQSBk aQN _v` _60@d Ct`CtJCgkCe4`BSCr aQSBavQNFALSETRUE _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH x"oA/ NVL xNuNuputchar ?Hz~/,HNV V"h0.@~ V"h/ NV~N^,_X> _TNwrtreal ?Hz~/,HNVA]"O2"p?NN&0=@~~0.@d.~~A]"O2"N,A0 ~0.~S@=@~0.J@jBn~~ Bn~!A]"O2"A0 ~"A]"O2"p?NZ~#N20@d~$~%~&~&A]"O2"p?NZN20@d~'~(0.R@=@~)0.~*r&AoBA]"O2"p&?NZNn0.@?NZ~+NnA0 `,~+A]"O2"0.?NZ~,NnA0 ~-`N~.`~/~/~0A]"O2"~1p?NNV0@d~2~3~4~5~50.S@=@~60.~7rڰAlDA]"O2"p&?NZNV0.D@@?NZ~8NVA0 `.~8A]"O2"0.D@?NZ~9NVA0 A]"O2"p?NZ~:N20@dR~;~=~>0.J@W0.nR@r A^~?CBdA]"O2"p2.nRA?NZ?NNnNNA0 ~D~EA]"O2"p?NZ~FN20@d8~G~H0.R@=@~IA]"O2"p?NZ~JNnA0 ~L~Mp=@ n nt~N~N~OA]"O2"N~0=@~P0.2.A0A~QA]"O2"?.NNHp?NZNVA0 ~RRn`~T~U0.~VrAoL~W0.~XJ@k$~Y~Z0.nT@no~[Bn~\`~]~]~^0.T@no~_Bn~a~b0.~crAn~d~e~f0.~gJ@g~h~ipE@~j0.~kJ@j(~l~mp-@~np=@~o~p0.D@=@~q` ~qp=@~r0.~sr Ao.~t~u0.R@=@~v0.2.t HA0~wA~x0.R@=@~y0.2.t HHAA0~zA~{`~{Bn~|0.@ ~}nm$~~~0.2.TAAf ?< NNH><0.@d ?<- NN0><p.? NN><0.2.><TAAo|><><?<. NN><p=@><=n0.V@=@0.nm@><><><0.rA0? NN><0.><R@=@><Sn`><p=@=n0.nn&><0.rA0?>< NNRRn`><`><><><0.U@=@0.@ =@0.nm><?< NNSn`><0.@d ?<- NN><p.? NN><?<. NN><p=@ n n"><0.rA0? NNRn`><p=@=n0.nn&><0.rA0?>< NN\Rn`><><`><><><><0.><J@k\><><0.nV@=@=n0.nn><?< NNRn`><0.@d ?<- NN><p=@0.R@=@0.nnD><><0.r An0.rA0? NN`><?<0 NN|Rn`><?<. NNh><0.R@=@><p=@=n0.nnf><><><0.R@=@><0.><r An 0.rA0?>< NN`><?<0>< NN><Rn`><`@><><><0.V@=@=n0.nn><?< NNRn`><0.@d ?<- NN~><?<0 NNp><?<. NNb><p=@><p=@=n0.nm<><><><0.nn ?<0 NN><0.><R@=@Sn`><p=@0.nR@=@0.nnH><><0.r An0.rA0? NN`><?<0>< NNRn`><><N^,_X> _ONByX(_ _/ C( g  f4t4(H / /?(?<@NA LJkn gffNu4(SBraQNu(gN fH ??<NAXLNu f H ??<` f H ??<` f NuHyI` Hy"0< LNRREWRITE required prior to WRITE or PUTDisk or directory fullByX _$_"Wp )f)H/ NL4NH/ NLp)`ByX _"WJyڂf8J)f )f)H/ NL )g)J)fJgByڂ )g J)fBiNz`zByX _$_"WptvH/ Hyra029rXL- -fJf^p`4  fJg*`N0eH  bBԂi\(؄iV؄iRԄiNԁRCJ)f  g )f) 0e 9c~Jg&JgDJf 6Höf4N$NHyڧ0<` Hyڇ0<NRByX _$_0"Wt )gJ&JRJ)f4H/ HyraP29rXL )gJ)f RBBe`ưBe`N&|tH/ ?< NA\Hyڄ?< NA\LS@kQ3ڂN Bad digit in number encounteredOverflow during READ of numberByX(_ _/ C (g ( fxJ(f t4($IH / /?(?<?NA LJk,g*fJg  f"J` g  Wf NuJgJ(f P Nu!|Nu4(SBa@J(f8Jg. fJ(f"gr W1Agp f W1A1AQNu(gVJ(fD f&H`?<NAT f?< ?<NAXp LNu fH`?<NATLNuHy80<` Hy0< LNRReset required prior to Read or GetAttempt to read past end-of-fileNui ?Hz~/,HNVA]"O2"BBgN&0=@~A]"O2"N:A0 ~A]"O2"A]"O2"?<~/<"nNVN~0?</ _\No ?Hz~(/,HNVA]"O2"? _\Nrtn ?Hz~;/,HNVA]"O2"~?</<A]"O2"NnA0 ~?~@p=@~A`~B~BA]"O2"~C?</<N&0@d@~D~E?</<A]"O2"NnN,A0 ~F~Gp=@~H`Z~I~IA]"O2"~JBBgN&0@d0~K~Lp=@~M~NA]"O2"N,A0 ~O`~OBn~PA]"O2"?< w/NNA]"O2"NV? _\NHvp`:Hvp`.Hvp`"Hvp`Hvp` Hvp _/fJ/ gLJ/kJ`L/ fJkB`</jJk2`,gbJk&` Jk`"eb// ebr`r`rAV ?/LvNuHvv` Hvv _ `Hvv` Hvv _0HJ[fBBg`,j Dj4<` 4<ЀkSB`Jf].B/BJg 2/.?o /@?A /LvNuHvv` Hvv _ [2Jkp`&4<cH@j JgR@kJ@kJgD@?/LvNuHvv` Hvv _ [2Jkp`$4<cd JgRkJk~JgD//LvNuJ/ goNuNuHv _?///` Hv _0/2// Jv/ 8://N~/DD?DBoJgJgC|k?>BGHGv8ބdRC8ބdRC>HGvކdRC8ބdRCHGv48ބBޅB:>HG8ކkE߇SDkBg|d RdRDUJg( DbRD ME \/LvNuBBo `Hv _0/2// v/ 8://~/?DD?DBo 8JgJgG|HD8H@0zr)`рe efef<څ߇QgRCgڼd RGdSCJCkD|blo/EC \/LvNuoHv _p2/g/ f/W?o `ֲ@e:f$/&e&f // d*B6//J/ k`(&// S@Q`&// `R"/?/[4JfFӃddRdRR/eJd RdRd`/AG o Jk`z0H*kS/JkFft grkRBjIHA~`( dtHAI.kRBҁjBG` BBRBӁj/e2/AG o Jk\/LvNuHv _0 @&b(CC/)?/LvNuHy`HyLvNh Hz@CPt$> nk(:C@hԥ*5 c_1ɿ1.Ź^ k:v #-xŬX&x2n)h? SYQa@%oNˏ'?9x!7I|o|@Eŭ+E75vV 9@{pvP *** Floating point overflow *** *** Floating point division by zero *** ZNu# _ g^eZd 9NHy`HyNht`t _"_0gR@| e.G$S" ghjebb"*f&"`v&A%S"`l&J`ذ|gb*|f8"9g0$A#`""9g$A#`"9g $A#"`"EZ&R"$b HyNhJgr"QHd2S@k"QN _"_0" g^eZd gR@ @mz @ e@E"fB3@B$`\&A2+@ef "'I`F"3@B$`8$K`ư|f"#` |f"#` "#NHeap overruns stackPointer NILPointer not in heapH˨ _0"_e /L˨NuHyNh/B9/|NuH˨ _0 @f0"|˦˦p` "_J@jpEr4@ BbBS@kQ/L˨NuH˨ _4SBkt82$_rAdd0 @f0"|˦˦p` "_J@jp6ADb6CG0IS@k$eQ/L˨NuH˨ _4k2SAk0"_p6B@bE0)CS@kQ/L˨NuH˨ _2$_r0 @f0"|˦˦p` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/L˨NuH˨ _4kF2SAk>0 @f0"|˦˦p` "_J@jp6B@bESBkQ/L˨NuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"yZe HyNhN## .f -|`-| nNнf yNStack overruns heapH? _z gBjDRE"g8jDRE$6HBJBg8HAJAf,HBJBf$ւi EdD.` $HB8`B/L?Nu0NvDNH|` H| _z f0NjDRE"g`jDREdJgR(`DfxJg<`DxSDbb JgHA8`"tcRЀ`xeWJg(MdD.`B/LNu y f##Bh6Nu&_a"h $h43_2NH&_a"h 3_2?/ LNu&_a1_$1_"1_1_1_1_1_,1_*1_(1_&1| N&_aj1_2!_.1_$1_1_1_1_1_*1_(1_&Bh4N&_a41_2!_.1_$1_1_1_1_1_,1_*1_(1_&Bh4N&_a1_2!_.1_$1_1_1_1_1_("h3_$_0)gk"h (JS@"Q"Bh4N&_a1_h1_Z01_N1_L2 @b"y@$qBh$1|jBhr!jLT1jPXj$"jHA1qHBhJTA01hH1@P1jRRBhf1|B1|D1j>\1j@^1j:`([g1j6d1j8b`BhbBhd1|F1|@Bh6!|l1|@pNa"hBQ$hB5| Nua Nu&_a$h\BZ4"_p$Q"_p$Q N&_a$_ N&_a$_ _20/ ,_N&_aj1_>1_<1_:1_81_6h6N09XNu _3VNByXNu[3][][ Abort ]Copyright 1986, CCD and OSS, Inc. .n t*b R L, P2L L L.L*  P*  PL ",h NN\F6pb&6 N ,RlN>$P @ndNNАpDZ V V V VF & &&**ZZ>>NdBn\,*4P*4lZj  <  >bD  d:  <  < 6*$ &@B""@<: BF4N400:6R BVԆ0zz@:4N40<<8\@ N4* @RV(Z<@ N4* @TR(X  $ 2 t&.       *@.       *        D      " "     2 p *  *         0  $&&" " ,&   " P ( 8B  D(06& , x    Vl <     "4@D   .    v 8  "  "    J @        $*,    >d&$*.444"$Z(d ($&$:42,0&$*,0.4\.0DX<"$>,$8(l*lrh\,&D0T>0,8&&,F.:FFFF*@4n(>2020nD(."F<".&$$6   $L    8@F D"2 T &( 0&  >             $"  ,*< * * , , 0 , " HB@6 * 0*4,(t&H6*.*4068,*(20 &*(((*((*((&&&2J @*\&<&2B(H B".44 V D   ( 0"L2 x2(6&$&&l`(:(4(2(,.\ z  f H F  J  <   , FR ( *@ B @ B V  & txt@@$px.| I.  Diskette Funktion Optionen ber FUNKTION ...-------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Diskette: Zeichnung speichern Zeichnung lschen Laufwerk setzen------------------------ Bildformat : DEGAS MonoSTar------------------------ Programm beenden Ausgabe : Funktion zeichnen Koordinaten zeigen----------------------- Eingabe : Funktion eingeben Konstanten Zeichengrenzen Zeichnung: Darstellung Autom. neuzeichnen----------------------- Drucken: Zeichnung drucken Druckereinstellung----------------------- Informationen: ber uns ber's ProgrammOKTHOMAS PROFFENPublic Domain SoftwareErstellt mit Pascal Plus v. CCD .FunktionszeichnerVERSION 1.0Autor :TULPENWEG 45308 RHEINBACHaus Bonn und RheinbachBildpfad setzen :OKA:\FUNKTION\*.PIC___________________________________PPPPPPPPPPPPPPPPPspeichernFunktion eingeben :OK__________________________________________________________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXy= ^x_______XXXXundy_____XXXXLaufvariablen :FehlerpositionZeichenparameter :OK1000000000000x-min : _____________XXXXXXXXXXXXX1000000000000x-max : _____________XXXXXXXXXXXXX1000000000000y-min : _____________XXXXXXXXXXXXX1000000000000y-max : _____________XXXXXXXXXXXXX10000000000Skala x : ___________XXXXXXXXXXX10000000000Skala y : ___________XXXXXXXXXXXKonstanten :OK______________________________XXXXXXXXXXXXXXXabcdefghijkDarstellungsparameter :DARSTELLUNGx-Achsey-AchseLog. Achsen :Punkte verbindenOKKOORDINATENKREUZAuto-Y-AchseZEICHENGRENZENOKQualitt :Auflsung :9801260TestTollDruckereinstellung :vorhandene Funktionen :OKy = sin (x)y = cos (x)y = sinh (x)y = tan (x)y = tanh (x)y = ln (x)y = sqrt (x)y = cosh (x)y = log (x)y = arcsin (x)y = arccos (x)y = arctan (x)y = arsinh (x)y = arcosh (x)y = artanh (x)y = exp (x)y = abs (x)y = frac (x)y = int (x)+-*/^!(x)Es knnen innerhalb der Funktion Konstantenverwandt werden. Diese werden vom Programm erkannt und einmal abgefragt !Berechnung der Funktionxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx123Schrittweite :Ausgabe der Singularitten :neinBildschirmDruckerABBRUCH MIT [SPACE]Koordinaten :ABBRUCH MIT MAUSKLICK !ber die WURMSOFTWAREDie WURMSOFTWARE, das sind drei Physik-Studenten derUniversitt Bonn, denen der ATARI gefllt, und diesich vorgenommen haben, PD-Software zu schreiben.Wir haben stets ein offenes Ohr fr Anregungen undKritik und nehmen auch gerne (kleinere) individuellenderungen an unseren Programmen vor. Da uns das aberauch Zeit kostet, finden wir es fair, wenn Sie diese Arbeit wenigstens mit einem Freiumschlag entlohnten.Falls Ihnen das Programm gefllt, und Sie zuviel GELDhaben sollten, dann ein kleiner Tip : Spendet dochan AMNESTY o...WEITERWURMSOFTWARE-Info FortsetzungWenn Sie Rckfragen, Anregungen, etc. haben, wenden Siesich an eine der drei folgenden Adressen :MARTIN SCHULTZAMALIENHHE 65300 BONN 2THOMAS PROFFENTULPENWEG 45308 RHEINBACHMIKE SCHAKADENAUERALLEE 1325300 BONN 1Bitte geben Sie bei Rckfragen eine detaillierte Be-schreibung Ihres Problems (und legen Sie einen Rck-umschlag bei).VIELEN DANK, Ihre WURMSOFTWARE.~@  $$ee~< @~~( H@ ~@ `@@D@<@`pD@B@DaHRpN BB |C@"#  " B A 8"Ȟssπ"-"(*ʜ*66"zhr"o8AAAAA?Īq`AAAA88` @ B88`p ;#$h$J\]^jk t $'(),-.pBB9:B;@ENSX|*8N\h~     !"./ 089:BCRcdhyz{   1    $ 8 9 : H I J b c d z { | 5 3  2  O P3 Q 5 6 6 - .5 / e f6 g 3  !  8  > ?+ @ O P Q _ ` a m n  o ~          5:;5<KLMmn PP" $ )  4  ? %P  J ^ s  )<Udmy %$ !"#$#&0 '5(B)Q*g+,-./0 %   I ? x% (! *  l %  % @@P; *  !   $ %   J <'X@ tG G     J  ] m   8T    p(!      2 ' . 4P D l e     N0# \ 0$ j0$    &   #     0  L 3 h#   * 6  C  N  [  h  t     $ ) ) ) ) )  )  + :+ f 9  !20  2@ @$              )   5,  H < d 4663 5  5 ( 5 D 4 `5 |5 %  <  $77  $ @  \   x     '   '  '   7  7< 7'X  t !,!"#$\%')+L+,{-----------------------------------------------------------------------------} { In diesem Modul ist der Parser zur numerischen Auswertung eines Strings } { enthalten. Die Idee fr den rekursiven Aufbau stammt aus dem ST-Magazin } { 02/87 Seite 63ff. } { } { (c) WURMSOFTWARE im Mai 1987 } {-----------------------------------------------------------------------------} {==================== Hilfsproceduren =================================} {---- Do_Init_Error : Setzt Fehlertexte --------------------------------------} PROCEDURE Do_Init_Error ; BEGIN error_str[1] := ' Potenz einer negativen Zahl' ; error_str[2] := ' TAN nicht definiert fr n*pi/2' ; error_str[3] := ' Argument der ARC-Funktionen nicht aus (-1,1)' ; error_str[4] := ' AR- Funktionen mit verbotenem Argument' ; error_str[5] := ' LOG aus einer neagtiven Zahl' ; error_str[6] := ' Wurzel aus einer negativen Zahl' ; error_str[7] := ' LN aus einer negativen Zahl' ; error_str[8] := ' Division durch null' ; error_str[9] := ' Overflow bei EXP' ; error_str[10] := ' Overflow bei Multiplikation' ; END ; {==================== zustzliche Funktionen =================================} FUNCTION NPwrOfTen (zahl : integer) : real ; VAR zwischen : real ; BEGIN zwischen := PwrOfTen (ABS(zahl)) ; IF zahl < 0 THEN zwischen := 1 / zwischen ; NPwrOfTen := zwischen ; END ; FUNCTION Potenz (basis, exponent : real) : real ; BEGIN Potenz := EXP (exponent * LN (basis)) ; END ; FUNCTION Tan (arg : real) : real ; BEGIN tan := sin(arg) / cos (arg) ; END ; FUNCTION arcsin (arg : real) : real ; BEGIN arcsin := arctan (arg/(sqrt(1-arg*arg))) ; END ; FUNCTION arccos (arg : real) : real ; BEGIN arccos := 1 / (arctan (arg/(sqrt(1-arg*arg)))) ; END ; FUNCTION sinh (arg : real) : real ; BEGIN sinh := 0.5 * (exp(arg)-exp(-arg)) ; END ; FUNCTION cosh (arg : real) : real ; BEGIN cosh := 0.5 * (exp(arg)+exp(-arg)) ; END ; FUNCTION tanh (arg : real) : real ; BEGIN tanh := sinh(arg) / cosh(arg) ; END ; FUNCTION arsinh (arg : real) : real ; BEGIN arsinh := ln (arg + sqrt (arg*arg + 1)) ; END ; FUNCTION arcosh (arg : real) : real ; BEGIN arcosh := ln (arg - sqrt (arg*arg - 1)) ; END ; FUNCTION artanh (arg : real) : real ; BEGIN artanh := 0.5 * ln ((1+arg)/(1-arg)) ; END ; FUNCTION Fak (arg : real) : real ; VAR i : integer ; help : real ; BEGIN help := 1 ; FOR i := 1 TO TRUNC (arg) DO help := help * i ; fak := help ; END ; FUNCTION log (arg : real) : real ; BEGIN log := ln(arg) / ln(10) ; END ; {========================== FORMELANALYSE ==================================} {------- Fkt_Analyse : Untersucht Funktion auf Konstantennamen ---------------} FUNCTION Fkt_Analyse (VAR fkt : str255 ; VAR konst : konst_type ; var_x, var_y : str255) : boolean ; VAR dummy_str : str255 ; pos, index, dummy, lauf : integer ; zei : char ; erfolg, richtig : boolean ; FUNCTION Next_zei (VAR position : integer) : char ; VAR help : char ; BEGIN REPEAT position := position + 1 ; IF position <= LENGTH (fkt) THEN help := fkt[position] ELSE help := '' ; UNTIL help <> ' ' ; Next_zei := help ; END ; PROCEDURE Zeichen_Wandel (VAR zeile : str255) ; VAR lauf : integer ; BEGIN FOR lauf := 1 TO LENGTH (zeile) DO BEGIN IF zeile[lauf] IN ['A'..'Z'] THEN zeile[lauf] := CHR (ORD (zeile[lauf]) + (ORD('a')-ORD('A'))) ; END ; END ; {** Beginn der Procedure **} BEGIN richtig := true ; pos := 0 ; index := 1 ; WHILE pos < LENGTH (fkt) DO BEGIN zei := Next_zei (pos) ; IF zei IN ['a'..'z','A'..'Z'] THEN BEGIN dummy := pos ; REPEAT zei := Next_zei (pos) ; UNTIL NOT (zei IN ['a'..'z','A'..'Z']) ; dummy_str := COPY (fkt, dummy, pos-dummy) ; Zeichen_Wandel (dummy_str) ; IF (dummy_str <> 'sin' ) AND (dummy_str <> 'cos' ) AND (dummy_str <> 'tan' ) AND (dummy_str <> 'arcsin') AND (dummy_str <> 'arccos') AND (dummy_str <> 'arctan') AND (dummy_str <> 'sinh' ) AND (dummy_str <> 'cosh' ) AND (dummy_str <> 'tanh' ) AND (dummy_str <> 'arsinh') AND (dummy_str <> 'arcosh') AND (dummy_str <> 'artanh') AND (dummy_str <> 'ln' ) AND (dummy_str <> 'log' ) AND (dummy_str <> 'exp' ) AND (dummy_str <> 'sqrt' ) AND (dummy_str <> 'frac' ) AND (dummy_str <> 'int' ) AND (dummy_str <> 'e' ) AND (dummy_str <> 'E' ) AND (dummy_str <> 'abs' ) AND (dummy_str <> var_x) AND (dummy_str <> var_y) THEN BEGIN erfolg := false ; FOR lauf := 1 TO (index-1) DO IF konst[lauf].name = dummy_str THEN erfolg := true ; IF NOT erfolg THEN BEGIN IF index > 20 THEN BEGIN button := Do_Alert ('[3][Nicht mehr als 20 Konstanten | benutzen ][ verstanden ]', 1); richtig := false ; END ELSE BEGIN konst[index].name := dummy_str ; index := index + 1 ; END ; END ; END ; END ; END ; konst[index].name := 'ende' ; END ; {------- Zahl_Auswerten : Wandelt Str255 in Realzahl um ----------------------} FUNCTION Zahl_Auswerten (zahl_str : str255 ; VAR ergebnis : real) : boolean ; VAR neg_flag, pot_neg_flag, exp_flag : boolean ; lauf, zeiger, potenz : integer ; BEGIN neg_flag := false ; pot_neg_flag := false ; exp_flag := false ; lauf := 1 ; ergebnis := 0 ; potenz := 0 ; zeiger := 1 ; IF zahl_str[zeiger] = '-' THEN BEGIN neg_flag := true ; zeiger := zeiger + 1 ; END ; WHILE (zeiger <= LENGTH(zahl_str)) AND NOT (zahl_str[zeiger] IN ['.','+','-','E','e']) DO BEGIN ergebnis := ergebnis * 10 + ORD (zahl_str[zeiger]) - 48 ; zeiger := zeiger + 1 ; END ; IF zahl_str[zeiger] = '.' THEN BEGIN zeiger := zeiger + 1 ; WHILE (zeiger <= LENGTH(zahl_str)) AND NOT (zahl_str[zeiger] IN ['+','-','E','e']) DO BEGIN ergebnis := ergebnis + (ORD (zahl_str[zeiger]) - 48)*(1/PwrOfTen(lauf)) ; zeiger := zeiger + 1 ; lauf := lauf + 1 ; END ; END ; IF (zahl_str[zeiger] = 'E') OR (zahl_str[zeiger] = 'e') THEN zeiger := zeiger + 1 ; IF zahl_str[zeiger] = '+' THEN zeiger := zeiger + 1 ; IF zahl_str[zeiger] = '-' THEN BEGIN pot_neg_flag := true ; zeiger := zeiger + 1 ; END ; WHILE zeiger <= LENGTH(zahl_str) DO BEGIN exp_flag := true ; potenz := potenz * 10 + ORD (zahl_str[zeiger]) - 48 ; zeiger := zeiger + 1 ; END ; Zahl_Auswerten := true ; IF exp_flag THEN BEGIN IF ABS (potenz) < 18 THEN BEGIN IF pot_neg_flag THEN ergebnis := ergebnis * (1 / PwrOfTen (potenz)) ELSE ergebnis := ergebnis * PwrOfTen (potenz) ; END ELSE Zahl_Auswerten := false ; END ; IF neg_flag THEN ergebnis := -1 * ergebnis ; END ; {---- Do_Berechnen : Berechnet den Wert der Funktion -------------------------} FUNCTION Do_Berechnen ( fkt_str : str255 ; konst : konst_type ; x, y : real ; var_x, var_y : str255 ; VAR wert : real ) : integer ; CONST zei_end = '#' ; TYPE f_array_type = ARRAY [1..20] OF str255 ; VAR zei : char ; f_array : f_array_type ; pos, f_max, fehler : integer ; FUNCTION Ausdruck : real ; FORWARD ; FUNCTION Faktor : real ; FORWARD ; PROCEDURE Init_Funktionen ; BEGIN f_max := 20 ; f_array [ 1] := 'arsinh' ; f_array [ 2] := 'arcosh' ; f_array [ 3] := 'artanh' ; f_array [ 4] := 'arcsin' ; f_array [ 5] := 'arccos' ; f_array [ 6] := 'arctan' ; f_array [ 7] := 'sinh' ; f_array [ 8] := 'cosh' ; f_array [ 9] := 'tanh' ; f_array [10] := 'sqrt' ; f_array [11] := 'frac' ; f_array [12] := 'int' ; f_array [13] := 'abs' ; f_array [14] := 'sin' ; f_array [15] := 'cos' ; f_array [16] := 'tan' ; f_array [17] := 'log' ; f_array [18] := 'exp' ; f_array [19] := 'ln' ; f_array [20] := '!' ; END ; PROCEDURE Zeichen_Wandel (VAR zeile : str255) ; VAR lauf : integer ; BEGIN FOR lauf := 1 TO LENGTH (zeile) DO BEGIN IF zeile[lauf] IN ['A'..'Z'] THEN zeile[lauf] := CHR (ORD (zeile[lauf]) + (ORD('a')-ORD('A'))) ; END ; END ; FUNCTION Next_zei (VAR position : integer) : char ; VAR help : char ; BEGIN REPEAT position := position + 1 ; IF position <= LENGTH (fkt_str) THEN help := fkt_str[position] ELSE help := zei_end ; UNTIL help <> ' ' ; Next_zei := help ; END ; PROCEDURE Zahl_Bastel (VAR wert : real) ; VAR anfang : integer ; zahl_str : str255 ; richtig : boolean ; BEGIN anfang := pos ; REPEAT zei := Next_zei (pos) ; UNTIL NOT (zei IN ['.','0'..'9']) ; IF zei IN ['E','e'] THEN BEGIN IF zei IN ['+','-'] THEN zei := Next_Zei (pos) ; REPEAT zei := Next_zei (pos) ; UNTIL NOT (zei IN ['0'..'9']) ; END ; zahl_str := COPY (fkt_str, anfang, pos-anfang) ; richtig := Zahl_Auswerten (zahl_str, wert) ; IF NOT richtig THEN fehler := pos ; END ; FUNCTION Konstanten : real ; VAR index, lang : integer ; erfolg : boolean ; test_str : str255 ; BEGIN index := 1 ; erfolg := false ; WHILE (konst[index].name <> 'ende') AND (erfolg = false) DO BEGIN lang := LENGTH (konst[index].name) ; IF (pos+lang-1) <= LENGTH (fkt_str) THEN test_str := COPY (fkt_str, pos, lang) ELSE test_str := 'nichts !!' ; IF test_str = konst[index].name THEN BEGIN Konstanten := konst[index].wert ; erfolg := true ; pos := pos + lang - 1 ; zei := Next_zei(pos) ; END ; index := index + 1 ; END ; IF NOT erfolg THEN BEGIN lang := LENGTH (var_x) ; IF (pos+lang-1) <= LENGTH (fkt_str) THEN test_str := COPY (fkt_str, pos, lang) ELSE test_str := 'nichts !!' ; IF test_str = var_x THEN BEGIN Konstanten := x ; erfolg := true ; pos := pos + lang - 1 ; zei := Next_zei(pos) ; END ; END ; IF NOT erfolg THEN BEGIN lang := LENGTH (var_y) ; IF (pos+lang-1) <= LENGTH (fkt_str) THEN test_str := COPY (fkt_str, pos, lang) ELSE test_str := 'nichts !!' ; IF test_str = var_y THEN BEGIN Konstanten := y ; erfolg := true ; pos := pos + lang - 1 ; zei := Next_zei(pos) ; END ; END ; IF NOT erfolg THEN fehler := pos ; END ; FUNCTION Stand_Fkt : real ; VAR test_str : str255 ; zw_y : real ; index, lang : integer ; erfolg : boolean ; BEGIN erfolg := false ; FOR index := 1 TO f_max DO BEGIN IF erfolg = false THEN BEGIN lang := LENGTH (f_array[index]) ; IF (pos+lang) <= LENGTH (fkt_str) THEN test_str := COPY (fkt_str, pos, lang) ELSE test_str := 'hier ist nichts !!' ; Zeichen_Wandel (test_str) ; IF test_str = f_array[index] THEN BEGIN pos := pos + lang - 1; zei := Next_zei(pos) ; zw_y := Faktor ; CASE index OF 1 : Stand_Fkt := ARSINH (zw_y) ; 2 : IF ABS(zw_y) >= 1 THEN Stand_Fkt := ARCOSH (zw_y) ELSE fehler := -4 ; 3 : IF ABS(zw_y) < 1 THEN Stand_Fkt := ARTANH (zw_y) ELSE fehler := -4 ; 4 : IF ABS(zw_y) < 1 THEN Stand_Fkt := ARCSIN (zw_y) ELSE fehler := -3 ; 5 : IF ABS(zw_y) < 1 THEN Stand_Fkt := ARCCOS (zw_y) ELSE fehler := -3 ; 6 : Stand_Fkt := ARCTAN (zw_y) ; 7 : Stand_Fkt := SINH (zw_y) ; 8 : Stand_Fkt := COSH (zw_y) ; 9 : Stand_Fkt := TANH (zw_y) ; 10 : IF zw_y >= 0 THEN Stand_Fkt := SQRT (zw_y) ELSE fehler := -6 ; 11 : Stand_Fkt := zw_y - TRUNC (zw_y) ; 12 : Stand_Fkt := TRUNC (zw_y) ; 13 : Stand_Fkt := ABS (zw_y) ; 14 : Stand_Fkt := SIN (zw_y) ; 15 : Stand_Fkt := COS (zw_y) ; 16 : IF COS(zw_y) <> 0 THEN Stand_Fkt := TAN (zw_y) ELSE fehler := -2 ; 17 : IF zw_y > 0 THEN Stand_Fkt := LOG (zw_y) ELSE fehler := -5 ; 18 : IF zw_y < 41 THEN Stand_Fkt := EXP (zw_y) ELSE fehler := -9 ; 19 : IF zw_y > 0 THEN Stand_Fkt := LN (zw_y) ELSE fehler := -7 ; 20 : IF zw_y <= 20 THEN Stand_Fkt := FAK (zw_y) ELSE fehler := -10 ; END ; erfolg := true ; END ; END ; END ; IF NOT erfolg THEN Stand_Fkt := Konstanten ; END ; FUNCTION Faktor ; VAR zw_y : real ; BEGIN IF zei IN ['.','0'..'9'] THEN Zahl_Bastel (zw_y) ; IF zei = '(' THEN BEGIN zei := Next_zei (pos) ; zw_y := Ausdruck ; IF zei = ')' THEN zei := Next_zei (pos) ELSE fehler := pos ; END ; IF zei IN ['!','a'..'z','A'..'Z'] THEN zw_y := Stand_Fkt ; Faktor := zw_y ; END ; FUNCTION Vorzeichen_Faktor : real ; BEGIN IF zei = '-' THEN BEGIN zei := Next_zei (pos) ; Vorzeichen_Faktor := -1 * Faktor ; END ELSE Vorzeichen_Faktor := Faktor ; END ; FUNCTION Term : real ; VAR zw_y : real ; BEGIN zw_y := Vorzeichen_Faktor ; WHILE zei = '^' DO BEGIN zei := Next_zei (pos) ; IF zw_y > 0 THEN zw_y := Potenz (zw_y, Vorzeichen_Faktor) ELSE fehler := -1 ; END ; Term := zw_y ; END ; FUNCTION Einfach_Ausdruck : real ; VAR operator : char ; zw_y, teiler, multi : real ; BEGIN zw_y := Term ; WHILE (zei = '*') OR (zei = '/') DO BEGIN operator := zei ; zei := Next_zei (pos) ; IF operator = '*' THEN BEGIN multi := Term ; IF multi <> 0 THEN BEGIN IF (1e18/ABS(multi)) > ABS(zw_y) THEN zw_y := zw_y * multi ELSE fehler := -10 ; END ELSE zw_y := 0 ; { bei Multiplikation mit 0 } END ; IF operator = '/' THEN BEGIN teiler := Term ; IF teiler <> 0 THEN zw_y := zw_y / teiler ELSE fehler := -8 ; END ; END ; Einfach_Ausdruck := zw_y ; END ; FUNCTION Ausdruck ; VAR operator : char ; zw_y : real ; BEGIN zw_y := Einfach_Ausdruck ; WHILE (zei = '+') OR (zei = '-') DO BEGIN operator := zei ; zei := Next_zei(pos) ; IF operator = '+' THEN zw_y := zw_y + Einfach_Ausdruck ; IF operator = '-' THEN zw_y := zw_y - Einfach_Ausdruck ; END ; Ausdruck := zw_y ; END ; {** Procedure zu Do_Berechnen **} BEGIN pos := 0 ; fehler := 0 ; Init_Funktionen ; zei := Next_Zei (pos) ; wert := Ausdruck ; IF fehler < 0 THEN wert := 0 ; IF zei <> zei_end THEN fehler := pos ; Do_Berechnen := fehler ; END ; {=============================== Ende =======================================} {-----------------------------------------------------------------------------} { Dieses Modul enthlt alle Routinen, die zur Darstellung des Achsenkreuzes } { und zum Zeichnen der Funktion ntig sind. } { } { (c) WURMSOFTWARE im Mai 1987 } {-----------------------------------------------------------------------------} {======================= Do_x_Koordinaten =================================} { Berechnung der Abbildungsfaktoren aus den eingegebenen Parametern } FUNCTION Do_x_Koordinaten (VAR draw : draw_type ; VAR fkt_wert : fkt_wert_type) : integer ; VAR flag : boolean ; i, fehler, zusatz : integer ; BEGIN fehler := 0 ; {-- Holen der aktuellen Werte --} flag := Zahl_Einlesen (werte_zei, zxmin, draw.x_min) ; flag := Zahl_Einlesen (werte_zei, zxmax, draw.x_max) ; {-- Auswerten der x_Werte --} IF draw.x_min >= draw.x_max THEN fehler := 1 ELSE BEGIN {-- also bei gltigen x-Grenzen !! --} IF draw.x_log THEN {-- bei logarithmischer x-Einteilung --} BEGIN IF draw.x_min <= 0 THEN fehler := 2 {-- LOG-Einteilung > 0 --} ELSE BEGIN IF draw.x_min < 1 THEN zusatz := -1 ELSE zusatz := 1 ; draw.max_pot_x := TRUNC (LOG (draw.x_max) + 0.1) ; draw.min_pot_x := TRUNC (LOG (draw.x_min) + zusatz) ; draw.x_max := NPwrOfTen (draw.max_pot_x + 1) ; draw.x_min := NPwrOfTen (draw.min_pot_x) ; draw.dx := 600 / ABS (LOG (draw.x_max) - LOG (draw.x_min)) ; draw.null_x := TRUNC (ABS (draw.min_pot_x * draw.dx)) ; END ; END ELSE BEGIN IF draw.x_min > 0 THEN draw.x_min := 0 ; draw.dx := 600 / ABS (draw.x_max - draw.x_min) ; draw.null_x := TRUNC (ABS (draw.x_min * draw.dx)) ; END ; END ; Do_x_Koordinaten := fehler ; END ; {======================= Do_y_Koordinaten =================================} { Berechnung der Abbildungsfaktoren aus den eingegebenen Parametern } FUNCTION Do_y_Koordinaten (VAR draw : draw_type ; VAR fkt_wert : fkt_wert_type) : integer ; VAR flag : boolean ; i, fehler, zusatz : integer ; BEGIN fehler := 0 ; {-- Holen der aktuellen Werte --} flag := Zahl_Einlesen (werte_zei, zymin, draw.y_min) ; flag := Zahl_Einlesen (werte_zei, zymax, draw.y_max) ; {-- Auswerten der y_Werte --} IF draw.y_min >= draw.y_max THEN fehler := 3 ELSE BEGIN {-- also bei gltigen y-Grenzen !! --} IF draw.auto THEN {-- automatische y-Skalierung --} BEGIN IF draw.y_log THEN BEGIN IF fkt_wert[1] <= 0 THEN draw.y_min := 1 ELSE draw.y_min := fkt_wert[1] ; END ELSE draw.y_min := fkt_wert[1] ; draw.y_max := fkt_wert[1] ; FOR i := 2 TO 600 DO BEGIN IF NOT draw.y_log THEN IF fkt_wert[i] < draw.y_min THEN draw.y_min := fkt_wert[i] ; IF draw.y_log THEN IF (fkt_wert[i] < draw.y_min) AND (fkt_wert[i] > 0) THEN draw.y_min := fkt_wert[i] ; IF fkt_wert[i] > draw.y_max THEN draw.y_max := fkt_wert[i] ; END ; draw.y_min := draw.y_min + 0.1 * draw.y_min ; draw.y_max := draw.y_max + 0.1 * draw.y_max ; END ; IF draw.y_log THEN {-- bei logarithmischer y-Einteilung --} BEGIN IF draw.y_min <= 0 THEN fehler := 4 {-- LOG-Einteilung > 0 --} ELSE BEGIN IF draw.y_min < 1 THEN zusatz := -1 ELSE zusatz := 1 ; draw.max_pot_y := TRUNC (LOG (draw.y_max) + 0.1) ; draw.min_pot_y := TRUNC (LOG (draw.y_min) + zusatz) ; draw.y_max := NPwrOfTen (draw.max_pot_y + 1) ; draw.y_min := NPwrOfTen (draw.min_pot_y) ; draw.dy := 400 / ABS (LOG (draw.y_max) - LOG (draw.y_min)) ; draw.null_y := TRUNC (ABS (draw.min_pot_y * draw.dy)) ; END ; END ELSE BEGIN IF draw.y_min > 0 THEN draw.y_min := 0 ; draw.dy := 400 / ABS (draw.y_max - draw.y_min) ; draw.null_y := TRUNC (ABS (draw.y_min * draw.dy)) ; END ; END ; Do_y_Koordinaten := fehler ; END ; {====================== Do_Kreuz_Zeichnen ==================================} { Zeichnet das Koordinatenkreuz gem. Angaben des Users } FUNCTION Do_Kreuz_Zeichnen (VAR draw : draw_type) : integer ; VAR fehler : integer ; flag : boolean ; {----- Achse_lin_x : Zeichnet x-Achse (linear) ------------------------------} PROCEDURE Achse_lin_x ; VAR plot_x : integer ; strich : real ; BEGIN IF draw.achsen_art <> ohne THEN BEGIN IF (draw.x_max - draw.x_min) / draw.x_skala > 300 THEN fehler := 11 ELSE BEGIN strich := TRUNC (draw.x_min / draw.x_skala) * draw.x_skala ; WHILE (strich <= draw.x_max) OR (plot_x + strich * draw.dx < 600) DO BEGIN plot_x := draw.null_x + TRUNC (strich * draw.dx) ; IF draw.achsen_art = netz THEN line (plot_x+20, 0, plot_x+20, 399, 1, 0, 0, 0, $8888, 1) ; line (plot_x+20, 399-draw.null_y-1, plot_x+20, 399-draw.null_y-4, 1, 0, 0, 0, -1,0) ; strich := strich + draw.x_skala ; END ; END ; END ; line (20, 399 - draw.null_y, 620, 399 - draw.null_y, 1, 0, 0, 0, -1, 0) ; END ; {----- Achse_lin_y : Zeichnet y-Achse (linear) ------------------------------} PROCEDURE Achse_lin_y ; VAR plot_y : integer ; strich : real ; BEGIN IF draw.achsen_art <> ohne THEN BEGIN IF (draw.y_max - draw.y_min) / draw.y_skala > 200 THEN fehler := 12 ELSE BEGIN strich := TRUNC (draw.y_min / draw.y_skala) * draw.y_skala ; WHILE (strich <= draw.y_max) OR (plot_y + strich * draw.dy < 400) DO BEGIN plot_y := draw.null_y + TRUNC (strich * draw.dy) ; IF draw.achsen_art = netz THEN line (20, 399-plot_y, 620, 399-plot_y, 1, 0, 0, 0, $8888, 1) ; line (draw.null_x+21, 399-plot_y, draw.null_x+24, 399-plot_y, 1, 0, 0, 0, -1, 0) ; strich := strich + draw.y_skala ; END ; END ; END ; line (draw.null_x+20, 0, draw.null_x+20, 399, 1, 0, 0, 0, -1, 0) ; END ; {----- Achse_log_x : Zeichnet x-Achse (logarith.) ---------------------------} PROCEDURE Achse_log_x ; VAR i, j, plot_x : integer ; strich : real ; BEGIN FOR j := draw.min_pot_x TO draw.max_pot_x DO BEGIN FOR i := 1 TO 9 DO BEGIN strich := LOG (i * NPwrOfTen(j)) ; plot_x := draw.null_x + TRUNC (strich * draw.dx) ; IF draw.achsen_art = netz THEN line (plot_x+20, 0, plot_x+20, 399, 1, 0, 0, 0, $8888, 1) ; line (plot_x+20, 399-draw.null_y-1, plot_x+20, 399-draw.null_y-4, 1, 0, 0, 0, -1,0) ; END ; END ; line (20, 399 - draw.null_y, 620, 399 - draw.null_y, 1, 0, 0, 0, -1, 0) ; END ; {----- Achse_log_y : Zeichnet y-Achse (logarith.) ---------------------------} PROCEDURE Achse_log_y ; VAR i, j, plot_y : integer ; strich : real ; BEGIN FOR j := draw.min_pot_y TO draw.max_pot_y DO BEGIN FOR i := 1 TO 9 DO BEGIN strich := LOG (i * NPwrOfTen(j)) ; plot_y := draw.null_y + TRUNC (strich * draw.dy) ; IF draw.achsen_art = netz THEN line (20, 399 - plot_y, 620, 399 - plot_y, 1, 0, 0, 0, $8888, 1) ; line (draw.null_x+21, 399-plot_y, draw.null_x+24, 399-plot_y, 1, 0, 0, 0, -1, 0) ; END ; END ; line (draw.null_x+20, 0, draw.null_x+20, 399, 1, 0, 0, 0, -1, 0) ; END ; {---------------------------- Procedure selbst -------------------------------} BEGIN fehler := 0 ; flag := Zahl_Einlesen (werte_zei, wskalax, draw.x_skala) ; flag := Zahl_Einlesen (werte_zei, wskalay, draw.y_skala) ; IF (draw.x_skala = 0) OR (draw.y_skala = 0) THEN fehler := 13 ELSE BEGIN IF draw.x_log THEN Achse_log_x ELSE Achse_lin_x ; IF draw.y_log THEN Achse_log_y ELSE Achse_lin_y ; END ; IF fehler <> 0 THEN button := Do_Alert (warn[fehler], 1) ; Do_Kreuz_Zeichnen := 0 ; END ; {==================== Do_Draw_Funktion =======================================} { Zeichnet die berechneten Funktionswerte in den Graphen ein } PROCEDURE Do_Draw_Funktion (VAR draw : draw_type ; VAR fkt_wert : fkt_wert_type ; error_feld : error_feld_type ; step : integer ) ; VAR i, plot_x, plot_y, help_x, help_y, fehler : integer ; BEGIN fehler := Do_Kreuz_Zeichnen (draw) ; IF fehler <> 0 THEN button := Do_Alert (warn[fehler], 1) ELSE BEGIN i := 1 ; WHILE i <= 600 DO BEGIN plot_x := i ; IF draw.y_log THEN BEGIN IF (fkt_wert[i] > 0) THEN BEGIN IF ((LOG(fkt_wert[i]) * draw.dy) + draw.null_y) < 400 THEN plot_y := TRUNC (LOG (fkt_wert[i]) * draw.dy) + draw.null_y ELSE plot_y := 399 ; END ELSE plot_y := 0 ; END ELSE BEGIN IF (draw.null_y + fkt_wert[i] * draw.dy) < 400 THEN plot_y := draw.null_y + TRUNC (fkt_wert[i] * draw.dy) ELSE plot_y := 399 END ; IF plot_y < 0 THEN plot_y := 0 ; IF (i > step) THEN BEGIN IF (error_feld[i] = 0) AND (error_feld[i-step] = 0) AND draw.verb THEN line (help_x + 20, 399 - help_y, plot_x + 20, 399 - plot_y, 1, 0, 0, 0, -1, 0) ELSE line (plot_x + 20, 399 - plot_y, plot_x + 20, 399 - plot_y, 1, 0, 0, 0, -1, 0) END ELSE line (plot_x + 20, 399 - plot_y, plot_x + 20, 399 - plot_y, 1, 0, 0, 0, -1, 0) ; help_x := plot_x ; help_y := plot_y ; i := i + step ; END ; END ; Do_Merken ; END ; {-----------------------------------------------------------------------------} { In diesem Modul sind smtliche Hilfsroutinen zur einfachen GEM-Verwaltung } { enthalten. } { } { (c) WURMSOFTWARE im Mai 1987 } {-----------------------------------------------------------------------------} {======================== AES - Calls =================================} PROCEDURE AES_Call ( op : integer ; VAR int_in : Int_In_Parms ; VAR int_out : Int_Out_Parms ; VAR addr_in : Addr_In_Parms ; VAR addr_out : Addr_Out_Parms ) ; EXTERNAL ; {------ AES-Calls : Objc_Draw ------------------------------------------------} PROCEDURE Objc_Draw (VAR Ptr : Dialog_Ptr) ; BEGIN int_in[0] := 0 ; int_in[1] := 4 ; int_in[2] := 0 ; int_in[3] := 0 ; int_in[4] := 639 ; int_in[5] := 399 ; addr_in[0] := Ptr ; AES_Call (42, int_in, int_out, addr_in, addr_out) ; END ; {------ AES-Calls : Mouse_State ----------------------------------------------} PROCEDURE Mouse_State (VAR x, y, butt, key : integer) ; BEGIN AES_Call (79, int_in, int_out, addr_in, addr_out) ; x := int_out[1] ; y := int_out[2] ; butt := int_out[3] ; key := int_out[4] ; END ; {========================= Dialog - Verwaltung ==============================} {---- Test_Button : Testet, ob Button gesetzt und setzt Flag -----------------} PROCEDURE Test_Button ( zeiger : Dialog_Ptr ; item : integer ; VAR flag : boolean ) ; BEGIN IF Obj_State (zeiger, item) & Selected <> 0 THEN flag := true ELSE flag := false ; END ; {---- Zahl_Einlesen : Holt Zahl von Edit_Feld --------------------------------} FUNCTION Zahl_Einlesen ( zeiger : Dialog_Ptr ; item : integer ; VAR erg : real ) : boolean ; VAR lauf : integer ; wert_str : str255 ; falsch : boolean ; BEGIN Get_DEdit (zeiger, item, wert_str) ; FOR lauf := 1 TO LENGTH (wert_str) DO IF NOT (wert_str[lauf] IN ['0'..'9','e','E','.','+','-']) THEN Zahl_Einlesen := false ELSE Zahl_Einlesen := Zahl_Auswerten (wert_str, erg) ; END ; {---- Do_Abbruch -------------------------------------------------------------} PROCEDURE Do_Abbruch ; BEGIN button := Do_Alert ('[2][ Wirklich abbrechen ? ][ Ja | Nein ]', 1) ; IF button = 1 THEN BEGIN Close_Window (window) ; Delete_Window (window) ; Erase_Menu (menu_zei) ; Delete_Menu (menu_zei) ; Delete_Dialog (info_zei) ; Delete_Dialog (lauf_zei) ; Delete_Dialog (fktein_zei) ; Delete_Dialog (werte_zei) ; Delete_Dialog (koein_zei) ; Delete_Dialog (darst_zei) ; Delete_Dialog (drucker_zei) ; Delete_Dialog (help_zei) ; Delete_Dialog (warten_zei) ; Delete_Dialog (w1_zei) ; Delete_Dialog (w2_zei) ; Delete_Dialog (ausgabe_zei) ; Free_Resource ; Exit_Gem ; Halt ; END ; END ; {---- Do_Show_Wurminfo -------------------------------------------------------} PROCEDURE Do_Show_Wurminfo ; BEGIN pushed := Do_Dialog (w1_zei, 0) ; Obj_SetState (w1_zei, pushed, normal, true) ; pushed := Do_Dialog (w2_zei, 0) ; Obj_SetState (w2_zei, pushed, normal, true) ; End_Dialog (w1_zei) ; End_Dialog (w2_zei) ; END ; {---- Do_Show_Info -----------------------------------------------------------} PROCEDURE Do_Show_Info ; BEGIN pushed := Do_Dialog (info_zei, 0) ; Obj_SetState (info_zei, pushed, normal, true) ; IF pushed = swurm THEN Do_Show_Wurminfo ; End_Dialog (info_zei) ; END ; {---- Do_Show_Help -----------------------------------------------------------} PROCEDURE Do_Show_Help ; BEGIN pushed := Do_Dialog (help_zei, 0) ; Obj_SetState (help_zei, pushed, normal, true) ; End_Dialog (help_zei) ; END ; {---- Str_Wandel : Wandelt Integerzahlen in Strings um -----------------------} PROCEDURE Str_Wandel (zahl : integer ; VAR zeichenkette : str255) ; VAR e, z, h, help : integer ; BEGIN help := zahl ; h := TRUNC (help / 100 + 1E-6) ; help := help - h * 100 ; z := TRUNC (help / 10 + 1E-6) ; e := help - z * 10 ; zeichenkette := CONCAT (CHR(h+48),CHR(z+48),CHR(e+48)) ; help := TRUNC (1 + ABS ((LN (zahl+0.5) / LN (10)))) ; DELETE (zeichenkette, 1, 3 - help) ; END ; {---- Do_Aktualisieren : Setzt neuen Wert in die Dialogbox -------------------} PROCEDURE Do_Aktualisieren (dialog : Dialog_Ptr ; feld, wert : integer) ; VAR zeile : str255 ; BEGIN Str_Wandel (wert, zeile) ; Set_DText (dialog, feld, zeile, System_Font, TE_Center) ; Obj_SetState (dialog, feld, disabled, false) ; Obj_SetState (dialog, feld, normal, true) ; END ; {====================== Window - Verwaltung ================================} {====================== Sonstiges ================================} {---- Do_Screen_Aktualisieren : Setzt Bildschirminhalt neu -------------------} PROCEDURE Do_Screen_Aktualisieren ; BEGIN Hide_Mouse ; {$P-} bild_ptr^ := bild ; {$P=} Show_Mouse ; END ; {---- Do_Merken : Setzt aktuellen Bildschirm in ARRAY ------------------------} PROCEDURE Do_Merken ; BEGIN Hide_Mouse ; {$P-} bild := bild_ptr^ ; {$P=} Show_Mouse ; END ; (* resource set indicies for FUNKTION *) CONST menu = 0; (* menu tree *) minfo = 9; (* STRING in tree MENU *) msavepic = 19; (* STRING in tree MENU *) merapic = 20; (* STRING in tree MENU *) mlauf = 21; (* STRING in tree MENU *) mfdegas = 24; (* STRING in tree MENU *) mfmono = 25; (* STRING in tree MENU *) mende = 27; (* STRING in tree MENU *) mfktzei = 30; (* STRING in tree MENU *) mscann = 31; (* STRING in tree MENU *) mfktein = 34; (* STRING in tree MENU *) meinkon = 35; (* STRING in tree MENU *) meingre = 36; (* STRING in tree MENU *) mdarstel = 39; (* STRING in tree MENU *) mfktneu = 40; (* STRING in tree MENU *) mdruzei = 43; (* STRING in tree MENU *) mdruein = 44; (* STRING in tree MENU *) mwurm = 47; (* STRING in tree MENU *) mhelp = 48; (* STRING in tree MENU *) infobox = 1; (* form/dialog *) swurm = 10; (* IMAGE in tree INFOBOX *) lauf = 2; (* form/dialog *) lpfad = 3; (* FBOXTEXT in tree LAUF *) lsave = 4; (* BUTTON in tree LAUF *) fktein = 3; (* form/dialog *) funkt = 3; (* FBOXTEXT in tree FKTEIN *) fehlpos = 5; (* BOXTEXT in tree FKTEIN *) fvarx = 7; (* FTEXT in tree FKTEIN *) fvary = 9; (* FTEXT in tree FKTEIN *) werte = 4; (* form/dialog *) zxmin = 4; (* FTEXT in tree WERTE *) zxmax = 5; (* FTEXT in tree WERTE *) zymin = 6; (* FTEXT in tree WERTE *) zymax = 7; (* FTEXT in tree WERTE *) wskalax = 9; (* FTEXT in tree WERTE *) wskalay = 10; (* FTEXT in tree WERTE *) koein = 5; (* form/dialog *) kwert = 4; (* FTEXT in tree KOEIN *) kname = 5; (* BOXTEXT in tree KOEIN *) darst = 6; (* form/dialog *) dalogx = 4; (* BOXTEXT in tree DARST *) dalogy = 5; (* BOXTEXT in tree DARST *) papuver = 7; (* BOXTEXT in tree DARST *) danetz = 11; (* IMAGE in tree DARST *) daskal = 12; (* IMAGE in tree DARST *) daohne = 13; (* IMAGE in tree DARST *) daautoy = 15; (* BOXTEXT in tree DARST *) drucker = 7; (* form/dialog *) bp980 = 6; (* BOXTEXT in tree DRUCKER *) dp1260 = 7; (* BOXTEXT in tree DRUCKER *) dqtest = 9; (* BOXTEXT in tree DRUCKER *) dqtoll = 10; (* BOXTEXT in tree DRUCKER *) help = 8; (* form/dialog *) warten = 9; (* form/dialog *) werror = 3; (* TEXT in tree WARTEN *) wstepmin = 5; (* BOXTEXT in tree WARTEN *) wstepplu = 6; (* BOXTEXT in tree WARTEN *) wstepfel = 7; (* BOXTEXT in tree WARTEN *) wsinnein = 10; (* BUTTON in tree WARTEN *) wsinja = 11; (* BUTTON in tree WARTEN *) wsindru = 12; (* BUTTON in tree WARTEN *) ausgabe = 10; (* form/dialog *) wurm1 = 11; (* form/dialog *) wurm2 = 12; (* form/dialog *) @MENU MINFOMSAVEPICMERAPICMLAUFCMFDEGASMFMONOMENDEMFKTZEIMSCANN"MFKTEIN#MEINKON$MEINGRE'MDARSTEL(MFKTNEU+MDRUZEI,MDRUEIN/MWURMN0MHELPNINFOBOX SWURMXLAUFXLPFADXLSAVEXFKTEINFUNKTFEHLPOSFVARXS FVARYSWERTESZXMINSZXMAXSZYMINSZYMAXS WSKALAX WSKALAYKOEINYKWERTYKNAMEYDARSTYDALOGXDALOGYPAPUVER DANETZ DASKAL DAOHNEDAAUTOYDRUCKERBP980RDP1260 DQTEST DQTOLLHELPL WARTEN WERROR WSTEPMIN WSTEPPLU WSTEPFEL WSINNEIN WSINJAN WSINDRU AUSGABE WURM1E WURM2E. !t.. ALLGEMEIINF F uEINGABE INF F wFORMATE INF F yPLOTGRENINF F zSYMBOLE INF F {TEILUNG INF F |\DEMO1 PLT F }MDEMO2 PLT F ~DEMO3 PLT F DEMO4 PLT F }DEMO5 PLT F DEMO6 PLT F !DEMO7 PLT F DEMO8 PLT "F 1DEMO9 PLT $F sPLOTTER PRG &F RPLOTTER RSC .F &Allgemeine Hinweise: Stand: 14.10.1986 -------------------- ----------------- Mit diesem Programm knnen numerische Werte, die z.B. aus Messungen o. . gewonnen worden sind, schnell grafisch in Form eines Kurvenzuges bzw. mit Symbolen dargestellt werden. Weiterhin ist es mglich, die Regressionsgerade und den Korrelationskoeffizienten zu bestimmen. Bedeutung der Abkrzungen: -------------------------- X : X-Achse YL : linke Y-Achse YR : rechte Y-Achse Grundstzlich knnen dickumrandete Felder mit der Maus "angeklickt" werden. Die Eingabe der Zahlenwerte erfolgt als Zeichenkette, die in den numerischen Wert konvertiert wird. Bei Fehleingabe (z.B. Buchstabe statt Zahl) erhlt man den Wert Null als Eingabe. Alle gewhlten Faktoren wie Grid an/aus, Hintergrund etc. werden mit abgespeichert. Demzufolge werden auch gewhlte Parameter beim Laden von Daten berschrieben. Die Anzeige der Grafik wird durch Drcken der linken Maustaste beendet. Sollte der Bildschirm nach Anklicken der Menueleiste wei bleiben, so bewegen Sie einfach den Mauszeiger nach unten. Sollte beim Anfahren der Menueleiste kein Auswahlfeld erscheinen, so drcken Sie bitte die linke Maustaste (ggf. etwas lnger!). Warum dies so ist, konnte noch nicht geklrt werden. Eingabe von Daten: Stand: 08.07.1987 ------------------ ----------------- Klicken Sie zunchst die Spalte und die Zeile an, in der Sie Daten eingeben wollen. Nach Drcken der "Return-Taste" springt das Eingabefeld um eine Zeile nach unten. Mit der Cursor-Up Taste gelangt man ein Feld nach links, mit der Cursor-Down Taste ein Feld nach rechts. Mit "Undo" wird das aktuelle Feld gelscht. Die Eingabe innerhalb der gewhlten Spalte wird durch Drcken der 'ESC'-Taste beendet. Das Eingabefenster kann durch Anklicken der entsprechenden Felder nach oben bzw. nach unten verschoben werden. Sollen nur bestimmte Werte geplottet werden, so klicken Sie das Feld "Anfang Zeile" bzw. "Ende Zeile" an und geben dort die gewnschten Werte an. Dadurch wird es aber manchmal notwendig, die Plotgrenzen neu zu definieren (nheres unter PLOTGRENZEN). Es knnen zwei verschiedene Kurven (YL und YR), die allerdings die gleichen X-Werte verwenden mssen, in einer Grafik dargestellt werden. Skalierung, Beschriftung und Plotgrenzen knnen dagegen unabhngig voneinander definiert werden. Die Anzahl der Werte fr YL mu nicht gleich der fr YR sein. Sollen aus einer Datenreihe nur bestimmte Werte geplottet werden, so kann eine Auswahl durch anklicken der schmalen, gerasterten Felder getroffen werden. Gerasterte Felder werden berrcksichtigt, weie dagegen nicht. Die Zahlenwerte sollten nicht grer als 10000 und nicht kleiner als 0.00001 sein. Gegebenenfalls sind die Werte mit einem Korrekturfaktor zu multiplizieren. ACHTUNG: ======== Beim Abspeichern der Daten werden nur die Werte von der Anfangszeile bis zur Endzeile auf Diskette gesichert! Alle weiteren Daten - mit Ausnahme der gewhlten Parameter wie Formate, Symbole etc. - gehen verloren! Formate: Stand: 15.10.1986 -------- ----------------- Whlen Sie die Formate fr die Vor- und Nachkommastellen durch Anklicken der ensprechenden Felder jeweils fr die X und Y-Werte getrennt an. Sollte das gewhlte Format zu klein sein, so wird im Plot kein Wert, sondern das Format ausgegeben. berschreiben sich bei der Plotausgabe die Werte gegenseitig, so sollten Sie entweder die Zahl der signifikanten Stellen verkleinern und/oder die Anzahl der auszugebenden Werte verkleinern (siehe TEILUNG). Die Summe aus Vor- und Nachkommastellen sollte aus Platzgrnden nicht grer als 5 sein. Plotgrenzen: Stand: 17.10 1986 ------------ ----------------- Das Programm berechnet sich die Plotgrenzen zunchst einmal selbst. Dazu werden jeweils die kleinsten bzw. grten Werte als Grenzen angenommen. Dies kann aber zu einer recht ungnstigen Beschriftung der Achsen fhren ("krumme Zahlen"). Mit diesem Menuepunkt knnen aber die Grenzen selbst festgelegt werden. Symbole: Stand: 15.10.1986 -------- ----------------- Folgende Mglichkeiten stehen zur Auswahl: ------------------------------------------ - Kein Symbol - Kreis - Quadrat - 20 verschiedene ASCII-Zeichen Wird kein Symbol ausgewhlt, so wird nur der Kurvenzug geplottet. Kreis und Quadrat knnen einen Radius von 1 bis 20 Punkten annehmen. Klicken Sie dazu das ">" bzw. "<" - Feld an. ber diese Felder knnen auch die einzelnen ASCII-Zeichen ausgewhlt werden. Verlassen Sie diesen Menuepunkt ber das "OK" - Feld. Teilung der Achsen: Stand: 27.06.1987 ------------------- ----------------- Hiermit werden die Anzahl der Werte fr die Achsenbeschriftung und die Anzahl der Linien fr den Grid festgelegt. Die Anzahl der Werte sollte zwischen 1 und 20 liegen. Die Anzahl der zustzlichen Markierungen ohne Ausgabe des Zahlen- werts kann ebenfalls festgelegt werden. Wird jeweils ein Wert < 0 eingestzt, so wird die Ausgabe des entprechenden Skalierung unterdrckt. 1.7-870108 Testdaten Minuten Temperatur in Grad C ## # ### ## ### ## 1 0 10 0 12 -50 20 0 0 1 -1 1 2 0 8 1 11 1 12 10 10 60 50 50 1 -1 -44 -1 2 -1 -32 -1 3 -1 -10 -1 4 -1 -2 -1 5 -1 3 -1 6 -1 5 -1 7 -1 7 -1 8 -1 8 -1 9 -1 9 -1 10 -1 11 -1 11 -1 15.2 -1 1.7-870108 Testdaten Minuten Temperatur in Grad C Sonnenstunden ## ### ## ### ## 2 0 10 0 13 0 15 -50 50 0 0 0 3 -1 2 3 3 3 13 10 10 65 50 50 1 -1 1 -1 -5 -1 2 -1 2 -1 -3 -1 3 -1 3 -1 1.5 -1 3.5 -1 4 -1 11 -1 4 -1 5 -1 15 -1 5 -1 6 -1 19 -1 6 -1 7 -1 21 -1 7 -1 8 -1 24 -1 8 -1 9 -1 28 -1 9 -1 10 -1 32 -1 12 -1 11 -1 37.2 -1 1.7-870108 Energieverbrauch 1985 Monat Strom (Kilowattstunden) Gas (Kubikmeter) ## ### ## ### ## 2 0 11 0 13 100 200 0 200 1 -1 1 2 0 6 4 5 5 6.5 5 5 13 50 50 1 -1 170 -1 178 -1 2 -1 151 -1 198 -1 3 -1 159 -1 146 -1 4 -1 148 -1 89 -1 5 -1 132 -1 96 -1 6 -1 128 -1 11 -1 7 -1 111 -1 5 -1 8 -1 134 -1 6 -1 9 -1 148 -1 7 -1 10 -1 137 -1 5 -1 11 -1 161 -1 48 -1 12 -1 171 -1 132 -1 1.3-861015 Energieverbrauch 1985 Monat Strom (Kilowattstunden) Gas (Kubikmeter) ## ### ## ### ## 1 0 11 0 13 100 200 0 200 1 -1 14 -1 0 8 1 6 2 13 10 10 1 -1 170 -1 2 -1 151 -1 3 -1 159 -1 4 -1 148 -1 5 -1 132 -1 6 -1 128 -1 7 -1 111 -1 8 -1 134 -1 9 -1 148 -1 10 -1 137 -1 11 -1 161 -1 12 -1 171 -1 1.3-861015 Testdaten fr die Regressionsrechnung Minute Mililiter Zeit ### ## ### ## ### ## 2 0 8 0 10 0 20 0 10 0 -1 0 3 -1 5 1 5 2 10 10 10 1 -1 2.3 -1 9.34 -1 2 -1 4.21 -1 7.7 -1 3 -1 5.67 -1 6.8 -1 4 -1 7.5 -1 6.02 -1 5 -1 10.81 -1 4.9 -1 6 -1 13 -1 4.1 -1 7 -1 14.2 -1 2.89 -1 8 -1 16.2 -1 2.1 -1 9 -1 17.2 -1 0.9 -1 1.3-861015 Salzfreier Wittig mit Benzaldehyd E (T) (30) % Z-Isomeres ### # ### ## ### ## 1 0 5 30 38 40 90 0 0 1 -1 1 3 -1 5 1 5 2 8 10 10 31.2 -1 47.73 -1 33.4 -1 52.3 -1 34 -1 65.3 -1 34.6 -1 55.94 -1 36 -1 75 -1 37.4 -1 85.15 -1 1.3-861015 nderung der chem. Verschiebung von Pi mit pH pH-Wert ppm ### ## ## ### ### ## 1 0 26 1 10 0 4 0 0 0 -1 0 0 0 3 2 5 2 10 10 10 1.8 -1 0.085 -1 2.41 -1 0.173 -1 3.42 -1 0.329 -1 5.91 -1 0.862 -1 6.02 -1 0.926 -1 6.1 -1 0.969 -1 6.17 -1 0.999 -1 6.25 -1 1.004 -1 6.31 -1 1.107 -1 6.43 -1 1.217 -1 6.64 -1 1.406 -1 6.71 -1 1.485 -1 6.78 -1 1.555 -1 6.82 -1 1.574 -1 6.87 -1 1.674 -1 7 -1 1.52 0 7.1 -1 1.933 -1 7.13 -1 2.017 -1 7.27 -1 2.158 -1 7.35 -1 2.332 -1 7.46 -1 2.513 -1 7.5 -1 2.562 -1 7.71 -1 2.879 -1 7.77 -1 2.943 -1 7.97 -1 3.036 -1 8.13 -1 3.096 -1 9.35 -1 3.224 -1 1.3-861015 Lagrange Interpolation ### ## ### ## ### ## 2 0 7 0 10 0 10 -5 10 0 -1 0 1 0 5 1 5 2 10 10 10 2 -1 3 -1 0 0 3 -1 5 -1 4 -1 4 -1 4 -1 -4 -1 5 -1 2 -1 2 -1 6 -1 7 -1 6 -1 7 -1 0 0 7 -1 8 -1 0 0 2 -1 9 -1 0 0 3 -1 1.7-870108 Demo ### ## ### ## ### ## 2 0 20 0 10 0 10 0 10 0 0 1 4 0 6 4 6 5 5 5 5 50 50 50 3 -1 2.4 -1 0 0 4 -1 3.5 -1 0 0 2 -1 3.1 -1 0 0 3 -1 4.3 -1 0 0 3.4 -1 2.3 -1 0 0 4.1 -1 4.2 -1 0 0 2.3 -1 1.9 -1 0 0 1.9 -1 4.2 -1 0 0 4.3 -1 3.4 -1 0 0 3.42 -1 2.4 -1 0 0 3.4 -1 3.6 -1 0 0 7.5 -1 0 0 6.4 -1 8.4 -1 0 0 7.2 -1 6.7 -1 0 0 6.9 -1 9.1 -1 0 0 8.3 -1 8.3 -1 0 0 7.2 -1 9.2 -1 0 0 9.2 -1 7.3 -1 0 0 8.7 -1 6.8 -1 0 0 6.3 -1 7.2 -1 0 0 5.9 -1 9.6 -1 0 0 7.4 -1 `8W` Efv*oM0Z m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHN(ALNHz2?< NA\pdAxr0XQ)K\NN >nNV ,`NuJrBjNuHz?<&NN\NԦCAp$L Qp NҒ9lrBlJpNNҒpMNҒ9@pdAr 0Q0tr N9lNdNupealp`NuaN,Hz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa4|a@:>< |a6RGk0Gg`a(0GVfA1G<ap??<?<NM\Nu??< NMXNu&8*:EENuHnܼ 2$4BBNuAd RdQRB BbABJk 0NuJBjBBXNu 0Nu 2$NuE`B<gJEgEjCDEDF Fe( F dF8BCHC` F0bFHC8v` HD8HDkDуdQRBNuDdBDA@kgAр[SBk0NuJlJBk&Nu0g H@rB JkЀ[` BbNuJBj prtNuHPAJgPpr$< _Nup _NtNu&8*JEgJBgJjBEB:HC҅H@:|ۆ҄ۆ<HC>H@ЃdHA@B@H@хk HAҁHAрSB BbNuNpNNuCDEJEgJBgJjBEBQ*HE?<>0rHGGdHGGdSWDуdi\?<>0rHGGdHGGdSWDуdiN?<>0rHGGdHGGdSW2 H@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|,  g +g -f .g20  b 0e 9b da`RF` .f 0e 9b dajSF` Eg efX +g -f 0e 9oSH`00  b&Hz0  b E Do`HJjDDDS4</NJFkSFk&aQN`Ha"FFaQL8N6.,JgtBn,Nupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dGe GbFGNu G0dFGHANu~NuAd RdQRB6Ce0 C/jC C@j C jr0H@{0DH@Nur{0Nu{0NutNuJj(:,af AfBfNu&<x*<NxHn&r$g4jDk( b4<J@`@[H@0Nu4<Ѐ[Nu4<NuNuAd RdQRBBkBjDBJjDNupNufJj fJAkNupNdRdRrxaAffBWHNuJjDBDA@JBfprJjDEDD@JEfvxNuaغBffAVHNuCDEaEf fDUHNu]HNuCDEaEffDftNuJjtNupN&NAXJ@jNNu?Hl?<6NAP0,NuN` A$ HJo d*b` QjNuQjNubNNvJ@jD@vqapvN)@p `H@)@prtNAHplrtNB 2pNpNpapaprapalpalpalpaTpaTpaTBp'a?<NNT@B){L9|0<rtNpapap9@p`pvNv`v`vj`v `v`v`v`?Aa*` Al 2l 4)lVH)lRprtNAl 2l 4HVNuAl 2l 4L VA0000000000prtN9Cp rtNAv` Av `Avl 2l 4)lVHNA VB0BP9|p tNA~`9@Z0<rA~HA VBB0ZBP9Gp trNaBp0,l 2Nua40,HNua*p0,l 4Nuaprt0,l 22,l 44,NuN9||BlBlrҌpsNBNu0<}N& ?<NNC`&?<NNT"@ C <}N`Nv@((?<NN.?<NNX@LvA HA HNuNup9@HA)A,N FN @e024E$ Bb5B5A6CC5CK5CAB008:Dk`Ek\00<,>,SFSGFnHGnDDDk9DBlDEk9EBlFcllGcll0,lb 0,lcNupmrtA)HA)HNpNHHPN4 _:8><DbFEbGCHP@dʾAdBD2ƞE29|C???FF22N23BRG0@\@N"2)IN(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NҒHNu*( INA)H @depd ae zb QB DNA\)H @ e` ae zb \gQBA BhNpZNҒA BP"`#|}NA"H0,tg"Hg \f`A\fS A ENAR@H`2QNu@9@JpNNҒr|<N @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| NA R4RB`A Gf //o~4$_<F"OSG !H@Ь 2 Q)@RHRprN"H2@N.0H@N.YdNHAN, NtaoR6 .fJS@gFt ao>AA .f4S@g04<;ark(AjA AbAPjAdYA??<+NAX FNta>k:Y6 :fRS@g*t;a(k$AA :fRS@g t;akIA??<-NAXNurxS@k0  bS@jrNu .g( :g"0  b DBb BdeS@jJANuSR@JANu2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NNV"l`dpNAtrdJhk\QpaNH ld$l`"Hg0 k&@ S`g k#&@0+S@H3 Q&f)I`LNu?<?<NAXJgJgNAH@B pNA NuApNNR$N>$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0Nu _0HpN _0HpNp"_0HqNp"_0HqNE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuNWHNuNVHNu Ihd*N>$E$RR@H`2QˈN ENu Ihd"*N>$E8*$R`"QˈN ENu2)A IJAfr4(Ae*RBBc0*SA?N>$E$R`QˈN ENup`(* 0(iN>$E 4R`Q$D 4R`QˈN DN ENua NuN IHPg"B  g &gNJBjt BNut`Rptr ae OgT Xgj HgSRB ae Fb$0k  c_  c b退`tSJBkN|RB0 b b瀀`RB0 fрd`0H 0 0H@Nu?<,NATANpN?<*NATANp N"H2X@N:0H@?N:AAN2p <0N>`QNur ,* N& ( EN C"Sj|AcRGFc8>`4A g6 g0 g` gTlfelhgFf2pRGRFa`a,` `?~ap ap a 0NuCpE`bf`FgRGJGgRSGSFFgCpE`Yf`Nua@Jf gH@ fa(@ fza0 b @ Ee0Nu?<?<NMXNur9A(HNLNu0,^2,`NzEfpaRppaNAEg0PaľEfa4RE`p a2a*Efp a(NldeS@f lbfSl`9Ab9FdNupapqr`p`C l ", Ⲭ dfѬ SA 0! Nup"N"p`tdbDA0Hg<<R@f|0HN>*JFk*HQ/??<?NAXfX ENuJkpNp`p`\F( &I.` ??<NMXJ[j E&DNuak NupNuakfpNupNtddA0oH?<?B?<BNA Jk.,?<?B?<BNA *kBg?/?<BNA JkNuN, HHHNup`pJ@gHzZ?<&NN\NuB?< NA\Av ACLElp"Jg X\QC"C!/:@?< NA\NuLH!NuHx`(Hx`"Hx`Hx`Hx`Hx` Hx`Hx !4VxH A6@ Ni LHL|1R/:?< NApdK`HaJLxNNu)H9@Jp4NҒP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8N  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNN|HP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NXtHB9BL@@TAt )l g.A( f hgSASAgRB`9BJNҒSAgNu)l g,vARC( g9CJ9|Lp!,NҒ FPeNufA JpBQA/)H )l gBlJpNҒB Aprt0 0BBB R@ @efA000 0PB0 *00 000\0X0 *0000 0P0BX0, *@00p1| 1|QBX0 $HTH0P &0 *0,NupNSk [0NupNuHPaH8 _&X Pf/|~ K!zag @ ep 24C"2 S@ػ Td BTA3A0C4$I2a222B"0@2A\xvaRg<2#M 4B3BS@ -f ػ Td>BAAb8RGRC`3RSG5GC5C J1DcaRF F e`RG GcdNuXASF1F41R 1h4 x1EDgVA)H)H 9|J?<NNTU@g,ACg dRhdRh(gpL8NҒp>L8Np*HEAJ0?C bL000H?A/.)HpNҒLrHH/>Bl/,ff.f.ffNu l /.g&, ^`D&, N`>&, R`8&, V`2&, Z`,2,/4WAARA0,/6A hfRAS@f9A/,&, Jo ? CN0`@k Ap0(/.NuA Nup)@JphNҒLtH &JKBCH .A/~0 1PP1P1PA L? &<@>AFG0000X0000X0000X0000C ~AJ0g0  pi, NҒ"F QNuYp-KNu"l`Yd&-KNNV"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`& $Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuNV"l`QepZNpr`&AdRd QJBgRBBABJk"l` d&6&|0!NuNV"l` epZNC ҳfHP0(N>$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)N$_$RR@H`2QNu$Y 0P1@Hg R@@%NuNV$l` epZN,jJk `BffAge Jj 2$NuJjNu/\ga `6f -K. @Nua \dp\N&#k gH`Nu"Cփk փk2##`փk##`3#`$Y8gHRDD*D%H8#$c2g# HRDD%H`/&#k gH`X-KNu)H,Bl0NuE+000 l,N0l0oNNuaNHP l,"X42,0Rl0Bd1 _g !g &g, \g2N`Rl01` _NJ@fp NN _Nn NpR@RABd 1\fRA9A0 _/N"@cԒ@H/N Np?N _Nnp%NLNbH l,"X42,0Rl0Bd1 _g,vxz| +g. -g( *g $g" #g N`Rl01`` `RCRABd1 _fRA` #g $g *g ,g ^gB +gZ -gT .fRxRDRABdH1 #g ^g +g. -g( _f&RA`RERABd1 ^g +g -f2ALH@N(L8"aC " Lx2DE A,b -fEt1BQt1$0000QE[JEft Q0JgE\J"f0J"ff JFj-Sg$E[JEgRE\JEg vJ*g RCJ*f~ g~*Jf`9I0`JEf@RAN E[JEg*ÒEA, gSAR`Ô l,HQ?HjSl0 l,"X0Rl0gL _g0 ,g .g +g( -g $_HRN`$W "0d`Rl0`p Jojp-`Sl0NuN?<NNTANxAN&<x*<NJJBfN< HxN0Dieses Programm luft nur| in hoher Auflsung !HPNOKr"_ NzANxN|N 1.7-870108CNPA y0 A킲 H0p C>N2pCDN2A N/pC텴~N4A NC텺N2A NCN2pCN2pCJN2HxpCP~N4pCN2pCN2pANBN HPNReturnr"_ NzANNxN(Speichern der Grafik:eHPHmN.PIC"_NHPHmN(*.PIC4"_NHPANA`CNPHmA "_N pJBgp/Hmp\N"_N pJBgp$fNH4ANpoNHPAr"_NdpNANnpNAWNpNLCVNHPN( DRUCKEN "_NJBfNHANAWNpNLCVNHPN PLOTGRENZEN + TEILUNG "_NJBfNHAܜNAWNA< 0pNLCVNHPN ZAHLEN-FORMATE"_NJBfNI:AhNAWNA< 0pNLCVNHPN SYMBOLE "_NJBfNIAlNA< 0pNLCVNHPN HINTERGRUND "_NJBfNI <r$<HANAWNA< 0pNLCVNHPp"_NhHPN( LINEARE INTERPOLATION "_NJBfNJpNL/p"NZpNLR/p"NZpNLT/p"NZpNLV/p"NZpNLX/p"NZA< 0BmpNLCVNHPp"_NhHPN LAGRANGE INTERPOLATION "_NJBfNKxpNL/p"NZpNLN|H <r$<L8NtNܼ/p"NZpNLR/p"NZpNLT/p"NZpNLV/p"NZA< 0A 0pNLCVNHPp"_NhHPN SPLINE "_NJBfNLdpNL/p"NZpNLN|H <r$<L8NtNܼ/p"NZpNLN|H <r$<L8NtNܼ/p"NZpNLR/p"NZpNLT/p"NZA< 0A 0pNLCVNHPN REGRESSIONSGERADE "_NJBfNMrpNL/p"NZpNLN|H <r$<L8NtNܼ/p"NZpNLN|H <r$<L8NtNܼ/p"NZpNLN|H <r$<L8NtNܼ/p"NZpNLR/p"NZA< 0A @0pNLCVNHPN NUR DATENPUNKTE "_NJBfNNpNL/p"NZpNLN|H <r$<L8NtNܼ/p"NZpNLN|H <r$<L8NtNܼ/p"NZpNLN|H <r$<L8NtNܼ/p"NZpNLN|H <r$<L8NtNܼ/p"NZA< 0A 0pNLCVNHPp"_NhHPN GRID "_NJBfNO,A0NFA0NxA0NJBfNOpNL/p"NZNOpNL/p"NZA< 0pNLCVNHPN( TITEL 4"_NJBfNPANN(Titel der Grafik:THPHmANArCNPN4prNHmN. "_NHPp."_NNnNANA< 0pNLCVNHPN( X-ACHSE "_NJBfNPANN(Beschriftung der X-Achse: HPHmANArCNPN4prNHmN. "_NHPp."_NNnNANA< 0pNLCVNHPN( Y-ACHSE LINKS "_NJBfNQANN Beschriftung der linken Y-Achse:HPHmANArCNPN4prNHmN. "_NHPp."_NNnNANA< 0pNLCVNHPN Y-ACHSE RECHTS "_NJBfNRANN(!Beschriftung der rechten Y-Achse:HPHmANArCNPN4prNHmN. "_NHPp."_NNnNANA< 0pNLN|&<x*<NzpJBgp/pNLN|&<x*<N݀pJBgp$fNSDpNLCVNHPAɺNpNLCVNHPN( ZUM DESKTOP "_NJBfNTAN&BmpCN*ANVA8NANNZ&<x*<NxNܼ??<^A8NANNZ&<x*<NxNܼ??<c~NfA0N/ANzN\pJBgp/pCN*ANN\pJBgp$fNpNbpN|prNA8NANNZ&<x*<NxNܼ??<2A8NANNZ&<x*<NxNܼ??<]~NfpNbpN|prNA>NANNZA,NNxArN&AfNA2N&<x*<NxHA8NANNZL8NxNܼ"<rNrAN N`6NqpC8N*zN\JBfN" <r$<ANNtHpC8N*L8NA8N&A,NA&NNtHpC8N*L8NA>N&BmpC8N*ANVA8NANNZ&<x*<NxNܼ??<^A8NANNZ&<x*<NxNܼ??<a~NfN`NqNqAH 0ANAHNVAD w$0pAJ Mi,0LClA 0AfNANVAN/AHNCn~N$fNJAN/AHNC텴~NADNN\JBfNAN/AHNC텴~NADN&AN/AHNC텴~NAJNNbJBfNJAN/AHNC텴~NAJN&N`(NqA퀮NzNJBfNCDAP 0CJAV 0AHNN&<x*<NxNܼ/AJNCNAHNN&<x*<NxNܼ/ADNCNNVAHNN&<x*<NxNܼCN*AVN&AHNN&<x*<NxNܼCN*APN&AHN&<x*<NxNܼCN*zN\JBfNAVNAPNNtHAHN&<x*<NxNܼCN*L8NA\N&AHN&<x*<NxNܼ/pCP~NHPp.N"_NHPAHN&<x*<NxNܼ/pCP~N"_NCNPANN|vN&<x*<NtAbN&AHN&<x*<NJBfNAb 0 AHN&<x*<NxNܼCN*&<x*<NA8N&pNbpN|BmAHN&<x*<NxNܼCN*ANV <r$<AHNNtH <r$<ANNtL8NZ&<x*<NxNܼ?ANA8NNZ&<x*<NxNܼ? <r$<AHNNtH <r$<ANNtL8NZ&<x*<NxNܼ?ANA8NNZ&<x*<NxNܼ?~NfA0N/ANzN\pJBgp/AHN&<x*<NxNܼCN*ANN\pJBgp$fNNpNbpN|prN?<PANA8NNZ&<x*<NxNܼ? <r$<ANNtNܼ?ANA8NNZ&<x*<NxNܼ?~NfpNbpN|prNA\NANNZAPNNtArN&AfNAbN/ANA8NNZ&<x*<NxNܼ"NpAN N`dNqAHN&<x*<NxNܼC8N*zN\JBfNAHN&<x*<NxNܼC8N*&<x*<NA8N&pNbpN|BmAHN&<x*<NxNܼC8N*ANVAHN&<x*<NJBfN <r$<AHNNtH <r$<ANNtL8NZ&<x*<NxNܼ?ANA8NNZ&<x*<NxNܼ? <r$<AHNNtH <r$<ANNtL8NZ&<x*<NxNܼ?ANA8NNZ&<x*<NxNܼ?~NfN <r$<AHNNtH <r$<ANNtL8NZ&<x*<NxNܼ?ANA8NNZ&<x*<NxNܼ? <r$<AHNNtH <r$<ANNtL8NZ&<x*<NxNܼ?ANA8NNZ&<x*<NxNܼ?~NfN`NqA,NA NNtAhN&ANA&NNtAnN&AVNAJNNtAtN&ADNAPNNtAzN&A,NA&NNtzNJpJBgp/AVNAPNNtA큀NNJpJBgp$fNzBmClA 0AfNANVAN/AHNCn~N$fNA큆NA큆N/AN/pC텴~NAhNNxHAnNL8NtHA NL8NtA&NNxHANL8NtHA,NA&NNtL8NH <r$<ANNtL8NZ&<x*<NxC텺NA큆N/AN/AHNC텴~NAtNNxHAzNL8NtHAJNL8NtAPNNxHADNL8NtHAVNAPNNtL8N&<x*<NZ&<x*<Nt&<x*<NxCNN` Nq <r$<AHNNtNܼCN*A큌N& <r$<AHNNtNܼCN*A큒N&pNbANN|A 0 <r$<A큆NNtANVANzNJBfNANC텺N*Nܼ?ANCN*Nܼ?AN&<x*<NxNܼC텺N*Nܼ?AN&<x*<NxNܼCN*Nܼ?~NfA큌NHANC텺N*HANCN*HA큒NHANN`NqA큌NHA큆NC텺N*HA큆NCN*HA큒NHANAN&<x*<NJBfNA큘 L0A큞 0ClA 0AfNANVAN/AHNCn~N$fNdA큞NA큞N/BAN/pC텴~NC~NNA큞N/HxAN/AHNC텴~NC~NNN`lNqA큞N/pC~NHBpC~NL8NtA큘NNA큤N&A큆 0BpC~NAN&A큞N/pC~NHA큤NvNL8NxHA큤NL8ANA큆NA큆N/BpC~NHA큤NA큆NNZL8NxC텺NA큆N/tCNBmA큞NANVAN/pC~NA큪N&ClA 0AfNANVANANNJpJBgp/AN/pC~NHAN/pC~NL8NJpJBgp$fNA큆NC텺N*HAN/pC~NL8NtA큪NNZHAN/pC~NHAN/pC~NL8NtL8NA큪N&N`NqA큆N/A큆NCN*A큪NNxCNN`NqA큆N/A큆NC텺N*AhNNxHAnNL8NtHA NL8NtA&NNxHANL8NtHA,NA&NNtL8NH <r$<ANNtL8NZ&<x*<NxC텺NA큆N/A큆NCN*AtNNxHAzNL8NtHAJNL8NtAPNNxHADNL8NtHAVNAPNNtL8N&<x*<NZ&<x*<Nt&<x*<NxCNA큆NzN\JBfNA큆NCN*&<x*<N\JBfNA큆N/ <r$<CNA큆NCN*&<x*<NbJBfNHA큆N/ <r$<CN <r$<A큆NNtNܼC텺N*Nܼ/ <r$<A큆NNtNܼCN*Nܼ"NpA큆NC텺N*Nܼ/A큆NCN*Nܼ"NJN`DNqAN&<x*<NJBfNA큘 (0A큞 0ClA 0AfNANVAN/AHNCn~N$fNA큞NA큞N/AN/pC텴~NCNA큞N/AN/AHNC텴~NCNN`vNqA큞N&<x*<NxHA킲NHA$NB <r$<A킲NNtNܼAN/- -CN*AhNNxHAnNL8NtHA NL8NtA&NNxHANL8NtHA,NA&NNtL8NH <r$<ANNtL8NZ&<x*<NxC텺N/- -CN*AtNNxHAzNL8NtHAJNL8NtAPNNxHADNL8NtHAVNAPNNtL8N&<x*<NZ&<x*<Nt&<x*<NxCNN `tNq+| <r$<A킲NNtNܼAN -N|H <r$<L8NtNܼC텺N*Nܼ/ -N|H <r$<L8NtNܼCN*Nܼ"Np -C텺N*Nܼ/ -CN*Nܼ"NJN `fNqAN&<x*<NJBfNBmBmBmBmBmBmClA 0AfNANVAN/AHNCn~N$fN2ANAN/pC텴~NANNxAN&AN/AHNC텴~NANNxAN&AN/pC텴~N&<x*<N߰ANNxAN&AN/AHNC텴~N&<x*<N߰ANNxAN&AN/pC텴~NHAN/AHNC텴~NL8NZANNxAN&N`NqANANNAN&ANANNAN&ANzNJJBfNjANANNZHANANNZL8NtHANANNZHAN&<x*<N߰L8NtL8NAN&ANANNZHANANNZL8NtHANANNZHAN&<x*<N߰L8NtL8NAN&ANANNHANANNZL8NtHANANNHAN&<x*<N߰L8NtHANANNHAN&<x*<N߰L8NtL8NZ&<x*<N߰L8NAN&N##.#####CNPANzN\JBfNAN&<ֿ8<*<NxArN&N <ֿ2<$<ANNtArN&AfNN(;Regressionsanalyse:|-------------------|Korrelationskoeff.:PHPA"_NCHNPAHN&<x*<NxNܼ/pCP~NHPp.N"_NHPAHN&<x*<NxNܼ/pCP~N"_NCNPCAr 0AfNHmHN |Gerade: Y ="_NHPA"_NHPN(*X + "_NCHNPp#NHPHxpCP~N"_NHPp.N"_NHPHxpCP~N"_NCNPCAr 0AfNHmHA"_NCHNPHxHmHNReturnr"_ NzANxAnNAhNNtA&NNxHANL8NtHA,NA&NNtL8NH <r$<ANNtL8NZ&<x*<NxAN&ANA NNZANNxAtNNxHAzNL8NtHAJNL8NtAPNNxHADNL8NtHAVNAPNNtL8N&<x*<NZ&<x*<Nt&<x*<NxAN&AhNANNxHAnNL8NtHA NL8NtA&NNxHANL8NtHA,NA&NNtL8NH <r$<ANNtL8NZ&<x*<NxA N&ANANNZANNxAtNNxHAzNL8NtHAJNL8NtAPNNxHADNL8NtHAVNAPNNtL8N&<x*<NZ&<x*<Nt&<x*<NxAN&AN?AN?A N?AN?~NfN`dNqpNpNbpN|ANNN ?<?<c?<?<~Nf?<h?<c?<h?<~NfBm2ANHA4NANN,ANN0ANN4pFr(Np <J"<XNBm2BmLAHNzNJBfNNfH A퀊Nx A퀐Nx AHNx`A퀐N&<x*<N\pJBgp/A퀐N&<x*<NbpJBgp$fNA퀊N&<x*<N\pJBgp/A퀊N&<x*<NbpJBgp$fNA. 0NA퀊N&<x*<N\pJBgp/A퀊N&<x*<NbpJBgp$fN@ANANzNbJBfN@A 0A퀊N&<x*<N\pJBgp/A퀊N&<x*<NbpJBgp$fNANAN&<x*<N\JBfNBmANHA4NANN,ANN0ANN4pFr(Np <J"<XNpNA.NJBgN0`NHm <r$<AFNNtNܼ"_NHPAH"_NHPHmAFN&<x*<NxNܼ"_Nh"_NCNPN\HmHHmp"_Nh"_NCNPA@NAFNN\JBfNÜAFN&<x*<NxAFN&AFNHANNHmHp"_NNqBpCN*CNBpCN*CN <r$<A킈NNtNܼCN*HpCN*L8NtH <r$<A킎NNtL8NA킔N&BmLA 0 <r$<A킎NNtANVAN/pCN*HA킔NANNZL8NxCNANCN*HAHN&<x*<NxNܼCN*L8NbJBfNAHN&<x*<NxAHN&ANCN*HAHNCN*L8NtA킚N&AN/AHNCN*A킚NNZA킚NNZA킚NNZHAHNCN*A킚NNZA킚NNZL8NxHAHNCN*A킚NNZL8NxHAHNCN*L8NxCNN`^Nq <r$<A킎NNtNܼ/ <r$<A킈NNtNܼCN*CN <r$<A킎NNtNܼ/ <r$<A킈NNtNܼCN*CNN,bdbdb|> ʺd(HbR.4Vb4V(,V\,f""H<*,,,,,(hH.fFRRRRHH$&7 *&Teilung der Achsen:Linienstrke:0000X-Werte: ____XXXX0000YL-Werte: ____XXXX0000YR-Werte: ____XXXX0000X-Mark.: ____XXXX0000YL-Mark.: ____XXXX0000YR-Mark.: ____XXXX13579111315Plotgrenzen:00000.00000Minimum X: ___________XXXXXXXXXXX00000.00000Maximum X: ___________XXXXXXXXXXX00000.00000Minimum Y links: ___________XXXXXXXXXXX00000.00000Maximum Y links: ___________XXXXXXXXXXX00000.00000Minimum Y rechts: ___________XXXXXXXXXXX00000.00000Maximum Y rechts: ___________XXXXXXXXXXXBerechnenOkayAbbruchDatenformate fr die Zahlendarstellung:X - Achse:Linke Y - Achse:Rechte Y - Achse:VorkommaNachkommaVorkommaNachkommaVorkommaNachkomma##########################################################################################OkayAbbruch----------------------------------------Text:________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXOKAYAbbruchGeschrieben in GFA-BasicRainer PaapePaschenburgstr. 672800 Bremen 1Tel.: 0421-443381OkayWerte-Plotter V1.72 9/87vonSymbole:Linke Y-Achse:PunktKreisKreisQuadratQuadrat+*#O^01Symbolgre: __99Linke Y-Achse:PunktKreisKreisQuadratQuadrat+*#O^01Symbolgre: __99OkayAbbruch RESOURCE CONSTRUCTION SET RESOURCE PARTBOX FREE-TREE PARTBOX DIALOG PARTBOX ALERT PARTBOX MENU PARTBOX RESOURCE CONSTRUCTION SET RESOURCE PARTBOX FREE-TREE PARTBOX DIALOG PARTBOX ALERT PARTBOX MENU PARTBOX RESOURCE CONSTRUCTION SET RESOURCE PARTBOX FREE-TREE PARTBOX DIALOG PARTBOX ALERT PARTBOX MENU PARTBOX RESOURCE CONSTRUCTION SET RESOURCE PARTBOX FREE-TREE PARTBOX DIALOG PARTBOX ALERT PARTBOX MENU PARTBOX RESOURCE CONSTRUCTION SET RESOURCE PARTBOX FREE-TREE PARTBOX DIALOG PARTBOX ALERT PARTBOX MENU PARTBOX RESOURCE CONSTRUCTION SET RESOURCE PARTBOX FREE-TREE PARTBOX DIALOG PARTBOX ALERT PARTBOX MENU PARTBOX RESOURCE CONSTRUCTION SET RESOURCE PARTBOX FREE-TREE PARTBOX DIALOG PARTBOX ALERT PARTBOX MENU PARTBOX ````.J]q0CWhx)=N^m P * 0 *  * # * ` + * @ h * n *pt *Pz *0 *$89:HIJO^chw| < HTr ~    ,J m(       )$))Z[\]^_`abcdefghij ADTWfgG!$!    ( D` $!  |        $  @\B Bx"""B V `5 e06N H<Xt3    '  3  ?              % & ( + /  4    : ; = @ D  I '!&' " O# P$ R% U& Y   ^ .(-3 ) d* e+ g, j- n ' s 5/4? 0 y1 z2 |3 4  .  6 8!5 T)!4 p/ ( M5 RN F @ :  4   4. Pl      G    !NJ% 0"Hj  0  3  5  7   9 ; = ? L ! '% h" 6X0z          !! %5 )#!"X#. !.. TERM MCR F TERM PRG F fTERM RSC F 4TERM TXT F ,A:\ A:\ 8 1 N 300 d o t T l L u U f c 10000 Macro Nummer 1^...^ Macro Nummer 2^...^ Macro Nummer 3^...^ Macro Nummer 4^...^ Macro Nummer 5^...^ Macro Nummer 7^...^ Macro Nummer 8^...^ Macro Nummer 9^...^ Macro Nummer 10^...^ Macro Nummer 11^...^ mit Control + F1 Macro Nummer 12^...^ Macro Nummer 13^...^ Macro Nummer 14^...^ Macro Nummer 15^...^ Macro Nummer 16^...^ Macro Nummer 17^...^ usw bis 30 ab 21 mit Alternate + Fx fr ^ wird ein CR gesendet. `@ o"h###,I c.N//Bg?<JNA BbByޝNeDNV?.?. ?. ?.?.?.?<NNN^ _O NNV?<NAN^NuNV?<NAN^NuNV?.?<NAN^ _ONNV?<NAN^NuNV?<NAN^NuNV?<NAN^NuNV?./. ?<GNAN^ _ONNV/.?<NAN^ _ONNV?./. ?<NNAN^ _ONNV?<ONAN^NuNV?./. ?<6NAN^ _ONNV?<*NAN^NuNV?<,NAN^NuNV?.?< NMN^ _ONNV?.?. NyN^ _ONNV/./. /./.?.?.NzN^ _ONNV/.?. Nv&N^ _ONNV?.?. NxN^ _ONNV?.?. NyrN^ _ONNV?.?. NxN^ _ONNV?.?. Ny8N^ _ONNV?.?. NuN^ _ONNV?.?. NyN^ _ONNV?.NwN^ _ONNV/.?. ?.NwN^ _ONNV/./. /.Nw,N^ _O NNV?.NvlN^ _ONNV/.?. ?.?.NvN^ _O NNV/.?. ?.Nx|N^ _ONNV/./. /.?.?.Nx N^ _ONNVNoN^NuNVNopN^NuNV/./. /./.Nq|N^ _ONNV?.NqN^ _ONNV/.?. NpN^ _ONNV/./. /./.?.?.NtN^ _ONNV?.?. /. ?.?.NuN^ _O N/,HNVA"-HN ?.?."n / BgBgNN^,_ _PNNV?.?. ?. ?.?.?.NuN^ _O N/,HNVA(-HN ?.?.?.?.?.?. NN^,_ _O NNV/./. /./.?.?.?.?.?. ?."NuzN^ _ONNV?.?. ?. ?.?.Nt$N^ _O NNV?.?. ?. ?.?.Nt^N^ _O NNV?.Nu`N^ _ONNV?.NtN^ _ONNV?.NtN^ _ONNV/.NsN^ _ONNV/.?. ?.NsN^ _ONNV/.?. ?.NsN^ _ONNV/./. /././.NpN^ _ONNV?.?. ?. ?.?.?.?.?.?.NpN^ _ONNV?./. Np`N^ _ONNV?.?. ?. ?.?.?./.NrN^ _ONNV?.?. ?. ?./.NrN^ _O NNV?.?. ?. ?.?.?.?.?./.NsRN^ _ON/,HNVA<-HN /9l?.Bg?9f?9d?9b?9`?. ?<NN^,_ _XNNV/.?. /.?./.NsN^ _ONNV/./. /./././.?. ?."/.$?.(?.*?.,?..?.0?.2?.4?.6?.8?.:?.?.@?.BNoN^ _O-HN "n E8 .J[=B .JjD-@"n N .r //N "p0HҀ??` ?<BgN0N^,_Nu/,HNVA-HN p3?<NX?<N NNNH09|309rAf/9lBg?<2?9?9NX309`F090|30`p090|r A30`X090|r@A30`@090|r`A30`(090|rA30`090|rA30`090|rA30`090||30`090||30`090||30`p 3,`p3,`p3,`t09.J@fp3.`By.`R09F@3`@U@ @b6@0;N*4****|dL*`09`090|30`090|r A30`090|r@A30`090|r`A30`x090|rA30``090|rA30`H090||30`0090||30`090||30`p 3,`09.J@fp3.`By.`p3`By`@1 @Qb@0;N.Fv^v^09rAW09r AWÄCBd,?<?<?<?<?<?9f?9d?9b?9`N?<?9f?9d?9b?9`?9f?9d?9b?9`N?9,?9.?90?NJ@f ?<2N`?9Np=@ nn?<NRn`N^,_Nu/,HNVA2-HN 09N@dNJ@fN`?9NN^,_Nu/,HNVA-HN NB09ʌrAoBgN.Hy09|2|C@Av?0NpX?<N.09/N&" JAVÀC@d2CvET6p5QHyTN3Byʌ`09|R@3|09ʌS@3ʌ09ʌJ@fPByʌp3|p3ʄNN^,_Nu[3][Speicherung wegen|Fehlers abgebrochen !][ Weiter ]/,HNVA-HN 09ʊ|lZ09ʂ2|C@Av1 09ʂ|l09ʂR@3ʂ` p3ʂ09ʊR@3ʊ`(C.ET)p(QHyTN3N^,_ _TN[3][berlauf des Tastaturpuffers !][ OK ]/,HNVA-HN 09ʈ|lZ09ʀ2|C@Av1 09ʀ|l09ʀR@3ʀ` p3ʀ09ʈR@3ʈ`(C.ET,p+QHyTN3N^,_ _TN[3][berlauf des Bildschirm-Puffers !][ OK ]/,HNVA-HN 09ʌ|lZ09ʄ2|C@Av1 09ʄ|l09ʄR@3ʄ` p3ʄ09ʌR@3ʌ`(CDET*p)QHyTN*30<yʌ|lNlN^,_ _TN[3][berlauf des Empfangs-Puffers !][ OK ]/,HNVAn-HN 09ʎrAoV09~2|C@Av=p09~|l09~R@3~` p3~09ʎS@3ʎ0.N^,_Nu/,HNVAn-HN 09ʊrAoV09z2|C@Av=p09z|l09zR@3z` p3z09ʊS@3ʊ0.N^,_Nu/,HNVAn-HN 09ʈrAoV09x2|C@Av=p09x|l09xR@3x` p3x09ʈS@3ʈ0.N^,_Nu/,HNVA-HN NCET4p3QHyTN3p3zp3ʂByʊp3~p3ʆByʎByZBy`/9h?<?<NL/9h?<BgN09ʆ2|C@Av109ʆR@3ʆ09ʎR@3ʎNVN^,_Nu...[3][Beim Lesen ist ein|Fehler aufgetreten !][ Weiter ][3][bertragung des Sendefiles fertig !][ Weiter ]/,HNVAH-HN 09rAo009A@Aʐ=p09R@309꒰|fBy09S@309V@d0.`H=|`=|`=|`=|`~=|`t=|`j=|``@[ @#bT@0;NHHHHHHHHHHHHHHHHHHHHHHHHHHHHH09L@d>0.yfByX0.yf p3X0.yfN 09\yb@d,0.yf p3^0.yfBy^09^@d809H@d ByH`"0.rAfp3H` ?.N?.N:09J@d ?.NP0.r AWyRBd8p ?N09J@d p ?N09\y^@d p ?NN^,_Nu/,HNVA-HN N.J@VyXBdj09ʊrAo*N=@09DF@29JFAA@d ?.Nt09T@d0.`Hp}=@`p{=@`p[=@`|p|=@`rp\=@`hp]=@`^p~=@`T@ @bH@0;N<<<<<<<<<<<<<<<<<<<<<<<09@d ?9NJ?.N,0.r Af(Bn=yv0.nn?<2NRn``409Zy`@d"09ʎJ@f Nf`N=@?.N>09T@d0.`Hp}=@`p{=@`p[=@`|p|=@`rp\=@`hp]=@`^p~=@`T@ @bH@0;N<<<<<<<<<<<<<<<<<<<<<<<09@d ?9N?.N0.r Af(Bn=yv0.nn?<2NRn`N^,_Nu/,HNVA4-HN p Cp C$"np)=@ nm"n0.Ar1p\@fN "n/ ?//N /HyNC0ETp QN HyT?//N /HyNN HyT??9Nd?9v?< Hy HyHyHyN09J@V09J@VCBd3 309 yS@309yS@3?9?<HyNf?9BgNV?9HyN09vyPfNV?9v?< Hy HyHyHyN`@ @b2@0;N&&&&&&&&&&,&&&&&b09F@d09\@dN?9RN(?9RN6?<BgBgBgBg?9N?9L?9J?9HN`hCET;p:QN HyT? aF3$|$pN^NuNV>a*pN^NuNV3$3 $3 $3$3$3$3$3$3$3$3$3$3 $3"$#$$3($3*$>Nn n,0$~ n00$ n40$ n80$ n<0$ n@0$B@09$|N^NuNV#$3 $>2NnN^NuNV3$3 $3 $3$3$3$3$3$3$>3NnN^NuNV3$# $>4NnN^NuNV#$>6Nn n 0$~ n0$ n0$ n0$B@09$|N^NuNV#$# $>ZNn n0$~B@09$|N^NuNV>MNn n0$~ n 0$ n0$ n0$B@09$|N^NuNV3$# $>NNnN^NuNV#$3 $>NnN^NuNV#$3 $3$>NnN^NuNV#$3 $3$> NnN^NuNV#$3 $3$>!NnN^NuNV#$3 $3$3$3$3$3$>*NnN^NuNV#$3 $3$3$3$>+NnN^NuNV#$3 $3$ n3$3$>.Nn n0$~B@09$|N^NuNV#$3 $3$3$3$3$3$3$3$>/NnN^NuNV#$>nNnN^NuNV3$3 $>pNn n $B@09$|N^NuNV3$3 $# $>qNnN^NuNV3$3 $3 $3$3$>dNnN^NuNV3$3 $3 $3$3$>eNnN^NuNV3$>fNnN^NuNV3$>gNnN^NuNV3$3 $>hNn n 0$~ n0$ n0$ n0$B@09$|N^NuNV3$3 $3 $3$3$3$>iNnN^NuNV3$>kNnN^NuNV3$3 $3 $3$3$3$>lNn n0$~ n0$ n0$ n 0$B@09$|N^NuNV3 3 By33Nz09N^NuNV# 3 3By33Nz#N^NuNV3eByBy3NzN^NuNV3 3 Bn nH|2n2RRnJ@f33Sn33NzN^NuNV3{ByBy3NzN^NuNV## .мZ#3dBy3  n 3Nz n 0####N^NuNV###  . мZ#3 3fBy33Nz##N^NuNV3 .Nz|.Nz# 3m333Nz#N^NuNV# 3 3333Nz#N^NuNV3 3By33Nz09N^NuNV3 3By33Nz09N^NuNV3 3hBy33Nz09N^NuNV3 3By33Nz09N^NuNV3 3zBy33NzN^NuNV3 3jBy33Nz09N^NuNVBy3 3 3By3Nz n 0 n0 n0 n0N^Nu#Nu#Nu#"<psNBNu"/0<NBNuH! _024SBgQ@4BAAc/L!NuHyzNRange error during set-operationH! _0246@SCBgQAn68DCCc 0AgRB`/L!NuH! _0@CEHS@rIVW.J?/L!NuH! _0@CEHS@rIVV.J?/L!NuH! _0@CEHS@2FA_VW.J?/L!NuH! _0@CEHS@2FAYVW.J?/L!NuH! _0@274BAAc7V`tO>/L!NuH! _0@"_24BAAc1V`t>/L!NuH! _02S@AC2YQ/L!NuH! _02S@AC2YQ/L!NuH! _02S@AC2FAYQ/L!NuB9"`P"By _0g$_jp"_// H"NL"J@fP)J9"f" f |` f|` f |` f|`4<G BQB) @ef *:f^&Jrt `e QGTtWJBk4Gl3 J9"f g g`> g8 fp@`*S@rG   e gRAQJ9"g`tJ)f8a J9"g| _0< HyrN|#|3|Nu )bJ) g )g )g ) f J9"fgHBNu|/ BgHi ?<ANA>3|NAXNuBy(_&&_k|+g  g6 g fT?+?<>NAX?<Hk ?<=NAP7@| JkNBg?+Bk/p0+/N?<BNA Jk&NHy0<`Hy0<`Hy*0<`HyN LN#" //aB/9"NL#" //a&/9"NRANDOM I/O attempted to deviceNegative random access record numberRandom I/O without Reset or RewriteError during random-access _4` _t6 Bo r aSB`2aNH? _r ar a/L?Nu _r aN _4` _t"x0HgJJjDxvCzp cRЀ`|e W0R"f`6 _4` _t2xJAjDAxvCp0 2H@0RJAfJg<-RBlCSBr aQSCaQN _4v` _46"_JBjtJCkgCe4`BSCr aQSBk aQN _v` _60@d Ct`CtJCgkCe4`BSCr aQSBavQNFALSETRUE _6kfv2_t Cc"4YBv` _6kfv"_t Cc4QBvSBkr a(QSCC" A0 9c^a JgYC`NH "oA/ NL NuBy(_ _/ C( g  f4t4(H / /?(?<@NA LJkn gffNu4(SBraQNu(gN fH ??<NAXLNu f H ??<` f H ??<` f NuHy` Hy0< LNREWRITE required prior to WRITE or PUTDisk or directory fullBy _$_"Wp )f)H/ NLL4NH/ NLLp)`By _"WJyf8J)f )f)H/ NLL )g)J)fJgBy )g J)fBiNz`zBy _$_"WptvH/ Hy"a029"XL- -fJf^p`4  fJg*`N0eH  bBԂi\(؄iV؄iRԄiNԁRCJ)f  g )f) 0e 9c~Jg&JgDJf 6Höf4N$NHy-0<` Hy 0<NBy _$_0"Wt )gJ&JRJ)f4H/ Hy"aP29"XL )gJ)f RBBe`ưBe`N&|"H/ ?< NA\Hy ?< NA\LS@kQ3N Bad digit in number encounteredOverflow during READ of numberBy(_ _/ C (g ( fxJ(f t4($IH / /?(?<?NA LJk,g*fJg  f"J` g  Wf NuJgJ(f P Nu!|Nu4(SBa@J(f8Jg. fJ(f"gr W1Agp f W1A1AQNu(gVJ(fD f&H`?<NAT f?< ?<NAXp LNu fH`?<NATLNuHy0<` Hy0< LNReset required prior to Read or GetAttempt to read past end-of-fileH# _0"_e /L#NuHyN/B9#@/|#@NuH# _0 @f0"|##p` "_J@jpE#@r4@ BbBS@kQ/L#NuH# _4SBkt82$_rAdd0 @f0"|##p` "_J@jp6ADb6CG0IS@k$eQ/L#NuH# _4k2SAk0"_p6B@bE0)CS@kQ/L#NuH# _2$_r0 @f0"|##p` "_J@jp@kS@kv&J$IRC4(K Vg RQBg`?/L#NuH# _4kF2SAk>0 @f0"|##p` "_J@jp6B@bE#@SBkQ/L#NuString overflow _ hNVf 0(gr"OD@Hd2S@k "Q` _"ye HyNN#$H#$D .f -|`-| nNн$Df y$HNStack overruns heapH?$L _z gBjDRE"g8jDRE$6HBJBg8HAJAf,HBJBf$ւi EdD.` $HB8`B/L?$LNu0NvDNH$L|` H$L| _z f0NjDRE"g`jDREdJgR(`DfxJg<`DxSDbb JgHA8`"tcRЀ`xeWJg(MdD.`B/L$LNu _(N _0/Ho |3JyfXNX/#$l"|a "_a"|aJyg y$l9BgNA/ ?< NA\Nu09Nu _3NByNu  *** *** Copyright 1986, CCD and OSS, Inc.,L, $ (,( B Z(( (80(8  4p H   <0"$,  & & &   "(BBB    d*  ...:<<<222220&<              L          ( 4  F >     V   J   L   V          ^ d    4$          *  "& $ "8>   (    0,  4  6  D" J * 2$^^"  l*                  r "" ",     &                     R,              8    2     ...&<<<<<<&<<6&6<     :    N  8    :                   "           R  $r $    P* B :   .(0D   .   F            "                *           F     f $                                 ,*< * * , , 0 , " HB@6 h 2J X D   ( 0"L2 N ( *@ B @ B V   x V V8$J 4Programm TERM-ST Version 6.02W. Zweygart, Eifelweg 13, 7030 BblingenProgramiert unter ST:PASCAL von CCD vonPUBLIC DOMAIN / FreewareWeiter (b) Ende des Programms(c) Inhaltsverzeichnis(r) Datei vereinbarenHalt(e) Parameter ndernEingabe(f) VoreinstellungAusgabeEinAusEinAusEinAusEinAusEinAusEinAusHalt(s) Datei vereinbarenHaltHaltEinEin(x) Empfang abbrechen(y) Ausgabe abbrechenEinAusEinAusKurzMittelLang____________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX______________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXDatei EmpfangDatei Senden(a) Bildschirm_______________Datum ____________Zeit _____99X99X9999XX99X99Wartezeit nach CR(h) Echo(k) Xonoff Proto.(j) Xonoff Proto.(i) Vollduplex(m) Line Feed(l) Line Feed(o) Ausgabe(q) Umlaute(p) Umlaute(w) STX/ETX Proto.(t) Speicherung(v) STX/ETX Proto.(u) AusgabeExitAnzahl der Bits56781Anzahl der Stop - Bits1.52Paritt3006001200FertigAuswahl der bertragungsparameterGeschwindigkeit (Baud)NoEvenOddFr spezielle ProblemeRTS/CTSSlow  File Optionen Term - ST-------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 Quit Directory Absenden eines Files Empfangen eines Files ------------------------------------------------------------------------ Aussendung abbrechen Empfang abbrechen------------------------ Empfangen mit XMODEM Absenden mit XMODEM Parameter Echo -------------- Duplex LineFeed Umlaute -------------- bersicht ---------------------------- Lade MacrosXMODEM - Protokoll Filetransfer 0aktuelle Blocknummer:________XXXXXXXX 0aufgetretene Fehler :________XXXXXXXX8@0@ @ @@ pBB""$"$"$"""BBp8@0@ @ @@ pBB""$"$"$"""BBp8@0@ @ @@ pBB""$"$"$"""BBpx0!0 > 0!0  0! 0$CDEno)p( )*+012GHQde!"#()*Ih !>QZx   5 5 5 5  4  V x-  - , 8F H d#  7  I  # f( n r v5 z;~  5 ; 5 ;    5  #(5 D ;`|#    5 !; "# #- $7 % #& '  (- )#*$+P,b-k# .} /#0# 1 2# 3# 4 5#678# ' = D%57%9.;7=? V% Z. \ d  h% l. q7 x! %.  1% PP    P    0 EZo  0G[ t (   !"#$%& ' (%#% 1@ \xh Anleitung zu TERM - ST Zum Terminalprogramm TERM-ST gehren folgende Files: TERM.PRG - das eigentliche Programmfile TERM.RSC - das Resourcefile dazu TERM.MCR - eine Macrodatei, die man sich selbst zusammenstellen kann TERM.DOC - diese Anleitung im 1st-Word-Format TERM.TXT - nocheinmal diese Anleitung, aber als normales Textfile. 1. Starten von TERM-ST Dazu wird das File TERM.PRG zweimal angeklickt. Es werden dann das Programm, die Resourcedatei und die Macrodatei geladen. Wird kein Macrofile gefunden, so wird dies durch eine Meldung angezeigt, es kann aber trotzdem mit dem Terminalprogramm gearbeitet werden. Ging alles glatt, so erscheint nun ein Begrssungsdialog. Nach diesem wird das Arbeitsfenster aufgebaut und die Menuezeile aktiviert. Durch die Menuezeile knnen bereits die wichtigsten Bedienungsfunktionen von TERM-ST erreicht werden. Ein Klick auf die rechte Maustaste, oder die HELP-Taste bringt aber ein sehr komfortables Dialogfenster auf den Bildschirm. Von diesem Fenster aus knnen fast alle Mglichkeiten des TERM-ST ausgeschpft werden. Die Bedienung erfolgt dabei durch Anklicken des jeweiligen Menuepunktes, oder durch die Eingabe des Kommandozeichens ber die Tastatur. Es ist auch mglich die Befehle durch Drcken der Tab-Taste und sofortige Eingabe des Kommandozeichens anzusprechen. Erfolgt nach Drcken der Tab- Taste keine Eingabe so wird zur Erinnerung das Dialogfenster angezeigt. Dieses mu dann aber durch die Anwahl des Exit-Feldes oder durch Return verlassen werden. Erfolgt das Kommando nur durch die Tastatur so wird, wenn immer sinnvoll, eine Meldung ber die ausgefhrte Aktion auf den Bildschirm gebracht. Ein Kommando ber die Tastatur wird nur durch die Tab-Taste ausgelst, das Ctrl-I -Zeichen wird normal als solches gesendet und nicht als Einleitung eines Befehls interpretiert. Es ist das Senden jedes beliebigen Kontrollcodes mglich, auch ESC und Ctrl-C. 2. Die Befehle von TERM-ST Die Befehle sind nach dem Kommandozeichen geordnet. (a) Bildschirmausgabe anhalten/fortsetzen. Ankommende Zeichen werden gespeichert. (b) Programm beenden. Wenn eine Datei oder Ausgabe aktiv ist, dann erfolgt eine Meldung, und das Programm wird nicht abgebrochen. (c) Es wird das Directory des Laufwerks, in welches die empfangene Datei abgespeichert wird/wrde, angezeigt. (e) Eine Dialogbox zur Einstellung der Sende- und Empfangsparameter wird angezeigt. (f) Zur Voreinstellung werden die wichtigsten Paramter ausgewhlt. (h) Ein- oder Ausschalten der Echofunktion der Zeichen. Damit ist eine direkte Kommunikation mglich. (i) Auswahl von Voll- oder Halbduplex. (j) Schaltet XonXoff -Protokoll fr die Eingabe ein/aus. (k) Schaltet ebenso XonXoff -Protokoll, aber fr die Ausgabe. (l) Bei der Eingabe wird ein LineFeed an ein Return angehngt. (m) Die Ausgabe eines LineFeed's nach einem Return kann ein- oder ausgeschaltet werden. (o) Die Ausgabe ber die Schnittstelle wird angehalten und in einem Puffer zwischengespeichert. (p) Die ausgegebenen Umlaute knnen von ST/IBM-Norm auf ASCII-ISO-Norm umgesetzt werden, d.h. Umlaute werden zu eckigen oder geschweiften Klammern. (q) Ebenso kann bei der Eingabe eine Wandlung der Umlaute erfolgen. (r) Es wird eine Empfangsdatei vereinbart, der Empfang aber noch nicht in die Datei geschrieben. Existiert bereits eine Datei mit dem vereinbarten Namen, so wird diese berschrieben. (s) Es wird eine Sendedatei vereinbart. Es wird aber noch nicht gesendet. (t) Mit diesem Kommando wird nun die Speicherung der Daten angehalten und fortgesetzt, wenn eine korrekte Datei vereinbart wurde. (u) Damit kann die Ausgabe der Daten gestartet, angehalten und wieder fortgesetzt werden. Bei einem Upload werden die ausgegebenen Zeichen auf dem Bildschirm angezeigt. (v) Der Empfang einer Datei wird durch STX und ETX-Zeichen kontrol- liert. Damit ist ein genauer Start und Ende der Speicherung von der Gegenstation steuerbar. (w) Es werden STX zum Start und ETX zum Ende der bertragung gesendet um eine Steuerung der Gegenseite zu erlauben. (x) Der Empfang einer Datei wird abgebrochen, der Rest des Empfangpuf- fers geschrieben und das File geschlossen. (y) Die Ausgabe der Sendedatei wird sofort abgebrochen und das File geschlossen. Auer diesen Befehlen, die sowohl durch Tastaturcodes als auch durch Auswahl des Dialogmenuepunktes mit der Maus gegeben werden knnen, gibt es noch einen Befehl,der nur mit der Maus ausgewhlt werden kann. Es ist eine Wartezeit nach der Aussendung eines Returns einstellbar um der Gegenstation eine Gelegenheit zum Scrollen des Bildschirms zu geben. Diese Verzgerung kann kurz, es erfolgt praktisch keine Verzgerung, mittel oder lang eingestellt werden. Fr die meisten Flle sollte eine mittlere Verzgerung gengen. Zustzlich kann im Parameter-Menue, oder durch das Macrofile, noch der sogenannte SLOW- Modus ausgewhlt werden. Er soll dazu dienen bei einer bertragung die Aussendung von Zeichen so stark zu bremsen, da z.B. Koppler und Modems, die ein Geschwindigkeitssplitting durchfhren, nicht durch die Daten berfahren werden, oder bei der Kommunikation mit sehr langsamen Mailboxen. In der Menuezeile steht auerdem der Befehl 'Lade Macros' zur Verfgung, dadurch ist es mglich im Programm ein neues Macrofile zu laden oder in die Voreinstellung zurckzuschalten. Zwischen den Befehlen, die durch Tastaur bzw. durch die Dialogauswahl gegeben werden knnen, und den Befehlen in der Menueleiste bestehen einige wesentliche Unterschiede: 1. Wird aus der Menuezeile eine File- Ein- oder Ausgabe angesprochen, so erfolgt die Ein- oder Ausgabe sofort und mu nicht gesondert gestartet werden. 2. Wird die Einstellung von Umlautwandlung, XonXoff-Protokoll und LineFeed von der Menueleiste aus gendert, so gilt dies immer fr Sendung und Empfang. 3. Ebenso wird der Menueleisteneintrag nur dann mit einem 'Checkmark' versehen, wenn dies fr Ein- und Ausgabe gilt. 4. Von der Menuezeile aus ist auch ein Empfang von Files mit dem sogenannten XMODEM-Protokoll mglich. Durch dieses Protokoll ist es mglich Files blockweise mit einer Prfsumme zu bertragen. Dazu mssen beide Seiten mit diesem bertragungsprotokoll arbeiten. Die Aussendung bzw. der Empfang eines Files mit XMODEM ist unabhngig von der Aussendung oder dem Empfang eines Files im Ascii-Format oder im STX-ETX-Protokoll. Wenn das XMODEM-bertragungsprotokoll in der Menueleiste angewhlt wurde, so erscheint ein kleines Dialog- fenster auf dem Bildschirm. Die Anzahl der korrekt bertragenen Blocks und die Anzahl der fehlerhaften Blocks wird in diesem Dialogfenster angezeigt. Das Programm versucht fnfmal einen Block zu bertragen (oder zu empfangen), danach wird die XMODEM-bertra- gung abgebrochen und in den normalen Modus zurckgesprungen. Ein Abbrechen der XMODEM-bertragung ist nicht mglich. Rufen Sie das XMODEM-Protokoll nur dann auf, wenn sie sicher sind, da Ihre Gegenstation auch sofort mit XMODEM arbeiten kann, sonst wartet das Programm einige Zeit auf die Protokollzeichen. Werden in einer bestimmten Zeit keine richtigen Steuerzeichen empfangen, so wird die XMODEM- bertragung abgebrochen und in den normalen Modus zurckgekehrt. 3. Allgemeines Auf dem Bildschirm wird ein Subset des VT-52-Terminals mit folgenden Einschrnkungen emuliert: 1. Der Bildschirmarbeitsbereich hat nur 22 Zeilen. 2. Das Kommando ESC p fhrt zu einer Fettschrift und nicht zur Invertierung. 3. Der Zeilenberlauf bleibt immer eingeschaltet. 4. Befehle, die ein Scrollen eines Teils des Bildschrims zur Folge htten, werden nicht ausgefhrt. Die ESC-Sequenzen werden nicht in die Empfangsdatei bernommen. 4. Der Aufbau von TERM.MCR Die MaCRo-Datei wird beim Start von TERM.PRG sofort geladen, und hat folgende Startwerte: Zeile 1 enthlt den Download-File- und/oder Pfadnamen Zeile 2 enthlt den Upload-File- und/oder Pfadnamen Zeile 3 enthlt die Zahl der Datenbits (5,6,7,8) Zeile 4 enthlt die Zahl der Stopbits (1,1.5,2) Zeile 5 enthlt die Paritt (N/O/E) Zeile 6 enthlt die Geschwindigkeit (300 .. 4800) Zeile 7 enthlt einen Konfigurations- und Kommandostring In diesem Kommandostring kann in beliebiger Reihenfolge durch einzelne Zeichen die Konfiguration des Terminalprogrammes gendert werden. Dazu stehen folgende Kommandozeichen zur Verfgung (Beachten Sie bitte die Gro- Kleinschreibung der Befehle): d Duplex h Halbduplex e Echo ein o Echo aus x Xon/Xoff-Protokoll bei der Ausgabe einschalten t Xon/Xoff-Protokoll bei der Ausgabe ausschalten X Xon/Xoff-Protokoll bei der Eingabe einschalten T Xon/Xoff-Protokoll bei der Eingabe ausschalten l LineFeed beim Senden einschalten n LineFeed beim Senden ausschalten L LineFeed beim Empfang einschalten N LineFeed beim Empfang einschalten u Umlautwandlung fr Sendung einschalten a Umlautwandlung fr Sendung ausschalten U Umlautwandlung fr Empfang einschalten A Umlautwandlung fr Empfang ausschalten s Slow- Modus einschalten f Slow- Modus abschalten r RTS/CTS- Kontrolle einschalten c RTS/CTS- Kontrolle abschalten Zeile 8: In der Zeile 8 mu ein Wert eingetragen werden, der die Verzgerung im Slow- Modus angibt. Dieser Wert kann zwischen 0 und 32767 betragen. Ein Wert von 10000 entspricht etwa 75 Baud. Er ist nur relevant, wenn der Slow- Modus auch eingeschaltet ist, mu aber immer in der 8. Zeile eingetragen werden. Ab Zeile 9 beginnen die eigentlichen Macros. Das erste Macro von Taste F1. Es sind so insgesamt 30 Macros verfgbar. Sie werden entweder direkt mit der entsprechenden Funktionstaste oder dann ber Control-Funktionstaste oder Alternate-Funktionstaste aufgerufen. Ein Makro kann Maximal 255 Zeichen lang sein. Der Aufwrtspfeil '^' in einem Macro wird in ein 'Return' umgewandelt und je nach Einstellung noch ein 'LineFeed' hinterher. Es ist vorgesehen, da das Macrofile mit einem handelsbli- chen Editor erstellt wird, bzw. das mitgelieferte File modifiziert wird. Da Macro-Files neu geladen werden knnen, empfiehlt es sich fr jede Anwendung ein eigenes Macro-File zu erstellen, z.B. eines fr die Kommunikation mit Mailboxen, eines fr die Datex-Netze usw.. Das Programm funktioniert in jeder Auflsungsstufe. In der niedrigsten Auflsung ist das Dialogfenster aber etwas ungnstig zu lesen. So das war's schon. Wolfgang Zweygart Eifelweg 13 7030 Bblingen Tel.: 07031/273446