Trò chuyện
Bật thông báo
Click Tắt thông báo để không nhận tin nhắn cho đến khi bạn Bật thông báo
Tôi:
Biểu tượng cảm xúc
😃
☂️
🐱

Chủ đề 6. Kĩ thuật lập trình - SGK Tin định hướng khoa học máy tính 11 Kết nối tri thức


Bài 22. Kiếm thử và đánh giá chương trình trang 106 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức

Bài 24. Đánh giá độ phức tạp thời gian thuật toán trang 111 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 25. Thực hành xác định độ phức tạp thời gian thuật toán trang 115 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 26. Phương pháp làm mịn dần trong thiết kế chương trình trang 118 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 27. Thực hành thiết kế chương trình theo phương pháp làm mịn dần trang 123 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 28. Thiết kế chương trình theo mô đun trang 127 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 29. Thực hành thiết kế chương trình theo mô đun trang 132 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 30. Thiết lập thư viện cho chương trình trang 137 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 31. Thực hành thiết lập thư viên chương trình trang 143 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 22. Thực hành bài toán sắp xếp trang 104 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 21. Các thuật toán sắp xếp đơn giản trang 99, 100 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 20. Thực hành bài toán tìm kiếm trang 94 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 19. Bài toán tìm kiếm trang 89 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 18. Thực hành dữ liệu mảng một chiều và hai chiều trang 86 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức Bài 17. Dữ liệu mảng một chiều và hai chiều trang 81 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức

Bài 22. Kiếm thử và đánh giá chương trình trang 106 SGK Tin học 11 Định hướng khoa học máy tính Kết nối tri thức

Trong các bài trước em đã học cách thiết kế thuật toán cho một số bài toán như bài toán tìm kiếm, bài toán sắp xếp và thiết lập chương trình thực hiện thuật toán đó. Một bài toán có nhiều thuật toán khác nhau và do đó có thể có nhiều chương trình khác nhau cùng giải quyết một bài toán. Hãy thảo luận và trả lời các câu hỏi sau: Làm thế nào để biết trong các thuật toán giải cùng một bài toán thì thuật toán nào là tốt nhất? Có những tiêu chí nào để đánh giá tính “tối ưu” của một thuật toán?

Cuộn nhanh đến câu

Khởi động

Trong các bài trước em đã học cách thiết kế thuật toán cho một số bài toán như bài toán tìm kiếm, bài toán sắp xếp và thiết lập chương trình thực hiện thuật toán đó. Một bài toán có nhiều thuật toán khác nhau và do đó có thể có nhiều chương trình khác nhau cùng giải quyết một bài toán. Hãy thảo luận và trả lời các câu hỏi sau:

Làm thế nào để biết trong các thuật toán giải cùng một bài toán thì thuật toán nào là tốt nhất?

Có những tiêu chí nào để đánh giá tính “tối ưu” của một thuật toán?



? mục I - HĐ1

Ở lớp 10, em đã học một số phương pháp kiểm thử chương trình. Em hãy thảo luận với các bạn về các phương pháp kiểm thử sau, nêu ý nghĩa của chúng trong việc đánh giá độ tin cậy và chứng minh tính đúng của chương trình:

1.Tạo các bộ dữ liệu kiểm thử (test) để kiểm tra dữ liệu đầu ra có chính xác hay không.

2.Thiết lập điểm dừng hoặc cho chương trình chạy theo từng lệnh để kiểm tra và tìm ra lỗi (bug) của chương trình.

3.Thực hiện in dữ liệu trung gian trong quá trình kiểm thử để tìm ra lỗi của chương trình (nếu có).



? mục I - CH1

 Giả sử em thiết lập chương trình giải bài toán nào đó. Em đã kiếm thử với 10 bộ dữ liệu và tất cả các kết quả đều đúng. Khi đó có thể kết luận chương trình đó đúng hay chưa?



? mục I - CH2

Giả sử một chương trình kiểm thử với 10 bộ dữ liệu cho kết quả 9 lần đúng, 1 lần sai. Chương trình đó là sai hay đúng?



? mục II - HĐ2

Quan sát chương trình mô tả thuật toán sắp xếp chèn. Hãy thảo luận và đưa ra các lập luận để kiểm tra tính đúng của thuật toán sắp xếp chèn.



? mục II - CH1

Chương trình sau giải bài toán: Yêu cầu nhập số tự nhiên n và tính tổng 1 + 2+… +n. Chương trình trên có đúng không?

Chương trình sau giải bài toán Yêu cầu nhập số tự nhiên n và tính tổng 1 + 2+… +n



? mục II - CH2

Chương trình sau giải bài toán đếm số các ước số thực sự của số tự nhiên n. Chương trình trên đúng hay sai.

Chương trinh sau giải bài toán đếm số các ước số thực sự của số tự nhiên n



? mục III - HĐ3

Thảo luận về các tiêu chí đánh giá tính hiệu quả của thuật toán hay chương trình giải một bài toán.

1.Tiêu chí quan trọng nhất là thời gian chạy chương trình phải nhanh, không cần quan tâm đến không gian bộ nhớ sử dụng của chương trình.

2.Tiêu chí tiết kiệm bộ nhớ là quan trọng nhất, sau đó mới đến thời gian chạy chương trình.

3.Các tiêu chí 1 và 2 không quan trọng mà quan trọng là chương trình được viết một cách đơn giản, rõ ràng, dễ hiểu và áp dụng.



? mục III - CH

Hai tiêu chỉ đánh giá độ phức tạp tính toán quan trọng nhất là gì?



Luyện tập - 1

Hãy xây dựng các bộ dữ liệu kiểm thử đề tìm lỗi cho chương trình tính n! với n là một số nguyên dương nhập từ bàn phím.

n=int(input(“nhập số n:”))

if n>0:

    giaithua=1

    for i in range(1,n+1):

        giaithua=giaithua*i

    print(n,”giai thừa bằng:”,giaithua)



Luyện tập - 2

Xét hàm mô tả thuật toán tính tổng các số chẵn của một dãy số cho trước.

def tongchan(A):

   s=0

   for i in range(len(A)):

     if A[i]%2==0:

       s=s+A[i]

   return s

Tìm hai bộ dữ liệu đầu vào có cùng kích thước của thuật toán trên nhưng có thời gian chạy khác nhau.



Vận dụng - 1

Cho dãy các số A = (3, 1, 0, 10, 13, 16, 9, 7, 5, 11].

a) Viết chương trình mô tả thuật toán tìm kiếm phần tử C = 9 của dãy trên. Tính thời gian chính xác thực hiện công việc tìm kiếm này.

b) Giả sử dãy A ở trên đã được sắp xếp theo thứ tự tăng dần: A= [0,1,3,5,7,9,10,11,13, 16]. Viết chương trình tìm kiếm nhị phân để tìm kiếm phân tử C = 9, đo thời gian thực hiện thuật toán. So sánh với kết quả 1ìm kiếm ở câu a.



Vận dụng - 2

Viết ba chương trình mô phỏng các thuật toán sắp xếp chèn, sắp xếp chọn và sắp xếp nổi bọt mà em đã biết. Cho biết thời gian thực tế thực hiện các chương trình trên với bộ dữ liệu đầu vào là dãy A = {3, 1, 0, 10, 13, 16, 9,7, 5, T1]



Mẹo tìm đáp án nhanh

Search Google: "từ khóa + baitap365" Ví dụ: "Bài 5 trang 13 SGK Vật lí 12 baitap365

Học tập cùng Learn Anything
Chủ đề:

Đường dẫn đến thư mục đích và các lỗi thường gặp: định nghĩa, loại đường dẫn, cách sử dụng và khắc phục các lỗi như không tìm thấy đường dẫn, quyền truy cập, định dạng đường dẫn và thư mục không tồn tại.

Lệnh cp trong hệ thống Linux/Unix - Sao chép tập tin và thư mục, tùy chọn và cú pháp

Khái niệm tên tập tin và quy tắc đặt tên tập tin | Phần mở rộng tập tin thông dụng | Quản lý tập tin và thư mục

Khái niệm về tập tin nguồn - Định nghĩa và vai trò trong lập trình | Các loại tập tin nguồn phổ biến và cách sử dụng | Sử dụng tập tin nguồn .js trong lập trình web | Cấu trúc và sử dụng tập tin nguồn | Liên kết tập tin nguồn để tạo chương trình hoàn chỉnh.

Tập tin đích: định nghĩa, vai trò và cách tạo, đọc, ghi và xử lý lỗi trong lập trình (150 ký tự)

Khái niệm ghi đè tập tin và tác hại của nó. Các lệnh ghi đè tập tin trên Windows, MacOS và Linux. Cách phòng tránh ghi đè tập tin bằng sao lưu dữ liệu và sử dụng phần mềm bảo vệ. Cẩn thận khi sử dụng lệnh ghi đè tập tin.

Khái niệm về tham số i

Khái niệm về nhiều tập tin cùng lúc và tầm quan trọng của nó trong công việc. Khái niệm về nhiều tập tin cùng lúc giúp tăng năng suất làm việc và quản lý tập tin hiệu quả trên máy tính. Việc này giúp tổ chức công việc rõ ràng và tìm kiếm thông tin dễ dàng.

Giới thiệu về lệnh cat trong Linux và Unix - hiển thị nội dung file văn bản trên terminal với nhiều tùy chọn. Cú pháp đơn giản và hướng dẫn đọc và kết hợp nhiều file.

Khái niệm xem nội dung tập tin

Xem thêm...
×