A. x=6.
*GT:
x:=k; if x>m then x:=m; if x>n then x:=n;
- Thay k=7, m=6, n=8 vào câu lệnh. Ta có:
x:=7; if 7>6 then x:=6; if 6>8 then x:=8.
- Vì 7 lớn hơn 6 nên câu lệnh if ... then đầu tiên được thực hiện, x=6. Nhưng if ... then thứ 2 điều kiện không đúng vì 6 không lớn hơn 8, câu lệnh không được thực hiện. Vậy x=m=6.
B. x=8
*GT:
x:=k; if x<m then x:=m else x:=n;
- Thay k=7, m=6, n=8 vào câu lệnh. Ta có:
x:=7; if 7<6 then x:=6 else x:=8;
- Vì 7 lớn hơn 6 nên câu lệnh đầu điều kiện không đúng, ngược lại 7 lớn hơn 6 nên vế sau else được thực hiện. Lúc này, x=n=8.