การรับข้อมูลเข้า (Read, ReadLn Statement)
หลักการรับข้อมูล
เพื่อให้โปรแกรมใช้งานได้อย่างกว้างขวางและสะดวกในโปรแกรมส่วนใหญ่จึงไม่กำหนดค่าของ ตัวแปรไว้ในโปรแกรม แต่จะใช้วิธีการรับค่าเข้าไปตอนโปรแกรมทำงาน
คอมพิวเตอร์จะรับข้อมูลเข้ามาในหน่วยความจำโดยผ่านทางอุปกรณ์อินพุต (Input devices) เช่น คีย์บอร์ด (keyboard) ดิสก์ไดร์ฟ (disk drive) เมาส์ (mouse) ซึ่งปาสคาลจะรับข้อมูลด้วยคำสั่ง Read และ ReadLn (Read-Line)
รูปแบบของ Read และ ReadLn
Read(INPUT, Var1, Var2,…..,VarN)
ReadLn(INPUT, Var1, Var2,…..,VarN)
คำสั่ง Read และ ReadLn มีรูปแบบดังนี้
จากรูปแบบข้างต้นมีความหมายดังต่อไปนี้
1. Input หมายถึง ตัวแปรที่เป็นชื่ออุปกรณ์อินพุตของคอมพิวเตอร์ ซึ่งอาจจะเป็นคีย์บอร์ด ดิสก์ เมาส์ หรืออื่น ๆ ถ้าส่วนนี้ไม่ระบุตัวแปรเอาไว้ แสดงว่าว่างให้รับข้อมูลจากคีย์บอร์ด
2. Var1,…VarN คือตัวแปรสำหรับเก็บข้อมูลแต่ละรายการที่รับเข้ามา ตั้งแต่รายการที่ 1 ถึงรายการที่ N แต่ละรายการจะคั่นด้วยเครื่องหมาย , เวลาป้อนข้อมูลจะต้องคั่นแต่ละรายการด้วยเครื่องหมายวรรค หรือกดคีย์ Enter ข้อมูลที่รับเข้ามาจะถูกนำไปเก็บในตัวแปรแต่ละตัวเรียงตามลำดับจากซ้ายไปขวา
3. ตัวแปรแต่ละตัวจะรับข้อมูลได้เฉพาะที่เป็นชนิดเดียวกันถ้าป้อนข้อมูลผิดชนิดเช่น
Var Year : integer;
ถ้าเราป้อนข้อมูลเป็น 12.50 จะเกิดความผิดพลาดประเภท Run time Error ขึ้นซึ่งจะมีผลให้โปรแกรมหยุดการทำงานทันที
4. สำหรับจอภาพ ReadLn เมื่อรับข้อมูลครบตามจำนวนตัวแปรที่มีใน ( ) แล้วเคอร์เซอร์จะเลื่อนลงมาอยู่ที่ที่คอลัมน์ที่ 1 ของแถวล่างที่อยู่ถัดลงมา ส่วน Read เคอร์เซอร์จะอยู่ตอนท้ายของแถวเดิม
ตัวอย่างที่ 1 คำสั่ง Read(Name,Age)
ป้อนข้อมูล Bamrung 50 กดคีย์ Enter
แสดงที่จอ Bamrung 50 o (ตำแหน่งเคอร์เซอร์)
ตัวอย่างที่ 2 คำสั่ง ReadLn(Name,Age)
ป้อนข้อมูล Bamrung 50 กดคีย์ Enter
แสดงที่จอ Bamrung 50
o (ตำแหน่งเคอร์เซอร์)
5. สำหรับ ReadLn ที่ไม่มี ( ) ต่อท้าย หมายถึงการหยุดรอรับการกดคีย์ Enter เมื่อคีย์ Enter ถูกกด โปรแกรมจะทำตามคำสั่งที่อยู่ต่อมา
ตัวอย่าง คำสั่ง Write ('Press Enter'); ReadLn;
แสดงที่จอ Press Enter o
กดคีย์ Enter
แสดงที่จอ o (ตำแหน่งเคอร์เซอร์)
คำสั่งตามตัวอย่างนี้ นิยมใช้ในกรณีที่ต้องการให้โปรแกรมหยุดการทำงานชั่วคราว และเมื่อกดแป้น Enter โปรแกรมจะทำงานต่อไป
ตัวอย่างคำสั่ง Read และ ReadLn
Program HiName;
Var
Name : String[50];
Begin
Write('Input your Name ');
ReadLn(Name);
WriteLn('Hi',Name');
End.
โปรแกรมแสดงผลดังนี้
Input your Name
พิมพ์ชื่อ CHAIYA กดคีย์ Enter
ที่หน่วยความจำ Name มีข้อมูลดังนี้ Name
CHAIYA
ที่จอภาพจะเป็นดังนี้
Hi CHAIYA
ไม่มีความคิดเห็น:
แสดงความคิดเห็น