Câu hỏi:
11/05/2023 447Bạ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?
Sách mới 2k7: Tổng ôn Toán, Lí, Hóa, Văn, Sử, Địa…. kỳ thi tốt nghiệp THPT Quốc gia 2025, đánh giá năng lực (chỉ từ 110k).
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.
CÂU HỎI HOT CÙNG CHỦ ĐỀ
Câu 2:
Phát biểu nào sau đây là sai về đệ quy
A. Một đối tượng được gọi là đệ quy nếu nó hoặc một phần của nó được định nghĩa thông qua khái niệm về chính nó.
B. Đối tượng đệ quy thì sự vật, hiện tượng liên quan đến đối tượng sẽ được lặp lại nhiều lần.
C. Trong đệ quy, lời giải của một bài toán phụ thuộc vào lời giải của các trường hợp nhỏ hơn của cùng một bài toán
D. Đệ quy là cách gọi khác của lặp.
Câu 5:
Trong cuộc sống hằng ngày, các em thường gặp các hiện tượng, sự vật, sự việc thể hiện giống hệt nhau, được lặp đi lặp lại với quy mô khác nhau. Ví dụ, búp bê Matryoshka rất nổi tiếng của Nga, khi mở búp bê mẹ ra chúng ta lại thấy búp bê con bên trong. Cây súp lơ có mỗi nhánh của cây súp lơ là hình ảnh thu nhỏ của cả cây súp lơ, …Em có thể nói gì về đặc điểm chung nhất của các búp bê Matryoshka, lá cây dương xỉ và cây súp lơ?
Câu 6:
Một hàm đệ quy sẽ có những thành phần nào?
A. Phần cơ sở và phần khởi tạo.
B. Phần cơ sở và phần đệ quy.
C. Phần đệ quy và phần khởi tạo.
về câu hỏi!