Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 243061 (4497)
  Suchen
 Zurück zur Übersicht
 AutorThema: Was rechnet Profan da Falsch !!!!
Thorsten
Datum:10.04.02 09:05 Antwortenals Email verschicken (mrk@mrk-soft.de) 



declare z1%, z2%

z1% = 4 * sin(2.12)
z2% = mul(4 ,sin(2.12))

print z1%
print z2%

waitkey



Hi Roland (und andere),

Klär mich doch mal auf, warum z1 und z2 unterschiedliche
Ergebnisse liefern, wo es doch die selbe Rechenoperration ist.




Stefan Schnell
Datum:10.04.02 09:13 Antwortenals Email verschicken (mail@stschnell.de) 


Hallo Thorsten,
wenn Du den richtigen Variablentyp (nämlich Float (!)) verwendest, kommt auch das richtige Ergebnis:

declare z1!, z2!

z1! = 4 * sin(2.12)
z2! = mul(4 ,sin(2.12))

print z1!
print z2!

waitkey

End

Tschüss
Stefan Schnell



Thorsten
Datum:10.04.02 09:54 Antwortenals Email verschicken (mrk@mrk-soft.de) 


>wenn Du den richtigen Variablentyp (nämlich Float (!))
>verwendest, kommt auch das richtige Ergebnis:

Dann müste ja in beiden fällen NULL herauskommen !!!, nur
in variante Z1 Funktioniert es ja ....



Roland G. Hülsmann
Datum:10.04.02 11:27 Antwortenals Email verschicken (rgh-soft@t-online.de) 


Hallo!

Wie schon festgestellt, sind beide Ergebnisse bei Dir falsch, da Du den falschen Variablentyp benutzt.

Sin(2.12) ist etwa 0.853, multipliziert mit 4 ergibt das etwa 3.412!

Unterschiedlich ist die Art und Weise, wie in diesem Fall mit dem falschen Ergebnistyp umgegangen wird. Im ersten Fall (mit den Operatoren) werden die Nachkommastellen erst beim Ergbnis abgeschnitten (aus 3.412 wird 3) und im zweiten (@Add-Funktion) schon beim Zwischenergebnis (aus 0.853) wird 0. Gleiches würde man auch bei den anderen Grundrechenarten feststellen können.

Gruß
Roland


Sven Schmidts
Datum:10.04.02 12:05 Antwortenals Email verschicken (schmidts@flat2serv.de) 


Ich wusste es: Ich muss wohl doch noch mal alle Klausuren überprüfen lassen. Nicht ich habe etwas falsches ausgerechnet, der Prüfer hat falsche Var-Typen verwendet! ;) *gg*

Sven


Thorsten
Datum: 10.04.02 13:36 Antwortenals Email verschicken (mrk@mrk-soft.de) 


Danke Roland,

das es mit ner FLOAD-Vari geht, hatte ich dann selber auch
schon rausgefunden, da Integers ja keine nachkommastellen
haben dürfen. Das hier ein Integer benutzt wird, war
schon richtig, es werden keine Nachkommastellen benötigt, sondern nur der geradene Wert, nur als ich diese Funktion
nach Profan 4.5 !!! Umschreiben wollte, funktionierte das
ganze Programm nit mehr, dachte halt, beides würde zum
gleichen ergebniss führen.




 Zurück zur Übersicht