2.6 ข้อความสั่งอ่านข้อมูล ข้อความสั่งกำหนดค่าทำหน้าที่เปลี่ยนค่าของตัวแปรในโปรแกรม โดยการกำหนดค่าเริ่มต้น หรือเปลี่ยนค่าปัจจุบันของตัวแปร รูปแบบของข้อความสั่งกำหนดค่ามีดังนี้ คือ ชื่อตัวแปร := ค่าที่ได้จากนิพจน์ นิพจน์ คือ ข้อความที่กำหนดด้วยชื่อตัวแปรโดดๆ ค่าคงที่ เครื่องหมายทางคณิตศาสตร์ หรือการเรียกใช้ฟังก์ชัน ตัวอย่าง 3-1 การกำหนดค่าให้ตัวแปร age := 6; หมายถึงกำหนดให้ตัวแปร age มีค่าเป็น 6 โดยที่ ':=' เป็นตัวดำเนินการของข้อความสั่ง กำหนดค่า (assignment operator) ข้อความสั่งกำหนดค่าเป็นข้อความ ที่ใช้บ่อยที่สุดในโปรแกรม การทำงานของคอมพิวเตอร์ เริ่มจากการคำนวณนิพจน์ที่อยู่ ด้านขวาของเครื่องหมาย ':=' และกำหนดค่าที่ได้ไว้ในตัวแปรที่อยู่ด้าน ซ้ายของเครื่องหมาย เช่น Number := 7 + 5; กรณีนี้หมายถึงตัวแปร Number มีค่าเป็น 12 (ผลบวกของ 7 และ 5) และสามารถใช้ Number ในนิพจน์อื่น ๆ ต่อไป เช่น Sum := Number + 9; ข้อสังเกตุในการใช้ข้อความสั่งกำหนดค่า 1. ตัวแปรที่จะนำมาใช้กับข้อความสั่งกำหนดค่า ต้องได้รับการกำหนดค่าเริ่มต้น (intialize) ก่อนที่จะนำมาใช้ในนิพจน์นั้น ๆ สำหรับตัวแปรที่ ไม่ได้กำหนดค่าเริ่มต้น ปาสกาลถือว่าไม่มีค่า จนกว่าจะมีการกำหนดค่าตัวแปรในโปรแกรม 2. การกำหนดค่าให้กับตัวแปร มูลค่าที่ให้จะต้องเป็นชนิดเดียวกับชนิด ของตัวแปรที่ระบุไว้ที่ส่วนต้น ของโปรแกรม เช่นกำหนดชนิดของตัวแปร Age เป็นเลขจำนวนเต็ม และตัวแปร Fraction เป็นเลขทศนิยม ข้อความสั่งกำหนดค่าที่ถูกต้อง ข้อความสั่ง กำหนดค่าที่ไม่ถูกต้อง Age := 26; Age := 26.5; Fraction := 26.5; Age := Fraction; อีกกรณีหนึ่งการกำหนดค่าเลขจำนวนเต็มให้กับ ตัวแปรเลขทศนิยมสามารถทำได้ ถึงแม้ว่าจะไม่ถูกต้องตามหลักไวยากรณ์ ของปาสกาล กรณีนี้จะมีการเก็บเลขจำนวนเต็มใน สภาพของเลขทศนิยม และมีการแสดงผลลัพธ์เป็นเลขทศนิยม ดังนั้นจึงควรหลีกเลี่ยงกรณีนี้ 3. การกำหนดค่าให้กับตัวแปรชนิดตัวอักขระ (char) โดยใช้เครื่องหมายฝนทองเสมอ เช่น Initial := 'E'; Seventhcharacter := '7'; ตัวแปรชนิดตัวอักขระ 1 ตัวสามารถใช้เก็บตัวอักขระ (character) เพียง 1 ตัวเท่านั้น 3.2 การแทนมูลค่าในรูปของนิพจน์ ในปาสกาลมีหลักสำคัญ 2 ประการที่ต้องพิจารณาเกี่ยวกับ มูลค่าของข้อมูลต่าง ๆ คือ ชนิดของข้อมูล และการแทนชนิดของ ข้อมูลที่เป็นกลุ่มของข้อมูลที่มีพิสัย (range) ขนาดใหญ่ เช่น เลข ทศนิยม (REAL) และเลขจำนวนเต็ม (INTEGER) หรือพิสัยขนาดเล็ก (เช่น เซตของตัวอักษรที่มีขนาด 64-128 ตัว หรือค่า ของตรรกวิทยาเพียง 2 ค่า) นอกจากนี้ชนิดของข้อมูลอาจแยกได้โดยวิธีการ ที่นำข้อมูลไปใช้ เช่นข้อมูลที่เป็นเลขจำนวนเต็ม สามารถทำการคำนวณ บวก ลบ คูณ หารได้ แต่ไม่สามารถทำงานที่กล่าวมาแล้วกับข้อมูลที่ เป็นตัวอักขระ การแทนมูลค่า (representation of value) คือการรวบรวมสัญลักษณ์ต่าง ๆ ที่แสดงความหมายของค่านั้น เช่น ถ้าต้องการแสดงความหมายของตัวเลข ที่มีค่าเป็น 7 สามารถทำได้หลายวิธี เช่น 7 seven VII นอกจากนี้ยังสามารถเขียนแทนได้อีก คือ +7 9-2 3+4 49 1/2 นิพจน์ในภาษาปาสกาลคือ ข้อความที่เขียนแทนด้วยตัวเลข ตัวแปร ฟังก์ชัน หรือข้อความทางคณิตศาสตร์ที่มีเครื่องหมายบวก ลบ คูณ หรือหาร 3.3 ตัวดำเนินการเลขคณิต (Arithmetic Operator) ของเลขทศนิยม และเลขจำนวนเต็ม ในการรวมค่าของเลขทศนิยม หรือเลขจำนวนเต็มเข้า ด้วยกันทำได้โดยใช้ตัวดำเนินการเลขคณิต เช่นเครื่องหมายบวก เครื่องหมายลบคูณ และหาร ในการหารมีข้อแตกต่างบางประการ ระหว่างเลขทศนิยม และเลขจำนวนเต็ม เช่น 4 หารด้วย 3 คือ 1.33333333333E + 00 ผลลัพธ์เป็นเลขทศนิยม 4 หารด้วย 3 คือ 1 และเศษ 1 ผลลัพธ์เป็นเลขจำนวนเต็ม จะเห็นว่าในกรณีที่สอง ผลลัพธ์ที่ได้มีการปัดตำแหน่งทศนิยมทิ้งไป เหลือแค่ผลลัพธ์ที่เป็นเลขจำนวนเต็มอย่างเดียว ตัวดำเนินการเลขคณิตที่ใช้กับเลขทศนิยม มีดังนี้ ตัวดำเนินการเลขคณิต ความหมาย ตัวอย่าง + บวก Price + Surcharge - ลบ Tuiton - Scholarship * คูณ 32.87 * 6.5 / หาร Spoils / 2.0 ตัวดำเนินการเลขคณิตที่ใช้กับเลขจำนวนเต็ม ตัวดำเนินการเลขคณิตที่ใช้กับเลขทศนิยม ใช้ได้กับเลขจำนวนเต็มแทบทุกชนิด ยกเว้น ตัวดำเนินการหารของเลขจำนวนเต็ม ใช้ div และ mod แทนเครื่องหมาย '/' ตัวดำเนินการdiv ให้ผลหารที่เป็นเลขจำนวนเต็ม โดยปราศจากจุดทศนิยม และเศษที่เหลือ เช่น 9 div 5 คือ 1 24 div 9 คือ 2 -19 div 5 คือ -3 |