1 / 22

บทที่ 11

บทที่ 11. การเขียนโปรแกรมแบบ Structured Programming และการจัดการตรวจสอบข้อผิดพลาด. การเขียนโปรแกรมแบบ StructuredProgramming. คือการเขียนโปรแกรมอย่างมีแบบแผน และมีกรรมวิธีการคิดวางแผนการเขียนที่ดี ซึ่งจะต้องมีการคิดแบบทีละขั้นตอน แนวทางในการคิดมีหลายอย่างเช่น Divide & Conquer

Download Presentation

บทที่ 11

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 11 การเขียนโปรแกรมแบบ Structured Programming และการจัดการตรวจสอบข้อผิดพลาด

  2. การเขียนโปรแกรมแบบ StructuredProgramming คือการเขียนโปรแกรมอย่างมีแบบแผน และมีกรรมวิธีการคิดวางแผนการเขียนที่ดี ซึ่งจะต้องมีการคิดแบบทีละขั้นตอน แนวทางในการคิดมีหลายอย่างเช่น • Divide & Conquer • Stepwise Refinement • Coupling

  3. Divide & Conquer เป็นกรรมวิธี แตกโปรแกรมใหญ่เป็นโปรแกรมย่อย เช่น โปรแกรมการตรวจสอบอายุของผู้ใช้ สามารถแตกการทำงานเป็นส่วนๆดังนี้ • ส่วนของการรับข้อมูลอายุ • ส่วนของการตรวจสอบข้อมูลอายุ • ส่วนของการแสดงผลลัพธ์

  4. Stewise Refinement แตกแต่ละขั้นตอนที่แตกลงไปนั้นให้เพิ่มรายละเอียดปลีกย่อยจนครบถ้วน เช่น เขียนโปรแกรมคำนวณหาค่า Root ของสมการ ax2+bx+c =0 จะมีขั้นตอนดังนี้ • รับค่า a,b,c • ตรวจสอบว่ามี Root จริงหรือไม่ • ถ้ามี Root ให้คำนวณ Root โดยใช้สูตร • root1 = (-b+sqr(b^2-4ac) • root2 = (-b-sqr(b^2-4ac) • พิมพ์ค่า a,b,c,root1,root2

  5. Coupling การเขียนโปรแกรมย่อย Standard Subroutine Procedure ให้ใช้แบบ Sub ชื่อ Procedure ([argument]) ……………… End sub การเขียนโปรแกรมด้วย Standard Function Procedure ให้ใช้แบบ Function ชื่อ Function ([argument])[as ชนิดข้อมูล] ………….. End Function

  6. สรุปชนิดของข้อผิดพลาดที่เกิดขึ้นในโปรแกรม Visual Basic แบ่งได้ทั้งหมด 3 ชนิดดังนี้ • Syntax Error • Runtime Error • Logical Error

  7. Syntax Errors • เกิดจากการที่เราเขียนโค้ดไม่สอดคล้อง หรือไม่ถูกหลักเกณฑ์ไวยากรณ์ภาษาVisual Basic เช่น Private Sub Command1_Click() Dim strCurrency As String strCurrency = Format(1000.25, #,##0.00) Print strCurrency End Sub เมื่อรันซับโพรซีเยอร์นี้ VB จะตรวจพบข้อผิดพลาด พร้อมทั้งแจ้ง Message Box บอกข้อผิดพลาดดังรูป

  8. Syntax Errors เนื่องจากไม่มีเครื่องหมาย ““

  9. Syntax Errors • เช่น If I = 0 I = I+1 End if จะเห็นว่าขาดคำว่า Then ทำให้ Error

  10. Runtime Error ข้อผิดพลาดชนิดนี้ เป็นข้อผิดพลาดที่ตรวจสอบยากกว่า Syntax Errors เพราะต้อง รันโปรแกรมแล้ว จึงจะรู้ว่าเกิดข้อผิดพลาด อย่างเช่น ในกรณีที่เรามีการหารด้วยตัวเลข 0 เมื่อโปรแกรมรันมาถึงบรรทัดนี้จะเกิด Error พร้อมกับแจ้งว่า มีข้อผิดพลาดที่บรรทัดนี้ เป็นต้น ตัวอย่างเช่น Private Sub Command1_Click() Dim x As Integer, y As Integer x = 100 y = x / 0 MsgBox "ค่า y เท่ากับ" & y, vbInformation, "ค่า y" End Sub

  11. Runtime Error เมื่อรันซับโพรซีเยอร์นี้ Visual Basic จะตรวจพบข้อผิดพลาด พร้อมทั้งแจ้ง Message Box บอกข้อผิดพลาดด้วย ดังรูป

  12. Logical Error ข้อผิดพลาดนี้ คือลักษณะผลลัพธ์ที่ไม่ถูกต้องเวลามีการคำนวณหรือประมวลนั่นเอง สาเหตุที่เกิดขึ้นอาจมาจากตัวผู้เขียนโปรแกรมโดยตรง คือ ผู้เขียนโปรแกรมมีความเข้าใจผิดพลาดแล้วเขียนโปรแกรมตามความเข้าใจที่ผิดนั้น ข้อผิดพลาดชนิดนี้เป็นข้อผิดพลาดที่ตรวจพบได้ยากที่สุดเนื่องจากโปรแกรม Visual Basic ไม่สามารถตรวจพบข้อผิดพลาดได้นั่นเอง ดังตัวอย่างเช่น

  13. Logical Error Private Sub Command1_Click() If Len(txtSource.Text) = 0 Then MsgBox "ข้อความที่ส่งมาคือ" & txtSource.Text Else MsgBox "กรุณากรอกข้อความด้วย" End If End Sub

  14. การตรวจสอบและแก้ไขข้อผิดพลาด (Error Object and Debug Tools) • Auto Syntax Check เป็นการกำหนดให้ Editor ตรวจสอบหาข้อผิดพลาดทางด้าน Syntax ทุกครั้ง • Require Variable Declaration เป็นการกำหนดให้ Editor ตรวจหาว่าตัวแปรใดในโปรแกรมที่ไม่ได้ Declare ไว้ • Auto List Members เป็นการกำหนดให้ Editor แสดง Property หรือ Method ที่เกี่ยวข้องกับประโยคคำสั่งที่เรากำลังพิมพ์บนจอภาพในรูปของ Dropdown ListBox ดังรูป

  15. การตรวจสอบและแก้ไขข้อผิดพลาด (Error Object and Debug Tools)

  16. การตรวจสอบและแก้ไขข้อผิดพลาด (Error Object and Debug Tools) 4. Auto Quick Info เป็นการกำหนดให้ Editor แสดง Pop-Up Box ซึ่งเป็น กรอบสี่เหลี่ยมเล็กใต้ประโยคคำสั่งที่เรากำลังพิมพ์บนจอภาพเพื่อแสดงถึง รูปแบบของฟังก์ชั่นนั้นๆ ดังรูป

  17. คำสั่งสำหรับจัดการกับข้อผิดพลาดคำสั่งสำหรับจัดการกับข้อผิดพลาด 1. On Error Goto Label : คำสั่งนี้จะคอยตรวจจับ Error ที่เกิดขึ้นในขณะ Runtime เมื่อเกิด Error จะกระโดยไปทำงานที่ Label ที่กำหนด โดย Label คือข้อความทีมีเครื่องหมาย “: ” ต่อท้าย เช่น ใน ภาษา Visual Basic มีคำสั่งพิเศษสำหรับจัดการกับ Error ที่เกิดขึ้นขณะ Runtime 3 แบบ คือ

  18. ตัวอย่างโปรแกรมรับตัวเลขเท่านั้นตัวอย่างโปรแกรมรับตัวเลขเท่านั้น Private Sub Command1_Click() Dim sum As Integer sum = InputBox(“กรุณาใส่ตัวเลขจำนวนเต็มด้วย “, “รับข้อมูล “) MsgBox sum End Sub

  19. เมื่อ Run โปรแกรมทดลองใส่ตัวเลขและตัวอักษร การป้อนข้อมูลที่เป็นตัวเลขที่มีจำนวนมากกว่าขอบเขตของ Integer หรือมีทศนิยม การป้อนข้อมูลที่เป็นตัวอักษร

  20. คำสั่งสำหรับจัดการกับข้อผิดพลาดคำสั่งสำหรับจัดการกับข้อผิดพลาด Private Sub Command1_Click() On Error GoTo ErrTrap Dim sum As Integer sum = InputBox(“กรุณาใส่ตัวเลขจำนวนเต็มด้วย “, “รับข้อมูล “) MsgBox sum MsgBox sum ErrTrap: Exit Sub End Sub เมื่อ Run โปรแกรมทดลองใส่ตัวอักษรจะจบจากคำสั่ง Command1_Click( ) ไม่ Error

  21. คำสั่งสำหรับจัดการกับข้อผิดพลาดคำสั่งสำหรับจัดการกับข้อผิดพลาด 2. On Error Resume Next : คำสั่งนี้จะไม่สนใจ Error ที่เกิดขึ้น ถ้าเกิด Error จะทำงานต่อไปทันทีโดยไม่มีการฟ้อง Error ขึ้น เช่น Private Sub Command1_Click() On Error Resume Next Dim sum As Integer sum = InputBox(“กรุณาใส่ตัวเลขจำนวนเต็มด้วย“, “รับข้อมูล “) MsgBox sum MsgBox sum End Sub

  22. คำสั่งสำหรับจัดการกับข้อผิดพลาดคำสั่งสำหรับจัดการกับข้อผิดพลาด 3. On Error Goto 0 : คำสั่งนี้สำหรับยกเลิกคำสั่ง On Error ต่างๆ ที่เคยประกาศมา

More Related