Rundungsproblem

Angelika Dorsch dad at rz.uni-jena.de
Mi Jan 31 08:25:19 CET 1996



Liebe allegrologInnen,

Gerade habe ich mich mit einem mir etwas unerklaerlichen Effekt im
Zusammenhang mit der Rundung von Zahlen mittels x"rn" herumgeschlagen.
Ich wuerde mir gern mit Ihrer Hilfe noch etwas Gewissheit verschaffen.

Stutzig geworden bin ich bei der Berechnung von Geldsummen fuer die
einzelnen Fachgruppen der UB. Habe ich das fuer nur eine Fachgruppe
getan, kamen um ein paar Mark differierende Werte heraus im Vergleich
zu einer Liste mit den Werten aller Fachgruppen. Erstellung letzterer
beinhaltet einen sog. 'Gruppenwechsel', d.h. vor dem srch-Lauf wird nach 
Fachgruppen sortiert u. in der Export-Parameterdatei immer dann, wenn
eine neue Fachgruppe beginnt, die Variable in der aufsummiert wurde,
auf volle Mark gerundet ausgegeben u. wieder auf 0 gesetzt. Etwa so:

#uhs x"r0" P7 r11
#uhs x"=0" =hs

Und da liegt auch der Knackpunkt.
Habe ich einmal das x"r0" verwendet, werden nun bei allen weiteren Auf-
summierungen offensichtlich nur auf ganze Zahlen aufgerundete Zahlen
verwendet.
Ich haette eigentlich das Handbuch so interpretiert, dass sich das
x"r0" nur auf den Arbeitstext, d.h. auf die Ausgabe bezieht, u. dann
wieder mit voller Stellenzahl weitergearbeitet wird???

Zur Veranschaulichung habe ich auch noch mal eine kleine Test-Export-
Parameterdatei geschrieben:



  --------- Konstanten --------------------------------------------
ff=2     um Kopf- und Fuáabschnitt zu aktivieren
zm=0     damit am Ende der Fuáabschnitt auch ausgefhrt wird
zl=78
  ----------------------------------------------------------
#utt C p"utt       : "
#utt x"r0" C p"utt (ger.): "
#utt x"+1" =tt
#+#

K
#dts x"=0" =tt

=========================================================================

Deren Ergebnis so aussieht:


utt       : 0.000000000
utt (ger.): 0

utt       : 1
utt (ger.): 1

utt       : 2
utt (ger.): 2

utt       : 3
utt (ger.): 3

utt       : 4
utt (ger.): 4

utt       : 5
utt (ger.): 5

utt       : 6
utt (ger.): 6

utt       : 7
utt (ger.): 7

utt       : 8
utt (ger.): 8

utt       : 9
utt (ger.): 9

utt       : 10
utt (ger.): 10

utt       : 11
utt (ger.): 11

utt       : 12
utt (ger.): 12

utt       : 13
utt (ger.): 13

utt       : 14
utt (ger.): 14

utt       : 15
utt (ger.): 15

========================================================================

Ich haette erwartet, dass so etwas herauskommt:
utt       : 0.000000000
utt (ger.): 0

utt       : 1.000000000
utt (ger.): 1

usw.

Mache ich da einen Denkfehler???

Natuerlich laesst sich, dank der Flexibilitaet von allegro ;-) 
auch das umschiffen, indem man halt, bevor man weiter aufsummiert,
einfuegt x"r9". Aber drauf kommen muss man eben erstmal!

Auf Erklaerungen bin ich schon gespannt

Angelika Dorsch

-- 

******************************************************************************
*    Angelika Dorsch                           e-mail:  dad at rz.uni-jena.de   *  
*    Universitaetsrechenzentrum der FSU        Telefon: 03641/636296         *
*    Am  Johannisfriedhof 2                    FAX:     03641/22435          * 
*    07743 JENA                                                              * 
******************************************************************************



Mehr Informationen über die Mailingliste Allegro