Dễ hiểu giải Tin học 11 Cánh diều KHMT bài 4 Làm mịn dần từng bước từ các thuật toán đến chương trình máy tính

Giải dễ hiểu bài 4 Làm mịn dần từng bước từ các thuật toán đến chương trình máy tính. Trình bày rất dễ hiểu, nên tiếp thu Tin học 11 KHMT Cánh diều dễ dàng. Học sinh nắm được kiến thức và biết suy rộng ra các bài tương tự. Thêm 1 dạng giải mới để mở rộng tư duy. Danh mục các bài giải trình bày phía dưới

CHỦ ĐỀ FCS: GIẢI QUYẾT VẤN ĐỀ VỚI SỰ TRỢ GIÚP CỦA MÁY TÍNH

BÀI 4 LÀM MỊN DẦN TỪNG BƯỚC TỪ CÁC THUẬT TOÁN ĐẾN CHƯƠNG TRÌNH MÁY TÍNH

KHỞI ĐỘNG

Câu 1: Khi lập trình giải bài toán theo một thuật toán đã cho, em sẽ bắt đầu như thế nào? Theo em cách làm như thế có đúng phương pháp không?

Giải nhanh:

Cần nắm được các thuật toán. Hiểu được yêu cầu đề bài và chọn thuật toán phù hợp

2. LÀM MỊN CÁC BƯỚC MÔ TẢ THUẬT TOÁN

Câu 1: Mô tả thuật toán bằng liệt kê các bước còn chứa nhiều cụm từ của ngôn ngữ tự nhiên, mỗi cụm từ nêu một việc phải làm. Để lập trình thực hiện thuật toán, cần làm chi tiết dần từng bước. Theo em, đây có phải là “chia để trị” hay không? Vì sao?

Giải nhanh:

Có vì làm mịn dẫn các bước mô tả thuật toán là để tiến gắn hơn đến các câu lệnh của ngôn ngữ lập trình. Ở đây lựa chọn sử dụng mã gia để trình bày vì nó ngắn gọn, dễ hiểu và không phụ thuộc vào ngôn ngữ lập trình.

VẬN DỤNG

Câu 1: Hãy nêu một điều kiện sàng khác cho bài toán sàng số: in ra danh sách các số nguyên dương nhỏ hơn n và thoả mãn điều kiện sàng mới. Gợi ý: Ví dụ "không là số chính phương”.

Giải nhanh:

Gợi ý: Chúng ta coi một số là số chính phương trong Python nếu như nó bằng bình phương của một số tự nhiên. Hay, căn bậc 2 của một số chính phương chính là một số tự nhiên. 

Câu 2: Viết mô tả mã giả cho thuật toán tương ứng với Câu 1

Giải nhanh:

def find_square_number(n):

    #flag = 1 => số chính phương

    #flag = 0 => không phải số chính phương

    flag = 0;

    #Tìm số bất kỳ nhỏ hơn hoặc bằng n mà bình phương bằng n

    if any(i**2 == n for i in range(n+1)):

        flag = 1

    return flag

Thêm kiến thức môn học

Bình luận

Giải bài tập những môn khác