ผลต่างระหว่างรุ่นของ "204111:lab3"
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 53: | แถว 53: | ||
=== 4. หารากสมการกำลังสอง (คำนวณเทอมย่อย) === | === 4. หารากสมการกำลังสอง (คำนวณเทอมย่อย) === | ||
+ | |||
+ | สังเกตว่าในการหาราก เราจำเป็นต้องคำนวณค่า <math>\sqrt{b^2 - 4ac}</math> หลายครั้ง ในส่วนนี้เราจะเขียนฟังก์ชันเพื่อคำนวณส่วนดังกล่าว | ||
+ | |||
+ | ให้เขียนฟังก์ชัน <tt>cal_term(b, c)</tt> ที่รับพารามิเตอร์สองตัวคือ b และ c | ||
=== 5. หารากสมการกำลังสอง (ส่วนโปรแกรมหลัก) === | === 5. หารากสมการกำลังสอง (ส่วนโปรแกรมหลัก) === | ||
(ในตอนทำให้ปิดโค้ดของ function ย่อยทั้งหมด แต่ให้แสดงแต่หัวที่เป็นบรรทัด def ไว้ แล้วเว้นส่วนโปรแกรมหลักด้านล่างให้เติม) | (ในตอนทำให้ปิดโค้ดของ function ย่อยทั้งหมด แต่ให้แสดงแต่หัวที่เป็นบรรทัด def ไว้ แล้วเว้นส่วนโปรแกรมหลักด้านล่างให้เติม) |
รุ่นแก้ไขเมื่อ 06:25, 17 มิถุนายน 2553
ปฏิบัติการที่สองของวิชา 20411 ตามแผนร่างหัวข้อวิชา 204111 มีเนื้อหาดังนี้
- ฟังก์ชัน
หมายเหตุ เลขข้อที่ใส่นั้นอาจไม่จำเป็นต้องใช้ตามที่ระบุนี้ แต่ใส่เพื่อให้เห็นชัดเจนว่าแต่ละข้อเริ่มที่ใด
เนื้อหา
ฟังก์ชันพื้นฐาน
1. ยกกำลัง
ให้เติมฟังก์ชัน square ที่รับจำนวนเต็ม x แล้วคืนค่า
(มีการประกาศหัวฟังก์ชัน, เว้นส่วนของฟังก์ชัน, มีโปรแกรมหลัก)
2. พหุนาม
ให้เขียนฟังก์ชัน poly ที่รับอาร์กิวเมนต์ x ที่คำนวณ
(เว้นช่องทั้งฟังก์ชั่น (ไม่มีการประกาศหัว), มีโปรแกรมหลัก)
ฟังก์ชันและโปรแกรมหลัก: สมการกำลังสอง
ถึง TA: ชุดนี้ประกอบด้วยโจทย์หลายข้อ... สามารถขึ้น intro ทุกข้อด้วยข้อความแบบเดียวกันได้
เราต้องการหาคำตอบของรูปแบบหนึ่งของสมการกำลังสอง พิจารณาสมการ เราทราบว่ามีคำตอบสองคำตอบคือ
และ
ในกรณีที่ มีค่ามากกว่า 0
เราจะแบ่งงานพัฒนาโปรแกรมนี้ออกเป็นหลาย ๆ ส่วน
สำหรับข้อนี้เราสนใจส่วน (ถึง TA: ....ให้เติมเอา.... แล้วค่อยขึ้นโจทย์ของแต่ละส่วน)
3. หารากสมการกำลังสอง (แสดงพหุนาม)
ให้เขียนฟังก์ชัน show_poly ที่รับพารามิเตอร์ 3 ตัวคือ a, b, และ c จากนั้นให้แสดงผลในรูปแบบตามตัวอย่างดังนี้
ถ้าสั่ง show_poly(1,2,3) ฟังก์ชันจะพิมพ์
1 x^2 + 2 x + 3
หรือถ้าสั่ง show_poly(5,0,-10) ฟังก์ชันจะพิมพ์
5 x^2 + 0 x + -10
(สังเกตว่าให้แสดงผลไปเลย ไม่ต้องกังวลกับกรณีที่สัมประสิทธิ์เป็น 0 หรือเป็นค่าลบ)
หมายเหตุถึง TA: ตอนทดสอบให้ทดสอบเฉพาะกรณีสัมประสิทธิ์เป็นจำนวนเต็มก็พอ เพราะการสั่งให้นิสิตจัดรูปแบบทศนิยมกรณีนี้ค่อนข้างยาก
4. หารากสมการกำลังสอง (คำนวณเทอมย่อย)
สังเกตว่าในการหาราก เราจำเป็นต้องคำนวณค่า หลายครั้ง ในส่วนนี้เราจะเขียนฟังก์ชันเพื่อคำนวณส่วนดังกล่าว
ให้เขียนฟังก์ชัน cal_term(b, c) ที่รับพารามิเตอร์สองตัวคือ b และ c
5. หารากสมการกำลังสอง (ส่วนโปรแกรมหลัก)
(ในตอนทำให้ปิดโค้ดของ function ย่อยทั้งหมด แต่ให้แสดงแต่หัวที่เป็นบรรทัด def ไว้ แล้วเว้นส่วนโปรแกรมหลักด้านล่างให้เติม)