ผลต่างระหว่างรุ่นของ "204111:lab5"
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 200: | แถว 200: | ||
10 | 10 | ||
− | == | + | == ร้านขายของ == |
ในส่วนนี้เราจะพัฒนาโปรแกรมสำหรับเป็นหน้าร้านซื้อขายเครื่องเขียน เราจะเก็บข้อมูลของเครื่องเขียนในรายการ โดยข้อมูลที่จะเก็บเป็นดังนี้ คือ ชื่อของ ราคา และจำนวนที่เหลือในร้าน | ในส่วนนี้เราจะพัฒนาโปรแกรมสำหรับเป็นหน้าร้านซื้อขายเครื่องเขียน เราจะเก็บข้อมูลของเครื่องเขียนในรายการ โดยข้อมูลที่จะเก็บเป็นดังนี้ คือ ชื่อของ ราคา และจำนวนที่เหลือในร้าน | ||
แถว 209: | แถว 209: | ||
prices = [5, 1, 10, 15, 20] | prices = [5, 1, 10, 15, 20] | ||
counts = [100, 200, 50, 30, 50] | counts = [100, 200, 50, 30, 50] | ||
+ | |||
+ | ('''หมายเหตุถึง TA:''' ในแต่ละข้อ ให้ตัดคำอธิบายโจทย์รวมด้านบนไปด้วย) | ||
+ | |||
+ | === ร้านขายของ: ค้นหาสินค้า === | ||
+ | |||
+ | === ร้านขายของ: ซื้อสินค้า === | ||
+ | |||
+ | === ร้านขายของ: พิมพ์รายการสินค้าที่เหลือ === | ||
+ | |||
+ | === ร้านขายของ: รวมเป็นโปรแกรม === | ||
== โจทย์เกี่ยวกับพหุนาม == | == โจทย์เกี่ยวกับพหุนาม == |
รุ่นแก้ไขเมื่อ 09:41, 3 กรกฎาคม 2553
ปฏิบัติการที่ 5 ของวิชา 20411 ตามแผนร่างหัวข้อวิชา 204111 มีเนื้อหาดังนี้
- list
การอ้างข้อมูลในลิสต์
ลิสต์และลูป
ฟังก์ชันอ่านรายการ
ให้เขียนฟังก์ชัน read_list() ที่อ่านรายการของจำนวนเต็มที่ผู้ใช้ป้อน โดยสิ้นสุดการป้อนเมื่อป้อน -1 ให้ฟังก์ชันดังกล่าวคืนรายการของจำนวนเต็มที่อ่านได้ (ไม่รวม -1)
นิสิตสามารถนำฟังก์ชันที่เขียนไว้แล้วนี้ไปใช้ในข้ออื่น ๆ ได้
(หมายเหตุถึง TA: ให้ประกาศหัวฟังก์ชันไว้ แล้วเว้นช่องให้เติมให้สมบูรณ์ ให้ตัวอย่างโปรแกรมหลักและตัวอย่างการทำงาน)
เติมฟังก์ชันด้านล่างให้สมบูรณ์
def read_list(): output = [] x = int(input()) while ___________: ___________________ x = int(input()) return output
ตัวอย่างของโปรแกรมหลักที่เรียกใช้ฟังก์ชันดังกล่าว โปรแกรมนี้รับรายการแล้วพิมพ์ค่าในรายการออกมา
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 Total = 146.705 10.000 30.100 130.401 146.705
เลขกำลังสอง 1
ให้เขียนฟังก์ชัน is_square(x) เพื่อตรวจสอบว่าจำนวนเต็ม x เป็นจำนวนเต็มที่เป็นกำลังสองของจำนวนเต็มบางจำนวนหรือไม่
(หมายเหตุถึง TA: ในส่วนของโปรแกรมให้ประกาศ import math และให้ประกาศหัวฟังก์ชัน และให้ตัวอย่างการเรียกใช้ดังด้านล่าง)
ตัวอย่างการเรียกใช้ใน Python Shell
>>> is_square(4) True >>> is_square(5) False >>> is_square(121) True >>> is_square(200) False >>> is_square(80) False
เลขกำลังสอง 2
เขียนฟังก์ชัน filter_squares(ls) ที่รับรายการ ls และคืนค่าเป็นรายการที่ประกอบด้วยจำนวนเต็มที่เป็นเลขกำลังสอง
ให้นำฟังก์ชัน is_square ที่เขียนในข้อก่อนมาใช้
(หมายเหตุถึง TA: พยายามจัดหน้าตาส่วนของโปรแกรมเป็นดังรูปด้านล่าง)
import math def is_square(x): _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ def filter_squares(ls): _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________
ตัวอย่างการเรียกใช้ใน Python shell
>>> filter_squares([1,2,3,4,5,6,7,8,9,10]) [1,4,9] >>> filter_squares([10,20,30]) [] >>> filter_squares([80,100,200,400,9,80]) [100,400,9]
พิมพ์กลับหลัง
เขียนโปรแกรมรับจำนวนเต็ม จนกระทั่งผู้ใช้ป้อน -1 จากนั้นพิมพ์จำนวนเต็มที่รับ จากหน้าไปหลัง บรรทัดละ 1 ตัว
ตัวอย่างการทำงาน
10 20 15 3 -1 3 15 20 10
ร้านขายของ
ในส่วนนี้เราจะพัฒนาโปรแกรมสำหรับเป็นหน้าร้านซื้อขายเครื่องเขียน เราจะเก็บข้อมูลของเครื่องเขียนในรายการ โดยข้อมูลที่จะเก็บเป็นดังนี้ คือ ชื่อของ ราคา และจำนวนที่เหลือในร้าน
ข้อมูลทั้งสามจะเก็บในรายการสามรายการ ตัวอย่างดังด้านล่างนี้
names = ['pen', 'pencil', 'ruler', 'cutter', 'ink'] prices = [5, 1, 10, 15, 20] counts = [100, 200, 50, 30, 50]
(หมายเหตุถึง TA: ในแต่ละข้อ ให้ตัดคำอธิบายโจทย์รวมด้านบนไปด้วย)
ร้านขายของ: ค้นหาสินค้า
ร้านขายของ: ซื้อสินค้า
ร้านขายของ: พิมพ์รายการสินค้าที่เหลือ
ร้านขายของ: รวมเป็นโปรแกรม
โจทย์เกี่ยวกับพหุนาม
การอ่านพหุนาม
ในโจทย์หลายข้อ เราจะอ่านพหุนามจากผู้ใช้ โดยการอ่านจะมีรูปแบบดังนี้
- ผู้ใช้จะป้อนข้อมูลตัวแรกเป็นจำนวนเต็ม แทนกำลังสูงจุดของตัวแปร ในพหุนามดังกล่าว
- จากนั้นจะป้อนจำนวนจริงอีก จำนวน แทนสัมประสิทธิ์ของตัวแปร โดยเริ่มจาก , , ไปจนถึง พหุนามที่ผู้ใช้ป้อนคือ
ให้ฟังก์ชันดังกล่าวคืนค่าเป็นรายการของสัมประสิทธิ์ [,,,...,]
ยกตัวอย่างเช่น ถ้าพหุนามเป็น ผู้ใช้ป้อนข้อมูลดังนี้
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 ที่เขียนจากข้อที่แล้ว