======Variables And Data Types====== ---- =====Variables===== คือ ตัวแปร ที่ใช้ในการเขียนโปรแกรม การใช้งาน 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; \\ \\ =====Data Types===== แบ่งได้เป็น 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 | \\ \\ =====Standard Type===== สรุปได้ดังนี้ ^ 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?'; | \\ \\ =====User-Define Type===== =====Enumerated Type===== คือ 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 เหล่านี้ ย่อมเป็นตัวเดียวกัน