การเขียนโปรแกรมภาษาเบสิก

เริ่มต้นรู้จักภาษาเบสิก

เป็นภาษาที่มีรูปแบบคำสั่งไม่ยุ่งยาก สามารถเรียนรู้และเข้าใจได้ง่าย มีรูปแบบคำสั่งพื้นฐานที่สามารถนำมาเขียนเรียงต่อกันเป็นโปรแกรมได้

ข้อดี คือ ง่ายต่อการเรียนรู้และสามารถใช้งานได้บนเครื่องทุกระดับ และยังสามารถถูกเขียนขึ้นเพื่อใช้ทำงานได้หลายประเภท
ข้อเสีย คือไม่ได้ถูกออกแบบมาให้เกื้อหนุนต่อการเขียนโปรแกรมอย่างมีโครงสร้างที่ดี จึงไม่เหมาะในการพัฒนาโปรแกรมที่มีขนาดใหญ่เนื่องจากมีความเร็วในการประมวล ผลค่อนข้างช้า

 

 

ประเภทของข้อมูล

สามารถให้ผู้ใช้ใส่ข้อมูลได้ 3 ประเภท

  • ข้อมูลชนิดสตริง คือข้อมูลชนิดข้อความ
  • ข้อมูลชนิดตัวเลข คือข้อมูลที่นำมาใช้ในการคำนวณได้
  • เลขจำนวนเต็ม Integer มีค่าในช่วง -32,768 ถึง 32,767
  • เลขจำนวนเต็ม Long-Integer มีค่าในช่วง -2,147, 483, 648 ถึง 2,147, 647
  • เลขจำนวนจริง Single – Precision
    • จำนวนลบมีค่า -3.402823E + 38 ถึง -1.40129E-45
    • จำนวนบวกมีค่า 40129E-45 ถึง 3.0402823E+38
  • เลขจำนวนจริง Double-precision
  • ข้อมูลกำหนดโดยผู้ใช้ (Use-defined Type data) ในบางกรณีชนิดข้อมูลที่มีอยู่ไม่เอื้ออำนวยกับการทำงาน ดังนั้นอาจสร้างชนิดข้อมูลใหม่ขึ้นมาจากชนิดที่มีอยู่เพื่อให้การทำงานยืดหยุ่นมากขึ้น

 

 

นิพจน์และตัวปฏิบัติการ

นิพจน์ คือ กลุ่มของสตริงค่าคงที่ ตัวแปร หรือค่าที่ประกอบด้วยค่าคงที่และ หรือ ตัวแปรที่คั่นด้วยตัวดำเนินการ (Operators) สามารถแบ่งตัวปฏิบัติการได้เป็น 5 ชนิด คือ

  • ตัวปฏิบัติการทางคณิตศาสตร์ ( Arithmetic Operators)
  • ตัวปฏิบัติการเปรียบเทียบ (Relational Operators)
  • ตัวปฏิบัติการตรรกศาสตร์ (Logical Operators)
  • ตัวปฏิบัติการชนิดฟังก์ชัน (Function Operators)
  • ตัวปฏิบัติการทางสตริง (String Operators)

 

 

ตัวปฏิบัติการทางคณิตศาสตร์ ( Arithmetic Operators)

  • นิพจน์สามารถจัดลำดับการประมวลผลก่อน หลัง ได้โดยการใช้เครื่องหมายวงเล็บ ( )
  • ใช้เครื่องหมาย บวก+ ลบ- คูณ* หาร/ และเลขยกกำลัง ^ ในการคำนวณ

นิพจน์ทางคณิตศาสตร์สำหรับภาษาเบสิก

 

แบบฝึกหัดที่ 1 จงเขียนนิพจน์ทางคณิตศาสตร์ต่อไปนี้ให้เป็นนิพจน์สำหรับภาษาเบสิก

 

 

ตัวปฏิบัติการเปรียบเทียบ

ตัวปฏิบัติการเปรียบเทียบใช้ในการเปรียบเทียบค่าของสองข้างของตัวปฏิบัติการ และผลที่ได้จากการเปรียบเทียบจะเป็นจริง หรือเท็จ เท่านั้น

 

 

ตัวปฏิบัติการทางตรรกศาสตร์

NOT   >   คอมพลีเม้นท์ทางตรรกศาสตร์

AND   >   Conjunction

OR   >   Disjunction

 

ตัวปฏิบัติการฟังก์ชัน

  • ใช้ฟังก์ชันเป็นฟังก์ชันตัวแปลสำหรับตัวปฏิบัติการใดๆ ได้ เช่น X = ABS (-15) + ABS (10)
  • ฟังก์ชันที่สร้างสำเร็จ สามารถใช้ได้ทันทีตามรูปแบบการใช้ที่กำหนดไว้ เช่น ABS, TAB, SPC, TAN เป็นต้น

 

 

ตัวปฏิบัติการทางสตริง (String Operators)

  • ตัวปฏิบัติการที่สามารถนำมาใช้กับสตริง สามารถใช้ได้ทั้งตัวปฏิบัติการทางคณิตศาสตร์ หรือตัวปฏิบัติการชนิดเปรียบเทียบ เช่น + >, <, < >, > = เป็นต้น
  • สำหรับการเปรียบเทียบสตริงในการประมวลผล จะเปรียบเทียบตามลำดับรหัสแอสกี โดยจะเปรียบเทียบตัวต่อตัวตามลำดับ
  • ตัวอย่าง

“AA” < “AZ”             “cl” > “c”

“Micro” + “soft” = “Microsoft”

 

 

ลำดับขั้นการทำงาน

 

 

แบบฝึกหัดที่ 2 จงแสดงลำดับขั้นการคำนวณและผลลัพธ์ที่ได้จากนิพจน์ต่อไปนี้

  • 32 * 9 – 5 ^ 2 + 23
  • 10 / 2 + 4 * 2 ^ 3 – 12 / (4 * 3)
  • 5 ^ 2 < 20 AND 6 > 4
  • NOT 7 >= 4 OR 9 ^ 2 < 81

 

 

ตัวแปร (Variable)

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

 

 

สัญลักษณ์พิเศษ

 

  • ตัวอย่าง N$ แทนตัวแปรชื่อ N โดยเก็บข้อมูลชนิดตัวอักษร
  • age % แทนตัวแปรชื่อ age ใช้เก็บข้อมูลชนิดตัวเลขจำนวนเต็ม

 

 

ค่าคงที่ (Constant)

  • คือตัวแปรที่กำหนดค่าให้กับตัวแปรนั้นเป็นค่าแน่นอน
  • ใช้คำสั่ง CONST ในการกำหนดค่า
  • ไม่มีการเปลี่ยนแปลงค่าเมื่อโปรแกรมกำลังทำงาน
  • รูปแบบ CONST ConstantName = Expression
  • เช่น CONST Pi = 3.14159

 

 

ข้อเปรียบเทียบระหว่างตัวแปร และค่าคงที่

  • ค่าคงที่ผู้เขียนโปรแกรมสามารถเรียกใช้ได้ทั้งโปรแกรม
  • ค่างคงที่ไม่สามารถเปลี่ยนแปลงแก้ไขโดยส่วนใดๆ ของโปรแกรมขณะทำงาน
  • ค่าคงที่แก้ไขได้ง่าย หมายถึง แก้เพียงจุดเดียวค่าของค่าคงที่นั้นๆ จะถูกแก้ทุกๆ ตำแหน่งที่ใช้ค่าคงที่นั้นในโปรแกรม

 

 

คำสั่ง PRINT

  • ทำหน้าที่แสดงผลออกทางจอภาพ โดยข้อมูลที่ต้องการส่งสามารถเป็นได้ทั้งข้อมูลชนิดสตริง และข้อมูลชนิดตัวเลข
  • รูปแบบ

          PRINT   “ข้อความ

          PRINT   ตัวเลข

          PRINT   ตัวแปร

          PRINT   expression (การคำนวณค่า)

  • ตัวอย่าง

PRINT    2 + 3                    ผลลัพธ์   5

PRINT  “Hello Word”  ผลลัพธ์    Hello Word

PRINT     Var1           ผลลัพธ์    12    ถ้าตัวแปร var1 เก็บตัวเลข 12 ไว้

 

 

เครื่องหมายที่ใช้งานร่วมกับคำสั่ง PRINT

  • เครื่องหมายแสดงความต่อเนื่อง โดยจะแสดงผลข้อมูลที่อยู่ต่อจากเครื่องหมาย ต่อเนื่องกับข้อมูลที่อยู่หน้าเครื่องหมาย โดยไม่มีการเว้นช่องว่าง

PRINT “Hello” ; “World”

PRINT “Happy”

HelloWorld

Happy

  • ถ้าใช้ ; เป็นเครื่องหมายสุดท้ายของคำสั่ง หมายถึงให้ตำแหน่งเคอร์เซอร์อยู่ต่อจากตัวอักษรสุดท้ายที่แสดงผล โดยไม่ต้องขึ้นบรรทัดใหม่

PRINT “Hello” ; “World” ;

PRINT “Happy”

HelloWorldHappy

  • เครื่องหมาย , ใช้เว้นตำแหน่งแสดงผลตัวแปรหลังเครื่องหมาย , 14 ตำแหน่ง จากตำแหน่งเคอร์เซอร์

PRINT “Hello” , “World”

 

 

การทำงานและข้อจำกัดของคำสั่ง PRINT

  • การแสดงผลข้อมูลเชิงตัวเลข
  • ตัวเลขจำนวนเต็ม integer และ long- integer
    • เว้นช่องว่างหน้าตัวเลขบวก และศูนย์ 1 ช่องว่าง
    • แสดงเครื่องหมายลบหน้าตัวเลขลบ
  • ตัวเลขจำนวนจริง single-precision
  • ถ้าตัวเลขมีจุดทศนิยมมากกว่า 7 ตำแหน่ง –> แสดงผลในรูปเลขยกกำลัง โดยใช้อักษร D หรือ d แทนการยกกำลัง
  • ถ้าน้อยกว่า –> แสดงตามรูปแบบที่กำหนด
  • คำสั่ง PRINT สามารถพิมพ์ข้อมูลจากหลายๆ ข้อมูลติดต่อกันได้ โดยใส่เครื่องหมาย , หรือ ;
  • โดยปกติคำสั่ง PRINT จะขึ้นบรรทัดใหม่เมื่อจบการแสดงผล และเลื่อนเคอร์เซอร์มาที่ตำแหน่งแรก
  • สามารถยกเลิกโดยใช้ ; ต่อท้ายคำสั่ง
  • ถ้าความยาวของข้อความ > ความกว้างของจอภาพ ส่วนที่เกินจะถูกแสดงขึ้นบรรทัดใหม่

 

 

แบบฝึกหัดที่ 3 จงเขียนโปรแกรมภาษาเบสิก เพื่อให้สามารถแสดงผลลัพธ์บนจอภาพได้ดังนี้

Name                               Surname                           Address

Kitti                                  Songsiri                             Phisanulok

 

 

คำสั่ง LET

  • เมื่อต้องการกำหนดค่าให้กับตัวแปร สามารถกำหนดได้โดยใช้คำสั่ง LET
  • LET A% = 10
  • หมายถึง กำหนดให้ค่า 10 เก็บในตัวแปรชื่อ A ซึ่งมีชนิดเป็นตัวเลขจำนวนเต็ม (%)
  • LET N$ = “Anongporn”
    • หมายถึง กำหนดตัวอักษร Anongporn ให้กับตัวแปร N ซึ่งมีชนิดข้อมูลเป็นข้อความ ($)
  • สังเกตว่า – เมื่อมีการใช้ข้อมูลข้อความ จะต้องอยู่ในเครื่องหมาย “ ” เสมอ
  • สามารถใช้คำสั่ง LET ได้
  • LET A % = 10   –>   A % = 10

 

 

แบบฝึกหัดที่ 4 ประโยคคำสั่งภาษาเบสิกต่อไปนี้ มีข้อผิดพลาดอย่างไร และให้แก้ไข

  1. A = 2,475
  2. Q + A = D
  3. 7 = X
  4. A = $1.50 + C
  5. X = 17 x (C + 2) / Z
  6. PRINT “THE VALUE IS” V
  7. PRINT “THE VALUE IS” ; P %

 

แบบฝึกหัดที่ 5 จงหาผลลัพธ์ของโปรแกรมต่อไปนี้

I = 100

J = 200

K = I – J

PRINT “I”

PRINT “J”

PRINT K

 

 

แบบฝึกหัดที่ 6 จงเขียนโปรแกรมภาษาเบสิกเพื่อคำนวณหาค่าคอมมิสชั่นของพนักงานโดยกำหนดว่าพนักงานจะได้ค่าคอมมิสชั่น 15% ของเงินเดือน โดยกำหนดว่าพนักงานได้เงินเดือน 15,000 บาท

 

 

คำสั่ง INPUT

  • ทำหน้าที่รับข้อมูลทางคีย์บอร์ด โดยการหยุดรอรับข้อมูลจนกระทั่งกด ENTER จึงถือว่าสิ้นสุดการรับข้อมูล
  • INPUT N
  • ?_ <– ข้อมูลที่ใส่เข้ามาทางคีย์บอร์ดและกด Enter จะถูกเก็บไว้ที่ตัวแปร N
  • รูปแบบ INPUT ; “PromptString” , \ ; ตัวแปร
  • เครื่องหมาย ; หลัง PromptString –> ให้แสดงเครื่องหมาย ? หลัง PromptString
  • PromptString ข้อความที่ต้องการให้แสดงออกทางจอภาพ
  • ตัวแปร เป็นตัวเก็บข้อมูลที่รับจากคีย์บอร์ด ถ้ามีมากกว่า 1 ตัว ต้องมีเครื่องหมาย , คั่น เช่น INPUT N, A, D

 

 

การใส่ข้อมูล

  • ในการใส่ข้อมูลให้กับชุดตัวแปร จำเป็นต้องมีจำนวนข้อมูลเท้ากับจำนวนตัวแปร
  • แต่ละข้อมูลคั่นด้วยเครื่องหมาย ,
  • ถ้าต้องการใส่ข้อมูลชนิดสตริง ให้ใช้เครื่องหมาย “ ”
  • ดังนั้นเครื่องหมาย , สามารถเป็นส่วนหนึ่งของข้อมูลได้
  • ถ้าใส่ข้อมูลผิดประเภท จะแสดงข้อผิดพลาด Redo From Start

 

 

แบบฝึกหัดที่ 7 ให้เขียนโปรแกรมเพื่อรับค่า (INPUT) จากคีย์บอร์ด โดยรับค่า 2 ค่าคือ ราคาสินค้า และอัตราภาษี (เป็นเปอร์เซ็น) แล้วให้โปรแกรมทำการคำนวณ และแสดงผลดังตัวอย่าง

ENTER TOTAL PURCHASE ? 87.56

ENTER SALES TAX RATE IN PERCENT ? 4

TOTAL PURCHASE      87.56            BAHT

SALES TAX AT 4%      3.5025           BAHT

AMOUNT DUE           91.0624         BAHT

 

 

ประโยคตัดสินใจ (Decision Structure)

  • มีความจำเป็นสำหรับการเขียนโปรแกรมมาก
  • สามารถใช้ในการควบคุมการทำงาน ตามเหตุการณ์ที่เกิดขึ้นได้

 

 

IF … THEN … ELSE

  • ทำงานในลักษณะเดียวกับคำสั่ง BASIC ทั่วไป แต่การทำงานจะขึ้นอยู่กับค่าที่ได้จากการตัดสินใจ

 

 

  • รูปแบบ
  • IF BooleanExpression THEN คำสั่ง
  • ถ้าเงื่อนไข (BooleanExpression) เป็นจริง ให้ทำคำสั่ง แต่ถ้าเป็นเท็จไม่ต้องทำ
  • IF BooleanExpression THEN

 

 

StatemenBlock-1

ELSE StatemenBlock-2

END IF

  • ถ้าต้องการให้มีการทำงานในกรณีที่ เงื่อนไขเป็นเท็จให้ใช้คำสั่ง ELSE
  • ถ้าเงื่อนไขเป็นจริงให้ใช้คำสั่ง StatemenBlock-1
  • เงื่อนไขเป็นเท็จให้ใช้คำสั่ง StatemenBlock-2

IF BooleanExpression 1 THEN

StatemenBlock-1

ELSEIF BooleanExpression 2 THEN

StatemenBlock-2

:

ELSE

StatemenBlock-n

END IF

  • ถ้า BooleanExpression 1 เป็นจริงให้ทำคำสั่ง StatemenBlock-1
  • ถ้า BooleanExpression 1 เงื่อนไขเป็นจริง ให้ทดสอบเงื่อนไข BooleanExpression 2 ถ้าเป็นจริงให้ทำ StatemenBlock-2
  • แต่ถ้า BooleanExpression 2 เป็นเท็จให้ทดสอบ BooleanExpression ไปเรื่อยๆ (ถ้ามี) และถ้าเงื่อนไขของ BooleanExpression นั้นเป็นจริงให้ทำตามคำสั่งหลัง THEN (ถ้ามี) แต่ถ้าไม่ตรงกับเงื่อนไขใดเลยให้ทำคำสั่งของ ELSE คือ StatemenBlock-n

 

 

ตัวอย่างงการใช้คำสั่ง IF … THEN … ELSE

          a% = 1

IF a% = 1 THEN

PRINT 1

ELSEIF a% = 2 THEN

PRINT 2

ELSE PRINT 3

END IF

 

 

คำสั่ง GO…TO

  • คำสั่ง GOTO เป็นคำสั่งให้กระโดดไปยังจุดที่ต้องการ โดยการกำหนดจุดที่ต้องการกระโดดไปไว้ล่วงหน้า (Label) แล้วจึงสั่งให้โปรแกรมกระโดดไปยังจุดนั้นโดยการใช้คำสั่ง GOTO
  • รูปแบบ
    label :

:

:

GOTO label

 

 

คำสั่ง FOR…NEXT

  • คำสั่ง FOR…NEXT เป็นประโยคคำสั่งที่ต้องการ และกระโดดออกจากการทำงานชุดคำสั่งเมื่อสถานะของเงื่อนไขเป็นจริง
  • คำสั่ง FOR…NEXT เป็นการวนซ้ำให้ทำงานตามจำนวนรอบที่ระบุไว้

 

ตัวอย่างการใช้คำสั่ง FOR…NEXT

CLS

Result = 2

Square :

IF result > 50 THEN

PRINT “Result =” ; result

END

ELSE

PRINT result

result = result ^ 2

GOTO Square

ENDIF

 

 

รูปแบบคำสั่ง FOR…NEXT

FOR counter = start TO end [STEP increment]

:

:

NEXT counter

counter หมายถึง ตัวแปรชนิดตัวเลขที่ใช้นับจำนวนรอบในการวนซ้ำ
start หมายถึง ค่าเริ่มต้นของตัวแปร counter

end หมายถึง ค่าสุดท้ายของตัวแปร counter

increment หมายถึง ค่าที่ต้องการให้ตัวแปร counter เพิ่มหรือลดจำนวนเท่าใดต่อการวนซ้ำ 1 รอบ

 

 

การทำงานของคำสั่ง FOR…NEXT

 

 

ตัวอย่างการใช้คำสั่ง FOR…NEXT

 

 

คำสั่ง REM

  • คำสั่ง REM เป็นคำสั่งใช้กำหนดข้อความหมายเหตุในโปนแกรม

ประโยชน์ของคำสั่ง REM

  • เพื่อเขียนอธิบายโปรแกรม หรือเพื่อความเข้าใจในการทำงานของโปรแกรม
  • เพื่ออธิบายโปรแกรมเพื่อป้องกันการลืม เช่น ลืมการทำงานของโปรแกรม หรือลดความหมายของตัวแปร เป็นต้น

รูปแบบ

‘ข้อความ

REM ข้อความ

 

 

 

แบบฝึกหัด : ให้นักเรียนเขียนโปรแกรมด้วยภาษาเบสิก เพื่อคำนวณหาพื้นที่รูปสามเหลี่ยม

 

 

 

ดาวน์โหลดแผนการจัดการเรียนรู้