VII. CÁC THỦ TỤC NHẬP/XUẤT
a. Lệnh gán (Assignment statement)
Một trong các lệnh đơn giản và cơ bản nhất của Pascal là lệnh gán. Mục đích của lệnh này là gán cho một biến đã khai báo một giá trị nào đó cùng kiểu với biến.
Cách viết: <Tên_biến> := <biểu thức> ;
Ví dụ : VAR c : Char ; i,j : Integer ; x, y : Real ; p, q : Boolean ; thì ta có thể có các phép gán sau : c := ‘A’ ; c := Chr(90) ; i := (35+7)*2 mod 4 ; i := i div 7 ; x := 0.5 ; q := i > 2*j +1 ; q := not p ; VII. CÁC THỦ TỤC NHẬP/XUẤT
BÀI TẬP
1. Tính giá trị của các biểu thức dưới đây: (‘d’>‘g’) and (18 div 4 * 4 >125) = (True<False) or (‘a’ <‘c’) =
round(-72.315)=
2. Cho biết S thuộc kiểu gì biết rằng n là một biến kiểu Shortint và trong chương trình có lệnh gán: S:=n(n-1)/2;
3. Biết rằng trong chương trình có một lệnh gán: i:=n mod 4 Hỏi n có thể khai báo kiểu real được không?
4. Biết rằng trong chương trình có sử dụng một lệnh gán i:=ORD(n). Hãy xác định các kiểu có thể sử dụng được trong khai báo của n
5. Biết rằng S1 và S2 là hai biến kiểu Byte và trong chương trình có lệnh gán S:=S1+S2. Xác định kiểu khai báo đúng nhất của S
6. Biết rằng n là một biến kiểu Byte và trong chương trình có lệnh gán S:=n*(n+1). Hỏi S có thể nhận các kiểu khai báo nào?
7.Biết rằng trong chương trình có một lệnh gán: i:=ORD(n). Hỏi kiểu của i có thể là kiểu số thực được không?
8. Biết rằng trong chương trình có sử dụng lệnh gán i:=n MOD 4. Hỏi kiểu của n có thể là real được không
9.Biết rằng n là một biến kiểu Integer và trong chương trình có sử dụng lệnh gán S:=n*(n+1)/2. Hỏi kiểu của S có thể trùng với kiểu của n được hay không?
10. Biết n là một biến kiểu Integer và S:=n*n. Hỏi biến i có thể khai báo kiểu Integer được không nếu gán i:=SQRT(S)
11. Biết rằng n là một biến kiểu integer và S:=n*(n div (trunc (n/2))). Hỏi S có thể nhận giá trị kiểu Integer được không?