Seite 1 von 1

Calculator Reihenverarbeitung ! mit Grafikausgabe

Verfasst: 05.02.2010 03:39
von Max_der_Held
Hallo Leute,

Ich habe heute den ganzen Tag für dieses kleine aber feine Projekt beansprucht, und möchte es euch jetzt
vorstellen:
Ein reihenverarbeitungsfähiges Rechenprogramm (Taschenrechner)
mit graphischer Ausgabe hehe :) damit sieht calc.exe alt aus (ok, die Aussage ist nicht fundiert^^)

Man kann klammern, potenzen (z.b. x^2) etc. eingeben, er zeichnet einem den graph und rechnet eine Nullstelle mit dem Intervallhalbierungsverfahren aus.

Anlass dieses Programms: mein Mathelehrer hat irgendwas gesagt von wegen dann mach doch ein Programm, wenn's so einfach ist.. (ich hab die Nullstelle einfach per taschenrechner rausbekommen anstatt das Verfahren herzunehmen .. jedenfalls hab ich die Herausforderung angenommen hehe :)

evtl kann jemand die sources brauchen :)
aber sind wie gesagt nicht sooo ordendlich, bin müde.. ist spät.. kann kaum noch sitzen bzw. schreiben.. völlig überarbietet.. aber immerhin geht's jetzt^^ :D ;)
an nur einem Tag programmiert :)

Bugfix:
1. bei x^2 und a=0 gab er trotzdem nen fehler aus (obwohl er dann ja die nullstelle finden würde, bei 0)
2. Minus am anfang des Gesamtterms verursachte Crashs: z.b. -x
3. z.B. bei x^3-x kam fehlermeldung obwohl er die Nullstelle findet, da der Graph unten anfängt und rechts oben aufhört etc.

Thx für's Testen STARGÅTE :)

Neu hochgeladen; Downloadzahl war bei 10
DOWNLOAD

Bild

lg
max

Re: Calculator Reihenverarbeitung ! mit Grafikausgabe

Verfasst: 05.02.2010 09:25
von STARGÅTE
Man kann klammern, potenzen (z.b. x^2) etc. eingeben, er zeichnet einem den graph und rechnet eine Nullstelle mit dem Intervallhalbierungsverfahren aus.
Nö ^^, wenn ich x^2 eingeben und das Intervall [-2,2] eingebe bekomm ich:
---------------------------
Error
---------------------------
bei diesen a-b-werten liegt der 0-punkt nicht dazwischen! ändern sie a oder b
---------------------------
OK
---------------------------
Meiner Meinung nach hat aber x^2 eine Nullstelle :lol:


Auch bei "x^3-x" kommt diese Meldung wenn ich die 2. Nullstelle finden lasse:
[0,3] er rechnet zwar 2 aus aber die Meldung kommt.


und bei -2*x stürzt das programm komplett ab :?
gebe ich dafür 0-2*x ein, rechnet er zwar, meckert aber wieder das die Nullstelle nicht zwoischen -2 und 2 liegt !
Und die "Kreise" sind nicht auf der x-Achse ...

Re: Calculator Reihenverarbeitung ! mit Grafikausgabe

Verfasst: 05.02.2010 09:33
von Max_der_Held
-2*x stürzt ab? mussich mir nochmal anschaun ^^ war aber auch schon üübelst spät ;)

das andere stimmt schon, das ist keine nullstellenberechnung direkt, sondern eine annäherungsversuch mit dem Intervallhalbierungsverfahren :)
soll heißen: die Nullstelle muss zwischen "a" und "b" liegen ;) (da, wo am anfang -2 und 2 steht)
Edit: bzw. da stimmt aber tatsächlich was nicht.. wird auch angeschaut /edit

(wegen dem minus etc. argh mist ^^ ja, weil vor dem minus da nichts steht.. danke ^^ das gleiche passiert, wenn du nach einer Klammer das Mal-zeichen weglässt ;) z.b. "(2+3)x" ;)
thx, wird sobald möglich verbessert :) )

edit: weil ich grad wieder Zeit hab hier^^ (alle schauen auf den beamer, wir hier sind aber schon fertig, soweit^^)
der Fehler wegen Minus:

Code: Alles auswählen

*calcelement      = CalcElement     () 
            *Number           = PreviousElement ( CalcElement()) 
            NextElement       ( CalcElement ()) ; geteilt/malzeichen
            NextElement       ( CalcElement ()) ; zahl
            
            If Not (*Number\Art    = #text_art_zahl Or *Number\Art = #text_art_variable )  
(Zeile unbekannt.. mit wordpad geöffnet) er versucht auf das previouselement zuzugreifen; das gibts aber gar nicht bei -x z.b.

lg
max

Re: Calculator Reihenverarbeitung ! mit Grafikausgabe

Verfasst: 05.02.2010 13:41
von Max_der_Held
ps: jetzt fällt mir zumindest wieder ein, warum die parabel "keine" Nullstelle hat.
das ganze beruht ja auf diesem Intervallhalbierungsverfahren, und wenn ich jetzt bei der parabel -2 udn 2 einsetze kommt
y1=4
y2=4
raus.
zwischen den y-werten muss nicht zwangsläufig eine Nullstelle liegen!
dieses Verfahren braucht also einen y-wert im minus, und einen im Positiven bereich, dann kann man die erste Nullstelle, die ma dann für polynomdivision braucht etc. rauskriegen.

sind beide y-werte positiv dann schneidet die Strecke y1-y2 nicht die x-achse und die näherungsrechnung kann nicht sicher wissen, ob es eine nullstelle gibt, oder nicht, hier ;)

aber das mit den Fehlermeldungen prüf ich grad. (setz für a mal 0 ein, dann gehts trotz meldung (meldung kommt wegen < statt <= )

[EDIT] So, alle Bugs beseitigt. und neu hochgeladen
Danke, für's Testen STARGÅTE :)
[/Edit]
--> fehlermeldung.