Lựa chọn câu để xem lời giải nhanh hơn
- Khởi động
- Hoạt động 1
- ? mục 1
- Hoạt động 2
- ? mục 2
- Luyện tập
- Vận dụng
Khởi động
Trả lời câu hỏi mở đầu trang 105 SGK Tin học 10
Em có thể gặp những trường hợp cần thực hiện một số công việc lặp đi lặp lại nhiều lần. Ví dụ, để kể tên tất cả các bạn trong lớp có 30 học sinh, em cần lần lượt đọc tên từng bạn; để đếm số lượng các số chia hết cho 3 trong khoảng từ 1 đến 50, em có thể kiểm tra lần lượt các số từ 1 đến 50 và ghi ra các số chia hết cho 3 [chẳng hạn, 3, 6, 9,...] rồi đếm các số đó. Ngôn ngữ lập trình bậc cao có các câu lệnh cho phép viết một cách ngắn gọn các bước cần thực hiện lặp đi lặp lại để tạo thành một cấu trúc lập trình được gọi là cấu trúc lặp.
Em có thể xác định được trong mỗi ví dụ trên công việc nào cần phải lặp và được lặp lại bao nhiêu lần không?
Phương pháp giải:
Dựa vào thông tin trong ví dụ để xác định
Lời giải chi tiết:
Kể tên tất cả các bạn trong lớp có 30 học sinh: lặp 30 lần
Đếm số lượng các số chia hết cho 3 trong khoảng từ 1 đến 50: lặp 50 lần
Hoạt động 1
Trả lời câu hỏi Hoạt động 1 trang 105 SGK Tin học 10
Thực hiện đoạn chương trình sau trong chế độ gõ lệnh trực tiếp của Python để tính tổng 0 + 1 + … + 9. Tổng này có giá trị bao nhiêu? Giải thích kết quả.
Phương pháp giải:
Lệnh range[n] trả lại vùng giá trị gồm n số từ 0 đến n-1
Lệnh for là lệnh lặp với số lần biết trước.
Lời giải chi tiết:
Tổng có giá trị bằng 45.
Trong đoạn chương trình trên, lệnh range [10] trả lại một vùng giá trị gồm 10 số 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. Lệnh for sẽ thực hiện 10 lần lặp, mỗi lần lặp ứng với một giá trị k trong vùng giá trị trên. Sau lệnh lặp for trên, biến S sẽ có giá trị là tổng 0 + 1 + ... + 9 = 45.
Hoạt động 2
Trả lời câu hỏi Hoạt động 2 trang 106 SGK Tin học 10
Quan sát các lệnh for sau và so sánh kết quả in ra để biết vùng giá trị được xác định bởi lệnh range[]. Lưu ý, lệnh print[] có thêm tham số để in bộ dữ liệu theo hàng ngang
Phương pháp giải:
Quan sát các lệnh
Lời giải chi tiết:
range[3,10]: 3, 4, 5, 6, 7, 8, 9
range[0,15]: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
D. Hoạt động vận dụng
Hãy viết chương trình sử dụng lệnh lặp FOR để tính tổng các số tự nhiên từ 1 đến 10
Uses crt;
Var S, i: integer;
Begin
clrscr;
S : = 0;
for i:=1 to 10 do S := S + i;
writeln [S];
readln;
end.
Viết chương trình pascal tính tổng S=1+ 2+3 +... +n?
a,Bằng lệnh for...do
b,Bằng lệnh while...do
Giải Bài Tập Tin Học 11 – Bài 10: Cấu trúc lặp giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:
Xem thêm các sách tham khảo liên quan:
- Sách Giáo Viên Tin Học Lớp 11
1. Lặp
Với a là số nguyên và a>2, xét các bài toán sau đây:
Với cả hai bài toán, cách để tính tổng S có các điểm tương đồng .
+ Xuất phát, S được gán giá trị 1/a
+ Sau mỗi lần lặp giá trị tổng S được cộng thêm một giá trị 1/[a+N] N=1,2,3,..
Việc cộng này sẽ được lặp lại một số lần.
Đối với bài toán 1, số lần lặp sẽ là 100. Bài toán sẽ dừng sau khi thực hiện việc cộng 100 lần.
Đối với bài toán 2, số lần lặp sẽ chưa biết trước nhưng việc cộng vào sẽ kết thúc khi:
1/[a+N] 100 thì chuyển đến bước 5;
Bước 4: S:=S+1/[a+N]; quay lại bước 2 [Thao tác lặp ở đây].
Bước 5: Đưa S ra màn hình rồi kết thúc.
Cách 2:
Bước 1: Gán cho S:=1/a ; gán cho N=101;
Bước 2: Giảm giá trị N xuống 1. N:=N-1;
Bước 3: Nếu N