ภาระงาน
# ให้ทำงานเป็นกลุ่ม กลุ่มละ 1 -4 คน จัดกลุ่มตามอัธยาศัย #
ตอนที่ [1] โจทย์ฝึกคิด จงเขียนขั้นตอนในการแก้ปัญหา
คำอธิบาย
# พิมพ์หัวข้อและรายละเอียดทั้ง 6 ข้อ ใน Notepad หรือ Word
1) รายชื่อสมาชิกในกลุ่ม 1.... 2.... 3..... 4.....
2) โจทย์ปัญหา
3) ข้อมูลนำเข้า
4) ข้อมูลส่งออก
5) ขั้นตอนการแก้ปัญหา
6) แผนภาพ ถ้ามี
ส่งงานที่ chatrachai.n@promma.ac.th
ตัวอย่างงานที่ต้องส่ง ดูที่นี่
# ส่งงานช้ากว่ากำหนด คะแนนเต็มลดลงสัปดาห์ละ 2 คะแนน โดยนับตั้งแต่วันจันทร์ถึงวันศุกร์ ในสัปดาห์ถัดจากกำหนดส่งงาน เป็นต้นไป เช่น
กำหนดส่งวันศุกร์ที่ 1 ผู้ที่ส่งในวันจันทร์ที่ 4 ถึง วันศุกร์ที่ 6 คะแนนเต็มจาก 30 จะเหลือ 28
# คัดลอกงานผู้อื่น หรือ คัดลอกงานจากอินเทอร์เน็ต คะแนนเต็ม 15 เท่านั้น
1. มีถังน้ำ 3 ใบ ซึ่งมีความจุใบละ 3 ลิตร 5 ลิตร และ 8 ลิตร ทุกใบ ไม่มีเครื่องหมายบองปริมาณ โดยมีน้ำเต็มในถัง 8 ลิตร จะมีวิธีการเทน้ำอย่างไร เพื่อ
ให้ได้ปริมาณน้ำเท่ากัน 2 ส่วน โดยใช้ถังที่มีอยู่และมีน้ำเพียงเท่านั้น อีกทั้งไม่มีเครื่องมือช่วยตวงอื่นใด
2. จงหาวิธีการกดปุ่มในลิฟต์ เพื่อช่วยเหลือชาย 5 คน อยู่ในลิฟต์ 5 ตัว ซึ่งจอดอยู่ชั้นที่ 1 โดยในลิฟต์แต่ละตัว มีปุ่มกด เพียง 2 ปุ่ม คือ ขึ้นไปอีก 8 ชั้น และลงไปอีก 13 ชั้น และลิฟต์จะหยุดและเปิดประตูได้ ในชั้นที่ 21 - 25 ลิฟต์แต่ละตัวจะเปิดซ้ำชั้นกันไม่ได้ และตึกสูง 49 ชั้น
ข้อ 2 : กำหนดส่ง วันที่
3. มีนาฬิกาทรายอยู่ 2 เรือน เรือนที่ 1 จับเวลาได้ 7 นาที เรือนที่ 2 จับเวลาได้ 11 นาที หากต้องการจับเวลา 15 นาที จะมีวิธีการอย่างไร
4. จะมีวิธีการอย่างไร ในการเดินม้าหมากรุก ให้ชุด A สลับที่กับชุด B ดูรูป
5. มีขวดเปล่า จุ 5 ลิตร และ 7ลิตร หากต้องการตักน้ำจากบ่อ ให้ได้น้ำ 6 ลิตร จะมีวิธีการอย่างไร
ข้อ 5 : กำหนดส่ง วันที่ ...
6. จงนำตัวเลข ต่อไปนี้ 23, 24, 25, 26, 27, 28, 29, 30, 31 เติมลงในตารางขนาด 3x3 ช่อง แล้วทำให้ผลรวมในแนวราบแต่ละแถว และผลรวมในแนวดิ่งแต่ละคอลัมน์ และผลรวมแนวทะแยง รวมทั้งสิ้น 8 แนว มีค่าเท่ากัน
7. สระน้ำแห่งหนึ่ง มีใบบัวจำนวน 11 ใบ เรียงกันในแนวตรง จากฝั่งหนึ่งไปยังอีกฝั่งหนึ่ง และมีกบ 5 ตัว เขียด 5 ตัว อยู่บนใบบัวคนละฝั่ง โดยใบบัวที่อยู่กึ่งกลางนั้นว่าง จะมีขั้นตอนในการควบคุมให้กบและเขียด กระโดดอย่างไร เพื่อข้ามไปยังฝั่งตรงข้ามได้สำเร็จ ซึ่งมีข้อจำกัดว่า กบหรือเขียดจะกระโดดไปยังใบบัวใบที่ว่างอยู่ข้างหน้าได้ หรือจะกระโดดข้ามตัวอื่นที่เป็นฝ่ายตรงข้ามได้คราวละหนึ่งตัว เพื่อไปยังใบบัวที่ว่าง
เริ่มต้น
สิ้นสุด
ตอนที่ [2] โจทย์การเขียนโปรแกรม ภาษา ซี
# พิมพ์หัวข้อและรายละเอียดทั้ง 7 ข้อ ใน Notepad หรือ Word
1) รายชื่อสมาชิกในกลุ่ม 1.... 2.... 3..... 4.....
2) โจทย์ปัญหา
3) ข้อมูลนำเข้า
4) ข้อมูลส่งออก
5) วิธีคำนวณ
6) ขั้นตอนวิธี
7) รหัสคำสั่ง ภาษา ซี
# ส่งงานที่ chatrachai.n@promma.ac.th
# ตัวอย่างงานที่ต้องทำส่ง [ ดูที่นี่ ]
## ส่งงานช้ากว่ากำหนด คะแนนเต็มลดลงสัปดาห์ละ 2 คะแนน โดยนับตั้งแต่วันจันทร์ถึงวันศุกร์ ในสัปดาห์ถัดจากกำหนดส่งงาน เป็นต้นไป เช่น
กำหนดส่งวันศุกร์ที่ 1 ผู้ที่ส่งในวันจันทร์ที่ 4 ถึง วันศุกร์ที่ 6 คะแนนเต็มจาก 30 จะเหลือ 28
# คัดลอกงานผู้อื่น หรือ คัดลอกงานจากอินเทอร์เน็ต คะแนนเต็ม 15 เท่านั้น
<condition 1>
1. เขียนโปรแกรม แสดงเลขจำนวนเฉพาะ ตั้งแต่ a ถึง b เมื่อ a>0 และ b <=100
2. เขียนโปรแกรม เพื่อหาค่าสูงสุด ของเลขจำนวนเต็ม 5 จำนวน โดยรอรับค่าจากผู้ใช้ครั้งละ 1 ค่า
ข้อ 2 : กำหนดส่ง
<Condition 2>
3. จงเขียนโปรแกรม เพื่อแสดงความหมายของ I.Q. ไอคิว ในช่วงต่าง ๆ ตามตารางด้านล่างนี้ โดยผู้ใช้ต้องระบุตัวเลขค่า ไอคิว 1 ค่า แล้วให้โปรแกรมแจ้งว่า ไอคิว นั้น จัดอยู่ในกลุ่ม(category) ใด 1 บรรทัด และเป็นบุคคลที่มีความสามารถอะไรบ้าง (Ability) 1 บรรทัด
ข้อ 3 : กำหนดส่ง
<condition 3>
4. เขียนโปรแกรม ช่วยในการทอนเงิน ในการซื้อขาย ประกอบด้วย เหรียญ 1 บาท เหรียญ 5 บาท เหรียญ 10 บาท ธนบัตร 20 บาท ธนบัตร 50 บาท ธนบัตร 100 บาท ธนบัตร 500 บาท และธนบัตร 1000 บาท เท่านั้น โดยมีขั้นตอน ดังนี้
1. รอรับราคาสินค้า
2. รอรับจำนวนเงินที่ชำระ
3. แจ้งจำนวนเงินทอน 1 บรรทัด
4. แสดงจำนวน ธนบัตร หรือ เหรียญ ที่ใช้ในการทอน ประเภทละ 1 บรรทัด ธนบัตรหรือเหรียญที่ไม่ได้ใช้ ให้แสดงจำนวนเป็น 0
5. เขียนโปรแกรม ในการหาค่าความยาวด้านตรงข้ามมุมฉาก(r) และมุมในหน่วยองศา(z) เทียบกับแกน x รายการละ 1 บรรทัด ตามสมการพีธากอรัส โดยผู้ใช้ระบุ ความยาวด้าน x และความยาวด้าน y สมการที่เกี่ยวข้อง r^2 = x^2 + y^2, tan(z) = y/x (เครื่องหมาย ^ หมายถึง ยกกำลัง , z = atan(y/x) ต้องผนวกแฟ้ม <math.h>
ข้อ 5 : กำหนดส่ง
<for loop>
6. เขียนโปรแกรม เพื่อหาค่าผลรวมของตัวเลข ตั้งแต่ 1 ถึง n ตามที่ผู้ใช้ระบุขณะใช้งาน
7. เขียนโปรแกรม เพื่อหาค่าผลรวมของเลขจำนวนคู่ ตั้งแต่ a ถึง b ตามที่ผู้ใช้ระบุขณะใช้งาน
8. เขียนโปรแกรม เพื่อหาค่าผลรวมของตัวเลขจำนวนคี่ ตั้งแต่ a ถึง b ตามที่ผู้ใช้ระบุขณะใช้งาน
9. เขียนโปรแกรม เพื่อแสดงตัวเลข ซึ่งหารด้วย x ลงตัว ตั้งแต่ a ถึง b ตามที่ผู้ใช้ระบุขณะใช้งาน
ข้อ 7 และ 9 : กำหนดส่ง
10. เขียนโปรแกรม หาค่า x จากสมการกำลังสองสัมบูรณ์ ax^2 + bx + c = 0 หมายเหตุ เครื่องหมาย ^ คือ ยกกำลัง
ข้อ 10 : กำหนดส่ง วันที่
<for loop>
11. เขียนโปรแกรม ใบเสร็จรับเงิน โดยผู้ใช้ระบุ ชื่อสินค้า จำนวนสินค้าและราคาสินค้า สูงสุด 5 รายการ หลังจากนั้นโปรแกรมทำการรวมเงินค่าสินค้าแต่ละรายการ และรวมเงินทั้งหมด ในบรรทัดสุดท้าย
12. เขียนโปรแกรม เพื่อคำนวณค่า BMI และแสดงผลการคำนวณ เป็นค่า BMI และบอกลักษณะของร่างกายว่าอ้วน ผอม อย่างไร
13. จงเขียนโปรแกรมเพื่อแสดงปฏิทินของเดือนในรอบปี โดยมีการรอรับชื่อเดือน และวันเริ่มต้นของเดือนนั้น
ข้อ 11-12 : กำหนดส่ง วันที่ ...
14. คิดโครงงาน เขียนโปรแกรมภาษา ซี ในเรื่องที่สนใจ 1 หัวข้อ เช่น โปรแกรมแสดงเวลาของเมืองสำคัญ ทั่วทุกทวีป
ในโครงงานประกอบด้วย
1) รายชื่อสมาชิกในกลุ่ม 1.... 2.... 3..... 4.....
2) โจทย์ปัญหา
3) ข้อมูลนำเข้า
4) ข้อมูลส่งออก
5) วิธีคำนวณ
6) ขั้นตอนวิธี
7) รหัสคำสั่ง ภาษา ซี
# ส่งงานที่ chatrachai.n@promma.ac.th ดูรายละเอียดเพิ่มเติมจากสไลด์ประกอบการสอน