Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 243061 (4497)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Was rechnet Profan da Falsch !!!!
Thorsten
| Datum:10.04.02 09:05 (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 (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 (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 (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 (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 (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