aSD 發問時間: 電腦與網際網路程式設計 · 9 年前

如何使用PHP,編寫微積分線上測驗的"填充題"??

請問各位精通PHP的大大們,如何使用PHP,寫出微積分線上測驗的""填充題 ""題目呢? 程式要能自行判斷答案是否正確,讓使用者知道

假設輸入之運算符號都固定如 x平方為x^2 、根號x:x^(1/2) 以此類推

目前已知問題:

1.使用者輸入之未知數大小寫不一致,如2x、2X、 3y 、3Y......

2.使用者可能多輸入了空格影響答案判別

3.數學交換率,如乘法、加法等交換率,以致多項式順序不同,但答案相同

4.答案寫死固定,若項數過多,過於累人

若題目為 2x^3+ 5x^2+6x-4 微分 =? 答案 6x^2+10x+6(順序要能對調 ,如6x^2+6+10x 或6+10x+6x^2 或10x+6x^2+6.........等等。

希望各位PHP高手們,能以上題為例,幫幫小弟!! 感激不盡

2 個解答

評分
  • 9 年前
    最佳解答

    preg_split -- 正規表達式切割字串

    preg_split( string pattern, string subject [, int limit [, int flags]] )

    參數說明pattern正則表達式subject需要匹配分割的對象limit可選,如果指定了limit ,則最多返回limit 個子串,如果limit 是-1,則意味著沒有限制,可以用來繼續指定可選參數flagsflags設定limit 為-1 後可選,可以是下列標記的任意組合(用按位或運算符| 組合):PREG_SPLIT_NO_EMPTY:preg_split() 只返回非空的成分PREG_SPLIT_DELIM_CAPTURE:定界符模式中的括號表達式也會被捕獲並返回PREG_SPLIT_OFFSET_CAPTURE:對每個出現的匹配結果也同時返回其附屬的字符串偏移量。注意這改變了返回的數組的值,使其中的每個單元也是一個數組,其中第一項為匹配字符串,第二項為其在subject 中的偏移量。 妳應該會自己計算出來吼?如果計算出來那就分割他來比對就好囉阿

    EX:

    $str = "6x^2+10x+6"; //正解

    $keywords = preg_split("/[\+-]+/", $str); //先已 + / - 分割式子

    //輸出:6x^2,10x,6 ((這是陣列喔))

    $keywords = preg_split("/[\dx\^]+ /", $str); //把符號分割出來

    ..再來就按照順序去跟上面6X^2...那些套用 .. 比對囉!!

    阿最前面項不是+的話會省略那自己計算好補進去喔!

    只是點通妳.. 阿自己在想想.. 或許有更好的辦法,不會在問問喔~regex測試網: http://blog.roodo.com/rocksaying/archives/2670695....

    使用者輸入之未知數大小寫不一致,如2x、2X、 3y 、3Y

    strtolower($str) //一律轉小寫

    strtoupper($str) //一律轉大寫

    .使用者可能多輸入了空格影響答案判別

    也用REGEX先去去掉他在計算( preg_split() )

    大致先點通你 有問題再問囉~

    2011-07-28 23:57:28 補充:

    濫知識 + ... 怎顯示這樣

    參數說明..那邊格式被知識+跳掉..

    以下網址有語法說明:

    http://www.5idev.com/p-php_preg_split.shtml

    • Commenter avatar登入以對解答發表意見
  • 9 年前

    填充題,就是要作文字比對。狀況太多了,實在很難!勸你放棄吧!

    • Commenter avatar登入以對解答發表意見
還有問題?馬上發問,尋求解答。