RANDOM

Bài tập 3 trang 71 SGK Tin học 8

Giải bài 3 tr 71 sách GK Tin học lớp 8

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.

ADSENSE

Hướng dẫn giải chi tiết bài 3

a) Thuật toán 1:

10 vòng lặp được thực hiện. Khi kết thúc thuật toán S = 5.0. Đoạn chương trình Pascal tương ứng:

S:=10; x:=0.5;

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

writeln(S);

b) Thuật toán 2:

Không vòng lặp nào được thực hiện vì ngay từ đầu điều kiện đã không được thỏa mãn nên các bước 2 và 3 bị bỏ qua. S = 10 khi kết thúc thuật toán. Đoạn chương trình Pascal tương ứng:

S:=10; n:=0;

while S<10 do

   begin n:=n+3; S:=S-n end;

writeln(S);

Nhận xét: Trong các thuật toán và chương trình trên, điều kiện được kiểm tra trước khi các bước lặp được thực hiện. Do đó nếu điều kiện không được thỏa mãn ngay từ đầu, các bước lặp sẽ bị bỏ qua. Điều này đặc biệt đúng đối với câu lệnh lặp while..do.

-- Mod Tin Học 8 HỌC247

Nếu bạn thấy hướng dẫn giải Bài tập 3 trang 71 SGK Tin học 8 HAY thì click chia sẻ 

 

RANDOM