Chủ đề F. Bài 6. Câu lệnh rẽ nhánh

Câu lệnh rẽ nhánh sách bài tập Tin Học lớp 10Cánh Diều, mời các em tham khảo cùng Bumbii.

Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính. Bài 6. Câu lệnh rẽ nhánh.

Câu F27

Giá trị tuyệt đối. Viết chương trình cho nhập vào một số thực x từ bàn phím và đưa ra giá trị tuyệt đối của x (|x|).

Đáp án:

Gợi ý: sau khi nhập vào x, ta kiểm tra nếu: x <0 thì đặt x = -x, sau đó in ra x. Tham khảo chương trình sau:

Nói thêm: Python có sẵn hàm chuẩn abs để tính giá trị tuyệt đối, như trong bài toán này ta có thể thay lệnh if trên hai dòng 2 và 3 bởi một dòng lệnh duy nhất: x = abs(x).

x = float(input('x= '))
if x < 0
   x = -x
print(x)

Câu F28

Xếp tam giác. An có ba que tính với độ dài lần lượt là ba số nguyên dương a, b, c. An muốn dùng ba que tính đó xếp thành một tam giác với ba cạnh là ba que tính đã cho. Viết chương trình nhập vào từ bàn phím ba giá trị a, b, c và đưa ra câu trả lời An có thể xếp được tam giác từ ba que tính với độ dài vừa nhập vào hay không?

Đáp án:

Ta biết rằng điều kiện cần và đủ để có thể dùng ba que tính xếp được một tam giác là độ dài mỗi que tính phải nhỏ hơn tổng độ dài hai que tính còn lại, tức là:

a < b + cb < c + ac < a + ab

Ta sẽ dùng điều kiện này để kiểm tra điều kiện ba que tính có thể xếp được một tam giác hay không.

Một cách khác, chu vi của tam giác phải lớn hơn hai lần độ dài mỗi que tính, tức là:

2 × max{a, b, c} < a + b + c.

Có thể sử dụng phương pháp tính giá trị lớn nhất trong ba số để tìm max {a, b, c} hoặc sử dụng hàm max được Python cung cấp sẵn. Tham khảo chương trình:

a = int(input("a= "))
b = int(input("b= "))
c = int(input("c= "))
if 2 * max(a, b, c) < a + b + c:
   print("Xếp được")
else:
   print("Không xếp được")

Câu F29

Đóng hộp. Một công ty sản xuất văn phòng phẩm nhận được đơn hàng mua n cái bút chì. Công ty cần đóng bút chì vào hộp để chuyển hàng đi, biết rằng mỗi hộp chứa được tối đa k cái bút chì. Viết chương trình nhập vào hai số nguyên dương n, k và đưa ra số hộp đựng bút nhỏ nhất mà công ty cần nhập.

Đáp án:

Để đóng hộp n cái bút chì, nếu n chia hết cho k thì ta cần nk hộp đầy. Nếu n không chia hết cho k thì ta cần thêm một hộp nữa để chứa những chiếc bút còn dư ra. Tham khảo chương trình sau đây:

Cách khác: Bỏ riêng ra một chiếc bút chì và đóng gói n – 1 chiếc bút còn lại. Nếu n – 1 chia hết cho k thì ta cần dùng n – 1k hộp và thêm 1 hộp để đựng chiếc bút được bỏ riêng ra, do đó cần tổng cộng n – 1k+1 hộp.

Nếu n – 1 không chia hết cho k thì ta vẫn cần số hộp như trên để đựng hết số bút. Vậy đáp số là n – 1k+1 hay n+k – 1k. Tham khảo chương trình sau đây:

n = int(input("n = "))
k = int(input("k = "))
if n % k == 0:
   print("Số hộp =", n//k)
else:
   print("Số hộp =", n// k + 1)

Câu F30

Số ngày trong tháng. Năm nhuận là năm chia hết cho 400 hoặc năm chia hết cho 4 nhưng không chia hết cho 100. Có thể công thức tính lịch sẽ phải sửa đổi trong tương lai nhưng quy tắc này sẽ còn đúng trong ít nhất 1000 năm nữa. Viết chương trình nhập vào một số nguyên dương m (1 < m < 12) và một số nguyên dương y, đưa ra số ngày trong tháng m của năm y.

Đáp án:

Ta biết rằng một năm có 12 tháng trong đó:

Các tháng 1, 3, 5, 7, 8, 10, 12 có 31 ngày.

Các tháng 4, 6, 9, 11 có 30 ngày.

Tháng 2 của năm nhuận có 29 ngày, còn tháng 2 của năm không nhuận có 28 ngày.

Dựa vào những thông tin vừa được cung cấp, tham khảo chương trình sau:

m = int(input("Tháng = "))
y = int(input("Năm = "))
if m == 4 or m == 6 or m == 9 or m == 11:
   d = 30
elif m == 2:
   if (y % 400 == 0) or (y % 4 == 0 and y % 100 != 0):
      d = 29
   else:
      d = 28
else:
   d = 31
print("Tháng", m, "năm", y, "có", d, "ngày.")

Xem thêm các bài khác tại Giải Sách bài tập Tin học Lớp 10 – Cánh Diều

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