Cộng đồng chia sẻ tri thức Lib24.vn

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

Lý thuyết
Mục lục
* * * * *

Bài 4 (SGK trang 71)

Hãy tìm hiểu các cụm câu lệnh sau đây và cho biết với các câu lệnh đó chương trình thực hiện bao nhiêu vòng lặp? Hãy rút ra nhận xét của em.

a)

S:=0; n:=0;

while S<=10 do

   begin n:=n+1; S:=S+n end;

b)

S:=0; n:=0;

while S<=10 do

   n:=n+1; S:=S+n;

Hướng dẫn giải

Bài 5 (SGK trang 71)

Hãy chỉ ra lỗi trong các câu lệnh sau đây:

a) X:=10; while X:=10 do X:=X+5;

b) X:=10; while X=10 do X=X+5;

c) S:=0; n:=0; while S<=10 do n:=n+1; S:=S+n;

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.

Bài 1 (SGK trang 71)

Nêu một vài ví dụ về hoạt động lặp với số lần chưa biết trước.

Hướng dẫn giải

Bài 2 (SGK trang 71)

Hãy phát biểu sự khác biệt giữa câu lệnh lặp với số lần lặp cho trước và câu lệnh lặp với số lần lặp chưa biết trước.

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.

Bài 3 (SGK trang 71)

Hãy tìm hiểu các thuật toán sau đây và cho biết khi thực hiện thuật toán, máy tính sẽ bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng bao nhiêu? Viết chương trình Pascal thể hiện các thuật toán đó:

a) Thuật toán 1

Bước 1. S  \(\leftarrow\) 10, x \(\leftarrow\) 0.5

Bước 2. Nếu S \(\leq\) 5.2, chuyển tới bước 4.

Bước 3. S \(\leftarrow\) S - x và quay lại bước 2.

Bước 4. Thông báo S và kết thúc thuật toán.

b) Thuật toán 2

Bước 1. S \(\leftarrow\) 10, n \(\leftarrow\) 0.

Bước 2. Nếu S ≥ 10, chuyển tới bước 4.

Bước 3. n \(\leftarrow\) n + 3, S  \(\leftarrow\) S - n quay lại bước 2.

Bước 4. Thông báo S và kết thúc thuật toán.

Hướng dẫn giải

Có thể bạn quan tâm