SlideShare a Scribd company logo
บทที่ 2
                         แนะนําให้ร้จกภาษาเบสิก
                                    ู ั
            โปรแกรมคอมพิวเตอร์ภาษาเบสิก (BASIC) สร้างขึนโดย Thomas Kurtz และ
                                                         ้
John Kemeny แห่ง Dartmouth College ในปี ค.ศ.1960 และพัฒนาให้ใช้งานได้ในปี ค.ศ.1964
มีวตถุประสงค์ใช้ในการสอนวิชาคํานวณ งานทางด้านธุรกิจและงานด้านวิทยาศาสตร์ เ
   ั                                                                            ป็น
โปรแกรมทีเหมาะสมสําหรับผู้เริมต้นศึกษาภาษาคอมพิวเตอร์ โดยคําว่า BASIC ย่อมาจาก
          ่                  ่
Beginner All purpose Symbolic Instruction Code

พัฒนาการของภาษาเบสิ ก
             ภาษาเบสิกถูกนํามาใช้งานอย่างแพร่หลาย มีการพัฒนาความสามารถเพิมเติม โดย
                                                                         ่
                  ั
กําหนดคําสั ่งและฟงก์ช ั ่นต่างๆ และเป็นภาษาใหม่ ตัวอย่างเช่น

           •   QuickBASIC
           •   TURBO BASIC
           •   Liberty BASIC
           •   Dark BASIC
           •   Visual BASIC
           •   VB.NET

                 ภาษาเบสิกได้รบการพัฒนาให้เป็นภาษาใหม่หลายภาษา แต่ โครงสร้าง ของภาษา
                               ั
รวมถึงคําสั ่งและกฎเกณฑ์โดยรวมจะคล้ายกัน โดยเพิมความสามารถด้านอืนเข้ามา เช่น Visual
                                                    ่                  ่
Basic หรือ VB.NET เป็นภาษาเบสิกทีมส่วนติดต่อกับผูใช้เป็นแบบกราฟิก (GUI) และสามารถ
                                       ่ ี             ้
เขียนโปรแกรมเชิงวัตถุ (OOP) ได้ เป็นต้น
                 เมื่อศึกษาภาษาเบสิกแบบใดแบบหนึ่งแล้ว จะศึกษาหรือใช้งานภาษาเบสิกแบบอืน
                                                                                     ่
ได้งาย เพราะภาษาเบสิกมีโครงสร้างที่ไม่ซบซ้อน เขียนโปรแกรมเป็นแบบโครงสร้า งได้ และมี
    ่                                      ั
ไวยากรณ์ทง่ายต่อการเรียนรู้
              ่ี
24




ภาพที่ 2.1 ตัวอย่างโปรแกรม QuickBASIC




ภาพที่ 2.2 ตัวอย่างโปรแกรม Liberty BASIC
25




                   ภาพที่ 2.3 ตัวอย่างโปรแกรม Visual Basic 2005

การติ ดตังและรันโปรแกรม QuickBASIC
         ้
           โปรแกรม QuickBASIC จะดาวน์โหลดได้จากเว็บไซต์ตางๆ ในอินเทอร์เน็ต เช่น
                                                        ่

          •   http://www.qbasic.com/
          •   http://www.qbasicnews.com/
          •   http://qbnz.com/pages/downloads/software/
          •   http://www.petesqbsite.com/downloads/

             โปรแกรม QuickBASIC มักจะอยูในรูปแบบของไฟล์บบอัด (นามสกุล zip หรือ rar)
                                        ่                 ี
ดังตัวอย่างชุดไฟล์ของโปรแกรม QuickBASIC ในไฟล์ qb45.zip ในภาพที่ 2.4 ทีประกอบด้วย
                                                                       ่
ตัวโปรแกรม QuickBASIC ทีเป็นไฟล์นามสกุล exe ไฟล์ไลบรารีและไฟล์อนๆ ประกอบ ในภาพ
                            ่                           ่      ่ื
ที่ 2.5 เป็นตัวอย่างไฟล์ของโปรแกรม QuickBASIC เวอร์ชน 2.5 และในภาพที่ 2.6 เป็น
                                                      ั
โปรแกรม QuickBASIC เวอร์ชน 7.1ั
26




ภาพที่ 2.4 ไฟล์โปรแกรม QuickBASIC ทีอยูในไฟล์บบอัด
                                    ่ ่       ี




    ภาพที่ 2.5 โปรแกรม QuickBASIC เวอร์ชน 2.5
                                        ั
27




                      ภาพที่ 2.6 โปรแกรม QuickBASIC เวอร์ชน 7.1
                                                          ั

การเตรียมและติ ดตังโปรแกรมภาษาเบสิ ก
                  ้
          1. ดาวน์โหลดโปรแกรมภาษาเบสิกจากเว็บไซต์ในอินเทอร์เน็ต
          2. ติดตังหรือขยายไฟล์โปร แกรมภาษาเบสิกไปยังโฟลเดอร์ทตองการในเครื่อง
                    ้                                         ่ี ้
             คอมพิวเตอร์
          3. รันโปรแกรมภาษาเบสิกจากแบตช์ไฟล์ ไฟล์นามสกุล .EXE หรือ .COM เช่น
             QBX.BAT QB.COM หรือ QBASIC.EXE เป็นต้น
          4. ทดลองเขียนและรันโค้ดโปรแกรมภาษาเบสิก

การเขียนและรันโค้ดโปรแกรมภาษาเบสิ ก
                ตัวอย่างการเขียนและรันโค้ดโปรแกรมภาษาเบสิก ด้วย QuickBASIC เวอร์ชน 7.1
                                                                                     ั
มีขนตอนดังนี้
   ั้
                1. รันแบตซ์ไฟล์ QBX.BAT จะได้เอดิเตอร์ (Editor) สําหรับเขียนโปรแกรม เลือก
คําสั ่ง File > New Program สร้างโปรแกรมใหม่ ดังภาพที่ 2.7
28




              ภาพที่ 2.7 เลือกคําสั ่ง File > New Program สร้างโปรแกรมใหม่

           2. เขียนโค้ดโปรแกรมภาษาเบสิกลงในเอดิเตอร์ ดังตัวอย่างในภาพที่ 2.8




                        ภาพที่ 2.8 เขียนโค้ดโปรแกรมภาษาเบสิก

                                  ่
           3. รันโปรแกรมโดยกดปุม Shift+F5 หรือเลือกคําสั ่ง Run > Start ดังภาพที่ 2.9 จะ
ได้ผลการรันดังตัวอย่างในภาพที่ 2.10
29




                ภาพที่ 2.9 เลือกคําสั ่ง Run > Start เพื่อรันโค้ดโปรแกรม




                        ภาพที่ 2.10 ผลการทํางานของโปรแกรม

           หากโปรแกรมทีเขียนมีขอผิดพลาด จะมีขอ ความแจ้งออกมาให้ทราบ ดังตัวอย่าง
                        ่      ้             ้
ในภาพที่ 2.11 มีความผิดพลาด Syntax error หมายถึง เขียนคําสั ่งทีผดไวยากรณ์ของภาษา
                                                                ่ ิ
เบสิก
30




                  ภาพที่ 2.11 ข้อความแจ้งความผิดพลาดทางไวยากรณ์

           4. เลือกคําสั ่ง File > Save เพื่อ บันทึกโค้ดโปรแกรม ดังภาพที่ 2.12 กําหนดชือ
                                                                                       ่
ไฟล์ ไดร์ฟและโฟลเดอร์ทจะจัดเก็บ ดังภาพที่ 2.13
                           ่ี




              ภาพที่ 2.12 เลือกคําสั ่ง File > Save บันทึกโค้ดโปรแกรมลงไฟล์
31




               ภาพที่ 2.13 กําหนดชือไฟล์ ไดเรคทอรีและรูปแบบทีจะจัดเก็บ
                                  ่               ่          ่

            ตัวเลือกรูปแบบ (Format) ในการบันทึกโค้ดโปรแกรมของ QuickBASIC มี 2 แบบ
คือ ไบนารี (Binary) และข้อความ (Text) ดังภาพที่ 2.14




                       ภาพที่ 2.14 รูปแบบการบันทึกโค้ดโปรแกรม

             การบันทึกแบบไบนารีจะเป็นการบันทึกด้วยรูปแบบของ QuickBASIC มีขอดีคอ    ้ ื
การเปิดหรือบันทึกโค้ดโปรแกรมจะทําได้เร็ว ข้อเสียคือไม่สามารถเปิดไฟล์โค้ดโปรแกรมด้วย
เอดิเตอร์อน เช่น Notepad เนื่องจากข้อมูลจะถูก บันทึกเป็นแบบไบนารี ดังตัวอย่างในรูปที่ 2.15
          ่ื
ถ้าเลือกบันทึกแบบข้อความจะเปิด ดูโค้ดโปรแกรมด้วย เอดิเตอร์อนได้ ดังตัวอย่างภาพที่ 2.16
                                                            ่ื
ส่วนการสร้างไฟล์ทรนได้ (Executable File) ทําได้โดยเลือกคําสั ่ง Run > Make EXE File…
                   ่ี ั
ดังภาพที่ 2.17
32




ภาพที่ 2.15 ตัวอย่างโค้ดโปรแกรมทีบนทึกในรูปแบบไบนารี่
                                 ่ ั




ภาพที่ 2.16 ตัวอย่างโค้ดโปรแกรมทีบนทึกในรูปแบบข้อความ
                                 ่ ั




    ภาพที่ 2.17 เลือกคําสั ่ง Run > Make EXE File…
33



            เงื่อนไขการสร้างไฟล์ EXE ในตัวอย่างรูปที่ 2.18 ได้กาหนดให้สร้างออกมาเป็น
                                                               ํ
ไฟล์ทชอ TEST.EXE
     ่ี ่ ื




            ภาพที่ 2.18 ตังชื่อและกําหนดเงื่อนไขต่างๆ ของการสร้างไฟล์ EXE
                          ้

           ตัวอย่างไฟล์ TEST.EXE มีขนาด 28,516 ไบต์ ผลการรันเป็นดังภาพที่ 2.19 และ
2.20 ตามลําดับ




                         ภาพที่ 2.19 ตัวอย่างไฟล์ TEST.EXE
34




                         ภาพที่ 2.20 ผลการรันไฟล์ TEST.EXE

           การเปิดหรือโหลดโค้ดโปรแกรม ภาษาเบสิกทํา ได้โดยเลือกคําสั ่ง File > Open
Program ดังภาพที่ 2.21 จะมีไดอะล็อกให้เลือกไฟล์ ดังตัวอย่างในภาพที่ 2.22




               ภาพที่ 2.21 เลือกคําสั ่ง File > Open Program เพื่อเปิดไฟล์
35




                        ภาพที่ 2.22 ไดอะล็อกสําหรับเลือกไฟล์

ปัญหาการรันโปรแกรม QuickBASIC
            โปรแกรม QuickBASIC ได้พฒนาสําหรับระบบปฏิบตการ DOS การอ้างอิงและ
                                      ั                   ั ิ
ติดต่อกับหน่วยความจําเป็นแบบ 16 บิต เมือนํามารันในระบบปฏิบตการ เช่น Windows XP ที่
                                        ่                    ั ิ
                                           ั
มีการอ้างอิงหน่วยความจําแบบ 32 บิต จะพบปญหาการใช้งานซีพยู 100% ดังภาพที่ 2.23
                                                           ี




                 ภาพที่ 2.23 สถานะของซีพยเู มือรัน QuickBASIC 2.5
                                        ี ่
36



              ั
           ปญหานี้แก้ได้โดยเปลียนไปใช้โปรแกรม QuickBASIC เวอร์ชน 7.1 ทีจะไม่ใช้งาน
                               ่                               ั       ่
ซีพยู 100% ดังตัวอย่างสถานะของซีพยในรูปที่ 2.24
   ี                             ี ู




                 ภาพที่ 2.24 สถานะของซีพยเู มือรัน QuickBASIC 7.1
                                        ี ่

            สําหรับการรันโปรแกรม QuickBASIC เวอร์ชน 7.1 โดยผ่านแบตซ์ไฟล์ QBX.BAT
                                                  ั
จะมีไดอะล็อกแจ้งว่าไม่สามารถปรับค่าจอภาพหรือการแสดงผลให้เป็นแบบเต็มจอ (fullscreen
mode) ดังตัวอย่างในภาพที่ 2.25




          ภาพที่ 2.25 ไดอะล็อกแจ้งความผิดพลาดเรื่องการแสดงผลแบบเต็มจอ

            ั
          ปญหานี้แก้ได้โดยคลิกขวาทีไฟล์ QBX.BAT เลือกคําสั ่ง Properties ในไดอะล็อก
                                    ่
QBX Properties เลือกแท็บ Screen คลิกตัวเลือก Window กําหนดให้โปรแกรม QuickBASIC
รันแบบ Window ดังภาพที่ 2.26
37




                       ภาพที่ 2.26 เลือกการแสดงผลเป็นแบบ Window

ชนิ ดข้อมูล
            ภาษาโปรแกรมทุกภาษาจะมีการกําหนดชนิดของข้อมูล (Data Type) เพื่อ ใช้เก็บ
ข้อมูล โดยข้อมูลทีจะนํามาใช้งานในภาษาโปรแกรมได้จะต้องถูกเก็บด้วยรูปแบบหรือชนิดข้อมูล
                  ่
ชนิดใดชนิดหนึ่ง ชนิดข้อมูลในภาษาโปรแกรมจะมี 2 ประเภทคือ ข้อความ (Strings) กับตัวเลข
(Numerical)
            ชนิดข้อมูลของโปรแกรมภาษาเบสิก ทีเป็นแบบข้อความจะมีแบบเดียวคือ Strings
                                            ่
แต่ชนิดข้อมูลทีเป็นตัวเลขจะแบ่งเป็น 4 แบบ
               ่

              •   Integers คือ เลขจํานวนเต็ม
              •   Long Integer คือ เลขจํานวนเต็มทีมชวงของค่าทีเก็บได้มากกว่า Integers
                                                   ่ ี่       ่
              •   Single คือ เลขทีมจุดทศนิยม มีความละเอียดของจุดทศนิยม 7 หลัก
                                  ่ ี
              •   Double คือ เลขทีมจุดทศนิยม มีความละเอียดของจุดทศนิยม 15 หลักและมี
                                    ่ ี
                  ช่วงของค่าทีเก็บได้มากกว่า Single
                              ่
38



                                   Data Type




                    Strings                    Numerical




                                           Long
                        Integers                       Single        Double
                                         Integers




               ขอบเขตหรือช่วง (Range) ทีชนิดข้อมูลแต่ละแบบสามารถเก็บค่าได้ แสดงไว้ใน
                                        ่
ตารางที่ 2.1

ตารางที่ 2.1 ขอบเขตของชนิดข้อมูลแบบต่างๆ

                    ชนิ ดข้อมูล                 ค่าตําสุด
                                                     ่               ค่าสูงสุด
         Strings                               0 ตัวอักษร        32,767 ตัวอักษร
         Integers                               -32,768               32,767
         Long Integers                      -2,147,483,648        2,147,483,647
         Single (ทศนิยม 7 หลัก)             ±1.401298 E-45       ±3.402823 E+38
         Double (ทศนิยม 15 หลัก)           ±2.940656 D-324      ±1.7976931 D+308

               หน่ วยความจําทีตองใช้สาหรับชนิดข้อมูลแต่ละแบบ แสดงไว้ในตารางที่ 2.2
                              ่ ้    ํ

ตารางที่ 2.2 ขนาดหน่วยความจําของข้อมูลแต่ละแบบ

                        ชนิ ดข้อมูล                  ขนาด (ไบต์)
                      Strings              เท่ากับจํานวนอักขระในข้อความ
                      Integers                           2
                      Long Integers                      4
                      Single                             4
                      Double                             8
39



ตัวแปร
             การใช้งานชนิดข้อมูลจะต้องใช้งานผ่านตัวแปร โดยกําหนดให้ตวแปรมีชนิดข้อมูล
                                                                    ั
แบบใดแบบหนึ่งและจะต้องตังชื่อตัวแปรเพื่อใช้อางอิงหรือเรียกใช้งาน
                           ้                 ้
             ชือตัวแปร ในภาษาเบสิกมีความยาวได้สง สุด 40 อักขระ ประกอบด้วยตัวอักษร
              ่                                  ู
ตัวเลข เครื่องหมายจุด และ อาจมี เครื่องหมายกําหนดชนิดของตัวแป ร (% & ! # และ $)
ตัวอย่างเช่น

           •   Salary
           •   num1
           •   XYZ
           •   AveragePrice
           •   Name$
           •   Bonus%

           ชือตัวแปรในภาษาเบสิกไม่ มีความแตกต่างเรืองตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่
            ่                                        ่
ตัวแปร Salary salary หรือ SALARY จะหมายถึงตัวแปรตัวเดียวกัน หลักสําคัญในการตังชือ ตัว
                                                                               ้ ่
แปรคือ อักขระแรกของชือตัวแปรจะต้องเป็นตัวอักษรและจะต้องไม่ซากับคําสงวน (Reserved
                      ่                                      ้ํ
Words) ตัวอย่างชือตัวแปรต่อไปนี้ จะไม่สามารถใช้งานได้ในภาษาเบสิก
                 ่

           •   GOTO (ซํากับคําสงวน)
                         ้
           •   8num (ไม่ได้ขนต้นด้วยตัวอักษร)
                                 ้ึ
           •   For (ซํากับคําสงวน)
                       ้
           •   %total (ไม่ได้ขนต้นด้วยตัวอักษร)
                              ้ึ
           •   Total_price (มีอกขระพิเศษแทรกอยูในชือตัวแปร)
                                    ั           ่ ่

กฎการตังชื่อตัวแปร
       ้
           1. ชือตัวแปรมีความยาวได้สงสุด 40 ตัวอักษร
                  ่                   ู
           2. อักขระแรกของชือตัวแปรจะต้องเป็นตัวอักษร (A-Z และ a-z)
                             ่
                ่              ้ํ                    ่ ั
           3. ชือตัวแปรต้องไม่ซากับคําสงวนอันได้แก่ ชือฟงก์ช ั ่นหรือคําสั ่งต่างๆ ของภาษา
              เบสิก (เช่น FOR GOTO LOOP IF เป็นต้น)
40



           4. ชือตัวแปรจะต้องไม่ซากับค่าคงที่ (Constant) หรือชือโปรแกรมย่อย (SUB
                  ่                ้ํ                         ่
              หรือ Function) ทีใช้งานหรือเขียนอยูในโปรแกรม
                               ่                 ่
           5. ชือตัวแปรไม่ความแตกต่างกันในเรืองตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่ (Case
                ่                              ่
              Insensitive)

การประกาศตัวแปร
        การประกาศตัวแปรในภาษาเบสิกสามารถทําได้ 2 แบบคือ

           • ประกาศตัวแปรด้วยคําสั ่ง DIM … AS
           • ประกาศตัวแปรด้วยการระบุชนิดข้อมูล

ประกาศตัวแปรด้วยคําสั ่ง DIM … AS
             การประกาศตัวแปรด้วยคําสั ่ง DIM … AS เป็นการประกาศชื่อตัวแปรพร้อมกับ
ชนิดข้อมูลทีตวแปรจะจัดเก็บ โดยทียงไม่มการกําหนดค่าหรือให้คาใดๆ แ ก่ตวแปร เป็นการ
            ่ ั                 ่ ั ี                     ่           ั
เตรียมตัวแปรให้พร้อมก่อนทีจะใช้งาน ดังโครงสร้างการประกาศดังนี้
                          ่

           DIM ชือตัวแปร AS
                ่             ชนิดของตัวแปร

           ตัวอย่างการประกาศตัวแปรชือ num และกําหนดชนิดข้อมูลเป็นแบบ INTEGER
                                   ่

           DIM num AS INTEGER


           เมื่อประกาศตัวแปรแล้วจะกําหนดหรือให้คาแก่ตวแปรได้ เช่น
                                                ่    ั

           num = 250


           คําทีจะใช้กาหนดชนิดข้อมูลของตัวแปรทีประกาศ แสดงไว้ในตารางที่ 2.3
                ่     ํ                        ่

ตารางที่ 2.3 คําทีใช้กาหนดชนิดตัวแปร
                  ่ ํ

                     คําที่ใช้กาหนดชนิ ดตัวแปร
                               ํ                  ชนิ ดข้อมูล
                                 STRING        Strings
                               INTEGER         Integers
41



                              LONG               Long Integers
                             SINGLE              Single
                             DOUBLE              Double

         ตัวอย่างโปรแกรม 2.1 แสดงการประกาศตัวแปรด้วยคําสั ่ง DIM และการใช้งานตัว
แปรภายในโปรแกรม

              ตัวอย่างโปรแกรม 2.1

              DIM x AS INTEGER
              DIM y AS INTEGER
              DIM z AS INTEGER
              DIM s AS INTEGER
              DIM a AS SINGLE

              x = 10
              y=5
              z = 30
              s=x+y+z
              a=s/3
              PRINT a




                      ภาพที่ 2.27 ผลการทํางานของโปรแกรม 2.1

            การประกาศตัวแปรทีมชนิดข้อมูลเหมือนกันหลายๆ ตัว ให้ เขียนอยูในคําสั ่ง DIM
                              ่ ี                                       ่
โดยเขียนชื่อตัวแปรแต่ละตัวแยกจากกันด้วยเครื่องหมายจุลภาค ดังตัวอย่างโปรแกรม 2.2

              ตัวอย่างโปรแกรม 2.2

              DIM x AS INTEGER, y AS INTEGER, z AS INTEGER
              DIM s AS INTEGER, a AS INTEGER
              x = 10
42



              y=5
              z = 30
              s=x+y+z
              a=s/3
              PRINT a




                      ภาพที่ 2.28 ผลการทํางานของโปรแกรม 2.2

ประกาศตัวแปรด้วยการระบุชนิ ดข้อมูล
             การปร ะกาศตัวแปรด้วยการระบุชนิดข้อมูล ทําได้โดยเขียนสัญลักษณ์ บอกชนิด
ข้อมูล ของตัวแปร คือ % & ! # หรือ $ ไว้ทายตัวแปร โดยสัญลักษณ์แต่ล ะตัวจะ หมายถึง
                                           ้
ชนิดข้อมูลต่างๆ ดังตารางที่ 2.4

ตารางที่ 2.4 สัญลักษณ์ของข้อมูลชนิดต่างๆ

                          สัญลักษณ์         ชนิ ดข้อมูล
                              $        Strings
                             %         Integers
                              &        Long Integers
                              !        Single
                              #        Double

            การประกาศ ตัวแปร ด้วยวิธน้จะเป็นการประกาศตัวแปร และกําหนดชนิดข้อ มูล
                                      ี ี
พร้อมกับให้คา ตัวแปร
            ่
            ตัวอย่างต่อไปนี้เป็นการประกาศตัวแปรชือ fname$ ให้เป็นตัวแปรทีเก็บข้อความ
                                                  ่                        ่
(กําหนดชนิดข้อมูลเป็น String) และนําข้อความ “Bill Gates” ไปเก็บไว้ในตัวแปร

       fname$ = "Bill Gates"
43



       ตัวอย่างการประกาศและใช้งานตัวแปรในโปรแกรมแสดงไว้ในโปรแกรม 2.3

              ตัวอย่างโปรแกรม 2.3

              x% = 10
              y% = 5
              z% = 30
              s% = x% + y% + z%
              a! = s% / 3
              PRINT a!




                      ภาพที่ 2.29 ผลการทํางานของโปรแกรม 2.3

           ข้อดีของการประกาศตัวแปรด้วยการระบุชนิดข้อมูล
              • สัญลักษณ์ทายตัวแปรจะเป็นตัวกํากับทังข้อมูลทีจดเก็บและบอกชนิด ข้อมูล
                            ้                       ้       ่ ั
                  สามารถปร ะกาศตัวแปรแล้วใช้งานได้โดยไม่ตองประกาศตัวแปรไว้
                                                          ้
                  ล่วงหน้า
              • ผู้เขียนโปรแกรมจะทราบว่าตัวแปรแต่ละตัว มีชนิดข้อมูลแบบใดและ
                  ขอบเขตในการเก็บข้อมูลของตัวแปรแต่ละตัว

           ตัวอย่างโปรแกรม 2.4 เป็นการเขียนโปรแกรมโดย นําค่าทีเกินขอบเขต ของตัว แปร
                                                              ่
ไปเก็บลงตัวแปร ทําให้คาทีได้ผดพลาด
                      ่ ่ ิ

              ตัวอย่างโปรแกรม 2.4

              DIM x AS INTEGER
              DIM y AS INTEGER
              DIM z AS INTEGER
44



             x = 10
             y=4
             z=x/y
             PRINT z




                    ภาพที่ 2.30 ผลการทํางานของโปรแกรม 2.4

         หากไม่ประกาศตัวแปรก่อนใช้งาน ภาษาเบสิกจะกําหนดให้ตวแปรนันมีขอมูลเป็น
                                                           ั     ้ ้
แบบ SINGLE

          ตัวอย่างการประกาศตัวแปร

             ตัวอย่างโปรแกรม 2.5

             DIM x AS INTEGER, y AS INTEGER, z AS INTEGER
             DIM s AS INTEGER, a AS SINGLE

             x% = 10
             y% = 5
             z% = 30
             s% = x% + y% + z%
             a! = s% / 3
             PRINT a!




                    ภาพที่ 2.31 ผลการทํางานของโปรแกรม 2.5
45



การดําเนิ นการทางคณิ ตศาสตร์
            ภาษาโปรแกรมทุกภาษาจะมีกรรมวิธในการดําเนินการทางคณิตศาสตร์กบข้อมูล
                                           ี                            ั
ขันพืนฐานคือ บวก ลบ คูณ หาร ตัวดําเนินการทางคณิตศาสตร์ (Operators) ทีนํามากระทํา
  ้ ้                                                                ่
กับข้อมูลในทางคณิตศาสตร์ของภาษาเบสิก แสดงไว้ในตารางที่ 2.5

ตารางที่ 2.5 ตัวดําเนินการทางคณิตศาสตร์

                       การกระทํา           เครืองหมายตัวกระทํา
                                               ่
                           บวก                      +
                            ลบ                      -
                           คูณ                      *
                      หารเอาคําตอบ                  /
                       หารเอาเศษ                  MOD
                    หาร (ได้จานวนเต็ม)
                             ํ                      
                         ยกกําลัง                   ^

           การใช้เครื่องหมายตัวกระทํากับข้อมูลใดๆ จะต้องมีตวถูกดําเนินการ (Operands)
                                                           ั
2 ตัว และจะได้คาตอบหรือผลออกมาเพียงค่าเดียว ตามโครงสร้างนิพจน์การคํานวณ Operand
               ํ
Operator Operand ดังตัวอย่างในตารางที่ 2.6

ตารางที่ 2.6 ตัวอย่างนิพจน์การคํานวณและผลทีได้
                                           ่

                             นิ พจน์ คานวณ
                                       ํ         ผลที่ได้
                                   3+7             10
                                  12.6 / 2         6.3
                                0.25 * 100         25
                                3500 – 459        3041
                                11 MOD 3            2
                                   22  7           3
                                   2^8             256
46



            เครื่องหมายลบ สามารถใช้เป็นตัวดําเนินการเอกภาค (Unary Operation) โดยใช้
เขียนหน้าตัวเลขหรือตัวแปรเพื่อให้ค่าเป็นนิเสธ (Negation) ตัวอย่างเช่น -65.5 หรือ –total เป็น
ต้น

ลําดับการคํานวณในนิ พจน์
            นิพจน์ ท่มการคํานวณซับซ้อน และมีตวกระทํามากกว่า 1 ตัว ตัวอย่างเช่น 5.0 /
                             ี ี                               ั
9.0 * F - 32 จะมีลาดับการคํานวณในนิพจน์ดงนี้
                       ํ                                   ั
            1. การใช้เครื่องหมายลบในความหมายของนิเสธ จะต้องเขียนติดกับตัวเลขหรือ
หน้าตัวแปร เช่น -25 ห้ามมีช่องว่างระหว่างเครื่องหมายกับตัวเลขหรือตัวแปร
            2. เครืองหมายตัวกระทําทางคณิตศาสตร์จะต้องไม่อยูในลําดับทีตดกัน เช่น 9 * / 3
                     ่                                                     ่      ่ ิ
ยกเว้นว่าตัวถูกกระทําตัวหลังมีการใช้เครื่องหมายลบในความหมายของนิเสธ เช่น 9 * -3
            3. ใช้เครื่องหมายวงเล็บเปิดและปิดเพื่อจัดกลุ่มการคํานวณ นิพจน์ทอยูในวงเล็บจะ ่ี ่
ได้รบการคํานวณหรือประมวลผลก่อน เช่น นิพจน์ (3 * 10) / (10 - 4) จะมีการคํานวณคือ 3 *
      ั
10 และ 10 – 4 ได้คา 30 และ 6 จากนัน 30 / 6 จะได้รบการคํานวณเป็นลําดับต่อไป ได้ผล
                         ่                             ้          ั
ออกมาเป็น 5 และเป็นคําตอบของนิพจน์
            4. เครื่องหมายวงเล็บทีใช้จดลําดับการคํานวณในนิพจน์ สามารถอยูซอนกันได้ เช่น
                                                    ่ ั                                 ่ ้
(20 * (5 + 2) / 7 ) – 4 ได้คาตอบของนิพจน์เป็น 16 โดยนิพจน์ทอยูในวงเล็บชันในสุดจะได้รบ
                                        ํ                                ่ี ่         ้         ั
การคํานวณก่อน จากนันจะคํานวณออกไปสูวงเล็บด้านนอก จนกระทั ่งคํานวณครบทุกส่วนใน
                                 ้                       ่
นิพจน์ และจํานวนเครื่องหมายวงเล็บเปิดจะต้องเท่ากับเครื่องหมายวงเล็บปิด
            5. เครืองหมายวงเล็บไม่สามารถใช้แทนในความหมายของการคูณ จะต้องเขียน
                   ่
เครืองหมายตัวกระทํา * ตัวอย่างเช่น (8 + 2) (7 * 5) จะต้องเขียนเป็น (8 + 2) * (7 * 5)
    ่
            6. ในกรณีทไม่มการเขียนเครื่องหมายวงเล็บเพื่อจัดกลุ่มการคํานวณในนิพจน์
                                   ่ี ี
ลําดับการคํานวณจะขึนอยูกบเครืองหมายตัวกระทํา ซึงขึนอยูกบว่าเครืองหมายใดมีความสําคัญ
                               ้ ่ ั ่                           ่ ้ ่ ั      ่
ในการคํานวณมากกว่ากันและจะได้รบการประมวลผลก่อน (Precedence) ตามกฎต่อไปนี้
                                                     ั
                                     6.1 เครืองหมายตัวกระทํา – ทีใช้ในความหมายของนิเสธจะได้รบการ
                                              ่                     ่                         ั
            ประมวลผลก่อน
                                     6.2 เครืองหมายตัวกระทํา ^ จะได้รบการประมวลผลเป็นลําดับต่อไป
                                            ่                         ั
                                     6.3 เครืองหมายตัวกระทํา * และ / จะได้การประมวลผลเป็นลําดับ
                                                ่
            ต่อไป สําหรับนิพจน์ทมเี ครืองหมายตัวกระทํา * หรือ / มากกว่า 1 ตําแหน่ง ก็จะ
                                                  ่ี ่
            พิจารณาและประมวลผลจากซ้ายไปขวา เช่น นิพจน์ 30 / 5 * 7 / 4 มีตวกระทํา *          ั
            และ / ซึงมีความสําคัญเท่ากัน ดังนันลําดับการคํานวณจึงทําจากซ้ายไปขวา ได้
                           ่                                 ้
            คําตอบนิพจน์ออกมาเป็น 10.5 ดังนี้
47



                       30 / 5 * 7 / 4
                       6*7/4
                       6*7/4
                       42 / 4
                       42 / 4
                       10.5

                       6.4 ตัวกระทํา MOD จะได้รบการประมวลผลเป็นลําดับต่อไป
                                                ั
                       6.5 เครืองหมายตัวกระทํา  จะได้รบการประมวลผลเป็นลําดับต่อไป
                                ่                      ั
                       6.6 เครืองหมายตัวกระทํา + และ - จะได้การประมวลผลเป็นลําดับ
                              ่
           ต่อไป สําหรับนิพจน์ทมเี ครืองหมายตัวกระทํา + หรือ - มากกว่า 1 ตําแหน่ง จะ
                                  ่ี ่
           พิจารณาและประมวลผลจากซ้ายไปขวา

             ในนิพจน์ทมตวกระทําหลายตัวและแต่ละตัวมีลาดับความสําคัญในการประมวลผล
                        ่ี ี ั                      ํ
ไม่เท่ากัน ตัวกระทําทีมค่ามากกว่าจะได้รบการประมวลผลก่อน เช่น นิพจน์ 80 + 2 * 9 / 3 จะมี
                      ่ ี              ั
การลําดับการประมวลผลดังนี้

           80 + 2 * 9 / 3
           80 + 18 / 3
           80 + 18 / 3
           80 + 6
           80 + 6
           86

           ตัวอย่างโปรแกรมหาคําตอบของนิพจน์ 80 + 2 * 9 / 3 แสดงไว้ในโปรแกรม 2.6

               ตัวอย่างโปรแกรม 2.6

               DIM x AS INTEGER

               x = 80 + 2 * 9 / 3
               PRINT “80 + 2 * 9 / 3 = “; x
48




                      ภาพที่ 2.32 ผลการทํางานของโปรแกรม 2.6

          นิพจน์ 11  3 * 2 + 4 ^ 2 / 2 – 8 จะมีการลําดับการประมวลผลดังนี้

          11  3 * 2 + 4 ^ 2 / 2 – 8
          11  6 + 4 ^ 2 / 2 – 8
          11  6 + 4 ^ 2 / 2 – 8
          1+4^2/2–8
          1+4^2/2–8
          1 + 16 / 2 – 8
          1 + 16 / 2 – 8
          1+8–8
          1+8–8
          9–8
          9–8
          1
          ตัวอย่างโปรแกรมหาคําตอบของนิพจน์ 11  3 * 2 + 4 ^ 2 / 2 – 8 แสดงไว้ใน
โปรแกรม 2.7

              ตัวอย่างโปรแกรม 2.7

              DIM x AS INTEGER

              x = 11  3 * 2 + 4 ^ 2 / 2 – 8
              PRINT “11  3 * 2 + 4 ^ 2 / 2 – 8 = “; x
49




                     ภาพที่ 2.33 ผลการทํางานของโปรแกรม 2.7

          นิพจน์ (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5 จะมีการลําดับการประมวลผลดังนี้

          (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5
          (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5
          (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5
          (28 / 7 * 25) * 5 - 12 MOD 5
          (28 / 7 * 25) * 5 - 12 MOD 5
          (4 * 25) * 5 - 12 MOD 5
          (4 * 25) * 5 - 12 MOD 5
          100 * 5 - 12 MOD 5
          100 * 5 - 12 MOD 5
          500 - 12 MOD 5
          500 - 12 MOD 5
          500 – 2
          500 – 2
          498

         ตัวอย่างโปรแกรมหาคําตอบของนิพจน์ (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5 แสดงไว้
ในโปรแกรม 2.8

              ตัวอย่างโปรแกรม 2.8

              DIM x AS INTEGER

              x = (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5
              PRINT "(28 / 7 * 5 ^ 2) * 5 - 12 MOD 5 = "; x
50




                      ภาพที่ 2.34 ผลการทํางานของโปรแกรม 2.8

การแสดงข้อมูลทางจอภาพ
              คําสั ่งทีใช้แสดงผลข้อมูลออกทางจอภาพของภาษาเบสิกคือ PRINT ตามด้วยข้อมูล
                        ่
ทีตองการให้แสดง โดยอาจจะเป็นค่าคงทีหรือตัวแปร ถ้าต้องการแสดงข้อมูลหลายๆ ค่าในคําสั ่ง
  ่ ้                                     ่
เดียว ให้ใช้เครื่องหมาย ; หรือ , เป็นตัวแยกแต่ละค่า ดังตัวอย่างโปรแกรม 2.9

              ตัวอย่างโปรแกรม 2.9

              PRINT “Hello”
              PRINT 10, 20, 30
              PRINT 25; 30; 35; 40
              PRINT 6 * 3
              PRINT 3500 – 459
              PRINT “VALUE = ”; 50 / 2




                      ภาพที่ 2.35 ผลการทํางานของโปรแกรม 2.9

          ภาษาเบสิก มีสวนขยาย USING ร่ว มกับคําสั ่ง PRINT เพือกําหนดหรือควบคุม
                       ่                                      ่
รูปแบบการแสดงผลตัวเลข โดยมีรหัสสําหรับควบคุมรูปแบบดังแสดงไว้ในตารางที่ 2.7
51




ตารางที่ 2.7 รหัสควบคุมรูปแบบการแสดงผลของคําสั ่ง PRINT

             รหัส                       ความหมาย
              #     จํานวนหลักการแสดงผลของตัวเลขและแทนทีดวยทีวาง
                                                            ่ ้ ่่
              .     แสดงเครื่องหมายจุดทศนิยม
              ,     แสดงเครื่องหมายจุลภาค
              +     แสดงเครื่องหมาย + หรือ – หน้าตัวเลข
              -     แสดงเครื่องหมาย – หลังตัวเลข (หากมีคาลบ)
                                                        ่

            ตัวอย่างการใช้งาน USING ร่ว มกับคําสั ่ง PRINT เพือจัดรูปแบบการแสดงข้อมูลที่
                                                             ่
เป็นตัวเลข แสดงไว้ในโปรแกรม 2.10

               ตัวอย่างโปรแกรม 2.10

               PRINT USING    "##.###"; .78
               PRINT USING    "###.##"; 987.654
               PRINT USING    "#####.##"; 10.2
               PRINT USING    "+###.##"; -68.95
               PRINT USING    "+###.##"; 558.33
               PRINT USING    "###.##-"; -68.95
               PRINT USING    "###.##-"; 558.33
               PRINT USING    "######,.##"; 12345.67




                      ภาพที่ 2.36 ผลการทํางานของโปรแกรม 2.10
52



          การแสดงค่าตัวเลขหรือตัวแปรหลายตัวโดยใช้รปแบบเดียวกัน ทํา ได้ดง ตัวอย่าง
                                                  ู                    ั
โปรแกรม 2.11

              ตัวอย่างโปรแกรม 2.11

              DIM x1 AS SINGLE, x2 AS SINGLE, x3 AS SINGLE
              DIM y1 AS SINGLE, y2 AS SINGLE, y3 AS SINGLE
              x1 = 28.25
              x2 = 326.75
              x3 = 77.5
              y1 = 162.25
              y2 = 92.75
              y3 = 217.5
              PRINT USING "#####,.##"; x1; x2; x3
              PRINT USING "#####,.##"; y1; y2; y3




                     ภาพที่ 2.37 ผลการทํางานของโปรแกรม 2.11

กรณี ศึกษาที่ 1
           เขียนโปรแกรมแปลงค่าอุณหภูมจากองศาฟาเรนไฮต์เป็นองศาเซลเซียส
                                     ิ

          ขันที่ 1 วิเคราะห์ขอมูลนําเข้า ข้อมูลส่งออกและการประมวลผล
            ้                ้
                    • ข้อมูลนําเข้าคือ ตัวเลขอุณหภูมองศาฟาเรนไฮต์
                                                      ิ
                        (ตัวแปร f แบบ SINGLE)
                    • ข้อมูลส่งออกคือ ตัวเลขอุณหภูมองศาเซลเซียส
                                                        ิ
                        (ตัวแปร c แบบ SINGLE)
                    • การคํานวณองศาเซลเซียส c = 5 / 9 * (f – 32)

          ขันที่ 2 เขียนโปรแกรม
            ้
53



   ตัวอย่างโปรแกรม 2.12

   DIM f AS SINGLE, c AS SINGLE

   f = 75
   c = 5 / 9 * (f - 32)
   PRINT USING "###.##"; c




ขันที่ 3 ทดสอบการทํางานของโปรแกรม
  ้
กําหนดค่าตัวแปร F ให้เป็น 75 จะได้ค่าเท่ากับ 23.89 องศาเซลเซียส




      ภาพที่ 2.38 ผลการทํางานของโปรแกรม 2.12 แบบที่ 1

กําหนดค่าตัวแปร F ให้เป็น 0 จะได้ค่าเท่ากับ -17.78 องศาเซลเซียส




      ภาพที่ 2.39 ผลการทํางานของโปรแกรม 2.12 แบบที่ 2
54



กรณี ศึกษาที่ 2
               เขียนโปรแกรมคํานวณจํานวนชั ่วโมงและนาทีของการทํางานของพนักงาน โดยรับ
ค่าตัวเลขชั ่วโมง นาทีทเี่ ริมเข้าทํางานและตัวเลขชั ่วโมง นาทีทเี่ ลิกงาน
                             ่

           ขันที่ 1 วิเคราะห์ขอมูลนําเข้า ข้อมูลส่งออกและการประมวลผล
             ้                ้
                         • ข้อมูลนําเข้าคือ ตัวเลขชั ่วโมง นาทีทเี่ ข้าทํางานและเลิกงาน
                             h1 ชั ่วโมงทีเข้าทํางาน เป็นแบบ INTEGER
                                             ่
                             m1 นาทีทเี่ ข้าทํางาน เป็นแบบ INTEGER
                             h2 ชั ่วโมงทีเลิกงาน เป็นแบบ INTEGER
                                               ่
                             m2 นาทีทเี่ ลิกงาน เป็นแบบ INTEGER
                         • ข้อมูลส่งออกคือ ตัวเลขจํานวนชั ่วโมงและนาทีททางาน  ่ี ํ
                             hr จํานวนชั ่วโมงทีทางาน เป็นแบบ INTEGER
                                                                 ่ ํ
                             mn จํานวนนาทีททางาน เป็นแบบ INTEGER
                                                              ่ี ํ
                         • การคํานวณ
                             จํานวนนาทีเริมต้น mx = h1 * 60 + m1
                                                        ่
                             จํานวนนาทีสดท้าย my = h2 * 60 + m2
                                                 ุ
                             จํานวนนาทีทงหมดทีทางาน me = my – mx
                                                     ั้              ่ ํ
                             จํานวนชั ่วโมงทีทางาน hr = me  60
                                                          ่ ํ
                             จํานวนนาทีททางาน mn = me MOD 60
                                                   ่ี ํ

           ขันที่ 2 เขียนโปรแกรม
             ้

              ตัวอย่างโปรแกรม 2.13

              DIM h1 AS INTEGER, m1 AS INTEGER
              DIM h2 AS INTEGER, m2 AS INTEGER
              DIM mx AS INTEGER, my AS INTEGER
              DIM me AS INTEGER, hr AS INTEGER
              DIM mn AS INTEGER

              h1 = 6
              m1 = 30
              h2 = 15
              m2 = 50
              mx = h1 * 60 + m1
              my = h2 * 60 + m2
55



               me = my - mx
               hr = me  60
               mn = me MOD 60
               PRINT hr; "Hour(s) "; mn; "minute(s)"



           ขันที่ 3 ทดสอบการทํางานของโปรแกรม
             ้
           กําหนดค่าตัวแปร h1 m1 h2 และ m2 ให้เป็น 6 30 15 และ 50 หมายถึงเริมทํา
                                                                               ่
งาน 6.30 น. และเลิกงาน 15.50 น. จะได้จานวนชั ่วโมงการทํางานออกมาเป็น 9 ชั ่วโมง 20
                                      ํ
นาที




                  ภาพที่ 2.40 ผลการทํางานของโปรแกรม 2.13 แบบที่ 1

           กําหนดค่าตัวแปร h1 m1 h2 และ m2 ให้เป็น 12 57 20 และ 15 หมายถึง เริม   ่
ทํางาน 12.57 น. และเลิกงาน 20.15 น. จะได้จานวนชั ่วโมงการทํางานออกมาเป็น 7 ชั ่วโมง 18
                                          ํ
นาที




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



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

คําถามท้ายบท
          1. อธิบายประโยชน์ของการศึกษาภาษาเบสิก
          2. อธิบายขันตอนการติดตังและรันโปรแกรมภาษาเบสิก
                            ้         ้
          3. อธิบายขันตอนการเขียนและรันโค้ดโปรแกรมภาษาเบสิก
                              ้
          4. ชนิดข้อมูลแบบตัวเลขกับข้อความมีความเหมือนหรือแตกต่างกันอย่างไร
          5. ขอบเขต ของ ข้อมูลและขนาดหน่ วยความจําของชนิดข้อมูลแบบต่างๆ          มี
              ความสัมพันธ์กนอย่างไร
                                ั
          6. อธิบายกฎและวิธการประกาศตัวแปรในภาษาเบสิก
                                  ี
          7. การดําเนินการทางคณิตศาสตร์หมายถึงอะไร
          8. ตัวกระทําและตัวถูกกระทําหมายถึงอะไร มีความสัมพันธ์กนอย่างไร
                                                                ั
          9. อธิบายขันตอนการคํานวณของนิพจน์ ยกตัวอย่างประกอบ
                          ้
          10. คําสั ่งทีใช้สาหรับแสดงข้อมูลบนจอภาพของโปรแกรมภาษาเบสิกคืออะไร
                        ่ ํ
              ยกตัวอย่างการใช้งานประกอบ

กิ จกรรมท้ายบท
           1. ดาวน์โหลดและติดตัง โปรแกรม QBASIC ลงในเครืองคอมพิวเตอร์ โดยให้
                                 ้                            ่
              ติดตังไว้ทโฟลเดอร์ C:QBASIC และสร้างชอร์ทคัทเรียกให้โปรแกรมทํางานไว้
                   ้ ่ี
              บน Desktop ของ Windows
           2. เขียนโปรแกรมต่อไปนี้และบอกผลการรันโปรแกรม

                      DIM x AS INTEGER
                      DIM y AS INTEGER
                      DIM z AS INTEGER
                      INPUT "Enter x ", x
                      INPUT "Enter y ", y
                      IF (x > y) THEN
                        z=x
                      ELSE
                        z=y
                      END IF
                      PRINT "Max = "; z
57




3. สร้างไฟล์ EXE จากโปรแกรมในข้อที่ 2 โดยตังชือไฟล์เป็น DEMO.EXE และ
                                           ้ ่
   รันโปรแกรมบนคอมมานด์ไลน์
4. เขียนโปรแกรมต่อไปนี้และบอกผลการรันโปรแกรม

           DIM x AS INTEGER
           DIM y AS INTEGER
           x = 10
           y=5
           PRINT x * y / 2
           PRINT (x * 2) + y
           PRINT (x * x + (y – 2) / 3)
           PRINT y + y - x * x
           PRINT x * y MOD 8
           PRINT x ^ 2 ^ 3
           PRINT (x / y)  2
           PRINT (x  y) * 2
           PRINT z * (x + y) * 10


5. เขียนโปรแกรมต่อไปนี้ซงเป็นโปรแกรมหาค่าเฉลียของตัวเลข 3 ค่าคือ x y และ
                        ่ึ                   ่
   z หากผลการรันโปรแกรมได้คาออกมาไม่ถกต้อง ให้หาข้อผิดพลาดว่าเกิดจาก
                              ่         ู
   สาเหตุใดและแก้ไขโปรแกรมให้ทางานได้ถกต้อง
                                ํ     ู

           DIM x AS INTEGER
           DIM y AS INTEGER
           DIM z AS INTEGER
           DIM a AS SINGLE
           x = 10
           y = 10
           z = 10
           a=x+y+z/3
           PRINT "Average = ", a
58



                                 เอกสารอ้างอิง
โกสันต์ เทพสิทธิทราภรณ์. (2547). หลักการเขียนโปรแกรม. กรุงเทพฯ : สํานักพิมพ์แม็ค
คณาจารย์ภาควิชาวิศวกรรมคอมพิวเตอร์ สถาบันเทคโนโลยีราชมงคล. (2547). การโปรแกรม
        คอมพิ วเตอร์. ปทุมธานี : ทริปเพิล เซเว่น มัลติเทค
                                            ้
ชูศกดิ ์ ทราวดีพมมุข. (2538). การเขียนโปรแกรมภาษาเบสิ ค (พิมพ์ครังที่ 6). นนทบุร ี :
      ั                  ิ                                         ้
        IQ Center
บุญสืบ โพธิ ์ศรี และคณะ. (2545). คอมพิ วเตอร์เพื่องานอาชีพ. กรุงเทพฯ : ประสานมิตร
บุญสืบ โพธิ ์ศรี และชยธร ฉัตรสุวรรณ. (2546). การเขียนโปรแกรมคอมพิ วเตอร์ 1.
        กรุงเทพฯ : ศูนย์สง เสริมอาชีวะ
                             ่
    ั
ปญญาพล หอระตะ, ผศ. (2545). หลักการเขียนโปรแกรมภาษา C. กรุงเทพฯ : แอ้ดวานซ์
        มีเดียซัพพลายส์
นภัทร วัจนเทพินทร์. (2539). การเขียนโปรแกรมโครงสร้างภาษาเบสิ กด้วย QBASIC
        (พิมพ์ครังที่ 3). ปทุมธานี : สกายบุกส์
                  ้                           ๊
นภัทร วัจนเทพินทร์. (2542). การเขียนโปรแกรมโครงสร้างภาษาเบสิ กบนวิ นโดวส์ 95.
        ปทุมธานี : สกายบุกส์   ๊
ณรงค์เดช วิทยกุล, ภิญ�ู กําเนิดหล่ม. (2544). หลักการเขียนโปรแกรมขันต้น. กรุงเทพฯ :
                                                                     ้
        ฟิสกส์เซ็นเตอร์
             ิ
รุ่งทิวา เสาร์สงห์, ผศ. (2546). การเขียนโปรแกรมคอมพิ วเตอร์เบืองต้น. กรุงเทพฯ :
                      ิ                                         ้
        ซีเอ็ดยูเคชั ่น
วีระ บุญจริง. (2542). หลักการเขียนโปรแกรม(พิมพ์ครังที3). กรุงเทพฯ : ดวงกมลสมัย
                                                          ้ ่
วัชราภรณ์ สุรยภิวฒน์. (2533). คอมพิ วเตอร์เบืองต้นและเทคนิ คการเขียนโปรแกรม
                        ิ ั                       ้
        (พิมพ์ครังที่ 5). กรุงเทพฯ : จุฬาลงกรณ์มหาวิทยาลัย
                    ้
สิทธิชย ประสานวงศ์. (2526). ความรูเกี่ยวกับคอมพิ วเตอร์เบืองต้น. กรุงเทพฯ : ศูนย์อบรม
           ั                              ้                   ้
        คอมพิวเตอร์ธรกิจ   ุ
หาญ เพ็ญแสง. (2541). การเขียนโปรแกรมคอมพิ วเตอร์ 1. กรุงเทพฯ : สํานักพิมพ์เอมพันธ์

More Related Content

Similar to Chapter 2

Lesson1
Lesson1Lesson1
Lesson1
koyjanpang
 
Powerpoint บทที่ 2
Powerpoint บทที่ 2Powerpoint บทที่ 2
Powerpoint บทที่ 2
patchareepoim
 
MediaWiki
MediaWikiMediaWiki
บทที่ 3
บทที่  3บทที่  3
บทที่ 3
She Ja-Good
 
Powerpoint บทที่ 1
Powerpoint บทที่ 1Powerpoint บทที่ 1
Powerpoint บทที่ 1
patchareepoim
 
ใบความรู้ที่ 1 การใช้งานโปรแกรม visual studio 2010 เบื้องต้น
ใบความรู้ที่ 1 การใช้งานโปรแกรม visual studio 2010 เบื้องต้นใบความรู้ที่ 1 การใช้งานโปรแกรม visual studio 2010 เบื้องต้น
ใบความรู้ที่ 1 การใช้งานโปรแกรม visual studio 2010 เบื้องต้นNattapon
 
การเขียนโปรแกรมด้วยVb 6.0
การเขียนโปรแกรมด้วยVb 6.0การเขียนโปรแกรมด้วยVb 6.0
การเขียนโปรแกรมด้วยVb 6.0
ณัฐพล บัวพันธ์
 
ซอฟต์แวร์ทางการศึกษา
ซอฟต์แวร์ทางการศึกษาซอฟต์แวร์ทางการศึกษา
ซอฟต์แวร์ทางการศึกษาjintana_pai
 
พื้นฐานการเขียนโปรแกรม Visual Basic 6.0
พื้นฐานการเขียนโปรแกรมVisual Basic 6.0พื้นฐานการเขียนโปรแกรมVisual Basic 6.0
พื้นฐานการเขียนโปรแกรม Visual Basic 6.0
Bass Bass
 
ความรู้เบื้องต้นเกี่ยวกับโปรแกรม Dreamweaver CS6
ความรู้เบื้องต้นเกี่ยวกับโปรแกรม Dreamweaver CS6ความรู้เบื้องต้นเกี่ยวกับโปรแกรม Dreamweaver CS6
ความรู้เบื้องต้นเกี่ยวกับโปรแกรม Dreamweaver CS6
Khon Kaen University
 
Lesson1 programing concept
Lesson1 programing conceptLesson1 programing concept
Lesson1 programing conceptskiats
 
บุญนภา วสันต์
บุญนภา วสันต์บุญนภา วสันต์
บุญนภา วสันต์
เต๋าเก้า แบร่.
 
การเขียนโปรแกรมโดยใช้ Netbeans
การเขียนโปรแกรมโดยใช้ Netbeansการเขียนโปรแกรมโดยใช้ Netbeans
การเขียนโปรแกรมโดยใช้ Netbeans
Wasin Kunnaphan
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซี
Hathaichon Nonruongrit
 
บทที่ 2 เอกสารและงานวิจัยที่เกี่ยวข้อง เนื้อหา
บทที่ 2 เอกสารและงานวิจัยที่เกี่ยวข้อง เนื้อหาบทที่ 2 เอกสารและงานวิจัยที่เกี่ยวข้อง เนื้อหา
บทที่ 2 เอกสารและงานวิจัยที่เกี่ยวข้อง เนื้อหาVisiene Lssbh
 

Similar to Chapter 2 (20)

Lesson1
Lesson1Lesson1
Lesson1
 
Lesson1
Lesson1Lesson1
Lesson1
 
Lesson1
Lesson1Lesson1
Lesson1
 
Powerpoint บทที่ 2
Powerpoint บทที่ 2Powerpoint บทที่ 2
Powerpoint บทที่ 2
 
MediaWiki
MediaWikiMediaWiki
MediaWiki
 
บทที่ 3
บทที่  3บทที่  3
บทที่ 3
 
Powerpoint บทที่ 1
Powerpoint บทที่ 1Powerpoint บทที่ 1
Powerpoint บทที่ 1
 
Ch21
Ch21Ch21
Ch21
 
ใบความรู้ที่ 1 การใช้งานโปรแกรม visual studio 2010 เบื้องต้น
ใบความรู้ที่ 1 การใช้งานโปรแกรม visual studio 2010 เบื้องต้นใบความรู้ที่ 1 การใช้งานโปรแกรม visual studio 2010 เบื้องต้น
ใบความรู้ที่ 1 การใช้งานโปรแกรม visual studio 2010 เบื้องต้น
 
การเขียนโปรแกรมด้วยVb 6.0
การเขียนโปรแกรมด้วยVb 6.0การเขียนโปรแกรมด้วยVb 6.0
การเขียนโปรแกรมด้วยVb 6.0
 
ยินดีนำเสนอ
ยินดีนำเสนอยินดีนำเสนอ
ยินดีนำเสนอ
 
ซอฟต์แวร์ทางการศึกษา
ซอฟต์แวร์ทางการศึกษาซอฟต์แวร์ทางการศึกษา
ซอฟต์แวร์ทางการศึกษา
 
พื้นฐานการเขียนโปรแกรม Visual Basic 6.0
พื้นฐานการเขียนโปรแกรมVisual Basic 6.0พื้นฐานการเขียนโปรแกรมVisual Basic 6.0
พื้นฐานการเขียนโปรแกรม Visual Basic 6.0
 
ความรู้เบื้องต้นเกี่ยวกับโปรแกรม Dreamweaver CS6
ความรู้เบื้องต้นเกี่ยวกับโปรแกรม Dreamweaver CS6ความรู้เบื้องต้นเกี่ยวกับโปรแกรม Dreamweaver CS6
ความรู้เบื้องต้นเกี่ยวกับโปรแกรม Dreamweaver CS6
 
Lesson1 programing concept
Lesson1 programing conceptLesson1 programing concept
Lesson1 programing concept
 
บุญนภา วสันต์
บุญนภา วสันต์บุญนภา วสันต์
บุญนภา วสันต์
 
การเขียนโปรแกรมโดยใช้ Netbeans
การเขียนโปรแกรมโดยใช้ Netbeansการเขียนโปรแกรมโดยใช้ Netbeans
การเขียนโปรแกรมโดยใช้ Netbeans
 
03 บทที่ 3-วิธีดำเนินงานโครงงาน
03 บทที่ 3-วิธีดำเนินงานโครงงาน03 บทที่ 3-วิธีดำเนินงานโครงงาน
03 บทที่ 3-วิธีดำเนินงานโครงงาน
 
ประวัติภาษาซี
ประวัติภาษาซีประวัติภาษาซี
ประวัติภาษาซี
 
บทที่ 2 เอกสารและงานวิจัยที่เกี่ยวข้อง เนื้อหา
บทที่ 2 เอกสารและงานวิจัยที่เกี่ยวข้อง เนื้อหาบทที่ 2 เอกสารและงานวิจัยที่เกี่ยวข้อง เนื้อหา
บทที่ 2 เอกสารและงานวิจัยที่เกี่ยวข้อง เนื้อหา
 

More from Programming Techniques and Algorithms (11)

Visual Logic User Guide
Visual Logic User GuideVisual Logic User Guide
Visual Logic User Guide
 
Visual Logic Project - 1
Visual Logic Project - 1Visual Logic Project - 1
Visual Logic Project - 1
 
Visual Logic - Process
Visual Logic - ProcessVisual Logic - Process
Visual Logic - Process
 
Visual Logic - Output
Visual Logic - OutputVisual Logic - Output
Visual Logic - Output
 
Visual Logic - Input
Visual Logic - InputVisual Logic - Input
Visual Logic - Input
 
ตัวอย่างการพัฒนาโปรแกรมคำนวณเงินกู้
ตัวอย่างการพัฒนาโปรแกรมคำนวณเงินกู้ตัวอย่างการพัฒนาโปรแกรมคำนวณเงินกู้
ตัวอย่างการพัฒนาโปรแกรมคำนวณเงินกู้
 
Chapter 1
Chapter 1Chapter 1
Chapter 1
 
01 - Introduction to Computer
01 - Introduction to Computer01 - Introduction to Computer
01 - Introduction to Computer
 
01 - Software
01 - Software01 - Software
01 - Software
 
01 - Computer System
01 - Computer System01 - Computer System
01 - Computer System
 
01 - Introduction to Computer
01 - Introduction to Computer01 - Introduction to Computer
01 - Introduction to Computer
 

Chapter 2

  • 1. บทที่ 2 แนะนําให้ร้จกภาษาเบสิก ู ั โปรแกรมคอมพิวเตอร์ภาษาเบสิก (BASIC) สร้างขึนโดย Thomas Kurtz และ ้ John Kemeny แห่ง Dartmouth College ในปี ค.ศ.1960 และพัฒนาให้ใช้งานได้ในปี ค.ศ.1964 มีวตถุประสงค์ใช้ในการสอนวิชาคํานวณ งานทางด้านธุรกิจและงานด้านวิทยาศาสตร์ เ ั ป็น โปรแกรมทีเหมาะสมสําหรับผู้เริมต้นศึกษาภาษาคอมพิวเตอร์ โดยคําว่า BASIC ย่อมาจาก ่ ่ Beginner All purpose Symbolic Instruction Code พัฒนาการของภาษาเบสิ ก ภาษาเบสิกถูกนํามาใช้งานอย่างแพร่หลาย มีการพัฒนาความสามารถเพิมเติม โดย ่ ั กําหนดคําสั ่งและฟงก์ช ั ่นต่างๆ และเป็นภาษาใหม่ ตัวอย่างเช่น • QuickBASIC • TURBO BASIC • Liberty BASIC • Dark BASIC • Visual BASIC • VB.NET ภาษาเบสิกได้รบการพัฒนาให้เป็นภาษาใหม่หลายภาษา แต่ โครงสร้าง ของภาษา ั รวมถึงคําสั ่งและกฎเกณฑ์โดยรวมจะคล้ายกัน โดยเพิมความสามารถด้านอืนเข้ามา เช่น Visual ่ ่ Basic หรือ VB.NET เป็นภาษาเบสิกทีมส่วนติดต่อกับผูใช้เป็นแบบกราฟิก (GUI) และสามารถ ่ ี ้ เขียนโปรแกรมเชิงวัตถุ (OOP) ได้ เป็นต้น เมื่อศึกษาภาษาเบสิกแบบใดแบบหนึ่งแล้ว จะศึกษาหรือใช้งานภาษาเบสิกแบบอืน ่ ได้งาย เพราะภาษาเบสิกมีโครงสร้างที่ไม่ซบซ้อน เขียนโปรแกรมเป็นแบบโครงสร้า งได้ และมี ่ ั ไวยากรณ์ทง่ายต่อการเรียนรู้ ่ี
  • 2. 24 ภาพที่ 2.1 ตัวอย่างโปรแกรม QuickBASIC ภาพที่ 2.2 ตัวอย่างโปรแกรม Liberty BASIC
  • 3. 25 ภาพที่ 2.3 ตัวอย่างโปรแกรม Visual Basic 2005 การติ ดตังและรันโปรแกรม QuickBASIC ้ โปรแกรม QuickBASIC จะดาวน์โหลดได้จากเว็บไซต์ตางๆ ในอินเทอร์เน็ต เช่น ่ • http://www.qbasic.com/ • http://www.qbasicnews.com/ • http://qbnz.com/pages/downloads/software/ • http://www.petesqbsite.com/downloads/ โปรแกรม QuickBASIC มักจะอยูในรูปแบบของไฟล์บบอัด (นามสกุล zip หรือ rar) ่ ี ดังตัวอย่างชุดไฟล์ของโปรแกรม QuickBASIC ในไฟล์ qb45.zip ในภาพที่ 2.4 ทีประกอบด้วย ่ ตัวโปรแกรม QuickBASIC ทีเป็นไฟล์นามสกุล exe ไฟล์ไลบรารีและไฟล์อนๆ ประกอบ ในภาพ ่ ่ ่ื ที่ 2.5 เป็นตัวอย่างไฟล์ของโปรแกรม QuickBASIC เวอร์ชน 2.5 และในภาพที่ 2.6 เป็น ั โปรแกรม QuickBASIC เวอร์ชน 7.1ั
  • 4. 26 ภาพที่ 2.4 ไฟล์โปรแกรม QuickBASIC ทีอยูในไฟล์บบอัด ่ ่ ี ภาพที่ 2.5 โปรแกรม QuickBASIC เวอร์ชน 2.5 ั
  • 5. 27 ภาพที่ 2.6 โปรแกรม QuickBASIC เวอร์ชน 7.1 ั การเตรียมและติ ดตังโปรแกรมภาษาเบสิ ก ้ 1. ดาวน์โหลดโปรแกรมภาษาเบสิกจากเว็บไซต์ในอินเทอร์เน็ต 2. ติดตังหรือขยายไฟล์โปร แกรมภาษาเบสิกไปยังโฟลเดอร์ทตองการในเครื่อง ้ ่ี ้ คอมพิวเตอร์ 3. รันโปรแกรมภาษาเบสิกจากแบตช์ไฟล์ ไฟล์นามสกุล .EXE หรือ .COM เช่น QBX.BAT QB.COM หรือ QBASIC.EXE เป็นต้น 4. ทดลองเขียนและรันโค้ดโปรแกรมภาษาเบสิก การเขียนและรันโค้ดโปรแกรมภาษาเบสิ ก ตัวอย่างการเขียนและรันโค้ดโปรแกรมภาษาเบสิก ด้วย QuickBASIC เวอร์ชน 7.1 ั มีขนตอนดังนี้ ั้ 1. รันแบตซ์ไฟล์ QBX.BAT จะได้เอดิเตอร์ (Editor) สําหรับเขียนโปรแกรม เลือก คําสั ่ง File > New Program สร้างโปรแกรมใหม่ ดังภาพที่ 2.7
  • 6. 28 ภาพที่ 2.7 เลือกคําสั ่ง File > New Program สร้างโปรแกรมใหม่ 2. เขียนโค้ดโปรแกรมภาษาเบสิกลงในเอดิเตอร์ ดังตัวอย่างในภาพที่ 2.8 ภาพที่ 2.8 เขียนโค้ดโปรแกรมภาษาเบสิก ่ 3. รันโปรแกรมโดยกดปุม Shift+F5 หรือเลือกคําสั ่ง Run > Start ดังภาพที่ 2.9 จะ ได้ผลการรันดังตัวอย่างในภาพที่ 2.10
  • 7. 29 ภาพที่ 2.9 เลือกคําสั ่ง Run > Start เพื่อรันโค้ดโปรแกรม ภาพที่ 2.10 ผลการทํางานของโปรแกรม หากโปรแกรมทีเขียนมีขอผิดพลาด จะมีขอ ความแจ้งออกมาให้ทราบ ดังตัวอย่าง ่ ้ ้ ในภาพที่ 2.11 มีความผิดพลาด Syntax error หมายถึง เขียนคําสั ่งทีผดไวยากรณ์ของภาษา ่ ิ เบสิก
  • 8. 30 ภาพที่ 2.11 ข้อความแจ้งความผิดพลาดทางไวยากรณ์ 4. เลือกคําสั ่ง File > Save เพื่อ บันทึกโค้ดโปรแกรม ดังภาพที่ 2.12 กําหนดชือ ่ ไฟล์ ไดร์ฟและโฟลเดอร์ทจะจัดเก็บ ดังภาพที่ 2.13 ่ี ภาพที่ 2.12 เลือกคําสั ่ง File > Save บันทึกโค้ดโปรแกรมลงไฟล์
  • 9. 31 ภาพที่ 2.13 กําหนดชือไฟล์ ไดเรคทอรีและรูปแบบทีจะจัดเก็บ ่ ่ ่ ตัวเลือกรูปแบบ (Format) ในการบันทึกโค้ดโปรแกรมของ QuickBASIC มี 2 แบบ คือ ไบนารี (Binary) และข้อความ (Text) ดังภาพที่ 2.14 ภาพที่ 2.14 รูปแบบการบันทึกโค้ดโปรแกรม การบันทึกแบบไบนารีจะเป็นการบันทึกด้วยรูปแบบของ QuickBASIC มีขอดีคอ ้ ื การเปิดหรือบันทึกโค้ดโปรแกรมจะทําได้เร็ว ข้อเสียคือไม่สามารถเปิดไฟล์โค้ดโปรแกรมด้วย เอดิเตอร์อน เช่น Notepad เนื่องจากข้อมูลจะถูก บันทึกเป็นแบบไบนารี ดังตัวอย่างในรูปที่ 2.15 ่ื ถ้าเลือกบันทึกแบบข้อความจะเปิด ดูโค้ดโปรแกรมด้วย เอดิเตอร์อนได้ ดังตัวอย่างภาพที่ 2.16 ่ื ส่วนการสร้างไฟล์ทรนได้ (Executable File) ทําได้โดยเลือกคําสั ่ง Run > Make EXE File… ่ี ั ดังภาพที่ 2.17
  • 10. 32 ภาพที่ 2.15 ตัวอย่างโค้ดโปรแกรมทีบนทึกในรูปแบบไบนารี่ ่ ั ภาพที่ 2.16 ตัวอย่างโค้ดโปรแกรมทีบนทึกในรูปแบบข้อความ ่ ั ภาพที่ 2.17 เลือกคําสั ่ง Run > Make EXE File…
  • 11. 33 เงื่อนไขการสร้างไฟล์ EXE ในตัวอย่างรูปที่ 2.18 ได้กาหนดให้สร้างออกมาเป็น ํ ไฟล์ทชอ TEST.EXE ่ี ่ ื ภาพที่ 2.18 ตังชื่อและกําหนดเงื่อนไขต่างๆ ของการสร้างไฟล์ EXE ้ ตัวอย่างไฟล์ TEST.EXE มีขนาด 28,516 ไบต์ ผลการรันเป็นดังภาพที่ 2.19 และ 2.20 ตามลําดับ ภาพที่ 2.19 ตัวอย่างไฟล์ TEST.EXE
  • 12. 34 ภาพที่ 2.20 ผลการรันไฟล์ TEST.EXE การเปิดหรือโหลดโค้ดโปรแกรม ภาษาเบสิกทํา ได้โดยเลือกคําสั ่ง File > Open Program ดังภาพที่ 2.21 จะมีไดอะล็อกให้เลือกไฟล์ ดังตัวอย่างในภาพที่ 2.22 ภาพที่ 2.21 เลือกคําสั ่ง File > Open Program เพื่อเปิดไฟล์
  • 13. 35 ภาพที่ 2.22 ไดอะล็อกสําหรับเลือกไฟล์ ปัญหาการรันโปรแกรม QuickBASIC โปรแกรม QuickBASIC ได้พฒนาสําหรับระบบปฏิบตการ DOS การอ้างอิงและ ั ั ิ ติดต่อกับหน่วยความจําเป็นแบบ 16 บิต เมือนํามารันในระบบปฏิบตการ เช่น Windows XP ที่ ่ ั ิ ั มีการอ้างอิงหน่วยความจําแบบ 32 บิต จะพบปญหาการใช้งานซีพยู 100% ดังภาพที่ 2.23 ี ภาพที่ 2.23 สถานะของซีพยเู มือรัน QuickBASIC 2.5 ี ่
  • 14. 36 ั ปญหานี้แก้ได้โดยเปลียนไปใช้โปรแกรม QuickBASIC เวอร์ชน 7.1 ทีจะไม่ใช้งาน ่ ั ่ ซีพยู 100% ดังตัวอย่างสถานะของซีพยในรูปที่ 2.24 ี ี ู ภาพที่ 2.24 สถานะของซีพยเู มือรัน QuickBASIC 7.1 ี ่ สําหรับการรันโปรแกรม QuickBASIC เวอร์ชน 7.1 โดยผ่านแบตซ์ไฟล์ QBX.BAT ั จะมีไดอะล็อกแจ้งว่าไม่สามารถปรับค่าจอภาพหรือการแสดงผลให้เป็นแบบเต็มจอ (fullscreen mode) ดังตัวอย่างในภาพที่ 2.25 ภาพที่ 2.25 ไดอะล็อกแจ้งความผิดพลาดเรื่องการแสดงผลแบบเต็มจอ ั ปญหานี้แก้ได้โดยคลิกขวาทีไฟล์ QBX.BAT เลือกคําสั ่ง Properties ในไดอะล็อก ่ QBX Properties เลือกแท็บ Screen คลิกตัวเลือก Window กําหนดให้โปรแกรม QuickBASIC รันแบบ Window ดังภาพที่ 2.26
  • 15. 37 ภาพที่ 2.26 เลือกการแสดงผลเป็นแบบ Window ชนิ ดข้อมูล ภาษาโปรแกรมทุกภาษาจะมีการกําหนดชนิดของข้อมูล (Data Type) เพื่อ ใช้เก็บ ข้อมูล โดยข้อมูลทีจะนํามาใช้งานในภาษาโปรแกรมได้จะต้องถูกเก็บด้วยรูปแบบหรือชนิดข้อมูล ่ ชนิดใดชนิดหนึ่ง ชนิดข้อมูลในภาษาโปรแกรมจะมี 2 ประเภทคือ ข้อความ (Strings) กับตัวเลข (Numerical) ชนิดข้อมูลของโปรแกรมภาษาเบสิก ทีเป็นแบบข้อความจะมีแบบเดียวคือ Strings ่ แต่ชนิดข้อมูลทีเป็นตัวเลขจะแบ่งเป็น 4 แบบ ่ • Integers คือ เลขจํานวนเต็ม • Long Integer คือ เลขจํานวนเต็มทีมชวงของค่าทีเก็บได้มากกว่า Integers ่ ี่ ่ • Single คือ เลขทีมจุดทศนิยม มีความละเอียดของจุดทศนิยม 7 หลัก ่ ี • Double คือ เลขทีมจุดทศนิยม มีความละเอียดของจุดทศนิยม 15 หลักและมี ่ ี ช่วงของค่าทีเก็บได้มากกว่า Single ่
  • 16. 38 Data Type Strings Numerical Long Integers Single Double Integers ขอบเขตหรือช่วง (Range) ทีชนิดข้อมูลแต่ละแบบสามารถเก็บค่าได้ แสดงไว้ใน ่ ตารางที่ 2.1 ตารางที่ 2.1 ขอบเขตของชนิดข้อมูลแบบต่างๆ ชนิ ดข้อมูล ค่าตําสุด ่ ค่าสูงสุด Strings 0 ตัวอักษร 32,767 ตัวอักษร Integers -32,768 32,767 Long Integers -2,147,483,648 2,147,483,647 Single (ทศนิยม 7 หลัก) ±1.401298 E-45 ±3.402823 E+38 Double (ทศนิยม 15 หลัก) ±2.940656 D-324 ±1.7976931 D+308 หน่ วยความจําทีตองใช้สาหรับชนิดข้อมูลแต่ละแบบ แสดงไว้ในตารางที่ 2.2 ่ ้ ํ ตารางที่ 2.2 ขนาดหน่วยความจําของข้อมูลแต่ละแบบ ชนิ ดข้อมูล ขนาด (ไบต์) Strings เท่ากับจํานวนอักขระในข้อความ Integers 2 Long Integers 4 Single 4 Double 8
  • 17. 39 ตัวแปร การใช้งานชนิดข้อมูลจะต้องใช้งานผ่านตัวแปร โดยกําหนดให้ตวแปรมีชนิดข้อมูล ั แบบใดแบบหนึ่งและจะต้องตังชื่อตัวแปรเพื่อใช้อางอิงหรือเรียกใช้งาน ้ ้ ชือตัวแปร ในภาษาเบสิกมีความยาวได้สง สุด 40 อักขระ ประกอบด้วยตัวอักษร ่ ู ตัวเลข เครื่องหมายจุด และ อาจมี เครื่องหมายกําหนดชนิดของตัวแป ร (% & ! # และ $) ตัวอย่างเช่น • Salary • num1 • XYZ • AveragePrice • Name$ • Bonus% ชือตัวแปรในภาษาเบสิกไม่ มีความแตกต่างเรืองตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่ ่ ่ ตัวแปร Salary salary หรือ SALARY จะหมายถึงตัวแปรตัวเดียวกัน หลักสําคัญในการตังชือ ตัว ้ ่ แปรคือ อักขระแรกของชือตัวแปรจะต้องเป็นตัวอักษรและจะต้องไม่ซากับคําสงวน (Reserved ่ ้ํ Words) ตัวอย่างชือตัวแปรต่อไปนี้ จะไม่สามารถใช้งานได้ในภาษาเบสิก ่ • GOTO (ซํากับคําสงวน) ้ • 8num (ไม่ได้ขนต้นด้วยตัวอักษร) ้ึ • For (ซํากับคําสงวน) ้ • %total (ไม่ได้ขนต้นด้วยตัวอักษร) ้ึ • Total_price (มีอกขระพิเศษแทรกอยูในชือตัวแปร) ั ่ ่ กฎการตังชื่อตัวแปร ้ 1. ชือตัวแปรมีความยาวได้สงสุด 40 ตัวอักษร ่ ู 2. อักขระแรกของชือตัวแปรจะต้องเป็นตัวอักษร (A-Z และ a-z) ่ ่ ้ํ ่ ั 3. ชือตัวแปรต้องไม่ซากับคําสงวนอันได้แก่ ชือฟงก์ช ั ่นหรือคําสั ่งต่างๆ ของภาษา เบสิก (เช่น FOR GOTO LOOP IF เป็นต้น)
  • 18. 40 4. ชือตัวแปรจะต้องไม่ซากับค่าคงที่ (Constant) หรือชือโปรแกรมย่อย (SUB ่ ้ํ ่ หรือ Function) ทีใช้งานหรือเขียนอยูในโปรแกรม ่ ่ 5. ชือตัวแปรไม่ความแตกต่างกันในเรืองตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญ่ (Case ่ ่ Insensitive) การประกาศตัวแปร การประกาศตัวแปรในภาษาเบสิกสามารถทําได้ 2 แบบคือ • ประกาศตัวแปรด้วยคําสั ่ง DIM … AS • ประกาศตัวแปรด้วยการระบุชนิดข้อมูล ประกาศตัวแปรด้วยคําสั ่ง DIM … AS การประกาศตัวแปรด้วยคําสั ่ง DIM … AS เป็นการประกาศชื่อตัวแปรพร้อมกับ ชนิดข้อมูลทีตวแปรจะจัดเก็บ โดยทียงไม่มการกําหนดค่าหรือให้คาใดๆ แ ก่ตวแปร เป็นการ ่ ั ่ ั ี ่ ั เตรียมตัวแปรให้พร้อมก่อนทีจะใช้งาน ดังโครงสร้างการประกาศดังนี้ ่ DIM ชือตัวแปร AS ่ ชนิดของตัวแปร ตัวอย่างการประกาศตัวแปรชือ num และกําหนดชนิดข้อมูลเป็นแบบ INTEGER ่ DIM num AS INTEGER เมื่อประกาศตัวแปรแล้วจะกําหนดหรือให้คาแก่ตวแปรได้ เช่น ่ ั num = 250 คําทีจะใช้กาหนดชนิดข้อมูลของตัวแปรทีประกาศ แสดงไว้ในตารางที่ 2.3 ่ ํ ่ ตารางที่ 2.3 คําทีใช้กาหนดชนิดตัวแปร ่ ํ คําที่ใช้กาหนดชนิ ดตัวแปร ํ ชนิ ดข้อมูล STRING Strings INTEGER Integers
  • 19. 41 LONG Long Integers SINGLE Single DOUBLE Double ตัวอย่างโปรแกรม 2.1 แสดงการประกาศตัวแปรด้วยคําสั ่ง DIM และการใช้งานตัว แปรภายในโปรแกรม ตัวอย่างโปรแกรม 2.1 DIM x AS INTEGER DIM y AS INTEGER DIM z AS INTEGER DIM s AS INTEGER DIM a AS SINGLE x = 10 y=5 z = 30 s=x+y+z a=s/3 PRINT a ภาพที่ 2.27 ผลการทํางานของโปรแกรม 2.1 การประกาศตัวแปรทีมชนิดข้อมูลเหมือนกันหลายๆ ตัว ให้ เขียนอยูในคําสั ่ง DIM ่ ี ่ โดยเขียนชื่อตัวแปรแต่ละตัวแยกจากกันด้วยเครื่องหมายจุลภาค ดังตัวอย่างโปรแกรม 2.2 ตัวอย่างโปรแกรม 2.2 DIM x AS INTEGER, y AS INTEGER, z AS INTEGER DIM s AS INTEGER, a AS INTEGER x = 10
  • 20. 42 y=5 z = 30 s=x+y+z a=s/3 PRINT a ภาพที่ 2.28 ผลการทํางานของโปรแกรม 2.2 ประกาศตัวแปรด้วยการระบุชนิ ดข้อมูล การปร ะกาศตัวแปรด้วยการระบุชนิดข้อมูล ทําได้โดยเขียนสัญลักษณ์ บอกชนิด ข้อมูล ของตัวแปร คือ % & ! # หรือ $ ไว้ทายตัวแปร โดยสัญลักษณ์แต่ล ะตัวจะ หมายถึง ้ ชนิดข้อมูลต่างๆ ดังตารางที่ 2.4 ตารางที่ 2.4 สัญลักษณ์ของข้อมูลชนิดต่างๆ สัญลักษณ์ ชนิ ดข้อมูล $ Strings % Integers & Long Integers ! Single # Double การประกาศ ตัวแปร ด้วยวิธน้จะเป็นการประกาศตัวแปร และกําหนดชนิดข้อ มูล ี ี พร้อมกับให้คา ตัวแปร ่ ตัวอย่างต่อไปนี้เป็นการประกาศตัวแปรชือ fname$ ให้เป็นตัวแปรทีเก็บข้อความ ่ ่ (กําหนดชนิดข้อมูลเป็น String) และนําข้อความ “Bill Gates” ไปเก็บไว้ในตัวแปร fname$ = "Bill Gates"
  • 21. 43 ตัวอย่างการประกาศและใช้งานตัวแปรในโปรแกรมแสดงไว้ในโปรแกรม 2.3 ตัวอย่างโปรแกรม 2.3 x% = 10 y% = 5 z% = 30 s% = x% + y% + z% a! = s% / 3 PRINT a! ภาพที่ 2.29 ผลการทํางานของโปรแกรม 2.3 ข้อดีของการประกาศตัวแปรด้วยการระบุชนิดข้อมูล • สัญลักษณ์ทายตัวแปรจะเป็นตัวกํากับทังข้อมูลทีจดเก็บและบอกชนิด ข้อมูล ้ ้ ่ ั สามารถปร ะกาศตัวแปรแล้วใช้งานได้โดยไม่ตองประกาศตัวแปรไว้ ้ ล่วงหน้า • ผู้เขียนโปรแกรมจะทราบว่าตัวแปรแต่ละตัว มีชนิดข้อมูลแบบใดและ ขอบเขตในการเก็บข้อมูลของตัวแปรแต่ละตัว ตัวอย่างโปรแกรม 2.4 เป็นการเขียนโปรแกรมโดย นําค่าทีเกินขอบเขต ของตัว แปร ่ ไปเก็บลงตัวแปร ทําให้คาทีได้ผดพลาด ่ ่ ิ ตัวอย่างโปรแกรม 2.4 DIM x AS INTEGER DIM y AS INTEGER DIM z AS INTEGER
  • 22. 44 x = 10 y=4 z=x/y PRINT z ภาพที่ 2.30 ผลการทํางานของโปรแกรม 2.4 หากไม่ประกาศตัวแปรก่อนใช้งาน ภาษาเบสิกจะกําหนดให้ตวแปรนันมีขอมูลเป็น ั ้ ้ แบบ SINGLE ตัวอย่างการประกาศตัวแปร ตัวอย่างโปรแกรม 2.5 DIM x AS INTEGER, y AS INTEGER, z AS INTEGER DIM s AS INTEGER, a AS SINGLE x% = 10 y% = 5 z% = 30 s% = x% + y% + z% a! = s% / 3 PRINT a! ภาพที่ 2.31 ผลการทํางานของโปรแกรม 2.5
  • 23. 45 การดําเนิ นการทางคณิ ตศาสตร์ ภาษาโปรแกรมทุกภาษาจะมีกรรมวิธในการดําเนินการทางคณิตศาสตร์กบข้อมูล ี ั ขันพืนฐานคือ บวก ลบ คูณ หาร ตัวดําเนินการทางคณิตศาสตร์ (Operators) ทีนํามากระทํา ้ ้ ่ กับข้อมูลในทางคณิตศาสตร์ของภาษาเบสิก แสดงไว้ในตารางที่ 2.5 ตารางที่ 2.5 ตัวดําเนินการทางคณิตศาสตร์ การกระทํา เครืองหมายตัวกระทํา ่ บวก + ลบ - คูณ * หารเอาคําตอบ / หารเอาเศษ MOD หาร (ได้จานวนเต็ม) ํ ยกกําลัง ^ การใช้เครื่องหมายตัวกระทํากับข้อมูลใดๆ จะต้องมีตวถูกดําเนินการ (Operands) ั 2 ตัว และจะได้คาตอบหรือผลออกมาเพียงค่าเดียว ตามโครงสร้างนิพจน์การคํานวณ Operand ํ Operator Operand ดังตัวอย่างในตารางที่ 2.6 ตารางที่ 2.6 ตัวอย่างนิพจน์การคํานวณและผลทีได้ ่ นิ พจน์ คานวณ ํ ผลที่ได้ 3+7 10 12.6 / 2 6.3 0.25 * 100 25 3500 – 459 3041 11 MOD 3 2 22 7 3 2^8 256
  • 24. 46 เครื่องหมายลบ สามารถใช้เป็นตัวดําเนินการเอกภาค (Unary Operation) โดยใช้ เขียนหน้าตัวเลขหรือตัวแปรเพื่อให้ค่าเป็นนิเสธ (Negation) ตัวอย่างเช่น -65.5 หรือ –total เป็น ต้น ลําดับการคํานวณในนิ พจน์ นิพจน์ ท่มการคํานวณซับซ้อน และมีตวกระทํามากกว่า 1 ตัว ตัวอย่างเช่น 5.0 / ี ี ั 9.0 * F - 32 จะมีลาดับการคํานวณในนิพจน์ดงนี้ ํ ั 1. การใช้เครื่องหมายลบในความหมายของนิเสธ จะต้องเขียนติดกับตัวเลขหรือ หน้าตัวแปร เช่น -25 ห้ามมีช่องว่างระหว่างเครื่องหมายกับตัวเลขหรือตัวแปร 2. เครืองหมายตัวกระทําทางคณิตศาสตร์จะต้องไม่อยูในลําดับทีตดกัน เช่น 9 * / 3 ่ ่ ่ ิ ยกเว้นว่าตัวถูกกระทําตัวหลังมีการใช้เครื่องหมายลบในความหมายของนิเสธ เช่น 9 * -3 3. ใช้เครื่องหมายวงเล็บเปิดและปิดเพื่อจัดกลุ่มการคํานวณ นิพจน์ทอยูในวงเล็บจะ ่ี ่ ได้รบการคํานวณหรือประมวลผลก่อน เช่น นิพจน์ (3 * 10) / (10 - 4) จะมีการคํานวณคือ 3 * ั 10 และ 10 – 4 ได้คา 30 และ 6 จากนัน 30 / 6 จะได้รบการคํานวณเป็นลําดับต่อไป ได้ผล ่ ้ ั ออกมาเป็น 5 และเป็นคําตอบของนิพจน์ 4. เครื่องหมายวงเล็บทีใช้จดลําดับการคํานวณในนิพจน์ สามารถอยูซอนกันได้ เช่น ่ ั ่ ้ (20 * (5 + 2) / 7 ) – 4 ได้คาตอบของนิพจน์เป็น 16 โดยนิพจน์ทอยูในวงเล็บชันในสุดจะได้รบ ํ ่ี ่ ้ ั การคํานวณก่อน จากนันจะคํานวณออกไปสูวงเล็บด้านนอก จนกระทั ่งคํานวณครบทุกส่วนใน ้ ่ นิพจน์ และจํานวนเครื่องหมายวงเล็บเปิดจะต้องเท่ากับเครื่องหมายวงเล็บปิด 5. เครืองหมายวงเล็บไม่สามารถใช้แทนในความหมายของการคูณ จะต้องเขียน ่ เครืองหมายตัวกระทํา * ตัวอย่างเช่น (8 + 2) (7 * 5) จะต้องเขียนเป็น (8 + 2) * (7 * 5) ่ 6. ในกรณีทไม่มการเขียนเครื่องหมายวงเล็บเพื่อจัดกลุ่มการคํานวณในนิพจน์ ่ี ี ลําดับการคํานวณจะขึนอยูกบเครืองหมายตัวกระทํา ซึงขึนอยูกบว่าเครืองหมายใดมีความสําคัญ ้ ่ ั ่ ่ ้ ่ ั ่ ในการคํานวณมากกว่ากันและจะได้รบการประมวลผลก่อน (Precedence) ตามกฎต่อไปนี้ ั 6.1 เครืองหมายตัวกระทํา – ทีใช้ในความหมายของนิเสธจะได้รบการ ่ ่ ั ประมวลผลก่อน 6.2 เครืองหมายตัวกระทํา ^ จะได้รบการประมวลผลเป็นลําดับต่อไป ่ ั 6.3 เครืองหมายตัวกระทํา * และ / จะได้การประมวลผลเป็นลําดับ ่ ต่อไป สําหรับนิพจน์ทมเี ครืองหมายตัวกระทํา * หรือ / มากกว่า 1 ตําแหน่ง ก็จะ ่ี ่ พิจารณาและประมวลผลจากซ้ายไปขวา เช่น นิพจน์ 30 / 5 * 7 / 4 มีตวกระทํา * ั และ / ซึงมีความสําคัญเท่ากัน ดังนันลําดับการคํานวณจึงทําจากซ้ายไปขวา ได้ ่ ้ คําตอบนิพจน์ออกมาเป็น 10.5 ดังนี้
  • 25. 47 30 / 5 * 7 / 4 6*7/4 6*7/4 42 / 4 42 / 4 10.5 6.4 ตัวกระทํา MOD จะได้รบการประมวลผลเป็นลําดับต่อไป ั 6.5 เครืองหมายตัวกระทํา จะได้รบการประมวลผลเป็นลําดับต่อไป ่ ั 6.6 เครืองหมายตัวกระทํา + และ - จะได้การประมวลผลเป็นลําดับ ่ ต่อไป สําหรับนิพจน์ทมเี ครืองหมายตัวกระทํา + หรือ - มากกว่า 1 ตําแหน่ง จะ ่ี ่ พิจารณาและประมวลผลจากซ้ายไปขวา ในนิพจน์ทมตวกระทําหลายตัวและแต่ละตัวมีลาดับความสําคัญในการประมวลผล ่ี ี ั ํ ไม่เท่ากัน ตัวกระทําทีมค่ามากกว่าจะได้รบการประมวลผลก่อน เช่น นิพจน์ 80 + 2 * 9 / 3 จะมี ่ ี ั การลําดับการประมวลผลดังนี้ 80 + 2 * 9 / 3 80 + 18 / 3 80 + 18 / 3 80 + 6 80 + 6 86 ตัวอย่างโปรแกรมหาคําตอบของนิพจน์ 80 + 2 * 9 / 3 แสดงไว้ในโปรแกรม 2.6 ตัวอย่างโปรแกรม 2.6 DIM x AS INTEGER x = 80 + 2 * 9 / 3 PRINT “80 + 2 * 9 / 3 = “; x
  • 26. 48 ภาพที่ 2.32 ผลการทํางานของโปรแกรม 2.6 นิพจน์ 11 3 * 2 + 4 ^ 2 / 2 – 8 จะมีการลําดับการประมวลผลดังนี้ 11 3 * 2 + 4 ^ 2 / 2 – 8 11 6 + 4 ^ 2 / 2 – 8 11 6 + 4 ^ 2 / 2 – 8 1+4^2/2–8 1+4^2/2–8 1 + 16 / 2 – 8 1 + 16 / 2 – 8 1+8–8 1+8–8 9–8 9–8 1 ตัวอย่างโปรแกรมหาคําตอบของนิพจน์ 11 3 * 2 + 4 ^ 2 / 2 – 8 แสดงไว้ใน โปรแกรม 2.7 ตัวอย่างโปรแกรม 2.7 DIM x AS INTEGER x = 11 3 * 2 + 4 ^ 2 / 2 – 8 PRINT “11 3 * 2 + 4 ^ 2 / 2 – 8 = “; x
  • 27. 49 ภาพที่ 2.33 ผลการทํางานของโปรแกรม 2.7 นิพจน์ (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5 จะมีการลําดับการประมวลผลดังนี้ (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5 (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5 (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5 (28 / 7 * 25) * 5 - 12 MOD 5 (28 / 7 * 25) * 5 - 12 MOD 5 (4 * 25) * 5 - 12 MOD 5 (4 * 25) * 5 - 12 MOD 5 100 * 5 - 12 MOD 5 100 * 5 - 12 MOD 5 500 - 12 MOD 5 500 - 12 MOD 5 500 – 2 500 – 2 498 ตัวอย่างโปรแกรมหาคําตอบของนิพจน์ (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5 แสดงไว้ ในโปรแกรม 2.8 ตัวอย่างโปรแกรม 2.8 DIM x AS INTEGER x = (28 / 7 * 5 ^ 2) * 5 - 12 MOD 5 PRINT "(28 / 7 * 5 ^ 2) * 5 - 12 MOD 5 = "; x
  • 28. 50 ภาพที่ 2.34 ผลการทํางานของโปรแกรม 2.8 การแสดงข้อมูลทางจอภาพ คําสั ่งทีใช้แสดงผลข้อมูลออกทางจอภาพของภาษาเบสิกคือ PRINT ตามด้วยข้อมูล ่ ทีตองการให้แสดง โดยอาจจะเป็นค่าคงทีหรือตัวแปร ถ้าต้องการแสดงข้อมูลหลายๆ ค่าในคําสั ่ง ่ ้ ่ เดียว ให้ใช้เครื่องหมาย ; หรือ , เป็นตัวแยกแต่ละค่า ดังตัวอย่างโปรแกรม 2.9 ตัวอย่างโปรแกรม 2.9 PRINT “Hello” PRINT 10, 20, 30 PRINT 25; 30; 35; 40 PRINT 6 * 3 PRINT 3500 – 459 PRINT “VALUE = ”; 50 / 2 ภาพที่ 2.35 ผลการทํางานของโปรแกรม 2.9 ภาษาเบสิก มีสวนขยาย USING ร่ว มกับคําสั ่ง PRINT เพือกําหนดหรือควบคุม ่ ่ รูปแบบการแสดงผลตัวเลข โดยมีรหัสสําหรับควบคุมรูปแบบดังแสดงไว้ในตารางที่ 2.7
  • 29. 51 ตารางที่ 2.7 รหัสควบคุมรูปแบบการแสดงผลของคําสั ่ง PRINT รหัส ความหมาย # จํานวนหลักการแสดงผลของตัวเลขและแทนทีดวยทีวาง ่ ้ ่่ . แสดงเครื่องหมายจุดทศนิยม , แสดงเครื่องหมายจุลภาค + แสดงเครื่องหมาย + หรือ – หน้าตัวเลข - แสดงเครื่องหมาย – หลังตัวเลข (หากมีคาลบ) ่ ตัวอย่างการใช้งาน USING ร่ว มกับคําสั ่ง PRINT เพือจัดรูปแบบการแสดงข้อมูลที่ ่ เป็นตัวเลข แสดงไว้ในโปรแกรม 2.10 ตัวอย่างโปรแกรม 2.10 PRINT USING "##.###"; .78 PRINT USING "###.##"; 987.654 PRINT USING "#####.##"; 10.2 PRINT USING "+###.##"; -68.95 PRINT USING "+###.##"; 558.33 PRINT USING "###.##-"; -68.95 PRINT USING "###.##-"; 558.33 PRINT USING "######,.##"; 12345.67 ภาพที่ 2.36 ผลการทํางานของโปรแกรม 2.10
  • 30. 52 การแสดงค่าตัวเลขหรือตัวแปรหลายตัวโดยใช้รปแบบเดียวกัน ทํา ได้ดง ตัวอย่าง ู ั โปรแกรม 2.11 ตัวอย่างโปรแกรม 2.11 DIM x1 AS SINGLE, x2 AS SINGLE, x3 AS SINGLE DIM y1 AS SINGLE, y2 AS SINGLE, y3 AS SINGLE x1 = 28.25 x2 = 326.75 x3 = 77.5 y1 = 162.25 y2 = 92.75 y3 = 217.5 PRINT USING "#####,.##"; x1; x2; x3 PRINT USING "#####,.##"; y1; y2; y3 ภาพที่ 2.37 ผลการทํางานของโปรแกรม 2.11 กรณี ศึกษาที่ 1 เขียนโปรแกรมแปลงค่าอุณหภูมจากองศาฟาเรนไฮต์เป็นองศาเซลเซียส ิ ขันที่ 1 วิเคราะห์ขอมูลนําเข้า ข้อมูลส่งออกและการประมวลผล ้ ้ • ข้อมูลนําเข้าคือ ตัวเลขอุณหภูมองศาฟาเรนไฮต์ ิ (ตัวแปร f แบบ SINGLE) • ข้อมูลส่งออกคือ ตัวเลขอุณหภูมองศาเซลเซียส ิ (ตัวแปร c แบบ SINGLE) • การคํานวณองศาเซลเซียส c = 5 / 9 * (f – 32) ขันที่ 2 เขียนโปรแกรม ้
  • 31. 53 ตัวอย่างโปรแกรม 2.12 DIM f AS SINGLE, c AS SINGLE f = 75 c = 5 / 9 * (f - 32) PRINT USING "###.##"; c ขันที่ 3 ทดสอบการทํางานของโปรแกรม ้ กําหนดค่าตัวแปร F ให้เป็น 75 จะได้ค่าเท่ากับ 23.89 องศาเซลเซียส ภาพที่ 2.38 ผลการทํางานของโปรแกรม 2.12 แบบที่ 1 กําหนดค่าตัวแปร F ให้เป็น 0 จะได้ค่าเท่ากับ -17.78 องศาเซลเซียส ภาพที่ 2.39 ผลการทํางานของโปรแกรม 2.12 แบบที่ 2
  • 32. 54 กรณี ศึกษาที่ 2 เขียนโปรแกรมคํานวณจํานวนชั ่วโมงและนาทีของการทํางานของพนักงาน โดยรับ ค่าตัวเลขชั ่วโมง นาทีทเี่ ริมเข้าทํางานและตัวเลขชั ่วโมง นาทีทเี่ ลิกงาน ่ ขันที่ 1 วิเคราะห์ขอมูลนําเข้า ข้อมูลส่งออกและการประมวลผล ้ ้ • ข้อมูลนําเข้าคือ ตัวเลขชั ่วโมง นาทีทเี่ ข้าทํางานและเลิกงาน  h1 ชั ่วโมงทีเข้าทํางาน เป็นแบบ INTEGER ่  m1 นาทีทเี่ ข้าทํางาน เป็นแบบ INTEGER  h2 ชั ่วโมงทีเลิกงาน เป็นแบบ INTEGER ่  m2 นาทีทเี่ ลิกงาน เป็นแบบ INTEGER • ข้อมูลส่งออกคือ ตัวเลขจํานวนชั ่วโมงและนาทีททางาน ่ี ํ  hr จํานวนชั ่วโมงทีทางาน เป็นแบบ INTEGER ่ ํ  mn จํานวนนาทีททางาน เป็นแบบ INTEGER ่ี ํ • การคํานวณ  จํานวนนาทีเริมต้น mx = h1 * 60 + m1 ่  จํานวนนาทีสดท้าย my = h2 * 60 + m2 ุ  จํานวนนาทีทงหมดทีทางาน me = my – mx ั้ ่ ํ  จํานวนชั ่วโมงทีทางาน hr = me 60 ่ ํ  จํานวนนาทีททางาน mn = me MOD 60 ่ี ํ ขันที่ 2 เขียนโปรแกรม ้ ตัวอย่างโปรแกรม 2.13 DIM h1 AS INTEGER, m1 AS INTEGER DIM h2 AS INTEGER, m2 AS INTEGER DIM mx AS INTEGER, my AS INTEGER DIM me AS INTEGER, hr AS INTEGER DIM mn AS INTEGER h1 = 6 m1 = 30 h2 = 15 m2 = 50 mx = h1 * 60 + m1 my = h2 * 60 + m2
  • 33. 55 me = my - mx hr = me 60 mn = me MOD 60 PRINT hr; "Hour(s) "; mn; "minute(s)" ขันที่ 3 ทดสอบการทํางานของโปรแกรม ้ กําหนดค่าตัวแปร h1 m1 h2 และ m2 ให้เป็น 6 30 15 และ 50 หมายถึงเริมทํา ่ งาน 6.30 น. และเลิกงาน 15.50 น. จะได้จานวนชั ่วโมงการทํางานออกมาเป็น 9 ชั ่วโมง 20 ํ นาที ภาพที่ 2.40 ผลการทํางานของโปรแกรม 2.13 แบบที่ 1 กําหนดค่าตัวแปร h1 m1 h2 และ m2 ให้เป็น 12 57 20 และ 15 หมายถึง เริม ่ ทํางาน 12.57 น. และเลิกงาน 20.15 น. จะได้จานวนชั ่วโมงการทํางานออกมาเป็น 7 ชั ่วโมง 18 ํ นาที ภาพที่ 2.41 ผลการทํางานของโปรแกรม 2.13 แบบที่ 2 บทสรุป ภาษาเบสิกถูกสร้างขึนมาเพือใช้ในการสอนวิชาคํานวณ งานทางด้านธุรกิจและงาน ้ ่ ด้านวิทยาศาสตร์ มีการพัฒนาอย่างต่อเนื่องและกลายเป็นภาษาใหม่ทมความ สามารถมากขึน ่ี ี ้ การเขียนและรันคําสั ่งโปรแกรมคําสั ่งภาษาเบสิกจะกระทําผ่านเอดิเตอร์ ในการเขียนโปรแกรมที่ ต้องมีการเก็บข้อมู ล ผูเขียนโปรแกรมจะต้องรูจกชนิดของข้อมูลแต่ละแบบทีภาษาเบสิกได้ ้ ้ ั ่ จัดเตรียมไว้ และจะต้องเลือกมาใช้งานได้อย่างเหมาะสมกับข้อมูลทีจะจัดเก็บ ชนิดข้อมูลหลักๆ ่
  • 34. 56 ของภาษาเบสิกคือ ตัวเลขและข้อความ ในการเก็บข้อมูลจะต้องประกาศตัวแปรพร้อมกับบอก ชนิดข้อมูลทีตวแปรนันจะจั ดเก็บ ข้อมูลทีอยูในตัวแปรสามารถถูกดําเนินการทางคณิ ตศาสตร์ ่ ั ้ ่ ่ เช่น การบวกหรือลบ ด้วยการใช้ตวดําเนินการทางคณิตศาสตร์และสามารถแสดงข้อมูลออกทาง ั จอภาพโดยใช้คาสั ่งเฉพาะของภาษาเบสิกได้ ํ คําถามท้ายบท 1. อธิบายประโยชน์ของการศึกษาภาษาเบสิก 2. อธิบายขันตอนการติดตังและรันโปรแกรมภาษาเบสิก ้ ้ 3. อธิบายขันตอนการเขียนและรันโค้ดโปรแกรมภาษาเบสิก ้ 4. ชนิดข้อมูลแบบตัวเลขกับข้อความมีความเหมือนหรือแตกต่างกันอย่างไร 5. ขอบเขต ของ ข้อมูลและขนาดหน่ วยความจําของชนิดข้อมูลแบบต่างๆ มี ความสัมพันธ์กนอย่างไร ั 6. อธิบายกฎและวิธการประกาศตัวแปรในภาษาเบสิก ี 7. การดําเนินการทางคณิตศาสตร์หมายถึงอะไร 8. ตัวกระทําและตัวถูกกระทําหมายถึงอะไร มีความสัมพันธ์กนอย่างไร ั 9. อธิบายขันตอนการคํานวณของนิพจน์ ยกตัวอย่างประกอบ ้ 10. คําสั ่งทีใช้สาหรับแสดงข้อมูลบนจอภาพของโปรแกรมภาษาเบสิกคืออะไร ่ ํ ยกตัวอย่างการใช้งานประกอบ กิ จกรรมท้ายบท 1. ดาวน์โหลดและติดตัง โปรแกรม QBASIC ลงในเครืองคอมพิวเตอร์ โดยให้ ้ ่ ติดตังไว้ทโฟลเดอร์ C:QBASIC และสร้างชอร์ทคัทเรียกให้โปรแกรมทํางานไว้ ้ ่ี บน Desktop ของ Windows 2. เขียนโปรแกรมต่อไปนี้และบอกผลการรันโปรแกรม DIM x AS INTEGER DIM y AS INTEGER DIM z AS INTEGER INPUT "Enter x ", x INPUT "Enter y ", y IF (x > y) THEN z=x ELSE z=y END IF PRINT "Max = "; z
  • 35. 57 3. สร้างไฟล์ EXE จากโปรแกรมในข้อที่ 2 โดยตังชือไฟล์เป็น DEMO.EXE และ ้ ่ รันโปรแกรมบนคอมมานด์ไลน์ 4. เขียนโปรแกรมต่อไปนี้และบอกผลการรันโปรแกรม DIM x AS INTEGER DIM y AS INTEGER x = 10 y=5 PRINT x * y / 2 PRINT (x * 2) + y PRINT (x * x + (y – 2) / 3) PRINT y + y - x * x PRINT x * y MOD 8 PRINT x ^ 2 ^ 3 PRINT (x / y) 2 PRINT (x y) * 2 PRINT z * (x + y) * 10 5. เขียนโปรแกรมต่อไปนี้ซงเป็นโปรแกรมหาค่าเฉลียของตัวเลข 3 ค่าคือ x y และ ่ึ ่ z หากผลการรันโปรแกรมได้คาออกมาไม่ถกต้อง ให้หาข้อผิดพลาดว่าเกิดจาก ่ ู สาเหตุใดและแก้ไขโปรแกรมให้ทางานได้ถกต้อง ํ ู DIM x AS INTEGER DIM y AS INTEGER DIM z AS INTEGER DIM a AS SINGLE x = 10 y = 10 z = 10 a=x+y+z/3 PRINT "Average = ", a
  • 36. 58 เอกสารอ้างอิง โกสันต์ เทพสิทธิทราภรณ์. (2547). หลักการเขียนโปรแกรม. กรุงเทพฯ : สํานักพิมพ์แม็ค คณาจารย์ภาควิชาวิศวกรรมคอมพิวเตอร์ สถาบันเทคโนโลยีราชมงคล. (2547). การโปรแกรม คอมพิ วเตอร์. ปทุมธานี : ทริปเพิล เซเว่น มัลติเทค ้ ชูศกดิ ์ ทราวดีพมมุข. (2538). การเขียนโปรแกรมภาษาเบสิ ค (พิมพ์ครังที่ 6). นนทบุร ี : ั ิ ้ IQ Center บุญสืบ โพธิ ์ศรี และคณะ. (2545). คอมพิ วเตอร์เพื่องานอาชีพ. กรุงเทพฯ : ประสานมิตร บุญสืบ โพธิ ์ศรี และชยธร ฉัตรสุวรรณ. (2546). การเขียนโปรแกรมคอมพิ วเตอร์ 1. กรุงเทพฯ : ศูนย์สง เสริมอาชีวะ ่ ั ปญญาพล หอระตะ, ผศ. (2545). หลักการเขียนโปรแกรมภาษา C. กรุงเทพฯ : แอ้ดวานซ์ มีเดียซัพพลายส์ นภัทร วัจนเทพินทร์. (2539). การเขียนโปรแกรมโครงสร้างภาษาเบสิ กด้วย QBASIC (พิมพ์ครังที่ 3). ปทุมธานี : สกายบุกส์ ้ ๊ นภัทร วัจนเทพินทร์. (2542). การเขียนโปรแกรมโครงสร้างภาษาเบสิ กบนวิ นโดวส์ 95. ปทุมธานี : สกายบุกส์ ๊ ณรงค์เดช วิทยกุล, ภิญ�ู กําเนิดหล่ม. (2544). หลักการเขียนโปรแกรมขันต้น. กรุงเทพฯ : ้ ฟิสกส์เซ็นเตอร์ ิ รุ่งทิวา เสาร์สงห์, ผศ. (2546). การเขียนโปรแกรมคอมพิ วเตอร์เบืองต้น. กรุงเทพฯ : ิ ้ ซีเอ็ดยูเคชั ่น วีระ บุญจริง. (2542). หลักการเขียนโปรแกรม(พิมพ์ครังที3). กรุงเทพฯ : ดวงกมลสมัย ้ ่ วัชราภรณ์ สุรยภิวฒน์. (2533). คอมพิ วเตอร์เบืองต้นและเทคนิ คการเขียนโปรแกรม ิ ั ้ (พิมพ์ครังที่ 5). กรุงเทพฯ : จุฬาลงกรณ์มหาวิทยาลัย ้ สิทธิชย ประสานวงศ์. (2526). ความรูเกี่ยวกับคอมพิ วเตอร์เบืองต้น. กรุงเทพฯ : ศูนย์อบรม ั ้ ้ คอมพิวเตอร์ธรกิจ ุ หาญ เพ็ญแสง. (2541). การเขียนโปรแกรมคอมพิ วเตอร์ 1. กรุงเทพฯ : สํานักพิมพ์เอมพันธ์