ดาวน์โหลดงานนำเสนอ
งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ
ได้พิมพ์โดยCharity Hamilton ได้เปลี่ยน 6 ปีที่แล้ว
1
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 6 ผังงานและการออกแบบผังงานเพื่อแก้ปัญหาการเขียนโปรแกรมเบื้องต้น (Basic Flowchart Design)
2
Outline 1 Problem Reviews 2 Objectives 3 Basic Flowchart 4 5
Examples 5 Assignments
3
Hint : ตรวจสอบสระ Output Analysis Input Analysis Process Analysis
Solution: จงเขียนผังงาน และโปรแกรมเพื่อรับอักษรตัวเล็กมา 20 ตัว แล้วตรวจสอบว่ามีอักษรที่เป็นสระกี่ตัว และไม่ใช่สระกี่ตัว Output Analysis จำนวนอักษรที่เป็นสระและไม่ใช่สระ Input Analysis อักษรที่ผู้ใช้ป้อนมาจำนวน 20 ตัว Process Analysis โปรแกรมทำงานแบบวนรอบเพื่อรับค่าจำนวนอักขระ แล้วตรวจสอบว่าเป็นสระ หรือไม่ แล้วนับจำนวนไว้จนครบ 20 ตัว
4
Hint : ตรวจสอบสระ (ต่อ)
Variable Define vowel เป็นจำนวนเต็ม (integer) เพื่อใช้นับจำนวนสระ alphabet เป็นจำนวนเต็ม (integer) เพื่อใช้นับจำนวนที่ไม่ใช่สระ count เป็นจำนวนเต็ม (integer) เพื่อใช้นับว่าครบ 20 ตัวหรือไม่ letter เป็นอักขระ (character) เพื่อรับตัวอักษร
5
Hint : โปรแกรมตู้ ATM จงเขียนโปรแกรมเพื่อรับค่าตัวเลขของผู้ใช้งานตู้ ATM พร้อมทั้งแสดงผลจากการรับค่าตัวเลขดังกล่าวออกสู่หน้าจอ (ให้วิเคราะห์ขั้นตอนการทำงาน เขียนรายละเอียดการทำงาน รหัสเทียม Flowchart พร้อมทั้งเขียนโปรแกรม) ตัวอย่าง ผู้ใช้ป้อนค่า : 2,500 ->แบงค์ 1,000 จำนวน 2 ใบ ->แบงค์ 500 จำนวน 1 ใบ ข้อควรระลึก - ป้อนค่าเป็นเลขทศนิยมและเลขหลักสิบได้ไหม? - มีวิธีการใดบ่งบอกมิให้ผู้ใช้ป้อนค่าผิดหรือไม่?
6
Hint : โปรแกรมตู้ ATM Output Analysis Input Analysis Process Analysis
แสดงผลลัพธ์ของจำนวนธนบัตรมูลค่าต่างๆ Input Analysis จำนวนเงินที่ผู้ใช้ต้องการกรอก Process Analysis โปรแกรมทำงานแบบวนรอบ เพื่อรับค่าจำนวนเงินที่ถูกต้อง ถ้าจำนวนเงินถูกต้องให้คำนวณว่ามีธนบัตรใดจำนวนเท่าใด
7
Hint : โปรแกรมตู้ ATM (ต่อ)
ตรวจสอบว่าจำนวนเงินควรมีธนบัตรมูลค่า 1000 ฿ กี่ใบ แสดงผลและหักจำนวนเงินที่จ่ายธนบัตรมูลค่า 1000 ฿ ตรวจสอบว่าจำนวนเงินที่เหลือควรมีธนบัตรมูลค่า 500 ฿ กี่ใบ แสดงผลและหักจำนวนเงินที่จ่ายธนบัตรมูลค่า 500 ฿ ตรวจสอบว่าจำนวนเงินที่เหลือควรมีธนบัตรมูลค่า 100 ฿ กี่ใบ แสดงผล Variable Define money เป็นจำนวนเต็ม (integer) สำหรับเก็บค่าเงิน amount เป็นจำนวนเต็ม (integer) สำหรับเก็บจำนวนธนบัตรที่จ่ายออกไป
8
Hint : โปรแกรมคำนวณค่าอาหาร
Output Analysis แสดงผลจำนวนรายการอาหาร และราคา Input Analysis จำนวนรายการอาหารที่ผู้ซื้อเลือก Process Analysis โปรแกรมทำงานแบบวนรอบ เพื่อแสดงรายการอาหาร และรับข้อมูลรายการอาหารที่เลือก แล้วรวมผลของรายการแต่ละชนิด และราคารวม
9
Hint : โปรแกรมคำนวณค่าอาหาร (ต่อ)
Variable Define menu เป็นจำนวนเต็ม (integer) สำหรับรับรายการอาหาร m1,m2,m3,m4 เป็นจำนวนเต็ม (integer) สำหรับนับจำนวนรายการอาหาร money เป็นจำนวนทศนิยม (float) สำหรับเก็บจำนวนเงินรวม i เป็นจำนวนเต็ม (integer) เพื่อควบคุมการเว้นบรรทัด
10
Outline 1 Problem Reviews 2 Objectives 3 Basic Flowchart 4 5
Examples 5 Assignments
11
Objectives เพื่อให้นิสิตรู้และเข้าใจกระบวนการในการวิเคราะห์โจทย์ปัญหาอันเป็นพื้นฐานในการประมวลผลเบื้องต้นของภาษาคอมพิวเตอร์ การวิเคราะห์โจทย์ปัญหา การอธิบายกระบวนการทำงาน การเขียนรหัสเทียม การเขียนผังงาน เพื่อเตรียมความพร้อมให้นิสิตสามารถวิเคราะห์และแก้ปัญหาโจทย์ทางด้านวิศวกรรมคอมพิวเตอร์เบื้องต้นได้
12
Outline 1 Problem Reviews 2 Objectives 3 Basic Flowchart 4 5
Examples 5 Assignments
13
Flowchart ผังงาน คือ การเขียนอธิบายขั้นตอนวิธีการทำงานในลักษณะของรูปภาพ ประโยชน์ของผังงาน ใช้สำหรับช่วยในการพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา เนื่องจากผังงานเป็นการอธิบายขั้นตอนวิธีการทำงานในลักษณะของรูปภาพ ทำให้สามารถเห็นลำดับของขั้นตอนวิธีการทำงานได้ชัดเจนกว่าการอธิบายขั้นตอนวิธี การทำงานในลักษณะของข้อความ
14
การเริ่มต้นหรือสิ้นสุดการเขียนผังงาน
Flowchart Symbols (1) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย การเริ่มต้นหรือสิ้นสุดการเขียนผังงาน (Terminal) เริ่มต้นผังงาน จบผังงาน รับข้อมูลหรือแสดงข้อมูลโดยไม่ระบุสื่อ (Input/output) รับค่าใส่ในตัวแปรชื่อ name แสดงค่าจากตัวแปร area START STOP read name display area
15
การเปรียบเทียบหรือตัวสินใจ
Flowchart Symbols (2) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย การประมวลผล (Process) คำนวณ A + B และเก็บไว้ใน C กำหนดค่า sum เท่ากับ 0 การเปรียบเทียบหรือตัวสินใจ (Compare / Decision) เปรียบเทียบถ้า i มีค่า น้อยกว่าหรือเท่ากับ 10 - เป็นจริง พิมพ์ค่า i เสร็จแล้วไปทำคำสั่งอื่น ๆ - เป็นเท็จ ไปทำคำสั่งอื่น ๆ C = A + B Sum = 0 i <= 10 true false แสดง i
16
การแสดงผลลัพธ์ทางเครื่องพิมพ์
Flowchart Symbols (3) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย การแสดงผลลัพธ์ทางเครื่องพิมพ์ (Document) พิมพ์ค่า A ทาง เครื่องพิมพ์ การแสดงผลลัพธ์ทางจอภาพ (Display) แสดงค่า A, B บนจอภาพ print A display A , B
17
รับค่าทางการกดแป้นพิมพ์
Flowchart Symbols (4) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย หมายเหตุ (Comment) รับค่าทางการกดแป้นพิมพ์ (Manual Input) รับค่า A ทาง แป้นพิมพ์ read A A = Age read A
18
การกำหนดค่าต่างๆ ไว้ล่วงหน้า
Flowchart Symbols (5) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย การกำหนดค่าต่างๆ ไว้ล่วงหน้า (Preparation) กำหนดให้ i มีค่าเท่ากับ 1 และเพิ่มค่าทีละ 1 จนมีค่าเป็น 100 จึงออก จากการทำงานซ้ำ โดยแต่ละรอบ บวกค่า sum ด้วยค่า i แสดงทิศทางและลำดับของการทำงาน (Flow line) for i =1 to 100 sum = sum + i i
19
จุดต่อเนื่องในหน้าเดียวกัน
Flowchart Symbols (6) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย จุดต่อเนื่องในหน้าเดียวกัน (In-Page connector) หลังจากพิมพ์ค่า A แล้วให้ทำตามที่จุด ต่อเนื่อง A ซึ่งอยู่ใน หน้าเดียวกัน จุดต่อเนื่องที่อยู่คนละหน้า (Off-Page Connector) หลังจากกำหนดค่า A เท่ากับ 3 ให้ทำตาม จุดต่อเนื่องชื่อ 1 ซึ่ง ไม่ได้อยู่ในหน้า เดียวกัน write A A A = 3 1
20
การรับหรือแสดงข้อมูลโดยใช้บัตรเจาะรู
Flowchart Symbols (7) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย การรับหรือแสดงข้อมูลโดยใช้บัตรเจาะรู (Punch card) อ่านค่า A ที่บัตรเจาะรู 1 ใบ เจาะค่า B,C บนบัตร 1 ใบ ชุดของบัตรเจาะรู (Card Desk) เจาะค่า B1 , B2 , Bn บนบัตร n ใบ read A punch B , C punch bi b=1 , …n
21
การรับหรือแสดงข้อมูลโดยใช้เทปกระดาษ
Flowchart Symbols (8) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย การรับหรือแสดงข้อมูลโดยใช้เทปกระดาษ (Punched tape) อ่านค่า ID , name บนเทปกระดาษ การรับหรือแสดงข้อมูลโดยใช้เทปแม่เหล็กเป็นสื่อ (Magnatic tape) read ID , name
22
Flowchart Symbols (9) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย การรับหรือแสดงข้อมูลโดยใช้จานแม่เหล็กเป็นสื่อ (Magnatic disk) การรับหรือแสดงข้อมูลโดยใช้ดรัมแม่เหล็กเป็นสื่อ (Magnatic drum)
23
Flowchart Symbols (10) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย
การทำงานที่กำหนดไว้แล้ว เช่น โปรแกรมย่อย (Predefine Process) เรียกโปรแกรม ย่อยชื่อ findGrade ให้ทำงาน การควบคุมการทำงานด้วยมนุษย์ บางครั้งเรียกการทำงานแบบออฟไลน์ (Offline Processing) findGrade
24
Flowchart Symbols (11) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย
การทำงานแบบออฟไลน์ของอุปกรณ์ที่ไม่ได้ถูกควบคุมจากหน่วยประมวลผลกลางโดยตรง (Auxiliary Operation) การจัดเรียงลำดับข้อมูล (Sorting)
25
Flowchart Symbols (12) สัญลักษณ์ ความหมาย ตัวอย่างการใช้ คำอธิบาย
การส่งข้อมูลทางสายสื่อสาร (Communication Link)
26
Flowchart Handle(1) ทิศทางของผังงานจะเริ่มจากส่วนบนของหน้ากระดาษลงมายังส่วนล่าง และจากซ้ายมือไปของหน้ากระดาษ และควรเขียนเครื่องหมายลูกศรกำกับทิศทางไว้ด้วย บน START ทิศทางของเส้น read age age > 60 false true “You are old” ล่าง STOP
27
Flowchart Handle (2) สัญลักษณ์หรือภาพที่ใช้ในการเขียนผังงานมีขนาดต่างๆ กันได้ แต่จะต้องมีรูปมาตรฐานตามความหมายที่กำหนด START sum = 0 ขนาดของสัญลักษณ์ ปรับให้เหมาะสมกับข้อความในสัญลักษณ์ i = 1 to 10 sum = sum + i i sum STOP
28
Flowchart Handle(3) การเขียนทิศทางของผังงานควรเป็นไปอย่างมีระเบียบ และหลีกเลี่ยงการขีดโยงไปโยงมาในทิศทางตัดกัน ถ้าจำเป็นต้องโยงถึงกัน ควรใช้เครื่องหมายจุดต่อเนื่องแทนและถ้าเป็นไปได้ควรเขียนผังงานให้จบในหน้าเดียวกัน คำอธิบายในภาพ เขียนเพียงสั้น ๆ และเข้าใจง่าย ผังงานที่ดีควรจะมีความเป็นระเบียบเรียบร้อยและสะอาด นอกจากนี้แล้ว จะมีชื่อของผังงาน ผู้เขียน วันที่เขียน และเลขหน้าลำดับ
29
Outline 1 Problem Reviews 2 Objectives 3 Basic Flowchart 4 5
Examples 5 Assignments
30
Problem Analysis (1) ขั้นตอนของการวิเคราะห์ปัญหาสำหรับเตรียมการก่อนลงมือเขียนโปรแกรมคอมพิวเตอร์ มี 5 ขั้นตอนดังนี้ การทำความเข้าใจกับปัญหา (State the problem clearly) การพิจารณาลักษณะของข้อมูลเข้าและข้อมูลออก(Describe the input and output) การทดลองแก้ไขปัญหาด้วยตนเอง (Work the problem by hand for a specific set of data)
31
Problem Analysis (2) การเขียนขั้นตอนวิธีการแก้ปัญหา (Develop an algorithm that is general in nature) เขียนลำดับขั้นตอนวิธีการทำงานทั้งหมดอย่างย่อ เขียนลำดับขั้นตอนวิธีการทำงานอย่างละเอียด วิธีการเขียนลำดับขั้นตอนวิธี Pseudo code เขียนขั้นตอนวิธีด้วยภาษาที่ใกล้เคียงภาษาคอมพิวเตอร์ Flowcharts เขียนขั้นตอนวิธีด้วยรูปภาพผังงาน การทดสอบขั้นตอนวิธีการแก้ปัญหา (Test the algorithm with a variety of data sets)
32
Problem Solving Process
วิเคราะห์โจทย์ (Problem Analysis) เขียนขั้นตอนการทำงานอย่างละเอียด (Process Description) เขียนรหัสเทียม (Pseudo Code) เขียนแผนภาพการไหลของข้อมูล (Flowchart) เขียนโค้ด (Coding)
33
กรณีศึกษาที่ 1: ขั้นตอนวิธีการแก้ปัญหาด้วยคอมพิวเตอร์
Example 1 กรณีศึกษาที่ 1: ขั้นตอนวิธีการแก้ปัญหาด้วยคอมพิวเตอร์ จงเขียนขั้นตอนวิธีการแก้ปัญหาสำหรับการหาปริมาตรทรงกระบอกโดยรับข้อมูลของความสูง และรัศมีของวงกลมที่เป็นฐานของทรงกระบอก จากนั้นแสดงค่าของปริมาตรทรงกระบอกที่คำนวณได้ r h ปริมาตรทรงกระบอก = ¶ x r2 x h
34
Example 1 (cont.) ขั้นตอนที่ 1 ทำความเข้าใจกับปัญหา การคำนวณหาปริมาตรของรูปทรงกระบอก ขั้นตอนที่ 2 ลักษณะของข้อมูลเข้าและข้อมูลออก ข้อมูลเข้า คือ ความสูงของทรงกระบอก และรัศมีของวงกลมที่เป็นฐานของทรงกระบอก ชนิดของข้อมูลเข้าความสูง และรัศมีของวงกลมที่เป็นฐานของทรงกระบอกเป็นข้อมูลชนิดตัวเลข ข้อมูลออก คือ ค่าของปริมาตรทรงกระบอก ชนิดของข้อมูลเป็นข้อมูลตัวเลขเป็นตัวเลขจำนวนเต็มหรือตัวเลขทศนิยมขึ้นอยู่กับวิธีการหาคำตอบ
35
Example 1 (cont.) ขั้นตอนที่ 3 ทดลองแก้ไขปัญหาด้วยตนเอง การคำนวณหาปริมาตรทรงกระบอก หาได้จากสูตร ปริมาตรทรงกระบอก = ¶ x รัศมียกกำลัง 2 x ความสูง ถ้า รัศมีของฐาน = 5 เมตร และความสูง = 12 เมตร ปริมาตรทรงกระบอก = x 52 (m2 ) x 12 (m) = m3
36
ขั้นตอนที่ 4 การพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา
Example 1 (cont.) ขั้นตอนที่ 4 การพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา เขียนอธิบายขั้นตอนวิธีการทำงานทั้งหมดอย่างย่อ 1. เริ่มต้น 2. รับค่าความสูง และรัศมีของฐานทรงกระบอก 3. คำนวณค่าปริมาตรทรงกระบอก ¶ * รัศมีของฐาน2 * ความสูง 4. แสดงค่าของปริมาตรทรงกระบอก 5. จบการทำงาน เขียนอธิบายขั้นตอนวิธีการทำงานอย่างละเอียด การคำนวณหาปริมาตรของทรงกระบอก การแก้ปัญหาไม่ได้ซับซ้อนมาก สามารถอธิบายแบบอย่างย่อและได้ครบทุกขั้นตอน
37
ขั้นตอนที่ 4 การพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา
Example 1 (cont.) ขั้นตอนที่ 4 การพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา รหัสเทียม (Pseudo Code) Begin Read High, Radius (เครื่องคอมพิวเตอร์จะรอรับข้อมูล 2 ค่า คือ ความสูงและรัศมีของฐาน) Volume = * Radius2 * High (คำนวณหาค่าปริมาตรตามสูตรและเก็บผลลัพธ์ไว้) Write Volume (แสดงผลลัพธ์ของปริมาตรทรงกระบอกที่ได้) End
38
Volume <- 3.14159 * Radius2 * High
Example 1 (cont.) ขั้นตอนที่ 4 การพัฒนาลำดับขั้นตอนวิธีการแก้ปัญหา ผังงาน (Flowchart) Start Input High, Radius Volume < * Radius2 * High Output Volume End
39
Example 2 โจทย์ จงเขียนผังงาน และโปรแกรมคำนวณหาพื้นที่วงกลม Output Analysis ผลลัพธ์ที่ต้องการ คือ พื้นที่ของวงกลม Input Analysis การคำนวณหาพื้นที่วงกลม จำเป็นต้องทราบขนาดของรัศมี (หรือเส้นผ่านศูนย์กลาง)
40
Example 2 (cont.) Process Analysis 1. รอรับค่ารัศมี (หรือเส้นผ่านศูนย์กลาง) จากผู้ใช้งาน 2. คำนวณหาพื้นที่วงกลมจากสูตร 3. แสดงผลค่าพื้นที่วงกลมออกทางหน้าจอ Variable Define radius : เป็นตัวแปรชนิดจำนวนทศนิยม (float) สำหรับรับค่ารัศมี pi : เป็นตัวแปรชนิดจำนวนทศนิยม (float) สำหรับเก็บค่า area : เป็นตัวแปรชนิดจำนวนทศนิยม (float) สำหรับเก็บค่าพื้นที่
41
What is process description ?
42
What is pseudo code ? ?
43
Example 2 (cont.) float radius, pi, area; pi=22.0/7; // pi = 3.14;
printf ("Enter Radius of Circular : "); scanf ("%f",&radius); area = pi * radius * radius; printf ("Area of Circular : %f",area);
44
if Condition Control Statement (1)
True False if (Boolean expression) statement; if (expression) statement; if (Condition) statement;
45
if Condition Control Statement (2)
True False Statement-2; if (Boolean expression) { statement-1; statement-2; ... statement-n; }
46
if Condition Control Statement (3)
IF (Condition) THEN BEGIN Statement 1 ; Statement 2 ; END;
47
if Condition Control Statement (4)
ในการเปรียบเทียบเงื่อนไขแบบ IF – THEN นิยมให้ทำงานตามคำสั่งเมื่อเงื่อนไขมีค่าเป็นจริง ไม่นิยมให้ทำงามตามคำสั่งเป็นเท็จ Condition Statement-1; Statement T F Statement-2; Condition Statement-1; 1 Statement-2; Statement;
48
if and Boolean Expression Condition
int a = 5 ; int b = 4 ; if (a > b) { statement 1; statement 2; statement n; } printf(); a > b True False statement 1; statement 2; statement 3;
49
Example 3 จงเขียนผังงานและโปรแกรมรับชื่อนามสกุล รหัสนักศึกษา คะแนนสอบรวม และคะแนนเต็ม หากนักศึกษาสอบได้มากกว่า 60% ให้แสดงผลชื่อ นามสกุล รหัสนักศึกษา คะแนน และผลสอบว่าผ่าน Input Analysis ชื่อ / นามสกุล / รหัสนักศึกษา / คะแนนสอบ / คะแนนเต็ม Output Analysis แสดงผลชื่อ-สกุล รหัสนักศึกษา คะแนนสอบ ผลสอบ Process Analysis โปรแกรมรอรับชื่อ / นามสกุล / รหัสนักศึกษา / คะแนนสอบ / คะแนนเต็ม ตรวจสอบว่าคะแนนมากกว่าหรือเท่ากับ 60 % หรือไม่ ถ้าจริง แสดงผลชื่อ-สกุล รหัสนักศึกษา คะแนน และแสดงว่าสอบผ่าน
50
Example 3 (cont.) Variable Define
first : ตัวแปรชนิดข้อความสำหรับเก็บชื่อขนาด 20 last : ตัวแปรชนิดข้อความสำหรับเก็บนามสกุลขนาด 20 id : ตัวแปรชนิดข้อความสำหรับเก็บรหัสนักศึกษาขนาด 9 point : ตัวแปรชนิดจำนวนทศนิยมสำหรับเก็บคะแนนรวม full : ตัวแปรชนิดจำนวนทศนิยมสำหรับเก็บคะแนนเต็ม
51
Process Description 4. แสดงผล คะแนนสอบและคะแนนเต็ม 6. จบการทำงาน
1. เริ่มต้นการทำงาน 2. รับค่า ชื่อ / นามสกุล / รหัสนักศึกษา / คะแนนสอบ / คะแนนเต็ม 3. แสดงผล ชื่อ / นามสกุล / รหัสนักศึกษา 4. แสดงผล คะแนนสอบและคะแนนเต็ม 5. ตัดสินใจเพื่อทำคำสั่งควบคุมการทำงานแบบมีเงื่อนไข โดยถ้านักศึกษาสอบได้มากกว่า 60% แล้วให้แสดง ชื่อ / นามสกุล / รหัสนักศึกษา / คะแนนสอบ และผลสอบ 6. จบการทำงาน
52
Pseudo Code 4. Show Point / Full Point
1. Begin 2. Read Name / Surname / ID / Point / Full Point 3. Show Name / Surname / ID 4. Show Point / Full Point 5. if (Point > = 60 %) Show Name / Surname / ID / Point / Passed 6. End
53
Flowchart START first, last, id, point/full >= 0.6 point, full
1 START point/full >= 0.6 first, last, id, point, full False first, last, id True "passed" point, full 1 END
54
Example 7 of Process Description (cont.)
Example 2 : จงเขียนผังงานและโปรแกรม เพื่อรับจำนวนนักศึกษาในห้อง หลังจากนั้น ให้โปรแกรมรอรับส่วนสูงของคน n คน แล้ววิเคราะห์ว่ามีนักศึกษาในห้องมีส่วนสูงช่วงต่างๆ จำนวนกี่คน แล้วคำนวณส่วนสูงเฉลี่ย แล้วแสดงผลส่วนสูงของนักศึกษาทั้งหมด 0 – 160 161 – 170 171 – 180
55
Problem Analysis Output Analysis จำนวนนักศึกษาที่สูงแต่ละช่วง
ส่วนสูงของนักศึกษาเฉลี่ยในห้อง ส่วนสูงของนักศึกษาทั้งหมด Input Analysis จำนวนนักศึกษาทั้งหมด และส่วนสูงของแต่ละคน Process Analysis โปรแกรมรับจำนวนนักศึกษา วนรอบเพื่อรับส่วนสูงเท่ากับจำนวนนักศึกษา วนรอบเพื่อตรวจสอบช่วงส่วนสูงของนักศึกษาและหาผลรวมส่วนสูงของนักศึกษาทุกคน คำนวณหาค่าเฉลี่ย
56
Problem Analysis Variable Define
num เป็นจำนวนเต็ม (integer) เพื่อเก็บจำนวนนักศึกษา a เป็นจำนวนเต็ม (integer) เพื่อตรวจตำแหน่งตัวแปร และนับรอบ range1=0, range2=0, range3=0, range4=0 เป็นจำนวนเต็ม (integer) สำหรับเก็บค่าจำนวนนักศึกษาแต่ละช่วง high[300] เป็นตัวแปรแถว (array) ลำดับชนิดทศนิยมเพื่อเก็บส่วนสูง avg = 0 เป็นจำนวนทศนิยม (float) เพื่อเก็บค่าผลรวมและค่าเฉลี่ย
57
Process Description เริ่มต้นทำงาน ทำการรับจำนวนนักศึกษา
วนรอบเท่ากับจำนวนนักศึกษาที่ป้อนเข้ามาเพื่อรับส่วนสูงของนักศึกษาแต่ละคน วนรอบเพื่อตรวจสอบจำนวนของนักศึกษาที่มีความสูงตรงกับแต่ละช่วงความสูงและหาค่าผลรวมความสูงของนักศึกษาทั้งหมด หาค่าเฉลี่ยความสูง จบการทำงาน
58
Pseudo Code Begin Read amount of students Repeat {
Read each height of student Check and increase amount of each range Calculate the summation of height } Calculate the average height End
59
What is flowchart ? ?
60
Outline 1 Problem Reviews 2 Objectives 3 Basic Flowchart 4 5
Examples 5 Assignments
61
Assignments จงวิเคราะห์โปรแกรม อธิบายขั้นตอนการทำงาน เขียนรหัสเทียม และผังงาน เพื่อแสดงสูตรคูณแม่ 2 จงวิเคราะห์โปรแกรม อธิบายขั้นตอนการทำงาน เขียนรหัสเทียม และผังงาน เพื่อรับอักษรตัวเล็กมา 20 ตัว แล้วตรวจสอบว่ามีอักษรที่เป็นสระกี่ตัว และไม่ใช่สระกี่ตัว จงวิเคราะห์โปรแกรม อธิบายขั้นตอนการทำงาน เขียนรหัสเทียม และผังงานของการจ่ายเงินของตู้ ATMโดยให้ผู้ใช้กรอกจำนวนเงินเข้ามาแล้วโปรแกรมจะตรวจสอบว่าถูกต้องหรือไม่โดยมีเงื่อนไขว่า ATM จะจ่ายเงินให้ไม่เกิน และต้องมากกว่า 100 ซึ่งโปรแกรมจะต้องคำนวณว่าต้องจ่ายเป็นธนบัตรมูลค่าต่างๆอย่างละจำนวนกี่ใบโดยกำหนดให้ในเครื่อง ATM มีธนบัตรมูลค่าต่างๆดังนี้ ธนบัตรใบละ 1000 ธนบัตรใบละ 500 ธนบัตรใบละ 100
62
Assignments (cont.) จงวิเคราะห์โปรแกรม อธิบายขั้นตอนการทำงาน เขียนรหัสเทียม และผังงาน เพื่อแสดงผลรูปสี่เหลี่ยมขนาด n x n โดยโปรแกรมจะรอรับจำนวนเต็มจากผู้ใช้งาน ดังตัวอย่าง Please enter number : 9 Output ********* * * * * Please enter number : 4 Output **** * *
63
Assignments (cont.) จงวิเคราะห์โปรแกรม อธิบายขั้นตอนการทำงาน เขียนรหัสเทียม และผังงานของโปรแกรมเมนูรับรายการอาหารจากลูกค้าเพื่อคำนวณราคาอาหารทั้งหมด โดยกำหนดให้โปรแกรมมีรายการดังนี้ 1. Pizza 150 ฿ 2. Hamburger 50 ฿ 3. Sandwich 25 ฿ 4. Water 10 ฿ 0. Calculate money โดยทุกครั้งที่เลือกเมนูรายการอาหารจะแสดงจำนวนอาหารที่สั่งไปแล้วด้วย
64
Assignments (cont.) ตัวอย่างการรันโปรแกรม เลือก 1 เพื่อสั่ง Pizza
แสดงจำนวนของ และราคา รอรายการ เลือก 2 เพื่อสั่ง Hamburger เพิ่ม
65
Assignments (cont.) แสดงจำนวนของ และราคา รอรายการ
เลือก 4 เพื่อสั่ง Water แสดงจำนวนของ และราคา รอรายการ เลือก 2 เพื่อสั่ง Hamburger เพิ่ม
66
Assignments (cont.) แสดงจำนวนของ และราคา รอรายการ
เลือก 0 เพื่อจบรายรายและสรุปจำนวนเงิน
งานนำเสนอที่คล้ายกัน
© 2024 SlidePlayer.in.th Inc.
All rights reserved.