บทที่ 1 แนะนำภาษาปาสคาล

ภาษาคอมพิวเตอร์ (computer language)

       หมายถึง สื่อกลางระหว่างมนุษย์กับเครื่องคอมพิวเตอร์ เพื่อให้เครื่องปฏิบัติตามคำสั่งเพื่อให้ได้มาซึ่งผลลัพธ์ที่มนุษย์ต้องการ ภาษาคอมพิวเตอร์แบ่งออกได้เป็น  3 ระดับ คือ
  1. ภาษาเครื่อง (Machine Language)
  2. ภาษาระดับต่ำ(Low Level Language)
  3. ภาษาระดับสูง(Hight Level Language)
ภาษาปาสคาล

         ความเป้นมาของภาษาปาสคาล ผู้ที่ได้ทำการออกแบบคิดค้นภาษาปาสคาล คือ ดร. เวียร์ต (Niklaus wirth ) สำหรับชื่อของภาษาปาสคาล ดร. เวียร์ตได้ตั้งชื่อให้เกียรติแก่ Blaise Pascal นักคณิตศาสตร์และนักปรัชญาชาวฝรั่งเศสผู้สร้างเครื่องคิดเลขเครื่องแรกของโลก
        ภาษาปาสคาลถือได้ว่าเป็นภาษาที่มีการเขียนโปรแกรมอย่างมีระบบ ทำให้ฝึกเขียนโปรแกรมได้อย่างรวดเร็ว เหมาะสำหรับผู้เริ่มต้นเขียนโปรแกรม

เทอร์โบปาสคาล
        
        เทอร์โบปาสคาลมีคุณสมบัติเด่น ๆ ดังต่อไปนี้
  1. เป็นภาษาที่รวบรวมเอาโปรแกรมอีดิเตอร์กับคอมไพเลอร์ไว้ด้วยกัน ทำให้สะดวกในการแก้ไข ปรับปรุง คอมไพล์ จึงทำให้เขียนโปรแกรมได้รวดเร็วขึ้น
  2. สามารถคอมไพล์บันทึกไว้ได้ทั้งหน่วยความจำ สะดวกในการทดสอบโปรแกรมและบันทึกลงดิสก์ ไฟล์จะมีนาสกุลเป้น .EXE สามารถรันที่ดอสได้เลย
  3. เป็นภาษาคอมพิวเตอร์ประเภทคอมไพเลอร์
  4. ผู้เขียนโปรแกรมสามารถสร้างไลบรารีไว้ใช้เองได้
  5. มีการลิงค์ เป็นการเรียกใช้ไลบรารีที่สร้างไว้  เข้ามาใช้ในโปรแกรมได้โดยไม่ต้องสร้างโปรแกรมซ้ำจากเดิม ทำให้ประหยัดเวลาในการสร้างโปรแกรมเป็นอย่างมาก

ยูนิต

      เทอร์โบปาสคาลได้ปรับปรุงแยกโปรแกรมออกเป็นส่วน ๆ ได้ ในส่วนของโปรแกรมที่แยกออกไปนั้นสามารถคอมไพล์บันทึกเป้นไฟล์ที่มีส่วนขยาย .TPU เรียกว่า ยูนิต ( TPU ย่อมาจาก TURBO PASCAL Unit )และเมื่อต้องนำโปรแกรมมาใช้ร่วมกันก็สามารถคอมไพล์ได้เช่นกัน

ไลบรารี

      เทอร์โบปาสคาลได้แยกส่วนไลบรารีออกจากคอมไพเลอร์ โดยปกติจะถูกเก็บอยู่ในไฟล์ TURBO .EXE  มาเก็ไว้ในไพล์ TURBO .TPU ( TPU ย่อมาจาก TURBO PASCAL Unit )
ไลบรารีในเทอร์โบปาสคาลประกอบด้วยยูนิตมาตรฐานได้แก่
  • system    เก็บคำสั่งในภาษาปาสคาลทั่วไป เช่น Read , Write
  • graph      เก็บคำสั่งเกี่ยวกับกราฟิก
  • printer     เก็บคำสั่งเกี่ยวกับเครื่องพิมพ์
  • dos         เก็บคำสังเกี่ยวกับฟังก์ชั่นในดอส
การเรียกใช้งานยูนิต   กระทำได้โดยการประกาศในหัวข้อ USER  ซึ่งอยู่ถัดจากหัวข้อโปรแกรม
        ตัวอย่าง  USER graph,dos printer

ชื่อ (Identifier)

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

            หลักการตั้งชื่อในภาษาปาสคาล
  1. ตัวแรกต้องเป็นตัวอักษร A-Z  หรือ  a-z หรือ ขีดล่าง _ เท่านั้น
  2. ตัวถัดมาจะเป็น A-Z  หรือ 0-9 หรือ ขีดล่าง _ ก็ได้
  3. ชื่อยาวไม่เกิน 127 อักขระ คอมไพเลอร์แยกความแตกต่างชื่อได้เพียง 63 ตัวอักษรแรก
  4. ต้องไม่ใช้คำสงวน คอมไเลอร์จะไม่ยอมให้ตั้งชื่อรีเสิร์ฟเวิร์ด ซึ่งได้แก่
AND             END           NIL               SET          ARRAY       FILE                  NOT           THEN

BEGIN         FOR           OF                TO             CASE          FUNCTION       OR            TYPE

CONST       GOTO         PACKED      UNTIL        DIV               IF                PROCEDURE       

 DO              IN               PROGRAM     WHILE     DOWNTO   LABEL      RECORD        
   WITH        ELSE           MOD             REPEAT      VAR


   5.การตั้งชื่อจะไม่คำนึงตัวอักษรพิมพ์เล็กหรือพิมพ์ใหญื ซึ่งจะเป้ฯตัวเดียวกัน
   6.ไม่มีวรรคระหว่างตัวอักษร

          ตัวอย่าง
  • ชื่อที่ไม่ถูกต้อง 1DATA           สาเหตุที่ผิด ขึ้นต้นด้วยตัวเลข                        ชื่อที่ถูกต้อง  DATA1
  • ชื่อที่ไม่ถูกต้อง DATA-1          สาเหตุที่ผิด ใช้สัญลักษณ์ -                           ชื่อที่ถูกต้อง  DATA_1
  • ชื่อที่ไม่ถูกต้อง -GRADE          สาเหตุที่ผิด ขึ้นต้นด้วยเครื่องหมาย -              ชื่อที่ถูกต้อง  _GHADE
  • ชื่อที่ไม่ถูกต้อง #ONE              สาเหตุที่ผิด ขึ้นต้นด้วยเครื่องหมาย #             ชื่อที่ถูกต้อง  NUMBERONE
  • ชื่อที่ไม่ถูกต้อง COM BASIC   สาเหตุที่ผิด มีเว้นวรรค                                    ชื่อที่ถูกต้อง  COMBASIC

ในการตั้งชื่อควรคำนึงถึงความหมายและความเข้าใจ หมายถึง ชื่อที่เราตั้งขึ้นมานั้นให้เป็นคำที่มีความหมายหรือเป็นชื่อที่สื่อความหมายใกล้เคียงกับชื่อนั้น ๆ

ตัวอย่าง
        old  แทนตัวแปรที่ใช้บันทึกอายุ    O
        name แทนตัวแปรที่ใช้บันทึกชื่อ   N
        

โครงสร้างโปรแกรมภาษาปาสคาล

PROGRAM

-----------------------------------------ส่วนกำหนดชนิดของข้อมูล-----------------------------------

USES
LABEL
CONST
TYPE
VAR
PROCEDURE
FUNCTION

-----------------------------------------ส่วนของเมนโปรแกรม-----------------------------------------

BEGIN

           คำสั่ง

END.

         
  • จากรูปเทอร์โบปาสคาลมีส่วนประกอบด้วยโครงสร้าง 2 ส่วน คือ
ก. ส่วนกำหนดชนิดของข้อมูล

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

PROGRAM    สำหรับกำหนดชื่อโปรแกรม ต้องใช้หลักในการตั้งชื่อด้วย
                        รูปแบบ  PROGRAM    ชื่อโปรแกรม;
          
USES             เป็นส่วนที่กำหนดไลบรารีที่ต้องการเรียกใช้ ถ้าเรียกใช้มากกว่า 1 คั่น ด้วยเครื่องหมาย ( , )
                       รูปแบบ Uses ชื่อไลบรารี , ชื่อไลบารี;

LABEL           เป็นรายการสำหรับกำหนดชื่อ เพื่อให้คำสั่ง  GOTO อ้างถึงเพื่อทำงาน

                      รูปแบบ  Label ชื่อลาเบล,ชื่อลาเบล ;

CONST         รายการนี้สำหรับกำหนดชื่อ และค่าคงตัว ถ้าไม่มีค่าคงตัวก็ไม่ต้องมีรายการนี้
                      รูปแบบ const ชื่อ = ค่าคงตัว ;

TYPE            สำหรับกำหนดชื่อ และชนิดของข้อมูล ถ้าไม่มีก็ไม่ต้องมีรายนี้
                      รูปแบบ   TYPE  ชื่อ  =   ชนิดของข้อมูล ;

VAR            กำหนดชื่อ และชนิกของตัวแปร
                    รูปแบบ var  ชื่อตัวแปร,ชื่อตัวแปร : ชนิดของตัวแปร ;

PROCEDURE   และ  FUNCTION
                     เป็ฯโปรแกรมที่สร้างขึ้นมา เพื่อให้โปรแกรมหลักสามารถเรียกโปรแกรมย่อยใช้งาน

ข.ส่วนของเมนโปรแกรม

              เป็นส่วนสำคัญในการเขียนโปรแกรม เพราะเป็นส่วนคำสั่งต่าง ๆ ในส่วนนี้จะเริ่มจาก BEGIN จนถึง END ในแต่ละคำสั่งจะมีเครื่องหมาย ( ; ) ปิดท้ายเสมอ เพื่อบอกจุดสิ้นสุดของคำสั่งนั้น ๆ