25
การเขียนโปรแกรมพื้นฐาน 1 1 บทที1 Algorithm และ Flow Chart คําวา อัลกอริทึม มีที่มาจากชื่อของนักคณิตศาสตร ชาวเปอรเซีย ในยุคศตวรรษที9 อะบู อับดิลลาหฺ บิน มูซา อัลคอวาริซมีย (Abu Abdullah Muhammad bin Musa al-Khawarizmi) คําวา al-Khawarizmi ไดเพี้ยนเปน Algoritmi เมื่องานเขียนของ เขาไดรับการแปลเปนภาษาละติน แลวกลายเปน Algorithm อัลกอริซึม ซึ่งใช หมายถึงกฎที่ใชในการคิดคํานวณเลขคณิต และไดกลายมาเปนคํา อัลกอริทึม ในชวงศตวรรษที18. ในปจจุบัน คํานี้ไดมีความหมายที่กวางขึ้น หมายรวมถึง ขั้นตอนวิธีการในการแกปญหาตาง อัลกอริทึมแรกสําหรับคอมพิวเตอรนั้น เขียนขึ้นในป .. 1842 โดย เอดา ไบรอน ใน notes on the analytical engine ทําใหถือกันวา เอดาเปนนักพัฒนาโปรแกรมหรือโปรแกรมเมอร คนแรกของโลก แตเนื่องจาก ชารลส แบบเบจ ไมไดสราง analytical engine จนเสร็จ อัลกอริทึมของเอดานั้นจึงไมไดมีการใชจริง ถึงแมวาอัลกอริทึมนั้นเปน ขั้นตอนวิธี การแกปญหา ที่ถูกระบุไวอยางชัดเจน แตก็ขาดรูปแบบการวิเคราะห ในรูปแบบจําลองทางคณิตศาสตรที่ชัดเจน ปญหาในทางอัลกอริทึมนี้โดยสวนมากจึงมักจะถูกวิเคราะหโดยใช เครื่องจักรทัวริง ซึ่งเปนแบบจําลองนามธรรมของคอมพิวเตอร คิดคนขึ้นโดย แอลัน ทัวริง ซึ่งเปนเครื่องจักรที่ใชใน การจําลองการทํางานของอัลกอริทึมใด Algorithm หมายถึง วิธีการหรือกระบวนการทํางานใดงานหนึ่งที่สามารถแบงขั้นตอนออกเปนยอย ทีแนนอน ซึ่งเมื่อเราทราบขั้นตอนการทํางานที่แนนอนแลวเราจะนํา Algorithm ที่ไดนั้นมาวาดเปน Flow Chart หรือ แผนภาพการทํางานของโปรแกรม จากนั้นจึงทําการแปลง Flow Chart ที่ไดใหเปนภาษาคอมพิวเตอรที่เครื่อง คอมพิวเตอรเขาใจ ดังนั้น Flow Chart เปรียบเสมือนเครื่องมือที ่ทําใหผูเขียนโปรแกรมและผูใช สามารถมองเห็นภาพ การทํางานของโปรแกรมที่กําลังจะสรางขึ้น ซึ่งมีความสําคัญอยางมากในการแปลงความตองการของผูใชใหเปน ขั้นตอนยอย ที่เราจะตองบอกใหคอมพิวเตอรทํางาน คําวา Algorithm ในทางคณิตศาสตรจะหมายถึงขั้นตอนหรือ วิธีการคํานวณ สําหรับในการเขียนโปรแกรมคอมพิวเตอร Algorithmจะหมายถึงวิธีการที่ไดแบงออกเปนขั้นตอน ยอย ที่มีการทํางานลองพิจารณา Algorithm ของการคํานวณกําไรจากตัวอยางตอไปนีตัวอยางที1 Algorithm ของการหาผลกําไรของสินคา ความตองการของผูใชและความคิดของโปรแกรมเมอร คือ ตองการเขียนโปรแกรมเพื่อคํานวณหากําไรของสินคา ขั้นตอนที1 รับขอมูลเลขที่สินคา ขั้นตอนที2 คนหาขอมูลคาตัวแปรตาง ที่ตองใชจากระบบฐานขอมูลเชน ตนทุนคงที่ของสินคา (Fix Cost), ตนทุนผันแปร (Variable Cost), ยอดขาย (Revenue), กําไร (Profit), จํานวนสินคาที่ขายได (Volume) ขั้นตอนที3 หาตนทุนของสินคา จาก Cost = Fix Cost + Variable Cost ขั้นตอนที4 หายอดขายสินคาจาก Revenue = Price + Volume ขั้นตอนที5 คํานวณหากําไรจาก Profit = Revenue – Cost ขั้นตอนที6 แสดงผลกําไรใหผูใชโปรแกรมทราบ

Algorithm flow chart

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 1บทที่ 1 Algorithm และ Flow Chart

ขั้นต

analyชารล

ในรูปเครื่อการจ

แนนแผนคอมการทขั้นตวิธีกายอย ตัวอความขั้นตขั้นต

ขั้นตขั้นตขั้นตขั้นต

คําวา อัลกอริทึม มีที่มาจากชื่อของนักคณติศาสตรชาวเปอรเซียในยุคศตวรรษที่ 9 อะบู อับดิลลาหฺ บิน มูซา อัลคอวาริซมีย (Abu Abdullah Muhammad bin Musa al-Khawarizmi) คําวา al-Khawarizmi ไดเพี้ยนเปน Algoritmi เมื่องานเขียนของเขาไดรับการแปลเปนภาษาละติน แลวกลายเปน Algorithm อัลกอริซึม ซ่ึงใชหมายถึงกฎทีใ่ชในการคิดคํานวณเลขคณิต และไดกลายมาเปนคํา อัลกอริทึม ในชวงศตวรรษที่ 18. ในปจจุบัน คํานี้ไดมคีวามหมายที่กวางขึ้น หมายรวมถึง

อนวิธีการในการแกปญหาตาง ๆ

อัลกอริทึมแรกสําหรับคอมพิวเตอรนัน้ เขยีนขึ้นในป ค.ศ. 1842 โดย เอดา ไบรอน ใน notes on the tical engine ทําใหถือกันวา เอดาเปนนักพัฒนาโปรแกรมหรือโปรแกรมเมอรคนแรกของโลก แตเนื่องจาก ส แบบเบจ ไมไดสราง analytical engine จนเสร็จ อัลกอริทึมของเอดานั้นจึงไมไดมีการใชจริง

ถึงแมวาอัลกอริทึมนั้นเปน ขั้นตอนวิธี การแกปญหา ทีถู่กระบุไวอยางชัดเจน แตกข็าดรูปแบบการวิเคราะหแบบจําลองทางคณิตศาสตรที่ชัดเจน ปญหาในทางอัลกอริทึมนี้โดยสวนมากจึงมักจะถูกวิเคราะหโดยใช งจักรทัวริง ซ่ึงเปนแบบจําลองนามธรรมของคอมพิวเตอร คิดคนขึ้นโดย แอลัน ทัวริง ซ่ึงเปนเครื่องจักรทีใ่ชในําลองการทํางานของอัลกอริทึมใด ๆ

Algorithm หมายถึง วิธีการหรือกระบวนการทํางานใดงานหนึ่งที่สามารถแบงขั้นตอนออกเปนยอย ๆ ที่อน ซ่ึงเมือ่เราทราบขั้นตอนการทํางานที่แนนอนแลวเราจะนํา Algorithm ที่ไดนั้นมาวาดเปน Flow Chart หรือ ภาพการทํางานของโปรแกรม จากนั้นจึงทําการแปลง Flow Chart ที่ไดใหเปนภาษาคอมพิวเตอรทีเ่ครื่องพิวเตอรเขาใจ ดังนั้น Flow Chart เปรยีบเสมือนเครือ่งมือที่ทําใหผูเขียนโปรแกรมและผูใช สามารถมองเห็นภาพํางานของโปรแกรมที่กาํลังจะสรางขึ้น ซ่ึงมีความสําคัญอยางมากในการแปลงความตองการของผูใชใหเปนอนยอย ๆ ที่เราจะตองบอกใหคอมพวิเตอรทํางาน คําวา Algorithm ในทางคณิตศาสตรจะหมายถึงขั้นตอนหรือรคํานวณ สําหรับในการเขียนโปรแกรมคอมพิวเตอร Algorithmจะหมายถึงวธีิการที่ไดแบงออกเปนขั้นตอนๆ ที่มีการทํางานลองพิจารณา Algorithm ของการคํานวณกําไรจากตัวอยางตอไปนี้ ยางที่ 1 Algorithm ของการหาผลกําไรของสินคา ตองการของผูใชและความคิดของโปรแกรมเมอร คือ ตองการเขียนโปรแกรมเพือ่คํานวณหากาํไรของสินคา อนที่ 1 รับขอมูลเลขที่สินคา อนที่ 2 คนหาขอมูลคาตัวแปรตาง ๆ ที่ตองใชจากระบบฐานขอมลูเชน ตนทุนคงที่ของสินคา (Fix Cost),

ตนทุนผันแปร (Variable Cost), ยอดขาย (Revenue), กําไร (Profit), จํานวนสินคาที่ขายได (Volume)

อนที่ 3 หาตนทุนของสินคา จาก Cost = Fix Cost + Variable Cost อนที่ 4 หายอดขายสินคาจาก Revenue = Price + Volume อนที่ 5 คํานวณหากําไรจาก Profit = Revenue – Cost อนที่ 6 แสดงผลกําไรใหผูใชโปรแกรมทราบ

Page 2: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 2แผนภาพการทํางานของโปรแกรม Flow Chart หรือแผนภาพจะเปนเครื่องมือที่โปรแกรมเมอรใชในการเปลี่ยน Algorithm ความคิดหรือความตองการของผูใช ใหอยูในรูปของแผนภาพการทํางานของโปรแกรม โดยทั่วไป Flow Chart จะมีลักษณะที่ไมขึ้นกับภาษาคอมพิวเตอรใด ๆ ทําใหเราสามารถใช Flow Chart เปนเสมือนเครื่องมือส่ือสารระหวางโปรแกรมเมอร หรือระหวางโปรแกรมเมอรกับผูใช วาแผนงานหรือการประมวลผลของโปรแกรมจะมีลักษณะขั้นตอนตามนี้ นอกจาก Flow Chart ยังเปนเสมือนแผนภาพโดยรวมของโปรแกรม ที่เราสามารถนําไปแปลงใหเปนภาษาคอมพิวเตอรภาษาภาษาใดก็ได การเขียน Flow Chart จะประกอบดวยสัญลักษณหลัก ๆ ดังตอไปนี้

สัญลักษณ ความหมาย สัญลักษณ ความหมาย

เครื่องหมายเริม่ตนการทํางาน

ปอนขอมูลดวยตนเองหรือแปนพิมพ

Process การประมวลผล

Decision การตัดสินใจ

แสดงผลออกทางจอภาพ

เครื่องหมายจบการทํางาน

พิมพขอมูลออกทางเครื่องพมิพ

ประมวลผลดวยมือ

เสนแสดงการเชื่อมตอทางเดนิของการประมวลผล

ดิสกแมเหล็ก

ขอมูล รับหรือแสดงขอมูลโดยไมระบุชนิดของอุปกรณ

เทปแมเหล็ก

จุดตอในหนาเดียวกัน

จุดตออยูตางหนากัน

ประโยชนของ Flow Chart การเขียน Flow Chart ของโปรแกรมจะมีประโยชนหลายประการดังตอไปนี้ 1. ทําใหเห็นภาพการทํางานของโปรแกรมอยางชัดเจน แทนที่จะเปนภาพในความคิดของผูใชหรือโปรแกรมเมอร

เทานั้น 2. ใชเปนเครื่องมือส่ือสารระหวางโปรแกรมเมอรในการมองภาพรวม หรือมองการทํางานของโปรแกรม 3. ใชเปนเครื่องมือส่ือสารระหวางโปรแกรมเมอรกับผูใชใหเห็นภาพและเขาใจการทํางานของโปรแกรมไดตรงกัน

กอนการเขียนโปรแกรมจริง ๆ 4. ชวยในการแปลงความตองการของผูใชใหเปนโปรแกรมภาษาคอมพิวเตอร 5. เปนแบบแปลนเอกสารของโปรแกรมที่ใชอางอิงเมื่อตองแกไขหรือปรับปรุงโปรแกรมในอนาคต 6. ชวยในการควบคุมหรือบริหารโครงการ

Page 3: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 3ตัวอยาง Flow Chart ของการคํานวณหาพื้นที่วงกลม และโคตของโปรแกรมที่ได ซ่ึงจะเกิดเหตุการณก็ตอเมื่อมีการกดปุมคํานวณบนฟอรม Sub Command1_Click() Dim R as Single Dim Area as Single Cls ‘Clear Screen R = Inputbox (“Please enter Radius”) Area = 3.14159 * R * R Print Area End Sub

รับคารัศมีจากผูใช

นําคาที่ไดใสในตัวแปร R

คํานวณหาพืน้ที่วงกลมจากสูตร Area = 3.141459 * R2

แสดงคาพื้นทีอ่อกทางจอภาพใหผูใชทราบ

Stop

Start

โปรแกรมสําหรับเขียน Flow Chart

ในปจจุบนัมีโปรแกรมอยูหลายตัวที่ชวยในการเขียน Flow Chart ไดอยางงายดายและสวยงาม ซ่ึงเปนที่รูจักกันอยางแพรหลายไดแก Microsoft Visio และ ABC Flowcharted ซ่ึงใชเวลาศึกษาการใชงานเพยีงเล็กนอย แตจะชวยยนระยะเวลาในการวาด Flow Chart ไดมาก

บทที่ 2 ทําความรูจักกับโปรแกรม Visual Basic 6.0 ความเปนมาของภาษา Basic

ภาษา BASIC ถูกสรางในป ค.ศ. 1963 โดย Hohn Keneny และ Thomas Kurtz ที่วิทยาลัย Dartmouth ในเบื้องตนพวกเขามีจุดมุงหมายในการพัฒนาภาษา Basic ขึ้นเพื่อใชในการสอนแนวในการเขียนโปรแกรม โดยเนนที่รูปแบบงาย ๆ เพื่อสะดวกในการใชงาน ในป 1970 Microsoftไดเร่ิมผลิตตัวแปรภาษา Basic ใน ROM ขึ้น เชน Chip Radio Sheek TRS-80 เปนตน ตอมาไดพัฒนาเปน GWBasic ซ่ึง เปน Interpreter ภาษาที่ใชกับ MS-Dos และใน ป 1982 Microsoft QuickBasic ไดรับการพัฒนาขั้นโดยเพิ่มความสามารถในการรันโปรแกรมใหเปน Executed Program รวมทั้งทําให Basicมีความเปน "Structured Programming" มากขึ้น โดยการตัด Line Number ทิ้งไป เพื่อลบขอกลาวหาวาเปนภาษาคอมพิวเตอรที่มีโครงสรางในลักษณะSpaghetti Code มาใชรูปแบบของ Subprogram และ User Defined รวมทั้งการใช Structured Data Type และการพัฒนาการใชงานดานกราฟกใหมีการใชงานในระดับที่สูงขึ้น รวมทั้งมีการใชเสียงประกอบไดเหมือนกับภาษาคอมพิวเตอรอ่ืน ๆ เชน Turbo C และ Turbo Pascal เปนตน Visual Basic เปนเครื่องมือที่ใชในการพัฒนาโปรแกรมขึ้นใชงาน ที่ใชไดตั้งแตระดับตน เพื่อใชสรางโปรแกรมงาย ๆ บน Windows หรือโปรแกรมเมอรระดับกลาง ทีจ่ะเรียกใชฟงชัน่ตาง ๆ ไดอยางมีประสิทธิภาพ

Page 4: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 4ตลอดจนโปรแกรมเมอรระดับมืออาชีพ ที่จะพัฒนาโปรแกรมในระดับสูงโดยการใช Object Linking and Embedding (OLE) และ Application Programming Interface (API) ของระบบ windows มาประกอบการเขียนโปรแกรม Visual Basic เปนภาษาคอมพิวเตอร (Programming Language) ที่พัฒนาโดยบริษทัไมโครซอฟท ซ่ึงเปนบริษัทยักษใหญที่สรางระบบปฏิบัติการ Windows 95/98 และ Windows NT ที่เราใชกันอยูในปจจุบัน โดยตัวภาษาเองมีรากฐานมาจากภาษา Basic ซ่ึงยอมาจาก Beginner’s All Purpose Symbolic Instruction ถาแปลใหไดความหมายก็คือ “ชุดคําสั่งหรือภาษาคอมพิวเตอรสําหรับผูเร่ิมตน” ภาษา Basic มีจุดเดนคอืผูที่ไมมีพื้นฐานเรื่องการเขยีนโปรแกรมเลยก็สามารถเรียนรูและนําไปใชงานไดอยางงายดายและรวดเร็วเมื่อเทยีบกับ การเรยีนภาษาคอมพวิเตอรอ่ืน ๆ เชน ภาษาซี ปาสคาล ฟอรแทน หรือ แอสแซมบลี ขั้นตอนการออกแบบและเขียนโปรแกรมคอมพิวเตอรโดยท่ัวไป การวางแผนงานอยางเปนขัน้ตอนและเปนระบบนี้จะชวยใหเราทราบความตองการอยางแทจริงของผูใชงานโปรแกรมการสราง Program Specification ซ่ึงเปนหนาทีก่ารทํางานอยางละเอียดของโปรแกรม จะชวยใหมีเปาหมายเปนตัวตนชัดเจน ทําใหทั้งผูเขียนโปรแกรมและผูใชโปรแกรมสามารถเห็นภาพของโปรแกรมไดตรงกันตั้งแตเร่ิมตน โดยทั่วไปสามารถแบงการพัฒนาและเขยีนโปรแกรมเปนขั้นตอนหลัก ๆ ไดดังนี ้ขั้นตอนที่ 1 ศึกษาความตองการของผูใช (User Requirement) และกําหนดวัตถุประสงคของโปรแกรม

(Objective) ขั้นตอนที่ 2 ออกแบบหนาจอของโปรแกรมที่เราตองการ (Prototype) พรอมกําหนดคุณสมบัติและสวนประกอบ

ตาง ๆ ของโปรแกรมโดยละเอียด (Program Specification) ขั้นตอนที่ 3 เร่ิมเขียนโปรแกรม (Coding) ขั้นตอนที่ 4 รวบรวมโปรแกรม แปลงใหอยูในรูปแบบที่พรอมใชงาน (Compile) และทดสอบการทํางานของ

โปรแกรม (Testing) ขั้นตอนที่ 5 แจกจายโปรแกรมของเราสูมือของผูใชงาน (Distribute)

หาความตองการของผูใช (User Requirement)

กําหนดคุณสมบัติและสวนประกอบตาง ๆ

(Program Specification)

เร่ิมเขียนโปรแกรม

(Coding)

คอมไพลและตรวจสอบ

(Compile & Testing)

ติดตั้ง จัดสงใหกับผูใช

(Distribute) Edition ของ Visual Basic และขอแตกตาง บริษัทไมโครซอฟตไดแบงผลิตภัณฑโปรแกรม Visual Basic ออกเปนหลายรุนดวยกัน ตามลักษณะการใชงานและราคาขาย ดังรายละเอียดตอไปนี้ Learning Edition เปนรุนที่เหมาะสําหรับศึกษาการใชงานของภาษา Visual Basic จะมสีวนประกอบตาง ๆ

นอยที่สุด แตก็มีสวนประกอบพื้นฐานเพียงพอใหโปรแกรมเมอรสามารถสรางโปรแกรมไดมากมายบนระบบปฏิบัติการ Windows 95/98 หรือ Windows NT

Page 5: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 5Professional Edition ในรุนนีจ้ะมีสวนประกอบตางๆ ครบครัน เหมาะสําหรับโปรแกรมเมอรมืออาชีพที่

ตองการสรางโปรแกรมหรอืพัฒนาระบบงานสําหรับลูกคาที่ใชระบบปฏิบัติการ Windows โดยสวนประกอบที่เพิ่มเติมมาจากLearning Edition ไดแก ActiveX Control เพิ่มเติมการติดตอกับเครือขายอินเตอรเนต็ (Internet Information Server Application Designer), เครื่องมือชวยออกแบบฐานขอมูล (Visual Database Tools and Environment), Active Data Object และเครื่องมือชวยสราง Homepage แบบ Dynamic HTML (Hypertext Markup Language)

Enterprise Edition เปนรุนที่มีสวนประกอบและเครื่องมือครบถวนที่สุด คอืจะมีทุกอยางที่ Professional Editionมี พรอมรวมเครื่องมือเกี่ยวกับการพัฒนาโปรแกรมสําหรับเครือขาย การบรหิารงานพัฒนาโปรแกรมเปนทีม รวมทั้งเครื่องมือที่ใชเชื่อมตอกับผลิตภัณฑอ่ืน ๆ ของไมโครซอฟตเขาไปดวยเชน MS Back Office, MS SQL Server, Microsoft Transaction, Internet Information Server, SNA Server และอื่นๆ อีกมากมาย

Visual Studio 2005 เปนชุดพัฒนาลาสุด ใชรหัสในการพัฒนาวา Whidbey (เปนชื่อของเกาะใน Puget Sound) โดยช่ือชุดจะตัดคําวา .NET ออก เพราะเปนที่รูจักกันดีแลว เหลือเพียงคําวา Visual Studio 2005 แทน (ไมใช Visual Studio.NET 2005) ชุดนี้จะใชเลขเวอรชันเปน 8.0 และใชตัว .NET เปนเฟรมเวิรคเวอรชัน 2.0

ตารางเปรียบเทียบ Visual Studio แตละเวอรชัน โปรแกรม ปท่ีผลิต เลขเวอรชัน .NET เวอรชัน ภาษาที่สนบัสนุน

Visual Studio 97 1997 5 - Basic, C++, J++, FoxPro Visual Studio 6 1998 6 - Basic, C++, J++, FoxPro Visual Studio.NET (2002) 2002 7 1 Basic, C++, C#, J# Visual Studio.NET 2003 2003 7.1 1.1 Basic, C++, C#, J# Visual Studio 2005 2005 8 2 Basic, C++, C#, J#

Page 6: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 6การเรียกใชและออกจากโปรแกรม Visual Basic 6.0 1. การเรียกใชทําไดโดยเลือกเมนู Start Menu Programs Microsoft Visual Studio6.0

Microsoft Visual Studio6.0

2. เลือกไอคอน Standard EXE แลวคลิกปุม Open

3. การออกจากโปรแกรมทําไดโดยเลือกเมนู File Exit

ทําความรูจัก Visual Basic 6.0 ส่ิงแรกที่จะพบเมื่อเขาสูหนาจอของโปรแกรม Microsoft Visual Basic 6.0 รุน Enterprise ไดแก จอภาพที่ใช

สําหรับเปด Project ซ่ึงประกอบ 3 Tab ดังนี้ 1. TAB "New" เปนจอภาพที่ประกอบไปดวย Icon ตาง ๆ ที่ใชสําหรับเรียกใชงาน Project ใหมขึ้นมาใชงาน ดังรูป

Page 7: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 7ความหมาย ของ Icon ตาง ๆ ท่ีอยูใน Tab New รูป ช่ือเรียก ความหมาย

Standard.EXE ใชสรางโปรแกรมในแบบ GUI โดยทัว่ไป

ActiveX EXE ใชสรางโปรแกรมที่ใชในการติดตอกับโปรแกรมอื่นในรูปแบบของ OLE

Automation Server

AcitveX DLL ใชสรางโปรแกรมแบบเดยีวกับ ActiveX EXE แตจะเก็บในรูปแบบ File นามสกุล .DLL

ActiveX Control ใชสราง ActiveX Control ขึ้นใชงาน

VB Application Wizard เปนเครื่องมือที่ชวยสรางโปรแกรม

VB Wizard Manager ใชสรางโปรแกรมที่ควบคุมการทํางานของ Wizard

ActiveX Document Dll ใชสรางโปรแกรม ActiveX ที่อยูในรูปแบบของ File นามสกุล .DLL

ActiveX Document EXE ใชสรางโปรแกรมที่อยูในรปูแบบของ File นามสกุล .EXE

Addin ใชเพิ่ม Utility อ่ืน ๆ เขาไวใน Visual Basic

Data Project ใชสรางโปรแกรมที่ใชติดตอกับฐานขอมลูตาง ๆ ผานทาง ODBC หรือ OLEDB

DHTML Application ใชสรางโปรแกรมที่ใชงานบน Internet แบบ Dynamic HTML

IIS Application ใชสรางโปรแกรมที่ใชงานบน Internet แบบ IIS

VB Pro Edition Control ใชสรางโปรแกรมแบบ GUI โดยทั่วไป จาก Control ตาง ๆ ของ Professional Edition

2. TAB "Existing" เปนจอภาพที่ใชสําหรับเรียกใช Project เดิมที่มีการพฒันามากอนหนานี้แลว และเก็บไวใน Directory ตาง ๆ ขึ้นมาใชงาน ดังรูป

3. TAB "Recent" เปนจอภาพที่แสดงประวตัิของ Project ตาง ๆ ที่เคยถูกเรียกขึน้มาพัฒนา ดังรูป

Page 8: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 8IDE คืออะไรและสวนประกอบตาง ๆ ของ IDE คําวา IDE หรือ Integrated Development Environment หมายถึง สภาพแวดลอมการทํางานในการพัฒนาโปรแกรมโดยใช Visual Basic หรือจะแปลอีกอยางคือ อุปกรณเครื่องมือตาง ๆ แบบเพียบพรอมที่ไมโครซอฟทเตรียมมาใหใชในการพัฒนาโปรแกรมดวย Visual Basic นั่นเอง เมื่อเปดโปรแกรม Visual Basic คร้ังแรก โปรแกรมจะปรากฏหนาจอ IDE ซึ่งมีสวนประกอบหลักดังนี้

เมนูบาร (Menu Bar) วินโดว Project Explorer

สวน

ToTo

Fo

ProWiProWiFoWi

ทูลบาร (Toolbar)

(

วินโดว ฟอรม

(Form)

สวนประกอบหลักของหนาจอ Visual Basic IDE มีดังนี้

1 2 3 4 5 ทูลบาร

(Toolbar) เครื่องมือ (Toolbox)

วินโดว Form วินโดว Project Explorer

วินโดว Properties

ประกอบของจอภาพ Visual Basic มีดังนี ้สวนประกอบ รายละเอียด olbar เปนเครื่องมือที่ชวยในการพฒันาโปรแกรม หรือเปนเครือ่งมือที่มีการเรียกใชบolbox เปนสวนที่ประกอบดวย Icon ตาง ๆ หรือที่เรียกวา Control ที่จะนําไปใชงาน โ

วางบน Form rm เปนสวนทีใ่ชสําหรับจอภาพของโปรแกรมขึ้นใชงาน โดยจะทําหนาที่เปน Bac

จอภาพ ject Explorer ndow

เปนสวนทีใ่ชสําหรับเรียก Form ตาง ๆ ขึ้นมาแกไข ในกรณีที่มี Form มากกวา

perties ndow

เปนจอภาพที่ใชกําหนดคุณสมบัติตาง ๆ ของ Project ที่เราไดออกแบบไวเพื่อใหความตองการ

rm Layout ndow

ใชสําหรับกําหนดตําแหนงของ Form ที่จะใหแสดงอยูในจอภาพเมื่อทาํการ Ru

วินโดว Properties)

(F

F

อยดย

kg

1

n

วินโดว orm Layout)

6 วินโดว

orm Layout

ๆ การนําไป

round ของ

Form

ํางานตาม

Page 9: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 9Toolbar ทําหนาท่ีเปนผูชวยในการพัฒนาโปรแกรม ซ่ึงเมื่อเล่ือนเมาสไปชี้ยัง Icon ใด ก็จะปรากฏชื่ออยูใต Icon นัน้ แตละ Icon จะมีหนาที่ตางกนัดังนี ้

รูป ชื่อเรียก ความหมาย

Add Standard EXE Project Add Standard EXE Project

Add Form ใชในการเพิ่ม Form เขาไปไวใน Project ที่มีการใชงานมากกวาหนึ่ง Form

Menu Editor ใชเรียก Menu Editor ซ่ึงเปนเครื่องมือที่ใชในการสราง Menu ใหกับ Form

Open ใชสําหรับเรียก Project งานที่ไดบันทึกมากอนหนาแลว

Save ใชสําหรับบันทึก Project ที่ไดสรางขึ้นมา

Cut ใชสําหรับตัด Object ตาง ๆ ที่อยูบน Form เพื่อนําไปใชงานตามที่ตองการ

Copy ใชสําหรับคัดลอก Object บน Form

Paste ใชสําหรับวาง Object ที่ไดจากการ Cut หรือ Copy ไว

Find ใชสําหรับคนหาคําใน Editor ในกรณีที่มีการเขียนคําสั่งใน Form Editor

Undo Typing ใชสําหรับยกเลิกคําสั่งที่พิมพใน Editor ใน Form Editor

Redo Typing ใชสําหรับทําซ้ําคําที่พิมพใน Editor

Start ใชสําหรับ Run Project ที่ไดจัดขึ้น เพื่อดูผลลัพธกอนการนําไปใชงานตอไป

Break ใชสําหรับหยดุการทํางาน Project ช่ัวคราว

End ใชสําหรับหยดุหรือยกเลิกการ Run Project

Project Explorer ใชแสดงคุณสมบัติหรือรายละเอียดของ Project วาประกอบดวย Form หรือ Module ใดบาง

Project Window ใชสําหรับกําหนดคณุสมบัติของ Project และ Form

Form Layout Window ใชสําหรับเรียกจอภาพ Form Layout ซ่ึงใชแสดงตําแหนงของ Form บนหนาจอ

Object Browser ใชสําหรับเรียกจอภาพ Object Browser ซ่ึงใชแสดง Class และสมาชิกของแตละ Class

Tool Box ใชสําหรับเรียก Tool Box ขึ้นมาบนจอภาพ

ตําแหนงของ Form ใชบอกตําแหนงในแกน X และ Y ของ Form

ขนาดของ Form ใชบอกถึงขนาด Form ตามแนวแกน X และ Y Toolbox เปนที่รวมออบเจ็คตาง ๆ ที่จะนํามาประกอบกันเปนโปรแกรมหรือแอพพลิเคชั่น เมื่อใชอออบเจ็คเหลานี้ประกอบกันจะไดเปนหนาตาของโปรแกรม จึงอาจเรียกใหชัดเจนไดวา Control Object ซ่ึงมีออบเจ็คหลักดังภาพตอไปนี้ นอกจากนี้เราสามารถเพิ่มออบเจ็คตางๆ เขาไปใน Toolbox ไดอีกมากมาย ออบเจ็คหลักมดีังนี ้

รูป ชื่อเรียก ความหมาย

Pointer ใชในการจัดขนาด เคลื่อนยาย และวางตําแหนงออบเจ็คตาง ๆ ในฟอรม

Picture ใชควบคุมและแสดงขอมูลภาพตาง ๆ บนฟอรม

Page 10: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 10

Label ใชแสดงขอความตาง ๆ บนฟอรม เหมือนกบัเปนปายลาเบลหรือขอความกํากับ

Text Box เปนออบเจ็คสาํหรับรับขอความที่ผูใชปอนเขามา

Frame ใชจัดกลุมและรวบรวมออบเจ็คตาง ๆ เขาไวดวยกัน เพื่อใหสะดวกในการควบคุมและเคลื่อนยายตําแหนง หรือจัดหนาจอใหเปนระเบียบเรยีบรอยและสะดวกแกการใชงาน

Command Button หรือปุมคําสั่ง เปนออบเจ็คทีเ่ปนปุมกด เพือ่ใหผูใชส่ังทํางาน ซ่ึงเปนออบเจ็คที่ใชบอยมากที่สุดอันหนึ่ง

Check Box เปนปุมที่ใชเลือกวาตองการหรือไม

Option Button บางครั้งเรียกวา Radio Button ใชสําหรับเลือกคาใดคาหนึง่จากหลาย ๆ คา คลายกับปุมกดเลือกระดับความแรงของพัดลมในวิทยุเทป ที่เลือกไดคร้ังละ 1 ปุมเทานัน้

Combo Box ผูใชสามารถเลือกตัวเลือกไดจากการกดปุม Drop Down เพื่อแสดงทางเลือกตาง ๆ ขึ้นมาให มีความสามารถเหมือนกบั List Box และ Text Box ผสมกัน

List Box ใชแสดงตวัเลือกตาง ๆ ในลักษณะของบรรทัดรายการ โดยผูใชสามารถเลือกรายการใดรายการหนึ่ง หรือหลาย ๆ รายการจากลิสตรายการที่มีอยูก็ได

Horizontal Scroll Bar เปนแถบเลื่อนทางแนวนอน ใชเล่ือนปรับคาโดยคาจะเปลี่ยนไปตามตําแหนงที่อยูของแถบเล่ือน (ตําแหนงซายสุดคาจะนอยที่สุด ตําแหนงขวาสุดคาจะมากที่สุด)

Vertical Scroll Bar เปนแถบเลื่อนในแนวตั้ง ใชเล่ือนปรับคาโดยคาจะเปลี่ยนไปตามตําแหนง (ตําแหนงบนสุดคาจะนอยที่สุด ตําแหนงลางสุดคาจะมากที่สุด)

Timer ใชในการควบคุมเวลา และการทํางานของโปรแกรมเมื่อมีเร่ืองเวลาเขามาเกี่ยวของ

Drive List Box, Directory List Box, File List Box

ใชในการควบคุมการติดตอกบัระบบแฟมขอมูลขอเครื่องคอมพิวเตอร

Shape ใชสรางภาพรปูทรงตาง ๆ ลงในฟอรม

Line ใชวาดเสนตาง ๆ ลงในฟอรม

Image เปนคอนโทรลที่ใชควบคุมขอมูลภาพเหมอืนกับ Picture เพียงแตมีความสามารถนอยกวาแตก็ใชหนวยความจํานอยตามลงไปดวย

Data Control ใชในการเชื่อมตอกับฐานขอมูล

OLE (Object Linked and Embedded) เปนคอนโทรลที่นําเอาโปรแกรมสําเร็จรูปตาง ๆ ที่มีความสามารถ OLE เขามาใชเปนออบเจ็คในโปรเจ็ค

วินโดว ฟอรม เปนวนิโดวเปลา ๆ หรือตัวฟอรมเปลาสําหรับสรางองคประกอบของแอพพลิเคชัน โดยการนําออบเจ็คตาง ๆ มาใสในฟอรม หรือเปนหนาจอของโปรแกรมที่ผูใชจะเห็นเมื่อเรียกใชงานโปรแกรมนั่นเอง เมื่อเร่ิมเขาสู Visual Basic จะปรากฏฟอรมเปลาขึ้นมาใหเสมอ การเรียกดฟูอรมสามารถใชคีย Shift + F7 หรือเรียกจากเมนู View

Object ก็ได

Page 11: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 11วินโดว Project Explorer โปรแกรมตาง ๆ ที่เราพัฒนาเขียนโปรแกรมขึ้นมานั้นจะเรียกวาเปนโปรแกรมประยกุต หรือ แอพพลิเคชัน (Application) ซ่ึงใน Visual Basic จะเรียกโปรแกรมที่เรากําลังสรางวาเปน โครงการ หรือ โปรเจ็ค

ปุม Object View เพื่อกลับไปดูที่ฟอรม

ปุม View Code เพื่อดูหนาจอ Code Editor

ปุม Folder View เพื่อสับเปลี่ยนการดูที่ละโมดูล หรือดูพรอมกันทุกโมดูล

Project Explorer จะใชควบคมุสวนประกอบและแฟมขอมูลตาง ควบคุมและเปลี่ยนการทํางานระหวางสวนประกอบตาง ๆ โดยแตละโปรหลายประเภท ซ่ึงแฟมขอมูลหลักไดแก ประเภทไฟล รายละเอียด ไฟลโปรเจ็ค (Project File)

เก็บขอมูลตาง ๆ ของโปรเจ็ค รวมทั้งรายชื่อแฟมที่ปร

ไฟลฟอรม (Form File)

เก็บฟอรมที่เราไดออกแบบไว โดยในไฟลนี้จะรวมคไวใหกับแตละออบเจ็คที่อยูในฟอรมดวย

ไฟลไบนารีฟอรม จะเก็บขอมูลที่เปนแฟมไบนารีของฟอรม เชน รูปภา

ไฟลโมดูลแบบปกต ิ(Standard Module)

เก็บโปรแกรมยอยและตัวแปรตาง ๆ ที่เราเขียนแยหรือโมดูลอ่ืนสามารถเรียกใชงานได

ไฟล Object Control

นามสกุลลงทายดวย .ocx (ActiveX Control) หรือ .ไปในโปรเจ็คนอกเหนือจากคอนโทรลพื้นฐานไดแกDatabase Grid Control Object เปนตน

ไฟลเอกสาร ActiveX

เหมือนกับฟอรม เพียงแตตองเรียกดูผานโปรแกรมเExplorer

ไฟลคลาสโมดูล (Class Module)

เก็บออบเจ็คตาง ๆ ที่เราสรางขึ้น เมื่อมีการเรียกใช Cสรางออบเจ็คนั้นขึ้นมาใหม (เรียกวา Instance) ออบเจ็คนั้นโดยตรง อาจกลาวไดวา Class Moduleหรือ Template ของออบเจ็คที่เราจะสรางขึ้นมาใหมน

ไฟลทรัพยากรอื่น ๆ (Resource File)

เก็บภาพ Bitmap (BMP), ขอความ (Text String) สามารถแกไขไดโดยไมตองไปยุงเกีย่วกับโปรแกรมในโปรเจ็ค

พื้นที่แสดงฟอรมโมดูลและสวนประกอบตาง ๆที่อยูในโปรเจ็ค สามารถคลิกเลือกเพื่อควบคุมสวนประกอบตาง ๆ ได

ๆ ที่อยูในโปรเจ็ค เพือ่ความสะดวกในการเจ็คจะประกอบดวยแฟมขอมูลมากมาย

นามสกุลไฟล ะกอบขึ้นมาเปนโปรเจ็ค .vbp

ําสั่งตาง ๆ ที่เขียนโปรแกรม .frm

พ หรือ ไอคอน เปนตน .frx กออกจากฟอรมเพือ่ใหฟอรม .bas

vbx เปนออบเจ็คที่เราเพิ่มเขา Internet Control Object,

.ocx

.vbx

ว็บบราวเซอร เชน Internet .dob

lass Module โปรแกรมก็จะแทนที่จะใชจากโมดูลหรือ

เปรียบเสมือนที่เก็บแผนผังั่นเอง

.cls

หรือขอมูลใด ๆ ที่เราสรางในโมดูลหรือฟอรมตาง ๆ

.res

Page 12: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 12วินโดว Properties

ช่ือออบเจ็คที่กาํลังแสดง Properties อยู

Object List Box แสดงออบเจ็คที่กํ า ลั ง ถู ก เ ลื อ ก อ ยู เ มื่ อ ค ลิ ก ที่ปุมดร็อปดาวน ลิสตบ็อกซก็จะ

ี ้

Properties List แสดงคุณสมบัติตาง ๆของออบเจ็คที่เลือกพรอมกับคาที่ตั้งไว

ในขณะน

แสดงรายการทั้งหมดของออบเจ็คที่อยูในฟอรม

ช่ือ Properties ตาง ๆ ของออบเจ็คที่เลือกอยู

ค าของ Properties ต า ง ๆ ที่ ถู กตั้งอยูในปจจุบัน

วินโดวนี้จะแสดงคุณสมบัติทั้งหมดของออบเจ็คที่ถูกเลือกอยู การคลิกเลือกที่ออบเจ็คใดในฟอรมจะทําใหคุณสมบัติที่แสดงในวนิโดว Properties เปล่ียนไปตามออบเจ็คที่เลือก ซ่ึงการแกไขหรือตั้งคาคุณสมบัติสามารถทําไดโดยตรงที่คุณสมบัติแตละคา สําหรับแท็บ Alphabetic และ Categorized มีไวเพื่อชวยใหเราหา Properties ไดงายขึ้นเทานั้น โดยแท็บ Alphabetic จะแสดงคุณสมบัติเรียงตามชื่อตัวอักษร สวนแท็บ Categorized จะแสดงคุณสมบัตเิรียงตามลักษณะการใชงาน การเรียกดวูินโดว Properties สามารถเรียกไดจากเมนู View Properties window หรือกด F4 วินโดว Form Layout

ใชเมาสลาก Drag เพื่อกําหนดตําแหนงของฟอรมเมื่อรันโปรแกรม

จะแสดงตําแหนงฟอรมของโปรแกรมที่กําลังสรางใหดูบนจอภาพ เพื่อกําหนดตําแหนงสําหรับตอนที่โปรแกรมทํางานจริง ๆ การยายตําแหนงทําไดโดยใชเมาสคลิก (Drag) รูปฟอรมตรงกลางจอภาพไปยังตําแหนงที่ตองการ ซ่ึงสามารถทดลองไดโดยเล่ือนตําแหนงแลวกด F5 เพื่อรันโปรแกรม จะเหน็วาตําแหนงโปรแกรมของเราจะถูกเคลื่อนยายตามไปดวย วินโดว Code Editor

Code Editor เปนเนื้อที่สําหบัเขียนโปรแกรม เรียกขึ้นมาแสดงไดโดยใชเมนู View Code หรือดับเบิลคลิกที่ออบเจ็คใด ๆ ในฟอรม ซ่ึงวินโดว Code Editor จะแสดงขึ้นมาพรอมสําหรับการปอนโปรแกรมใหกับเหตุการณหลักของออบเจ็คนั้น สวนทีสํ่าคัญของวินโดวนี้คือ คอมโบบ็อกซ (Combo Box) ทั้งสองชองที่อยูตรงสวนบนของวินโดว ซ่ึงจะเปนตัวควบคุมการเลือกออบเจ็คและเหตุการณ (Event) ทีจ่ะเกิดขึ้นกับออบเจ็คนั้น โดยโคดที่ปรากฏจะเปนโปรแกรมหรือคําสั่งที่ถูกเรียกใชงานเมื่อมีเหตุการณนั้นเกดิขึ้นกับออบเจ็ค

Page 13: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 13

Event List Box แสดงชื่ออีเวนตของออบเจ็คที่กําลังเขียนโปรแกรมอยูและใชเลือกเหตุการณตาง ๆ ของออบเจ็คนั้น ๆ

ช่ือโพรซีเดอรของเหตุการณ

View ดูเฉพาะโปรแกรมของออบเจ็คและอีเวนตปจจุบันอยางเดียว

ขั้นตอนในการพัฒนาโปรแกรมของ Visual Basic 6.0 ประกอบไปดวย 2 ขั้นตอน ดังนี้ ขั้นตอนที่ 1 สรางจอภาพของโปรแกรม

ในขั้นตอนนี้จะเปนการนําเอา Control ตาง ๆ มาวางไวใน Form ที่เราไดกําหนดไวเพื่อที่จะสามารถติดตอส่ือสารกับผูใชโปรแกรมของเรา (User Interface) ขั้นตอนที่ 2 เขียนโปรแกรม

เมื่อเราไดวาง Control ตาง ๆ ลงไวใน Form เปนที่เรียบรอยแลวนั้น เราก็มาเริ่มการเขียนโปรแกรมหรือวาคําสั่งตาง ๆ ใหกับ Control ที่เราไดออกแบบไวตามเหตุการณที่เรากําหนดไว (Event) เพื่อที่จะใหแสดงผลออกมาทางจอภาพ การเขียนโปรแกรม 1. เปดโปรเจ็คเพือ่เขาสู Visual Basic โดยเลือกเมนู Start Programs Microsoft Visual Basic 6.0 2. เลือก Standard EXE แลวคลิกปุม Open เพื่อเขาสู IDE ของ Visual Basic 3. เมื่อปรากฏฟอรมเปลา ซ่ึงเปนพื้นที่สําหรับวางออบเจ็คตาง ๆ เพื่อออกแบบหนาจอของโปรแกรมลองพิจารณา จากภาพโปรแกรม Hello World จะเหน็วาประกอบดวย 3 ออบเจ็คคือ Form, ชองใสขอความสําหรับแสดงผล 1 ชอง, Command Button สําหรับเปนปุม Hello 1 ปุม ซ่ึงออบเจค็เหลานี้จะอยูใน Tool Box ที่อยูขาง ๆ วิธีการนําออบเจค็มาวางลงบนฟอรม ทําไดโดยคลิกปุม TextBox บน Tool Box แลวเล่ือนเมาสมาที่ฟอรม คลิกเมาสคางไวและลากจนไดขนาดตามความตองการ ตอไปลองดับเบิลคลิกที่ปุม Command Button ก็จะปรากฏปุม Command1 ใหไดตําแหนงตามที่ตองการโดยการคลิกที ่Command1 แลวลาก

การเปลี่ยนชื่อบนปุมจะใช Properties ช่ือ Caption ของ Command Button ซ่ึงจะเรยีก Properties ของ Command Button นี้ไดโดยนําเมาสคลิกที่ปุม และกด F4 จากนัน้เปลี่ยนคา Properties Caption ของปุมใหเปนคาํวา Hello

Page 14: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 14จะเห็นวาขณะนี้หนาตาของโปรแกรมที่สรางขึ้นเหมือนกบัในภาพตามที่ตองการแลว เหลือแตขัน้ตอนการเขยีนโปรแกรมเทานั้น ลองมาดกูันวาเราจะเขียนโปรแกรมไดอยางไร เนือ่งจากโปรแกรมจะทํางานเมื่อผูใชกดปุม Hello โดยผลที่เกิดคอืขอความบนชอง Text Box จะเปลี่ยนเปนคําวา “Hello World” เราสามารถแยกการทํางานของแตละออบเจ็ค, เหตุการณและ Properties ไดดังนี ้

เหตุการณ ออบเจ็ค, พร็อพเพอรตี้และเหตุการณท่ีเก่ียวของ ผูใชกดปุม Hello ออบเจ็ค Command1 (ปุม Hello)

เหตุการณ (อีเวนต) Click ผลลัพธ ออบเจ็ค, พร็อพเพอรตี้และเหตุการณท่ีเก่ียวของ

Text Box แสดงคําวา “Hello World!” ออบเจ็ค Text1 (ชองแสดงผล) พร็อพเพอรตี้ Text ซ่ึงเปนคณุสมบัติที่แสดง ตัวอักษรในชอง Text Box จะตองเปลี่ยนเปน “Hello World!”

4. เขียนโปรแกรมสําหรับออบเจ็คและอีเวนต โดยดับเบิลคลิกที่ปุม Hello จะปรากฏวนิโดว Code Editor ขึ้นมา ใหเขียนโปรแกรมตามภาพ

Combo box แสดงโคดของออบเจ็ค Command1

5. ลองรันโปรแกรม โดยกด F5 หรือคลิกปุม Run บนเมนูบารเพื่อทดสอบการทํางาน

ขอความใน Textbox จะเปลีย่นคําวา “Hello World!” ก็เปนอันเสร็จสิ้นการสรางโปการบันทึกและเปดโปรเจ็ค เมื่อเขียนโปรแกรมเรียบรอยแลว ใหบันทกึโปรเจ็คลงในฮารดดิสกหรือโปรแกรมกลับมาใชหรือแกไขใหมไดโดยไมสูญหายไปเมื่อเปดเครื่อง การบันทึกโFile Save Project จากนัน้ จะถามวาตองการเก็บฟอรมนี้ไวในไฟลช่ืออะไร พรอมกในฮารดดิสกดวย เมื่อจัดเกบ็ฟอรมเรียบรอยแลว Visual Basic จะแสดงไดอะล็อกบอกซ Saveไฟล .vbp ซ่ึงเปนขอมูลตาง ๆ ของโปรเจ็คของเรา ใหเลือกตําแหนงทีจ่ัดเก็บและตั้งชื่ออันเสร็จสิ้นการบันทึกโปรเจค็

Combo box แสดงวาเปนโคดของเหตุการณ Click

คียลงไปใน Code Editor ซ่ึงจะเห็นวาเมื่อกดปุม Hello รแกรม Hello อยางงาย ๆ

แผนดิสกเพื่อที่จะสามารถนําปรเจ็ค ทําไดโดยเลือกเมนู ับเลือกตําแหนงที่อยูของไฟล

อีกครั้ง ซ่ึงคราวนี้จะเก็บเปนไฟลในทํานองเดียวกนั ก็เปน

Page 15: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 15การเปล่ียนชื่อ การบันทึกไฟลหรือบันทึกไฟลเปนชื่อใหมทําไดโดยใชเมนู File>Save Project As ซ่ึงจะใชในกรณีที่เราตองการเปลี่ยนชื่อไฟลโปรเจ็คหรือยายตําแหนงของโปรเจ็คไฟล อยางไรก็ตามถาตองการยายตําแหนงจะตองจดัเก็บฟอรมโดยใชเมนู File>Save Form As เพื่อเก็บฟอรมไปไวยังตําแหนงใหมดวยจึงจะครบถวน การเปดโปรเจ็ค ทําไดโดยเลือกเมนู File>Open Project จากนั้นเลือกชื่อโปรเจ็คไฟล (ที่ลงทายดวย .vbp) ที่ตองการแลวคลิกปุม Open การบันทึกตางกับการคอมไพลอยางไร การบันทึก ทําเพื่อจัดเก็บโปรเจ็คของเราไวสําหรัรบการนํามาแกไขไดใสภายหลัง ซ่ึงเปนการจัดเก็บไฟล

โปรเจ็ค (.vbp), ฟอรม (.frm) และสวนประกอบตาง ๆ ซ่ึงเรียกรวมกันวาเปน Source Code หรือ โปรแกรมตนฉบับ

การคอมไพล ทําเพื่อแปลงโปรเจ็คโดยรวบรวมสวนประกอบตาง ๆ ออกมาเปนไฟลที่สามารถทํางานเลยโดยไม ตองเรียกจาก Visual Basic ซ่ึงเราเรียกวา Executable File ที่พรอมสําหรับจัดสงใหกับผูใชงานโปรแกรมของเรา ผูที่ Executable File ไปนั้นจะไมสามารถทําการแกไขเพิ่มเติมโปรแกรมของเราได แตจะสามารถใชงานโปรแกรมไดโดยไมตองมี Visual Basic

การพิมพภาษาไทยใน Code Editor 1. เขาท่ีเมนู Tools> Option> Editor Format

2. เลือกฟอนต MS Sans Serif และกดปุม OK

Page 16: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 16ตัวดําเนนิการ นิพจน และประโยคคําสั่ง ตัวดําเนนิการ (Operator) หมายถึงการคํานวณหรือการทาํฟงกชันทางคณิตศาสตร เชน บวก ลบ คณู หาร โดยเรยีกประโยคที่มีการนําตัวดําเนินการมาใชกับตวัแปรหรือตวัเลขวาเปน “นพิจน” หรือ Expression เชน เครื่องหมายบวก (+) เปนตัวดําเนินการ สวน 1 + 2 จะเปนนพิจน สําหรับทางคอมพิวเตอรจะแบงตัวดาํเนินการออกเปน 3 กลุม คือ ตัวดําเนินการทางคณิตศาสตร (Arithmetic), ตัวดําเนินการเปรยีบเทียบ (Relational) และตัวดําเนินการทางตรรกะ (Logical) ซ่ึงมีรายละเอียดดังนี ้ตัวดําเนนิการทางคณติศาสตร (Arithmetic Operator) เปนตัวดําเนินการที่ใชคํานวณทางคณิตศาสตร เชน +,-,*,/,และ ^ (ยกกําลัง) เปนตน ตัวดําเนินการเปรียบเทียบ (Relational Operator) หรือเรียกอีกอยางวา Comparison Operator เปนตัวดําเนินการที่ใชประเมินคาขอมูล ผลลัพธที่ไดจะมีคาเปนจริง (True) หรือเท็จ (False) เทานั้นตัวอยางไดแก

ตัวดําเนนิการ ความหมาย ตัวอยางนิพจน = เทากับ A = B > มากกวา A > B < นอยกวา A < B

<> ไมเทากับ A <> B >= มากกวาหรือเทากับ A >= B <= นอยกวาหรือเทากับ A <= B

ตัวดําเนนิการทางตรรกะ (Logical Operator) จะเปนตวัดําเนินการที่ใหคาเปนจริง (True) หรือเท็จ (False) โดยจะมีตารางคาการกระทําดังนี ้And เทียบไดกับคําวา “และ”

นิพจน 1 นิพจน 2 นิพจน 1 and นิพจน 2 0 0 0 0 1 0 1 0 0 1 1 1

1 = จริง (True), 0 = เท็จ (False) Or เทียบไดกบัคําวา “หรือ”

นิพจน 1 นิพจน 2 นิพจน 1 and นิพจน 2 0 0 0 0 1 1 1 0 1 1 1 1

1 = จริง (True), 0 = เท็จ (False)

Page 17: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 17xor หรือ Exclusive OR จะมีคาเปนจริงกต็อเมื่อประโยคทั้งสองมีคาตรรกะตางกัน ถามีคาตรรกะเหมือนกนั xorจะเปนเท็จ

นิพจน 1 นิพจน 2 นิพจน 1 and นิพจน 2 0 0 0 0 1 1 1 0 1 1 1 0

1 = จริง (True), 0 = เท็จ (False) Not เปนการสลับคาตรรกะของตัวแปรหรือนิพจน จากจรงิเปนเท็จหรือจากเท็จเปนเทจ็

นิพจน 1 Not นิพจน 1 0 1 1 0

1 = จริง (True), 0 = เท็จ (False) Eqv มาจากคําวา Equlvalence หรือเทียบเทา คาผลลัพธจะเปนจริงก็ตอเมื่อคาตัวแปรหรือนิพจนทีน่ํามา Eqv กันมีคาตรรกะเหมือนกัน

นิพจน 1 นิพจน 2 นิพจน 1 eqv นิพจน 2 0 0 1 0 1 0 1 0 0 1 1 1

1 = จริง (True), 0 = เท็จ (False) Imp มาจากคําวา Implication หรือ ถา – แลว ในวิชาตรรกะศาสตร คาผลลัพธจะเปนเท็จก็ตอเมื่อ นพิจน 1 จริง และนิพจน 2 เปนเท็จเทานั้น ในกรณีอ่ืนจะเปนจริงหมด

นิพจน 1 นิพจน 2 นิพจน 1 imp นิพจน 2 0 0 1 0 1 1 1 0 0 1 1 1

1 = จริง (True), 0 = เท็จ (False)

Page 18: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 18 เราอาจนําตัวดาํเนินการตาง ๆ มาใชในการสรางเงื่อนไข เพื่อตรวจสอบคนหาขอมูลหรือประมวลผลในโปรแกรมไดดงัตัวอยางตอไปนี้ ตัวอยาง ลูกคาที่มียอดขายมากกวา 50,000 บาท เขียนในโปรแกรมไดเปน (SaleRevenue >= 50000) ตัวอยาง สินคาที่มียอดขายมากกวาหาพันชิ้นและลูกคาส่ังหลังวันที่ 1 มกราคม 2542 เขียนในโปรแกรม

ไดเปน (SaleVolumn >= 5000) AND (OrderDate > #1/1/2542#)

ตัวอยาง คะแนนสอบอยูระหวาง 60 – 70 เขียนในโปรแกรมไดเปน (Score >= 60) AND (Score <= 70) ตัวอยาง คะแนนอยูในชวง 40 – 50 หรือ มากกวา 95 ขึ้นไป เขียนในโปรแกรมไดเปน ((Score >= 40) AND (Score <= 50)) OR (Score >= 95) ลําดับการประมวลผลของตวัดําเนินการ สมมติวามีนิพจนหนึง่เขียนวา 3 + 4 * 12 ถามวาคําตอบของนิพจนนี้คือเทาไร? จะพบวาสามารถตอบไดสองคําตอบขึ้นอยูกับวาเราจะทําตัวดําเนินการใดกอน เชน ถาทําคูณกอนกจ็ะไดคําตอบคือ 3 + 48 = 51 แตถาทําบวกกอนจะไดคําตอบเปน 7 * 12 = 84 คราวนี้ลองนึกดวูาจะเกดิอะไรขึ้นถาคอมพิวเตอรไมกาํหนดเปนมาตรฐานที่แนนอนไววาจะประมวลผลตัวดําเนินการใดกอนหลัง ซ่ึงนั่นก็คือเราจะไมทราบไดเลยวาผลลัพธของโปรแกรมที่เขียนไปจะเปนอยางไร และถูกตองตรงตามความตองการของเราหรือไม จากปญหาดังกลาวจึงไดมีการกําหนดวา ถาในนิพจนหนึ่ง ๆ มีตัวดําเนินการหลายตวั การคํานวณจะมีลําดับการประมวลผล (Precedence) ตามตารางตอไปนี ้

Arithmetic Relational Logical ยกกําลัง ( ^ ) เทากับ ( = ) Not ทําเปนลบ ( - ) ไมเทากับ ( < > ) And

คูณและหาร (*, /) นอยกวา ( < ) Or หารจํานวนเตม็ ( \ ) มากกวา ( > ) Xor หาเศษการหาร (Mod) นอยกวาหรือเทากับ ( <= ) Eqv บวกและลบ (+, -) มากกวาหรือเทากับ ( >= ) Lmp

เชื่อมตัวขอความ ( & ) Like, Is

จะเห็นวาถานพิจนมีตวัดําเนนิการหลายแบบปนกัน จะประมวลผลจากซายไปขวาโดยเริ่มจากตัวดําเนินการ Arithmetic กอนตอมาจึงทํา Relational และจากนัน้จึงทํา Logical เปนอันดบัสุดทายแตถาจะเปลี่ยนลําดบัการประมวลผลก็ใหใสเครื่องหมายวงเล็บ ( ) ครอบไว โดยจะทําการประมวลผลนิพจนที่อยูในวงเล็บในสุดกอนแลวไลออกมาตามลําดับ เชน

Page 19: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 19นิพจน การประมวลผล

3 + 4 * 12 จะเริ่มทํา 4 * 12 กอน แลวจึง + 3 = 51 (3 + 4) * 12 จะเริ่มทํา 3 + 4 กอน แลวจึง * 12 = 84 Sale > 5000 AND Revenue > 5 + 6 * 7 จะเริ่มทํา 6 * 7 กอน แลว + 5 = 47 กอน จากนั้นทํา (Sale > 5000) แลวทํา (Revenue

> 47) แลวจึงทํา AND ผลลัพธของ (Sale > 5000) กับผลลัพธของ (Revenue > 47)

ประโยคแบบเงื่อนไข (Condition Statement) จะเปนประโยคคําสั่งที่ใชการสรางเงื่อนไขในโปรแกรมเพื่อใหโปรแกรมไปดําเนินการที่สวนของโปรแกรมที่เราตองการเมื่อเกิดเงื่อนไขที่เรากําหนดไว คําสั่งประเภทนี้ไดแก IF – THEN – ELSE, IF – THEN – ELSE – END IF, IF – THEN – ELSEIF และ SELECT – CASE โดยมีรายละเอียดดังนี ้IF – THEN – ELSE

คือ คําสั่ง IF – THEN เปนคําสั่งที่ใชเมื่อตองการใหคอมพิวเตอรตัดสนิใจวาจะไปทาํงานในโปรแกรมสวนใดจากทางเลือกและขอกําหนดที่เราไดเตรยีมไวใหในโปรแกรม รูปแบบของคําสั่ง IF – THEN จะมลัีกษณะดังนี ้IF (Condition1) THEN Statement1 .....คําสั่งบรรทดัถัดไป...

การทํางานของโปรแกรมจะตรวจสอบ Condition1 วาเปนจริงหรือเท็จ ถาเปนจริงโปรแกรมจะวิ่งไปทํางานที่ Statement1 แตถา Condition1 เปนเท็จโปรแกรมจะขาม Statement1 และวิ่งไปทํางานบรรทัดถัดไปแทน หรือ

Condition1? Statement1 False

True

If (Condition1) THEN Statement1 ELSE Statement2 เพื่อใหทํางาน Statement2 ในกรณีที่ Condition1 เปนเท็จดวยก็ได IF – THEN – ELSE – END IF

จะเหมือนกับ IF – THEN – ELSE เพียงแตสามารถมี Statement ที่จะทํางานมากกวาหนึ่งบรรทดัได (IF- THEN มี Statement ไดเพียงหนึ่งคําสั่งหลัง THEN และหนึ่งคําสั่งหลัง ELSE และจะตองอยูในบรรทัดเดยีวกันเทานั้น) รูปแบบของ IF – THEN – ELSE – END IF จะเปนดังนี ้ IF (Condition1) THEN

(Statement1) (Statement2)

……. (StatementN)

(StatementA) (StatementB)

……. (StatementX)

(StatementA) (StatementB)

……. (StatementX)

(Statement1) (Statement2)

……. (StatementN)

Condition1? True

False

END IF

ELSE

B

A

Page 20: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 20โปรแกรมจะตรวจสอบ Condition1 วาเปนจริงหรือเท็จ

ถา Condition1 เปนจริงจะวิ่งไปทาํงานสวนของโปรแกรมในบล็อก A จาก Statement1 จนถึงบรรทัด StatementN แลวจึงทํางานตอที่คําสั่งหลังบรรทัด END IF

ถา Condition1 เปนจริงจะวิ่งขามบล็อก A ไปทํางานสวนของโปรแกรมในบลอ็ก B จาก StatementA จนถึงบรรทัด StatementX แลวจึงทํางานตอหลังบรรทัด END IF

คําสั่งนี้จะใชโดยไมมีสวนของ ELSE เพื่อให IF – THEN สามารถทํางานหลาย ๆ คําสั่งไดโดยจะตองยังคงมี END IF อยู IF – THEN – ELSEIF

จะมีรูปแบบการใชงานเหมอืนกับ IF – THEN – ELSE – END IF แตจะสามารถใส Condition ซอนเขาไปไดอีก โดยคําสั่งจะมีลักษณะและแผนภาพการทํางานดังนี ้IF (Condition1) THEN … Block1 ELSEIF (Condition2) THEN … Block2 ELSEIF (Condition3) THEN

(Block1)

Condition1?

(Block2)

Condition2?

(Block3)

Condition3?

(Block4)

… Block3 ELSE … Block4 … END IF จากแผนภาพจะเหน็วา

ถา Condition1 เปนจริงโปรแกรมจะทํางานที่ Block1 หลังจากทํา Block1 เสร็จเรียบรอยแลวจะไปทํางานบรรทัดหลัง END IF เลย ไมมีการตรวจสอบ Condition2 ตออีก

ถา Condition1 เปนเท็จ โปรแกรมจึงจะไปตรวจสอบ Conditon2 ตอไป SELECT – CASE คําสั่ง SELECT- CASE เปนคําสั่งในการเลือกทาํ ซ่ึงจะทาํงานคลายกับ IF – THEN – ELSEIF แต SELECT – CASE จะเหมาะสําหับการเปรียบเทียบคาตัวแปรตวัเดียว แลวกระโดดไปทํางานที่สวนอื่น ๆของโปรแกรมตามเงื่อนไขของตวัแปรที่ตรวจสอบ โดยมีรูปแบบการเขียนโปรแกรมดังนี้

Page 21: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 21

ง Condition2 ง Condition3 ง

SELECT Case ตัวแปร Case (Condition1)

… Block1 … Case (Condition2)

ตรวจสอบตัวแปร

Condition1 จริ จริ จริ อ่ืนๆ

Block1 Block2 Block3 Block4 … Block2 … Case (Condition3) … Block3 …

CASE ELSE … Block4 … END SELECT ตัวอยาง โปรแกรมที่ใช SELECT – CASE

ตรวจสอบตัวแปร A

A = 1 A = 2 A = 3 A = คาอื่น ๆ

พิมพ A = 1

พิมพ A = 2

พิมพ A = 3

พิมพ A Not equal 1 or 2 or 3

Select Case A ‘ตรวจสอบตวัแปร Case 1 ‘ถาตัวแปร A = 1 Print “A = 1” ‘พิมพคําวา “A = 1” Case 2 ‘ถาตัวแปร A = 2 Print “A = 2” ‘พิมพคําวา “A = 2” Case 3 ‘ถาตัวแปร A = 3 Print “A = 3” ‘พิมพคําวา “A = 3” Case Else ‘ถาตัวแปรเทากับคาอื่น ๆ Print “A Not equal 1 or 2 or 3.” End Select ‘จบชุดคําสั่ง Select

เงื่อนไขที่ใชใน Case ถาเปนการเปรียบเทียบตัวแปรที่ Select วาเทากบัเทาใด ก็สามารถใชคาคงที่หรือตัวเลขไดในทนัที แตถาตองการเปรียบเทียบซับซอนขึ้นใหใชคําวา IS แทนตัวแปรที่ Select และใชเงื่อนไขการเปรียบเทียบใด ๆ ไดเชนเดยีวกับใน IF – THEN – ELSE IF

Page 22: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 22การเชื่อมตอบรรทัดในการเขียนโปรแกรมดวย Code Editor ในบางครั้งเราตองเขียนโปรแกรมที่มีความยาวมาก ๆ ในบรรทัดเดียว ซ่ึงอานไมสะดวกหรอืไมสามารถจัดพิมพลงบนหนากระดาษไดหมดอยางถูกตอง เราสามารถใชเครื่องหมาย _ (เครื่องหมายขีดลาง _ ) เพื่อเชื่อมตอบรรทัดไดโดย Visual Basic จะมองบรรทดัของโปรแกรมที่มีเครื่องหมาย _ และบรรทัดตอมาเปนเสมือนบรรทัดที่ตอเนื่องกันเปนบรรทัดเดียว ในกรณีทีเ่ปนการตอขอความจะตองปดขอความดวยเครื่องหมายคําพดูเสียกอน แลวใชเครื่องหมาย & เพื่อเชื่อมขอความเขากับบรรทัดตอไปและจะตองมีเครื่องหมาย _ เพื่อบอกวาใหมีการตอบรรทัดดวย ตัวอยางเชน โปรแกรมที่เขียนวา เครื่องหมายตอขอความ Result = MsgBox (“This is a test” & _ “for condition line”, _ เครื่องหมายตอบรรทัด vbInformation + vbOKOnly)

จะมีคาเทากบั Result = MsgBox(“This is a test for condition line”, vbInformation + vbOKOnly) ในทางกลับกนั ถาตองการใสหลาย ๆ คําสั่งไวในบรรทัดเดียวกัน ก็ทําไดโดยใชเครื่องหมาย : คั่นระหวางแตละคําสั่ง การเขียนหมายเหตุในโปรแกรม เราสามารถใสขอความหรือ Comment เพื่ออธิบายหรือเปนโนตเตือนความจาํในโปรแกรมไดโดยใชเครื่องหมายคําพูดเดยีว ‘ (Single quotation mark) การใสหมายเหตุในโปรแกรมจนเปนนิสัยจะเปนประโยชนอยางมากสําหรับโปรแกรมเมอรคนอื่น ๆ ที่เขามาศึกษาโปรแกรมตอจากเรา หรือแมกระทั่งตวัเราเองเมื่อกลับมาดูโปรแกรมและตองการแกไขในภายหลังกจ็ะสามารถเขาใจไดงายขึ้น

สวนของหมายเหตุ (Comment) ใน Visual Basic ซ่ึงจะขึ้นตนดวยเครื่องหมาย ‘ และจะเปนตวัอักษรสีเขียวในโปรแกรม

เคร่ืองหมาย & ในพร็อพเพอรตี้ Caption จะเปนการกําหนดคาที่พร็อพเพอรตี้ใน Caption เปน &Exit ผลจากเครื่องหมาย & (Ampersand) นี้จะทําใหขอความ Exit บนปุมมีขีดเสนใตที่ตวัอักษรแรก เชน Exit ซ่ึงการใช & นี้จะทําใหผูใชงานโปรแกรมสามารถใชคีย Alt + E เพื่อกดปุม Exit ได นอกเหนือจากการใชเมาสเพียงอยางเดยีว ถาเราตองการใชคีย Alt + X ในการควบคมุปุม cmdExit ก็เพียงแตเปล่ียนพร็อพเพอรตี้ Caption ใหเปน E&xit เทานั้นเอง

Page 23: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 23

การใช & ใน Property Caption จะทําใหผูใช สามารถใชคีย Alt + (คียหลังเครื่องหมาย &) ในการควบคุมการกดปุมนั้นไดดวย นอกเหนอืจากการใชเมาสตามปกต ิ

ประโยคแบบวนซ้ํา จากที่ไดศกึษาประโยคควบคมุการทํางานแบบเงื่อนไข (Condition Statement) เชน IF – THEN – ELSE และ SELECT – CASE กันแลว ตอไปนีจ้ะเปนคําสั่งควบคุมการทํางานแบบวนซ้ําหรือที่เรียกวาแบบวนลูป (Iteration Statement) กนับาง ซ่ึงคําสั่งประเภทนี้ไดแก FOR – NEXT, DO – WHILE และ DO UNTIL ซ่ึงก็ลวนแลวแตเปนการทํางานแบบมีเงื่อนไขเชนกัน คําสั่งสําหรับการทําซ้ําหรือวนลูปมีดงัตอไปนี ้FOR NEXT คําสั่ง For Next มีรูปแบบคําสั่งดังนี้ รูปแบบ FOR ตัวแปร = คาเริ่มตน TO คาสิ้นสุด [STEP คาที่เพิ่มขึ้นในแตละรอบ] ชุดคําสั่งตาง ๆ [EXIT FOR] NEXT ตัวแปร ตัวอยาง 1 โปรแกรมพมิพคาตัง้แต 1 ถึง 10 ลงบนฟอรมสามารถเขียนโปรแกรมไดดงันี ้Dim I as Integer ‘ประกาศตวัแปร I เปนเลขจาํนวนเต็ม Private Sub Command1_Click() Cls ‘ลางหนาจอของฟอรมใหวาง (Clear Screen) For I = 1 to 10 ‘กําหนดใหโปรแกรมทํางานตั้งแต I เร่ิมจาก 1 ถึง 10 เพิ่มคาทลีะ 1 Print ‘พิมพคา I ออกทางหนาจอ (1, 2, 3, 4, 5, 6, 7, 8, 9, 10) NEXT I ‘วนกลับไปทําที่บรรทัด For และพิมพคา I ตามคาที่กําหนดใน Step End Sub ‘ถาไมกําหนด จะเปนคาดีฟอลตคือเพิ่มคาทีละ 1 ตัวอยาง 2 โปรแกรมพิมพคาเลขคี่ตั้งแต 1 ถึง 10 ลงบนฟอรม Dim I as Integer ‘ประกาศตวัแปร I เปนเลขจาํนวนเต็ม Private Sub Command1_Click() Cls ‘ลางหนาจอของฟอรมใหวาง (Clear Screen) For I = 1 to 10 ‘กําหนดใหโปรแกรมทํางานตั้งแต I เร่ิมจาก 1 ถึง 10 เพิ่มคาทีละ 2 Print ‘พิมพคา I ออกทางหนาจอ (1, 3, 5, 7, 9) NEXT I ‘วนกลับไปทําที่บรรทัด For และเพิ่มคา I ตามคาที่กําหนดใน Step End Sub

Page 24: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 24ตัวอยาง 3 โปรแกรมพิมพคาเลขคูตั้งแต 20 ถึง 10 ลงบนฟอรม Dim I as Integer ‘ประกาศตวัแปร I เปนเลขจาํนวนเต็ม Private Sub Command1_Click() Cls ‘ลางหนาจอของฟอรมใหวาง (Clear Screen) For I = 20 to 10 Step -2 ‘กําหนดใหโปรแกรมทํางานตั้งแต I เร่ิมจาก 1 ถึง 10 ลดคาทีละ 2 Print ‘พิมพคา I ออกทางหนาจอ (20, 18, 16, 14, 12, 10) NEXT I ‘วนกลับไปทําที่บรรทัด For และลดคา I ตามคาที่กําหนดใน Step End Sub DO – WHILE – LOOP และ DO – LOOP – WHILE รูปแบบคําสั่ง DO – WHILE – LOOP มีดังนี้

Condition1

ชุดคําสั่ง

True รูปแบบ DO WHILE Condition1

False ชุดคําสั่ง [EXIT DO] LOOP ชุดคําสั่งภายในประโยค DO – WHILE จะทําวนซ้ําไปเรื่อยๆ ตราบใดที่ Condition1 เปนจริง (ทําชุดคําสั่ง ในขณะที่ Condition1 จริง) เมื่อใดที่ Condition1 เปนเท็จกจ็ะหลุดออกจากลปูไปทํางานโปรแกรมในบรรทัดถัดไปจากคําสั่ง LOOP

ชุดคําสั่ง

False Condition1

True รูปแบบของคําสั่ง DO – LOOP – WHILE มีดังนี ้รูปแบบ DO ชุดคําสั่ง [EXIT DO] LOOP ชุดคําสั่งภายใน DO – LOOP จะทําวนซ้ําไปเรื่อย ๆ ตราบใดที่ Condition1 เปนจริง (ทําชุดคําสั่งในขณะที ่Condition1 จริง) เมื่อใดที่ Condition1 เปนเท็จกจ็ะหลุดออกจาก Loop While ไปทํางานโปรแกรมในบรรทดัถัดไปจากคําสั่ง Loop While จะเหน็วา Do – While – Loop เหมือนกับ Do – Loop – While แทบทุกประการแตจะตางกันที่การทําชุดคําสั่งในครั้งแรกเทานั้น คือ Do – While – Loop จะมีการตรวจสอบเงื่อนไข Condition1 กอนแลวจึงทําชุดคําสั่ง แตสําหรับ Do – Loop – While จะทําชุดคําสั่งกอนเลยแลวคอยตรวจสอบเงือ่นไขวาจะวนลูปหรือไม ตัวอยาง โปรแกรมสั่งและกนิผัดไทยจนอิม่โดยใช Do – While – Loop และ Do – Loop – While Do While ยังไมอ่ิม Do ส่ังผัดไทย (1) ส่ังผัดไทย (2) กินผัดไทย กินผัดไทย Loop Loop While ยงัไมอ่ิม จะเห็นวาทั้งโปรแกรม (1) และ (2) จะทาํงานเหมือนกนัคือกินผัดไทยจนอิ่มแลวจึงเลิกกินผัดไทยและออกจากลูปแต (1) กับ (2) จะตางกันที่การกนิผัดไทยจานแรก ในโปรแกรม (1) จะมีการถามกอนวาอิ่มหรือยัง ถาอิ่มแลวก็

Page 25: Algorithm flow chart

การเขียนโปรแกรมพื้นฐาน 1 25ไมมีการกินผัดไทยแตจะออกจากลูปเลย แตในโปรแกรมที่ (2) จะไมมีการถาม มาถึงกินผัดไทยจานแรกกอนเลยแลวจึงคอยตรวจสอบเงื่อนไขวาอิ่มหรือยัง Do – Until – Loop และ Do – Loop - Until คําสั่ง Do – Until จะมีลักษณะคลายกับ Do – While เพียงแตจะมีตรรกะในการตัดสินใจการวนลปูกลับกันโดย Do – Until – Loop จะมรูีปแบบคําสั่งดังนี ้รูปแบบ

Condition1

ชุดคําสั่ง

False True Do Until Condition1 ชุดคําสั่ง [EXIT DO] Loop

ชุดคําสั่ง

True Condition1

False รูปแบบ Do ชุดคําสั่ง [EXIT DO] Loop Until สําหรับ Do – Until ชุดคําสั่งจะทําวนซ้ําก็ตอเมื่อ Condition1 เปนเท็จ (ซ่ึงจะตรงขามกับ Do While) กลาวคือชุดคําสั่งจะถูกทําจนกระทั่ง Condition1 เปนจริงแลวจะเลิกทํา สําหรับ Do – Loop – Until ก็จะเหมอืนกับ Do – Until – Loop แตจะตางกันที่การตรวจสอบเงื่อนไขในครั้งแรกเทานั้น ตัวอยาง โปรแกรมสั่งและกินผิดไทยจนอิม่สุด ๆ โดยใช Do – Until – Loop และ Do – Loop – Until Do Until อ่ิมสุด ๆ Do ส่ังผัดไทย ส่ังผัดไทย กินผัดไทย กินผัดไทย Loop Loop Until อ่ิมสุด ๆ