Giải chi tiết Tin học 11 định hướng Khoa học máy tính Cánh diều mới 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 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 sách Tin học 11 - Định hướng khoa học máy tính Cánh diều. Phần đáp án chuẩn, hướng dẫn giải chi tiết cho từng bài tập có trong chương trình học của sách giáo khoa. Hi vọng, các em học sinh hiểu và nắm vững kiến thức bài học.

Khởi động: 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ư nào? Theo em cách làm như thế có đúng phương pháp không?

Hướng dẫn trả lời: 

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 dần các bước mô tả thuật toán

Hoạt động: 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?

Hướng dẫn trả lời: 

Theo em, đây  là “chia để trị”  => 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 trinh. Ở đâ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.

Cách thức chung: Chuyển các cụm từ mô tả một "việc cần làm” thành các đoạn mã giá tiến gần hơn một bước đến các câu lệnh của chương trình chi tiết. 

3. Thực hành

Thực hành: a. Đọc mã lệnh của thuật toán Eratosthenes cho ở Hình 5 và mô tả liệt kê các bước của thuật toán và bằng mã giả.

Giải chi tiết Tin học 11 định hướng Khoa học máy tính Cánh diều mới 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

b. Em hãy viết chương trình thực hiện sàng số nguyên tố sử dụng thuật toán và sử dụng thuật toán Eratosthenes. Sau đó chạy thử và so sánh kết quả.

Hướng dẫn trả lời: 

a.

Đọc mã lệnh của thuật toán Eratosthenes cho ở Hình 5 và mô tả liệt kê các bước của thuật toán và bằng mã giả:

Đục bỏ dần các số không nguyên tố bằng cách đánh dấu “là hợp số” (không phải số nguyên tố) mỗi khi biết số đó là bội số của một số nguyên tố.

b.

Giải chi tiết Tin học 11 định hướng Khoa học máy tính Cánh diều mới 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

Vận dụng

Vận dụng 1: Em hãy nêu đ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”

Hướng dẫn trả lời: 

Khái niệm số chính phương trong python cũng giống như trên. 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. Đây là chìa khóa thứ nhất giúp chúng ta có thể tìm được số chính phương trong python.

Nói cách khác, căn bậc 2 của một số chính phương chính là một số tự nhiên. Đây là chìa khóa thứ 2 giúp chúng ta có thể tìm được số chính phương trong python.

Vận dụng 2: Viết mô tả mã giả cho thuật toán tương ứng ở câu 1.

Hướng dẫn trả lời: 

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

Câu hỏi tự kiểm tra

Câu 1: Em hãy cho biết cách viết các dấu phép toán số học, phép so sánh bằng mã giả.

Hướng dẫn trả lời: 

Giải chi tiết Tin học 11 định hướng Khoa học máy tính Cánh diều mới 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 chi tiết Tin học 11 định hướng Khoa học máy tính Cánh diều mới 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

Câu 2: Hãy cho biết cách viết phép gán bằng mã giả, dấu bằng = có ý nghĩa gì trong mã giả

Hướng dẫn trả lời: 

Phép gán được sử dụng để gán giá trị cho một biến trong lập trình. Trong mã giả, phép gán được viết bằng dấu bằng "=", với biến ở bên trái dấu bằng và giá trị muốn gán ở bên phải. Dấu bằng "=" trong mã giả chỉ thực hiện phép gán giá trị cho biến, không phải là một mệnh đề so sánh.

Câu 3: Cho câu lệnh lặp bằng mã giả như ở hình bên. Hãy diễn giải ý nghĩa và cho biết kết quả là gì nếu bắt đầu ta có j nhận giá trị 5 và n nhận giá trị 15.

Giải chi tiết Tin học 11 định hướng Khoa học máy tính Cánh diều mới 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

For/in{i/I chẵn, 5+1<=i<=15-1

Hướng dẫn trả lời: 

Nếu bắt đầu ta có j nhận giá trị 5 và n nhận giá trị 15 thì kết quả là: 6,7,8,9,10,11,12,13,14.

Tìm kiếm google: Giải Tin học 11 - Định hướng Khoa học máy tính Cánh diều bài 4, giải Tin học 11 - Định hướng Khoa học máy tính sách CD bài 4, Giải 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

Xem thêm các môn học

Giải tin học 11 định hướng Khoa học máy tính Cánh diều mới


Đia chỉ: Tòa nhà TH Office, 90 Khuất Duy Tiến, Thanh Xuân, Hà Nội
Điện thoại hỗ trợ: Fidutech - click vào đây
Chúng tôi trên Yotube
Cùng hệ thống: baivan.net - Kenhgiaovien.com - tech12h.com