Runden-Algorhytmus
-
Hi
Ich hab mir ne Schulnoten-Tabelle mit Opie-Sheet auf dem Linux-ipaq gebaut und hab nun dass Problem, dass ich nicht weiss wie man Zahlen auf 0.5 rundet. Ich hab da leider keine Runden-Funktion.
Da ich leider kein so helles Mathe-köpfchen bin, brauche ich einen Algorhytmus fürs runden, der nur die Standardoperatoren + - * und / verwenden darf..Das sollte glaube ich gehen, ich hab nur keine Ahnung wie.. Hoffe jemand hier kann mir helfen.
Danke schon mal
-elvis
-
Zählt % für dich auch zu den StdOp?
-
Ohne Typumformungen (Fließkomma-, zu Ganzzahl) hast du keine Chance es selber zu machen (% wäre natürlich auch eine Möglichichkeit).
-
Nee, % geht leider nicht.
Hier sind noch einige mathematische funktionen die neben +, -, * und / gehen (wohl aber kaum für eine derartige aufgabenstellung zu brauchen sind):SUMME()
ABS()
SINUS()
COSINUS()
TANGENT()
EXP()
LOG()
POW()mehr ist da nicht implementiert..
-elvis
-
Kannst du mal weitere Informationen zu dieser Plattform geben (Link o.ä.)? Ich kann mir nicht vorstellen, dass es keinen modulo gibt.
-
Hi,
es handelt sich bei der Anwendung um das Programm opie-sheet. Dazu gibts leider keine Projekthomepage, aber hier gibts auch ein paar infos:http://www.killefiz.de/zaurus/showdetail.php?app=140
http://qtopia.ozler.net/-elvis
-
elve schrieb:
SUMME()
ABS()
SINUS()
COSINUS()
TANGENT()
EXP()
LOG()
POW()find eine doku zu opiesheet. aber kann ja c++ lesen.
http://dudu.dyn.2-h.org/nist/doxydoc/allOpie/sheet_8cpp-source.html
ich lese da
+ - * / SUM COUNT MIN MAX AVG ABS SIN COS TAN ATAN ATAN2 ASIN ACOS EXP LOG POW
hab ich ne ganz andere version?
-
mit atan gehts so:
ROUND(x):=x-ATAN(TAN(x*ACOS(0)*2))/ACOS(0)/2
-
man könnte natürlich auch einfach if (function=="ROUND") .. einfügen und neucompilieren
-
Bashar schrieb:
man könnte natürlich auch einfach if (function=="ROUND") .. einfügen und neucompilieren
das wäre erheblich besser, weil der tangens an den unstetigkeiten kaum noch in nen double paßt. nach kaputten zwischenergebnissen traue ich dem endergebnis auch nicht mehr. also bei x-werten von 0.5, 1.5 und so, genau an den sprungstellen, traue ich meiner lösung durchaus fehlerhaftigkeit zu. in ner notenanwendung kann man die weghauen, indem man x+0.001 nimmt.