ผลต่างระหว่างรุ่นของ "204111:lab5"
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 75: | แถว 75: | ||
=== ฝากเงิน === | === ฝากเงิน === | ||
− | สมหญิงฝากเงินทุก ๆ เดือน เงินที่ฝากเข้าไปจะสะสมไปเรื่อย ๆ ให้เขียนโปรแกรมรับรายการเงินที่สมหญิงฝากจากผู้ใช้ โดยผู้ใช้จะป้อน -1 เมื่อข้อมูลหมด | + | สมหญิงฝากเงินทุก ๆ เดือน เงินที่ฝากเข้าไปจะสะสมไปเรื่อย ๆ ให้เขียนโปรแกรมรับรายการเงินที่สมหญิงฝากจากผู้ใช้ โดยผู้ใช้จะป้อน -1 เมื่อข้อมูลหมด |
+ | |||
+ | จากนั้นให้โปรแกรมพิมพ์เงินรวมทั้งหมด และเงินฝากรวมในทุก ๆ เดือนภายหลังจากที่สมหญิงฝากไป | ||
'''หมายเหตุ:''' แนะนำให้ใช้ฟังก์ชัน <tt>read_list</tt> ที่เขียนในข้อที่แล้ว | '''หมายเหตุ:''' แนะนำให้ใช้ฟังก์ชัน <tt>read_list</tt> ที่เขียนในข้อที่แล้ว | ||
แถว 86: | แถว 88: | ||
15 | 15 | ||
-1 | -1 | ||
+ | Total = 145 | ||
10 | 10 | ||
30 | 30 |
รุ่นแก้ไขเมื่อ 18:54, 2 กรกฎาคม 2553
ปฏิบัติการที่ 5 ของวิชา 20411 ตามแผนร่างหัวข้อวิชา 204111 มีเนื้อหาดังนี้
- list
การอ้างข้อมูลในลิสต์
ลิสต์และลูป
ฟังก์ชันอ่านรายการ
ให้เขียนฟังก์ชัน read_list() ที่อ่านรายการของจำนวนเต็มที่ผู้ใช้ป้อน โดยสิ้นสุดการป้อนเมื่อป้อน -1 ให้ฟังก์ชันดังกล่าวคืนรายการของจำนวนเต็มที่อ่านได้ (ไม่รวม -1)
นิสิตสามารถนำฟังก์ชันที่เขียนไว้แล้วนี้ไปใช้ในข้ออื่น ๆ ได้
(หมายเหตุถึง TA: ให้ประกาศหัวฟังก์ชันไว้ แล้วเว้นช่องให้เขียนโปรแกรม ให้ตัวอย่างโปรแกรมหลักและตัวอย่างการทำงาน)
ตัวอย่างของโปรแกรมหลักที่เรียกใช้ฟังก์ชันดังกล่าว โปรแกรมนี้รับรายการแล้วพิมพ์ค่าในรายการออกมา
ls = read_list() for x in ls: print(x)
ตัวอย่างการทำงานของโปรแกรมตัวอย่าง
10 20 15 3 -1 10 20 15 3
ผลรวมกำลังสอง
เขียนโปรแกรมอ่านรายการของจำนวนเต็ม จากนั้นคำนวณหาผลรวมของจำนวนเต็มในรายการยกกำลังสอง
ยกตัวอย่างเช่น ถ้าจำนวนเต็มในรายการเป็น 10 20 15 และ 3 ผลรวมคือ
ผู้ใช้จะป้อนข้อมูลทีละจำนวน และจะจบการป้อนโดยการป้อน -1
ตัวอย่างการทำงาน
10 20 15 3 -1 Answer = 734
หมายเหตุ: แนะนำให้ใช้ฟังก์ชัน read_list ที่เขียนในข้อที่แล้ว
ผลรวมของผลต่างจากค่าน้อยที่สุดกำลังสอง
เขียนโปรแกรมอ่านรายการของจำนวนเต็ม จากนั้นคำนวณหาผลรวมของกำลังสองของผลต่างของจำนวนเต็มกับค่าที่น้อยที่สุด
ยกตัวอย่างเช่น ถ้าจำนวนเต็มในรายการเป็น 10 20 15 และ 3 ดังนั้นค่าที่น้อยที่สุดคือ 3
คำตอบที่เราต้องการคือ
ผู้ใช้จะป้อนข้อมูลทีละจำนวน และจะจบการป้อนโดยการป้อน -1
ตัวอย่างการทำงาน
10 20 15 3 -1 Answer = 482
หมายเหตุ สามารถใช้ฟังก์ชัน min ในการหาค่าน้อยที่สุดได้
ฝากเงิน
สมหญิงฝากเงินทุก ๆ เดือน เงินที่ฝากเข้าไปจะสะสมไปเรื่อย ๆ ให้เขียนโปรแกรมรับรายการเงินที่สมหญิงฝากจากผู้ใช้ โดยผู้ใช้จะป้อน -1 เมื่อข้อมูลหมด
จากนั้นให้โปรแกรมพิมพ์เงินรวมทั้งหมด และเงินฝากรวมในทุก ๆ เดือนภายหลังจากที่สมหญิงฝากไป
หมายเหตุ: แนะนำให้ใช้ฟังก์ชัน read_list ที่เขียนในข้อที่แล้ว
ตัวอย่างการทำงาน
10 20 100 15 -1 Total = 145 10 30 130 145
หมายเหตุ: ผลลัพธ์คือ เงินในแต่ละเดือนคือ 10, 30, 130, และ 145
ฝากเงินแบบมีดอกเบี้ยรายเดือน
สมหญิงฝากเงินทุก ๆ เดือน เงินที่ฝากเข้าไปจะสะสมไปเรื่อย ๆ ในแต่ละเดือนก่อนที่จะรับเงินฝาก ธนาคารจะให้ดอกเบี้ย 1% จากเงินฝากที่มีอยู่
ยกตัวอย่างเช่น ถ้าฝากเงินสองเดือนแรกเท่ากับ 10 และ 20 บาท ในเดือนแรกเนื่องจากยังไม่มีเงินต้น เงินรวมคือ 10 บาท ในเดือ่นที่สอง ก่อนจะได้เงินฝากจะได้รับดอกเบี้ย 1% คือ 0.1 บาท รวมเงินต้นเป็น 10.1 รวมกับเงินฝาก ได้เป็น 30.1 บาท
ให้เขียนโปรแกรมรับรายการเงินที่สมหญิงฝากจากผู้ใช้ โดยผู้ใช้จะป้อน -1 เมื่อข้อมูลหมด จากนั้นให้โปรแกรมพิมพ์เงินฝากรวมในทุก ๆ เดือนภายหลังจากที่สมหญิงฝากไป ให้แสดงด้วยทศนิยม 3 ตำแหน่ง
หมายเหตุ: แนะนำให้ใช้ฟังก์ชัน read_list ที่เขียนในข้อที่แล้ว
ตัวอย่างการทำงาน
10 20 100 15 -1 10.000 30.100 130.401 146.705
ดื่มน้ำ (ยังไม่เสร็จ)
มีนักเรียนทั้งสิ้น N คน นั่งเรียงกันเป็นแถว นักเรียนแต่ละคนต้องการดื่มน้ำปริมาตรแตกต่างกัน เจ้าหน้าที่เดินรินน้ำให้กับนักเรียนแต่ละคน อยากทราบว่าหลังจากรินน้ำให้กับนักเรียนแต่ละคนแล้ว น้ำในเหยือกจะเหลือเท่าใด
พิมพ์กลับหลัง
เขียนโปรแกรมรับจำนวนเต็ม จนกระทั่งผู้ใช้ป้อน -1 จากนั้นพิมพ์จำนวนเต็มที่รับ จากหน้าไปหลัง บรรทัดละ 1 ตัว
ตัวอย่างการทำงาน
10 20 15 3 -1 3 15 20 10
โจทย์เกี่ยวกับพหุนาม
การอ่านพหุนาม
ในโจทย์หลายข้อ เราจะอ่านพหุนามจากผู้ใช้ โดยการอ่านจะมีรูปแบบดังนี้
- ผู้ใช้จะป้อนข้อมูลตัวแรกเป็นจำนวนเต็ม แทนกำลังสูงจุดของตัวแปร ในพหุนามดังกล่าว
- จากนั้นจะป้อนจำนวนจริงอีก จำนวน แทนสัมประสิทธิ์ของตัวแปร โดยเริ่มจาก , , ไปจนถึง พหุนามที่ผู้ใช้ป้อนคือ
ให้ฟังก์ชันดังกล่าวคืนค่าเป็นรายการของสัมประสิทธิ์ [,,,...,]
ยกตัวอย่างเช่น ถ้าพหุนามเป็น ผู้ใช้ป้อนข้อมูลดังนี้
3 10 3 -1 2
ฟังก์ชันดังกล่าวจะคืนค่าเป็น [10,3,-1,2]
ตัวอย่างของโปรแกรมหลักที่เรียกใช้ฟังก์ชันดังกล่าว
print("Enter polynomial:") p = read_poly() print("Coefficients:") for c in p: print(c)
ตัวอย่างการทำงาน
Enter polynomial: 3 10 3 -1 2 Coeeficients: 10 3 -1 2
หาค่าพหุนาม
เขียนโปรแกรมรับพหุนาม จากผู้ใช้ จากนั้นรับค่า แล้วคำนวณค่า
ข้อมูลป้อนเข้า
- ผู้ใช้จะป้อนข้อมูลตัวแรกเป็นจำนวนเต็ม แทนกำลังสูงจุดของตัวแปร ในพหุนามดังกล่าว
- จากนั้นจะป้อนจำนวนจริงอีก จำนวน แทนสัมประสิทธิ์ของตัวแปร โดยเริ่มจาก , , ไปจนถึง พหุนามที่ผู้ใช้ป้อนคือ
- สุดท้ายผู้ใช้จะป้อนจำนวนจริง
ให้โปรแกรมตอบค่า เป็นทศนิยม 2 ตำแหน่ง
ตัวอย่างเช่น ถ้าพหุนามเป็น และผู้ใช้ต้องการคำนวณค่า ตัวอย่างการทำงานของโปรแกรมจะเป็นดังนี้
3 10 3 -1 2 3 f(a) = 64.00
หมายเหตุ แนะนำให้ใช้ฟังก์ชัน read_poly ที่เขียนจากข้อที่แล้ว