Câu lệnh lặp For trang 41 sách bài tập Tin Học lớp 10 – NXB Kết Nối Tri Thức Với Cuộc Sống, mời các em tham khảo cùng Bumbii.
Chủ đề 5. Giải quyết vấn đề với sự trợ giúp của máy tính. Bài 20. Câu lệnh lặp For.
Câu 20.1
Hãy viết câu lệnh range cho kết quả là các dãy số sau:
a) 0, 1, 2, 3, …, 11.
b) -2, -1, 0, 1, 2, …, 8.
c) 5, 6, 7, …, 20.
Đáp án:
a) range(12).
b) range(-2, 9).
c) range(5, 21).
Câu 20.2
Kết quả thực hiện câu lệnh for dưới đây là gì?
Đáp án:
Dãy 0, 1, 4, 9, …, 81 (bình phương các số 0, 1, 2, …,9).
Câu 20.3
Cho đoạn chương trình sau:
a) Kết quả thực hiện các câu lệnh trên là gì?
b) Nếu thay câu lệnh for i in range(1, 11) bằng câu lệnh for i in range(11) thì kết quả thu được có thay đổi không? Vì sao?
Đáp án:
a) Giá trị trong sum là tổng các bình phương của 1, 2, 3…., 10 (= 385).
b) Kết quả không thay đổi. Vì giá trị i khi đó sẽ bắt đầu từ 0, tổng các bình phương của các số 0, 1, 2,…. 10 vẫn chính là tổng các bình phương của các 1, 2, …, 10.
Câu 20.4
Viết chương trình nhập vào từ bàn phím số tự nhiên n và tính tổng:
S = 1 + 1/2 + 1/3 + … + 1/n
Đáp án:
Chương trình được viết như sau:
Câu 20.5
Viết chương trình nhập vào từ bàn phím số tự nhiên n và tính tổng:
S = 1 x 2 + 2 x 3 + 3 x 4 + … + (n – 1) x n
Đáp án:
Chương trình được viết như sau:
Câu 20.6
Viết chương trình tính tổng các số tự nhiên chẵn và tổng các số tự nhiên lẻ không vượt quá n (n là một số tự nhiên được nhập vào từ bàn phím).
Đáp án:
Chương trình được viết như sau:
Câu 20.7
Viết chương trình nhập số tự nhiên n từ bàn phím rồi tính tổng và tích các ước số thực sự của n (số k là ước số thực sự của n nếu n%k = 0, k < n).
Đáp án:
Chương trình được viết như sau:
Câu 20.8
Điểm tổng kết trung bình năm học được tính theo công thức có dạng:
(diem1 x heso1 + diem2 x heso2 +… + diemk x hesok)/(heso1 + heso2 +… + hesok).
Viết chương trình tính điểm trung bình của em, trong đó số môn học k, điểm số từng môn và hệ số tương ứng được nhập vào từ bàn phím.
Câu hỏi mở rộng: Có thể thay câu lệnh:
diem = float(input(“Điểm môn thứ” + str(i) + “:”))
bằng câu lệnh:
diem = float(input(“Điểm môn thứ”, i, “:”))
được không?
Đáp án:
Chương trình được viết như sau:
Câu hỏi mở rộng: không thể thay thế được. Vì lệnh input() cho kết quả là một xâu kí tự. Câu lệnh diem = float(input(“Điểm môn thứ”, i, “:”)) có biến i, sẽ bị báo lỗi.
Câu 20.9
Viết chương trình giải bài toán dân gian:
“Vừa gà vừa chó
Bó lại cho tròn
Ba mươi sáu (36) con
Một trăm (100) chân chẵn
Hỏi có mấy gà mấy chó?”.
Đáp án:
Nếu kí hiệu k là số con gà thì số con chó sẽ là 36 – k và tổng số chân sẽ là so_chan = k x 2 + (36 – k) x 4. Rõ ràng k < 36. Như vậy, ta chỉ việc cho k nhận các giá trị lần lượt từ 0 tới 36 và kiểm tra nếu so_chan = 100 thì k và 36 – k chính là số gà và số chó cần tìm.
Chương trình có thể viết như sau:
Câu 20.10
Lập trình giải bài toán dân gian TRĂM TRÂU TRĂM CỎ:
“Trâu đứng ăn năm
Trâu nằm ăn ba
Lụ khụ trâu già
Ba con một bó
Trăm con ăn cỏ
Trăm bó no nê.
Hỏi có bao nhiêu trâu đứng, trâu nằm, trâu già?”.
Đáp án:
Bài toán có thể phát biểu lại như sau:
Có một trăm con trâu ăn hết một trăm bó cỏ. Mỗi con trâu đứng ăn được 5 bó. Mỗi con trâu nằm ăn được 3 bó. Ba con trâu già ăn cùng nhau hết 1 bó. Hỏi có bao nhiêu con trâu đứng, bao nhiêu con trâu nằm và bao nhiêu con trâu già?
Mỗi trâu đứng ăn 5 bó cỏ nên tối đa số trâu đứng chỉ có thể là 100/5 tức là 20 con.
Mỗi trâu nằm ăn 3 bó cỏ nên số trâu nằm nhỏ hơn hoặc bằng 100/3 tức là 33 con.
Số trâu già = 100 – số trâu đứng – số trâu nằm.
Chương trình được viết như sau:
Câu 20.11
Dựa vào lời giải của Câu 20.9, em hãy viết chương trình giải bài toán gà và chó tổng quát với tổng số gà và chó là m và tổng số chân là n được nhập vào từ bàn phím. Lưu ý: Trong trường hợp tổng quát, không phải với bất kì cặp số m và n nào bài toán cũng có lời giải. Ví dụ nếu m = 2, n= 10 bài toán vô nghiệm.
Đáp án:
Nếu kí hiệu k là số gà thì số chó sẽ là m – k.
Lời giải của bài toán chính là giá trị k thoả mãn điều kiện k x 2 + (m – k) x 4 = n. Trong chương trình, ta sẽ sử dụng biến co_nghiem để ghi nhận việc xác định được lời giải.
Giá trị ban đầu của co_nghiem được gán bằng False, khi tìm ra nghiệm thì giá trị của nó được đổi thành True.
Chương trình có thể viết như sau:
Câu 20.12
Em hãy viết chương trình giải bài toán có m trâu, n bó cỏ, mỗi trâu đứng ăn k1 bó cỏ, trâu nằm ăn k2 bó cỏ, k3 trâu già ăn 1 bó cỏ.
Đáp án: Câu lệnh lặp For
Chương trình được viết như sau:
Xem các bài giải khác tại Giải sách bài tập tin học lớp 10 – NXB Kết nối tri thức với cuộc sống
Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech
Không bao giờ từ bỏ hy vọng. Cố gắng mỗi ngày.