ผลต่างระหว่างรุ่นของ "204111:lab5"

จาก Theory Wiki
ไปยังการนำทาง ไปยังการค้นหา
แถว 73: แถว 73:
 
=== b2.5. การอ่านพหุนาม ===
 
=== b2.5. การอ่านพหุนาม ===
  
เขียนฟังก์ชัน read_poly() ที่อ่านข้อมูลจาก
+
ในโจทย์หลายข้อ เราจะอ่านพหุนามจากผู้ใช้ โดยการอ่านจะมีรูปแบบดังนี้
 +
 
 +
* ผู้ใช้จะป้อนข้อมูลตัวแรกเป็นจำนวนเต็ม <math>d</math> แทนกำลังสูงจุดของตัวแปร <math>x</math> ในพหุนามดังกล่าว
 +
* จากนั้นจะป้อนจำนวนจริงอีก <math>d + 1</math> จำนวน แทนสัมประสิทธิ์ของตัวแปร <math>x</math> โดยเริ่มจาก <math>a_0</math>, <math>a_1</math>, ไปจนถึง <math>a_d</math> พหุนามที่ผู้ใช้ป้อนคือ <math>f(x) = a_0 + a_1\cdot x + a_2\cdot x^2 + \cdots + a_d x^d</math>
 +
 
 +
ให้ฟังก์ชันดังกล่าวคืนค่าเป็นรายการของสัมประสิทธิ์ [<math>a_0</math>,<math>a_1</math>,<math>a_2</math>,...,<math>a_d</math>]
  
 
=== b3. พหุนาม ===
 
=== b3. พหุนาม ===

รุ่นแก้ไขเมื่อ 11:24, 2 กรกฎาคม 2553

ปฏิบัติการที่ 5 ของวิชา 20411 ตามแผนร่างหัวข้อวิชา 204111 มีเนื้อหาดังนี้

  • list

การอ้างข้อมูลในลิสต์

ลิสต์และลูป

b0. ฟังก์ชันอ่านรายการ

ให้เขียนฟังก์ชัน read_list() ที่อ่านรายการของจำนวนเต็มที่ผู้ใช้ป้อน โดยสิ้นสุดการป้อนเมื่อป้อน -1 ให้ฟังก์ชันดังกล่าวคืนรายการของจำนวนเต็มที่อ่านได้ (ไม่รวม -1)

นิสิตสามารถนำฟังก์ชันที่เขียนไว้แล้วนี้ไปใช้ในข้ออื่น ๆ ได้

(หมายเหตุถึง TA: ให้ประกาศหัวฟังก์ชันไว้ แล้วเว้นช่องให้เขียนโปรแกรม ให้ตัวอย่างโปรแกรมหลักและตัวอย่างการทำงาน)

ตัวอย่างของโปรแกรมหลักที่เรียกใช้ฟังก์ชันดังกล่าว โปรแกรมนี้รับรายการแล้วพิมพ์ค่าในรายการออกมา

ls = read_list()
for x in ls:
    print(x)

ตัวอย่างการทำงานของโปรแกรมตัวอย่าง

10
20
15
3
-1
10
20
15
3

b1. ผลรวมกำลังสอง

เขียนโปรแกรมอ่านรายการของจำนวนเต็ม จากนั้นคำนวณหาผลรวมของจำนวนเต็มในรายการยกกำลังสอง

ยกตัวอย่างเช่น ถ้าจำนวนเต็มในรายการเป็น 10 20 15 และ 3 ผลรวมคือ

ผู้ใช้จะป้อนข้อมูลทีละจำนวน และจะจบการป้อนโดยการป้อน -1

ตัวอย่างการทำงาน

10
20
15
3
-1
Answer = 734

b2. ผลรวมของผลต่างจากค่าน้อยที่สุดกำลังสอง

เขียนโปรแกรมอ่านรายการของจำนวนเต็ม จากนั้นคำนวณหาผลรวมของกำลังสองของผลต่างของจำนวนเต็มกับค่าที่น้อยที่สุด

ยกตัวอย่างเช่น ถ้าจำนวนเต็มในรายการเป็น 10 20 15 และ 3 ดังนั้นค่าที่น้อยที่สุดคือ 3

คำตอบที่เราต้องการคือ

ผู้ใช้จะป้อนข้อมูลทีละจำนวน และจะจบการป้อนโดยการป้อน -1

ตัวอย่างการทำงาน

10
20
15
3
-1
Answer = 482

หมายเหตุ สามารถใช้ฟังก์ชัน min ในการหาค่าน้อยที่สุดได้

b2.5. การอ่านพหุนาม

ในโจทย์หลายข้อ เราจะอ่านพหุนามจากผู้ใช้ โดยการอ่านจะมีรูปแบบดังนี้

  • ผู้ใช้จะป้อนข้อมูลตัวแรกเป็นจำนวนเต็ม แทนกำลังสูงจุดของตัวแปร ในพหุนามดังกล่าว
  • จากนั้นจะป้อนจำนวนจริงอีก จำนวน แทนสัมประสิทธิ์ของตัวแปร โดยเริ่มจาก , , ไปจนถึง พหุนามที่ผู้ใช้ป้อนคือ

ให้ฟังก์ชันดังกล่าวคืนค่าเป็นรายการของสัมประสิทธิ์ [,,,...,]

b3. พหุนาม

เขียนโปรแกรมรับพหุนาม จากผู้ใช้ จากนั้นรับค่า แล้วคำนวณค่า

ข้อมูลป้อนเข้า

  • ผู้ใช้จะป้อนข้อมูลตัวแรกเป็นจำนวนเต็ม แทนกำลังสูงจุดของตัวแปร ในพหุนามดังกล่าว
  • จากนั้นจะป้อนจำนวนจริงอีก จำนวน แทนสัมประสิทธิ์ของตัวแปร โดยเริ่มจาก , , ไปจนถึง พหุนามที่ผู้ใช้ป้อนคือ
  • สุดท้ายผู้ใช้จะป้อนจำนวนจริง

ให้โปรแกรมตอบค่า เป็นทศนิยม 2 ตำแหน่ง

ตัวอย่างเช่น ถ้าพหุนามเป็น และผู้ใช้ต้องการคำนวณค่า ตัวอย่างการทำงานของโปรแกรมจะเป็นดังนี้

3
10
3
-1
2
3
f(a) = 64.00

b-x. ดื่มน้ำ (ยังไม่เสร็จ)

มีนักเรียนทั้งสิ้น N คน นั่งเรียงกันเป็นแถว นักเรียนแต่ละคนต้องการดื่มน้ำปริมาตรแตกต่างกัน เจ้าหน้าที่เดินรินน้ำให้กับนักเรียนแต่ละคน อยากทราบว่าหลังจากรินน้ำให้กับนักเรียนแต่ละคนแล้ว น้ำในเหยือกจะเหลือเท่าใด


b2. พิมพ์กลับหลัง

เขียนโปรแกรมรับจำนวนเต็ม จนกระทั่งผู้ใช้ป้อน -1 จากนั้นพิมพ์จำนวนเต็มที่รับ จากหน้าไปหลัง บรรทัดละ 1 ตัว

ตัวอย่างการทำงาน

10
20
15
3
-1
3
15
20
10

บวกพหุนาม

หาอนุพันธ์ของพหุนาม

คูณพหุนาม