ผลต่างระหว่างรุ่นของ "204111:lab5"
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
(ไม่แสดง 61 รุ่นระหว่างกลางโดยผู้ใช้คนเดียวกัน) | |||
แถว 7: | แถว 7: | ||
== ลิสต์และลูป == | == ลิสต์และลูป == | ||
− | === | + | === ฟังก์ชันอ่านรายการ === |
+ | |||
+ | ให้เขียนฟังก์ชัน 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 ผลรวมคือ <math>10^2 + 20^2 + 15^2 + 3^2 = 734</math> | ||
+ | |||
+ | ผู้ใช้จะป้อนข้อมูลทีละจำนวน และจะจบการป้อนโดยการป้อน -1 | ||
+ | |||
+ | ตัวอย่างการทำงาน | ||
+ | |||
+ | 10 | ||
+ | 20 | ||
+ | 15 | ||
+ | 3 | ||
+ | -1 | ||
+ | Answer = 734 | ||
+ | |||
+ | '''หมายเหตุ:''' แนะนำให้ใช้ฟังก์ชัน <tt>read_list</tt> ที่เขียนในข้อที่แล้ว | ||
+ | |||
+ | === ผลรวมของผลต่างจากค่าน้อยที่สุดกำลังสอง === | ||
+ | |||
+ | เขียนโปรแกรมอ่านรายการของจำนวนเต็ม จากนั้นคำนวณหาผลรวมของกำลังสองของผลต่างของจำนวนเต็มกับค่าที่น้อยที่สุด | ||
+ | |||
+ | ยกตัวอย่างเช่น ถ้าจำนวนเต็มในรายการเป็น 10 20 15 และ 3 ดังนั้นค่าที่น้อยที่สุดคือ 3 | ||
+ | |||
+ | คำตอบที่เราต้องการคือ <math>(10-3)^2 + (20-3)^2 + (15-3)^2 + (3-3)^2 = 482</math> | ||
+ | |||
+ | ผู้ใช้จะป้อนข้อมูลทีละจำนวน และจะจบการป้อนโดยการป้อน -1 | ||
+ | |||
+ | ตัวอย่างการทำงาน | ||
+ | |||
+ | 10 | ||
+ | 20 | ||
+ | 15 | ||
+ | 3 | ||
+ | -1 | ||
+ | Answer = 482 | ||
+ | |||
+ | หมายเหตุ สามารถใช้ฟังก์ชัน <tt>min</tt> ในการหาค่าน้อยที่สุดได้ | ||
+ | |||
+ | === ฝากเงิน === | ||
+ | |||
+ | สมหญิงฝากเงินทุก ๆ เดือน เงินที่ฝากเข้าไปจะสะสมไปเรื่อย ๆ ให้เขียนโปรแกรมรับรายการเงินที่สมหญิงฝากจากผู้ใช้ โดยผู้ใช้จะป้อน -1 เมื่อข้อมูลหมด | ||
+ | |||
+ | จากนั้นให้โปรแกรมพิมพ์เงินรวมทั้งหมด และเงินฝากรวมในทุก ๆ เดือนภายหลังจากที่สมหญิงฝากไป | ||
+ | |||
+ | '''หมายเหตุ:''' แนะนำให้ใช้ฟังก์ชัน <tt>read_list</tt> ที่เขียนในข้อที่แล้ว | ||
+ | |||
+ | ตัวอย่างการทำงาน | ||
+ | |||
+ | 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 ตำแหน่ง | ||
+ | |||
+ | '''หมายเหตุ:''' แนะนำให้ใช้ฟังก์ชัน <tt>read_list</tt> ที่เขียนในข้อที่แล้ว | ||
+ | |||
+ | ตัวอย่างการทำงาน | ||
+ | |||
+ | 10 | ||
+ | 20 | ||
+ | 100 | ||
+ | 15 | ||
+ | -1 | ||
+ | Total = 146.705 | ||
+ | 10.000 | ||
+ | 30.100 | ||
+ | 130.401 | ||
+ | 146.705 | ||
+ | |||
+ | === เลขกำลังสอง 1 === | ||
+ | |||
+ | ให้เขียนฟังก์ชัน <tt>is_square(x)</tt> เพื่อตรวจสอบว่าจำนวนเต็ม '''x''' เป็นจำนวนเต็มที่เป็นกำลังสองของจำนวนเต็มบางจำนวนหรือไม่ | ||
+ | |||
+ | ('''หมายเหตุถึง TA:''' ในส่วนของโปรแกรมให้ประกาศ import math และให้ประกาศหัวฟังก์ชัน และให้ตัวอย่างการเรียกใช้ดังด้านล่าง) | ||
+ | |||
+ | ตัวอย่างการเรียกใช้ใน Python Shell (ในการทดลองให้นิสิตพิมพ์โปรแกรมที่มีฟังก์ชันดังกล่าว จากนั้นกด Run ใน Wing IDE จะสามารถเรียกใช้ฟังก์ชันดังกล่าวได้ใน Python Shell) | ||
+ | |||
+ | >>> is_square(4) | ||
+ | True | ||
+ | >>> is_square(5) | ||
+ | False | ||
+ | >>> is_square(121) | ||
+ | True | ||
+ | >>> is_square(200) | ||
+ | False | ||
+ | >>> is_square(80) | ||
+ | False | ||
+ | |||
+ | ('''หมายเหตุถึง TA:''' ในการตรวจ ให้ซ่อนโปรแกรมหลักไว้ ในโปรแกรมหลักดังกล่าวให้พิมพ์ผลลัพธ์ของฟังก์ชันเมื่อเรียกผ่าน input ต่าง ๆ อย่าลืมใส่ กล่อง testcase:begin testcase:end ว่าง ๆ ไว้ด้วย ไม่เช่นนั้นระบบจะไม่ตรวจ) | ||
+ | |||
+ | === เลขกำลังสอง 2 === | ||
+ | เขียนฟังก์ชัน <tt>filter_squares(ls)</tt> ที่รับรายการ <tt>ls</tt> และคืนค่าเป็นรายการที่ประกอบด้วยจำนวนเต็มที่เป็นเลขกำลังสอง | ||
+ | |||
+ | ให้นำฟังก์ชัน is_square ที่เขียนในข้อก่อนมาใช้ | ||
+ | |||
+ | ('''หมายเหตุถึง TA:''' พยายามจัดหน้าตาส่วนของโปรแกรมเป็นดังรูปด้านล่าง) | ||
+ | |||
+ | import math | ||
+ | |||
+ | def is_square(x): | ||
+ | _______________________________________ | ||
+ | _______________________________________ | ||
+ | _______________________________________ | ||
+ | _______________________________________ | ||
+ | _______________________________________ | ||
+ | _______________________________________ | ||
+ | |||
+ | def filter_squares(ls): | ||
+ | _______________________________________ | ||
+ | _______________________________________ | ||
+ | _______________________________________ | ||
+ | _______________________________________ | ||
+ | _______________________________________ | ||
+ | _______________________________________ | ||
+ | |||
+ | ตัวอย่างการเรียกใช้ใน Python shell (ในการทดลองให้นิสิตพิมพ์โปรแกรมที่มีฟังก์ชันดังกล่าว จากนั้นกด Run ใน Wing IDE จะสามารถเรียกใช้ฟังก์ชันดังกล่าวได้ใน 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] | ||
+ | |||
+ | ('''หมายเหตุถึง TA:''' ในการตรวจ ให้ซ่อนโปรแกรมหลักไว้ ในโปรแกรมหลักดังกล่าวให้พิมพ์ผลลัพธ์ของฟังก์ชันเมื่อเรียกผ่าน input ต่าง ๆ อย่าลืมใส่ กล่อง testcase:begin testcase:end ว่าง ๆ ไว้ด้วย ไม่เช่นนั้นระบบจะไม่ตรวจ) | ||
+ | |||
+ | === พิมพ์กลับหลัง === | ||
เขียนโปรแกรมรับจำนวนเต็ม จนกระทั่งผู้ใช้ป้อน -1 จากนั้นพิมพ์จำนวนเต็มที่รับ จากหน้าไปหลัง บรรทัดละ 1 ตัว | เขียนโปรแกรมรับจำนวนเต็ม จนกระทั่งผู้ใช้ป้อน -1 จากนั้นพิมพ์จำนวนเต็มที่รับ จากหน้าไปหลัง บรรทัดละ 1 ตัว | ||
แถว 22: | แถว 203: | ||
20 | 20 | ||
10 | 10 | ||
+ | |||
+ | == ร้านขายของ == | ||
+ | |||
+ | ในส่วนนี้เราจะพัฒนาโปรแกรมสำหรับเป็นหน้าร้านซื้อขายเครื่องเขียน เราจะเก็บข้อมูลของเครื่องเขียนในรายการ โดยข้อมูลที่จะเก็บเป็นดังนี้ คือ ชื่อของ ราคา และจำนวนที่เหลือในร้าน | ||
+ | |||
+ | ข้อมูลทั้งสามจะเก็บในรายการสามรายการ ตัวอย่างดังด้านล่างนี้ | ||
+ | |||
+ | products = ['pen', 'pencil', 'ruler', 'cutter', 'ink'] | ||
+ | prices = [5, 1, 10, 15, 20] | ||
+ | counts = [100, 200, 50, 30, 50] | ||
+ | |||
+ | จากข้อมูลข้างต้น ปากกา (pen) มีราคา 5 บาท มีจำนวนของเหลือ 100 ชิ้น | ||
+ | |||
+ | ('''หมายเหตุถึง TA:''' ในแต่ละข้อ ให้ตัดคำอธิบายโจทย์รวมด้านบนไปด้วย) | ||
+ | |||
+ | === ร้านขายของ: ค้นหาสินค้า === | ||
+ | |||
+ | สังเกตว่าข้อมูลด้านราคาและจำนวนสินค้าจะถูกเก็บในรายการในตำแหน่งที่สอดคล้องกับข้อมูลชื่อสินค้า ดังนั้นเราจะประมวลผลข้อมูลดังกล่าวได้สะดวกถ้าเราทราบดัชนีของสินค้านั้น | ||
+ | |||
+ | เขียนฟังก์ชัน <tt>find_product(plist, name)</tt> ที่รับรายการของชื่อสินค้า plist และชื่อสินค้า name จากนั้นคืนดัชนีของ name ในรายการ plist ในกรณีที่ไม่มีสินค้านั้นในรายการให้คืนค่า -1 | ||
+ | |||
+ | ตัวอย่างการเรียกใช้งานบน Python Shell (ในการทดลองให้นิสิตพิมพ์โปรแกรมที่มีฟังก์ชันดังกล่าว จากนั้นกด Run ใน Wing IDE จะสามารถเรียกใช้ฟังก์ชันดังกล่าวได้ใน Python Shell) | ||
+ | |||
+ | >>> find_product(['pen','ink','pencil'],'pen') | ||
+ | 0 | ||
+ | >>> find_product(['pen','ink','pencil'],'pencil') | ||
+ | 2 | ||
+ | >>> find_product(['pen','ink','pencil'],'ruler') | ||
+ | -1 | ||
+ | |||
+ | ('''หมายเหตุถึง TA:''' ในการตรวจ ให้ซ่อนโปรแกรมหลักไว้ ในโปรแกรมหลักดังกล่าวให้พิมพ์ผลลัพธ์ของฟังก์ชันเมื่อเรียกผ่าน input ต่าง ๆ อย่าลืมใส่ กล่อง testcase:begin testcase:end ว่าง ๆ ไว้ด้วย ไม่เช่นนั้นระบบจะไม่ตรวจ) | ||
+ | |||
+ | === ร้านขายของ: พิมพ์รายการสินค้าที่เหลือ === | ||
+ | |||
+ | เขียนฟังก์ชัน <tt>show_stock(products, counts)</tt> ที่พิมพ์รายการสินค้าที่เหลือ โดยใช้ข้อมูลรายชื่อสินค้าในรายการ <tt>products</tt> และรายการจำนวนที่เหลือในรายการ <tt>counts</tt> | ||
+ | |||
+ | ตัวอย่างโปรแกรมหลักที่เรียกใช้งานฟังก์ชันดังกล่าว | ||
+ | |||
+ | products = ['pen', 'pencil', 'ruler', 'cutter', 'ink'] | ||
+ | counts = [100, 200, 50, 30, 50] | ||
+ | show_stock(products, counts) | ||
+ | |||
+ | ตัวอย่างผลลัพธ์จากโปรแกรมข้างต้น | ||
+ | |||
+ | pen 100 | ||
+ | pencil 200 | ||
+ | ruler 50 | ||
+ | cutter 30 | ||
+ | ink 50 | ||
+ | |||
+ | === ร้านขายของ: ขายสินค้า === | ||
+ | |||
+ | เขียนฟังก์ชัน <tt>sale(products, prices, counts)</tt> ที่รับชื่อสินค้า และจำนวนที่ต้องการซื้อจากผู้ใช้ จากนั้นระบุราคาที่ต้องจ่าย พร้อมทั้งตัดจำนวนสินค้าที่เหลือ | ||
+ | |||
+ | โดยฟังก์ชันดังกล่าว จะต้องตรวจสอบว่าสินค้าที่ซื้อมีหรือไม่ และจำนวนมากพอที่จะขายหรือไม่ด้วย ถ้าผู้ใช้ป้อนจำนวนซื้อน้อยกว่า 0 ให้ระบุว่าเป็นจำนวนที่ผิดพลาดด้วย | ||
+ | |||
+ | เขัยนฟังก์ชันด่านล่าง | ||
+ | |||
+ | def sale(products, prices, counts): | ||
+ | _____________________________________________________ | ||
+ | _____________________________________________________ | ||
+ | _____________________________________________________ | ||
+ | _____________________________________________________ | ||
+ | _____________________________________________________ | ||
+ | _____________________________________________________ | ||
+ | |||
+ | ตัวอย่างโปรแกรมหลักที่ใช้ฟังก์ชันดังกล่าว (และใช้ฟังก์ชัน show_stock ด้วย แต่นิสิตไม่ต้องเขียนฟังก์ชันนี้ในการส่ง, แต่ต้องเขียนเพื่อทดสอบโปรแกรมของนิสิตเอง) | ||
+ | |||
+ | products = ['pen', 'pencil'] | ||
+ | prices = [5, 1] | ||
+ | counts = [100, 200] | ||
+ | sale(products, prices, counts) | ||
+ | show_stock(products, counts) | ||
+ | |||
+ | '''ตัวอย่างการทำงาน 1''' | ||
+ | |||
+ | Enter product name: pen | ||
+ | Enter amount: 3 | ||
+ | You have to pay 15 baths. | ||
+ | pen 97 | ||
+ | pencil 200 | ||
+ | |||
+ | หมายเหตุบรรทัดผลลัพธ์สองบรรทัดสุดท้ายพิมพ์โดย show_stock | ||
+ | |||
+ | '''ตัวอย่างการทำงาน 2''' | ||
+ | |||
+ | Enter product name: ruler | ||
+ | Sorry, we do not have that product. | ||
+ | pen 100 | ||
+ | pencil 200 | ||
+ | |||
+ | '''ตัวอย่างการทำงาน 3''' | ||
+ | |||
+ | Enter product name: pencil | ||
+ | Enter amount: 210 | ||
+ | Sorry, we do not have enough. | ||
+ | pen 100 | ||
+ | pencil 200 | ||
+ | |||
+ | '''ตัวอย่างการทำงาน 3''' | ||
+ | |||
+ | Enter product name: pencil | ||
+ | Enter amount: -20 | ||
+ | Sorry, that is an invalid amount. | ||
+ | pen 100 | ||
+ | pencil 200 | ||
+ | |||
+ | '''หมายเหตุ:''' ในการเขียนฟังก์ชันนั้น ถ้าต้องการให้ฟังก์ชันจบการทำงานและคืนกลับไปทำงานที่โปรแกรมหลักเลย สามารถทำได้โดยใช้คำสั่ง <tt>return</tt> (สามารถสั่งโดยไม่ต้องตามด้วยค่าที่จะคืน) | ||
+ | |||
+ | === ร้านขายของ: รวมเป็นโปรแกรม === | ||
+ | ให้นำฟังก์ชันที่เขียนไว้จากข้อก่อน ๆ มารวมเป็นโปรแกรมร้านขายของ ที่มีการทำงานดังนี้ | ||
+ | |||
+ | * เริ่มต้นโดยการแสดงรายการสินค้าที่มี | ||
+ | * จากนั้นถามผู้ใช้ว่าต้องการจบการทำงานหรือซื้อสินค้า | ||
+ | ** ถ้าผู้ใช้ซื้อสินค้า ให้ทำงานในลักษณะเดียวกับโจทย์ข้างต้น เมื่อซื้อเสร็จให้พิมพ์รายการสินค้าที่เหลือ | ||
+ | ** ถ้าผู้ใช้สั่งให้จบการทำงาน ให้พิมพ์รายการสินค้าที่เหลือ และจบการทำงาน | ||
+ | |||
+ | ให้โปรแกรมเริ่มต้นด้วยสินค้าที่มีตามรายการตัวอย่างด้านบน (ให้ประกาศตัวแปร products, prices, และ counts ตามด้านบนในส่วนของโปรแกรมหลัก) | ||
+ | |||
+ | ตัวอย่างการทำงาน | ||
+ | |||
+ | Current stock: | ||
+ | pen 100 | ||
+ | pencil 200 | ||
+ | ruler 50 | ||
+ | cutter 30 | ||
+ | ink 50 | ||
+ | Buy or Exit (enter B or E): B | ||
+ | Enter product name: pen | ||
+ | Enter amount: 15 | ||
+ | You have to pay 75 bath. | ||
+ | pen 85 | ||
+ | pencil 200 | ||
+ | ruler 50 | ||
+ | cutter 30 | ||
+ | ink 50 | ||
+ | Buy or Exit (enter B or E): B | ||
+ | Enter product name: cutter | ||
+ | Enter amount: 50 | ||
+ | Sorry, we do not have enough. | ||
+ | pen 85 | ||
+ | pencil 200 | ||
+ | ruler 50 | ||
+ | cutter 30 | ||
+ | ink 50 | ||
+ | Buy or Exit (enter B or E): E | ||
+ | At the end: | ||
+ | pen 85 | ||
+ | pencil 200 | ||
+ | ruler 50 | ||
+ | cutter 30 | ||
+ | ink 50 | ||
+ | |||
+ | (ให้เขียนทั้งโปรแกรม) | ||
+ | |||
+ | == โจทย์เกี่ยวกับพหุนาม == | ||
+ | === การอ่านพหุนาม === | ||
+ | |||
+ | ในโจทย์หลายข้อ เราจะอ่านพหุนามจากผู้ใช้ โดยการอ่านจะมีรูปแบบดังนี้ | ||
+ | |||
+ | * ผู้ใช้จะป้อนข้อมูลตัวแรกเป็นจำนวนเต็ม <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>] | ||
+ | |||
+ | ยกตัวอย่างเช่น ถ้าพหุนามเป็น <math>f(x) = 2x^3 - x^2 + 3x + 10</math> ผู้ใช้ป้อนข้อมูลดังนี้ | ||
+ | |||
+ | 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 | ||
+ | |||
+ | === หาค่าพหุนาม === | ||
+ | เขียนโปรแกรมรับพหุนาม <math>f(x)</math> จากผู้ใช้ จากนั้นรับค่า <math>a</math> แล้วคำนวณค่า <math>f(a)</math> | ||
+ | |||
+ | '''ข้อมูลป้อนเข้า''' | ||
+ | |||
+ | * ผู้ใช้จะป้อนข้อมูลตัวแรกเป็นจำนวนเต็ม <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</math> | ||
+ | |||
+ | ให้โปรแกรมตอบค่า <math>f(a)</math> เป็นทศนิยม 2 ตำแหน่ง | ||
+ | |||
+ | ตัวอย่างเช่น ถ้าพหุนามเป็น <math>f(x) = 2x^3 - x^2 + 3x + 10</math> และผู้ใช้ต้องการคำนวณค่า <math>f(3)</math> ตัวอย่างการทำงานของโปรแกรมจะเป็นดังนี้ | ||
+ | |||
+ | 3 | ||
+ | 10 | ||
+ | 3 | ||
+ | -1 | ||
+ | 2 | ||
+ | 3 | ||
+ | f(a) = 64.00 | ||
+ | |||
+ | หมายเหตุ แนะนำให้ใช้ฟังก์ชัน <tt>read_poly</tt> ที่เขียนจากข้อที่แล้ว | ||
+ | |||
+ | === บวกพหุนาม === | ||
+ | เขียนโปรแกรมรับพหุนามสองพหุนาม จากนั้นหาผลบวก แล้วพิมพ์รายการของสัมประสิทธิ์ให้กับผู้ใช้ | ||
+ | |||
+ | ตัวอย่างการทำงาน | ||
+ | |||
+ | Enter first polynomial: | ||
+ | 2 | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | Enter second polynomial: | ||
+ | 5 | ||
+ | 10 | ||
+ | -1 | ||
+ | 0 | ||
+ | 2 | ||
+ | 3 | ||
+ | 4 | ||
+ | Result is: | ||
+ | 11 | ||
+ | 1 | ||
+ | 3 | ||
+ | 3 | ||
+ | 4 | ||
+ | |||
+ | === หาอนุพันธ์ของพหุนาม === | ||
+ | |||
+ | สูตรการหาอนุพันธ์ของฟังก์ชันพหุนามคือ <math>\frac{d}{dx}x^k = k x^{k-1}</math> ให้เขียนโปรแกรมรับพหุนาม จากนั้นคำนวนหาอนุพันธ์และแสดงกับผู้ใช้ | ||
+ | |||
+ | ตัวอย่างการทำงาน | ||
+ | |||
+ | Enter polynomial: | ||
+ | 3 | ||
+ | 4 | ||
+ | 3 | ||
+ | 2 | ||
+ | 1 | ||
+ | Result: | ||
+ | 3 | ||
+ | 4 | ||
+ | 3 | ||
+ | |||
+ | หมายเหตุ: ตัวอย่างข้างต้นแสดงว่า <math>\frac{d}{dx}(1x^3+2x^2+3x+4) = 3x^2 + 4x + 3</math> | ||
+ | |||
+ | === คูณพหุนาม (ยากเป็นข้อโบนัส) === | ||
+ | เขียนโปรแกรมรับพหุนามสองพหุนาม จากนั้นคำนวณหาผลคูณของพหุนาม แล้วแสดงผล | ||
+ | |||
+ | ตัวอย่างการทำงาน | ||
+ | Enter first polynomial: | ||
+ | 2 | ||
+ | 1 | ||
+ | 2 | ||
+ | 3 | ||
+ | Enter second polynomial: | ||
+ | 1 | ||
+ | 2 | ||
+ | 1 | ||
+ | Result: | ||
+ | 2 | ||
+ | 4 | ||
+ | 8 | ||
+ | 3 | ||
+ | |||
+ | หมายเหตุ ตัวอย่างข้างต้นคำนวณ <math>(3x^2 + 2x + 1)\times(x + 2) = 3x^3 + 8x^2 + 5x + 2</math> |
รุ่นแก้ไขปัจจุบันเมื่อ 17:47, 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 (ในการทดลองให้นิสิตพิมพ์โปรแกรมที่มีฟังก์ชันดังกล่าว จากนั้นกด Run ใน Wing IDE จะสามารถเรียกใช้ฟังก์ชันดังกล่าวได้ใน Python Shell)
>>> is_square(4) True >>> is_square(5) False >>> is_square(121) True >>> is_square(200) False >>> is_square(80) False
(หมายเหตุถึง TA: ในการตรวจ ให้ซ่อนโปรแกรมหลักไว้ ในโปรแกรมหลักดังกล่าวให้พิมพ์ผลลัพธ์ของฟังก์ชันเมื่อเรียกผ่าน input ต่าง ๆ อย่าลืมใส่ กล่อง testcase:begin testcase:end ว่าง ๆ ไว้ด้วย ไม่เช่นนั้นระบบจะไม่ตรวจ)
เลขกำลังสอง 2
เขียนฟังก์ชัน filter_squares(ls) ที่รับรายการ ls และคืนค่าเป็นรายการที่ประกอบด้วยจำนวนเต็มที่เป็นเลขกำลังสอง
ให้นำฟังก์ชัน is_square ที่เขียนในข้อก่อนมาใช้
(หมายเหตุถึง TA: พยายามจัดหน้าตาส่วนของโปรแกรมเป็นดังรูปด้านล่าง)
import math def is_square(x): _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ def filter_squares(ls): _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________ _______________________________________
ตัวอย่างการเรียกใช้ใน Python shell (ในการทดลองให้นิสิตพิมพ์โปรแกรมที่มีฟังก์ชันดังกล่าว จากนั้นกด Run ใน Wing IDE จะสามารถเรียกใช้ฟังก์ชันดังกล่าวได้ใน 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]
(หมายเหตุถึง TA: ในการตรวจ ให้ซ่อนโปรแกรมหลักไว้ ในโปรแกรมหลักดังกล่าวให้พิมพ์ผลลัพธ์ของฟังก์ชันเมื่อเรียกผ่าน input ต่าง ๆ อย่าลืมใส่ กล่อง testcase:begin testcase:end ว่าง ๆ ไว้ด้วย ไม่เช่นนั้นระบบจะไม่ตรวจ)
พิมพ์กลับหลัง
เขียนโปรแกรมรับจำนวนเต็ม จนกระทั่งผู้ใช้ป้อน -1 จากนั้นพิมพ์จำนวนเต็มที่รับ จากหน้าไปหลัง บรรทัดละ 1 ตัว
ตัวอย่างการทำงาน
10 20 15 3 -1 3 15 20 10
ร้านขายของ
ในส่วนนี้เราจะพัฒนาโปรแกรมสำหรับเป็นหน้าร้านซื้อขายเครื่องเขียน เราจะเก็บข้อมูลของเครื่องเขียนในรายการ โดยข้อมูลที่จะเก็บเป็นดังนี้ คือ ชื่อของ ราคา และจำนวนที่เหลือในร้าน
ข้อมูลทั้งสามจะเก็บในรายการสามรายการ ตัวอย่างดังด้านล่างนี้
products = ['pen', 'pencil', 'ruler', 'cutter', 'ink'] prices = [5, 1, 10, 15, 20] counts = [100, 200, 50, 30, 50]
จากข้อมูลข้างต้น ปากกา (pen) มีราคา 5 บาท มีจำนวนของเหลือ 100 ชิ้น
(หมายเหตุถึง TA: ในแต่ละข้อ ให้ตัดคำอธิบายโจทย์รวมด้านบนไปด้วย)
ร้านขายของ: ค้นหาสินค้า
สังเกตว่าข้อมูลด้านราคาและจำนวนสินค้าจะถูกเก็บในรายการในตำแหน่งที่สอดคล้องกับข้อมูลชื่อสินค้า ดังนั้นเราจะประมวลผลข้อมูลดังกล่าวได้สะดวกถ้าเราทราบดัชนีของสินค้านั้น
เขียนฟังก์ชัน find_product(plist, name) ที่รับรายการของชื่อสินค้า plist และชื่อสินค้า name จากนั้นคืนดัชนีของ name ในรายการ plist ในกรณีที่ไม่มีสินค้านั้นในรายการให้คืนค่า -1
ตัวอย่างการเรียกใช้งานบน Python Shell (ในการทดลองให้นิสิตพิมพ์โปรแกรมที่มีฟังก์ชันดังกล่าว จากนั้นกด Run ใน Wing IDE จะสามารถเรียกใช้ฟังก์ชันดังกล่าวได้ใน Python Shell)
>>> find_product(['pen','ink','pencil'],'pen') 0 >>> find_product(['pen','ink','pencil'],'pencil') 2 >>> find_product(['pen','ink','pencil'],'ruler') -1
(หมายเหตุถึง TA: ในการตรวจ ให้ซ่อนโปรแกรมหลักไว้ ในโปรแกรมหลักดังกล่าวให้พิมพ์ผลลัพธ์ของฟังก์ชันเมื่อเรียกผ่าน input ต่าง ๆ อย่าลืมใส่ กล่อง testcase:begin testcase:end ว่าง ๆ ไว้ด้วย ไม่เช่นนั้นระบบจะไม่ตรวจ)
ร้านขายของ: พิมพ์รายการสินค้าที่เหลือ
เขียนฟังก์ชัน show_stock(products, counts) ที่พิมพ์รายการสินค้าที่เหลือ โดยใช้ข้อมูลรายชื่อสินค้าในรายการ products และรายการจำนวนที่เหลือในรายการ counts
ตัวอย่างโปรแกรมหลักที่เรียกใช้งานฟังก์ชันดังกล่าว
products = ['pen', 'pencil', 'ruler', 'cutter', 'ink'] counts = [100, 200, 50, 30, 50] show_stock(products, counts)
ตัวอย่างผลลัพธ์จากโปรแกรมข้างต้น
pen 100 pencil 200 ruler 50 cutter 30 ink 50
ร้านขายของ: ขายสินค้า
เขียนฟังก์ชัน sale(products, prices, counts) ที่รับชื่อสินค้า และจำนวนที่ต้องการซื้อจากผู้ใช้ จากนั้นระบุราคาที่ต้องจ่าย พร้อมทั้งตัดจำนวนสินค้าที่เหลือ
โดยฟังก์ชันดังกล่าว จะต้องตรวจสอบว่าสินค้าที่ซื้อมีหรือไม่ และจำนวนมากพอที่จะขายหรือไม่ด้วย ถ้าผู้ใช้ป้อนจำนวนซื้อน้อยกว่า 0 ให้ระบุว่าเป็นจำนวนที่ผิดพลาดด้วย
เขัยนฟังก์ชันด่านล่าง
def sale(products, prices, counts): _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________ _____________________________________________________
ตัวอย่างโปรแกรมหลักที่ใช้ฟังก์ชันดังกล่าว (และใช้ฟังก์ชัน show_stock ด้วย แต่นิสิตไม่ต้องเขียนฟังก์ชันนี้ในการส่ง, แต่ต้องเขียนเพื่อทดสอบโปรแกรมของนิสิตเอง)
products = ['pen', 'pencil'] prices = [5, 1] counts = [100, 200] sale(products, prices, counts) show_stock(products, counts)
ตัวอย่างการทำงาน 1
Enter product name: pen Enter amount: 3 You have to pay 15 baths. pen 97 pencil 200
หมายเหตุบรรทัดผลลัพธ์สองบรรทัดสุดท้ายพิมพ์โดย show_stock
ตัวอย่างการทำงาน 2
Enter product name: ruler Sorry, we do not have that product. pen 100 pencil 200
ตัวอย่างการทำงาน 3
Enter product name: pencil Enter amount: 210 Sorry, we do not have enough. pen 100 pencil 200
ตัวอย่างการทำงาน 3
Enter product name: pencil Enter amount: -20 Sorry, that is an invalid amount. pen 100 pencil 200
หมายเหตุ: ในการเขียนฟังก์ชันนั้น ถ้าต้องการให้ฟังก์ชันจบการทำงานและคืนกลับไปทำงานที่โปรแกรมหลักเลย สามารถทำได้โดยใช้คำสั่ง return (สามารถสั่งโดยไม่ต้องตามด้วยค่าที่จะคืน)
ร้านขายของ: รวมเป็นโปรแกรม
ให้นำฟังก์ชันที่เขียนไว้จากข้อก่อน ๆ มารวมเป็นโปรแกรมร้านขายของ ที่มีการทำงานดังนี้
- เริ่มต้นโดยการแสดงรายการสินค้าที่มี
- จากนั้นถามผู้ใช้ว่าต้องการจบการทำงานหรือซื้อสินค้า
- ถ้าผู้ใช้ซื้อสินค้า ให้ทำงานในลักษณะเดียวกับโจทย์ข้างต้น เมื่อซื้อเสร็จให้พิมพ์รายการสินค้าที่เหลือ
- ถ้าผู้ใช้สั่งให้จบการทำงาน ให้พิมพ์รายการสินค้าที่เหลือ และจบการทำงาน
ให้โปรแกรมเริ่มต้นด้วยสินค้าที่มีตามรายการตัวอย่างด้านบน (ให้ประกาศตัวแปร products, prices, และ counts ตามด้านบนในส่วนของโปรแกรมหลัก)
ตัวอย่างการทำงาน
Current stock: pen 100 pencil 200 ruler 50 cutter 30 ink 50 Buy or Exit (enter B or E): B Enter product name: pen Enter amount: 15 You have to pay 75 bath. pen 85 pencil 200 ruler 50 cutter 30 ink 50 Buy or Exit (enter B or E): B Enter product name: cutter Enter amount: 50 Sorry, we do not have enough. pen 85 pencil 200 ruler 50 cutter 30 ink 50 Buy or Exit (enter B or E): E At the end: pen 85 pencil 200 ruler 50 cutter 30 ink 50
(ให้เขียนทั้งโปรแกรม)
โจทย์เกี่ยวกับพหุนาม
การอ่านพหุนาม
ในโจทย์หลายข้อ เราจะอ่านพหุนามจากผู้ใช้ โดยการอ่านจะมีรูปแบบดังนี้
- ผู้ใช้จะป้อนข้อมูลตัวแรกเป็นจำนวนเต็ม แทนกำลังสูงจุดของตัวแปร ในพหุนามดังกล่าว
- จากนั้นจะป้อนจำนวนจริงอีก จำนวน แทนสัมประสิทธิ์ของตัวแปร โดยเริ่มจาก , , ไปจนถึง พหุนามที่ผู้ใช้ป้อนคือ
ให้ฟังก์ชันดังกล่าวคืนค่าเป็นรายการของสัมประสิทธิ์ [,,,...,]
ยกตัวอย่างเช่น ถ้าพหุนามเป็น ผู้ใช้ป้อนข้อมูลดังนี้
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 ที่เขียนจากข้อที่แล้ว
บวกพหุนาม
เขียนโปรแกรมรับพหุนามสองพหุนาม จากนั้นหาผลบวก แล้วพิมพ์รายการของสัมประสิทธิ์ให้กับผู้ใช้
ตัวอย่างการทำงาน
Enter first polynomial: 2 1 2 3 Enter second polynomial: 5 10 -1 0 2 3 4 Result is: 11 1 3 3 4
หาอนุพันธ์ของพหุนาม
สูตรการหาอนุพันธ์ของฟังก์ชันพหุนามคือ ให้เขียนโปรแกรมรับพหุนาม จากนั้นคำนวนหาอนุพันธ์และแสดงกับผู้ใช้
ตัวอย่างการทำงาน
Enter polynomial: 3 4 3 2 1 Result: 3 4 3
หมายเหตุ: ตัวอย่างข้างต้นแสดงว่า
คูณพหุนาม (ยากเป็นข้อโบนัส)
เขียนโปรแกรมรับพหุนามสองพหุนาม จากนั้นคำนวณหาผลคูณของพหุนาม แล้วแสดงผล
ตัวอย่างการทำงาน
Enter first polynomial: 2 1 2 3 Enter second polynomial: 1 2 1 Result: 2 4 8 3
หมายเหตุ ตัวอย่างข้างต้นคำนวณ