Bài 1 cho biết tính hợp lệ của các câu lệnh pascal sau đây và viết lai để có câu lệnh pascal hoàn chỉnh ?
a) if m:=a+b then a>=b;
b) if 6<>5; then a:=a+b else a:=a-b
c) if max > m then; max:=m else if x>n then max:=n
d) x:=5; if x > 5 then a:=b; m:=n
bài 2 Với mỗi câu lệnh sau đây giá trị của biến X sẽ là bao nhiêu, nếu trước đó giá trị cửa X bằng 10?
a) if ( 45 mod 3 ) <> 0 then X:=X+1;
b) if ( X div 2 ) = 1 then X:=X*2;
c) if ( X mod 3 ) = 0 or ( X <= 10 ) then X:=X+1 else X:=X*2
d) if ( X div 2 ) <> 1 and ( X >= 10 ) then X:=X+1 else X:=X*2
1.
a. Không hợp lệ.
Sửa: if m=a+b then a:=b;
b. Không hợp lệ.
Sửa: if 6<>5 then a:=a+b else a:=a-b;
c. Không hợp lệ.
Sửa: if max>m then max:=m else if x>n then max:=n;
d. Hợp lệ.
2.
a. x = 10. (điều kiện sai)
b. x = 10. (điều kiện sai)
c. x = 11. (điều kiện đúng)
d. x = 11. (điều kiện đúng)
Bài 1
a) sai vì điều kiện if phải là phép so sánh và câu lệnh sau then không phải so sánh
Câu lệnh đúng
if m>=a+b then a:=b;
b) sai vì trước then ko được có dấu ; và cuối câu lệnh không có ;
Câu lệnh đúng
if 6<>5 then a:=a+b else a:=a-b;
c) sai vì dấu ; ở trước câu lệnh mà sau đó là else và cuối câu thiếu dấu ;
Câu lệnh đúng
if max>m then max:=m else if x>n then max:=n;
d) đúng
Bài 2
a) x=10
vì điều kiện if sai dẫn đến câu lệnh sau then không thực hiện
b) x=10
vì điều kiện if sai dẫn đến câu lệnh sau then không thực hiện
c) x=11
vì điều kiện câu lệnh đúng nên câu lệnh sau then được thực hiện x=x+1=10+1=11
d) x=11
vì điều kiện câu lệnh đúng nên câu lệnh sau then được thực hiện x=x+1=10+1=11