German Mathematisches System mit b4a erstellen

hoj

Member
Licensed User
Longtime User
hallo zusammen,

ich habe folgendes Problem beim erstellen eines mathematischen System,
und wollte fragen ob das mit b4a zu machen ist.

folgendes Problem:

Eingabe erfolgt in einem Edittext zur Laufzeit als Beispiel

++++++++++++++++++++++++++++++++++++++++++++++
a = 10
b = 10
do loop

aufruf einer math.Berechnung

ergebniss_A * a + 5 * b

if ergebniss_A = 100 then exit loop


end loop
+++++++++++++++++++++++++++++++++++++++++++++++


die loop und die If Anweisung machen mir Kopfzerbrechen.

kann aber nicht die Basiclib von Graham einsetzen.

Vielleicht hat jemand eine Idee wie man das machen kann

Ich wäre sehr dankbar



Mit freundlichen Grüßen
HOJ
 

hoj

Member
Licensed User
Longtime User
mathematisches System

hallo timo,
so ähnlich ja
aber folgendes muss man beachten:

1: der Code wird in Edittext zur Laufzeit wie bei einem Editor eingegeben.
2: nach der Eingabe wird ein Run-Button gedrückt, das Textfile wird geparst
und dann ausgerechnet und auf einem anderen Panel ausgegeben.
So ähnlich wie bei Mathematica oder Derive
das alles funktioniert schon , aber ich muss noch eine loop und eine If - Anweisung erarbeiten , so das ich mit mehreren Werten und Variablen anhand
der Loop - schleifen das Mathematische System bearbeiten kann, aber alles zur Laufzeit für den Anwender.

mfG
HOJ
 

hoj

Member
Licensed User
Longtime User
mathematisches System

hallo timo,

es soll so funktionieren wie die IDE von B4A
du gibst dein Quellcode ein und compilierst dein Quellcode und fertig ist dein
programm

Mein System funktioniert so ähnlich,und ist auf B4A aufgesetzt, nur sind meine Keywords anders.

zb : MAT= MATRIX oder LG = lineare Gleichungen , oder POLY= Polynome....... oder ... oder..

die Mathematischen Sachen sind schon fertig.

was ich noch brauche ist die do -loop schleife und IF anweisungen die ich in
meinem System abbilden will.

Also so ähnlich wie die Basiclib von Graham aber nicht in B4A Keywords sondern
mit meinen Keywords.


übrigends deine Homepage ist klasse !!!!!!!!!!!!

mfg
hoj
 

klaus

Expert
Licensed User
Longtime User
Leider sind Deine Angaben zu ungenau um eine konkrete Antwort geben zu können.
Wo und wie ist 'ergebniss_A' vor der Schleife definiert ?
Leider gibt es in B4A Do ... Loop Until nicht.
Es gibt nur Do While ... Loop und Do Until ... Loop.
Je nachdem wie 'ergebniss_A' definiert ist sollte timos Code funktionieren.

Beste Grüsse.
 

hoj

Member
Licensed User
Longtime User
mathematisches System

Hallo Timo,

ich habe mir in B4A so ungefähr 150 mathematische Routinen geschrieben.

bei normalen mathematischen Apps (Android Market) rufst du eine mathematische Funktion über einen Button auf, gibst die verlangten Werte ein
und die Sache wird berechnet und ausgegeben.

die von dir eingegeben Werte in das System sind fest (soll heißen wenn du die Zahl 10 eingibst rechnet er mit der zahl 10 und und gibt das Ergebniss mit dieser eingeben Zahl aus)

Diese System ist fest das heißt keine veränderliche Variablen.

in meinem System sin aber alle Eingaben veränderlich.

zb Eingabe 10 ( veränderlich - zb. 20)



dann wird das normaler in B4A als for -Next schleife geschrieben.

for A = 10 to 20

a = 10
dann
a = 11
dann
a = 12
und so weiter bis 20 ereicht ist

next

ich will aber so was ähnliches zur laufzeit hinzufügen
als
zb do loop



end loob


dieser unten sichtbare Text ist in einem Textfile gespeichert.

++++++++++++++++++++++++++++++++++++++++++++++
++++++++++++++++++++++++++++++++++++++++++++++
a = 10
b = 10
do loop


aufruf einer math.Berechnung ( zb. Aufruf eine linearen Gleichung)

ergebniss_A * a + 5 * b

if ergebniss_A = 100 then exit loop

b = b +1

end loop
+++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++

diesen Text will ich in mein System wo in B4A entwickelt wurde einlesen und verarbeiten.

all erstes werden die Werte a und b eingelesen die jeweils die zahl 10 darstellen

also sind in meinem System (CAS_MAT) B4A
die variablen a und b mit dem Wert 10 belegt worden

nun erfolg Aufruf von math.Berechnung (zb. Lineare Gleichung))
die a und b Werte werden der LG Routine zugeführt und berechnet

ergebniss_A ist die Ausgabe von Routine LG

diese läuft solange in einer schleife bis das Ergebniss 100 ist

so jetzt kommt mein Problem wie kann ich diese schleife als Simulation von Aussen zur Laufzeit im System abbilden.

so das beim Einlesen von obigem Textfile alles das passiert was drin steht.

!!! das war nur ein Beispiel.
in der Mathematik ist ja vieles möglich mit verschachtelte Schleifen die zur Laufzeit im System abgebildet werden sollen.

alls ein absolut variables System und nicht festverankert wie die meisten Mathe-Apps

man kann es auch so sagen ich will eine Script - Sprache von aussen erstellen
und dann meinem System zuführen.
mit Variablen von aussen zu Rechnen ist kein problem bloss wie kann man eine Schleife und If Anweisung von aussen ins System zur Laufzeit bringen
Mit Lisp geht das.

mfG
HOJ
 

hoj

Member
Licensed User
Longtime User
mathematisches System

hallo Timo,

nein so meine ich das nicht.

das ist B4A quellcode der nachher compiliert wird und er läuft auf dem
Android System

mein Quellcode beinhaltet mehrere tausend Zeilen in B4A und wurde compiliert
und läuft.

nehmen wir mal folgende Situation an:

meine Math-App läuft jetzt auf einem android System und das System verlangt Eingaben zB. bei einem Autorennen - Spiel musst du jetzt eine Taste für Gas geben oder eine Taste für Bremsen betätigen (also zur Laufzeit)

bei meinem App mache ich auch Eingaben aber nur im Math Bereich um Sachen zu berechnen.
Um aber dynamisch und variabel zu bleiben will ich zum beispiel

von Aussen ( zur Laufzeit) folgende Eingabe machen können:



1. Eingabe (For i = A To 30 )
2. Eingabe (b = i + 5 ) *Routine GL nimmt b zur berechneung*
3. Eingabe ( Go GL ) * Math Routine*
ergebniss_A *ergebniss von GL Routine nach berechnung*
4. Eingabe ( if ergebniss_A >= 100 then Exit)
5. Eingabe ( Next )

end-ergebniss = ergebniss_A


alle Angaben in runder Klammer will ich als Eingabe von Aussen zur Laufzeit
in mein System eingeben ( zb . über Edittext View )

MfG
HOJ
 

klaus

Expert
Licensed User
Longtime User
Eine Textdatei laden und deren Code dann im Programm direkt einzubinden, wie eine For / Next Schleife, ist nicht möglich, das musst Du Alles selbst schreiben.

B4X:
ergebniss_A * a + 5 * b
Diese Zeile sieht komisch aus, kein "=" Zeichen.

Beste Grüsse.
 
Top