Bài 20. Câu lệnh lặp For

Câu lệnh lặp For trang 41 sách bài tập Tin Học lớp 10NXB 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

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
0
Cùng chia sẻ bình luận của bạn nào!x