Trường Đại học Điện lực Tập đoàn Điện lực Việt Nam


Lệnh nhập dữ liệu từ bàn phím



tải về 1.67 Mb.
trang27/48
Chuyển đổi dữ liệu18.07.2016
Kích1.67 Mb.
#1821
1   ...   23   24   25   26   27   28   29   30   ...   48

5.3.2 Lệnh nhập dữ liệu từ bàn phím


5.3.2.1 Ý nghĩa
Để đưa 1 giá trị vào 1 biến, ngoài phép gán rất thuận tiện và dễ sử dụng nhưng phải gán sẵn trong chương trình, ta còn có thể dùng các thủ tục READ và READLN để nhập dữ liệu từ các thiết bị nhập của máy tính. Trong phạm vi chương này, chúng ta chỉ xét việc dùng các lệnh nêu trên để nhập dữ liệu từ bàn phím - thiết bị nhập chuẩn.
5.3.2.2 Cú pháp

READ(biến1, biến2, ..., biếnn); (1)

READLN(biến1, biến2, ..., biếnn); (2)

READLN; (3)
5.3.2.3 Sự thực hiện

Dạng (1): Khi thực hiện chương trình, gặp lệnh này máy tính dừng lại chờ người sử dụng gõ dữ liệu (từ bàn phím) lần lượt cho các biến theo thứ tự đã liệt kê trong câu lệnh. Kết thúc việc nhập, người sử dụng gõ phím ENTER. Với dạng (1) nếu số lượng dữ liệu nhập vào nhiều hơn số lượng biến được chỉ ra trong câu lệnh thì những dữ liệu dư ra vẫn được lưu lại trong vùng đệm và sẽ tự động chuyển vào các biến trong các lệnh READ hoặc READLN tiếp theo trong chương trình.

Dạng (2): Khi thực hiện chương trình, gặp lệnh này máy tính dừng lại chờ người sử dụng gõ dữ liệu (từ bàn phím) lần lượt cho các biến theo thứ tự đã liệt kê trong câu lệnh. Kết thúc việc nhập, người sử dụng gõ phím ENTER. Dạng (2) khác với dạng (1) ở chỗ: nếu số lượng dữ liệu nhập vào nhiều hơn số lượng biến được chỉ ra trong câu lệnh thì những dữ liệu dư ra sẽ bị loại bỏ mà không được lưu lại trong vùng đệm, nên không gây ảnh hưởng gì tới các lệnh READ hoặc READLN tiếp theo trong chương trình.

Dạng (3): Tạm dừng chương trình, chờ người sử dụng gõ phím ENTER để tiếp tục thực hiện các lệnh tiếp theo trong chương trình.
5.3.2.4 Chú ý

  • Các tham số của các lệnh nhập dữ liệu đặt trong dấu ngoặc () chỉ cho phép là các biến mà thôi;

  • Khi nhập dữ liệu từ bàn phím lưu ý dùng ít nhất một dấu cách (khoảng trống) để phân cách các giá trị cần nhập cho các biến khác nhau, không hạn chế số dấu cách.

  • Trong qúa trình nhập dữ liệu, các lệnh nhập đã nêu sẽ tự kiểm tra tính tương thích giữa dữ liệu nhập vào với kiểu của biến đã được khai báo. Nếu không phù hợp về kiểu, máy tính sẽ thông báo lỗi và ngay lập tức cho dừng việc nhập dữ liệu.

  • Biến kiểu Boolean không nhập được bằng hình thức này.

  • Để nhập dữ liệu từ bàn phím người ta thường dùng dạng (2) để tránh việc dữ liệu còn lưu ở vùng đệm tự động chuyển vào biến khi người sử dụng không kiểm soát được.


Ví dụ 5.18 :

VAR a, b, c: INTEGER;

x: REAL;

Nếu dùng dạng (1) ta viết các câu lệnh:

READ(a, b);

READ(x);


và nhập các số từ bàn phím như sau:

164 188 2 ()

5.5 ()

ta thu được dữ liệu trong các biến là:



a = 164

b = 188


x = 2

Vì dữ liệu nhập thừa từ lệnh nhập phía trên đã tự động chuyển vào lệnh nhập ngay tiếp sau, do đó đôi khi ta nhận được dữ liệu không hoàn toàn theo ý muốn.


Trái lại, nếu dùng dạng (2) ta viết các câu lệnh:

READLN(a, b);

READLN(x);

và nhập các số từ bàn phím như sau:

164 188 2 ()

5.5 ()


ta thu được dữ liệu trong các biến là:

a=164


b=188

x=5.5


Vì các dữ liệu nhập thừa từ lệnh nhập trên không còn tác dụng khi lệnh đó kết thúc.
5.3.2.5 Ví dụ

Ví dụ 5.19: Lập chương trình nhập từ bàn phím kích thước 2 cạnh của một hình chữ nhật. Tính chu vi, diện tích của hình chữ nhật đó. In kết quả ra màn hình.
PROGRAM vidu_5_19;

USES Crt;

VAR a,b,cv,dt:Real;

{a: cạnh dai, b: canh ngan, cv: chu vi, dt: dien tich}

BEGIN

CLRSCR;


READLN(a,b);

cv:=2*(a+b);

dt:=a*b;

WRITELN(‘Chu vi hinh chu nhat = ‘,cv:8:3);

WRITELN(‘Dien tich hinh chu nhat = ‘,dt:8:3):

READLN;


END.

5.3.3 Kết hợp WRITE và READLN khi nhập dữ liệu


5.3.3.1 Ý nghĩa

Trong chương trình nếu chỉ dùng lệnh READLN để nhập dữ liệu từ bàn phím vào biến sẽ có nhược điểm là không có sự chỉ dẫn cho người sử dụng biết cần nhập loại dữ liệu gì, cho biến nào. Để khắc phục nhược điểm trên, ta có thể kết hợp 2 thủ tục WRITE - in ra lời chỉ dẫn và READLN để nhập dữ liệu từ bàn phím vào biến, như vậy sẽ làm cho chương trình trở nên dễ sử dụng và đẹp mắt hơn.


5.3.3.2 Cú pháp

WRITE( Lời chỉ dẫn.......);

READLN(biến1, biến2,..., biếnn);
5.3.3.3 Chú ý

Không nên dùng WRITELN để in ra lời chỉ dẫn nhập dữ liệu vì sau khi in xong lời chỉ dẫn con trỏ màn hình sẽ bị dời xuống đầu dòng tiếp theo.


5.3.3.4 Ví dụ

Ví dụ 5.20: Xét đoạn chương trình 1:

WRITE(‘ Chieu dai cua hinh chu nhat a= ‘);

READLN(a);

WRITE(‘ Chieu rong cua hinh chu nhat b= ‘);

READLN(b);

.....


  • Kết quả khi chạy chương trình:

Chieu dai cua hinh chu nhat a=  {Chờ NSD nhập dữ liệu cho biến a}

Chieu rong cua hinh chu nhat b= _ {Chờ NSD nhập dữ liệu cho biến b}




  • Xét đoạn chương trình 2:

WRITELN(‘ Chieu dai cua hinh chu nhat a= ‘);

READLN(a);

WRITELN(‘ Chieu rong cua hinh chu nhat b= ‘);

READLN(b);

......


  • Kết quả khi chạy chương trình:

Chieu dai cua hinh chu nhat a=

_ {Chờ NSD nhập dữ liệu cho biến a}

Chieu rong cua hinh chu nhat b=

_ {Chờ NSD nhập dữ liệu cho biến b}




  • Nhận xét:

Cả 2 cách thực hiện đều đúng nhưng nên viết theo đoạn chương trình 1 sẽ hợp lý hơn.







BÀI TẬP CHƯƠNG 5



Bài 5.1. Trong một chương trình có các khai báo sau:

Const max = 100;

Var x, y: real;

m, n,: integer;

a: char;

b: boolean;

Cho biết câu lệnh nào sau đây là sai? Vì sao?


x := max * n;

y := -0.1;

max := m+n;

m+n := max;

m := n;

m := x;


x := n;

m := m mod x;

m := max + n;


b := m > n;

b := a +m >n;

a := a + 1;

m := m +1;

inc(m);

inc(x);


readln(x);

readln(a);

readln(m,n,x,y);


readln(m+n,x,y);

readln(a);

read(b);

readln(max,x,y,m,n);

writeln(b);

writeln(m+n);

writeln(x+m>y+n);

writeln(a:8:2);

write(x:8:2,m+n:8);



Bài 5.2. In ra màn hình các dòng sau:

*************************************

* Truong: DAI HOC DIEN LUC *

* Khoa : Cong nghe thong tin *

* Ho ten: Nguyen Thanh Lam *

*************************************


Bài 5.3. Lập trình in họ tên, ngày tháng năm sinh của một sinh viên bất kỳ và hiển thị các thông tin đo lên màn hình theo mẫu:

Sinh vien: ......

Sinh ngay: ...... thang ...... nam ......
Bài 5.4. Giả xử a là biến thực nhận giá trị 21.0547 và b là biến thực nhận giá trị là -16.05308. Cho biết các câu lệnh in có định dang sau sẽ in ra a và b như thế nào.

Writeln(a:8:2);

Writeln(a:5)

Writeln(b:10:3);

Writeln(a:7:0)
Bài 5.5. Nhập từ bàn phím 2 số thực bất kỳ, tính tổng, hiệu, tích của chúng và hiển thị kết quả lên màn hình theo mẫu:

So thu nhat: .....

So thu hai: .....

Tong cua chung la: .....

Hieu cua chung la: .....

Tich cua chung la: .....


Bài 5.6. Nhập x từ bàn phím. Tính và hiển thị lên màn hình giá trị biểu thức sau:

Y= (a3+2a)/ln(b2+21)

Trong đó: a = ex +1

b = |x|+1


Bài 5.7. Nhập vào từ bàn phím 2 biến X,Y. Hãy hoán vị X,Y và in kết quả trước và sau khi hoán vị.
Bài 5.8. Một quả bóng được ném theo phương ngang với vận tốc ban đầu là V. Thời gian kể từ khi ném tới khi bóng chạm đất là T.

Lập trình nhập V (m/s) và T (s) từ bàn phím. Tính tầm xa S(m) và độ cao H(m) mà bóng đạt được. Chạy thử với V=25; T=3;



Gợi ý: S=V.T; H=gt2/2.
Bài 5.9. Lãi xuất tiết kiệm hàng tháng của ngân hàng A là k = 1.25%. Tính số tiền có được sau t tháng gửi nếu biết số tiền ban đầu là x.
Bài 5.10. Cho ba điểm A(xa,ya), B(xb,yb), C(xc,yc) tạo thành một tam giác. Tính chu vi và diện tích tam giác ABC.

Chương 6

CÁC CÂU LỆNH CÓ CẤU TRÚC


Каталог: images
images -> Hướng dẫn sử dụng Dropbox Để sử dụng được Dropbox
images -> BÀi thuyết trình cách xáC ĐỊnh và chế ĐỘ pháp lý CỦa các vùng biển theo công ưỚc của liên hiệp quốc về luật biển năM 19821
images -> Céng hßa x· héi chñ nghÜa viÖt nam Độc lập tự do hạnh phúc
images -> Lúa gạo Việt Nam Giới thiệu
images -> Trung Tâm kt tc-đl-cl
images -> Số: 105/2008/QĐ-ttg CỘng hòa xã HỘi chủ nghĩa việt nam độc lập Tự do Hạnh phúc
images -> ChuyêN ĐỀ ĐẠi số TỔ HỢP, XÁc suất kiến thức cơ bản Đại số tổ hợp
images -> BỘ giáo dục và ĐÀo tạo trưỜng đẠi học luật tp. HỒ chí minh dưƠng kim thế nguyên thủ TỤc phá SẢn các tổ chức tín dụng theo pháp luật việt nam
images -> Review of Condor, Sun Grid Engine and pbs

tải về 1.67 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   23   24   25   26   27   28   29   30   ...   48




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương