โจทย์วิเคราะห์ปัญหาที่ 1

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Suphot Sawattiwong Lab I-II Suphot Sawattiwong
Advertisements

เรื่อง การแก้ไขปัญหาด้วยกระบวนการเทคโนโลยีสารสนเทศ
ครั้งที่ 9 Function(ต่อ).
สศ การเมืองและการปกครองของไทย POL
โจทย์ หาราคาค่าเช่าห้องพัก โดยมีเงื่อนไขว่า ถ้าพักไม่เกิน5วัน จะไม่มีส่วนลด ถ้าพัก5-8วัน จะมีส่วนลด 5% แต่ถ้าพักมากกว่า8วันขึ้นไป จะมีส่วนลด 10%
การเขียนโปรแกรมคอมพิวเตอร์
LAB # 2.
LAB 1 ให้นักศึกษาเขียน Flowchart โดยใช้โปรแกรม Microsoft Word วาดรูป Flowchart ส่ง Flowchart ที่วาดเสร็จแล้วในชั่วโมง และ print ใส่กระดาษ ส่งในครั้งหน้า.
ครั้งที่ 8 Function.
โครงสร้างควบคุมและคำสั่งแบบเงื่อนไข
Lecture No. 3 ทบทวนทฤษฎีและแบบฝึกหัด
ตัวอย่าง Flowchart.
ชนิดของข้อมูลและตัวดำเนินการ
LAB # 3 Computer Programming 1
ผังงานโปรแกรม (Program Flowchart)
คำสั่งแบบเลือกทำ Week 6.
บทที่ 13 การผลิตแบบทันเวลาพอดี
เนื้อหา ประเภทของโปรแกรมภาษา ขั้นตอนการพัฒนาโปรแกรม
กระบวนการเขียนโปรแกรม
การออกแบบโปรแกรมอย่างมีโครงสร้าง Structured Design
คำสั่งแบบมีเงื่อนไข IF Statement
ตัวอย่างการวิเคราะห์งาน
ตัวอย่างการวิเคราะห์งาน
วิธีการทำงานของผังงาน
ตัวอย่างคำสั่ง CASE.
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
บทที่ 4 การโปรแกรมเชิงเส้น (Linear Programming)
คำสั่งควบคุม (Control Statement)
การเขียนโปรแกรมคอมพิวเตอร์และอัลกอริธึม
การเขียนโปรแกรมแบบมีทางเลือก
บทที่ 11 การเขียนโปรแกรมภาษาซี
Flowchart รูปแบบ If ซ้อน If ก็คือ การเอา If ไปไว้ใน If ทางฝั่ง True  โดยโครงสร้าง If ซ้อน If นั้นเอาไว้ใช้กับ กรณีตรวจสอบเงื่อนไขที่มากกว่า 2 กรณี เพราะเนื่องจาก.
รูปแบบ if-else if if (เงื่อนไข1) {
Chapter 4 คำสั่งควบคุมทิศทาง
ตัวอย่างการวิเคราะห์งาน และ การเขียนผังงานและซูโดโค้ด
ครูรัตติยา บุญเกิด.
ง30212 การเขียนโปรแกรมภาษาคอมพิวเตอร์ โรงเรียนปลวกแดงพิทยาคม
คำสั่งเงื่อนไข ง การเขียนไดนามิก เว็บเพจ ศูนย์คอมพิวเตอร์โรงเรียนปลวกแดงพิทยาคม.
การใช้คำสั่ง เงื่อนไข การเขียนเว็บเพจโดยใช้ ภาษาสคริปต์ ศูนย์คอมพิวเตอร์โรงเรียนปลวกแดงพิทยาคม.
การใช้คำสั่งเงื่อนไขใน exel
คำสั่งลำลอง.
การเขียนผังงาน จุดประสงค์ 1.อธิบายความของผังงานได้
กิจกรรมที่ 7 การวางแผนการแก้ปัญหา (1)
โดย อ. นัฐพงศ์ ส่งเนียม การเขียนโปรแกรมคอมพิวเตอร์ และอัลกอรทึ่ม ( ) Lec04 : [ การแปลงจาก FlowChart.
รูปแบบการเขียนผังงานแบบ 2 ทางเลือก
การวิเคราะห์ปัญหา ปัญหาอะไร ?.
การเขียนผังงานแบบทางเลือก
Week 7 การเขียนโปรแกรมเบื้องต้น
การเขียนโปรแกรม ตอนที่ 1 (ต่อ)
การออกแบบโครงสร้าง (Structured Design)
วิชา COSC2202 โครงสร้างข้อมูล (Data Structure)
ใบงาน 1. ให้นักเรียนคัดลอกเนื้อหาและตัวอย่างเรื่อง การวิเคราะห์ปัญหาและการจำลองความคิดตั้งแต่สไลด์ที่ 2-11 ลงในสมุด (ถ้าไม่มีให้ทำในกระดาษสมุด1คู่) 2.
การใช้คำสั่งเงื่อนไข
แผนผังความคิดรวบยอด เรื่อง ภาษาคอมพิวเตอร์ และตัวอย่างผังงาน
การเขียนโปรแกรมแบบวนซ้ำ: คำสั่ง while คำสั่ง do….while
สรุปสถิติ ค่ากลาง ค่าเฉลี่ยเลขคณิต เรียงข้อมูล ตำแหน่งกลาง มัธยฐาน
คำสั่งทำซ้ำ for คำสั่ง for เป็นคำสั่งทำซ้ำในลักษณะ Definite loop คือทราบจำนวนรอบที่แน่นอนในการทำงาน ซึ่งจะใช้ตัวแปร 1 ตัวในการนับจำนวนรอบว่าครบตามกำหนดหรือไม่
Output of C.
ตัวแปร Array แบบ 1 มิติ การเขียนโปรแกรมแบบวนซ้ำ
อ สิทธิชัย เอี่ยววุฑฒะจินดา
การแก้ปัญหาโปรแกรม (Flowchart)
เด็กหญิง นัฐนรี โยธาตรี เลขที่ 13 ม.3/1
การเขียน แบบวนซ้ำ , วนลูป
CONDITION Computer Programming Asst. Prof. Dr. Choopan Rattanapoka.
การเขียนโปรแกรม (ภาษาซี)
ผังงาน (Flow chart).
Flowchart การเขียนผังงาน.
ผังงานโปรแกรม (Program Flowchart)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์ สัปดาห์ที่ 5 การเขียนโปรแกรมแบบทางเลือก การเขียนโปรแกรมแบบวนซ้ำ.
คำสั่งในการ ทำงานเบื้องต้น ของโปรแกรม. คำสั่งประกาศตัวแปร ชนิดของข้อมูล ชื่อตัวแปรที่ 1, ชื่อตัวแปรที่ 2; ตัวอย่าง Double score, total;
ใบสำเนางานนำเสนอ:

โจทย์วิเคราะห์ปัญหาที่ 1 โจทย์ จงเขียนโปรแกรมคำนวณพื้นที่สามเหลี่ยม โดยรับค่าความยาวฐานและความสูงจากผู้ใช้ 1. สิ่งที่โจทย์ต้องการ : ……………………. 2. รูปแบบผลลัพธ์ ป้อนค่าความสูง => <รอรับค่า…….> ป้อนค่าความยาวฐาน => <รอรับค่า……..> พื้นที่สามเหลี่ยม => <แสดงค่า…………>

โจทย์วิเคราะห์ปัญหาที่ 1 3. ข้อมูลนำเข้า ความยาว…………… ความ……………… 4. กำหนดตัวแปรที่ใช้ ชื่อตัวแปร ความหมาย Height Base Area

โจทย์วิเคราะห์ปัญหาที่ 1 5. วิธีการประมวลผล 1. เริ่มต้น 2. ………………………………………… 3. คำนวณ Area = 0.5 * Height * Base 4. ………………….. 5. จบการทำงาน

โจทย์วิเคราะห์ปัญหาที่ 2 โจทย์ จงเขียนโปรแกรมแปลงอุณหภูมิจากหน่วยองศาฟาเรนไฮต์ เป็นองศาเซลเซียสโดยมีสูตรในการแปลงดังนี้ องศา C = (F-32) * 5 / 9 1. สิ่งที่โจทย์ต้องการ อุณหภูมิที่มีหน่วย………………………..

โจทย์วิเคราะห์ปัญหาที่ 2 2. รูปแบบผลลัพธ์ 3. ข้อมูลเข้า อุณหภูมิที่มีหน่วย…………………. ป้อนอุณหภูมิ(F) => <รอรับค่า……….> อุณหภูมิ <หน่วยฟาเรนไฮต์> มีค่าเท่ากับ <หน่วยเซลเซียส>

โจทย์วิเคราะห์ปัญหาที่ 2 4. กำหนดตัวแปรที่ใช้ ชื่อตัวแปร ความหมาย F …………………….. …………. อุณหภูมิหน่วยเซลเซียส 5. วิธีการประมวลผล 1. เริ่มต้น 2. รับค่าใส่ตัวแปร …………. 3. คำนวณ C =(F-32)*5/9 4. ……………..C 5. จบการทำงาน

ตัวอย่างการวิเคราะห์งาน โครงสร้างเลือกทำ (Selection Structure)

ตัวอย่างที่ 3 โจทย์ จงเขียนโปรแกรมคำนวณการขายสินค้า โดยรับ ราคาสินค้า/หน่วย และจำนวนที่ซื้อ จากผู้ใช้ ถ้ายอดรวมเกิน 1000 บาท ลดราคาให้ 10% โดยให้แสดง ราคาส่วนลด และราคาสุทธิ 1. สิ่งที่โจทย์ต้องการ …………. ราคาส่วนลด …………………

2. รูปแบบผลลัพธ์ 3. ข้อมูลนำเข้า ราคาสินค้า / หน่วย จำนวน 3. ข้อมูลนำเข้า ราคาสินค้า / หน่วย จำนวน ราคาสินค้า/หน่วย => <รอรับค่าราคา> จำนวน => <………………..> ราคารวม => <แสดงค่าราคารวม> ส่วนลด => <……………………> ราคาสุทธิ => <แสดงค่าราคาสุทธิ>

4. กำหนดตัวแปรที่ใช้ ชื่อตัวแปร ความหมาย UnitPrice ราคา/หน่วย QTY จำนวนที่ซื้อ TotalPrice ……………….. Discount ……………… NetPrice ………………..

2. รับค่าจากตัวแปร UnitPrice , QTY 5. วิธีการประมวลผล 1. เริ่มต้น 2. รับค่าจากตัวแปร UnitPrice , QTY 3. คำนวณ TotalPrice = …….. * …………….. 4. เปรียบเทียบ ถ้า TotalPrice > 1000 ดังนี้ ถ้า เป็นจริง ให้ Discount = TotalPrice * 0.10 ไปทำข้อ 5 ถ้า เป็นเท็จ ให้ Discount = TotalPrice * 0 ไปทำข้อ 5 5. คำนวณราคาสุทธิ NetPrice = TotalPrice - Discount 6. ………………… 7. จบการทำงาน

ตัวอย่างที่ 4 โจทย์ จงเขียนโปรแกรมคำนวณคะแนนรวมจากการรับค่าคะแนนรายภาคและคะแนนปลายภาค เพื่อพิจารณาว่าสอบผ่านหรือสอบตก โดยแสดงผลการสอบ ถ้าคะแนนรวมต่ำกว่า 60 คะแนน ถือว่าสอบตก 1. สิ่งที่โจทย์ต้องการ …………………. ผลการสอบ

2. รูปแบบผลลัพธ์ 3. ข้อมูลนำเข้า คะแนนรายภาค …………….. 3. ข้อมูลนำเข้า คะแนนรายภาค …………….. กรอกคะแนนรายภาค => <………………..> กรอกคะแนนปลายภาค => <รอรับค่าคะแนนปลายภาค> คะแนนรวม => <…………………….> ผลการสอบ => <…………………>

4. กำหนดตัวแปรที่ใช้ ชื่อตัวแปร ความหมาย Mid_score ……………. ………….. คะแนนปลายภาค Total_score ………………….

ถ้า เป็นจริง ให้ พิมพ์ข้อความ “สอบผ่าน” ไปทำข้อ 5 5. วิธีการประมวลผล (แบบที่ 1) 1. เริ่มต้น 2. รับค่าใส่ตัวแปร Mid_score , Final_score 3. คำนวณ Total_score = ……………………..+…………. 4. เปรียบเทียบ ถ้า Total_score >= 60 ดังนี้ ถ้า เป็นจริง ให้ พิมพ์ข้อความ “สอบผ่าน” ไปทำข้อ 5 ถ้า เป็นเท็จ ให้ พิมพ์ข้อความ “สอบตก” ไปทำข้อ 5 5. ………………..

ถ้า Total_score >= 60 ให้ พิมพ์ข้อความ “สอบผ่าน” ไปทำข้อ 5 5. วิธีการประมวลผล (แบบที่ 2) 1. เริ่มต้น 2. รับค่าใส่ตัวแปร Mid_score , Final_score 3. คำนวณ Total_score = Mid_score + Final_Score 4. เปรียบเทียบ ค่า Total_score ดังนี้ ถ้า Total_score >= 60 ให้ พิมพ์ข้อความ “สอบผ่าน” ไปทำข้อ 5 ถ้า Total_score < 60 ให้ พิมพ์ข้อความ “สอบตก” ไปทำข้อ 5 5. จบการทำงาน

ตัวอย่างที่ 5 โจทย์ จงเขียนโปรแกรมคำนวณค่าแรงและภาษีที่ต้องจ่ายของพนักงาน 1 คน โดยการรับข้อมูล รหัสประจำตัวพนักงาน , อัตราค่าแรง , จำนวนชั่วโมงการทำงาน โดยมีข้อกำหนดในการหักภาษี ณ ที่จ่าย ดังนี้ ถ้าค่าแรงมากกว่า 5000 คิดภาษี 5% ของค่าแรงที่ได้ ถ้าค่าแรงน้อยกว่าหรือเท่ากับ 5000 คิดภาษี 2% 1. สิ่งที่โจทย์ต้องการ ภาษีที่หักจากค่าแรง ณ ที่จ่าย ……………………..

2. รูปแบบผลลัพธ์ เลขประจำตัว => <รอรับค่าเลขประจำตัว> 2. รูปแบบผลลัพธ์ เลขประจำตัว => <รอรับค่าเลขประจำตัว> จำนวนชั่วโมง => <…………………………..> อัตราค่าแรง => <รอรับค่าอัตราค่าแรง> ค่าแรง => <………………..> ภาษี => <…………………….> ค่าแรงสุทธิหลังหักภาษี => <แสดงค่าค่าแรงสุทธิ>

3. ข้อมูลนำเข้า 4. กำหนดตัวแปรที่ใช้ รหัสประจำตัวพนักงาน จำนวนชั่วโมง 3. ข้อมูลนำเข้า รหัสประจำตัวพนักงาน จำนวนชั่วโมง อัตราค่าแรง 4. กำหนดตัวแปรที่ใช้ ชื่อตัวแปร ความหมาย Emp_ID …………………… ………… จำนวนชั่วโมงที่ทำงาน Rate อัตราค่าแรง …………. ค่าแรง Tax ……………. Net_Pay ค่าแรงสุทธิ

ถ้า เป็นจริง ให้ Tax = Pay * 0.05 ไปทำงานข้อ 5 5. วิธีการประมวลผล 1. ……………. 2. รับค่าจากตัวแปร Emp_ID , Hours , Rate 3. คำนวณ Pay = Hours * Rate 4. เปรียบเทียบ Pay > 5000 ถ้า เป็นจริง ให้ Tax = Pay * 0.05 ไปทำงานข้อ 5 ถ้า เป็นเท็จ ให้ Tax = Pay * 0.02 ……………… 5. คำนวณค่าแรงสุทธิ …………= Pay - Tax 6. แสดงผลลัพธ์ 7. จบการทำงาน

ตัวอย่างที่ 6 โจทย์ จงเขียนโปรแกรมแสดงชื่อวันในสัปดาห์ จากเลขวันที่รับจากผู้ใช้ - ถ้าเลข เท่ากับ 1 แสดง วันอาทิตย์ - ถ้าเลข เท่ากับ 2 แสดง วันจันทร์ - ถ้าเลข เท่ากับ 3 แสดง วันอังคาร - ถ้าเลข เท่ากับ 4 แสดง วันพุธ - ถ้าเลข เท่ากับ 5 แสดง วันพฤหัสบดี - ถ้าเลข เท่ากับ 6 แสดง วันศุกร์ - ถ้าเลข เท่ากับ 7 แสดง วันเสาร์ - ถ้าเป็นเลขอื่น ๆ แสดง ตัวเลขไม่ถูกต้อง

เลขวัน => <รอรับค่า> วัน : <………………………..> 1. สิ่งที่โจทย์ต้องการ ………………………… 2. รูปแบบผลลัพธ์ 3. ข้อมูลนำเข้า ……………………… 4. กำหนดตัวแปรที่ใช้ ชื่อตัวแปร ความหมาย day_no ……………… ……………… ชื่อวัน เลขวัน => <รอรับค่า> วัน : <………………………..>

5. วิธีการประมวลผล 1. เริ่มต้น 2. รับค่าใส่ตัวแปร day_no 3. เปรียบเทียบค่าของ day_no ดังนี้ ถ้า day_no = 1 ให้ day_name = “วันอาทิตย์” ไปทำงานข้อ 4 ถ้า day_no = 2 ให้ day_name = “วันจันทร์” …………………. ถ้า day_no = 3 ให้ day_name = “วันอังคาร” ไปทำงานข้อ 4 ถ้า ……….. = 4 ให้ day_name = “วันพุธ” ไปทำงานข้อ 4 ถ้า day_no = …. ให้ day_name = “วันพฤหัสบดี” ไปทำงานข้อ 4 ถ้า day_no = 6 ให้ ……………..= “วันศุกร์” ไปทำงานข้อ 4 ถ้า day_no = 7 ให้ day_name = “วันเสาร์” ไปทำงานข้อ 4 ถ้า day_no เป็นเลขอื่นๆ ให้ day_name = “ตัวเลขไม่ถูกต้อง” ไปทำงานข้อ 4 4. พิมพ์ผลลัพธ์ …………………. 5. จบการทำงาน

ตัวอย่างที่ 7 โจทย์ จงเขียนโปรแกรมตัดเกรดวิชาคอมพิวเตอร์และการเขียนโปรแกรม โดยรับคะแนนกลางภาคและคะแนนปลายภาคโดยมีคะแนนรวมเต็ม 100 คะแนน มีเงื่อนไขในการคิดเกรดดังนี้ - ถ้าได้คะแนน 80 คะแนน ขึ้นไป ได้เกรด A - ถ้าได้คะแนน 70-79 คะแนน ได้เกรด B - ถ้าได้คะแนน 60-69 คะแนน ได้เกรด C - ถ้าได้คะแนน 50-59 คะแนน ได้เกรด D - ถ้าได้คะแนนต่ำกว่า 50 คะแนน ได้เกรด F

1. สิ่งที่โจทย์ต้องการ ………………………….. 2. รูปแบบผลลัพธ์ 1. สิ่งที่โจทย์ต้องการ ………………………….. 2. รูปแบบผลลัพธ์ เลขประจำตัว => <รอรับค่าเลขประจำตัว> ชื่อนักศึกษา => <…………………> คะแนนรายภาค => <…………………> คะแนนปลายภาค => <รอรับค่าคะแนนปลายภาค> คะแนนรวม => <แสดงค่าคะแนนรวม> เกรด => <…………………..>

3. ข้อมูลนำเข้า รหัสนักศึกษา ………….. คะแนนกลางภาค …………………… 4. กำหนดตัวแปรที่ใช้ ชื่อตัวแปร ความหมาย Std_ID รหัสนักศึกษา Std_Name ……………… Mid_Score คะแนนกลางภาค …………… คะแนนปลายภาค Total_Score คะแนนรวม Grade ………………..

5. วิธีการประมวลผล ถ้า …………………ให้ Grade = A ไปทำงานข้อ 5 1. เริ่มต้น 2. รับค่าใส่ตัวแปร Std_ID , Std_Name , Mid_Score , Final_Score ตามลำดับ 3. คำนวณ Total_Score = Mid_Score + Final_Score 4. ทำการเปรียบเทียบค่าของ Total_Score ดังนี้ ถ้า …………………ให้ Grade = A ไปทำงานข้อ 5 ถ้า Total_score >= 70 และ Total_Score <=79 ให้ Grade = B ไปทำงานข้อ 5 ถ้า Total_score >= 60 และ …………………ให้ Grade = C ไปทำงานข้อ 5 ถ้า Total_score >= … และ Total_Score <=59 ให้ Grade = D ไปทำงานข้อ 5 ถ้า Total_score …..50 ให้ Grade = F ………………… 5. พิมพ์ผลลัพธ์ Std_ID , Std_Name , ……………… , Grade 6. ……………….

ตัวอย่างการวิเคราะห์งาน โครงสร้างวนซ้ำ (Iteration Structure)

ตัวอย่างที่ 8 โจทย์ จงเขียนโปรแกรมแสดงผลการบวกเลขจำนวนเต็มจากตัวเลข 1 ถึง 10 1. สิ่งที่โจทย์ต้องการ ………………………… 2. รูปแบบผลลัพธ์ ผลบวกเลข 1 ถึง 10 = <……………>

3. ข้อมูลนำเข้า ไม่มี 4. กำหนดตัวแปรที่ใช้ ชื่อตัวแปร ความหมาย counter ตัวนับจำนวนรอบ sum ………………

5. วิธีการประมวลผล <pre-condition> 1. เริ่มต้น 2. กำหนดค่า sum = 0 3. กำหนดค่า counter = 1 4. เปรียบเทียบ counter <= 10 ดังนี้ - ถ้าเป็นจริง ไปทำข้อ 5 - ถ้าเป็นเท็จ ไปทำข้อ 7 5. คำนวณ ค่า sum = sum + counter 6. เพิ่มค่า counter = counter + 1 แล้วกลับไปทำข้อ 4 7. แสดงค่า sum 8. จบการทำงาน

5. วิธีการประมวลผล <post-condition> 1. เริ่มต้น 2. กำหนดค่า sum = ……………… 3. กำหนดค่า counter = 1 4. คำนวณ ค่า …………………….. 5. เพิ่มค่า counter = counter + 1 6. เปรียบเทียบ counter > 10 ดังนี้ - ถ้าเป็นจริง ไปทำข้อ …………….. - ถ้าเป็น…………… ไปทำข้อ 4 7. แสดงค่า sum 8. จบการทำงาน

ตัวอย่างที่ 9 โจทย์ จงเขียนโปรแกรมเพื่อคำนวณหาสูตรคูณ โดยการรับแม่สูตรคูณจากผู้ใช้ทางคีย์บอร์ด สิ่งที่โจทย์ต้องการ : ……………… รูปแบบผลลัพธ์ สูตรคูณแม่ : 10 <รับค่าจากผู้ใช้ สมมุติว่าป้อนแม่ 10> 10 x 1 = 10 10 x 2 = 20 .... 10 x 12 = 120

3. ข้อมูลนำเข้า ตัวเลขแม่สูตรคูณ 4. กำหนดตัวแปรที่ใช้ N = …………………. Mul = เก็บผลการคูณ i = ตัวแปรใช้นับจำนวนรอบตั้งแต่ 1 - 12

5. การประมวลผล <Pre-condition> 1. กำหนดค่าเริ่มต้นให้ Mul = 0 , i = 1 2. รับค่าตัวแปร N 3. เปรียบเทียบค่า i <= …………. ดังนี้ - ถ้า เป็นจริง ………………….. - ถ้า เป็นเท็จ ไปทำข้อ 7 4. คำนวณ Mul = N * i 5. พิมพ์ค่า N , i , Mul 6. เพิ่มรอบการทำงานโดยกำหนดให้ i = i + 1 กลับไปทำข้อ3 7. ………………..

5. การประมวลผล <Post-condition> 1. กำหนดค่าเริ่มต้นให้ Mul = 0 , i = 1 2. รับค่าตัวแปร N 3. คำนวณ Mul = N * i 4. พิมพ์ค่า N , i , Mul 5. เพิ่มรอบการทำงานโดยกำหนดให้ i = i + 1 6. เปรียบเทียบค่า i > 12 ดังนี้ - ถ้า เป็นเท็จ กลับไปทำข้อ 3 - ถ้า เป็นจริง ไปทำข้อ 7 7. จบการทำงาน

ตัวอย่างที่ 10 โจทย์ จงเขียนโปรแกรมเพื่อคำนวณค่าแฟกทอเรียล(Factorials) n หรือ n! เมื่อค่า n คือเลขจำนวนเต็มที่รับจากผู้ใช้ n! = 1 x 2 x 3 x … x n สิ่งที่โจทย์ต้องการ : ……………….. n รูปแบบผลลัพธ์ Program Factorials (n!) Enter n = <………… n จากผู้ใช้> n! = <แสดงค่าแฟกทอเรียลของn>

3. ข้อมูลนำเข้า …………………….. 4. กำหนดตัวแปรที่ใช้ N = เลขจำนวนเต็มที่รับจากผู้ใช้ Fac = ค่าผลคูณแฟกทอเรียล i = …………………..

5. การประมวลผล <Pre-condition> 1. กำหนดค่าเริ่มต้นให้ Fac = 1 , i = 1 2. ………………………. 3. เปรียบเทียบค่า i <= N ดังนี้ - ถ้า เป็นจริง ไปทำข้อ 4 - ถ้า เป็นเท็จ ………………… 4. คำนวณ Fac = Fac * i 5. เพิ่มรอบการทำงานโดยกำหนดให้ i = i + 1 กลับไปทำข้อ3 6. พิมพ์ค่า N , Fac 7. …………..

5. การประมวลผล <Post-condition> 1. กำหนดค่าเริ่มต้นให้ Fac = 1 , i = 1 2. รับค่าตัวแปร N 3. คำนวณ Fac = Fac * i 4. เพิ่มรอบการทำงานโดยกำหนดให้ i = i + 1 5. เปรียบเทียบค่า i > N ดังนี้ - ถ้า เป็นเท็จ กลับไปทำข้อ 3 - ถ้า เป็นจริง ไปทำข้อ 6 6. พิมพ์ค่า …………………. 7. จบการทำงาน

ตัวอย่างที่ 11 โจทย์ จงเขียนโปรแกรมเพื่อแจกแจงความถี่ของอายุสมาชิกชมลีลาศ ดังนี้ อายุต่ำกว่า 20 , 21 – 30 , 31 – 40 , 41 – 50 , 51 – 60 และ มากกว่า 60 ปี โดยรับจำนวนสมาชิกทั้งหมด และ อายุของสมาชิกแต่ละคน จากผู้ใช้

ตัวอย่างที่ 11 สิ่งที่โจทย์ต้องการ : ตารางแจกแจงความถี่ของอายุ สิ่งที่โจทย์ต้องการ : ตารางแจกแจงความถี่ของอายุ รูปแบบผลลัพธ์ อายุ จำนวนสมาชิก <= 20 21 – 30 31 – 40 41 – 50 51 – 60 > 60

Num = จำนวนสมาชิกของชมรมลีลาศ age = …………………………. 3. ข้อมูลนำเข้า ……………………………………………. อายุของสมาชิกแต่ละคน 4. กำหนดตัวแปรที่ใช้ Num = จำนวนสมาชิกของชมรมลีลาศ age = …………………………. N1 = จำนวนสมาชิกที่มีอายุต่ำกว่า 20 ปี N2 = จำนวนสมาชิกที่มีอายุ 21 – 30 ปี N3 = จำนวนสมาชิกที่มีอายุ 31 – 40 ปี N4 = จำนวนสมาชิกที่มีอายุ ………………… N5 = จำนวนสมาชิกที่มีอายุ 51 – 60 ปี N6 = จำนวนสมาชิกที่มีอายุ………………..

5. การประมวลผล <Pre-condition> 1. ……………………….Fac = 1 , i = 1 2. รับค่าตัวแปร N 3. เปรียบเทียบค่า i <= N ดังนี้ - ถ้า เป็นจริง ไปทำข้อ 4 - ถ้า เป็นเท็จ ไปทำข้อ 6 4. คำนวณ Fac = Fac * i 5. เพิ่มรอบการทำงานโดยกำหนดให้ i = i + 1 กลับไปทำข้อ3 6. พิมพ์ค่า N , Fac 7. จบการทำงาน

5. การประมวลผล <Post-condition> 1. กำหนดค่าเริ่มต้นให้ N1=0 , N2=0 , N3 = 0, N4 = 0, N5 = 0 , N6 = 0 , age , Num 2. รับค่าตัวแปร Num ………………….. 3. เปรียบเทียบค่า i > N ดังนี้ - ถ้า เป็นเท็จ กลับไปทำข้อ 3 - ถ้า เป็นจริง …………………………… 6. ………………….. N , Fac 7. จบการทำงาน