Câu hỏi:
11/05/2023 639Bạn An được yêu cầu viết các hàm đệ quy cho các bài toán sau:
1. Viết một hàm có chức năng in ra các số đếm ngược từ n xuống 1.
2. Viết hàm tính số Fibonacci thứ n.
Bạn An đã viết các hàm giải hai bài toán trên như sau:
Các hàm trên của bạn An có đúng không?
Quảng cáo
Trả lời:
Các hàm của bạn An đều bị lỗi:
- Hàm của chương trình 1 sẽ bị lặp vô hạn lần. Như vậy, muốn sửa lỗi này cần có các lệnh điều khiển làm dừng quá trình gọi đệ quy. Các lệnh này được gọi là lệnh điều khiển dừng hay phần điều khiển dừng của hàm. Chương trình 1 được viết lại đúng sau khi thêm phần điều khiển dừng như sau:
- Chương trình 2 có 2 lỗi: lỗi gọi đệ quy vô hạn không dừng và lỗi không thiết lập được các giá trị ban đầu của số Fibonacci với các trường hợp n = 0 và n = 1. Như vậy, để sửa các lỗi này cần đưa vào các lệnh điều khiển dừng gọi đệ quy vô hạn và các lệnh thiết lập các giá trị ban đầu của dãy. Các lệnh thiết lập các giá trị ban đầu của hàm với tham số đầu vào nhỏ sẽ được gọi là phần cơ sở của hàm đệ quy.
Hot: Học hè online Toán, Văn, Anh...lớp 1-12 tại Vietjack với hơn 1 triệu bài tập có đáp án. Học ngay
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Lời giải
Chương trình đệ quy Python để in và đếm từ 1 đến 100 trên màn hình có thể được viết như sau. Trong đó, hàm count được định nghĩa để in số và gọi lại chính nó với giá trị đầu vào tăng lên 1. Nếu giá trị đầu vào là 100 hoặc lớn hơn, hàm sẽ kết thúc đệ quy.
Chạy chương trình sẽ cho kết quả in ra các số từ 1 đến 100 trên màn hình.
Lời giải
Đáp án đúng: D
Đệ quy và lặp là hai khái niệm khác nhau trong lập trình. Đệ quy là cách giải quyết một bài toán bằng cách chia nhỏ thành các bài toán con cùng loại và giải quyết chúng đệ quy cho đến khi nào đạt được điều kiện dừng. Trong khi đó, lặp là việc lặp đi lặp lại một hành động nào đó cho đến khi đạt được điều kiện dừng.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Lời giải
Bạn cần đăng ký gói VIP ( giá chỉ từ 199K ) để làm bài, xem đáp án và lời giải chi tiết không giới hạn.
Bộ 4 đề thi cuối học kì 2 Tin 11 Kết nối tri thức có đáp án (Đề 2)
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 1: Một số thao tác chỉnh sửa ảnh và hỗ trợ chỉnh sửa ảnh có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 2: Tẩy xóa ảnh có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Tin học ứng dụng Nghề quản trị cơ sở dữ liệu có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 4: Giới thiệu phần mềm làm video có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 5: Truy vấn trong cơ sở dữ liệu quan hệ có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 5: Truy vấn trong cơ sở dữ liệu quan hệ (tiếp theo) có đáp án
15 câu Trắc nghiệm Tin học 11 Cánh diều Bài 3: Quan hệ giữa các bảng và khóa ngoài trong cơ sở dữ liệu quan hệ có đáp án