Giải Tin học 10 trang 84 Cánh diều
Với Giải Tin học 10 trang 84 trong Bài 9: Thực hành câu lệnh lặp Tin học lớp 10 Cánh diều hay nhất, ngắn gọn sẽ giúp học sinh dễ dàng trả lời các câu hỏi & làm bài tập Tin 10 trang 84.
Giải Tin học 10 trang 84 Cánh diều
Bài 1 trang 84 Tin học 10: Em hãy dự đoán xem chương trình ở Hình 1 sau đây sẽ đưa ra màn hình những gì.
Chạy chương trình để kiểm tra kết quả.
Lời giải:
- Kết quả:
1 1
2 3
3 6
4 10
Bài 2 trang 84 Tin học 10: Bạn Hà viết chương trình ở Hình 2 để đếm xem số nguyên n nhập vào từ bàn phím có bao nhiêu ước thực sự (khác 1 và n). Tuy nhiên, chương trình chạy ra kết quả sai, em hãy sửa lỗi giúp Hà.
Lời giải:
Chương trình ở hình 2 có 2 lỗi:
Một là, sau điều kiện ở lệnh while phải có dấu hai chấm (:).
Hai là, chương trình là đếm số ước thực sự của n, vì vậy sau mỗi lần tìm thấy ước của n (n%i == 0) thì biến so_uoc tăng lên 1 đơn vị. Giá trị cuối cùng của biến so_uoc chính là số lượng ước của n. Vì vậy, câu lệnh print phải được đặt ngoài vòng lặp while để sau khi đếm xong số ước chúng ta mới viết ra màn hình. Chương trình viết lại như sau:
Cách làm tối ưu
Chúng ta nhận thấy rằng, các ước thực sự của n sẽ nằm trong khoảng từ 2 đến n-1.
- Dựa vào tính chất trong toán học, nếu n có ước thực sự thì chắc chắn có ước trong khoảng từ 2 đến căn của n.
- Nếu i là ước của n thì n/i chắc chắn là ước của n. Thật vậy: giả sử n=24 thì 2 là ước của 24 và 24/2 = 12 cũng là ước của 24.
Vì vậy để đếm số ước thực sự của n thì chúng ta chỉ cần duyệt i tăng từ 2 đến căn n. Nếu n chia hết cho i thì số lượng ước tăng lên 1. Và nếu i khác n/i thì số lượng ước sẽ tăng thêm 1 nữa. Ví dụ n=24, với i = 2 thì số lượng ước tăng 1, vì n/i = 12 khác 2 nên số lượng ước tăng thêm 1. Nếu n=9, i =3 thì chúng ta chỉ cộng thêm 1 ước vì n/i =i.
Chương trình tối ưu được viết như sau:
Bài 3 trang 84 Tin học 10: Tham khảo chương trình ở Ví dụ 5 trong Bài 8, em hãy viết chương trình yêu cầu người dùng nhập một số nguyên lớn hơn 1 000 000. Chừng nào người dùng nhập chưa đúng yêu cầu thì có thông báo yêu cầu nhập lại, chương trình chỉ kết thúc với thông báo “Cảm ơn, bạn đã nhập dữ liệu đúng yêu cầu” khi số người dùng gõ vào thoả mãn điều kiện đặt ra.
Lời giải:
n = int(input("Nhập số n "))
while(n <= 1000000 ):
print("Dữ liệu nhập chưa đúng, nhập lại!!!")
n = int(input("Nhập số n "))
print("Cảm ơn, bạn đã nhập dữ liệu đúng yêu cầu.")
Xem thêm lời giải bài tập Tin học lớp 10 Cánh diều hay, ngắn gọn khác:
Tin học 10 Bài 10: Chương trình con và thư viện các chương trình con có sẵn
Tin học 10 Bài 2: Sự ưu việt của máy tính và những thành tựu của tin học
Xem thêm các tài liệu học tốt lớp 10 hay khác:
- Giải sgk Tin học 10 Cánh diều
- Giải Chuyên đề học tập Tin học 10 Cánh diều
- Giải SBT Tin học 10 Cánh diều
- Giải lớp 10 Cánh diều (các môn học)
- Giải lớp 10 Kết nối tri thức (các môn học)
- Giải lớp 10 Chân trời sáng tạo (các môn học)
Tủ sách VIETJACK shopee lớp 10-11 cho học sinh và giáo viên (cả 3 bộ sách):
Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.
Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.
- Soạn văn 10 (hay nhất) - Cánh diều
- Soạn văn 10 (ngắn nhất) - Cánh diều
- Soạn văn 10 (siêu ngắn) - Cánh diều
- Giải sgk Toán 10 - Cánh diều
- Giải Tiếng Anh 10 Global Success
- Giải Tiếng Anh 10 Friends Global
- Giải sgk Tiếng Anh 10 iLearn Smart World
- Giải sgk Tiếng Anh 10 Explore New Worlds
- Giải sgk Vật lí 10 - Cánh diều
- Giải sgk Hóa học 10 - Cánh diều
- Giải sgk Sinh học 10 - Cánh diều
- Giải sgk Địa lí 10 - Cánh diều
- Giải sgk Lịch sử 10 - Cánh diều
- Giải sgk Kinh tế và Pháp luật 10 - Cánh diều
- Giải sgk Tin học 10 - Cánh diều
- Giải sgk Công nghệ 10 - Cánh diều
- Giải sgk Hoạt động trải nghiệm 10 - Cánh diều
- Giải sgk Giáo dục quốc phòng 10 - Cánh diều