Bài 3 (trang 66 sgk 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ẽ thực hiện bao nhiêu vòng lặp? Khi kết thúc, giá trị của S bằng b[r]
(1)Giải tập SGK Tin học 8: Lặp với số lần chưa biết trước
Bài (trang 66 sgk Tin học lớp 8): Nêu vài ví dụ hoạt động lặp với số lần chưa biết trước
Trả lời:
- Tập biết
- Tập nấu nấu ăn giỏi
- Múc nước đầy thùng
Bài (trang 66 sgk Tin học lớp 8): Hãy phát biểu khác biệt câu lệnh lặp với số lần lặp cho trước câu lệnh lặp với số lần lặp chưa biết trước
Trả lờ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 lệnh hay nhóm lệnh với số lần xác định từ trước
- Điều kiện giá trị 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 lệnh hay 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, kiểm tra giá trị có thực, điều kiện tổng quát khác
Bài (trang 66 sgk Tin học lớp 8): Hãy tìm hiểu thuật tốn sau và cho biết thực thuật toán, máy tính thực vịng lặp? Khi kết thúc, giá trị S bao nhiêu? Viết chương trình Pascal thể thuật tốn
a) Thuật toán 1
Bước S ← 10, x ← 0.5
Bước Nếu S ≤ 5.2, chuyển tới bước
(2)Bước Thơng báo S kết thúc thuật tốn
b) Thuật toán 2
Bước S ←10, n ←
Bước Nếu S ≥ 10, chuyển tới bước
Bước n ← n+3, S ← S-n quay lại bước
Bước Thông báo S kết thúc thuật toán
Trả lời:
a) Thuật toán 1:
- Kết thuật tốn có 10 vịng lặp, giá trị S=5
- Chương trình Pascal:
b) Thuật tốn 2:
- Kết thuật tốn có vịng lặp điều kiện vịng lặp khơng thỏa mãn, giá trị S=10
(3)Bài (trang 67 sgk Tin học lớp 8): Hãy tìm hiểu đoạn chương trình Pascal sau cho biết với đoạn lệnh chương trình thực vịng lặp Hãy rút nhận xét em
a) S:=0; n:=0;
while S <= 10
begin n:= n+1; S:= S+n end;
b) S:= 0; n:= 0;
while S >=10
n:= n+1; S:=S+n;
Trả lời:
a) Chương trình thực 10 vịng lặp
b) Chương trình thực vơ hạn vịng lặp giá trị S ln ln nhỏ 10
Nhận xét: Cần ý lỗi vịng lặp vơ hạn Ở phần b thiếu đoạn begin end để đóng mở nên sau lệnh lặp thực lệnh tăng n lên 1, lệnh tăng S lên khơng thực Do S ban đầu Lỗi lặp vô hạn xuất
(4)Một câu lệnh lăp khác thường hay sử dụng Pascal câu lệnh repeat… until có cú pháp sau:
repeat
<câu lệnh 1>;
<câu lệnh 2>;…;
<câu lệnh k>;until <điều kiện>;
Khi gặp câu lệnh chương trình thực câu lệnh nằm hai từ khóa repeat until, sau kiểm tra <điều kiện kiện>, <điều kiện> sai tiếp tục thực vịng lặp Q trình lăp lặp lại <điều kiện> kết thúc
Đoạn chương trình sau cho kết ví dụ trên:
T:= 0;
i:= 1;
repeat
T:= T+1/i;
i:= i+1;until i>100;
writeln(T);
1 Em viết chương trình Pascal với câu lệnh repeat…until thể thuật tính tính số n ví dụ
2 Hãy tìm hiểu rút điểm giống khác câu lệnh lặp While… Repeat … until
Trả lời:
(5)2 Giống khác:
Câu lệnh repeat…until: Chương trình thực câu lệnh nằm hai từ khóa repeat until, sau kiểm tra điều kiện, điều kiện sai tiếp tục thực vịng lặp Nếu kết thúc
Câu lệnh lặp while … do: Kiểm tra điều kiện Nếu điều kiện sai câu lệnh bị bỏ qua thực lệnh kết thúc Nếu điều kiện đúng, thực câu lệnh quay lại kiểm tra điều kiện
Giống: Đều lệnh lặp với số lần chưa biết trước
Khác: Repeat… until thực lệnh kiểm tra while… kiểm tra thực lệnh