Chúng ta thảo luận riêng Read và Readln đơn giản vì trong bước đầu lập trình, bạn sẽ sử dụng rất nhiều

Cú pháp:

(1) Readln(Biến_1, biến_2, biến_n);
(2) Read(Biến_1, biến_2, biến_n);

Khi thực hiện lệnh này, máy dừng lại chờ người dùng nhập vào đủ n lần nhập dữ liệu tương ứng với n biến.
Ngoài ra, ta có thể sử dụng thủ tục Readln để dừng chương trình và chờ người dùng ấn một phím bất kỳ để tiếp tục, ký tự được ấn không hiển thị lên màn hình.

Chú ý:

– Các biến trong thủ tục Readln phải thuộc kiểu nguyên, thực, ký tự hoặc xâu ký tự. Do đó, ta không thể nạp từ bàn phím giá trị True hoặc False các biến kiểu Boolean.
– Dữ liệu nhập vào phải tương ứng với kiểu đã khai báo. Phải ấn phím Enter để thực hiện lệnh nhập sau khi gõ xong giá trị cần nhập.

Cái này rất quan trọng, chúng ta thường quen với “hiện đại hóa” ví dụ hỏi năm chúng ta chỉ cần nhập 2012 thôi mà không ENTER
Vì vậy trong bước đầu, nên có dòng hướng dẫn người sử dụng ấn phím ENTER

Ví dụ : Với a, b là hai biến nguyên, x là biến thực. Xét đoạn chương trình sau:

Readln(a, b);
Readln(x);

Nếu ta gõ các phím: 4 454 6.5 87 -> Enter
Kết quả: a nhận giá trị 4, b nhận giá trị 454. Các ký tự còn lại bị bỏ qua và không được xét trong thủ tục Readln(x) tiếp theo. Như vậy, máy dừng lại ở câu lệnh Readln(x) để chờ nhập số liệu cho biến x.

Lúc này nếu nhập tiếp 4 454 6.5 87 -> Enter thì giá trị của x sẽ là 4

Nhìn “na ná” như nhau, tuy nhiên Read khác hẳn Readln. Tuy nhiên chúng ta sẽ bàn tới Read sau.