Đoạn chương trình này thực hiện bao nhiêu vòng lặp
S:=0;A:=2;while A<5 do S:=S+A;
A. 1 vòng lặp B. Lặp vô hạn
C. 25 vòng lặp D. Không có vòng lặp nào
Đoạn chương trình này thực hiện bao nhiêu vòng lặp
S:=0;A:=2;while A<5 do S:=S+A;
A. 1 vòng lặp B. Lặp vô hạn
C. 25 vòng lặp D. Không có vòng lặp nào
Đoạn chương trình này thực hiện bao nhiêu vòng lặp
S:=0; A:=2; while A<5 do S:=S+A;
A. 1 vòng
B. Lặp vô hạn
C. 25 vòng lặp
D. Không có vòng lặp nào
Giải thích:
Ta thấy điều kiện A<5 (2<5) là đúng nhưng trong các câu lệnh không có câu lệnh nào thực hiện làm thay đổi giá trị của A dẫn đến điều kiện luôn đúng nên vòng lặp while…do vẫn luôn chạy dẫn đến lặp vô hạn lần.
Kinh nghiệm:
Khi thực hiện vòng lặp while…do, ta cần phải có ít nhất 1 câu lệnh làm thay đổi giá trị để điều kiện từ đúng đến một lúc nào đó dẫn đến sai để kết thúc.
`S=0; A=2`
– Vòng 1: `A<5(2<5)→S=S+A=0+2=2`
– Vòng 2: `A<5(2<5)→S=S+A=2+2=4`
– Vòng 3: `A<5(2<5)→S=S+A=4+2=6`
– Vòng 4: `A<5(2<5)→S=S+A=6+2=8`
– Vòng 5: `A<5(2<5)→S=S+A=8+2=10`
…..
– Vòng n: `A<5(2<5)`
Vậy vòng lặp trên lặp vô hạn lần do biến A không thay đổi giá trị.
Đáp án: B. Lặp vô hạn lần.