180 likes | 382 Views
หน่วยที่ 4. การรับข้อมูล และ การแสดงผล. การเขียนผลลัพธ์ในปาสคาล. มี 2 คำสั่ง คือ 1. WRITELN 2. WRITE การเขียนผลลัพธ์ในปาส ค าลนั้นสามารถกำหนด ความยาวได้หลายรูปแบบ แต่ละบรรทัดนั้นเริ่มต้น เขียนชิดขอบซ้ายและจบลงด้วยจุดสิ้นสุดบรรทัด <EOLN> (อ่านว่า end of line)
E N D
หน่วยที่ 4 การรับข้อมูล และ การแสดงผล
การเขียนผลลัพธ์ในปาสคาลการเขียนผลลัพธ์ในปาสคาล • มี 2 คำสั่ง คือ 1. WRITELN 2. WRITE • การเขียนผลลัพธ์ในปาสคาลนั้นสามารถกำหนด ความยาวได้หลายรูปแบบ แต่ละบรรทัดนั้นเริ่มต้น เขียนชิดขอบซ้ายและจบลงด้วยจุดสิ้นสุดบรรทัด <EOLN> (อ่านว่า end of line) • การเขียนผลลัพธ์ ที่จอภาพในแต่ละบรรทัดจะมีความยาว 80 ตัวอักษร • กรณีที่ข้อมูลนำออกมีความยาวเกิน 80 ตัวอักษร คอมพิวเตอร์แสดงผลจนถึง 80 ตัวอักษรและข้อความที่เหลือจะ แสดงชิดซ้ายในบรรทัดถัดไป
1. คำสั่ง WRITELN • เป็นคำสั่งที่ใช้แสดงข้อมูลส่งออกหนึ่งบรรทัด กรณีที่ต้องการเขียนนิพจน์หลายตัวในบรรทัดเดียวกันทำได้โดยใช้เครื่องหมายจุลภาคกั้น และสามารถเขียนรวมกับข้อความ การแสดงข้อมูลส่งออกนี้เริ่มจากขอบซ้ายของบรรทัดและข้อความนี้จะใส่จุดสิ้นสุดบรรทัดไว้ท้ายสุด เพื่อเป็นการบอกล่วงหน้าสำหรับข้อความแสดงผลต่อไปว่าให้ขึ้นบรรทัดใหม่ • มีรูปแบบ ดังนี้คือ WRITELN (<ตัวแปร> หรือ <ข้อความ>หรือ <นิพจน์>)
คำสั่ง WRITELN (2ต่อ) • การเขียนบรรทัดว่างทำได้โดยใช้ข้อความสั่ง WRITELN; คำสั่งนี้จะจบบรรทัดปัจจุบัน และสั่งตัวชี้ตำแหน่ง (cursor) ให้เริ่มต้นบรรทัดใหม่ ถ้าตัวชี้ตำแหน่ง อยู่ที่จุดเริ่มต้นของบรรทัดอยู่แล้ว เมื่อมีการสั่งงานกับคำสั่งนี้ writeln จะแสดงบรรทัดว่าง
ตัวอย่าง Hello World PROGRAM Hello_World; BEGIN writeln(‘Hello World’); readln; END. • ผลลัพธ์ • Hello World • _
2.คำสั่ง WRITE • เป็นคำสั่งที่มีรูปแบบเดียวกับคำสั่ง writeln การทำงานของคำสั่งนี้มีผลให้เขียนข้อมูลลงบรรทัดปัจจุบัน เมื่อแสดงผลลัพธ์แล้วจะไม่ขึ้นบรรทัดใหม่
ตัวอย่าง Hello World PROGRAM Hello_World; BEGIN write(‘Hello World’); readln; END. • ผลลัพธ์ • Hello World_
ข้อแตกต่างระหว่าง WRITE กับ WRITELN • คำสั่ง WRITELNจะแสดงผลลัพธ์ออกมา แล้วขึ้นบรรทัดใหม่ให้ • คำสั่ง WRITE จะแสดงผลลัพธ์ออกมาโดยที่เคอร์เซอร์ยังอยู่ในบรรทัดเดิม
ตัวอย่างการพิมพ์ค่า x ซึ่งเป็นตัวแปรชนิด real • PROGRAM test_write1; VAR x : real; y : char; BEGIN x := 123.456; y := ‘a’; write(‘x = ‘,x,’y = ‘,y); END. • ผลลัพธ์ • X = 1.23456000000006E+0002y=a
ตัวอย่าง โปรแกรมต่อไปนี้ เป็นการคำนวณหาผลบวกของนิพจน์ a + b โดย a และ b เป็นตัวแปรชนิด integer PROGRAM test_write2; VAR a,b : integer; BEGIN a := 3; b := -1; write(‘sum = ‘, a+b); END. • ผลลัพธ์ • sum = 2
ตัวอย่าง จากโปรแกรมต่อไปนี้ ให้พิมพ์สตริงออกมา PROGRAM test_write3; BEGIN write(‘RED’,’WHITE’,’ BLUE’); END. • ผลลัพธ์ • REDWHITE BLUE
การอ่านข้อมูลในปาสคาลการอ่านข้อมูลในปาสคาล • มี 2 คำสั่ง คือ 1. READLN 2. READ • เมื่อโปรแกรมเรียกใช้ read หรือ readln เครื่องคอมพิวเตอร์จะหยุดรอรับข้อมูลที่ผู้ใช้พิมพ์เข้าทางแป้นพิมพ์ การที่ผู้ใช้กด enter นั้นเป็นการใส่ <EOLN>ค่าที่พิมพ์เข้าไปนี้จะเก็บไว้ในส่วนความจำของ เครื่องคอมพิวเตอร์โดยเปลี่ยนไปเป็นรหัสไบนารี่ที่เหมาะสมและเก็บไว้ในตัวแปรตามที่กำหนดไว้ในคำสั่ง read ถ้าผู้ใช้ใส่ค่าซึ่งมีประเภทข้อมูลไม่ตรงกับชนิดของตัวแปรจะเกิดข้อผิดพลาดขึ้น เครื่องคอมพิวเตอร์จะแสดงคำเตือนข้อผิดพลาดและการทำงานของโปรแกรมอาจจะหยุดชะงัก
1. คำสั่ง READLN • มีรูปแบบดังนี้ READLN (ชื่อตัวแปร 1, ชื่อตัวแปร 2, ..., ชื่อตัวแปร n) • ชื่อตัวแปร = ตัวแปรที่ได้ประกาศไว้ซึ่งมีประเภทข้อมูลตรงกับค่าที่ผู้ใช้จะนำมาใส่ข้อมูล
2. คำสั่ง READ • มีรูปแบบดังนี้ READ (ชื่อตัวแปร 1, ชื่อตัวแปร 2, ..., ชื่อตัวแปร n)
ข้อแตกต่างระหว่าง READ กับ READLN • คำสั่ง READLN จะมีผลให้ต้องอ่านข้อมูลจากบรรทัดใหม่ • คำสั่ง READ จะมีผลให้สามารถอ่านข้อมูลจากบรรทัดเดิมได้เลย
ตัวอย่าง โปรแกรมรับค่าข้อมูลชื่อและอายุผ่านคีย์บอร์ดและแสดงผลทางหน้าจอ Please enter your name: tata How old are you ? 12 tata is 12 years old. PROGRAM read_write; VAR age : integer; name : string; BEGIN write(‘Please enter your name: ’); readln(name); write(‘How old are you ? ‘ ); readln(age); writeln(name,’ is ’,age,’ years old.’) END.
คำสั่งการรับข้อมูลจากที่เรียนมาแล้วมีดังนี้ :- คำสั่ง Read , Readln; คำสั่ง Readkey:char , KeyPressed : Boolean; **หมายเหตุ** ในกรณีที่ลืมรูปแบบการใช้คำสั่ง(syntax) ขณะที่ใช้ Virtual pascal สามารถพิมพ์คำสั่ง แล้วกดปุ่ม Ctrl + F1 หรือไปที่ Menu Help และเลือก Topic search จะมีหน้าต่างเล็กที่อธิบายคำสั่งพร้อมด้วยตัวอย่างง่ายๆ ประกอบการใช้คำสั่งนั้นๆ
คำสั่งการแสดงผลจากที่เรียนมาแล้วมีดังนี้ :- • คำสั่ง Write , Writeln; • ในกรณีที่ต้องการที่จะแสดงผลออกทางเครื่องพิมพ์ให้ใช้คำ ‘LST’ เช่น Writeln(‘LST’ , ‘Pascal programming’); เป็นต้น • ในกรณีที่มีเลขทศนิยมและต้องการที่จะแสดงผลรับที่ประกอบด้วยเลขจำนวนเต็มและจำนวนหลักของเลขทศนิยม สามารถใช้เลขบอกจำนวนหลักหลังตัวแปรนั้นๆคั่นด้วยตัว : เช่น x := 123.456789; Writeln(‘ ผลลัพธ์ = ’ , x:5:2 ); บนจอภาพจะแสดงข้อความ ผลลัพธ์ = 123.46 เป็นต้น