ตัวแปรและชนิดข้อมูล (Variables and Data Types) ตัวแปรแต่ละตัวจะมีชนิดของข้อมูลที่เก็บ 4 ชนิด ข้อมูลชนิดจำนวนเต็ม ข้อมูลชนิดจำนวนจริง ข้อมูลชนิดตัวอักขระ ข้อมูลชนิดบูลีน
Local and Global Variable Local Variable เป็นตัวแปรที่ใช้ภายใน Module เท่านั้น Global Variable เป็นตัวแปรที่ใช้ได้ในทุกๆ Module
1. ข้อมูลชนิดจำนวนเต็ม (Integer) 1.1 Short Integer 1.2 Integer 1.3 Long Integer
1.1 Short Integer มีขนาด 1 Byte หรือ 8 Bit แบ่งเป็น 2 แบบ คือ Unsign (ไม่คิดเครื่องหมาย) 0 – 255 {0, 1, 2, 3, 4, …, 255} Sign (คิดเครื่องหมาย) -128 – 127 {-128, -127, … , -1, 0, 1, … , 127}
1.2 Integer มีขนาด 2 Byte หรือ 16 Bit Unsign (ไม่คิดเครื่องหมาย) 0 – 65535 {0, 1, 2, 3, 4, …, 65535} Sign (คิดเครื่องหมาย) -32768 – 32767 {-32768, -32767, … , -1, 0, 1, … , 32767}
1.3 Long Integer มีขนาด 4 Byte หรือ 32 Bit Unsign (ไม่คิดเครื่องหมาย) 0 – 429467295 {0, 1, 2, 3, 4, …, 429467295} Sign (คิดเครื่องหมาย) -2147483648 – 2147483647 {-2147483648, … , -1, 0, 1, … , 2147483647}
การคำนวณทางคณิตศาสตร์ Integer + Integer = Integer Integer - Integer = Integer Integer * Integer = Integer Integer / Integer = Floating Point Integer mod Integer = Integer Integer div Integer = Integer
Integer mod Integer = Integer K mod M = r K = Mq + r (0 <= r <= M, k > 0) 25 mod 7 = 4 25 = 7*3 + 4 25 mod 5 = 0 25 = 5*5 + 0 6 mod 2 = 0 15 mod 5 = 0 25 mod 4 = 1 49 mod 5 = 4
Integer div Integer = Integer ผลลัพธ์ที่ได้จากการหาร 6 div 2 = 3 15 div 2 = 7 25 div 4 = 6 49 div 5 = 9 -73 div 2 = -36 -15 div -6 = 2
2. ข้อมูลชนิดจำนวนจริง (Floating Point) จำนวนจริง มีจุดทศนิยม มีขนาด 2 Byte หรือ 16 Bit เช่น 30.5, 45.3, 65.56, 465.768
การคำนวณ *ไม่สามารถทำ mod กับ div ได้ Floating Point + Floating Point = Floating Point Floating Point - Floating Point = Floating Point Floating Point * Floating Point = Floating Point Floating Point / Floating Point = Floating Point Floating Point + Integer = Floating Point Floating Point - Integer = Floating Point Floating Point * Integer = Floating Point Floating Point / Integer = Floating Point *ไม่สามารถทำ mod กับ div ได้
ลำดับการคำนวณทางคณิตศาสตร์ ลำดับที่ 1 ถ้ามีวงเล็บทำในวงเล็บก่อน ถ้ามีหลายวงเล็บทำวงเล็บในสุดก่อน ลำดับที่ 2 ให้ทำเลขยกกำลังก่อน ลำดับที่ 3 ให้ทำ *, /, div, mod ถ้ามีเครื่องหมายในลำดับเดียวกัน ให้ทำจากซ้ายไปขวา ลำดับที่ 4 ให้ทำ +, -
ตัวอย่าง 7 / ( ( 5 * 5 ) mod (6 / 3) * 2 ) 25 2 1 3.5
3. ข้อมูลชนิดตัวอักขระ 3.1 ข้อมูลอักขระ (Character) 3.2 ข้อมูลแบบสายอักขระ (String)
ข้อมูลอักขระ (Character) อยู่ภายใต้ Single Quote ( ‘ ’ ) 1 ตัวอักขระมีขนาด 1 Byte หรือ 8 Bit ข้อมูลแบบสายอักขระ (String) มีความยาวมากกว่า 1 ตัวอักขระ กำหนดได้ว่าจะให้มีขนาดเท่าใด A : string [10] กำหนดให้ A เป็น string ที่มีขนาด 10 ตัวอักขระ ความแตกต่างระหว่างข้อมูลแบบอักขระกับสายอักขระ A : character A รับค่าได้ 1 ตัวอักขระ B : String [10] B รับค่าได้ตั้งแต่ 1 – 10 ตัวอักขระ
ข้อมูลชนิดบูลีน (Boolean) เป็นข้อมูลที่ใช้ในเชิงตัดสินใจ มีขนาด 1 Byte ค่าที่เป็นไปได้คือ จริง (True) มีค่าเป็น 00000001 เท็จ (False) มีค่าเป็น 00000000
สัญลักษณ์ที่ใช้ตรวจสอบเงื่อนไข เครื่องหมาย สัญลักษณ์ ตัวอย่าง เท่ากับ = X = Y มากกว่า > X > Y น้อยกว่า < X < Y มากกว่าเท่ากับ >= X >= Y น้อยกว่าเท่ากับ <= X <= Y ไม่เท่ากับ < > X < > Y
นิพจน์ (Expression) กำหนดให้ a = 10; i = 5 นิพจน์ ค่านิพจน์ a < 5 a div i = 2 20 < 15 20 > 25 False True True False False
สัญลักษณ์ที่ใช้เชื่อมนิพจน์ทางบูลีน ความหมาย not จะให้ค่าตรงข้ามกับนิพจน์นั้น and จะเป็นจริง เมื่อทุกๆนิพจน์ มีค่าเป็นจริง or จะเป็นจริงเมื่อนิพจน์ใดนิพจน์หนึ่งเป็นจริง
การเชื่อมนิพจน์ด้วย And นิพจน์ 1 X นิพจน์ 2 Y ผลลัพธ์ X and Y T F
การเชื่อมนิพจน์ด้วย Or นิพจน์ 1 X นิพจน์ 2 Y ผลลัพธ์ X or Y T F
การเชื่อมนิพจน์ด้วย Not นิพจน์ 1 X ผลลัพธ์ Not X T F
ตัวอย่าง กำหนดให้ a = 10; i = 5 T F T F F T นิพจน์ ค่านิพจน์ (a + i = 15) and (a div i = 2) (a < 5) and (a + i = 15) (a < 5) or (a + i = 15) (a < 5) or (20 < 15) Not (a div i = 2) Not (a < 5) T F T F F T