บทที่ 2 ขั้นตอนการทำงาน (Algorithm)

Slides:



Advertisements
งานนำเสนอที่คล้ายกัน
Chapter 8 : Logic Modeling & Data Modeling
Advertisements

รายวิชา ง40206 โครงสร้างข้อมูลและขั้นตอนวิธี
การจำลองความคิด รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม
การทำงานแบบเลือกทำ (Selection)
ลักษณะโครงสร้างของผังงาน
LAB 1 ให้นักศึกษาเขียน Flowchart โดยใช้โปรแกรม Microsoft Word วาดรูป Flowchart ส่ง Flowchart ที่วาดเสร็จแล้วในชั่วโมง และ print ใส่กระดาษ ส่งในครั้งหน้า.
โครงสร้างควบคุมและคำสั่งแบบเงื่อนไข
เฉลย Lab 10 Loop.
วิชา การออกแบบและพัฒนาซอฟต์แวร์
Repetitive Statements (Looping)
Tower of Hanoi.
อัลกอริทึม และการแก้ปัญหาโจทย์ทางคอมพิวเตอร์
การเขียนผังงานแบบโครงสร้าง
Computer Architecture and Assembly Language
บทที่ 10 โครงสร้างควบคุม
การเขียนโปรแกรมภาษาซี
โครงสร้างแบบลำดับ คำสั่ง x คำสั่ง y.
การเขียนอัลกอริทึม แบบโฟลวชาร์ต
การเขียนผังงาน ผังงานคือ อะไร ?.
Control Statements.
2.3.1 รหัสเทียม (Pseudo code)
การออกแบบโครงสร้าง (Structured Design)
หลักการเขียนโปรแกรม ( )
หลักการเขียนโปรแกรม ( )
Introduction ธนวัฒน์ แซ่เอียบ.
บทที่ 6 พจนานุกรมข้อมูล และ คำอธิบายกระบวนการ
Flowchart การเขียนผังงาน.
การรับและแสดงผลข้อมูล (Input/Output)
20 May 2556 Problem Analysis and Algorithms in Programming.
Problem Analysis and Algorithm (การวิเคราะห์ปัญหา และการจำลองความคิด)
Chapter 05 Selection structure ผู้สอน อ. ยืนยง กันทะเนตร สาขาวิชาเทคโนโลยี คอมพิวเตอร์เคลื่อนที่ ng.
Problem Analysis and Algorithm in Programming (การวิเคราะห์ปัญหา และการจำลองความคิดในการเขียนโปรแกรมคอมฯ)
Introduction to Computer Organization and Architecture Flow of Control ภาษาเครื่อง สายงานของการ ควบคุม.
BC322 : Computer Programing (ครั้งที่ 1)
Microsoft Word 2007 อาจารย์ผู้สอน : 1. SECTION1: การปรับแต่งงาน เอกสารเบื้องต้น 1. เปิดไฟล์ section1.docx 2. ปรับ 2.
บทที่ 2 ขั้นตอนการ ทำงาน (Algorithm) รายวิชา สธ 113 การออกแบบโปรแกรมทางธุรกิจ เบื้องต้น อ. อภิพงศ์ ปิงยศ.
โครงสร้างภาษาซี C ++ structure
อัลกอริทึมและผังงาน อาจารย์สมเกียรติ ช่อเหมือน
หลักการและวิธีการแก้ปัญหาด้วยกระบวนการทางเทคโนโลยีสารสนเทศ
หลักการโปรแกรม อ.ธนากร อุยพานิชย์.
บทที่ 4 การเขียนรหัสเทียม (Pseudo Code)
Concept of Programing.
INC 161 , CPE 100 Computer Programming
การแสดงขั้นตอนวิธีด้วยรหัสเทียม (Pseudo-Code)
Computer Programming การเขียนโปรแกรมคอมพิวเตอร์
คำอธิบายรายวิชา การเขียนผังงาน รหัสเทียม ตรรกศาสตร์เบื้องต้น การเขียนโปรแกรมคอมพิวเตอร์แบบโครงสร้าง ชนิดตัวแปร ตัวดำเนินการทางตรรกะ ตัวดำเนินการเปรียบเทียบ.
ความรู้พื้นฐานการเขียนโปรแกรม
“หลักการแก้ปัญหา”.
บทที่ 4 ตัวแปร (Variables)
การออกแบบระบบ System Design.
Principles of Problem Solving and Basic Programming หลักการแก้ปัญหาและการเขียนโปรแกรมเบื้องต้น2(1-2-3) สัปดาห์ที่ 13 การเขียนรหัสเทียม (Pseudo Code)
การวัดอัลกอริทึม (Analysis of Algorithm)
ส่วนการทะเบียนทั่วไป สำนักบริหารการทะเบียน
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop) Part1
แนวทาง การจัดทำงบประมาณ ปี พ.ศ. 2562
Problem Solving ขั้นตอนวิธีและการแก้ปัญหาสำหรับวิทยาการคอมพิวเตอร์
การเขียนผังงาน (Flow Chart)
การเขียนโปรแกรมคอมพิวเตอร์
Lecture no. 1: Introduction to Computer and Programming
การเขียนซูโดโค้ด และการเขียนโฟลชาร์ต
บทที่ 7 การเขียนโปรแกรม แบบวนรอบทำซ้ำ (Loop) Part2
ประชุมผู้อำนวยการสำนักงานเขตพื้นที่การศึกษา ณ โรงแรมเอวาน่า บางนา กทม
ขั้นตอนการเขียนโปรแกรมคอมพิวเตอร์
ประเด็นการขับเคลื่อนองค์การไปสู่ระบบราชการ 4.0
ขั้นตอน ที่ 2 การวิเคราะห์ระบบ
การสร้างผังงานโปรแกรม
การวิเคราะห์โจทย์ปัญหา (Problem Analysis)
(Flowchart) ผังงาน.
อัลกอริทึม (Algorithm) ???
การยื่นข้อเสนอโครงการวิจัย
ใบสำเนางานนำเสนอ:

บทที่ 2 ขั้นตอนการทำงาน (Algorithm) รายวิชา สธ 113 การออกแบบโปรแกรมทาง ธุรกิจเบื้องต้น อ.อภิพงศ์ ปิงยศ

Overview ซูโดโค้ด (Psuedo-code) การเขียนผังงาน (Flowchart) รูปแบบการจัดภาพของผังงาน

บทนำ ก่อนที่จะลงมือเขียนโปรแกรมจริงๆนั้น การ ออกแบบเพื่อแสดงขั้นตอนการทำงานเอาไว้ก่อน เป็นสิ่งสำคัญอย่างมาก ทำให้การลงมือเขียน โปรแกรมทำได้ง่ายขึ้น และยังทำให้การกลับมา ศึกษาโปรแกรมภายหลังทำได้ง่ายขึ้นด้วย เราเรียกขั้นตอนการทำงานว่า “อัลกอริทึม” โดย อาจเขียนอัลกอริทึมในลักษณะของผังงาน (Flowchart) หรือรหัสจำลอง (Psuedo-codes) ก็ได้ ขึ้นอยู่กับความเหมาะสมและความถนัด

ซูโดโค้ด (Psuedo-codes) ซูโดโค้ดเป็นคำอธิบายขั้นตอนการทำงานของ โปรแกรม ใช้ถ้อยคำผสมระหว่างภาษาอังกฤษ (หรือภาษา อื่นๆ แต่ควรใช้ภาษาอังกฤษ) และภาษาการเขียน โปรแกรมแบบโครงสร้าง รูปแบบของซูโดโค้ด ปกติจะเป็นไปตามรูป ด้านล่าง Algorithm <ชื่อของอัลกอริทึม> Begin __________________________ … End กระบวนการทำงาน

รูปแบบที่นิยมในการเขียนซูโดโค้ด การรับข้อมูล ใช้ READ หรือ INPUT การแสดงผล ใช้ PRINT หรือ SHOW การคำนวณ ใช้ Compute เงื่อนไข ใช้ IF-THEN-ELSE และใช้ ENDIF ปิดท้ายเงื่อนไข หากมีตัวเลือกมากกว่าสองทาง ใช้ CASE และ ENDCASE การทำแบบวนซ้ำ ใช้ FOR – ENDFOR หรือ REPEAT-UNTIL หรือ WHILE-DO การกระโดดข้าม ใช้ LABEL และ GOTO

ตัวอย่างที่ 1 ซูโดโค้ดการคำนวณหาพื้นที่สามเหลี่ยม (ภาษาไทยและอังกฤษ) อัลกอริทึมการหาพื้นที่สามเหลี่ยม เริ่มต้น รับค่าความยาวของฐานมาเก็บไว้ในตัวแปรชื่อ base รับค่าส่วนสูงของสามเหลี่ยมมาเก็บในตัวแปรชื่อ height คำนวณพื้นที่สามเหลี่ยม area = (base x height)/2 แสดงผลพื้นที่สามเหลี่ยมที่คำนวณได้จากตัวแปร area จบ Algorithm: Calculate triangle area BEGIN READ base READ height Compute area = (base x height)/2 PRINT area END

ตัวอย่างที่ 2 ซูโดโค้ดในการบวกเลข 1+2+3+…+100 และแสดงผลลัพธ์ออกมา Algorithm: Calculate summation from 1 to 100 BEGIN 1. i = 0 2. sum = 0 3. WHILE (i<=100) DO 4. Compute sum = sum + i 5. Compute i = i + 1 6. ENDWHILE 7. PRINT sum END

การเขียนผังงาน (Flowchart) เป็นแผนภาพที่ใช้อธิบายการทำงานของ โปรแกรมโดยอาศัยรูปทรงต่างๆ ควบคู่ไปกับ ลูกศรแสดงทิศทางการทำงานจากขั้นตอนหนึ่งสู่ อีกขั้นตอนหนึ่ง ประโยชน์ของผังงาน ช่วยอธิบายลำดับขั้นตอนการทำงานของโปรแกรม ทำให้ตรวจสอบข้อผิดพลาดของโปรแกรมได้ง่าย ทำให้ผู้อื่นสามารถศึกษาการทำงานของโปรแกรม และแก้ไขโปรแกรมได้ง่าย

การเขียนผังงาน (Flowchart) [cont.] การเขียนผังงานที่ดี เขียนตามสัญลักษณ์ที่กำหนด ใช้ลูกศรแสดงทิศทางการทำงานจากบนลงล่าง ใช้คำอธิบายสั้นๆ เข้าใจง่าย ทุกแผนภาพต้องมีทิศทางเข้าหรือออก ไม่ควรเชื่อมโยงลูกศรไปไกลมากๆ ถ้าจำเป็นต้องทำ ให้ใช้สัญลักษณ์การเชื่อมต่อแทน

สัญลักษณ์ที่ใช้ในการเขียนผังงาน ความหมาย การเริ่มต้นและการสิ้นสุดการทำงานของโปรแกรม ลูกศรแสดงทิศทางการทำงานของโปรแกรม การประมวลผล การคำนวณ (Process) การทำงานย่อย (Subprocess)

สัญลักษณ์ที่ใช้ในการเขียนผังงาน [cont.] ความหมาย การรับหรือแสดงผลข้อมูล (Input/Output) โดยไม่จำกัดอุปกรณ์ การตรวจสอบเงื่อนไขเพื่อเลือกทำอย่างใดอย่างหนึ่ง มีลูกศรพุ่งออกมากกว่า 1 ลูกศรเสมอ แสดง Output เป็นรูปแบบเอกสาร จุดเชื่อมต่อผังงาน (Connector) หรือใช้เป็นจุดเชื่อมต่อเริ่มต้นในหน้าใหม่ (On-page Connector) จุดเชื่อมต่อเพื่อขึ้นหน้าถัดไป (Off-page Connector)

เครื่องมือที่ใช้เขียน Flowchart https://www.draw.io/ 1 2 3

ตัวอย่างที่ 3 ผังงานในการจับไม้สั้นไม้ยาวสามครั้ง ถ้าจับได้ไม้ยาว ได้เงิน 100 บาท จับได้ไม้สั้นเสียเงิน 100 บาท

ตัวอย่างที่ 4 ผังงานการนำคะแนนของนักศึกษามาตัดเกรด

Lab01: จงเขียนซูโดโค้ดและผังงานของโปรแกรมต่อไปนี้โดยละเอียดและถูกต้องตามหลักการ 1) รับค่ารัศมีของวงกลมจากผู้ใช้ เพื่อคำนวณหา พื้นที่และความยาวเส้นรอบวงของวงกลม 2) รับข้อมูลตัวเลขจำนวน 10 ค่าจากผู้ใช้ แล้ว คำนวณหาค่าเฉลี่ย 3) เขียนขั้นตอนการต้มไข่ในความสุกระดับต่างๆ ดังเว็บไซต์ คลิกเพื่อดู โดยเริ่ม เขียนตั้งแต่ขั้นตอนการต้ม ไปจนถึงขั้นตอนการ แกะเปลือกไข่แล้วเสิร์ฟให้ลูกค้า โดยกำหนดให้ ระบบมีการสอบถามลูกค้าก่อนว่าต้องการไข่ต้มใน ความสุกระดับใด

Lab01: คำอธิบายเพิ่มเติม สร้าง Flowchart ด้วยโปรแกรม draw.io แล้ว เซฟไฟล์เป็นรูปแบบ JPEG เขียนซูโดโค้ดและแทรก Flowchart ในแต่ละข้อ ด้วยโปรแกรม MS Word ตั้งหัวกระดาษเป็น ชื่อ-นามสกุล รหัสนศ. ตั้งชื่อไฟล์เป็น “BS113 Lab01 รหัสนศ. Algorithm” พร้อมเซฟไฟล์เป็นรูปแบบ PDF ส่งงานในรูปแบบ PDF มาที่ apipong.ping@gmail.com โดยตั้งชื่อหัวเรื่อง เช่นเดียวกับชื่อไฟล์ กำหนดส่งงานวันสุดท้ายคือก่อนเรียนภาคปฏิบัติ ในสัปดาห์ถัดไป