Slide bài giảng Khoa học máy tính 11 kết nối Bài 23: Kiểm thử và đánh giá chương trình

Slide điện tử Bài 23: Kiểm thử và đánh giá chương trình. Trình bày với các hiệu ứng hiện đại, hấp dẫn. Giúp học sinh hứng thú học bài. Học nhanh, nhớ lâu. Có tài liệu này, hiệu quả học tập của học môn Khoa học máy tính 11 Kết nối tri thức sẽ khác biệt

Bạn chưa đủ điều kiện để xem được slide bài này. => Xem slide bài mẫu

Tóm lược nội dung

BÀI 23: KIỂM THỬ VÀ ĐÁNH GIÁ CHƯƠNG TRÌNH

KHỞI ĐỘNG

- GV dẫn dắt, đặt vấn đề cho HS: 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ó thể 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.

- GV đặt câu hỏi yêu cầu HS trả lời:

Làm thế nào để xác định trong số các thuật toán giải quyết cùng một bài toán, thuật toán nào là hiệu quả nhất?

Những tiêu chí nào được sử dụng để đánh giá tính "tối ưu" của một thuật toán?

NỘI DUNG BÀI HỌC GỒM

  • Tìm hiểu vai trò của kiểm thử chương trình

  • Tìm hiểu cách kiểm tra tính đúng của chương trình

  • Tìm hiểu những tiêu chí đánh giá tính hiệu quả của chương trình

  • Luyện tập

  • Vận dụng

HOẠT ĐỘNG HÌNH THÀNH KIẾN THỨC

Hoạt động 1: Tìm hiểu vai trò của kiểm thử chương trình

Giả sử em thiết lập một chương trình để giải quyết một 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. Liệu có thể kết luận rằng chương trình đó là chính xác hay chưa?

Nội dung gợi ý:

Chưa thể kết luận chương trình đó đúng hay sai.

Hoạt động 2: Tìm hiểu cách kiểm tra tính đúng của chương trình

- GV chia lớp thành 6 nhóm và giao nhiệm vụ cho các nhóm:

+ Nhóm 1,4: Tìm hiểu và thực hiện Trao đổi 1. Thực hiện kiểm thử chương trình thông qua các bộ test, ghi kết quả xem đúng hay sai, yêu cầu kiểm thử càng nhiều càng tốt.

+ Nhóm 2,5: Tìm hiểu và thực hiện Trao đổi 2. Chứng minh thuật toán trên là đúng.

+ Nhóm 3,6: Tìm hiểu và thực hiện Trao đổi 3. Chứng minh tính đúng của thuật toán bằng lí luận toán học.

Hoạt động 3: Tìm hiểu những tiêu chí đánh giá tính hiệu quả của chương trình

+ Độ phức tạp thời gian được xác định là thời gian thực hiện chương trình/thuật toán.

+ Độ phức tạp không gian được xác định là tài nguyên của máy tính trong đó có phần bộ nhớ được sử dụng để thực hiện chương trình.

HOẠT ĐỘNG LUYỆN TẬP, THỰC HÀNH

Câu 1: Chương trình chạy phát sinh lỗi ngoại lệ ZeroDivision, nên xử lí như thế nào?

A. Kiểm tra lại giá trị số chia.

B. Kiểm tra lại chỉ số trong mảng.

C. Kiểm tra giá trị của số bị chia.

D. Kiểm tra kiểu dữ liệu nhập vào.

Câu 2: Chương trình sau bị lỗi ở dòng lệnh thứ bao nhiêu ?

>>> fruits = ['Banana', 'Apple', 'Lime']

>>> loud_fruits = [fruit.upper() for fruit in fruits]

>>> print(loud_fruits)

>>> list(enumerate(fruits))

A. 2.

B. 3.

C. 4.

D. Không phát sinh lỗi

Câu 3: Chương trình sau phát sinh lỗi gì?

>>> 1 / 0

0.5

>>> 2 ** 3

8

A. NameError.

B. TypeError.

C. ZeroDivisionError.

D. Syntax Error.

Câu 4: Chương trình chạy phát sinh lỗi ngoại lệ IndexError, nên xử lí như thế nào?

A. Kiểm tra lại giá trị số chia.

B. Kiểm tra lại chỉ số trong mảng.

C. Kiểm tra giá trị của số bị chia.

D. Kiểm tra kiểu dữ liệu nhập vào.

Câu 5: Chương trình sau có lỗi ở dòng lệnh nào?

n = int(input("Nhập số tự nhiên n: "))

s = ""

for i in range(10):

s = s + i

A. 1.

B. 2.

C. 3.

D. 4.

Đáp án gợi ý:

Câu 1: A

Câu 2: D 

Câu 3: C

Câu 4: B 

Câu 5: D

HOẠT ĐỘNG VẬN DỤNG

- GV yêu cầu HS hoàn thành bài tập phần Vận dụng trang 110 SGK.