Giải SBT Tin học lớp 10 Bài 6, 7: Câu lệnh rẽ nhánh – Thực hành câu lệnh rẽ nhánh
Câu F27 trang 28 SBT Tin 10: 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|).
Trả lời:
Đây là một chương trình khá đơn giản, 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).
Câu F28 trang 28 SBT Tin 10: 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?
Trả lời:
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à độ đà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à:
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:
Câu F29 trang 28 SBT Tin 10: Đó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.
Trả lời:
Để đóng hộp n cái bút chì, nếu n chia hết cho k thì ta cần 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 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 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à hay . Tham khảo chương trình sau đây:
Câu F30 trang 29 SBT Tin 10: 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 1 000 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.
Trả lời:
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:
Câu F31 trang 29 SBT Tin 10: Kì thi Olympic Tin học quốc tế năm 2021 do Singapore đăng cai tổ chức diễn ra từ ngày 19 đến ngày 25 tháng 6 với sự tham dự của 351 thí sinh đến từ 90 quốc gia và vùng lãnh thổ. Bốn học sinh Việt Nam dự thi Olympic Tin học quốc tế năm 2021 xuất sắc giành Huy chương Bạc. Ngưỡng điểm để đạt Huy chương Vàng là 373/600. Em hãy thêm điều kiện trong chương trình dưới đây để nhận được chương trình cho nhập vào một số nguyên là điểm số của một thí sinh và cho biết thí sinh đó có đạt Huy chương Vàng hay không?
Trả lời:
Tham khảo chương trình sau:
Câu F32 trang 29 SBT Tin 10: Chương trình sau đây cho nhập vào ba số nguyên a, b, c sau đó đưa ra số nghiệm phân biệt của phương trình: (x – a)(x – b)(x – c) = 0 (với a, b, c là hằng số). Tuy nhiên, chương trình vẫn có lỗi, em hãy tìm và sửa lỗi đó.
Trả lời:
Phép so sánh bằng nhau là ==. Do đó câu lệnh có lỗi là: if (a = b) and (a = c).
Cần sửa lại thành: if (a == b) and (a == c).
Câu F33 trang 29 SBT Tin 10: Điểm trên mặt phẳng
Mặt phẳng trong hệ toạ độ Đề-các được chia thành bốn phần như hình sau. Hãy viết chương trình nhập từ bàn phím hai số thực x và y khác 0, lần lượt là hoành độ và tung độ của điểm A và xác định A thuộc góc phần tư nào của mặt phẳng toạ độ. Kết quả đưa ra có dạng: “Điểm A thuộc góc phần tư thứ k”, trong đó k nhận giá trị l, 2, 3 hoặc 4 phụ thuộc vào toạ độ của A.
Trả lời:
Tham khảo chương trình
Câu F34 trang 30 SBT Tin 10: An toàn
Biển quảng cáo được gắn vào cột với ba chốt bảo vệ. Chốt thứ nhất giữ được tấm biển khỏi đổ khi tốc độ gió không vượt quá a m/s, chốt thứ hai giữ được tấm biển khỏi đổ khi tốc độ gió không vượt quá b m/s và chốt thứ ba giữ được tấm biển khỏi đổ khi tốc độ gió không vượt quá c m/s. Biển quảng cáo ở trạng thái an toàn tuyệt đối khi tốc độ gió ở mức mà ít nhất 2 trong số 3 chốt bảo vệ vẫn giữ được cho tấm biển không đổ. Hãy xác định tốc độ gió tối đa mà biển quảng cáo có thể giữ được trạng thái an toàn tuyệt đối.
Dữ liệu: Nhập vào từ bàn phím ba số thực dương a, b và c.
Kết quả: Đưa ra màn hình một số thực là tốc độ gió tối đa tính được.
Ví dụ:
Input |
Output |
28 10 15 |
15 |
Trả lời:
Cần sắp xếp a, b, c theo thứ tự tăng dần hoặc giảm dần. Kết quả cần tìm là phần tử đứng giữa. Tham khảo chương trình sau:
Cách khác: Có thể tính u = max{a, b, c}, v = min{ }, kết quả cần tìm là (a + b + c -u – v).
Xem thêm các bài giải SBT Tin học lớp 10 Cánh diều hay, chi tiết khác:
Bài 5: Thực hành viết chương trình đơn giản
Bài 6, 7: Câu lệnh rẽ nhánh – Thực hành câu lệnh rẽ nhánh
Bài 8, 9: Câu lệnh lặp thực hành câu lệnh lặp
Bài 10, 11: Chương trình con và thư viện chương trình con có sẵn – Thực hành lập trình với hàm và thư viện
Bài 12, 13: Kiểu dữ liệu xâu kí tự – xử lí xâu kí tự – Thực hành dữ liệu kiểu xâu