w<>p DO` O`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} O @ ` @ ` ` @ ` ɠ / @ ` ׀ ٠ @` OO` O`! #@%`')+-/1 3@5`79;=?A C@E`GIKMOQ S@U`WY[]_a c@e`gikmoq s@u`wy{} O @ ` @ ` ` @ ` ɠ / @ ` ׀ ٠ @` OA478 xLGANGLION U'IR U'LAOKOON V'WATOR V'LEES DIT K. U'.. GANGLIONPRG F 2GANGLIONRSC F `1@0N6NNN8NNNtN4N0x*O*m - ЭЭм!"ҍ¼.A// Bg?<JNA m"m -So Q m -SBQ(m)M*mN0 lHhNX/,?,N \?<N4?<A?<NAXNuNV0,fB?<N2\9|N^NuNV0,gB?<N\BlN^NuNVBn`0.RnA0 n m9|9lHlHlHlN* Hl?<?,N+0PN^NuNV=n=n 0.n =@0. n=@Hn?<?,N*PN^NuNV?,?,?,?,?<Nj 9@BgBgHl?<?,N ?,?,?,?,?,?,0,2,HA?0,2,HA?N2?,?,?,?,?,N HlHlHlHl?<?,N^N^NuNVNZBn`0.A l:Hl 0.A0Z@?0.A0[@??,N* `6Hl0.A0Z@?0.A0[@??,N*n Rn nmrNN^NuNVBn`Rn nl0,2.AP @l0,2.APD@`0,2.AP @2l0,2.AP @l0,2.APD@`0,2.AP @l\ nl|0.A Pl( ,/ </N м)@ @m0.A Pf.N?<?,N'TX?<?<20.A?0.A??,N) 0.A0Bn`0.A Po0.A 2.A2.A/ /N 2.A/ /N / <,/N* X2.A"/"</N|"Ё-@`B .lRn nmN lm9|9|NN$N^NuNVBn`0.A Po0.ASP0.A Pl`0.A PoLN&?<?,N%X?<?<20.A?0.A??,N( NNRn nm`=|`>0.A02.A00.A02.A0Tn nm0<T2,HA9@ lm0<2,HA9@`9| lol llRl lol llRlN^NuNVN?<?,N$zX?<?,N$XBg?,N$X=l=l0,lS@=@0,lS@=@Hn?,N&\?<?,N$tX?< ?,N#dX=|,=|Bn`80.A=P0.A=PHn?<?,N%PRn nm?<Bg?,N#0\=|,=|=|l=|=|l=|h=|&=|hHn?<?,N%JPBgBg?,N"\?<?,N"X?<?,N#jXBn`6?<?<20.A?0.A??,N% Rn nm?<P?<?<?<,?,N% NHnHnHnHn0, H??,N"fHl?<|?<?,N$ Hl?<J?<?,N$ Hl ?<?<?,N$| Hl*?<?<?,N$d Hl2?<?<?,N$L Hl:?<?<?,N$4 HlB?<?<?,N$ HlL?<?<?,N$ HnHnHnHn?, ?,N!NdN^NuNVHlHlHlHlHlHlBg?<HlBgBgBgBgBgBgBgBgBgBg?,?<?<?<3N J<=@?<NLT0.|g?,?,NX0.| g N6N?<?,N!,X?<?,N!JXBg?,N!jX=|=||=|=|JHn?,N#Z\?<?,N!6XBg?,N XHn?,N#2\Hl?<?,N"P?<?,N X?<?,N XBg?,N X=|=|Hn?,N"\?<?,N XBg?,N VXHn?,N"\?<?,N :XHl?<?,N" PN0.|gz0,`| g`N lf lf?<?</,N zPHlHlHlHl/,N ?,?,?,?,BgN ?,?,?,?,?<?<?<?<?<N ?,?,?,?,?<Bg/,N ?<?<0?,?,?,?,Bg?</,N .Bg/,N h\?,?,?,?,?<?<?<?<?<N \?,?,?,?,?<N @ lf lf HlHlHlHl?<?<?<N0Bn`0,2.AP @l0,2.APD@`0,2.AP @2ln0,2.AP @l0,2.APD@`0,2.AP @l"0.A / T0.|g lf?,N vT?,?,?,?,?,?,0,2,HA?0,2,HA?N>?,N @T?,NTBg/,NT\NDN^NuNVN?<,NTH)@Bn`^0<d2.A2.A00.A0F0.A02.A00.A0"Rn nmBn`r ,/ </NX м)@2.AH 0.A n0.A `0.A Rn nmBn`R0<n2.A00.A0w0<n2.A00.A0Tn nmBn`0.ABPRn nm0<9@9@)|)|)|t)|)| )|.)|)|HlTNX=@f(?.HlbN\Hlp?<Np\?<NXTHlBgBgNP=@f(?.HlNF\Hl?<N4\?<NTHl?<BgNP=@f(?.HlN\Hl?<N\?<NT?</,N\HlHlHlHlN9@HlHlHlHl?<BgNhNNHBBgN\Hl?,Nx\BlBl9|NN^NuNu)Iz)Jv"/0<NB"lz$lvNu NV9nv0.| A" AA-H=|` nR2.AvH0Rn nm/,N.X0,$N^NuNVAv)HAV)HA4)HA$)HA)HA)H A)H?< NXT9l$0,N^NuNV?<N9n@9nB9nD9nF9nH9nJ9n L9n"N)n$9n(P9n*R?<NxT n,0& n00( n40* n80, n<0. n@000,$N^NuNV)n9n 4?<N&TN^NuNV)n9n 49n6?<!NTN^NuNV)n9n 49n69n89n:9n<9n>?<*NTN^NuNV)n9n 49n69n89n:9n<9n>9n@9nB?</N~TN^NuNV)n9n 4?<2N`TN^NuNV9n49n 69n 89n:9n<9n>9n@9nB9nD?<3NTN^NuNV9n4)n ?<4NTN^NuNV)n?<6NT n 0& n0( n0* n0,0,$N^NuNV9n49n 69n 89n:9n<9n>9n@9nB?<IN|TN^NuNV9n49n 69n 89n:9n<9n>9n@9nB?<JN:TN^NuNV?<MN(T n0& n 0( n0* n0,0,$N^NuNV9n4)n ?<NNTN^NuNV9n49n 69n 89n:9n?<iNTN^NuNV9n4?<kNTN^NuNV)n?<nNTN^NuNV9n49n 69|~?<pNTBl~ n 0,$N^NuNV?.N T nn0<`?.?<>N X9@g0<`0<N^NuNV?.?<LN XN^NuNV/ A>&H`0+ |g/ N*X A>"Ҽm?.NT&_N^NuNV/ &n/ NDXJ@g0<`00+ |g /+N XBk ?+ N,TJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NP?/+?+ NP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNV/ &n Bk0+ |fk@ 0+ |@g0<` `R0+ |g A>AA &'@`*0+H/NZX&'@ fk `k g0+ |g SR k `<0+ |g2k SR . H| g kl . H|`T/ N\XJ@g k@ 0<`<0+ |gBk. H|`"` 0+S@7@k . SRH|&_N^NuNV n Sh0( @m. n "R AH|`/. . H?N\N^NuNV fBC`&SCdTC0|g0|gԼdRC`|CHBC0|@HB LN^NuNVNVH n " n $&JjFFJjFFLN^@NuNVH n"n $0(H@6C|g.0)H@:E|gE|BB0<まef bRAQ$0P`HNVH n$0(H@6C|gd"n .0)H@:E|gD|E(HD*HE20HGHBBB8:BGBBЇӄЂӅJg$0P`B`NVH"n 0<9@رQ`NVH"n Bl n,0(H@8D|fB.0)H@:E|fB2$60Enfl8,:.6$0Jg0Eg|n0@gDԇ0,رQ fBB`HSCdTC0|g0|gԼdRC`|"|CHB|C0|@HB AHABA LN^NuNVH0.|=@n n f n0H-@HnNXA-H`> n(g nf. n-P n(f HnNX` HnN>XA-H/./. 0.A PNPLN^/W DNuN^NuNVH nB fB`м8 LN^NuNVH n$fBCB`nD6< f႖|NzN^NuNVH0&n$n Bn-J @)P)h-l-lBEG>O|g|JGn|m` REHl/ NRPO`SEHl/ NPO`&0+H@JGgDG0<0dR@0.BAQ,>QQֆG|0QB`Rn0.g$nB`0R 2.HmB`b .6.HЃR$@ nH|0fRZ"` R"H|9n nH|0f$n R&@fSE .6.HЃ @B n0L N^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BNZ -@?<?.B?<BN@ -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<HN\N^NuNV/.?<INr\N^NuNVBn`&0.A~0nf0.A~BPRn nLmN^NuNV?>.=|0A~"HPgXHf0(>N^Nu)Iz)Jv)_rNA"lz$lv/,rNuNVH&n Bn0.|dg`>< `.`|ug`>< ``|og`><``|xg`>< l* ndf SR- .D-@`0. f Gf .`& Gf .` ./0H/NX 2.RnA0 Gf .`( Gf .` ./0H/NV X-@ .fp`FSn0.A P m0.A0| |A`0.A0|0 SR0.fLN^NuNVH&n n f=| )n)nHl Hl?<N>]|@0. R@?HnHnHnN>.g SR-.H|0f.f SR`J nff>.n RG0lo0,`0> Gl0<`0?HnHnHnNBF`0RFA SRSGSn0g nl` SR0Sn nl0. g SR.` SR0RnSn 0. g nm`" Go0RFAH`0<0 SRSG0. Sn J@f`` SR0. g SR.><`0RGA SR0. Sn J@f SRE?.Hl(/N: /NpXHѓLN^NuNVBn`"0. n PHC|0=@ nR n PH|0m n PH|9o0.N^NuNVH0&n -n @$PX`R` nRg H|%fH|%f,RBn=|Bn| H|-f=|RH|0f|0R-JHnN$X=@$nH|.fR-JHnNX=@$nH|lf=|RgH-n Gdg Gog Gxg GufB0.g @ ` @0H/Hn?.?NV 0.g0<`0<H` Gcf R @ nRT` Gsf4 @-PX<.` nR nRSF0g nf`J Geg Gfg Ggf, @)P)h/,/,Hn?.?NP` 0 nR .nl0.g$<.".A` nRSF0f`b .2.SAHЁ-@-@,.` .2SAHЁ @ nSSF0f` nR .o .R-@f nB .L N^NuNV/. HnNhP=@/.HnN8P0.N^NuNVHnHlRNPN^NuNVHn /.N&PN^NuNV`/. nRH?N:\ nfN^NuNVH0&n$K`Rf `L N^Nu)Iz)JvHl)_^Hl^" <sNB"lz$lvNuNV9n Bl9|9|Bl9nN0,N^NuNV9n 9n 9|lBl9|9nNN^NuNVBl9n 9| 9|Bl9nNT n 0 n0 n0 n0N^NuNV9n 9|Bl9|9nN 0,N^NuNV9n 9|Bl9|9nN0,N^NuNV9n 9|Bl9|9nN0,N^NuNV)nb)nj .мZ)@n9|dBl9| n 9PNr n 0A)HbA)HjA)HnA)HfN^NuNV9|eBlBl9nN*N^NuNV)n f9n 9|9|9|9nNA)HfN^NuNVA)HbA)Hf)n j . мZ)@n9n 9|fBl9|9nNA)HjA)HnN^NuNV)n j . м )@n9|&BlBl9nNbA)HjA)HnN^NuNV)n f9|9n Bl9nN*A)HfN^NuNV9n 9n Bn nR2.RnA|0f9|9|Sn0.9@9nNN^NuNV)n f9| 9|Bl9|9nNA)HfN^NuNV9n 9n 9n9n9| 9|Bl9|9nNPN^NuNV`4 nH| f?< ?<NBX nRH??<N*X0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KA,-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@N 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N` 9@Hg0<`0,nBl0.L N^NuC>"2"2 2"2"2"22"2"2"22"2x9|<)l)l)l)l)l 9|CA"A"A"A$"A*"A"A "Nu GANGLION IE-80 mV+20 mV127 msec0 msec-80 mV+20 mV127 msec0 msecganglion.rscrsrc_load=%d [0][Kein Resource File][OK]rsrc_gaddr=%d [0][Fehler bei rsrc_gaddr LEISTE][OK]rsrc_gaddr=%d [0][Fehler bei rsrc_gaddr URHEBER][OK]@$??CON:AUX:PRT:%d 8nNN$Nn Desk Wirkung ber GANGLION -------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 ndern GANGLION(c)Dr. Karl SarnowWittenberger Str. 823000 Hannover 1compiliert mit MEGAMAX OK 80v89N00  -.EPP $ + P7 H ] r   ! :n 'F 8. U'.. IR PRG F TIR RSC F xJPROTOKOLDAT `~`V;T*` Efv*oM* m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HN&Hx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNHz2?< NA\pdAxr0XQ)K\NNLPxJrBjNuHz?<&NN\NCAp$L Qp N9lrBlJpNNpMN9@pdAr 0Q0tr N9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa2|a>:><|a4g RGj`a(0GVfA1G<ap??<?<NM\Nu??< NMXNuHn 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@N?<,>CEdGH@0r`?<`JBgVB&8TTDуdQRBNuDAр&AdRAрAрDуNuprt|=|6  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.6JgtBn6Nupr$<NuJBk4<rpAC v JBgJjv-| Bb BkH>aaNRFBdL8?N<JBga2SF Be BgQRB`ApdR e <rRF&0xafEv+0JFjDFv-Hƌd0BFHF 0HF0ANuprt|`2:HQ A dNAXJ@jNNu~c0NQNuN` A$ HJo d*b` QjNuQjNubN^NJ@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)lVHN0<}N& ?<NNC`&?<NNT"@ C <}N`N(* 9AJA)H@@[000][ˈN Evz`* [g" ]g |g QSz` zQSpQ][ɈN Dvx`* [g" ]g |g QSx` xQSpQ]Bp4NHNu*( INA)H @depd ae zb QB DNA\)H @ e` ae zb \gQBA BhNpZNA BP"`#|}NA"H0,tg"Hg \f`A\fS A ENAR@H`2QNur|<N @xepw2A$JBjDFHB t`0QBl9F)lVTAtp 9| N2(g"P@g2RADAH""l`r2oZAe 1@#)I`Nuk1@Nup NNj"l`dpNAtrdJhk\QpaNH ld$l`"Hg: k&@0+R`g k#&@0+S@H3 Q&f)I`LNuApNN\$NR$BS@kH2QNupC ұd"X0Pg"RA$D#Nu"X0Nu _0HpN _0HpNp"_0HqNtp"_0HqNtE ұeHHQ0)N$_$ZR@H`2QNu$Y0gHR@@"D%$X0P2g# R@%NupE $ $X0dP.gRG,D%pr Y2dP.gRG,D!p4Ae4v`VfANuNWHNuNVHNu Ihd*NR$E$RR@H`2QˈN ENu2)A IJAfr4(Ae*RBBc0*SA?NR$E$R`QˈN ENup`(* 0(iNR$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退`tSJBkNDRB0 b b瀀`RB0 fрd`2p <0NR`QNur ,* N& ( EN C"Sj|AcJf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NXYp-KNu"l`Yd&-KNNj"l`YepN&#k"C-KN"Cփk փk2##`փk"`2`$Y8gHRDD*D%H8#$c2g# HRDD%H`p"l`Qd&&| NuNj"l`QepZNpr`&AdRd QJBgRBBABJk"l` d&6&|0!NuNj"l` epZNC ҳfHP0(NR$W$RR@H`2Q"H _$l` dd" $X&0BP6Y&|Hg R@@%E ҳeHQ0)N$_$RR@H`2QNu$Y 0P1@Hg R@@%NuNj$l` epZN,jJk `BffAge Jj 2$NuJjNu?<NNTA6N@A6N&<x*<NfN!HxN 0Dieses Programm luft nur| in hoher Auflsung !HPN OKr"_ N A.pC킼NHPHxN C r "_NHmN 12"_NfN>npC킼NHPHxNC . C4r "_NHmN 13"_NfN>pC킼NHPHxN C . alr "_NHmN 14"_NfN>pC킼NHPHxN C . arr "_NHmN 15"_NfN?2pC킼NHPHxN C . C : C4r "_NHmN 21"_NfN?npC킼NHPHxN O r "_NHmN R "_NfN?pC킼NHPHxpRNr "_NHmp1N"_NfN?pC킼NHPHxp.Nr "_NHmp1N"_NfN@pC킼NHPHxpCNr "_NHmp1N"_NfN@PpC킼NHPHxp.Nr "_NHmp1N"_NfN@pC킼NHPHxpCNr "_N <r$<HpC킼NHPpC킼NHPpC킼NHPpC킼NHPpC킼NHPA@NhNN"_A8Nx"_A2Nx"_A,Nx"_A&Nx"_A NxLA`NN ^HfNAPA&NhA$NhNHAJNA NNfNHAJNA&NNfNHAJNA,NNfNHAJNA2NNfNHAJNA8NNf4-~NJBfNBRpN0pNA NNfpN0pNA&NNfpN0pNA,NNfpN0pNA2NNfpN0pNA8NNf4-|NJBfNBNDpNA NNfNDpNA&NNfNDpNA,NNfNDpNA2NNfNDpNA8NNfNN ATN"_A퀜Nx -)@BpnN0/-Tp0,ND"_NzNN ATN A`N A\N AXN -X9@A "-\ @0ppN0/-Tp0,ND"_Nz/-` ,jND"_NzNN AtN ApN AlN AhN AdN -d)@Bp6N0/-hp0,ND"_Nz/-lp0,ND"_Nz/-pp0, ND"_Nz/-tp0,"ND"_NzNN ATN A큘N A큔N A큐N A큌N A큈N A큄N A큀N A|N AxN -x9@A "-| @0A "- @0A "- @0A "- @0A "- @0A "- @0A "- @0A "- @0p3N0/-Tp0,ND"_NzNN ATN A클N A큰N A크N A큨N A큤N A큠N A큜N -9@A "- @0A "- @0A "- @0A "- @0A "- @0 -)@Bp*N0/-Tp0,ND"_NzNN ATN A큠NLABN -9@ABN)@Bp2N0/-Tp0,ND"_NzNN ATN AN A큼N A클N A큰N A크N A큨N A큸N A큜N -9@A "- @0A "- @0A "- @0A "- @0A "- @0A "- @0 -)@Bp/N0/-Tp0,ND"_NzNN ATNpoN0/-Tp0,ND"_NzNN"_A퀢Nx AN ANHmpN"_NpC퀢N@ -NDH -ND&<x*<NdL8N&<x*<NNN+@ -/ -N/A퀢NNDH -NNDH <r$<L8N~L8N N""_NNN AN AN ANA퀢NtpdNC퀢N@ -NDH -ND&<x*<NdL8N&<x*<NNNN+@/- -/pd""_N/-HmHmpN"_NNDH <r$<L8N~N"_N"_NNNN IR.RSCHP NhHx/-/-/-/-/-/-/-/- CN+|$ -CN^A$NfR(/-(N>CN/-(N>CN/-(NC킞NN`NqNqN`NqNqNRTB$pA$Nf/-T/-$NC키~N0N`NqNq/-TpC키~NHPN ***ENDE***"_NgNV`STNN453000284001001001 2850281501001002 2880283501001003 2880283501001004 2780275001001004 2825281501001005 3050300001001006 3050300001001007 2900280001001008 2780268001001009 2820278001001010 2780276001001011 3100305001001012 3035299501001012 2705269501001013 3080290001001014 1470143001002001 1440140001002002 1475145001003001 1445143501003002 1430142001003003 1395136501004001 1390138001004002 1375136501004002 1390138001004003 1370136001004003 1395138501004004 1370136001004004 1325131001004005 1330129001004006 1310128001004007 1275126001004008 1250 80001005001 1175114001005002 1220119001005003 1250120001005004 770 76001005005 860 85001005006 805 79501005006 845 83501005007 770 76001005007 770 72001006001 725 71501006002 895 88501006003 1060 80001006004 653095307502001001 3040301002002001 3080307002002002 3065305502002003 3050304002002004 3025301502002005 1420129002003001 1005 67502004001 1005 98502004002 920 90002004002 1850180002004002 985 97502004003 965 95502004003 815 80502004003 965 95502004004 820 81002004004 955 94502004005 875 86502004005 900 88002004006 1850178002004006 945 93502004007 815 80502004007 800 79002004008 990 96002004009 980 97002004010 965 95502004011 955 94502004012 725 67502004013 825 81502004014 840 80002004015 825 81502004016 1690163502005001 1650163502005002 1660164002005003 1690166502005004 1665163502005005 1690166002005006 1690165002005007 1655164502005008 1605159502005008 1605159502005009 1625161502005010 1635162502005011 1635162502005012 1645163502005013 1645163502005014 1645163502005015 1785177502005016 1655164502005017 1575156502005018 1645163502005019 1685167502005020 1695168502005021 1615160502005022 1665165502005023 1665165502005024 1675166502005025 1695168502005026 1575156502005027 1655164502005028 1680167002005029 1655164502005030 1670166002005031 1675166502005032 1620161002005033 93340325003001001 2260210003002001 2125211503002002 2225221503002003 2245223503002004 2245223503002005 2245223503002006 2145213503002006 700 60003003001 53080303004001001 1625157504002001 1525147504002002 2000165004003001 1250 95004004001 143500340005001001 3400280005001002 3105299505002001 3105299505002002 3105299505002003 1590156005003001 1541150005003001 1610156005003002 1510147505003002 1535151505003003 1455141005003003 770 71005004001 990 72505004002 935 70005004003 18 905 89506001001 770 73006001001 710 69006001001 775 73506001002 900 86006001003 865 81006001003 810 75006001003 725 68006001003 800 77006001004 720 68506001004 785 76006001004 900 86006001005 860 80006001005 730 69006001005 860 78006001006 900 84006001007 850 80006001007 730 67506001007 172260224007001001 2240221507001002 2240223007001003 2280227007001004 2225217507001005 2210218507001006 2305228007001007 2200207007001008 2220213007001009 2170213507001010 2090202007001011 1395136507001012 1335129007001013 725 55007001014 755 74507001015 2150211007002001 2310213007003001 373050295008001001 1950193008002001 2025201508002002 1705169508002003 1075106008002004 855 84508003001 2155213008004001 2160215008004002 2135212508004003 2050200008005001 2050201008006001 2050203508006002 2035201008006003 2100205008006004 1650164008006005 1620161008006006 1355134508006007 2180201008006008 1645156008006009 2275223008007001 2235222508007002 2280227008007003 2305229508007004 1395138508007005 2220213008007006 2150205008008001 955 94508008002 700 65008008003 2090202008008004 2150210008009001 1395138508009002 2250208008010001 1350118008010002 1105109508011001 1055104508011001 1255124508012001 1140113008012001 123650320009001001 3650359009001002 3550345009001003 3500320009001004 3200250009001005 1450120009002001 1260 97009003001 1075100009003002 1125100009003003 1210110009003004 1260118009003005 700 009004001 181310100010001001 1150108510001002 1170111510001003 1225118010001004 1275120010001005 1275126510001006 845 83510001006 1035102510001007 985 97510001007 1075106510001008 920 91010001008 1240123010001009 1105109510001010 820 81010001010 955 94510001011 930 92010001012 885 87510001013 805 79510001014 73450320011001001 3455344511001002 3305299511001003 1200100011002001 1000 80011003001 1760174511003002 1820177011003003 183500330012001001 3455344512002001 3000200012003001 3000200012003002 3000200012003003 3000270012003004 3000270012003005 2700225012003006 1650155012004001 1650155012005001 1600146012006001 1600146012007001 1600146012008001 1400100012009001 850 70012010001 850 70012011001 1110 93012012001 770 68012012001 271400100013001001 1100100013001002 1150100013001003 3080299013001004 1350110013001005 1350115013001006 1750174013001007 1250110013001008 780 68013002001 815 75513003001 1110 76013003002 920 82013003003 1500 80013003004 830 013004001 830 70013004002 700 013005001 600 013006001 1055103513006002 1080107513006003 1095109013006004 1045103013006005 1075106513006006 1075107013006007 1060105513006008 600 013006009 625 013006010 1100 65013006011 82900280014001001 2780268014001001 1765164514002001 1740172014002002 1765173014002003 1710168514002004 1695166014002005 1670164514002006 351775165015001001 1720171015001002 1700169015001003 1690168015001004 1780177015001005 1755174515001006 1720171015001007 1710170015001008 1720171015001009 1680167015001010 1650160015001011 1700169015001012 1670166015001013 1675166515001014 1695168515001015 1680167015001016 1605159515001017 1725171515002001 1780177015002002 1765175515002002 1765165515002003 1735162515002003 1680167015002004 1655164515002005 1685167515002006 1680167015002007 1680167015002008 1635162515002008 1725171515002009 1655164515002010 1620161015002011 1605159515002012 1680167015002013 1605159515002014 1680167015002015 331790165016001001 1750173516001002 1730171016001003 1730171516001004 1690167016001005 1790174016001006 1765175516001007 1690165016001008 1765175516001009 1740173016001010 1755172516001011 1755174516001012 1740173016001013 1655164516001014 1635162516001015 1745173516001016 1720171016001016 1775176516001017 1845183516001018 1775176516001019 1805179516001020 1755174516001021 1740173016001022 1765175516001023 1725171516001024 1735172516001025 1330105016002001 1330105016002002 1190118016002003 1245123516002004 1215120516002005 1185117516002006 1170116016002007 433500310017001001 3500340017001002 3350310017001003 3355334517001004 3185317517001004 3205319517001005 3105309517001005 3205319517001006 3105309517001007 3255324517001008 1740163017002001 1695168517002002 1690168017002003 1655164517002004 1655164517002005 1665165517002006 1655164517002007 1750174017002008 1730172017002009 1655145017002010 1675166517002011 1605159517002012 1740167017002013 1755174517002014 1705169517002014 1655164517002015 1695168517002016 1715170517002017 1630151017003001 1630151017003002 1615160517003003 1535152517003004 1635162517003005 1545153517003006 1560151017003007 1405139517003008 1255124517003009 1335132517003010 1155114517003011 1470146017003012 750 60017003013 705 69517003014 805 79517002015 561820163018001001 1745173518001002 1265125518001003 1775176518001004 1235122518001005 1790178018001006 1220121018001007 1825181518001008 1205119518001009 1710170018001010 1155114518001011 1730172018001012 1135112518001013 1740173018001014 1080107018001015 1650164018001016 885 87518001017 1655164518001018 845 83518001019 1720171018001020 835 82518001021 1785177518001022 1160115018001023 1790178018001024 1775176518001025 1780177018001026 1705169518001027 1625161518001028 1730172018001029 1235122518001030 1705169518001031 1625161518001032 1675166518001033 1195118518001034 1675166518001035 1255124518001036 1745173518001037 1665165518001038 1780168018001039 1725162518002001 1690164518002002 1330132018002003 1105109518002003 3400320018002004 1680163518002005 1590154018002006 1725162518002007 3400320018002008 1670162018002009 1675165518002010 1225103018003001 1230122018003002 1175116518003003 1340113018003004 1055104518003005 1065105518003006 213550250019001001 3550350019001002 3300250019001003 1800165019002001 1800174019002002 1740165019002003 1725170019002004 1715169019002005 1700168019002006 1740172019002007 1670165019002008 1440121019003001 1440121019004001 960 88019005001 1610155019006001 1580157019006002 1450140019007001 780 77019007002 930 92019007003 685 67519007004 605 59519007005 113400200020001001 3100200020001002 3350200020001003 3400320020001004 1660159020002001 1550148020003001 1760159520004001 1600159020004002 1755170020004003 1760173020004004 1600159020004005 51820175021001001 1900187021001002 1730172021001003 1300 90021002001 875 86521002002 101870172522001001 1825181522001002 1765175522001002 1855184522001003 1780177022001003 1805179522001004 1765175522001004 1050 90022002001 1045103522002002 925 91522002003 251690158023001001 1675166523001002 1650164023001003 1635162523001004 1660165023001005 1560155023001006 1660165023001007 1650164023001008 1640163023001009 1650164023001010 1630162023001011 1875158023001012 1540151523001013 1670160023001014 1690164523001015 3305329523001016 1330132023001017 1105109523001017 1680163523001018 3005329523001019 1590154023001020 1640160523001021 1640158023001022 1690164523001023 1500117023001024 113605270024001001 3605359524001002 3300310024001003 2705269524001004 1685152024002001 1685165024002002 1645161524002003 1580152024002004 1680162024002005 1475131524003001 1050 40024004001 141500140025001001 1480145025002001 1335131525003001 1455144525004001 1055104525005001 1410117525006001 1290117525006002 1425138525006003 1345132025006003 1300125025006004 1415140525006005 1400139025006005 1585154025006006 1510149025006007 151680145026001001 1680165026001002 1625161026001003 1585154026001004 1510149026001005 1455144526001006 3300320026002001 2505249526002001 2300225026002001 805 79526003001 605 59526004001 655 64526004002 855 84526005001 1105109526005002 1045103526006001 131660149027001001 1660162527001002 1570154027001003 1560149027001004 1630153027001005 1390126027002001 1285127027002002 1390134027002003 1360131027002004 1315126027002005 875 86527002006 765 75527002007 705 69527002008 122600254028001001 915 80028002001 710 57028003001 505 49528004001 2885287528005001 2865285528005002 1435142528005003 1330129028005004 1430142028005005 815 75528005006 635 62528005007 725 55028005008 141275103029001001 1075103029001002 1210108029001003 1220121029001004 2555254529001005 865 85529001006 1125107529001007 1130110529001008 1100106529001009 1100107529001010 1140109029001011 1535152029001012 1380130029001013 750 58029001014 401225 98030001001 1060101530001002 1105109530001003 870 81030001004 1140113030001005 740 72030001006 710 69030001006 1225119530001007 1140113030001008 1035102530001009 985 97530001009 1105109530001010 1055104530001010 1255124530001011 1140113030001012 1420100030002001 1420100030002002 1420100030002003 1370129030002004 1170111030002004 1375135030002005 1185116530002005 1345133530002006 1155114530002006 1415139030002007 1200118530002007 1365131530002008 1180115030002008 3350325030002009 1755174530002010 725 65030002011 1410137530002012 1205117030002012 1355134030002013 1165115030002013 1250114030002014 1070103030002014 1315122030002015 1140105030002015 870 69030003001 622440227531001001 2700265031002001 2300225031003001 1260 85531004001 1050 97031004002 830 74031004003 1260116031004004 995 91531004005 875 85531004006 1100 94031004007 980 90031004008 1300 96031005001 1190115031005002 1265120031005003 1280124031005004 1300126031005005 1220115031005006 1250 99031005007 1125 97031005008 1000 96031005008 1205109031005009 1200109031005010 1090 99531005010 1255124531005011 1230121031005012 1030102031005012 1140105031005013 1090 97031005013 1250121031005014 1285112031005015 1120105031005015 1220117031005016 1245115031005017 1110105031005017 1240120531005018 1310126031005019 1200119031005020 1280127031005021 1265125031005022 1305129531005023 1245123531005023 1255124531005024 1240123031005025 1265124031005026 1365126031005027 1330128031005028 1365126031005029 1285127531006001 800 70031007001 1090 91031008001 1110 93031008002 770 68031008002 1500123031008003 1390130031008004 1370131031008005 1295117031008006 750 58031008007 600 031008008 1310128031008009 905 76031008010 1100 80031008011 600 031008012 292250209032001001 2160209032001002 2255224532001003 2210212032001004 1010 70032002001 1275126032003001 860 76032004001 1110100032005001 900 60032005001 1110100032005002 850 80032005002 1090103032005003 650 032005003 900 80032005004 3700320032005005 1035102532005006 850 65032006001 1250 83032007001 950 83032007002 3405339532007003 950 83032007004 1250110032007005 3575356532007006 1545153532007006 980 82032008001 920 82032008002 945 87032008003 980 86032008004 625 032008005 62640220033001001 1380131033002001 3300320033002002 1550133033003001 1240 62033004001 1500 80033004002 01000001 Teil 1: Alkylgruppen 01000002 -------------------- 01001001 ->C-H st --- Alkyle: variabel, oft mehrere Banden --- I- 5 01001002 ->C-H st O-CH3 Methylether I- 5 1401001003 ->C-H st O-CH2 Ether I- 5 1401001004 ->C-H st O-CH2-O Methylendioxy I- 5 1401001005 ->C-H st O-CH-O Acetale, schwach I- 5 1401001006 ->C-H st I- 5D00O2 010301001007 ->C-H st I- 5D00N2 010201001008 ->C-H st CHO Aldehyde I- 5 031801001009 ->C-H st CHO Aldehyde (Fermiresonanz) I- 5 031801001010 ->C-H st N-CH3 nur Amine I- 5 021601001011 ->C-H st N-CH3 in aliph. Dimethylaminen I- 5 021601001012 ->C-H st I- 5D 0101001013 ->C-H st I- 5S 0101001014 ->C-H st Hal-C-H I- 5 1701002001 -CH3 da as --- Alkyle: mittel --- I- 5 01002002 -CH3 da as CH3CO, CH3-C=C Methylketone, Acetale I- 5 0301003001 -CH2 da --- Alkyle: mittel --- I- 10 01003002 -CH2 da CH2-C=C, CH2-C:::C I- 10 01003003 -CH2 da CH2-C=O, CH2-C:::N, CH2-X (NO2,Hal,S,P) I- 10 01004001 -CH2 da sy --- Alkyle: mittel --- I- 10 01004002 -CH2 da sy -CH(CH3)2 I- 10 01004003 -CH2 da sy >C(CH3)2 meist Dublett I- 10 01004004 -CH2 da sy -C(CH3)3 manchmal Triplett I- 10 01004005 -CH2 da sy O2S-CH3 I- 10 030401004006 -CH2 da sy -S-CH3 Sulfide I- 10 0401004007 -CH2 da sy P-CH3 I- 10 3501004008 -CH2 da sy Si-CH3 starke, scharfe Bande I- 10 3601005001 -CH3 ga --- Alkyle: variabel, ohne prakt. Bedeut. --- I- 15 01005002 -CH3 ga -CH(CH3)2 Dublett I- 15 01005003 -CH3 ga >C(CH3)2 meist Dublett I- 15 01005004 -CH3 ga -C(CH3)3 Dublett, oft nicht aufgeloest I- 15 01005005 -CH3 ga ->SiCH3 I- 15 3601005006 -CH3 ga >Si(CH3)2 I- 15 3601005007 -CH3 ga -Si(CH3)3 I- 15 3601006001 -CH2 ga --- Alkyle: mittel, manchmal Dublett --- I- 15 01006002 -CH2 ga C-(CH2)n-C n >= 4 I- 15 01006003 -CH2 ga in Cyclohexanen I- 15S 0101006004 -CH2 ga Cycloalkane, mehrere Banden, unzuverlaessig I- 15 02000001 02000002 Teil 2: Alkenylgruppen 02000003 ---------------------- 02001001 =CH2 st --- Alkene: mittel, oft mehrere Banden --- I- 20 02002001 -=CH st --- Alkene: mittel, oft mehrere Banden --- I- 20 02002002 -=CH st In Ringen: I- 20D01 0102002003 -=CH st In Ringen: I- 20V01 0102002004 -=CH st In Ringen: I- 20F01 0102002005 -=CH st In Ringen: I- 20S01 0102003001 =CH da ip --- Alkene: Ohne praktische Bedeutung --- I- 20 02004001 =CH da oop --- Alkene: stark, mehrere Banden --- I- 25 02004002 =CH da oop -CH=CH2 in C=C I- 25 02004003 =CH da oop -CH=CH2 in C=C-C=O I- 25 0302004004 =CH da oop -CH=CH2 in C=C-OR I- 25 0302004005 =CH da oop -CH=CH2 in C=C-O-C=O I- 25 0302004006 =CH da oop >C=CH2 in C=C I- 25 02004007 =CH da oop >C=CH2 in C=C-C=O I- 25 0302004008 =CH da oop >C=CH2 in C=C-OR I- 25 0302004009 =CH da oop -CH=CH- trans in C=C I- 25 02004010 =CH da oop -CH=CH- trans in C=C-C=O I- 25 0302004011 =CH da oop -CH=CH- trans in C=C-OR I- 25 0302004012 =CH da oop -CH=CH- trans in C=C-O-C=O I- 25 0302004013 =CH da oop -CH=CH- cis in C=C I- 25 02004014 =CH da oop -CH=CH- cis in C=C-C=O I- 25 0302004015 =CH da oop >C=CH- in C=C I- 25 02004016 =CH da oop >C=CH- in C=C-C=O I- 25 02005001 C=C st --- Alkene: variabel --- I- 30 02005002 C=C st -CH=CH2 I- 30 02005003 C=C st >C=CH2 I- 30 02005004 C=C st -CH=CH- trans, schwach I- 30 02005005 C=C st -CH=CH- cis I- 30 02005006 C=C st >C=CH- schwach, fehlt oft ganz I- 30 02005007 C=C st >C=C< schwach, fehlt oft ganz I- 30 02005008 C=C st C=C konjugiert mit C=C I- 30 02005009 C=C st C=C konjugiert mit C:::C I- 30 0702005010 C=C st C=C konjugiert mit C:::N I- 30 021102005011 C=C st C=C konjugiert mit I- 30S1000111 010802005012 C=C st C=C konjugiert mit C=O I- 30 0302005013 C=C st C=C konjugiert mit I- 30D0000111 0102005014 C=C st C=C konjugiert mit I- 30D00O2111 01031402005015 C=C st in und an kleinen Ringen: I- 35D01 0102005016 C=C st in und an kleinen Ringen: I- 35D0000211 0102005017 C=C st in und an kleinen Ringen: I- 35D00O2211 01031702005018 C=C st in und an kleinen Ringen: I- 35V01 0102005019 C=C st in und an kleinen Ringen: I- 35V0100111 0102005020 C=C st in und an kleinen Ringen: I- 35V0000211 0102005021 C=C st in und an kleinen Ringen: I- 35V0000212 0102005022 C=C st in und an kleinen Ringen: I- 35F01 0102005023 C=C st in und an kleinen Ringen: I- 35F0100111 0102005024 C=C st in und an kleinen Ringen: I- 35F0000211 0102005025 C=C st in und an kleinen Ringen: I- 35F0000212 0102005026 C=C st in und an kleinen Ringen: I- 35F00002111 0102005027 C=C st in und an kleinen Ringen: < *** > I- 35 0102005028 C=C st in und an kleinen Ringen: I- 35S01 0102005029 C=C st in und an kleinen Ringen: I- 35S0100111 0102005030 C=C st in und an kleinen Ringen: I- 35S0000211 0102005031 C=C st in und an kleinen Ringen: I- 35S0000212 0102005032 C=C st in und an kleinen Ringen: I- 35S00002111 0102005033 C=C st in und an kleinen Ringen: < *** > I- 35 0103000001 03000002 Teil 3: Alkinylgruppen 03000003 ---------------------- 03001001 :::C-H st --- Alkine: stark, scharf --- I- 40 03002001 C:::C st --- Alkine: schwach, scharf --- I- 40 03002002 C:::C st C-C:::C-H I- 40 03002003 C:::C st C-C:::C-C I- 40 03002004 C:::C st C-C:::C-C:::N I- 40 021103002005 C:::C st C-C:::C-COOH I- 40 032303002006 C:::C st C-C:::C-COOCH3 I- 40 032003003001 :::C-H da --- Alkine: schwach, ohne prakt. Bedeut. --- I- 40 04000001 04000002 Teil 4: Aromatische Verbindungen 04000003 -------------------------------- 04001001 arC-H st --- mehrere Banden, oft schwach --- I- 45 04002001 arC-C --- mittel, oft Dublett --- I- 45 04002002 arC-C --- mittel, oft Dublett < *** > --- I- 45 0104003001 comb --- sehr schwach, fuer Substitutionsbest. --- I- 45 04004001 arC-H da ip --- mehrere Banden, ohne prakt. Bedeutung --- I- 45 04005001 arC-H da oop --- eine o. mehrere starke Banden --- I- 50 05000001 05000002 Teil 5: 5-Ring-Heteroaromaten 05000003 ----------------------------- 05001001 NH st frei I- 50F10N1101 01021605001002 NH st assoziiert I- 50F10N1101 01021605002001 CH st I- 50F10N1101 01021605002002 CH st I- 50F10O1 01031405002003 CH st I- 50F10S1 01043205003001 CH ga --- variabel, meist Multiplets --- I- 50F10N1101 01021605003002 CH ga --- variabel, meist Multiplets --- I- 50F10O1 01031405003003 CH ga --- variabel, meist Multiplets --- I- 50F10S1 01043205004001 CH da oop --- meist stark --- I- 50F10N1101 01021605004002 CH da oop --- meist stark --- I- 50F10O1 01031405004003 CH da oop --- meist stark --- I- 50F10S1 01043206000001 06000002 Teil 6: Substituierter 6-Ring 06000003 ----------------------------- 06001001 CH da oop ga 5 ben. H, monosubstituiert I- 55 0806001002 CH da oop ga 4 ben. H, o-disubstituiert I- 55 0806001003 CH da oop ga (1+3) ben. H, m-disubstituiert I- 55 0806001004 CH da oop ga 3 ben. H, vic-trisubstituiert I- 60 0806001005 CH da oop ga (1+2) ben. H, asym-trisubstituiert I- 60 0806001006 CH da oop ga 2 ben H, p-di/1,2,3,4 tetrasubstituiert I- 60 0806001007 CH da oop ga 1 H, 1,3,5-tri/penta etc substituiert I- 60 0807000001 07000002 Teil 7: Verbindungen vom Typ X:::Y 07000003 ---------------------------------- 07001001 -C:::N st --- mittel bis stark, scharf --- I- 65 0207001002 -C:::N st C=C-C:::N, R = -C:::N in I- 65S10001R 010207001003 -C:::N st XC-C:::N, X = Cl, Br, I I- 65 011707001004 -C:::N st -CF2-C:::N I- 65 021707001005 -C:::N st >N-C:::N <---> >N(+)=C=N(-) I- 65 0207001006 -C:::N st >N-C=C-C:::N I- 65 0207001007 -C:::N st C:::N-O I- 65 020307001008 -C:::N st (C:::N)(-) I- 65 0207001009 -C:::N st (OC:::N)(-) I- 65 020307001010 -C:::N st -S-C:::N I- 65 020407001011 -C:::N st (SC:::N)(-) I- 65 020407001012 N=O st in C:::N-O I- 65 020307001013 -C:::N st sy (C:::N)(-) I- 65 0207001014 -C-S st in -S-C:::N I- 65 020407001015 -C-S st in (SC:::N)(-) I- 65 020407002001 -N(+):::C(-) --- stark --- I- 65 0207003001 -N(+):::N --- mittel --- I- 65 0208000001 08000002 Teil 8: Verbindungen vom Typ X=Y=Y 08000003 ---------------------------------- 08001001 (C=C)=C-H st --- --- I- 70 08002001 C=C=C st as --- stark --- I- 70 08002002 C=C=C st as I- 70D0000216 0108002003 C=C=C st as C=C=CH2, Oberton bei 1700, schwach I- 70 08002004 C=C=C st sy --- schwach, fehlt bei hoher Symmetrie --- I- 70 08003001 (C=C)=CH2 da --- oop : stark --- I- 70 08004001 C=C=O st as --- sehr stark --- I- 70 08004002 C=C=O st as CH2=C=O --- I- 70 0308004003 C=C=C st as R2C=C=O R = --- I- 70S10001 010308005001 C=C=N st as --- sehr stark, manchmal Dublett --- I- 70 0208006001 C=N(+)=N(-) --- st as: sehr stark --- I- 75 0208006002 C=N(+)=N(-) st as: R-CH=N(+)=N(-) R = al, ar I- 75 0208006003 C=N(+)=N(-) st as: R2CH=N(+)=N(-) R = al, ar I- 75 0208006004 C=N(+)=N(-) st as: R-CO-C=N(+)=N(-) I- 75 020308006005 C=O st in al-CO-C=N(+)=N(-) I- 75 020308006006 C=O st in ar-CO-C=N(+)=N(-) I- 75 020308006007 C=N(+)=N(-) --- st sy: stark --- I- 75 0208006008 C=N(+)=N(-) < *** > I- 75 010208006009 C=O st in < *** > I- 75 010308007001 -N=C=O st as --- stark, scharf --- I- 75 020308007002 -N=C=O st as CH3NCO I- 75 020308007003 -N=C=O st as R-NCO, R = I- 75S10001 01020308007004 -N=C=O st as -CF2NCO I- 75 020308007005 -N=C=O st sy --- schwach --- I- 75 020308007006 -N=C=O st as (N=C=N)(-) I- 75 020308008001 -N=C=S st as --- sehr stark, meist Dublett --- I- 80 020408008002 -N=C=S st sy al-N=C=S I- 80 020408008003 -N=C=S st sy ar-N=C=S I- 80 020408008004 -N=C=S st as (N=C=S)(-) I- 80 020408009001 -N=C=N- st as --- sehr stark --- I- 80 0208009002 -N=C=N- st sy --- sehr schwach --- I- 80 0208010001 -N=N(+)=N(-) --- st as: sehr stark --- I- 80 0208010002 -N=N(+)=N(-) --- st sy: stark --- I- 80 0208011001 C=S=O --- --- I- 80 020408012001 N=S=O --- --- I- 80 02030409000001 09000002 Teil 9: Alkohole und Phenole 09000003 ---------------------------- 09001001 -OH st --- variabel --- I- 85 0309001002 -OH st freies -OH, scharf I- 85 0309001003 -OH st -OH, assoziiert, breit I- 85 0309001004 -OH st -OH, polymer, breit, oft mehrere Banden I- 85 0309001005 -OH st R-O-H <---> R=O...H, Chelate, oft sehr breit I- 85 0309002001 -OH da ip --- mittel, ohne praktische Bedeutung --- I- 85 0309003001 C-O st --- stark, oft Dublett --- I- 85 0309003002 C-O st -CH2-OH I- 85 0309003003 C-O st >CH-OH I- 85 0309003004 C-O st ->C-OH I- 85 0309003005 C-O st arC-OH I- 85 030809004001 -OH da ip --- mittel, ohne praktische Bedeutung --- I- 85 0310000001 10000002 Teil 10: Ether 10000003 -------------- 10001001 C-O-C as --- Ether: stark, manchmal aufgespalten --- I- 90 0310001002 C-O-C as -CH2-O-CH2- I- 90 0310001003 C-O-C as >CH-O-CH< oft aufgespalten I- 90 0310001004 C-O-C as C=C-O-C-al I- 90 0310001005 C-O-C as arC-O-C-al I- 90 030810001006 C-O-C as I- 90D00O1 010310001007 C-O-C as I- 90V00O1 010310001008 C-O-C as I- 90F00O1 010310001009 C-O-C as < *** > I- 90 010310001010 C-O-C as I- 90S00O1 010310001011 C-O-C as I- 90F00O3 010310001012 C-O-C as < *** > I- 90 010310001013 C-O-C as I- 90S00O2 010310001014 C-O-C as I- 90S00O4 010311000001 11000002 Teil 11: Peroxide und Hydroperoxide 11000003 ----------------------------------- 11001001 O-O-H st --- Peroxide, Hydroperoxide: variabel --- I- 95 0311001002 O-O-H st -OOH frei I- 95 0311001003 O-O-H st -OOH assoziiert, in Persaeuren I- 95 0311002001 C-O-O st --- Peroxide, Hydroperoxide: stark --- I- 95 0311003001 O-O st --- mittel bis schwach, Zuordng. unsicher --- I- 95 0311003002 C=O st in Persaueren --- I- 95 0311003003 C=O st in Diacylperoxiden, zwei Banden I- 95 0312000001 12000002 Teil 12: Amine 12000003 -------------- 12001001 -NH2 st --- variabel, meist zwei scharfe Banden --- I-100 0212002001 >NH st --- variabel, nur eine Bande --- I-100 0212003001 -NH3(+) st ) 0212003002 >NH2(+) st >-- mittel, breite stark struktur. Bande --- I-100 0212003003 ->NH(+) st ) 0212003004 -NH3(+) st I-100 0212003005 >NH2(+) st I-100 0212003006 ->NH(+) st I-100 0212004001 -NH2 da --- mittel bis schwach --- I-105 0212005001 >NH da --- mittel bis schwach --- I-105 0212006001 -NH3(+) da ) 0212007001 >NH2(+) da >-- mittel bis schwach, oft mehrere Bdn. --- I-105 0212008001 ->NH(+) da ) 0212009001 C-N st --- mittel, ohne praktische Bedeutung --- I-105 0212010001 -NH2 ga --- mittel bis schwach --- I-105 0212011001 >NH ga --- mittel bis schwach --- I-105 0212012001 P-N-C st I-105 023513000001 13000002 Teil 13: Halogene 13000003 ----------------- 13001001 C-F st --- stark, scharf, oft meherere Banden --- I-110 13001002 C-F st alC-F I-110 13001003 C-F st alC-F2 I-110 13001004 FC-H st in alCF, alCF2 I-110 13001005 C-F st alC-F3 I-110 13001006 C-F st C=CF I-110 0613001007 C=CF2 st I-110 0613001008 C-F st arC-F I-110 0813002001 CF2, CF3 --- mittel bis schwach, Zuordng. unsicher --- I-110 13003001 S-F st --- stark --- I-110 0413003002 P-F st I-110 3513003003 Si-F st I-110 3613003004 B-F st I-110 3713004001 C-Cl st --- stark, oft breit; fehlt in Arylchl. --- I-115 13004002 C-Cl st in -CCl3 I-115 13005001 C-Br st I-115 13006001 C-I st I-115 13006002 C-Cl ga o-Cl in disubstituierten Halogenbenzolen I-115 010813006003 C-Cl ga m-Cl in disubstituierten Halogenbenzolen I-115 010813006004 C-Cl ga p-Cl in disubstituierten Halogenbenzolen I-115 010813006005 C-Br ga o-Br in disubstituierten Halogenbenzolen I-115 010813006006 C-Br ga m-Br in disubstituierten Halogenbenzolen I-115 010813006007 C-Br ga p-Br in disubstituierten Halogenbenzolen I-115 010813006008 C-I ga p-I in disubstituierten Halogenbenzolen I-115 010813006009 P-Cl st I-115 3513006010 Si-Cl st I-115 3613006011 B-Cl st I-115 3714000001 14000002 Teil 14: Aldehyde 14000003 ----------------- 14001001 comb --- Aldehyde, schwach (Fermiresonanz) --- I-120 14002001 C=O st --- Aldehyde, stark --- I-120 14002002 C=O st Aldehyde, al I-120 14002003 C=O st Aldehyde, aa-halogeniert I-120 1714002004 C=O st Aldehyde, ar I-120 0814002005 C=O st Aldehyde, aa-ba-ungesaettigt I-120 14002006 C=O st Aldehyde, mit intramolekularen H-Bruecken I-120 15000001 15000002 Teil 15: Ketone 15000003 --------------- 15001001 C=O st --- Ketone, stark --- I-125 15001002 C=O st al Ketone I-125 15001003 C=O st i-pr-CO-i-pr I-125 15001004 C=O st t-bu-CO-t-bu I-125 15001005 C=O st Ringketone I-125V0000221 0115001006 C=O st Ringketone I-125F0000221 0115001007 C=O st Ringketone I-125S0000221 0115001008 C=O st Ringketone mit 7-9 C-Atomen im Ring I-125 0115001009 C=O st Ringketone mit 15 C-Atomen im Ring I-125 0115001010 C=O st Konjugierte Ketone, aa ba ungesaettigt I-125 15001011 C=C st in konjugierten Ketonen I-125 15001012 C=O st Keton I-125D00001132 0115001013 C=O st aa ba, ga da; aa ba aa' ba' unges. Ketone I-125 15001014 C=O st Keton I-125D00001152 0115001015 C=O st Aryl-Ketone I-125 0815001016 C=O st Keton I-125D00001142 0115001017 C=O st Diaryl-Ketone I-125 0815002001 C=O st aa-Diketon, al I-130 15002002 C=O st aa-Diketon, al, 5-Ring I-130 15002003 C=O st aa-Diketon, al, 6-Ring I-130 15002004 C=O st aa-Diketon, al, enolisiert I-130 15002005 C=C st in aa-Diketon, al I-130 15002006 C=O st aa-Diketon, ar I-130 0815002007 C=O st aa-Diketon, ar, o-Chinone I-130 0815002008 C=O st aa-Diketon, ar, mit peri -OH I-130 0815002009 C=O st ba-Diketon, Ketoform, manchmal Dublett I-130 15002010 C=O st ba-Diketon, Enolform I-130 15002011 C=O st ba-Diketon, Enolform, mit intramol. H-Bruecken I-130 15002012 C=C st stark in ba Diketonen I-130 15002013 C=O st ga Diketone, p-Chinone I-130 15002014 C=C st in ga Diketonen I-130 15002015 C=O st ga-Diketone mit peri -OH I-130 16000001 16000002 Teil 16: Ester & Lactone 16000003 ------------------------ 16001001 C=O st --- Ester, stark --- I-135 16001002 C=O st al Ester I-135 16001003 C=O st konjugierte Ester: aa ba-ungesaettigte Saeure I-135 16001004 C=O st konjugierte Ester: ar Saeure I-135 16001005 C=O st konjugierte Ester: mit intram. H-Bruecken I-135 16001006 C=O st konjugierte Ester: aa-halogenierte Saeure I-135 16001007 C=O st konjugierte Ester: Vinylester I-135 16001008 C=C st stark in Vinylestern I-135 16001009 C=O st konjugierte Ester: Phenolester I-135 16001010 C=O st konjugierte Ester: Phenolester von ar Saeuren I-135 16001011 C=O st aa Ketoester, meist nur eine Bande I-135 16001012 C=O st ba Ketoester, Ketoform, Keton I-135 16001013 C=O st ba Ketoester, Ketoform, Ester I-135 16001014 C=O st ba Ketoester, Enolform I-135 16001015 C=C st stark in ba Ketoestern I-135 16001016 C=O st ga Ketoester, meist nur eine Bande I-135 16001017 C=O st Pseudoester I-135 16001018 C=O st Lactone I-140V00O2221 0116001019 C=O st Lactone I-140F00O2221 0116001020 C=O st Lactone I-140F03O2221 0116001021 C=O st Lactone I-140F02O2221 0116001022 C=O st Lactone I-140S00O3221 0116001023 C=C st Lactone I-140S06O3221 0116001024 C=O st Lactone I-140S03O3221 0116001025 C=C st Lactone I-140S04O3221 0116002001 C-O st --- Ester, as: sehr stark --- I-140 16002002 C-O st --- Ester, sy: stark --- I-140 16002003 C-O st Formiate, Propionate, hoehere al Ester I-140 16002004 C-O st Acetate I-140 16002005 C-O st Vinylester, Phenolester I-140 16002006 C-O st ga-Lactone, da-Lactone I-140 16002007 C-O st Methylester von al Saeuren I-140 17000001 17000002 Teil 17: Amide & Lactame 17000003 ------------------------ 17001001 N-H st --- mittel, bei prim. Amiden zwei Banden --- I-145 17001002 N-H st frei I-145 17001003 N-H st assoziiert I-145 17001004 N-H st in primaeren Amiden meist zwei Banden I-145 17001005 N-H st in Lactamen meist zwei Banden I-145 17001006 N-H st mono-Hydrazide I-145 17001007 N-H st di-Hydrazide I-145 17001008 N-H st Imide I-145 17002001 C=O st Amid I --- meist stark --- I-150 17002002 C=O st Amid I Amide: H2NCO-, frei I-150 17002003 C=O st Amid I Amide: -HNCO-, frei I-150 17002004 C=O st Amid I Amide: >NCO-, frei I-150 17002005 C=O st Amid I Amide: H2NCO-, assoziiert I-150 17002006 C=O st Amid I Amide: -HNCO-, assoziiert I-150 17002007 C=O st Amid I Amide: >NCO-, assoziiert I-150 17002008 C=O st 4-Ring Lactam I-150 17002009 C=O st 5-Ring Lactam I-150 17002010 C=O st 6-Ring Lactam I-150 17002011 C=O st Mono-Hydrazide I-150 17002012 C=O st Di-Hydrazide I-150 17002013 C=O st Imide I-150 17002014 C=O st 5-Ring Imid, zwei Banden (1750,1700) I-150 17002015 C=O st Polypeptide I-150 17002016 C=O st Isocyanurate I-150 17002017 C=O st Isocuanurate, aromatisch, substituiert I-150 17003001 N-H da Amid II --- meist stark --- I-150 17003002 N-C=O st sy --- meist stark --- I-150 17003003 s.o. H2NCO-, frei I-150 17003004 s.o. -HNCO-, frei I-150 17003005 s.o. H2NCO-, assoziiert I-150 17003006 s.o. -HNCO-, assoziiert I-150 17003007 s.o. Polypeptide I-150 17003008 C-N st (?) H2NCO- I-150 17003009 C-N st (?) H2NCO-, assoziiert I-150 17003010 C-N st (?) Lactame I-150 17003011 NH da ip H2NCO- I-150 17003012 NH da ip Lactame I-150 17003013 NH da oop H2NCO- I-150 17003014 NH da oop H2NCO-, assoziiert I-150 17003015 NH da oop Lactame I-150 18000001 18000002 Teil 18: Kohlensaeurederivate 18000003 ----------------------------- 18001001 C=O st --- stark --- I-155 18001002 C=O st al-O-CO-O-al I-155 18001003 C-O st al-O-CO-O-al I-155 18001004 C=O st ar-O-CO-O-al I-155 0818001005 C-O st ar-O-CO-O-al I-155 0818001006 C=O st ar-O-CO-O-ar I-155 0818001007 C-O st ar-O-CO-O-ar I-155 0818001008 C=O st I-155F00O3221 0118001009 C-O st I-155F00O3221 0118001010 C=O st al-S-CO-O-al I-155 0418001011 C-O st al-S-CO-O-al I-155 0418001012 C=O st ar-S-CO-O-al I-155 040818001013 C-O st ar-S-CO-O-al I-155 0418001014 C=O st al-S-CO-O-ar I-155 040818001015 C-O st al-S-CO-O-ar I-155 040818001016 C=O st al-S-CO-S-al I-155 0418001017 C-O st al-S-CO-S-al I-155 0418001018 C=O st ar-S-CO-S-al I-155 0418001019 C-O st ar-S-CO-S-al I-155 040818001020 C=O st ar-S-CO-S-ar I-155 040818001021 C-O st ar-S-CO-S-ar I-155 040818001022 C=O st al-O-CO-Cl I-155 1718001023 C-O st al-O-CO-Cl I-155 1718001024 C=O st ar-O-CO-Cl I-155 081718001025 C=O st al-S-CO-Cl I-155 041718001026 C=O st ar-S-CO-Cl I-155 04081718001027 C=O st H2N-CO-O- I-160 0218001028 NH2 da H2N-CO-O- I-160 0218001029 C=O st -NH-CO-O- I-160 0218001030 C-N st -NH-CO-O- I-160 0218001031 C=O st H2N-CO-S- I-160 020418001032 NH2 da H2N-CO-S- I-160 020418001033 C=O st -NH-CO-S- I-160 020418001034 C-N st -NH-CO-S- I-160 020418001035 C=O st >N-CO-S- I-160 020418001036 C-N st >N-CO-S- I-160 020418001037 C=O st >N-CO-Cl I-160 021718001038 C=O st -NH-CO-NH- I-160 0218001039 C=O st drei Banden < *** > I-160 18002001 C=N st --- stark --- I-160 0218002002 C=N st -O-C(=NH)-O- I-160 0218002003 C-O st in -O-C(=NH)-O- I-160 0218002004 NH st in -O-C(=NH)-O- I-160 0218002005 C=N st in -O-C(=NH2+)-O- I-160 0218002006 NH2(+) in -O-C(=NH2+)-O- I-160 0218002007 C=N st >N-C(=NH)-N< I-160 0218002008 NH st in >N-C(=NH)-N< I-160 0218002009 NH da in >N-C(=NH)-N< I-160 0218002010 C=N st -NH-C(=NR)-O- I-160 0218003001 C=S st --- stark --- I-160 0418003002 C=S st O-CS-O I-160 0418003003 C=S st O-CS-N I-160 020418003004 C=S st N-CS-N I-160 020418003005 C=S st S-CS-N I-160 020418003006 C=S st S-CS-S I-160 0419000001 19000002 Teil 19: Carbonsaeuren 19000003 ---------------------- 19001001 COO-H st --- Carbonsaeuren: variabel --- I-165 19001002 COO-H st frei, scharf, nur in verd. Loesungen I-165 19001003 COO-H st assoziiert, breit, oft mehrere Banden I-165 19002001 C=O st --- stark --- I-165 19002002 C=O st frei, auch in Dicarbonsaeuren I-165 19002003 C=O st assoziiert (Dimer), auch in Dicarbonsaeuren I-165 19002004 C=O st al-COOH, assoziiert I-165 19002005 C=O st C=C-COOH, assoziiert I-165 19002006 C=O st ar-COOH, assoziiert I-165 0819002007 C=O st Hal-C-COOH, assoziiert I-165 1719002008 C=O st intramolekulare H-Bruecken in Carbonsaeuren I-165 19003001 OC-OH st --- Ohne praktische Bedeutung --- I-170 19004001 OC-OH da --- Ohne praktische Bedeutung --- I-170 19005001 OC-OH da ip --- mittel, meist breit, nur in Dimeren --- I-170 19006001 COO(-) st as --- sehr stark --- I-170 19006002 COO(-) st as in Polypeptiden I-170 19007001 COO(-) st sy --- stark, ohne praktische Bedeutung --- I-170 19007002 COO(-) da Formiate, schwach I-170 19007003 COO(-) da Acetate I-170 19007004 COO(-) da Benzoate I-170 19007005 COO(-) da CF3-COO(-) I-170 1720000001 20000002 Teil 20: Aminosaeuren 20000003 --------------------- 20001001 N-H st O-H st --- meist stark, breit, strukturiert --- I-175 20001002 N-H st O-H st Aminosaeuren: Zwitterion I-175 20001003 N-H st O-H st Aminosaeuren: Hydrochlorid I-175 20001004 N-H st O-H st Aminosaeuren: Na-Salz I-175 20002001 (+)NH3 da as --- Aminosaeuren: schwach I-175 20003001 (+)NH3 da sy --- Aminosaeuren: mittel I-175 20004001 COO(-) st as --- Aminosaeuren: stark I-175 20004002 COO(-) st as --- Aminosaeuren: Zwitterion I-175 20004003 COO(-) st as --- Aminosaeuren: Hydrochlorid I-175 20004004 COO(-) st as --- aa-Aminosaeuren I-175 20004005 COO(-) st as --- Aminosaeuren: Na-Salz I-175 21000001 21000002 Teil 21: Saeurehalogenide 21000003 ------------------------- 21001001 C=O st --- Saeurechloride, stark --- I-180 21001002 C=O st --- Saeurefluoride, stark --- I-180 21001003 C=O st Saeurechloride, -bromide I-180 21002001 -CO-Hal (?) --- stark, Zuordnung unsicher --- I-180 21002002 -CO-Hal (?) Aromatische Saeurechloride, -bromide I-180 22000001 22000002 Teil 22: Saeureanhydride 22000003 ------------------------ 22001001 C=O st --- Saeureanhydride, stark, zwei Banden --- I-185 22001002 C=O st Kettenanhydride I-185 22001003 C=O st Cyclisches Anhydrid, 5-Ring I-185 22001004 C=O st Cyclisches Anhydrid, 6-Ring I-185 22002001 C-O-C st as --- Saeureanhydride, stark --- I-185 22002002 C-O-C st as Kettenanhydride I-185 22002003 C-O-C st as Cyclische Anhydride I-185 23000001 23000002 Teil 23: C=N Gruppen 23000003 -------------------- 23001001 C=N st --- meist stark --- I-190 23001002 C=N st R-CH=N-R', R,R' = al I-190 23001003 C=N st R-CH=N-R', R,R' = al, R oder R' konjugiert I-190 23001004 C=N st R-CH=N-R', R,R' = al, R und R' konjugiert I-190 23001005 C=O st CH3-CO-CH=N-ph I-190 0323001006 C=N st CH3-CO-CH=N-ph I-190 0323001007 C=N st RR''C=N-R', R,R',R'' = al I-190 23001008 C=N st RR''C=N-R', R,R',R'' = al, R konjugiert I-190 23001009 C=N st RR''C=N-R', R,R',R'' = al, R und R' konjugiert I-190 23001010 C=N st RR'C=N-H, R,R' = al I-190 23001011 C=N st RR'C=N-R, R,R' = al, R konjugiert I-190 23001012 C=N st R-C(NH2)=N-R I-190 23001013 C=N st R-C(NH2)=N-R, R-C(NHR)=N-R I-190 23001014 C=N st CH=N-N=CH I-190 23001015 C=N st (RO)2C=NH I-190 0323001016 NH st (RO)2C=NH I-190 0323001017 C-O st (RO)2C=NH I-190 0323001018 C=N st (RO)2C=NH2(+) I-190 0323001019 NH2(+) st (RO)2C=NH2(+) I-190 0323001020 NH2(+) da (RO)2C=NH2(+) I-190 0323001021 C=N st S-C=N I-190 0423001022 C=N st S-S-C=N I-190 0423001023 C=N st O-C=N I-190 0323001024 P=N st I-190 3524000001 24000002 Teil 24: Oxime 24000003 -------------- 24001001 O-H st --- Oxime, stark --- I-195 24001002 O-H st frei I-195 24001003 O-H st assoziiert I-195 24001004 O-H st Chinonoxime I-195 24002001 C=N st --- Oxime, meist stark --- I-195 24002002 C=N st al I-195 24002003 C=N st ar I-195 0824002004 C-N st Chinonoxime I-195 24002005 C=O st Chinonoxime I-195 24003001 O-H da --- In Oximen ohne praktische Bedeutung --- I-195 24004001 N-O st --- In Oximen ohne praktische Bedeutung --- I-195 25000001 25000002 Teil 25: Verbindungen mit N=N-Gruppen 25000003 ------------------------------------- 25001001 N=N st --- sehr schwach, fehlend bei hoher Symm. --- I-200 25002001 -N=N->O st as I-200 0325003001 -N=N->O st sy I-200 0325004001 -N=N->S st as I-200 0425005001 -N=N->S st sy I-200 0425006001 O<-N=N->O st I-200 0325006002 O<-N=N->O st al, trans I-200 0325006003 O<-N=N->O st al, cis I-200 0325006004 O<-N=N->O st ar, trans I-200 030825006005 O<-N=N->O st ar, cis I-200 030825006006 O<-N=N->O st al C-Nitrosoverbindungen I-200 0325006007 O<-N=N->O st ar C-Nitrosoverbindungen I-200 030826000001 26000002 Teil 26: Nitrite & Nitrosoverbindungen 26000003 -------------------------------------- 26001001 N=O st --- Nitrite, Nitrosoverb.: sehr stark --- I-205 26001002 N=O st O-NO Nitrite, trans I-205 26001003 N=O st O-NO Nitrite, cis I-205 26001004 N=O st C-NO C-Nitrosoverb., al I-205 26001005 N=O st C-NO C-Nitrosoverb., ar I-205 0826001006 N=O st N-NO N-Nitrosoverb. I-205 26002001 comb in Nitriten I-205 26003001 N-O st in Nitriten, trans I-205 26004001 ONO da in Nitriten, trans I-205 26004002 ONO da in Nitriten, cis I-205 26005001 C-N st in al C-Nitrosoverbindungen I-205 26005002 C-N st in ar C-Nitrosoverbindungen I-205 26006001 N-N st in N-Nitrosoverbindungen I-205 27000001 27000002 Teil 27: Nitrate & Nitroverbindungen 27000003 ------------------------------------ 27001001 NO2 st as --- Nitrate, Nitroverb.: sehr stark --- I-210 27001002 NO2 st as O-NO2 Nitrate, trans I-210 27001003 NO2 st as C-NO2 Nitroverbindungen, al I-210 27001004 NO2 st as C-NO2 Nitroverbindungen, ar I-210 0827001005 NO2 st as N-NO2 Nitramine I-210 27002001 NO2 st sy --- Nitrate, Nitroverb.: stark --- I-210 27002002 NO2 st sy O-NO2 Nitrate I-210 27002003 NO2 st sy C-NO2 Nitroverbindungen, al I-210 27002004 NO2 st sy C-NO2 Nitroverbindungen, ar, oft zwei Banden I-210 0827002005 NO2 st sy N-NO2 Nitramine I-210 27002006 N-O st in Nitraten, stark I-210 27002007 NO2 ga in Nitraten I-210 27002008 NO2 da in Nitraten I-210 28000001 28000002 Teil 28: Thioether & Disulfide 28000003 ------------------------------ 28001001 S-H st --- oft schwach, schmal --- I-215 28002001 S-H da --- schwach, ohne praktische Bedeutung --- I-215 28003001 C-S st --- schwach, breit, ohne prakt. Bed. --- I-215 28004001 S-S st --- schwach, ohen praktische Bedeutung --- I-215 28005001 (S-)CH3 st as I-215 28005002 (S-)CH2 st as I-215 28005003 (S-)CH3 da as I-215 28005004 (S-)CH3 da sy I-215 28005005 (S-)CH2 da I-215 28005006 S-F st I-215 1728005007 S-N st in S-N=O I-215 020328005008 S-C st in S-C:::N oft Doublett I-215 0229000001 29000002 Teil 29: Thioketone 29000003 ------------------- 29001001 C=S st --- stark, schmal --- I-220 29001002 C=S st Thioketone I-220 29001003 C=S st Thioester I-220 29001004 C=S st Dithiosaeuren I-220 29001005 SH st in Dithiosaeuren I-220 29001006 SH da in Dithiosaeuren I-220 29001007 C=S st Thiosaeurefluoride I-220 1729001008 C=S st Thiosaeurefluoride, perfluoriert I-220 1729001009 C=S st Thiosaeurechloride I-220 1729001010 C=S st Thiosaeurechloride, perfluoriert I-220 1729001011 C=S st Thioamide, Thiolactame I-220 29001012 C-N st Thioamide, Thiolactame I-220 29001013 C-N da Thioamide, Thiolactame I-220 29001014 P=S st I-220 3530000001 30000002 Teil 30: SO - Gruppen 30000003 --------------------- 30001001 >S=O st --- stark --- I-225 30001002 >S=O st R-SO-R I-225 30001003 >S=O st R-SO-OH I-225 30001004 >S-O st R-SO-OH I-225 30001005 >S=O st R-SO-OR I-225 30001006 >S-O st R-SO-OR I-225 30001007 >S=O st RO-SO-OR I-225 30001008 >S=O st R-SO-Cl I-225 1730001009 >S=O st R-SO2(-) I-225 30001010 >S=O st R=SO I-225 30001011 >S=O st N=SO I-225 0230002001 S=O st as I-230 30002002 >SO --- sehr stark --- I-230 30002003 SO st sy I-230 30002004 s.o. R-SO2-R I-230 30002005 s.o. R-SO2-OR I-230 30002006 s.o. R-SO2-SR I-230 30002007 s.o. RO-SO2-OR I-230 30002008 s.o. R-SO2-N I-230 0230002009 NH st R-SO2-N I-230 0230002010 NH da R-SO2-N I-230 0230002011 SH st R-SO2-N I-230 30002012 s.o. R-SO2-Hal I-230 0230002013 s.o. R-SO2-OH I-230 30002014 s.o. R-SO3(-) I-230 30002015 s.o. RO-SO3(-) I-230 30003001 S-O st --- variabel, in Sulfiten svhwach --- I-230 31000001 31000002 Teil 31: Phosphorverbindungen 31000003 ----------------------------- 31001001 P-H st --- schwach bis mittel, meist nur 1 Bande --- I-235 31002001 PO-H st --- schwach, sehr breit --- I-235 0331003001 POH comb --- schwach, sehr breit --- I-235 0331004001 P-O st --- --- I-235 0331004002 P-O-C st al, stark I-235 0331004003 P-O-C st al, oft schwach I-235 0331004004 P-O-C st ar, stark I-235 030831004005 P-O-C st P(V) I-235 0331004006 P-O-C st P(III) I-235 0331004007 P-OH st breit, bei P(OH)2 oft 2 Banden I-235 0331004008 P-O-P st I-235 0331005001 P=O st --- stark --- I-235 0331005002 P=O st R3P=O, auch R = H I-235 0331005003 P=O st R2(R'O)P=O, auch R = H I-235 0331005004 P=O st R(R'O)2P=O, auch R = H I-235 0331005005 P=O st (RO)3P=O I-235 0331005006 P=O st R(HO)2P=O I-235 0331005007 P=O st R(HO)PO2(-), mehrere Banden I-235 0331005008 P=O st RPO3(2-) I-235 0331005009 P=O st R2(HO)P=O I-240 0331005010 P=O st R2PO2(-) I-240 0331005011 P=O st RO(HO)2P=O I-240 0331005012 P=O st RO(HO)PO2(-) I-240 0331005013 P=O st ROPO3(2-) I-240 0331005014 P=O st (RO)2(HO)P=O I-240 0331005015 P=O st (RO)2PO2(-) I-240 0331005016 P=O st R(RO)(HO)P=O I-240 0331005017 P=O st R(RO)PO2(-) I-240 0331005018 P=O st R2(P=O)-O-(P=O)R2 I-240 0331005019 P=O st (RO)2(P=O)-O-(P=O)(OR)2 I-240 0331005020 P=O st R(HO)(PO)-O-(P=O)(OH)R I-240 0331005021 P=O st RO(R2N)(P=O)-O-(P=O)(NR2)OR I-240 020331005022 P=O st R(RO)(P=O)-O(P=O)(OR)R I-240 0331005023 P=O st (RO)2(P=O)-O-(P=O)(NR2)2 I-240 020331005024 P=O st RO(HO)(P=O)-O-(P=O)(OH)OR I-240 0331005025 P=O st (R2N)2(P=O)-O-(P=O)(NR2)2 I-240 020331005026 P=O st R2(X)P=O, X = F, Cl, Br I-240 031731005027 P=O st R(X2)P=O, X = F, Cl, Br I-240 031731005028 P=O st (RO)2(X)P=O, X = F, Cl, Br I-240 031731005029 P=O st RO(X)2P=O, X = F, Cl, Br I-240 031731006001 PO-H da --- schwach, ohne praktische Bedeutung --- I-245 0331007001 P-C st --- stark variierend, ohne prakt. Bed. --- I-245 31008001 P-H da --- stark, in (RO)2HP=O sehr stark --- I-245 0331008002 P-N-C st I-245 0231008003 P=N-R st R = al I-245 0231008004 P=N-R st R = ar I-245 020831008005 P=N-R st R = C=O I-245 020331008006 P=N-R st R = PR2 I-245 0231008007 P=S st --- stark variierende Intensitaet --- I-245 0431008008 P-S st I-245 0431008009 P-CH3 da sy I-245 31008010 P-F st I-245 1731008011 P-F PF2, mehrere Banden I-245 1731008012 P-Cl st I-245 1732000001 32000002 Teil 32: Siliziumverbindungen 32000003 ----------------------------- 32001001 Si-H st --- mittel --- I-250 32001002 Si-H st R3Si-H, auch R = H, fuer SiH3 2 Banden --- I-250 32001003 Si-H st Hal-Si-H --- I-250 1732001004 Si-H st (Si-O)SiH I-250 0332002001 Si-H da --- stark, breit, meist 2 Banden --- I-250 32003001 (Si-)CH3 da sy --- sehr stark, scharf --- I-250 32003002 (Si-)CH3 da sy SiCH3, schwach I-250 32004001 (Si-)CH3 ga --- --- I-250 32004002 (Si-)CH3 ga SiCH3 I-250 32004003 (Si-)CH3 ga Si(CH3)2 I-250 32004004 (Si-)CH3 ga Si(CH3)3 I-250 32005001 Si=O st --- --- I-250 32005002 Si-O st Si-O-C I-250 0332005003 Si-O st Si-O-Si I-250 0332005004 Si-O st Si-OH I-250 0332005005 SiO-H st Si-OH I-250 0332005006 Si-OH da Si-OH I-250 0332006001 Si-C st --- --- I-250 32007001 Si-N st --- --- I-255 0232007002 Si-N st Si-N-Si I-255 0232007003 Si2NH st I-255 0232007004 Si-N st N-Si-N I-255 0232007005 Si-N st Si-NH2 I-255 0232007006 SiN-H2 st in SiNH2 I-255 0232007007 SiN-H2 da in SiNH2 I-255 0232008001 Si-F st --- --- I-255 1732008002 Si-F st Si-F I-255 1732008003 Si-F st Si-F2, zwei Banden I-255 1732008004 Si-F st Si-F3, zwei Banden I-255 1732008005 Si-Cl st --- --- I-255 1733000001 33000002 Teil 33: Borverbindungen 33000003 ---------:--------------- 33001001 B-H st --- stark --- I-260 33001002 B-H st in B-H...B, mehrere Banden I-260 33002001 B-O st --- sehr stsrk --- I-260 0333002002 BO-H st --- sehr breit --- I-260 0333003001 B-N st --- sehr stark --- I-260 0233004001 B-C st --- stark, bei stark asymm. subst. 2 Bdn. --- I-260 33004002 B-F st --- --- I-260 1733004003 B-Cl st --- --- I-260 17***ENDE******ENDE***  ,&B*"B88b66<>:<@@@D@:88tL8b66<>:<@:t\2020Z6666<>:<@@@D:8888t\6`888BbB66666<><@@@D<8888t` "@R680$480>>D`  (>,> *:D&:D&YKJVorhandene Strukturelemente:AlkylgruppeAlkenylgruppeAlkinylgruppe6-Ring Aromat5-Ring HeteroaromatSubstituierter AromatAlkohole und Phenole3-fach Bindung (Nitrile, Cyanate)Kumulierte Doppelbindungen (Allen, Keten)EtherPeroxid, HydroperoxidAmineHalogeneAldehydeKetoneEster, LactoneAmide, Lactame, ImideKohlensurederivateCarbonsureAminosureSurehalogenidSureanhydridImine, Azomethine, AzineOximAzo-, Azoxy-, AzothioverbindungNitrit, NitrosoverbindungNitrat, Nitroverbindung, Nitramin Mercaptane, Thioether, Disulfide Thioketone, -Ester, -Suren, -Amide, -Lactame Verbindungen mit SO-GruppenPhosphorverbindungenSiliziumverbindungenBorverbindungenDruckerprotokollSuchenAbbruch0000Wellenzahl: ____9999DiskprotokollInfoInformationen:1. Abkrzungen:al: aliphatischar: aromatischas: asymmetrischax: axialcomb: Kobinationsschwingungda: Deformationsschwingungeq: equatorialga: Gerstschwingunggem: geminalHal: Halogenip: in plane Schwingungoop: out of plane Schwingungph: Phenylst: Streckschwingungsy: symmetrisch2. Bindungen:Einfach- Doppel- Dreifachbindung Aromatim Text: - = :::sonst: . : :.__()3. Griechische Buchstaben:alpha: aa beta: ba etc.OkayBekannte Absorbtions-Wellenzahlen: ca. 800geordnet nach 33 Srukturmerkmalen/AtomenRainer PaapePaschenburgstr. 672800 Bremen 1Tel. 0421 - 443381IR V1.0OkayWeitere PD-Software:Molekl (PD-Disk 52)Plotter (PD-Disk 72)$ABCOP Q_`aopq"*456<=>GH IRS T[\]lmn   678Z["\'4*+;@QVdekz{| -./GHIXYZijk !("CD!Efg!hjklnoprstvwx+)!" #678FGH[\]efl#LI    " >*Z: v;    :"V)r. :   "   -   68  R  n    1    $ &  ! " 2+# N? $)I %0 j & ,%  ' 34  (  )1  #% f?   H  D       . J   f                  *  F  b ~ )      $ &$  B# ^$) z  0 (!" ) "   1&  " >  Z  v 0g        Wellenzahl: 0 Wellenzahl: 45 Wellenzahl: 45 P-S st P-Cl st Wellenzahl: 45 P-S st P-Cl st Wellenzahl: 45 -OH da ip --- mittel, ohne praktische Bedeutung --- P-S st P-Cl st .  V'.. LAOKOON DOC F Q LAOKOON TXT F LAOKOON RSC F `LAOKOON PRG  F {ODCB_100LAO  F ODCB_360LAO  F OESTRON1LAO F OESTRON2LAO F OESTRON7LAO  F 07201030305800 1 2# F0110030 9[...................................................]011 RainerPaape Paschenburgstr.67 2800Bremen1 Tel.0421-443381  Laokoon  DiesesProgrammberuhtaufeinemProgrammvonG.A.Morris (AdresseimProgrammunter'Info')ausdemJahre1977.Esdient zurSimulationvonNMR-Spektren.Bentigtwerdendazudieche mischenVerschiebungenderResonanzsignaleunddiezugehrigen Kopplungskonstanten.ImUnterschiedzumOriginalprogrammistes nichtmglich,eingemessenesSpektrumanfittenzulassen. DieEingabederDatenerfolgtbereineDialogbox.DieWertefr diechemischeVerschiebungknnenentwederinHertzoderinppm eingegebenwerden.BeiAngabederWerteinppmwirddannnochdie MessfrequenzinMHzbentigt.Kopplungskonstantensindimmerin Hertzanzugeben. MitdenWertenfrFrequenz-Minimumund-Maximumwirddaszu bercksichtigendeMessfensterfestgelegt. DerkleinstezubercksichtigendeWertfreinenbergangwird mit'IntensittMin.'definiert. 'Spinsysteme'legtdieAnzahldervorhandenenKernefest(max. 7). Unter'Frequenz'werdendiechemischenVerschiebungenangegeben. Unter'Kern'werdendieKernarten(Spinquantenzahlmu1/2sein) festgelegt.SchlielichsindnochdieKopplungskonstantenwie folgtanzugeben: Beispiel:4Spinsysteme 1.Zeile1.Wert=Kopplung[1,2] 1.Zeile2.Wert=Kopplung[1,3] 1.Zeile3.Wert=Kopplung[1,4] 2.Zeile1.Wert=Kopplung[2,3] 2.Zeile2.Wert=Kopplung[2,4] 3.Zeile1.Wert=Kopplung[3,4] EingegebeneWerteknnengespeichertbzw.wiedergeladenwerden. Klicktmanauf'Berechne',wirddasSpektrumsimuliert.Der ZeitbedarfhngtvonderAnzahlderSpinsystemeab.Manerhlt nunAngabenberdieaufgetretenenFrequenzenundDefaultwerte frdieDarstellungdesSpektrums(Offset,Range,Linewidth, Height).DurchKlickaufdasOkay-Feld,wirddasSpektrumdarge stellt.Wiegewhnlichliegenlinkshoheundrechtsniedrige Werte(ppmbzw.Hertz).DerWertRangewirdaufdenWertfrden Offsetaufaddiert.  Tastenbelegung: Cursurup:spreiztdasSpektrumumdenFaktor2 Cursordown:stauchtdasSpektrumumdenFaktor0.5 Cursorlinks:verschiebtdasSpektrumum1/10nachlinks Cursorrechts:verschiebtdasSpektrumum1/10nachrechts +:vergrertdieSignalhheumdenFaktor1.5 -:verkleinertdieSignalhheumdenFaktor1/1.5 Return:zurckzurvorhergehendenAuswahlbox Rainer Paape Paschenburgstr. 67 2800 Bremen 1 Tel. 0421-443381 Laokoon Dieses Programm beruht auf einem Programm von G.A. Morris (Adresse im Programm unter 'Info') aus dem Jahre 1977. Es dient zur Simulation von NMR-Spektren. Bentigt werden dazu die che- mischen Verschiebungen der Resonanzsignale und die zugehrigen Kopplungskonstanten. Im Unterschied zum Originalprogramm ist es nicht mglich, ein gemessenes Spektrum anfitten zu lassen. Die Eingabe der Daten erfolgt ber eine Dialogbox. Die Werte fr die chemische Verschiebung knnen entweder in Hertz oder in ppm eingegeben werden. Bei Angabe der Werte in ppm wird dann noch die Messfrequenz in MHz bentigt. Kopplungskonstanten sind immer in Hertz anzugeben. Mit den Werten fr Frequenz-Minimum und -Maximum wird das zu bercksichtigende Messfenster festgelegt. Der kleinste zu bercksichtigende Wert fr einen bergang wird mit 'Intensitt Min.' definiert. 'Spinsysteme' legt die Anzahl der vorhandenen Kerne fest (max. 7). Unter 'Frequenz' werden die chemischen Verschiebungen angegeben. Unter 'Kern' werden die Kernarten (Spinquantenzahl mu 1/2 sein) festgelegt. Schlielich sind noch die Kopplungskonstanten wie folgt anzugeben: Beispiel: 4 Spinsysteme 1. Zeile 1. Wert = Kopplung [1,2] 1. Zeile 2. Wert = Kopplung [1,3] 1. Zeile 3. Wert = Kopplung [1,4] 2. Zeile 1. Wert = Kopplung [2,3] 2. Zeile 2. Wert = Kopplung [2,4] 3. Zeile 1. Wert = Kopplung [3,4] Eingegebene Werte knnen gespeichert bzw. wieder geladen werden. Klickt man auf 'Berechne', wird das Spektrum simuliert. Der Zeitbedarf hngt von der Anzahl der Spinsysteme ab. Man erhlt nun Angaben ber die aufgetretenen Frequenzen und Defaultwerte fr die Darstellung des Spektrums (Offset, Range, Linewidth, Height). Durch Klick auf das Okay-Feld, wird das Spektrum darge- stellt. Wie gewhnlich liegen links hohe und rechts niedrige Werte (ppm bzw. Hertz). Der Wert Range wird auf den Wert fr den Offset aufaddiert. Tastenbelegung: Cursur up: spreizt das Spektrum um den Faktor 2 Cursor down: staucht das Spektrum um den Faktor 0.5 Cursor links: verschiebt das Spektrum um 1/10 nach links Cursor rechts: verschiebt das Spektrum um 1/10 nach rechts + : vergrert die Signalhhe um den Faktor 1.5 - : verkleinert die Signalhhe um den Faktor 1/1.5 Return : zurck zur vorhergehenden Auswahlbox  $ P[>`------------------------------------------------------Vorhandene Frequenzen:00000F1 = _____XXXXX00000Fn = _____XXXXX00000Fn-F1 = _____XXXXXWerte in ppmOkayParameter fr die Grafikdarstellung:Plotparameter:00000Offset = _____XXXXX00000Range = _____XXXXX0.100Width = _____XXXXX17.00Height = _____XXXXXWerte in ppmAbbruchParameter fr die Berechnung des Spektrums:HertzppmWerte in:360MHZ: ___999Messfreq.:Molekl:________________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX000000Frequenz Min: ______XXXXXX000000Intensitt Min.: ______XXXXXX000000Frequenz Max: ______XXXXXX0Spinsysteme: _9000000 1: ______XXXXXX000000 2: ______XXXXXX000000 3: ______XXXXXX000000 4: ______XXXXXX000000 5: ______XXXXXX000000 6: ______XXXXXX000000 7: ______XXXXXXFrequenz:1_91_91_91_91_91_91_9Kern:Kopplungen:----------------------------------------________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX----------------------------------------________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX----------------------------------------________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX----------------------------------------________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX----------------------------------------________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX----------------------------------------________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXKopplungskonstanten in Hertz!Daten: Laden SpeichernInfoBerechneEndeCyclen: 00bergnge:0 2500 5000Informationen zu LAOKOON:OkayLAOKOON III Fortran Version by:G. A. Morris, Dept. of ChemistryUniversity of Manchester, Oxford RoadManchester M13 9PL EnglandAtari ST Version: Rainer Paape Paschenburgstr. 672800 Bremen 1 Tel. 0421-443381????????? 406 L  6$[\7]tuv| %,28HNTdjp ,       4]))   '.9 @GR Y`k ry      2[))))(Q))z))G))p))   (-./89 :?@ALM NYZ [% !&+,-@ABef#g#F > 6  1  8 T  p      $ $1      4  P  % ,0L l+*!G 3          (    0 L h              , H !   d  (")+ #D $`(%|(&('((()(! .+-@ ,$-  *  0//@ .0@12@ 20\ 050xD $ $ $1@;0   ; <X" t   H`|W` Efv*oM(Z m HPHUBg?<JNA(m)m -:gS)@ -OK1PC#HNHx?<HNA@)@l/?<HNA)@h&@)@XЬl)@d)@`ARCpr Ѝ"QHNFALNPHz2?< NA\pdAxr0XQ)K\NNdj$htJrBjNuHz?<&NN\NܖCAp$L Qp Nڂ9lrBlJpNNڂpMNڂ9@pdAr 0Q0tr N9lNupealp`NuaNJHz?<&NNBWNANC2A@p222NrҌ0<NB0,rNurA9Ar`v C9Cr`rt9@9A9BNrrҌpsNB0,Nu9@N`rDҌpsNBNuC2 @ e @}bA@p222Nr,Ҍ0<NBNu pa2|a>:><|a4g RGj`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"FFaQL8N޸6.JgtBnNupr$<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*<NfHnr$g4jDk( b4<J@`@[H@0Nu4<Ѐ[Nu4<NuNuAd RdQRBBkBjDBJjDNupNufJj fJAkNupNdRdRrxaAffBWHNuJjDBDA@JBfprJjDEDD@JEfvxNuaغBffAVHNuCDEaEf fDUHNu]HNuCDEaEffDftNuJjtNupN&NAXJ@jNNuNJ@g,A,BBgHQ?<=NAP FJ@k??<>NAXtNutNuN` A$ HJo d*b` QjNuQjNubNNBNNf]NNNH]NNN޸]NJ@jD@vqapvN)@p `H@)@prtNAHplrtNB 2pNpNڴpapaprapalpalpalpaTpaTpaTBp'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)lVHNf0<}N& ?<NNC`&?<NNT"@ C <}N`N(* 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| N2(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@$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`VfANuN~WHNuN~VHNu 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退`tSJBkNjRB0 b b瀀`RB0 fрd`2p <0N `QNupC 0(gFd"P$I` *N $E$R(S@jv A(Wf( ae zb Q DNur ,* 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(HN LNu0,^2,`NNzEfpaRppaNAEg0PaľEfa4RE`p a2a*Efp a(N4ldeS@f lbfSl`9Ab9FdNupapqr`p`, HHHNup`pNu)H9@Jp4NڂP'J&f H LNu P&NuQ'` J,'fJ,&gHA#ȇeC! B,&LNu-W)K20, 8k8@ gJl&f"Nu , 8g"P 8 @/, 8Nh  8fQ 8J,'gNupB <``L@ H)l26)z @W , Jf`CfSHj-D@Hd0H@H 0H@0`fSC\fS , @a"C]fApNNNlHP?< NA\NuH@aa/a a Nu@0 9c^Nu| PC>$Fehler # ][Abbruch]\f.B &lX)K\)ld` lp ,BQjNup(NXYp-KNu"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(N $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/&#k gH`X-KNu)|7 Nt <CDNt -CJNt <CPNtHxpCt~NvA, 0A L0A& 0t;Bp\NC킲N(+|ArNhpNpNprN"p"<NpNpNpNp N&p"<"N"NLAOKOON4N\pNpNpNprN" <"<NB+m$/-/- <Ѝ/ <Ѝ/AlNh/-/-( -$NjNHPAqNh/-/-`HmAqNh/-/-0A큼NNHPAqNh/-/-4ANNHPAqNh/-/-,ANNHPAqNh/-/- -NjNHPAqNh4-NJBfN-/-/-Hx!AwNh/-/-Hx AwNhN Werte in HzC킸N(N.NHNprNLNSkipped out 4NNPNPA퀺 'ŬG0+|( -A(NX -(R+@+m0 -xA0NX/-( -0C&~NzN8fNO/-( -(C&~NH/-0 -0C&~NL8NbA퀖NA퀖NzN8fNO/-( -0C&~NA퀖NN޾ANA퀺NANNbzNJfNOCA퀺 0+m(<+m08N`(NqN`Nq <ѷX2<$<A퀺NNbzNnfNONPNprNLNLarge residual rotation4NNH+|0 -dA0NX -0NjH -`C톌NNjL8NfH <r$<L8NbN+@P/-P/-0 -0C&~NC2NN`NqNq+|0 -dA0NX+|< -dAN/-ANCDNN`NqN`Nq -$NjH -`NjL8NbzNJfNVzNQHx/-/-/-/-/-/-/-/- <Ѝ/AmNhHxBBBB/-/-/-/- <Ѝ/AmNhpNNpNNNlAjNh -CDNHpCDNL8NbANAN&<x*<N޾ANpCDNHANvNLL8NbNAN4-NJBfNXANANNfNANpCDNNAN -CDNNAN -CDNHpCDNL8NbNANNXANANNfANpCDNHANvNLL8NbANpCDNH -NjL8N޸AN -CDNH -NjL8N޸AN -CDNHpCDNL8NbH -NjL8N޸AN -NjANN޸AN -NjANN޸ANB+m/-/- <Ѝ/ <Ѝ/AlNh/-/-HmAqNh/-/-ANNHPAqNh/-/-ANNHPAqNh/-/-ANNHPAqNh/-/- ANNHPAqNh/-/-ANNHPAqNh/-/-A NNHPAqNh/-/-A&NNHPAqNh/-/-HmAqNh/-/-HmAqNhpNpNprN"p"<NpNpNpNp N&p"<N"N LAOKOON-PLOTN\p"<N"N (C) by ERPEHN\pNpNpNprN" <"<NtHBHx@A,N&<x*<NHN/Hx@Hx AuTNh - WHgNj/-/- <Ѝ/ArNhA킎NH -NjL8NHANANzNfN[A 0/-/- <Ѝ/ArNhA킎NH -NjL8NHAN/-/- <Ѝ/ArNhA킎NA NA NzNfN\ZA L0/-/- <Ѝ/ArNhA킎NA&NpNN+|XB( -A(NX/-(tCJNN`NqNq -NjANN޸A2NBmN+|( -$A(NX/-( -(NjA2NNH&<x*<N*A>NNH&<x*<Nf&<x*<N޸CPNN`NqNq+|< -ANADNANANNbA2NN޾&<x*<NfN+@( -(Nj&<x*<NhpJBgp/ -(_HpJBgp$VHfN_/-( -(CJNADNNfCJN+|( -$A(NX -(Э(+@X -((+@, -(_HfN_:/-X -XCJNH -(CPNADNNHL8NfCJN -,S\HfN_/-, -,CJNH -(CPNADNNHL8NfCJNN`DNqN`XNq+|( -A(NX -(CJNA8NNJfN_ -(CJNA8NN`NqNqp NC킂N(A8NzNfN` A8 0NprN"p"<Np"<N" <"<N <"<N" <rN <rN"prN <mrN" <m"<NpNpNpNp N&A킠NNjvNL&<x*<NbNrN$A킠NN\pNpNpNpN& <rN"NWidth: 4HPA NN"_NHPN Hz4"_NN\ <"<N"NHhe: HPA&NN"_NHPN cm4"_NN\ <"<@N"NRange: HPANN"_NHPN Hz4"_NN\ <"<N"NOffset: HPANN"_NHPN Hz4"_NN\BN/ -@C>N"_NR< -<@_HfNl(S@ -<@^HgNl@`. -<8]HfNlR0/-0B -|Zj40: >&@*&|dNBxn>"$HHP^&XH|@R680$480DD>|Laokoon 1.0 190787 Daten-Laokoon O-Dichlor-Benzol 100 MHz 4 0 1000 0.005 100 -1 1 1 1 1 725 715 715 725 8.5 1.5 0.5 7 1.5 8.5 Laokoon 1.0 190787 Daten-Laokoon O-Dichlor-Benzol 360 MHz 4 2000 3000 0.0001 360 -1 1 1 1 1 2610 2574 2574 2610 8.5 1.5 0.5 7 1.5 8.5 Laokoon 1.0 190787 Daten-Laokoon 9a Hydroxy-stron H 6a/6b/7a/7b/14a 5 0 1200 0.001 360 -1 1 1 1 1 1 1009.1 1009.8 755.3 586 880 -16.9 5.1 1.6 0.4 12.9 6.4 -0.1 -12.6 -0.1 -0.1 Laokoon 1.0 190787 Daten-Laokoon stron 11a/11b/12a/12b/18 5 0 1200 0.001 360 -1 1 1 1 1 1 929 615 809 679 299 -13.5 4.1 0 0 13.5 4.3 0 -13 1.5 0 Laokoon 1.0 190787 Daten-Laokoon Hydroxy-stron 7 6 1.5 3 0.01 360 0 1 1 1 1 1 1 2.099 1.628 1.735 2.805 2.803 2.445 -12.647 12.86 13.272 5.125 -0.114 3.474 6.401 1.603 -0.126 1.531 -0.641 11.701 -16.925 -0.147 0.448 . V'.. WATOR H F ^ WATOR_G C F <WATOR_S C F * WATOR_W C F WATOR PRG F d>WATOR DEF F WATOR RSC F WATOR MAK !F gWATOR TXT $F +#define F_OPEN 18 /* OBJECT in TREE #0 */ #define F_HEADER 20 /* OBJECT in TREE #0 */ #define F_CLOSE 19 /* OBJECT in TREE #0 */ #define QUIT 22 /* OBJECT in TREE #0 */ #define OCEAN 24 /* OBJECT in TREE #0 */ #define PHASEDIA 25 /* OBJECT in TREE #0 */ #define PROTOCOL 26 /* OBJECT in TREE #0 */ #define M_FISH 28 /* OBJECT in TREE #0 */ #define M_SHARK 29 /* OBJECT in TREE #0 */ #define M_BAR 30 /* OBJECT in TREE #0 */ #define M_EMPTY 31 /* OBJECT in TREE #0 */ #define OCNPARS 33 /* OBJECT in TREE #0 */ #define PHAPARS 34 /* OBJECT in TREE #0 */ #define PROPARS 35 /* OBJECT in TREE #0 */ #define NEW 37 /* OBJECT in TREE #0 */ #define START 38 /* OBJECT in TREE #0 */ #define ABOUT_T 2 /* TREE */ #define STOP 39 /* OBJECT in TREE #0 */ #define PHAPAR_T 6 /* TREE */ #define POINTS 2 /* OBJECT in TREE #6 */ #define FSCAL 3 /* OBJECT in TREE #6 */ #define SSCAL 4 /* OBJECT in TREE #6 */ #define TI_OCN 1 /* OBJECT in TREE #5 */ #define STRING_T 5 /* TREE */ #define PHA_OK 6 /* OBJECT in TREE #6 */ #define TI_PRO 2 /* OBJECT in TREE #5 */ #define CURVE 7 /* OBJECT in TREE #6 */ #define TI_PHA 3 /* OBJECT in TREE #5 */ #define HD_1 5 /* OBJECT in TREE #5 */ #define IN_PRO 4 /* OBJECT in TREE #5 */ #define HD_2 6 /* OBJECT in TREE #5 */ #define HD_3 7 /* OBJECT in TREE #5 */ #define HD_5 9 /* OBJECT in TREE #5 */ #define HD_4 8 /* OBJECT in TREE #5 */ #define PH_FISH 10 /* OBJECT in TREE #5 */ #define PH_SHRKS 11 /* OBJECT in TREE #5 */ #define AL_WIND 13 /* OBJECT in TREE #5 */ #define AL_MEM 12 /* OBJECT in TREE #5 */ #define AL_FILE 14 /* OBJECT in TREE #5 */ #define AL_APP 15 /* OBJECT in TREE #5 */ #define OCNPAR_T 1 /* TREE */ #define NSHARK 4 /* OBJECT in TREE #1 */ #define SBREED 5 /* OBJECT in TREE #1 */ #define STARVE 6 /* OBJECT in TREE #1 */ #define NFISH 9 /* OBJECT in TREE #1 */ #define FBREED 10 /* OBJECT in TREE #1 */ #define GENERAL 12 /* OBJECT in TREE #1 */ #define XWID 13 /* OBJECT in TREE #1 */ #define YWID 14 /* OBJECT in TREE #1 */ #define P_OK 16 /* OBJECT in TREE #1 */ #define FILE_T 3 /* TREE */ #define PATH 2 /* OBJECT in TREE #3 */ #define F_OK 4 /* OBJECT in TREE #3 */ #define MENU_T 0 /* TREE */ #define FILE 4 /* OBJECT in TREE #0 */ #define DESK 3 /* OBJECT in TREE #0 */ #define WINDOWS 5 /* OBJECT in TREE #0 */ #define PROPAR_T 4 /* TREE */ #define PARAMS 6 /* OBJECT in TREE #0 */ #define PLOT 2 /* OBJECT in TREE #4 */ #define PRO_OK 4 /* OBJECT in TREE #4 */ #define INTERV 3 /* OBJECT in TREE #4 */ /********************************************************************/ /* WATOR_G.C */ /* GEM-Modul fr WATOR.PRG */ /* */ /* R. Geisler 1988 Sprache: Megamax C */ /********************************************************************/ #include #include #include #include #include #include "wator.h" #define XMAX 79 /* Maximalgre des Ozeans */ #define YMAX 45 #define EMPTY 32 /* Codes fr Simulation */ #define FISH 250 #define SHARK 111 #define BAR 7 #define TRUE 1 /* logische Werte */ #define FALSE 0 #define NO_ATTR 0 /* fr Dateifunktionen */ #define WRONLY 1 #define OCN 0 /* Fensternummern */ #define PRO 1 #define PHA 2 #define LOW 0 /* Auflsung */ #define HIGH 2 #define Ntot(t, ob, n) ntoa(n, ((TEDINFO *)(t)[ob].ob_spec)->te_ptext) #define Tton(t, ob) aton(((TEDINFO *)(t)[ob].ob_spec)->te_ptext) #define Form_error(err) form_error(-31>(err)?-31-(err):32767) struct ocean /* Variablen fr Simulation... */ { unsigned char state; char moved; int age; int starve; } pos[XMAX][YMAX]; int nfish=400, nshark=40, fbreed=3, sbreed=10, starve=3, xsize=40, ysize=40; struct windows /* Variablen fr Fenster... */ { int kind; GRECT curr; GRECT work; char *name; char *info; int handle; FDB fdb; } wi[]= { { NAME|CLOSER|MOVER, 159, 40, 322, 340 }, { NAME|CLOSER|FULLER|MOVER|INFO|SIZER, 420, 30, 190, 360 }, { NAME|CLOSER|MOVER, 30, 30, 340, 360 } }; int slot[8], xdesk, ydesk, wdesk, hdesk, gl_wbox, gl_hbox; FDB scrfdb; int handle, contrl[12], intin[128], ptsin[128], intout[128], ptsout[128], work_out[57], work_in[11]= /* Variablen fr VDI */ { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2 }; int xmax=XMAX, ymax=YMAX, area; /* fr Ozean */ int invl=2, pwid=51, plot=TRUE; /* fr Protokoll */ int xpha=30, ypha=30, wpha=280, hpha=280, fscal=100, sscal=25, curve=TRUE; /* fr Phasendiagramm */ unsigned int aton(), time; /* sonstige Variablen... */ int mmode=FISH, cfish, cshark, run, fd, m1flags, mox, moy, dummy; OBJECT *menu_t, *about_t, *ocnpar_t, *propar_t, *phapar_t, *file_t, *string_t; main() /* Hauptfunktion */ { if(init()) multi(); quit(); } init() /* Programm initialisieren */ { int no; appl_init(); /* AES... */ handle=graf_handle(&dummy, &dummy, &gl_wbox, &gl_hbox); v_opnvwk(work_in, &handle, work_out); /* VDI... */ vst_height(handle, 6, &dummy, &dummy, &dummy, &dummy); vsm_type(handle, 2); if(!rsrc_load("wator.rsc")) /* Resources... */ { graf_mouse(ARROW, 0L); form_alert(1, "[3][|WATOR.RSC fehlt!][ABBRUCH]"); return FALSE; } graf_mouse(ARROW, 0L); rsrc_gaddr(R_TREE, MENU_T, &menu_t); rsrc_gaddr(R_TREE, ABOUT_T, &about_t); rsrc_gaddr(R_TREE, OCNPAR_T, &ocnpar_t); rsrc_gaddr(R_TREE, PROPAR_T, &propar_t); rsrc_gaddr(R_TREE, PHAPAR_T, &phapar_t); rsrc_gaddr(R_TREE, FILE_T, &file_t); rsrc_gaddr(R_TREE, STRING_T, &string_t); strcpy(((TEDINFO *)file_t[PATH].ob_spec)->te_ptext, "WATOR.OUT"); if(Getrez()!=HIGH) /* y-Auflsung anpassen */ { ymax=21; ysize/=2; nfish/=2; nshark/=2; wi[OCN].curr.g_y=20; wi[PRO].curr.g_y/=2; wi[PRO].curr.g_h/=2; ypha/=2; hpha/=2; wi[PHA].curr.g_y/=2; wi[PHA].curr.g_h/=2; } if(Getrez()==LOW) /* x-Auflsung anpassen */ { xmax=38; xsize/=2; nfish/=2; nshark/=2; wi[OCN].curr.g_x=79; pwid=11; wi[PRO].curr.g_x=120; xpha/=2; wpha/=2; wi[PHA].curr.g_x/=2; wi[PHA].curr.g_w/=2; } for(no=0; no<3; no++) /* Fenster... */ if(!buf_alloc(no)) { form_alert(1, string_t[AL_MEM].ob_spec); return FALSE; } wi[OCN].name=string_t[TI_OCN].ob_spec; wi[PRO].name=string_t[TI_PRO].ob_spec; wi[PRO].info=string_t[IN_PRO].ob_spec; wi[PHA].name=string_t[TI_PHA].ob_spec; wind_get(0, WF_WORKXYWH, &xdesk, &ydesk, &wdesk, &hdesk); menu_bar(menu_t, 1); /* Desktop aufbauen */ new_ocn(); wi_create(OCN); run=FALSE; return TRUE; /* in Ordnung */ } multi() /* Event-Verarbeitung */ { int evt, msg[8]; for(; ; ) { evt=evnt_multi(MU_BUTTON|MU_M1|MU_MESAG|MU_TIMER, 1, 1, 1, m1flags, wi[OCN].work.g_x, wi[OCN].work.g_y, wi[OCN].work.g_w, wi[OCN].work.g_h, 0, 0, 0, 0, 0, msg, 0, 0, &mox, &moy, &dummy, &dummy, &dummy, &dummy); if(evt&MU_BUTTON) /* Mausknopf-Event */ ev_button(); if(evt&MU_M1) /* Maus-Event */ ev_mouse(); if(evt&MU_MESAG) /* Message-Event */ switch(msg[0]) { case MN_SELECTED: /* Men-Message */ switch(msg[3]) { case DESK: /* Info zeigen */ use_form(about_t, 0); break; case FILE: switch(msg[4]) { case F_OPEN: /* Datei ffnen */ f_open(); break; case F_CLOSE: /* schlieen */ f_close(); break; case F_HEADER: /* Kopf schreiben */ f_header(); break; case QUIT: /* Programmende */ return; } break; case WINDOWS: switch(msg[4]) { case OCEAN: /* Ozean */ if(!wi_create(OCN)) form_alert(1, string_t[AL_WIND].ob_spec); break; case PHASEDIA: /* Phasendiagramm */ if(!wi_create(PHA)) form_alert(1, string_t[AL_WIND].ob_spec); break; case PROTOCOL: /* Protokoll */ if(!wi_create(PRO)) form_alert(1, string_t[AL_WIND].ob_spec); break; case M_FISH: /* Fische setzen */ mmode=FISH; break; case M_SHARK: /* Haie ... */ mmode=SHARK; break; case M_BAR: /* Barrieren ... */ mmode=BAR; break; case M_EMPTY: /* lschen */ mmode=EMPTY; } menu_icheck(menu_t, M_EMPTY, mmode==EMPTY); menu_icheck(menu_t, M_FISH, mmode==FISH); menu_icheck(menu_t, M_SHARK, mmode==SHARK); menu_icheck(menu_t, M_BAR, mmode==BAR); break; case PARAMS: switch(msg[4]) { case PROPARS: /* Parameter fr Protokoll */ dial_pro(); break; case PHAPARS: /* ... Phasendiagramm */ dial_pha(); break; case OCNPARS: /* ... Ozean */ dial_ocn(); break; case NEW: /* Neustart */ new_ocn(); break; case START: /* Start */ run=TRUE; break; case STOP: /* Stop */ run=FALSE; } } menu_tnormal(menu_t, msg[3], TRUE); break; case WM_REDRAW: /* Fenster-Messages... */ wi_redraw(slot[msg[3]], msg[4], msg[5], msg[6], msg[7]); break; case WM_TOPPED: wi_top(slot[msg[3]]); break; case WM_CLOSED: wi_delete(slot[msg[3]]); break; case WM_FULLED: wi_full(slot[msg[3]]); break; case WM_SIZED: case WM_MOVED: wi_move(slot[msg[3]], msg[4], msg[5], msg[6], msg[7]); } if(run) /* Iteration durchfhren */ { time++; s_iterate(); disp_ocn(); disp_pha(); disp_pro(); if(cfish==area||cfish==0) /* Simulation beendet */ run=FALSE; } menu_ienable(menu_t, F_OPEN, !fd); menu_ienable(menu_t, F_CLOSE, fd); menu_ienable(menu_t, F_HEADER, fd); menu_ienable(menu_t, START, !run); menu_ienable(menu_t, STOP, run); } } quit() /* Programm beenden */ { int no; for(no=0; no<3; no++) wi_delete(no); v_clsvwk(handle); appl_exit(); Pterm0(); } ev_button() /* Mausknopf-Event, Ozean */ { /* editieren */ static char line[2]; int x, y, xc, yc; x=(mox-wi[OCN].work.g_x)/8; /* Position editieren */ y=(moy-wi[OCN].work.g_y)/8; if(!m1flags||x<0||x>xsize||y<0||y>ysize) /* doch nicht */ return; xc=x*8; yc=y*8+6; line[0]=pos[x][y].state=mmode; buf_beg(OCN); /* in Puffer schreiben */ v_gtext(handle, xc, yc, line); buf_end(); wi_redraw(OCN, min(mox-8, xdesk+wdesk-16), min(moy-8, ydesk+hdesk-16), 16, 16); } ev_mouse() /* Maus-Event, Cursor ndern */ { int wthandle; if(m1flags) /* Fenster verlassen */ { graf_mouse(ARROW, 0L); m1flags=FALSE; } else /* in Fenster eintreten */ { wind_get(0, WF_TOP, &wthandle, &dummy, &dummy, &dummy); if(wthandle&&wthandle==wi[OCN].handle) /* falls aktiv */ { graf_mouse(OUTLN_CROSS, 0L); m1flags=TRUE; } } } disp_ocn() /* Ozean zeichnen, Bewohner */ { /* zhlen */ char line[XMAX+1]; int i, x, y, yc=-2; line[xsize]=cfish=cshark=0; buf_beg(OCN); /* in Puffer schreiben */ for(y=0; yte_ptext; if(0<=Fsfirst(path, NO_ATTR)&&1==form_alert(1, string_t[AL_APP].ob_spec)) { fd=Fopen(path, WRONLY); Fseek(0L, fd, 2); } else fd=Fcreate(path, NO_ATTR); if(-3>fd) /* Fehler aufgetreten */ { Form_error(fd); /* GEMDOS-Fehler melden */ fd=0; } } } f_header() /* Kopf fr Protokolldatei */ { char line[41]; int i; f_write("\r\n"); f_write(string_t[HD_1].ob_spec); /* 1. Zeile */ f_write(string_t[HD_2].ob_spec); f_write("\r\n"); strcpy(line, string_t[HD_3].ob_spec); /* 2. Zeile */ ntoj(nfish, line+6); ntoj(fbreed, line+17); ntoj(nshark, line+28); f_write(line); strcpy(line, string_t[HD_4].ob_spec); ntoj(sbreed, line+4); ntoj(starve, line+16); ntoj(xsize, line+28); ntoj(ysize, line+33); f_write(line); f_write("\r\n\n"); f_write(string_t[HD_5].ob_spec); /* 3. Zeile */ f_write("\r\n"); for(i=0; i<22+pwid; i++) /* Strich */ f_write("-"); f_write("\r\n"); } f_write(string) /* String in Datei schreiben */ char *string; { if(!fd) return; if(0>=Fwrite(fd, (long)strlen(string), string)) { form_alert(1, string_t[AL_FILE].ob_spec); f_close(); } } f_close() /* Datei schlieen */ { int err; if(0>(err=Fclose(fd))) Form_error(err); fd=0; } use_form(addr, start_ob) /* Dialog fhren */ int start_ob; OBJECT *addr; { int x, y, w, h, ex_ob; form_center(addr, &x, &y, &w, &h); form_dial(FMD_START, 0, 0, 0, 0, x, y, w, h); objc_draw(addr, 0, 99, x, y, w, h); ex_ob=form_do(addr, start_ob); form_dial(FMD_FINISH, 0, 0, 0, 0, x, y, w, h); objc_change(addr, ex_ob, 0, x, y, w, h, NORMAL, 0); return(ex_ob); } ntoa(n, a) /* natrliche Zahl => String */ char *a; unsigned n; { int c, i=0, j=0; do { a[i++]='0'+n%10; n/=10; } while(n); a[i]=0; while(j natrliche Zahl */ char *a; { int i=0; unsigned n=0; while(!isdigit(a[i])) if(!a[i++]) return 0; while(isdigit(a[i])) { n*=10; n+=a[i++]-'0'; } return n; } /********************************************************************/ /* WATOR_S.C */ /* Simulations-Modul fr WATOR.PRG */ /* */ /* R. Geisler 1988 Sprache: Megamax C */ /********************************************************************/ #include #define XSIZE 75 /* Maximalgre des Ozeans */ #define YSIZE 45 #define EMPTY 32 /* Codes fr Simulation */ #define FISH 250 #define SHARK 111 #define TRUE 1 /* logische Werte */ #define FALSE 0 extern struct ocean /* Variablen fr Simulation... */ { unsigned char state; char moved; int age; int starve; } pos[XSIZE][YSIZE]; extern int nfish, nshark, fbreed, sbreed, starve, xsize, ysize; s_setup() /* Ozean vorbesetzen */ { register int i, x, y; for(x=0; x=starve) pos[x][y].state=EMPTY; /* Hungertod */ else move(x, y, SHARK, sbreed, EMPTY); } } } move(x1, y1, kind1, breed, kind2) /* Bewegung bzw. Vermehrung */ int x1, y1, kind1, breed, kind2; { register int n=0, r, xd, xi, yd, yi, x2[4], y2[4]; xd=x1==0?xsize-1:x1-1; /* Nachbarkoordinaten */ xi=x1==xsize-1?0:x1+1; yd=y1==0?ysize-1:y1-1; yi=y1==ysize-1?0:y1+1; if(pos[xd][y1].state==kind2) /* mgliche Positionen suchen */ { x2[n]=xd; y2[n++]=y1; } if(pos[xi][y1].state==kind2) { x2[n]=xi; y2[n++]=y1; } if(pos[x1][yd].state==kind2) { x2[n]=x1; y2[n++]=yd; } if(pos[x1][yi].state==kind2) { x2[n]=x1; y2[n++]=yi; } if(n==0) /* keine gefunden */ return FALSE; r=Random()%n; /* Position auswhlen */ if(kind2==FISH) /* Fisch fressen */ pos[x1][y1].starve=0; pos[x2[r]][y2[r]].state=kind1; /* Position besetzen */ pos[x2[r]][y2[r]].starve=pos[x1][y1].starve; if(pos[x1][y1].age>=breed) /* vermehren */ pos[x2[r]][y2[r]].age=pos[x1][y1].age=Random()%3-1; else /* bewegen */ { pos[x2[r]][y2[r]].age=pos[x1][y1].age; pos[x1][y1].state=EMPTY; } pos[x2[r]][y2[r]].moved=TRUE; /* fertig: Flag setzen */ return TRUE; } /********************************************************************/ /* WATOR_W.C */ /* Grafik-Fenster-Handler */ /* */ /* R. Geisler 1988 Sprache: Megamax C */ /********************************************************************/ #include #include #include #define TRUE 1 /* logische Werte */ #define FALSE 0 extern struct windows /* Variablen fr Fenster... */ { int kind; GRECT curr; GRECT work; char *name; char *info; int handle; FDB fdb; } wi[]; extern int slot[8], xdesk, ydesk, wdesk, hdesk, gl_wbox, gl_hbox; extern FDB scrfdb; extern int handle, contrl[12], intin[128], ptsin[128], intout[128], ptsout[128], work_out[57], work_in[11]; /* Variablen fr VDI */ wi_create(no) /* Fenster erzeugen */ int no; { if(wi[no].handle>0) /* existiert schon: aktivieren */ wi_top(no); else /* nein: also erzeugen */ { wi[no].handle=wind_create(wi[no].kind, xdesk, ydesk, wdesk, hdesk); if(wi[no].handle>0) /* erfolgreich */ { wind_set(wi[no].handle, WF_NAME, wi[no].name, 0, 0); if(wi[no].kind&INFO) wind_set(wi[no].handle, WF_INFO, wi[no].info, 0, 0); graf_growbox(wi[no].curr.g_x+wi[no].curr.g_w/2, wi[no].curr.g_y+wi[no].curr.g_h/2, 0, 0, wi[no].curr.g_x, wi[no].curr.g_y, wi[no].curr.g_w, wi[no].curr.g_h); wind_open(wi[no].handle, wi[no].curr.g_x, wi[no].curr.g_y, wi[no].curr.g_w, wi[no].curr.g_h); wind_get(wi[no].handle, WF_WORKXYWH, &wi[no].work.g_x, &wi[no].work.g_y, &wi[no].work.g_w, &wi[no].work.g_h); slot[wi[no].handle]=no; } else wi[no].handle=0; } return wi[no].handle; } wi_delete(no) /* Fenster lschen */ int no; { int x, y, w, h; if(!wi[no].handle) return; wind_get(wi[no].handle, WF_CURRXYWH, &x, &y, &w, &h); graf_shrinkbox(x+w/2, y+h/2, 0, 0, x, y, w, h); wind_close(wi[no].handle); wind_delete(wi[no].handle); wi[no].handle=0; } wi_move(no, x, y, w, h) /* Fenster bewegen */ int no, x, y, w, h; { if(!wi[no].handle) return; wi[no].curr.g_x=x; wi[no].curr.g_y=y; wi[no].curr.g_w=max(w, 2*gl_wbox); /* Mindestgre */ wi[no].curr.g_h=max(h, 2*gl_hbox); wind_set(wi[no].handle, WF_CURRXYWH, wi[no].curr.g_x, wi[no].curr.g_y, wi[no].curr.g_w, wi[no].curr.g_h); wind_get(wi[no].handle, WF_WORKXYWH, &wi[no].work.g_x, &wi[no].work.g_y, &wi[no].work.g_w, &wi[no].work.g_h); } wi_full(no) /* Fenster maximal vergrern */ int no; /* oder wieder verkleinern */ { int x, y, w, h; if(wi[no].curr.g_w!=wdesk||wi[no].curr.g_h!=hdesk) { graf_growbox(wi[no].curr.g_x, wi[no].curr.g_y, wi[no].curr.g_w, wi[no].curr.g_h, xdesk, ydesk, wdesk, hdesk); wi_move(no, xdesk, ydesk, wdesk, hdesk); } else { wind_get(wi[no].handle, WF_PREVXYWH, &x, &y, &w, &h); graf_shrinkbox(x, y, w, h, xdesk, ydesk, wdesk, hdesk); wi_move(no, x, y, w, h); } } wi_top(no) int no; { wind_set(wi[no].handle, WF_TOP, 0, 0, 0, 0); } wi_redraw(no, x, y, w, h) /* Fensterausschnitt zeichnen */ int no, x, y, w, h; { GRECT t1, t2; if(!wi[no].handle) return; wind_update(BEG_UPDATE); graf_mouse(M_OFF, 0L); t2.g_x=x; /* t2 = bergebenes Rechteck */ t2.g_y=y; t2.g_w=w; t2.g_h=h; wind_get(wi[no].handle, WF_FIRSTXYWH, /* t1 aus Rechteckl. */ &t1.g_x, &t1.g_y, &t1.g_w, &t1.g_h); while (t1.g_w&&t1.g_h) /* Rechteckliste durchgehen */ { if(rc_intersect(&t2, &t1)) /* berlappung? */ blit(no, t1.g_x, t1.g_y, t1.g_w, t1.g_h); wind_get(wi[no].handle, WF_NEXTXYWH, &t1.g_x, &t1.g_y, &t1.g_w, &t1.g_h); } graf_mouse(M_ON, 0L); wind_update(END_UPDATE); } buf_alloc(no) /* Puffer allozieren */ int no; { int *buf; if(buf=(int *)Malloc(32000L)) { set_mfdb(&wi[no].fdb, buf); return TRUE; } return FALSE; } buf_clear(no) /* Puffer lschen */ int no; { int i; long *addr; addr=(long *)wi[no].fdb.fd_addr; for(i=0; i<8000; i++) *addr++=0; } buf_scrol(no, dy) /* Puffer scrollen */ int no, dy; { int xy[8]; xy[0]=xy[4]=0; /* x1 */ xy[2]=xy[6]=work_out[0]; /* x2 */ xy[1]=dy>0?0:dy; /* y1 */ xy[5]=dy>0?dy:0; xy[3]=work_out[1]-(dy>0?dy:0); /* y2 */ xy[7]=work_out[1]-(dy>0?0:dy); vro_cpyfm(handle, S_ONLY, xy, &wi[no].fdb, &wi[no].fdb); } buf_beg(no) /* Ausgabe auf Puffer */ int no; /* umschalten */ { graf_mouse(M_OFF, 0L); Setscreen(wi[no].fdb.fd_addr, -1L, -1); } buf_end() /* auf Bildschirm umschalten */ { Setscreen(Physbase(), -1L, -1); graf_mouse(M_ON, 0L); } blit(no, x, y, w, h) /* Rechteck aus Puffer holen */ int no, x, y, w, h; { int xy[8]; xy[0]=x-wi[no].work.g_x; xy[1]=y-wi[no].work.g_y; xy[2]=xy[0]+w-1; xy[3]=xy[1]+h-1; xy[4]=x; xy[5]=y; xy[6]=xy[4]+w-1; xy[7]=xy[5]+h-1; vro_cpyfm(handle, S_ONLY, xy, &wi[no].fdb, &scrfdb); } set_mfdb(fdp, addr) /* MFDB mit addr und Worksta- */ long addr; /* tion-Parametern erzeugen */ FDB *fdp; { int work_eout[57]; vq_extnd(handle, 1, work_eout); fdp->fd_addr=addr; fdp->fd_w=work_out[0]; fdp->fd_h=work_out[1]; fdp->fd_wdwidth=(work_out[0]+1)/16; /* Worte / Zeile */ fdp->fd_stand=0; /* unter AES immer RC */ fdp->fd_nplanes=work_eout[4]; } `=daRN NH9@>0,$H9@$0, H9@ 0,jH9@j0,nH9@n?<N3T @f|9|&20,H9@0,H9@0,H9@9|O9| *9|x80,&H9@&0,"H9@"0,hH9@h0,lH9@lBn`0?.N$$TJ@f l/(,?<N+:\0<`|Rn nm l)h$ l)hT0,&=@=@0,&l"=@=l$0,$l =@=@?<?<?,N'\Hn?<?,N)PBgBg?,N'\?< ?,N(^X l/(?,$0,&H??,N) Bg?,N(.X l/(0,$Hl ?0,&l"|0??,N)h NN^NuNV l ( @/?,N\ l ( @/?,N\ l (l @/?,N\ l ( @/?,N\ l ( @/?,N\ l (D @/?,N~\ l (\ @/?,Nh\?</,N\=@0<nf l (D @/N&X??,2N X9@ l (\ @/NX??,0N X9@ l ( @/NX?0,쬖?N hX9@ l (l @/NX?0,쬖l?N XHlN LX=@=@0<no&00,2N^NuNV)n&9n B?<NnTN^NuNV)n&9n B9nD?<NJTN^NuNV)n&9n B9nD?< N&TN^NuNV)n&9n B9nD?<!NTN^NuNV)n&9n B9nD9nF9nH9nJ9nL?<*NTN^NuNV)n&9n B9nD9nF9nH9nJ9nL9nN9nP?</N~TN^NuNV)n&9n B?<2N`TN^NuNV9nB9n D9n F9nH9nJ9nL9nN9nP9nR?<3NTN^NuNV9nB)n &?<4NTN^NuNV9nB?<5NTN^NuNV)n&?<6NT n 04 n06 n08 n0:0,2N^NuNV9nB9n D9n F9nH9nJ9nL9nN9nP?<INdTN^NuNV9nB9n D9n F9nH9nJ9nL9nN9nP?<JN"TN^NuNV?<MNT n04 n 06 n08 n0:0,2N^NuNV9nB)n &?<NNTN^NuNV9nB9n D9n F9nH9nJ?<dNTN^NuNV9nB9n D9n F9nH9nJ?<eNnTN^NuNV9nB?<fNVTN^NuNV9nB?<gN>TN^NuNV9nB9n D?<hN T n 04 n06 n08 n0:0,2N^NuNV9nB9n D9n F9nH9nJ9nL?<iNTN^NuNV9nB?<kNTN^NuNV)n&?<nNTN^NuNV9nB9n D9|?<pNrTBl n 0,2N^NuNV?.NT nn0<`?.?<>N*X9@g0<`0<N^NuNV?.?<LNXN^NuNV/ AL&H`0+ |g/ NBX AL"Ҽm?.NT&_N^NuNV0.n l0.`0. N^NuNV0.n o0.`0. N^NuNV n0 nh? n 0 n h?NX=@ n0( nh? n 0( n h?NtX=@ n? n ?NzX=@ n?( n ?(N`X=@ n 0 n 1n0.n n 1@0.n n 1@0.n^Jg 0.n^J|N^NuNV/ &n/ NDXJ@g0<`00+ |g /+NXBk ?+ NTJ@g0<`0<&_N^NuNVH&n0+ |f0<`.0+ |gV0+ |f0<`v0+ |g?<B?+ NFP?/+?+ NRP @f0<`@k 0Hѫ`$ k o?<0+D@H/?+ NP'@&Bk0<LN^NuNVH$.f BB`J". BnJlVnDJlRnDvd`Bbd nmDdD-@-A LN^NuNV/BnJlRnDJ lRnD 0. -@0.n0. nngD -n N^.JNuN^NuNV nl <`?.?./. ?<BN -@ m .`?<?.B?<BN` -@?<?.B?<BNF -@ nf .Ю -@ `$ nf .Ю -@ `0.g <`b . oHn . /?.?<@N Bg?./. ?<BN ]|9@g <` `Bl . N^NuNV/.?<IN\N^NuNVBn`&0.A0nf0.ABPRn nLmN^NuNV?>.=|0A"HPgXHf0(>N^Nu)I)J)_NN"l$l/,Nu)I)J)_NA"l$l/,NuNV n "n fN^NuNVH0&n$n >.-K`0SGJ@g f .`L N^NuNVH0&n$K`Rf `L N^NuNV .9@ .9@N^NuNV .9@ .9@N^Nu)I)JHl)_Hl" <sNB"l$lNuNV9n 9n 9|lBl9|9nNN^NuNV9n 9|Bl9|9nN0,N^NuNVBl9n 9| 9|Bl9nNX n 0 n0 n0 n0N^NuNV9n 9| Bl9|9nN0,N^NuNV)n)n .мZ)@9|dBl9| n 9PN n 0A쪼)HA쨼)HA짼)HA쩼)HN^NuNV9|eBlBl9nNN^NuNVA쪼)HA쩼)H)n . мZ)@9n 9|fBl9|9nN:A쨼)HA짼)HN^NuNV)n 9|9n Bl9nNA쩼)HN^NuNV)n 9|9n Bl9nNA쩼)HN^NuNV9n 9n Bn nR2.RnA쪼|0f9|9|Sn0.9@9nNnN^NuNV9n /.NX/.N,X)n 9|m9|9|9nN*A쩼)HN^NuNV`4 nH| f?< ?<NX nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNV` nRH??<NX0. Sn J@fN^NuNVH0&n $KA`-H nf?./ N4\=n`L nf?./ N`\=n`. nf?./ Np\=n`-KBn?.NTJ@f`H| f |o@ H-@/./.?.?<@N 9@Hg0<`0,n/./<?.?<@N 9@ @g0<`tRnR -@`R ned` 6.ƼЃ$@ H-@/./.?.?<@N< 9@Hg0<`0,nBl0.L N^Nu9|9|(9|9| 9|9|(9|(C2 22(2B2T&2?2222h&2 222T2h&C4222222222229|O29|-09|,9|3*9|(9|&9|$9|"9| 9|d9|9|9|CL"2"2 2"2"2"22"2"2"22"2x9|JNuwator.rsc[3][|WATOR.RSC fehlt!][ABBRUCH]WATOR.OUT - CON:AUX:PRT: >F_OPENF_HEADERF_CLOSEQUITSEOCEANEPHASEDIAPROTOCOLM_FISHLM_SHARKM_BARKM_EMPTY!OCNPARS"PHAPARS#PROPARS%NEWARS&STARTSABOUT_T'STOP_TPHAPAR_TPOINTSTFSCALTSSCALTTI_OCNTSTRING_TPHA_OKTTI_PROTCURVETTI_PHATHD_1ATIN_PROTHD_2OTHD_3OT HD_5OTHD_4OT PH_FISH PH_SHRKS AL_WIND AL_MEMAL_FILEAL_APPOCNPAR_TNSHARKTSBREEDTSTARVET NFISHT FBREEDT GENERAL XWIDALYWIDALP_OKALFILE_TPATHTF_OKTMENU_TFILETDESKTWINDOWSPROPAR_TPARAMSTPLOTSTPRO_OKTINTERVT n$e Desk Datei Fenster Parameter ber WATOR-------------------- Desk Accessory 1 Desk Accessory 2 Desk Accessory 3 Desk Accessory 4 Desk Accessory 5 Desk Accessory 6 ffnen... Schlieen Kopf schreiben ----------------- Programmende Ozean Phasendiagramm Protokoll------------------- Fische setzen Haie setzen Barrieren setzen Lschen Ozean... Phasendiagramm... Protokoll...-------------------- Neustart Start StopOZEAN - STARTPARAMETERHAIE [ o ]____Anzahl: ____9999____Generationsdauer: ____9999____Verhungert nach: ____9999FISCHE [ . ]____Anzahl: ____9999____Generationsdauer: ____9999AUSDEHNUNG__X-Richtung: __99__Y-Richtung: __99ABBRUCHNEUSTARTkologische SimulationW A T O ROKPD-Programm von R. Geisler 1988nach einer Idee von A. K. Dewdney(Scientific American 12/1984)PROTOKOLLDATEI:________________________________________________________________________XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX( PRN: fr Drucker )OKABBRUCHPROTOKOLLPopulationskurve___Zeitintervalle: ___999NDERNABBRUCH DER OZEAN PROTOKOLL PHASENDIAGRAMM Fische Haie ZeitWATOR kologische Simulation A. K. Dewdney 1984 / R. Geisler 1988Fische: Gen.: Haie: Gen.: Verh.: Ozean: * Fische Haie ZeitFischeHaie[3][Zu wenig|Speicherplatz!][ABBRUCH][3][|Zu viele Fenster!][ABBRUCH][3][|Schreibfehler!][ABBRUCH][2][Alte Datei|fortsetzen?][JA|NEIN]PHASENDIAGRAMMMarker___X max. (Fische): ___999___Y max. (Haie): ___999[ % der max. Population ]NDERNKurveABBRUCH() */FKPglq   "6MNOYZ ^~ " %%EZ[gqr />?GK`dh}PP! $ + 2  <  P  H U j $ 3;LXl|!'"#$%&'  ($"    > Zv   % '- % ! [ !:! V!(r$$$\ %_ s% )  %$9 # ] &      & 0 % @   6 R   %  n .nwator_s.c wator_w.c wator.h wator_g.c mmsys\mmlink.ttp wator_g.o wator_s.o wator_w.o -o wator.prg WATOR - Eine kologische Simulation PD-Programm fr den ATARI ST EINLEITUNG Die kologische Simulation WATOR ist (wie brigens auch der "Krieg der Kerne") dem Computer-Kolumnisten des Scientific American, A. K. Dewdney, zu verdanken. Dewdneys eigene, sehr farbige Beschreibung des Algorithmus [1, 2] kann hier nicht wiedergegeben werden. Deshalb nur eine knappe Zusammenfassung: Beutetiere ("Fische" genannt) werden von Rubern, ("Haien") in einem "Ozean" gejagt, der durch ein zweidimensionales Array reprsentiert wird. Der Ozean luft in x- wie in y-Richtung in sich selbst zurck (zyklische Randbedingungen). Topologisch entspricht dies der Oberflche eines Torus, daher der Name "Wa- Tor"! Pro Zeiteinheit bewegt sich jeder Fisch, wenn mglich, um eine Position in zuflliger Richtung weiter. Entspricht sein Alter der artspezifischen Generationsdauer, so vermehrt er sich ungeschlechtlich: ein Nachkomme bleibt auf der alten Position zurck, ein zweiter besetzt eine benachbarte. Beide Nachkommen haben das Alter 0. Es handelt sich also eigentlich eher um eine Art von Zellteilung: Statt an Fische und Haie knnte man auch an Bakterien und Amben denken. Jeder Hai frit pro Zeiteinheit einen Fisch auf einer der Nachbarpositionen. Nur wenn keiner vorhanden ist, bewegt er sich auf eine leere Position. Hat er eine gewisse Zeit lang keinen Fisch gefressen, verhungert er. Die Fortpflanzung erfolgt wie bei den Fischen. Mit diesen einfachen Spielregeln lt sich eine Ruber-Beute- Beziehung schon recht realistisch simulieren. Eine wichtige Rolle spielt die Geometrie: Aus einer anfnglichen Zufallsverteilung entstehen groe Fischschwrme, die von den Rndern her von Haien aufgefressen werden. Besonders deutlich wird das, wenn man die Haie schnell verhungern lt, z. B. nach 5 Zeiteinheiten. Oft beobachtet man Populationszyklen, bei denen die Anzahl der Fische und Haie zeitversetzt stark schwankt. Solche Schwankungen sind von natrlichen Systemen her bekannt. Sie werden auch von deterministischen Modellen wie dem Gleichungssystem von Lotka und Volterra vorausgesagt (nachzulesen z. B. in [3]). Trgt man in der Art eines Phasendiagramms die Anzahl der Haie gegen die der Fische auf, dann erhlt man nahezu geschlossene Kurven, die um ein "Auge" herumlaufen. Whrend beim Lotka- Volterra-Modell die einmal eingeschlagene Kurve stets exakt beibehalten wird, ergibt die stochastische Simulation ein mehr oder weniger wirres Knuel von Kurven. Trotzdem verhlt sich das System fr viele Parameterkombinationen langfristig recht stabil. Die obige Regel fhrt schon nach wenigen Zyklen zu einer synchronen Vermehrung der Haie, weil nur ein Klon berlebt. Das Ergebnis sind strende Zacken in Populationskurve und Phasendiagramm. Dieser Effekt wird im Programm durch Variieren der Generationszeit unterdrckt: abweichend von Dewdney wird das Alter neugeborener Fische und Haie nicht exakt auf 0, sondern auf 0 +/- 1 gesetzt. Dem bekannten Game of Life hnelt WATOR brigens nur oberflchlich: es handelt sich nicht eigentlich um einen zellulren Automaten (die Fische und Haie behalten bei ihrer Bewegung von Position zu Position ihre "Individualitt"), und die Simulation ist nicht deterministisch! Schlielich stellt WATOR den Versuch dar, reale biologische Ablufe zu simulieren, whrend das Game of Life eigentlich nur dem Namen nach etwas mit Biologie zu tun hat. MEN: FENSTER WATOR benutzt drei Fenster, die ber die Meneeintrge geffnet werden oder -falls sie schon offen sind- aktiviert werden knnen. Ozean In diesem Fenster wird der "Ozean" (das Spielfeld) ausgegeben. Das Fenster ist beim Programmstart bereits offen. Fische werden durch (.), Haie durch (o) dargestellt. Protokoll Im "Protokoll"-Fenster wird stndig die Zahl der Fische, die Zahl der Haie und die Laufzeit der Simulation ausgegeben. Parallel dazu kann die Populationsentwicklung als Kurve (in der Art eines Printplots) dargestellt werden. Die verwendeten Zeichen sind hierbei (o) fr die Fische, (x) fr die Haie, der x-Wert reprsentiert die jeweilige Populationsgre relativ zur maximal mglichen (= Gre des Ozeans). Bei hoher und mittlerer Auflsung betrgt die Kurvenbreite (0 - 100 %) 51 Zeichen, bei niedriger 11. Somit entspricht die Breite eines Zeichens 2 % bzw. 10 % des Maximalwerts. Phasendiagramm Hier wird jede Iteration durch einen Punkt wiedergegeben. Die x- Koordinate steht dabei fr die Zahl der Fische, die y-Koordinate fr die Zahl der Haie (wieder relativ zur Gre des Ozeans). Fische setzen / Haie setzen / Barrieren setzen / Lschen Das "Ozean"-Fenster kann jederzeit mit der Maus editiert werden. Der Mauszeiger verwandelt sich ber dem aktiven Fenster in ein Fadenkreuz. Durch Klicken mit der linken Maustaste lassen sich nun die obigen Operationen durchfhren. Der gerade gltige Eintrag ist durch ein Hkchen gekennzeichnet. Durch Setzen von undurchdringlichen Barrieren ("Kristall-Zeichen") lt sich die Geometrie des Ozeans in beliebiger Weise verndern. Beim Neustart werden sie allerdings wieder gelscht. Diese Barrieren, wie auch die Editierfunktionen insgesamt, sind eine Erweiterung der WATOR-Standardversion. MEN: PARAMETER Ozean... Einstellbar sind die anfngliche Zahl und die Generationsdauer (in Iterationen) der Fische und Haie, die Zeit, nach der ein Hai ohne Nahrung verhungert, und die Gre des Ozeans. Die zulssige Gre hngt von der Bildschirmauflsung ab: Auflsung x-Gre y-Gre hoch 79 45 mittel 79 21 niedrig 38 21 Verlassen der Dialogbox mit "NEUSTART" initialisiert die gesamte Simulation neu (s. u.). Protokoll... Hier kann angegeben werden, in welchen Zeitintervallen (d. h. nach wie vielen Iterationen) jeweils eine Protokollzeile geschrieben werden soll, und ob eine Populationskurve ausgegeben werden soll oder nicht. Phasendiagramm... Die Maximalwerte auf der x- und y-Achse, ausgedrckt in Prozent der grtmglichen Population, knnen eingestellt werden. Wahlweise kann eine durchgehende Kurve gezeichnet werden, oder es werden Marker (Kreuze) gesetzt. Neustart Gem den gerade gltigen Startparametern wird die Simulation initialisiert und gestartet. Fische und Haie werden zufllig gesetzt. Falls dabei ein groer Teil der mglichen Positionen besetzt wird, kann die Initialisierung einige Sekunden dauern. Protokoll und Phasendiagramm werden gelscht, auf eine eventuell offene Protokolldatei wird ein neuer Kopf ausgegeben. Start / Stop Ein- und Ausschalten der Simulation. MEN: DATEI ffnen... In die Protokoll-Datei werden die gleichen Daten ausgegeben wie in das "Protokoll"-Fenster (nur die Scroll-Richtung ist umgekehrt!). Fr die Datei kann ein beliebiger Pfadname angegeben werden. Existiert schon eine gleichnamige Datei, so erfolgt eine Abfrage, ob sie fortgesetzt werden soll oder nicht (wenn nicht, wird sie berschrieben). Dank GEMDOS kann die Protokollausgabe auf einen Drucker geleitet werden, indem man einfach als Pfadnamen "PRN:" angibt [4]. Schlieen Die Protokolldatei wird geschlossen. Bei einem Schreibfehler oder beim Programmende erfolgt dies automatisch. Kopf schreiben In die Protokolldatei werden einige Kopfzeilen mit den Startparametern der Simulation geschrieben. Geschieht automatisch beim Neustart. Programmende Selbsterklrend. IMPLEMENTATION Das Programm wurde in Megamax C V1.1 geschrieben. Der Quelltext ist auf der Diskette vorhanden. nderungen oder Erweiterungen sind durchaus erwnscht, sollten aber bitte in der About...-Dialogbox vermerkt werden. Um nderungen mglichst zu erleichtern, wurde das Programm in mehrere Module aufgeteilt: die eigentliche Simulation (WATOR_S), die GEM-Oberflche (WATOR_G) und die Fenstersteuerung (WATOR_W). Das Simulations-Modul entspricht weitgehend den Vorgaben von A. K. Dewdney. Eine wesentliche Abweichung stellt nur die Randomisierung des Alters dar (s. Einleitung). Als Zufallsgenerator wurde die XBIOS-Funktion Random() benutzt. Diese Funktion ist zwar sehr zeitaufwendig, doch die schnellere rand()-Funktion der Standard- Bibliothek erwies sich leider als unzureichend. Zur GEM-Oberflche ist anzumerken, da die Standardfunktionen sscanf(), sprintf(), fprintf() umgangen wurden, um den damit verbundenen Overhead von einigen KB einzusparen. Alle Funktionen der Fensterverwaltung sind im Modul WATOR_W zusammengefat. WATOR_W ist weitgehend auf die Bedrfnisse des Programms zugeschnitten: z. B. werden nur solche Fehler abgefangen, die beim Aufruf durch WATOR_G tatschlich auftreten knnen. Verwendet wird ein einfaches Slot-Konzept, das in groben Zgen dem von Gei & Gei [5] folgt. Das Programm mu in der Lage sein, auch in teilweise verdeckte Fenster Grafik auszugeben. Da ein Clipping die Simulation stark verlangsamen wrden, blieb nur eine radikale Lsung: Jedem Fenster wird ein Grafikpuffer in voller Bildschirmgre zugeordnet, alle Ausgaben erfolgen in den jeweiligen Puffer (ohne Clipping!), und beim Redraw werden nur noch die entsprechenden Bereiche vom Puffer auf den Bildschirm kopiert. Der "Ozean" wird mit v_gtext() ausgegeben, da die brigen Funktionen des VDI auch ohne Clipping zu langsam wren. Benutzt wird der 8 * 8-Textfont, was eine unterschiedliche Ozeangre bei verschiedenen Auflsungen erzwingt. Das gleiche gilt fr die Zeilenzahl des "Protokoll"-Fensters. Alle String-Konstanten stehen in der Resource-Datei, und zwar in einem eigenen Objektbaum, da weder MMRCP noch RCS freie Strings untersttzen. Damit WATOR auch in niedriger Auflsung luft, wurde das "Parameter"-Men mit dem RCS nach links verschoben. Viel Spa mit WATOR wnscht Ihnen: Robert Geisler D-7400 Tbingen, 27.01.88 Hirschauer Str. 48 LITERATUR [1] A. K. Dewdney, Scientific American 12/1984, 14 deutsch: Spektrum der Wissenschaft 2/1985, 6 [2] A. K. Dewdney, Scientific American 4/1985, 14 deutsch: Spektrum der Wissenschaft 5/1985, 8 [3] B. Streit: kologie, Ein Kurzlehrbuch, S. 38 ff., Thieme (1980) [4] H. Kersten, ST-Computer 4/1987, 42 [5] J. Gei, D. Gei: Software-Entwicklung auf dem ATARI ST, S. 294 ff., Hthig (1986) ******************************************************************** Deze diskette is samengesteld door de Stichting ST, Postbus 11129, 2301 EC Leiden. Onze bibliotheek van public domain programma's omvat op dit moment (herfst 1992) al meer dan achthonderd disks. Daarop vindt u programma's op elk gebied, van tekstverwerker en database tot de leukste spelletjes, de fraaiste tekenprogramma's en de handigste utilities. Ook bevat onze bibliotheek een speciale afdeling voor public domain disks met Macintosh software, die te gebruiken zijn onder de ALADIN emulator. Deze MAC-PD serie bevat tot nu toe ongeveer vijfendertig disks. ******************************************************************** U vindt in het twee maandelijks tijdschrift "ST" (Onafhankelijk tijd- schrift van en voor gebruikers van Atari ST computers) een overzicht en een bespreking van de inhoud van de nieuwe public-domain diskettes. Dit tijdschrift bevat tevens een bestelkaart zodat U vlot over de software kunt beschikken. De november/december uitgave bevat een compleet overzicht van de Public Domain bibliotheek op dat moment. De Stichting ST geeft ook een speciale PD catalogus disk uit. Deze public domain disk is geproduceerd en gedistribueerd door: ************** Stichting ST afd. Software Bakkersteeg 9A 2311 RH LEIDEN ************** Ondanks onze controle komt het af en toe voor dat een diskje niet goed is gecopieerd.Mocht U dit overkomen, aarzel dan niet en stuur de defecte disk aan ons terug. U krijgt dan direct een vervangende disk toegestuurd. ************************************************************************ Teneinde het voor ons mogelijk te maken om productiefouten op te sporen en vervolgens in de toekomst te vermijden, zijn alle disks, geproduceerd door de Stichting ST, voorzien van een groen productienummer. ************************************************************************