Pascal - Câu lệnh và lời chú giải

Ðể 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.

pdf12 trang | Chia sẻ: maiphuongdc | Lượt xem: 10895 | Lượt tải: 1download
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:

  • pdfcau_lenh_va_loi_chu_giai_1711.pdf
Tài liệu liên quan