บทที่ 2 ประเภทข้อมูล (DATA TYPE) OUTLINE 1. ประเภทข้อมูล 2. การกำหนดค่าข้อมูล
บทที่ 2 ประเภทข้อมูล (DATA TYPE) ประเภทข้อมูลในภาษาปาสคาล 1. ข้อมูลพื้นฐาน (Simple types) 2. ข้อมูลแบบสตริง (String types) 3. ข้อมูลแบบโครงสร้าง (Structure types) 4. ข้อมูลแบบพอยน์เตอร์ (pointer types) 5. ข้อมูลแบบออฟเจ็กด์ (object type)
ข้อมูลพื้นฐาน (Simple types) มีทั้งแบบมีลำดับ และ ไม่มีลำดับ เป็นช่วงข้อมูลที่มีลำดับ (Order) แน่นอน สามารถบอกค่าลำดับได้อย่างแน่ชัด สามารถเปรียบเทียบค่า มากกว่า น้อยกว่า หรือ เท่ากันได้ เช่น ค่า 20 มากว่า 19 หรือ ตัวอักษร Y อยู่หลัง X
ข้อมูลพื้นฐาน (Simple types) ฟังก์ชัน ที่ใช้กับข้อมูลแบบลำดับ ord( ) ย่อมาจาก Order ใช้หาลำดับที่ของค่านั้น pred( ) ย่อมาจาก predecessor ใช้หาลำดับก่อนค่าที่ระบุ succ( ) ย่อมาจาก successor ใช้หาลำดับหลังค่าที่ระบุ ฟังก์ชันเหล่านี้เป็น Predefined function สิ่งที่อยู่ในวงเล็บอาจเป็นตัวเลข ตัวแปร หรือ นิพจน์
ข้อมูลแบบลำดับ ข้อมูลแบบลำดับแบ่งได้ดังนี้ แบบเลขจำนวนเต็ม แบบเลขจำนวนจริง แบบตัวอักษร แบบบูลีน
แบบเลขจำนวนเต็ม เป็นเลขจำนวนเต็มไม่มีจุดทศนิยม มีค่าได้ทั้ง ลบ และ บวก ไม่มีเครื่องหมาย , และ ช่องว่าง
แบบเลขจำนวนเต็ม ชื่อแบบข้อมูล ช่วงข้อมูล ขนาด(ไบต์) ชื่อแบบข้อมูล ช่วงข้อมูล ขนาด(ไบต์) shorint -128..127 1 integer -32768..32767 2 longint -2147483648..2147483647 4 byte 0..255 1 word 0..65535 2
แบบเลขจำนวนเต็ม ตัวดำเนินการที่ใช้กับเลขจำนวนเต็ม + , - , * , / , DIV, MOD การประกาศตัวแปรของเลขจำนวนเต็ม VAR time, rate :integer; distance : word;
แบบเลขจำนวนจริง แบบเลขจำนวนจริง เป็นข้อมูลที่ไม่มีลำดับ เพราะไม่สามารถหาลำดับจากจุดทศนิยมได้ อาจเขียนได้ดังนี้ เลขทศนิยม เช่น 24.59, 70, เลขทศนิยมแบบยกกำลัง เช่น 2.004E+5, 3.4567E-10
แบบเลขจำนวนจริง real 2.9x10-39 ..1.7x1038 11-12 6 ชื่อแบบข้อมูล ช่วงข้อมูล จำนวนหลัก ขนาด(ไบต์) real 2.9x10-39 ..1.7x1038 11-12 6 single 1.5x10-45..3.4x1038 7-8 4 double 5.0x10-324..1.7x10308 5-16 8 extended 3.4x10-4932..1.1x104932 19-20 10 comp -9.2x1018..9.2x1018 19-20 8
แบบเลขจำนวนจริง ตัวดำเนินการที่ใช้กับเลขจำนวนเต็ม + , - , * , / , การหารที่ใช้ / ผลลัพธ์ที่ได้เป็นเลขจำนวนจริงเสอม การประกาศตัวแปรของเลขจำนวนเต็ม VAR tax, rate : real; average : real;
แบบตัวอักษร แบบตัวอักษรในปาสคาล มี อักษรตัวเดียว (char) ตัวอักษรประกอบเป็นข้อความ (string) อักขระในคอมพิวเตอร์ถูกแทนด้วยรหัส BCD, EBCDIC หรือ ASCII เครื่องไมโครคอมพิวเตอร์ใช้ รหัส ASCII ใช้ 1 ไบต์ ต่อ 1อักขระ
แบบตัวอักษร รหัส ASCII มี อยู่ 128 ตัว มีค่ามาตราฐานทางตัวเลข 0-127 (ดูตาราง) ส่วนตัวเลข 128-255 ใช้กับตัวอักษรที่นอกเหนือจากมาตราฐาน เช่น สัญลักษณ์ทางคณิตศาสตร์ ภาษาไทย
แบบตัวอักษร รหัส 0-127 เป็นตัวอักษรแบ่งได้ 2 แบบ 1. printing character สามารถพิมพ์ และมองเห็นทางจอภาพ letter คือตัว A-Z digit ตัวเลข 0-9 special character 2. Nonprinting character ไม่สามารถมองเห็นทางจอภาพ เป็นตัวอักษรควบคุม(Control character) เช่นเสียง end of file
แบบตัวอักษร การอ้างถึง Nonprinting character ในโปรแกรม Ctrl-G #7 #$07 ^G Esc #27 #$1B ^[ Blank #32 #$20 ‘ ‘ ตัวเลข 0 #48 #$30 ‘0’ ตัวอักษร B #66 #$42 ‘B’ ส่วนที่มี $ นำหน้าเป็นเลขฐาน 16
แบบตัวอักษร การประกาศตัวแปรแบบตัวอักษร VAR grade : char; grade,size : char; ฟังก์ชันที่ใช้กับตัวอักษร chr(n) เปลี่ยนตัวเลขจำนวนเต็มเป็นตัวอักษร upcase(c) เปลี่ยนตัวอักษรตัวเล็กเป็นตัวพิมพ์
แบบบูลีน แบบบูลีน ข้อมูลที่ใช้ในการตัดสินใจแบบตรรกะ(logic) มีค่า 2 ค่าคือ false มีลำดับเป็น 0 และ true มีลำดับเป็น 1 ใช้เนื้อที่ 1 ไบต์ การประกาศตัวแปรแบบบูลีน VAR flag : boolean;
ข้อมูลแบบสตริง ข้อมูลแบบสตริง คือข้อมูลแบบข้อความ มีความยาว 0-255 ตัวอักษร ความยาว 0 คือ ช่องว่าง ‘ ‘ หรือ Null string อาจมองเป็นอาร์เรย์ของตัวอักษร เพราะนำเอาตัวอักษรมาเรียงกัน
ข้อมูลแบบสตริง การประกาศตัวแปรข้อมูลแบบสตริง VAR Address : string; เก็บตัวอักษร0-255 ตัว name : string[10]; เก็บตัวอักษร 0-10 ตัว การให้ค่ากับสตริง name := ‘ Ann Lee’ 7 A n n L e e ไบต์แรกเก็บจำนวนตัวอักษรในสตริง
ข้อมูลแบบโครงสร้าง แบบอาร์เรย์ (Array types) แบบเซต (Set types) แบบเรคอร์ด (Record types) แบบไฟล์ (File types)
ข้อมูลแบบพอยน์เตอร์ ข้อมูลแบบพอยน์เตอร์ เป็นข้อมูลแบบไดนามิก มีการจองเนื้อที่ หรือสร้างตัวแปรขณะปฏิบัติการ (Execute)
ข้อมูลแบบออฟเจ็กต์ ข้อมูลแบบพอยน์เตอร์ เป็นข้อมูลที่เขียนในลักษณะของ Object
การกำหนดค่า การกำหนดค่าคงที่ CONST star = ‘*’; flag = true; max = 600; การกำหนดค่าตัวแปร Assignment statement NUM := 5; Name := ‘John’; sum : = sum + 1;