Parser für Mathematische Funktionen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Parser für Mathematische Funktionen

    Hi,
    erstmal Hallo (mein erster Beitrag :-)). Ich benötige grob definiert ein Klasse, Funktion o.ä. wo man eine Mathematische Aufgabenstellung eingeben kann und anhand der Aufgabenstellung eine Berechnung stattfindet. Zusätzslich sollte man Vorgabefelder und Gelieferte Felder auswählen können. Als Beispiel:

    Vorgabewert1 + Eingabewert1 = Vorgabewert2

    Vorgabewerte werden vom System erstellt.
    Eingabewerte vom Nutzer per Inputfeld eingegeben.
    Anhand dieser Eingabe (Werte + Sonderzeichen) sollte eine Formel erstellt werden.

    Gibt es sowas ist sowas flexibel lösbar:

    Vorgabewert1 + Eingabewert1 + Eingabewert2= Vorgabewert2

    oder muss ich für jede Aufgabe eine eigene Klasse schreiben? Was bei einem Lehrbuch der 5. Klasse Mathematik ein ziemlicher Spass wäre :-)

    Vielen Dank für alle Hinweise im Voraus!

  • #2
    Hmm, Lehrer?

    Willkommen im Forum, übrigens.

    Was heißt

    Anhand dieser Eingabe (Werte + Sonderzeichen) sollte eine Formel erstellt werden.
    Soweit ich das verstanden habe, willst du einfach simple Gleichungen aufbauen, oder?

    sowas wie

    3 + x = 8
    Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
    var_dump(), print_r(), debug_backtrace und echo.
    Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
    Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
    Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

    Kommentar


    • #3
      versuche mit javascript und eval
      http://de.selfhtml.org/javascript/sp...ige/rechne.htm
      z.b.s
      m=5+3
      auf ok drücken
      m*2
      und wieder ok

      es ist in jedem fall nicht so gefärlich wie eval function von php und belasstet der server nicht, also lokal ausgeführt.
      und wenn du mal mit geometri anfängst, dann kannst du von mir erstelte dreieck-functionen 90 ° benutzen
      http://www.bituniverse.com/frantsuzo...vadreieck.html
      grüsse Slava
      Slava
      bituniverse.com

      Kommentar


      • #4
        ne lehrer gott sei dank nicht .-)

        also im prinzip habe ich sowas:

        PHP-Code:
        // Eingabe durch Benutzer: größer / kleiner
        // Anforderung an das Skript: generiere 2 unterschiedlich große Zahlen
        $eingabe '>';
        $gegeben1 1;
        $gegeben2 2;
        $formel $gegeben1.$eingabe.$gegeben2;

        oder

        // Eingabe durch Benutzer: wie viel cm sind X m
        // Anforderung an das Skript: generiere 1 Zahl
        $eingabe =100;
        $gegeben=1;
        $formel =($eingabe/100)==$gegeben;


        oder

        // Eingabe durch Benutzer: 4 zahlen zwischen 67 und 72 aufschreiben
        // Anforderung an das Skript: generiere 2 Zahlen wobei die 2. um 5 höher ist als die erste
        $gegeben1=$irgendwas;
        $gegeben2=$irgendwas+5;
        $formel="(#gegeben1#+1 ==#eingabe1#) && (#eingabe1#+1 ==#eingabe2#) && (#eingabe2#+1 ==#eingabe3#) && (#eingabe3#+1 ==#eingabe4#) && (#eingabe4#+1 ==#gegeben2#)== true"
        Im Prinzip brauche ich ein Skript o.ä. das mit 3 Arten von Variablen umgehen kann:
        1. Benutzereingaben
        2. Evtl. Generierte Werte vom System
        3. Evtl. Benutzereingaben von Operatoren/Rechenzeichen

        Normale +-*/ Aufgaben sollten ja kein Thema Darstellen, aber z.B. das dritte Beispiel von oben da wirds schon haarig. Es gibt ca. 150 Aufgaben in einem 5. Klässler Mathebuch. Die Frage ist ob es sich irgendwie "verallgemeinern" lässt, um nicht jede Aufgabenart neu programmieren zu müssen.

        Kommentar


        • #5
          Also die Grenzen oder Vorgaben generieren gehen mit rand().

          Die Eingaben heissen in html Eingabefelder <input type=text value=">">

          Die Vorgaben heissen auch Eingabefelder <input type=text value="vorgabee" readonly>

          Ein Operator heisst echo "x"; (zb wenn ein Mal gemeint ist)

          soweit aus deiner Frage klar ist was Du überhaupt meinst.

          händisch heisst ja eingabe auch _________________ oder Kästchen.

          Kommentar

          Lädt...
          X