mọi người ơi cho em hỏi là read với readln khác nhau chỗ nào ạ(cho ví dụ của từng loại để em dễ hiểu hơn nhá)

2 câu trả lời

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.

read và readln có chức năng giống nhau nhưng điểm khác nhau là sau khi đọc xong, con trỏ sẽ ko xuống dòng nếu đó là read, còn nếu sử dụng readln thì nó sẽ xuống dòng

VD:  S:=1;

read(S);

write('xin chao');

Chạy chương trình sẽ ra ntn:

Sxin chao

nhưng nếu thay read=readln thì sau khi chạy nó sẽ như:

S

xin chao