ผลต่างระหว่างรุ่นของ "418512 ภาคต้น 2554/โปรเจค 1"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 52: แถว 52:
  
 
เมื่อแปลง <tt>RatNum</tt> ที่มีค่าเป็น nan เป็นค่า float ให้คืนค่า <tt>float('nan')</tt> (nan จริงๆ แล้วเป็นชื่อเรียกค่า float ที่ไม่จัดว่าเป็นจำนวน ซึ่งโดยมากแล้วจะเกิดจากการหารจำนวนใดๆ ด้วย 0)
 
เมื่อแปลง <tt>RatNum</tt> ที่มีค่าเป็น nan เป็นค่า float ให้คืนค่า <tt>float('nan')</tt> (nan จริงๆ แล้วเป็นชื่อเรียกค่า float ที่ไม่จัดว่าเป็นจำนวน ซึ่งโดยมากแล้วจะเกิดจากการหารจำนวนใดๆ ด้วย 0)
 +
 +
== ตัวช่วย ==
 +
* เศษส่วน
 +
** http://www.khanacademy.org/video/numerator-and-denominator-of-a-fraction?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/multiplying-fractions?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/dividing-fractions?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/adding-fractions-with-unlike-denominators?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/subtracting--fractions?playlist=Developmental%20Math
 +
* พหุนาม
 +
** http://www.khanacademy.org/video/terms-coefficients-and-exponents-in-a-polynomial?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/evaluating-a-polynomial-at-a-given-value?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/adding-polynomials?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/subtracting-polynomials?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/multiplying-monomials?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/multiplying-monomials-by-polynomials?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/multiplying-polynomials?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/dividing-monomials?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/polynomial-divided-by-monomial?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/dividing-polynomials-1?playlist=Developmental%20Math
 +
** http://www.khanacademy.org/video/dividing-polynomials-with-remainders?playlist=Developmental%20Math

รุ่นแก้ไขเมื่อ 15:40, 2 กรกฎาคม 2554

  • หมู่ 1: ให้ไว้ ณ​ วันที่ 4 กรกฎาคม 2554 ส่งวันที่ 11 กรกฎาคม 2554
  • หมู่ 610: ให้ไว้ ณ​ วันที่ 10 กรกฎาคม 2554 ส่งวันที่ 17 กรกฎาคม 2554

Pull โค้ด

จากการบ้านที่ 3 คุณได้คำการ clone repository 418512first2011 (ถ้าใครยังใช้ชื่ออื่นอยู่ให้เปลี่ยนมาใช้ชื่อนี้ด้วย เพราะผมจะใช้ชื่อนี้ในการ pull) ไว้บนเครื่องของคุณแล้ว

ให้คุณ

  • เปลี่ยนไดเรคทอรีไปยังไดเรคทอรีของ repository นั้นบนเครื่องของคุณ
  • สั่ง
hg pull https://bitbucket.org/418512/first2011

คุณจะพบว่ามีไดเรคทอรีใหม่ชื่อ prj01 ซึ่งมีโครงสร้างดังต่อไปนี้

prj01/
  asserts.py
  rat_num.py
  rat_poly.py
  rat_term.py
  test_rat_num.py
  test_rat_poly.py
  test_rat_term.py

ลง py.test และรันมัน

ให้คุณลง py.test บนเครื่องที่คุณจะใช้ทำงาน (วิธีการลงดูได้ในการบรรยายครั้งที่ 4)

หลังจากนั้นให้เขาสู่ไดเรคทอรี prj01

cd prj01

แล้วรัน

py.test

คุณจะพบว่ามี test ที่รันไม่ผ่านเป็นจำนวนมาก

งานนี้ให้ทำอะไร?

งานของคุณในโปรเจคนี้คือแก้ไขไฟล์ rat_num.py, rat_poly.py, rat_term.py จนกระทั้ง test รันผ่านทั้งหมด

กล่าวคือ คุณจะต้องเติมเมธอดของคลาสต่อไปนี้ให้สมบูรณ์

  • RatNum อยู่ในโมดูล rat_num.py ใช้แทนจำนวนตรรกยะต่างๆ
  • RatTerm อยู่ในโมดูล rat_term.py ใช้แทนเอกนามที่มีสัมประสิทธิ์เป็นจำนวนตรรกยะ
  • RatPoly อยู่ในโมดูล rat_poly.py ใช้แทนพหุนามที่มีสัมประสิทธิ์เป็นจำนวนตรรกยะ

nan

nan เป็นตัวย่อของ "not a number" ในที่นี้เราหมายถึงเศษส่วนที่มีส่วนเป็น 0

RatNum ใดที่มีส่วนเป็น 0 เราจะเรียกว่า nan

RatTerm ใดที่มีสัมประสิทธิ์เป็น 0 เราก็จะเรียกว่า nan ด้วย

RatPoly ใดมีพจน์ที่มีสัมประสิทธิ์เป็น 0 เราก็จะเรียกว่า nan ด้วย

เมื่อแปลง RatNum ที่มีค่าเป็น nan เป็นค่า float ให้คืนค่า float('nan') (nan จริงๆ แล้วเป็นชื่อเรียกค่า float ที่ไม่จัดว่าเป็นจำนวน ซึ่งโดยมากแล้วจะเกิดจากการหารจำนวนใดๆ ด้วย 0)

ตัวช่วย