แนวการเขียนCode ในการจัดรูปสมการ ที่ติดตัวแปร ทำไงได้บ้างคะ
Moderator: mindphp
- aomsri_002
- PHP Newbie
- โพสต์: 6
- ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
แนวการเขียนCode ในการจัดรูปสมการ ที่ติดตัวแปร ทำไงได้บ้างคะ
จากแต่ละสมการต่อไปนี้นะคะ ต้องการจัดสมการโดยต้องติดตัวแปรไว้ด้วย
สมมติค่าที่รับเข้าไปดังนี้ (เป็น string)
(3*1*5*x^4)+(8*1*2*y) ต้องการให้ออกมาคือ (15*x^4)+(16*y)
1*2*x*2*x^2 ต้องการให้ออกมาคือ 4*x^3
2*x + x ต้องการให้ออกมาคือ 3*x
(1*0-0*x)/(0*0) ต้องการให้ออกมาคือ หาค่าไม่ได้เมื่อส่วนเป็นศูนย์
x + - 3 ต้องการให้ออกมาคือ -3
- x - - 3 ต้องการให้ออกมาคือ -x + 3
2+sin(90)-5 ต้องการให้ออกมาคือ -2
เนื่องจากว่าอาจเกิดกรณี เครื่องหมายติดกัน เช่น 2++3 หรือ 2-+3 ได้แต่ให้คำนวณปกติเป็น 2+3 และ 2-3 ด้วย
กรณี sin 90 จาแยกออกมาหาได้ยังไง จัดสมการกรณีติดตัวแปรได้หรือไม
ลืมบอกว่า สมการที่ต้องการจะจัดรูปมันเป็น string ด้วยอ่า
แล้วก็ตัวแปรเป็นอะไรก็ได้ ไม่จำเป็นต้องเป็น x สมการนึงสามารถมีหลายตัวแปรได้
เขียนให้cover ทุกๆกรณี ยากมากๆ ใครรู้บ้างว่าควรทำอย่างไรดี ช่วยแนะหน่อยนะคะ
สมมติค่าที่รับเข้าไปดังนี้ (เป็น string)
(3*1*5*x^4)+(8*1*2*y) ต้องการให้ออกมาคือ (15*x^4)+(16*y)
1*2*x*2*x^2 ต้องการให้ออกมาคือ 4*x^3
2*x + x ต้องการให้ออกมาคือ 3*x
(1*0-0*x)/(0*0) ต้องการให้ออกมาคือ หาค่าไม่ได้เมื่อส่วนเป็นศูนย์
x + - 3 ต้องการให้ออกมาคือ -3
- x - - 3 ต้องการให้ออกมาคือ -x + 3
2+sin(90)-5 ต้องการให้ออกมาคือ -2
เนื่องจากว่าอาจเกิดกรณี เครื่องหมายติดกัน เช่น 2++3 หรือ 2-+3 ได้แต่ให้คำนวณปกติเป็น 2+3 และ 2-3 ด้วย
กรณี sin 90 จาแยกออกมาหาได้ยังไง จัดสมการกรณีติดตัวแปรได้หรือไม
ลืมบอกว่า สมการที่ต้องการจะจัดรูปมันเป็น string ด้วยอ่า
แล้วก็ตัวแปรเป็นอะไรก็ได้ ไม่จำเป็นต้องเป็น x สมการนึงสามารถมีหลายตัวแปรได้
เขียนให้cover ทุกๆกรณี ยากมากๆ ใครรู้บ้างว่าควรทำอย่างไรดี ช่วยแนะหน่อยนะคะ
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41125
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
ต้องการ java หรือ php ครับ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- aomsri_002
- PHP Newbie
- โพสต์: 6
- ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41125
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
ต้องการ เอา สมการ ไปคำนวนต่อหรือเปล่าครับ หรือว่าแค่จัดรูปแบบ เป็นข้อความ
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- aomsri_002
- PHP Newbie
- โพสต์: 6
- ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41125
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
ลอง ใช้ คำสั่งนี้นะครับ แล้วจะเข้าใจ สำหรับ php
eval("echo 2*(3+5);");
ส่วน javascript ก็ คล้ายกัน เช่น
eval("x=10;y=20;document.write(x*y)");
ส่วนเรื่องการ จัดกลุ่มนี้คงต้องเขียนแยก และ รวมกว่าเอาเองครับ โดยกำหนดรูปแบบขึ้นมา
ลองดู เรื่องนี้ ครับ รับรองช่วยได้เยอะ
https://www.mindphp.com/modules.php?name ... age&pid=78
eval("echo 2*(3+5);");
ส่วน javascript ก็ คล้ายกัน เช่น
eval("x=10;y=20;document.write(x*y)");
ส่วนเรื่องการ จัดกลุ่มนี้คงต้องเขียนแยก และ รวมกว่าเอาเองครับ โดยกำหนดรูปแบบขึ้นมา
ลองดู เรื่องนี้ ครับ รับรองช่วยได้เยอะ
https://www.mindphp.com/modules.php?name ... age&pid=78
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- aomsri_002
- PHP Newbie
- โพสต์: 6
- ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
ขอบคุณค่ะ แต่เจอปัญหาบ้างค่าที่คำนวณคำตอบออกมาไม่ถูก ดังนี้
eval("echo (2^2)/4;"); ค่าที่ได้มันไม่เท่ากับ 1 อะค่ะ
นอกจากนี้ยังมีกรณีอื่น ๆ ที่ค่าออกมาผิดด้วยค่ะ
เช่น
eval("echo 1*(1/2)*(1)^((1/2)-1)*2*SQRT(1);");
มันออกมา เท่ากับ -1 ซึ่งจริงๆแล้วคำตอบผิด ที่ถูกต้องได้ 1
eval("echo 2*(1)^((1/2)-1)*2;");
มันออกมา เท่ากับ -3 ซึ่งจริงๆแล้วคำตอบผิด ที่ถูกต้องได้ 4
อย่างนี้แล้วควรทำอย่างไรต่อดีคะ ?????
eval("echo (2^2)/4;"); ค่าที่ได้มันไม่เท่ากับ 1 อะค่ะ
นอกจากนี้ยังมีกรณีอื่น ๆ ที่ค่าออกมาผิดด้วยค่ะ
เช่น
eval("echo 1*(1/2)*(1)^((1/2)-1)*2*SQRT(1);");
มันออกมา เท่ากับ -1 ซึ่งจริงๆแล้วคำตอบผิด ที่ถูกต้องได้ 1
eval("echo 2*(1)^((1/2)-1)*2;");
มันออกมา เท่ากับ -3 ซึ่งจริงๆแล้วคำตอบผิด ที่ถูกต้องได้ 4
อย่างนี้แล้วควรทำอย่างไรต่อดีคะ ?????
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41125
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
ลอง ตัด eval ออก ดูครับ ว่า เราเขียน เครื่อง หมาย ถูกต้องหรือเปล่า
เช่น
eval("echo 2*(1)^((1/2)-1)*2;");
ลองเขียนแค่
echo 2*(1)^((1/2)-1)*2;
จะรู้ว่า มันผิดตรงไหน (^ ไม่มีในตัวดำเนินการของ php หรือ Programming ใดๆ )
เช่น
eval("echo 2*(1)^((1/2)-1)*2;");
ลองเขียนแค่
echo 2*(1)^((1/2)-1)*2;
จะรู้ว่า มันผิดตรงไหน (^ ไม่มีในตัวดำเนินการของ php หรือ Programming ใดๆ )
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
- aomsri_002
- PHP Newbie
- โพสต์: 6
- ลงทะเบียนเมื่อ: 01/01/1970 7:00 am
- mindphp
- ผู้ดูแลระบบ MindPHP
- โพสต์: 41125
- ลงทะเบียนเมื่อ: 22/09/2008 6:18 pm
- ติดต่อ:
ช่าย แล้วครับ เริ่มสนุก ?
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
ผู้ใช้งานขณะนี้
สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 39