ผลต่างระหว่างรุ่นของ "204111:lab4"
Jittat (คุย | มีส่วนร่วม) |
Jittat (คุย | มีส่วนร่วม) |
||
แถว 117: | แถว 117: | ||
=== C1. นับ === | === C1. นับ === | ||
+ | รับเลขไปเรื่อย ๆ จนกว่าผู้ใช้จะพิมพ์ 0 ให้รายงานจำนวนตัวเลขที่รับได้ (รวม 0 ด้วย) | ||
+ | |||
+ | เขียนทั้งโปรแกรม | ||
=== C2-1. หาผลรวม === | === C2-1. หาผลรวม === |
รุ่นแก้ไขเมื่อ 05:58, 24 มิถุนายน 2553
ปฏิบัติการที่สองของวิชา 20411 ตามแผนร่างหัวข้อวิชา 204111 มีเนื้อหาดังนี้
- if-statement
- while-statement
หมายเหตุ เลขข้อที่ใส่นั้นอาจไม่จำเป็นต้องใช้ตามที่ระบุนี้ แต่ใส่เพื่อให้เห็นชัดเจนว่าแต่ละข้อเริ่มที่ใด
สำหรับปฏิบัติการนี้ ใช้แล็บชื่อ คำสั่งเงื่อนไขและการทำซ้ำ
นิพจน์ตรรกศาสตร์
A1. หาค่านิพจน์
- จะเพิ่มต่อไป
A2. เขียนนิพจน์ตรรกศาสตร์
- จะเพิ่มต่อไป
เงื่อนไข
B1. ส่วนลด
ร้านขายขนมจะลดราคา 5% ให้กับคนที่ซื้อ มากกว่า 100 บาท ให้เขียนโปรแกรมรับราคาสินค้าจากนั้นคำนวณเงินที่ต้องจ่าย ให้แสดงผลเป็นทศนิยม 2 ตำแหน่ง
เติมโปรแกรมด้านล่างให้สมบูรณ์
p = int(input("Enter total price: ")) if ____________: ______________ ______________ print("You have to pay %0.2f" % p)
B2. เข้าประตู
ประตูปราสาทมีขอบด้านล่างสูง 40 เมตร ขอบด้านบนสูง 90 เมตร เด็กน้อยเตะลูกบอลสูง h เมตร อยากทราบว่าเตะเข้าประตูหรือไม่ (ถ้าลูกบอลสูงพอดีกับขอบให้ ถือว่าไม่เข้า)
ตัวอย่าง 1
Enter height: 60 The ball went in.
ตัวอย่าง 2
Enter height: 100 The ball did not go in.
เติมโปรแกรมด้านล่างให้สมบูรณ์
h = int(input("Enter height: ")) if ______________________: ______________________________ else: ______________________________
B3. ขนาดผลไม้
ลูกทุเรียนถูกแบบขนาดออกเป็น 3 กลุ่มตามน้ำหนัก ดังนี้
- น้อยกว่า 1 กิโลกรัม: small
- มากกว่าหรือเท่ากับ 1 กิโลกรัม แต่น้อยกว่า 3 กิโลกรัม: medium
- มากกว่าหรือเท่ากับ 3 กิโลกรัม: large
ตัวอย่าง 1
Enter weight: 1.5 It is medium.
ตัวอย่าง 2
Enter weight: 3 It is large.
ตัวอย่าง 3
Enter weight: 0.5 It is small.
ให้เขียนทั้งโปรแกรม (หมายเหตุถึง TA: อย่าลืมข้อมูลทดสอบที่มีน้ำหนัก 1, 3 และค่าอื่น ๆ ด้วย)
B4. จุดในระนาบ (ง่าย)
ระนาบถูกแบ่งออกเป็น 4 ควอดแดรนต์ จุดจะอยู่ในควอดแดรนต์ที่หนึ่ง (Q1) ถ้าจุดไม่ได้อยู่บนแกน x หรือแกน y และมีพิกัดในทั้งสองแกนเป็นบวกทั้งหมด
(หมายเหตุ TA: สามารถใช้รูปจากโจทย์ปีที่แล้วข้อ "แบบฝึกหัด - practice 4.1" ได้)
เขียนโปรแกรมรับพิกัดของจุด แล้วระบุว่าจุดดังกล่าวอยู่ใน Q1 หรือไม่
ตัวอย่าง 1
Enter X: 10 Enter Y: 5 The point is in Q1.
เขียนโปรแกรมให้สมบูรณ์
x = float(input("Enter X: ")) y = _________________________ if ___________________: ______________________ else: print("The point is not in Q1.")
B5. จุดในระนาบ (ยาก)
(หมายเหตุ TA: มาจากข้อปีที่แล้วชื่อ "แบบฝึกหัด - practice 4.1" task ใน elab)
B6. รายได้
(หมายเหตุ TA: มาจากข้อปีที่แล้วชื่อ "คำสั่งเงื่อนไข(2) --- ex 2.2" ดู task ใน elab)
การทำซ้ำ
C0-1 พิมพ์จาก 1 ถึง n
รับค่า n พิมพ์เลขบรรทัดละตัว ตั้งแต่ 1 ถึง n
ให้เติมโปรแกรมให้สมบูรณ์ เว้นช่องส่วนเงื่อนไขใน while loop, และช่องด้านในลูป
C0-2 พิมพ์จาก n ถึง 1
รับค่า n และพิมพ์เลขบรรทัดละตัว ตั้งแต่ n ถึง 1
เขียนทั้งโปรแกรม
C1. นับ
รับเลขไปเรื่อย ๆ จนกว่าผู้ใช้จะพิมพ์ 0 ให้รายงานจำนวนตัวเลขที่รับได้ (รวม 0 ด้วย)
เขียนทั้งโปรแกรม
C2-1. หาผลรวม
C3. นับเลขคี่
C4-1. นับตัวประกอบ
C4-2. ฟังก์ชันคืนจำนวนตัวประกอบ
C5-1. หาห.ร.ม
C5-2. ฟังก์ชันหาห.ร.ม.
C6 สถิติ: หาค่าเฉลี่ย, ค่ามากสุด, ค่าน้อยที่สุด
ส่วนที่แบ่งเป็นการบ้าน
ในส่วนนี้ให้สร้างอีก lab แยกออกมา เพื่อให้สามารถเปิด/ปิด แยกกับส่วนหลักที่ทำในห้องได้ และคิดว่าควรจะเปิดไว้ตั้งแต่ชั่วโมงแล็บเลย เพราะว่านิสิตที่ทำได้เร็วจะได้ทำในส่วนนี้ได้เลย
B7. ค่าจัดส่ง
(หมายเหตุ TA: มาจากข้อปีที่แล้วชื่อ "คำสั่งเงื่อนไข(2) --- ex 2.3" ดู task ใน elab)