Giải tin học 10 bài 20 trang 105 SGK kết nối tri thức

Lựa chọn câu để xem lời giải nhanh hơn

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.

? mục 1

Trả lời câu hỏi mục 1 trang 106 SGK Tin học 10

Với giá trị n cho trước, so sánh giá trị S trong đoạn chương trình sau với tổng 1 + 2 + … + n.

Với giá trị n cho trước so sánh giá trị S trong đoạn chương trình

Phương pháp giải:

for là lệnh lặp với số lần biết trước. Số lần lặp thường được xác định bởi vùng giá trị của lệnh range()

Lời giải chi tiết:

Giá trị S trong đoạn chương trình với tổng 1 + 2 + … + n bằng nhau.

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

Quan sát các lệnh for sau và so sánh kết quả in ra để biết vùng giá trị

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

? mục 2

Trả lời câu hỏi mục 2 trang 107 SGK Tin học 10

Hãy biểu diễn các dãy sau đây bằng lệnh range().

a) 1, 2, 3, …, 50

b) 5, 6, 7, 8, 9, 10

c) 0, 1

d) 10

Phương pháp giải:

Lệnh tạo vùng giá trị có cú pháp range(start, stop) trả lại vùng giá trị gồm các số nguyên liên tiếp từ start đến stop - 1

Lời giải chi tiết:

a, range(1, 51)

b, range(5, 11)

c, range(2)

d, range(10, 11)

Luyện tập

Trả lời câu hỏi Luyện tập trang 107 SGK Tin học 10

1. Đoạn chương trình sau in ra kết quả gì?

Phương pháp giải:

Dựa vào kiến thức đã học

Lời giải chi tiết:

Kết quả của đoạn chương trình là bình phương của tổng dãy các số tự nhiên liên tiếp từ 0 đến n.

2. Viết đoạn chương trình tính tích 1 × 2 × 3 ×…× n với n được nhập từ bàn phím.

Phương pháp giải:

Dựa vào kiến thức đã học

Lời giải chi tiết:

n=int(input("Nhập số tự nhiên n"))

S=1

for n in range(1,n+1):

S=S*n

print("Tích các số từ 1 đến n là: ",S)

Viết đoạn chương trình tính tích 1 × 2 × 3 ×…× n với n được nhập từ bàn phím

Vận dụng

Trả lời câu hỏi Vận dụng trang 107 SGK Tin học 10

1. Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả

Phương pháp giải:

Dựa vào kiến thức đã học để viết chương trình

Lời giải chi tiết:

n=int(input("Nhập số tự nhiên n"))

S=0

for n in range(1,n+1):

S=S+1/n

print("Kết quả là: ",S)

Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả

2. Viết chương trình nhập từ bàn phím số tự nhiên n và in ra kết quả là tổng sau:

Phương pháp giải:

Dựa vào kiến thức đã học để viết chương trình

Lời giải chi tiết:

n=int(input("Nhập số tự nhiên n"))

S=0

for n in range(1,n+1):

S=S+n*n*n

print("Kết quả là: ",S)