Ðể nhập dữ liệu cho biến nguyên hay thực, ta dùng lệnh:
Readln(biến1, biến2, ., biếnk);
trong đó biến1, biến2,., biếnk đã được khai báo và có kiểu dữ liệu là
nguyên hay thực.
Khi gặp lệnh này, chương trình tạm dừng, chờ ta gõ đủ k số từ bàn
phím và kết thúc bằngEnter, rồi gán lần lượt k số đó cho biến1, biến2, .,
biếnk.
12 trang |
Chia sẻ: maiphuongdc | Lượt xem: 10882 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Pascal - Câu lệnh và lời chú giải, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
CÂU LỆNH VÀ LỜI CHÚ GIẢI
7.2.1. Phân loại câu lệnh :
Câu lệnh là một dãy các ký tự cơ bản được xây dựng theo một quy tắc
nhất định (gọi là cú pháp) nhằm chỉ thị cho máy thực hiện một công việc xác
định. Các câu lệnh được chia ra hai loại: câu lệnh đơn giản và câu lệnh có
cấu trúc.
Lệnh gán và lời gọi thủ tục được xếp vào loại đơn giản. Ví dụ:
k := 20;
Clrscr ;
Writeln(k) ;
Các lệnh rẽ nhánh và lệnh lặp được xếp vào loại có cấu trúc, chúng
được xây dựng từ các lệnh đơn giản, ví dụ:
If k>=0 then Writeln(k)
else
Writeln( -k) ;
Hai hay nhiều lệnh đơn giản được gom lại và đặt giữa hai từ khóa
BEGIN và END tạo thành một câu lệnh ghép, câu lệnh ghép cũng là lệnh có
cấu trúc, ví dụ:
Begin
Write(‘ nhập k :’);
Readln(k);
End;
Từ các lệnh đơn giản và các lệnh có cấu trúc đã có lại có thể xây dựng
được các lệnh có cấu trúc phức tạp hơn, ví dụ:
If k>= 0 then Writeln(k)
else
Begin
Writeln(‘ k âm, xin nhập lại : ‘);
Readln(k);
End;
Sau đây sẽ trình bày kỹ về một lệnh đơn giản vàthông dụng : lệnh
gán.
7.2.2. Lệnh gán :
Lệnh gán có cú pháp như sau :
TênBiến := Biểuthức ;
Ý nghĩa : tính toán biểu thức bên phải, rồi lưu kết qủa tính được vào tên
biến ở vế trái.
Ví dụ, cho khai báo :
Var
A, B : Real;
K : Integer;
Khi dùng lệnh các lệnh:
K := 10 ;
B := K* 3+5.5;
thì biến K có gía trị là 10, biến B có gía trị là 35.5.
Nếu thực hiện tiếp lệnh gán :
B:= 17/2;
thì gía trị của B bây giờ sẽ là 8.5.
Như vậy nếu một biến được gán nhiề? lần thì nó sẽ lấy gía trị của lần
gán sau cùng, tính đến thời điểm đang xét.
Ðặc biệt, lệnh:
B:=B +1;
có tác dụng tăng gía trị của biến B lên 1 đơn vị, kết qủa là B có gía trị bằng
9.5.
Cách thực hiện lệnh B:=B+1 là như sau: lấy gía trị hiện thời của biến B
(là 8.5) cộng thêm 1 (được 9.5), rồi đem kết qủa gán cho chính biến B.
Tương tự, lệnh B:=B-1; có tác dụng giảm B đi 1 đơn vị.
Yêu cầu để cho lệnh gán thực hiện được là kiểu dữ liệu của biểu thức ở
vế phải phải phù hợp với kiểu dữ liệu của biến ở vế trái, nếu không phù hợp
thì khi dịch (Compile) chương trình, Turbo Pascal sẽ thông báo lỗi : "Error
26 : Type mismatch". Ví dụ, lệnh gán dưới đây là sai vì vế trái là kiểu thực
còn vế phải là kiểu chuỗi :
A:=‘Pascal’;
Chú ý rằng một số nguyên có thể gán cho một biến thực, (chẳng hạn
lệnh A:=10; là đúng ), nhưng một số thực không thể gán cho một biến
nguyên. Ví dụ lệnh K:=10/4; là sai vì biến K có kiểu nguyên, còn vế phải
cho kết qủa là một số thực (=2.5).
Xét thêm ví dụ về các kiểu dữ liệu khác :
Cho khai báo :
Var
Ch : Char ;
St: String[20];
Khi đó:
Lệnh St:=‘A’; là đúng.
Lệnh St:=‘1234’; là đúng.
Lệnh Ch:=‘ABCD’; là sai vì vế phải là một chuỗi.
Lệnh St:= 100; là sai vì vế phải là một số.
Lệnh Ch:=‘1’ ; là đúng.
Lệnh Ch:=St ; là sai vì vế phải là một chuỗi.
7.2.3. Lời chú giải :
Lời chú giải có thể đặt tại bất kỳ chỗ nào trong chương trình và được
viết theo một trong hai cách :
{ lời giải thích }
(* lời giải thích *)
Lời giải thích là một chuỗi ký tự giải thích mục đích của chương trình
hay của một câu lệnh. Nó chỉ có tác dụng cho người dùng tham khảo nhằm
hiểu nhanh mục đích của chương trình hay của một câu lệnh mà không cần
phải đọc hết chương trình hay câu lệnh đó.
7.3.1. Nhập dữ liệu, thủ tục Readln
Nhập và xuất dữ liệu là hai khâu quan trọng trong qúa trình xử lý thông
tin. Hầu như chương trình nào cũng phải giải quyết vấn đề nhập, xuất dữ
liệu. Có nhập được dữ liệu thì mới có dữ liệu để tính toán hay xử lý. Có dữ
liệu xuất ra thì mới biết được kết qủa của qúa trình xử lý trong máy.
7.3.1.1. Nhập dữ liệu kiểu số :
Ðể nhập dữ liệu cho biến nguyên hay thực, ta dùng lệnh:
Readln(biến1, biến2, ..., biếnk);
trong đó biến1, biến2,..., biếnk đã được khai báo và có kiểu dữ liệu là
nguyên hay thực.
Khi gặp lệnh này, chương trình tạm dừng, chờ ta gõ đủ k số từ bàn
phím và kết thúc bằng Enter, rồi gán lần lượt k số đó cho biến1, biến2, ...,
biếnk.
Ví dụ, để nhập dữ liệu cho hai biến thực x, y và biến nguyên j, ta dùng
lệnh:
Readln(x, y, j);
Cách nhập như sau:
hoặc gõ 10 6.5 4 (có khoảng trắng giữa hai số ),
hoặc gõ từng số và Enter như dưới đây :
10
6.5
4
Trong cả hai trường hợp ta đều được: x=10, y=6.5, và j=4 .
Ngoài cách dùng một lệnh Readln(x, y, j) ; ta cũng có thể nhập riêng
cho từng biến bằng ba lệnh sau :
Readln(x);
Readln(y);
Readln(j);
7.3.1.2. Nhập dữ liệu kiểu ký tự hay kiểu chuỗi:
Ta dùng lệnh :
Readln( biến );
Ví dụ, cho khai báo :
Var
Ho_ten: String[18];
Phai: String[3];
Khoi_thi : Char;
Muốn nhập dữ liệu cho ba biến Ho_ten, Phai, Khoi_thi ta phải dùng ba
lệnh :
Readln(Ho_ten);
Readln(Phai);
Readln(Khoi_thi);
Khi nhập, ta gõ:
Tran Van Thanh
nam
A
Kết qủa, ba biến sẽ có giá trị là: Ho_ten = ‘Tran Van Thanh’, Phai=
‘nam’ và Khoi_thi=‘A’.
Khác với dữ liệu số, ta không nên dùng một lệnh Readln để nhập dữ
liệu cho hai hay nhiều biến kiểu ký tự hay kiểu chuỗi, vì sẽ có những nhầm
lẫn không kiểm soát được. Ví dụ, không dùng lệnh sau:
Readln( Ho_ten, Phai, Khoi_thi);
mà phải dùng ba lệnh Readln, mỗi lệnh nhập cho một biến như đã nêu ở
trên.
7.3.1.3. Các chú ý :
a) Dữ liệu nhập phải phù hợp với kiểu của biến. Nếu không phù hợp
thì chương trình sẽ dừng ngay và hiện thông báo lỗi.Ví dụ khi gặp lệnh
Readln(j) ; mà ta gõ 4.5 thì bị lỗi vì j là biến nguyên, còn 4.5 là số thực.
b) Lệnh: Readln ;
là một dạng nhập dữ liệu đặc biệt vì nó không có biến nào để nhận dữ liệu
nhập vào. Người ta dùng lệnh này khi muốn tạm dừng chương trình để xem
kết qủa trên màn hình, xem xong, gõ phím Enter thì chương trình chạy tiếp.
c) Biến kiểu lôgic không nhập được từ bàn phím.
d) Pascal còn có một lệnh nhập dữ liệu nữa là Read, có công dụng
như lệnh Readln, nhưng ít dùng. Sự khác nhau giữa Read và Readln là ở
chỗ: sau khi đã nhận đủ các gía trị cho các biến cần nhập, lệnh Readln sẽ xóa
sạch các gía trị nhập thừa, còn lệnh Read thì không. Các gía trị nhập thừa
của lệnh Read sẽ được tự động gán cho các biến trong lệnh nhập tiếp theo.
Ví dụ, xét hai lệnh:
Readln(x, y);
Readln(j);
Nếu khi nhập, ta gõ : 12.5 20.6 10
thì x=12.5, y=20.6, còn số 10 thừa bị xóa luôn. Biến j trong lệnh Readln(j) ở
dưới không bị ảnh hưởng. Muốn nhập số 9 cho j, ta gõ 9 .
Với đoạn chương trình :
Read(x, y);
Readln(j);
Nếu khi nhập, ta cũng gõ : 12.5 20.6 10
thì x=12.5, y=20.6, còn số 10 thừa không bị xóa mà tự động gán cho biến j
trong lệnh Readln(j) tiếp theo, kết qủa j=10 cho dù ta chưa muốn nhập cho j.
Vậy, lệnh Read có thể làm sai ý đồ nhập của lệnh nhập tiếp theo.
Lời khuyên là không nên dùng lệnh Read, chỉ dùng Readln .
Các file đính kèm theo tài liệu này:
- cau_lenh_va_loi_chu_giai_1711.pdf