คือ ตัวแปร ที่ใช้ในการเขียนโปรแกรม การใช้งาน Variables จะต้องมีการประกาศตัวแปรก่อนเสมอ เพื่อให้ Compiler จองหน่วยความจำสำหรับตัวแปรนั้นอย่างเหมาะสม หลังจากนั้นจึงนำมาใช้ใส่ค่าหรือสั่งให้แสดงค่าได้ตามความต้องการ
การประกาศตัวแปร จะประกาศหลังจากคำว่า var โดยการใส่ชื่อตัวแปล แล้วตามด้วย DataType โดยการประกาศสามารถประกาศได้ทีละหลายตัว และยังประกาศพร้อมกับใส่ค่าเร่ิมต้นได้ เเช่นกัน ดังตัวอย่างต่อไปนี้
Var x :integer; y,z :boolean; //multi-lines declaration a :real = 43.295; //declare with initial value
การใส่ค่าให้ Variables โดยทั่วไป จะใส่โดยใช้เครื่องหมาย “:=” ดังตัวอย่างต่อไปนี้
x := 12; y := true; a := 902.253;
แบ่งได้เป็น 4 ประเภท ดังนี้
Data Type | Descriptions |
---|---|
Standard Type | Integer Real Boolean Character String |
User-define Type | Enumerated Sub range Set |
Structured Type | Array Record Object Class |
Pointer Type | Pointer |
สรุปได้ดังนี้
Data Types | Declaration | Assign Value |
---|---|---|
Integer | var x,y:integer; | x:=10; y:=$10; //Hex = 16 |
Real | var x,y:real; | x:=624.32; y:=2E3; // = 2*10^3 |
Boolean | var x,y:boolean; | x:=true; y:=false; |
Character | var x,y:char; | x:='A'; y:='Z'; |
String | var x,y:string; | x:='Hello'; y:='How are you?'; |
คือ Data Type ที่เรากำหนดชื่อได้เอง ซึ่งชื่อที่กำหนดขึ้นต้องเป็นไปตามกฎการตั้งชื่อตัวแปร ไม่ใช่ชื่อในแบบ string โดยสิ่งที่สำคัญสำหรับ Data Type ประเภทนี้ คือ การมีลำดับตัวเลขเป็นของตัวเอง ทำให้ Enumerated Type ถูกนำมาเปรียบเทียบกันด้วยเครื่องหมาย =,>,< ได้เหมือนๆกับตัวเลขทั่วไป
การประกาศ Enumerated Type ทำได้ดังนี้
Type TDay = (Mon,Tue,Wed,Thu,Fri,Sat,Sun); TDirection = (North = 2, East, South = 8, West);
การเรียกใช้งาน
VAR ToDay:TDay; Direction:TDirection; BEGIN Today:=Wed; Direction:=EAst; //case insensitive if Today < Sat then writeln('Today is not holliday') else writeln('Today is holliday'); writeln('Your direction number is : ',ord(Direction)); readln; END.
เราสามารถหาเลขลำดับของ Enumerated Variable ได้ โดยใช้ฟังก์ชั่น Ord() จากตัวอย่างข้างบน หากไม่มีการกำหนดลำดับให้ ลำดับก็จะเริ่มจาก 0 เสมอ จะได้ลำดับของแต่ละวันใน TDay ดังนี้
Mon=0, Tue=1, Wed=2, Thu=3, Fri=4, Sat=5, Sun=6
สำหรับ Enumerated Variable ที่มีการกำหนดลำดับ ก็จะได้ลำดับตามที่กำหนดมา แต่สำหรบตัวที่ไม่ได้กำหนด จะนำลำดับตัวก่อนหน้ามา +1 จากตัวอย่าง TDirection จะได้ลำดับดังนี้
North = 2, East = 3, South = 8, West = 9
จากตัวอย่างข้างบน บรรทัดที่ 6 จะสังเกตว่า การใส่ชื่อเป็น Case Insensitive เหมือนกันกับการตั้งชื่อตัวแปรในภาษา Pascal ดังนั้น East, EAST, EAst, eAsT เหล่านี้ ย่อมเป็นตัวเดียวกัน