Bài 8. Lặp với số lần chưa biết trước

Bài 1 (SGK trang 71)

Hướng dẫn giải

- Tập đi cho đến khi biết đi.

- Tập nấu cho đến khi nấu ăn giỏi.

- Tập lái xe đến khi biết lái.

- Học thuộc lòng một bài thơ cho tới khi bố mẹ kiểm tra là đã thuộc thì mới kết thúc, nếu không thì phải học lại…

(Trả lời bởi Linh Nhi)
Thảo luận (2)

Bài 2 (SGK trang 71)

Hướng dẫn giải

Câu lệnh lặp với số lần biết trước :

– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần đã được xác định từ trước.

– Điều kiện là 1 giá trị của 1 biến đếm có giá trị nguyên

Câu lệnh lặp với số lần chưa biết trước :

– Chỉ thị cho máy tính thực hiện 1 lệnh hay 1 nhóm lệnh với số lần lặp chưa biết trước.

– Điều kiện tổng quát hơn, có thể là kiểm tra của 1 giá trị có thực, cũng có thể là 1 điều kiện tổng quát khác.

(Trả lời bởi Thời Sênh)
Thảo luận (3)

Bài 3 (SGK trang 71)

Hướng dẫn giải

a)

- Máy thực hiện gồm 10 vòng lặp

- Khi kết thúc vòng lặp giá trị của S=5

- Chương trình :

Program hotrotinhoc;

var x,s:real;

begin

s:=10; x:=0.5;

while s>=5.2 do s:=s-x;

write(s:1:0);

readln

end.

b)

- Máy thực hiện gồm vô hạn vòng lặp

- Khi kết thúc vòng lặp giá trị của S không xác định

- Chương trình :

Program hotrotinhoc;

var n,s:byte;

begin

s:=10; n:=0;

while s<=10 do

begin

n:=n+3;

s:=s-n;

end;

write(s);

readln

end.

(Trả lời bởi Minh Lệ)
Thảo luận (2)

Bài 4 (SGK trang 71)

Hướng dẫn giải

a) Vòng lặp while thực hiện 5 vòng lặp:
Vòng thứ nhất s=0 => n=1, s=1;
Vòng thứ hai s=1 => n=2, s=3;
Vòng thứ ba s=3 => n=3, s=6;
Vòng thứ tư s=6 => n=4, s=10;
Vòng thứ năm s=10 => n=5, s=15 kết thúc vòng lặp.
=> Vòng while sẽ kết thúc khi giá trị của s thay đổi không đáp ứng điều kiện tiếp tục vòng.

b) Vòng lặp while thực hiện vô hạn lần.
=> Giá trị của s luôn thỏa mãn điều kiện tiếp tục vòng while vì trong vòng while không thấy sự thay đổi của biến s (s luôn bằng 0 bé hơn 10).

(Trả lời bởi Minh Lê)
Thảo luận (1)

Bài 5 (SGK trang 71)

Hướng dẫn giải

a) Thừa dấu hai chấm trong điều kiện;

b) Thiếu dấu hai chấm trong câu lệnh gán;

c) Thiếu các từ khóa begin và end trước và sau các lệnh n:=n+1; S:=S+n, do đó vòng lặp trở thành vô tận.

(Trả lời bởi Thảo Phương)
Thảo luận (1)