Giáo án Khoa học máy tính 11 kết nối 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

Giáo án 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 sách Tin học 11 - Định hướng Khoa học máy tính kết nối tri thức. Được thiết kế theo công văn 5512, chi tiết, đầy đủ. Giáo án là bản word, có thể tải về và dễ dàng chỉnh sửa. Bộ giáo án có đầy đủ các bài trong học kì 1 + học kì 2 của KHMT 11 KNTT. Kéo xuống dưới để tham khảo chi tiết.

Xem video về mẫu Giáo án Khoa học máy tính 11 kết nối 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

Các tài liệu bổ trợ khác

Xem toàn bộ: Giáo án khoa học máy tính 11 kết nối tri thức đủ cả năm

Ngày soạn: .../.../...

Ngày dạy: .../.../...

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

  1. MỤC TIÊU:
  2. Kiến thức:

Học xong bài này, HS đạt các yêu cầu sau:

  • Thực hành thiết kế chương trình theo phương pháp làm mịn dần.
  • Biết thiết kế và cài đặt chương trình theo phương pháp làm mịn dần.
  1. Năng lực

Năng lực chung:

  • Tự chủ và tự học: biết lắng nghe, tự giác học tập và hoàn thành nhiệm vụ; tích cực tham gia các hoạt động học tập trong lớp.
  • Giao tiếp và hợp tác: có thói quen trao đổi, giúp đỡ nhau trong học tập; biết cùng nhau hoàn thành nhiệm vụ học tập theo sự hướng dẫn của GV.
  • Giải quyết vấn đề và sáng tạo: ứng dụng các kiến thức đã học vào thực tế, phát triển khả năng giải quyết vấn đề có tính tích hợp liên môn giữa Tin học với các môn học khác.

Năng lực riêng:

  • Thực hành thiết kế chương trình theo phương pháp làm mịn dần.
  • Biết thiết kế và cài đặt chương trình theo phương pháp làm mịn dần.
  1. Phẩm chất
  • Trách nhiệm, tính cẩn thận khi làm việc nhóm, phẩm chất làm việc chăm chỉ, chuyên cần để hoàn thành một nhiệm vụ.
  1. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
  2. Đối với giáo viên
  • SGK, tài liệu giảng dạy, giáo án PPT.
  • Máy tính, máy chiếu.
  1. Đối với học sinh:
  • SGK, SBT Tin học 11, vở ghi chép.
  • Tài liệu, thiết bị có liên quan đến nội dung bài học.

III. TIẾN TRÌNH DẠY HỌC

  1. HOẠT ĐỘNG KHỞI ĐỘNG
  2. a) Mục tiêu: HS nhắc lại các bước để thiết kế thuật toán theo phương pháp làm mịn dần đã học ở bài trước.
  3. b) Nội dung: GV tổ chức trả lời câu hỏi ở phần Mở đầu.
  4. c) Sản phẩm: Dựa vào kiến thức của bản thân, HS thực hiện yêu cầu GV đưa ra.
  5. d) Tổ chức thực hiện:

Bước 1: GV chuyển giao nhiệm vụ:

- GV dẫn dắt, đặt vấn đề cho HS: Phương pháp làm mịn dần là một trong các cách tiếp cận tổng quát khi giải quyết các bài toán cụ thể.

- GV đặt câu hỏi yêu cầu HS trả lời: Em có thể sử dụng sơ đồ cây để mô tả phương pháp này không?

Bước 2: HS thực hiện nhiệm vụ học tập: HS lắng nghe, suy nghĩ câu trả lời.

Bước 3: Báo cáo kết quả hoạt động, thảo luận:

- GV gọi đại diện một số HS trả lời:

Gợi ý:

+ Phương pháp làm mịn dần, hay còn gọi là phương pháp giảm dần và chinh phục dần là một trong các cách tiếp cận tổng quát để giải quyết các bài toán cụ thể. Sơ đồ hình cây là một công cụ hữu ích để mô tả phương pháp này.

+ Sơ đồ hình cây là một biểu đồ hình cây đơn giản, thường được sử dụng để minh họa quá trình giải quyết bài toán bằng phương pháp làm mịn dần. Nó gồm các nút đại diện cho các bài toán con, và các nhánh đại diện cho các bước giải quyết bài toán con đó. Các nhánh này có thể tiếp tục được chia nhỏ cho đến khi không thể chia nhỏ hơn nữa (đạt được điều kiện dừng), sau đó các kết quả của các bài toán con được tổng hợp lại để đưa ra kết quả cuối cùng cho bài toán gốc.

- HS khác nhận xét, bổ sung.

Bước 4: Đánh giá kết quả thực hiện:

- GV nhận xét câu trả lời của HS. Trên cơ sở đó, GV dẫn dắt HS vào bài học mới: Bài học trước chúng ta đã cùng nhau tìm hiểu về phương pháp làm mịn dần trong thiết kế chương trình. Để củng cố kiến thức đã học ở bài trước, chúng ta hãy cùng nhau vào - 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.

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

Hoạt động 1: Thực hiện nhiệm vụ 1

  1. a) Mục tiêu: Giúp HS thực hành được phương pháp làm mịn dần trong thiết kế chương trình kiểm tra hoán vị.
  2. b) Nội dung: GV tổ chức cho HS thực hiện theo các hoạt động trong SGK và thực hành nhiệm vụ được giao.
  3. c) Sản phẩm: Sản phẩm thực hành của HS.
  4. d) Tổ chức thực hiện:

HOẠT ĐỘNG CỦA GV VÀ HS

SẢN PHẨM DỰ KIẾN

Bước 1: GV chuyển giao nhiệm vụ:

- GV chia lớp thành các nhóm từ 2 – 4 HS.

- GV chiếu nhiệm vụ học tập:

Cho trước một dãy n số, các số được kí hiệu A[0], A[1],..., A[n-1]. Cần thiết kế chương trình kiểm tra xem dãy trên có phải là một hoán vị của dãy số 1, 2, …, n hay không. Chương trình cần thông báo kết quả là CÓ hoặc KHÔNG.

- GV mô tả nhiệm vụ và phác thảo các bước thiết kế chính theo phương pháp làm mịn dần:

+ Tìm hiểu bài toán

+ Thiết kế theo phương pháp làm mịn dần

+ Chương trình hoàn chỉnh

Bước 2: HS thực hiện nhiệm vụ học tập:

- HS lắng nghe GV hướng dẫn, đọc theo SGK và thực hiện việc cài đặt thành chương trình hoàn chỉnh, tạo bộ test theo hướng dẫn và kiểm tra xem chương trình đã viết có đúng không.

- GV quan sát và trợ giúp HS.

Bước 3: Báo cáo kết quả hoạt động, thảo luận:

- HS báo cáo các bộ test theo hướng dẫn.

- HS khác nhận xét, bổ sung cho bạn.

Bước 4: Đánh giá kết quả thực hiện:

- Sau khi HS hoàn thành chương trình, GV nhận xét và tổng kết nội dung nhiệm vụ 1.

- GV chuyển sang hoạt động tiếp theo.

Nhiệm vụ 1. Kiểm tra hoán vị

a) Tìm hiểu bài toán

Bài toán gốc: Cho trước dãy số A gồm n phần tử, cần kiểm tra xem A có phải là một hoán vị của dãy số 1, 2,..., n hay không.

b) Thiết kế theo phương pháp làm mịn dần

Bước 1. Thiết lập ý tưởng thiết kế ban đầu

Sơ đồ khung ban đầu của lời giải như sau:

1 Sắp xếp dãy A theo thứ tự tăng dần

2 Kiểm tra A có phải là dãy 1, 2, …, n hay không

Bước 2. Sắp xếp dãy A

- Việc sắp xếp dãy A theo thứ tự tăng dần được mô tả bằng hàm sapxep(A) theo một trong các thuật toán sắp xếp mà chúng ta đã biết.

- Ví dụ bằng thuật toán sau:

1 def sapxep(A):

2     for i in range(len(A)):

3       j = i

4       while j > 0 and A[j] < A[j-1]:

5           A[j],A[j-1] = A[j-1],A[j]

6           j = j – 1

Bước 3. Với dãy A đã được sắp xếp, kiểm tra A có phải là dãy [1, 2, …, n]?

- Việc kiểm tra này có thể được thực hiện đơn giản như sau:

Kiểm tra lần lượt các phần tử của A với các phần tử tương ứng của dãy 1, 2, …, n. Nếu tất cả các so sánh đều bằng nhau thì trả về kết quả True, ngược lại trả về False.

- Sử dụng biến kq để trả lại kết quả của việc so sánh A và dãy các số 1, 2, …, n, ta có thể viết đoạn chương trình chi tiết thực hiện công việc được mô tả trên như sau:

1      sapxep(A)

2      kq = True

3      for i in range(len(A)):

4           if A[i] != i+1:

5              kq = False

6              break

7      return kq

- Kết quả của toàn bộ bước này có thể viết dưới dạng hàm kt_hoanvi(A), trong đó A là dãy số ban đầu. Hàm sẽ trả về True nếu A là hoán vị của [1, 2, …, n] ngược lại trả về False.

1 def kt_hoanvi(A):

2     sapxep(A)

3     kq = True

4     for i in range(len(A)):

5         if A[i] != i+1:

6            kq = False

7            break

8      return kq

c) Chương trình hoàn chỉnh

1 def sapxep(A):

2     for i in range(len(A)):

3       j = i

4       while j > 0 and A[j] < A[j-1]:

5            A[j],A[j-1] = A[j-1],A[j]

6            j = j – 1

7

8 def kt_hoanvi(A):

9     sapxep(A)

10    kq = True

11    for i in range(len(A)):

12        if A[i] != i+1:

13           kq = False

14           break

15     return kq

16

17 #Chương trình chính

18 A = [2,1,9,10,8,6,5,2,3,1]

19 if kt_hoanvi(A):

20    print("CÓ")

21 else:

22    print("KHÔNG")

Hoạt động 2: Thực hiện nhiệm vụ 2

  1. a) Mục tiêu: Giúp HS thực hành được phương pháp làm mịn dần trong thiết kế chương trình đếm số lần lặp.
  2. b) Nội dung: GV tổ chức cho HS thực hiện theo các hoạt động trong SGK và thực hành nhiệm vụ được giao.
  3. c) Sản phẩm: Sản phẩm thực hành của HS.
  4. d) Tổ chức thực hiện:

HOẠT ĐỘNG CỦA GV VÀ HS

SẢN PHẨM DỰ KIẾN

Bước 1: GV chuyển giao nhiệm vụ:

- GV chiếu nhiệm vụ học tập:

Thiết kế và việc chương trình trình theo phương pháp làm mịn dần cho bài toán sau: Cho trước dãy số A[0], A[1], ...A[n-1]. Cần tính được mỗi giá trị của các phần tử của dãy trên được lặp lại bao nhiêu lần trong dãy đó. Kết quả cần được đưa ra dãy B. Như vậy dãy B sẽ có ý nghĩa như sau B[k] = số lần lặp của phần tử A[k] trong dãy A. Ví dụ nếu A = [2, 1, 1, 3, 5, 10, 2, 5] thì B = [2, 2, 2, 1, 2, 1, 2, 2]

Bước 2: HS thực hiện nhiệm vụ học tập:

- HS lắng nghe GV hướng dẫn, đọc theo SGK và thực hiện việc cài đặt thành chương trình hoàn chỉnh, tạo bộ test theo hướng dẫn và kiểm tra xem chương trình đã viết có đúng không.

- GV quan sát và trợ giúp HS.

Bước 3: Báo cáo kết quả hoạt động, thảo luận:

- HS báo cáo các bộ test theo hướng dẫn.

- HS khác nhận xét, bổ sung cho bạn.

Bước 4: Đánh giá kết quả thực hiện:

- Sau khi HS hoàn thành chương trình, GV nhận xét và tổng kết nội dung nhiệm vụ 2.

- GV chuyển sang hoạt động luyện tập.

Nhiệm vụ 2. Đếm số lần lặp

a) Tìm hiểu bài toán

Bài toán gốc: cho trước dãy số A có n phần tử. Cần tạo ra một dãy mới là số các lần lặp của các phần tử tương ứng trong A.

b) Thiết kế theo phương pháp làm mịn dần

Bước 1. Thiết lập ý tưởng thiết kế ban đầu

1 Thiết lập dãy B rỗng

2 for i in range(len(A)):

3   Tính số lần lặp của A[i] trong dãy A

4   Bổ sung giá trị này vào dãy B

5 Trả về dãy B

Bước 2. Thiết lập dãy B rỗng

Thực hiện bằng lệnh B = [].

Bước 3. Tính số lần lặp của A[i] trong dãy A.

Thực hiện thông qua lời gọi hàm lap(x,A) tính số lần lặp của một giá trị bất kì trong dãy A. Hàm lap(x,A) có thể được viết như sau:

1 def lap(x,A):

2     S = 0

3     for a in A:

4         if a == x:

5            S = S + 1

6     return S

Bước 4. Bổ sung số lần lặp vào dãy B

Tổng hợp kết quả của các bước trên, đoạn chương trình hoàn chỉnh đã nêu ở bước 1 như sau:

1     B = []

2     for i in range(len(A)):

3         B.append(lap(A[i],A))

4     return B

Bước 5. Trả về dãy B cần tìm của bài toán

Để hoàn thiện toàn bộ chương trình cần thiết lập hàm tinh_lap(A) mô tả đoạn chương trình đã nêu trong bước 4. Hàm tinh_lap(A) trả về dãy B cần tìm:

1 def tinh_lap(A):

2     B = []

3     for a in A:

4         B.append(lap(a,A))

5     return B

c) Chương trình hoàn chỉnh

1 def lap(x,A):

2     S = 0

3     for a in A:

4         if a == x:

5            S = S + 1

6     return S

7

8 def tinh_lap(A):

9     B = []

10    for a in A:

11        B.append(lap(a,A))

12    return B

13 # Chương trình chính

14 A = [2, 1, 1, 3, 5, 10, 2, 5, 2]

15 B = tinh_lap(A)

16 print(B)

  1. HOẠT ĐỘNG LUYỆN TẬP
  2. a) Mục tiêu: HS củng cố cách xác định độ phức tạp của thuật toán.
  3. b) Nội dung: HS vận dụng các kiến thức đã học để hoàn thành bài tập phần Luyện tập trang 126 SGK.
  4. c) Sản phẩm học tập: Câu trả lời nội dung Luyện tập.
  5. d) Tổ chức thực hiện:

 

Trên chỉ là 1 phần của giáo án. Giáo án khi tải về có đầy đủ nội dung của bài. Đủ nội dung của học kì I + học kì II

MỘT VÀI THÔNG TIN:

  • Word được soạnChi tiết, rõ ràng, mạch lạc
  • Powerpoint soạn: Hiện đại, đẹp mắt để tạo hứng thú học tập
  • Word và powepoint đồng bộ với nhau

Phí giáo án:

  • Giáo án word: 300k/học kì - 400k/cả năm
  • Giáo án Powerpoint: 400k/học kì - 450k/cả năm
  • Trọn bộ word + PPT: 500k/học kì - 600k/cả năm

=> Khi đặt: nhận đủ giáo án cả năm ngay và luôn

CÁCH TẢI:

  • Bước 1: Chuyển phí vào STK: 10711017 - Chu Văn Trí- Ngân hàng ACB (QR)
  • Bước 2: Nhắn tin tới Zalo Fidutech - nhấn vào đây để thông báo và nhận giáo án

=> Khi đặt, sẽ nhận giáo án ngay và luôn. Tặng kèm phiếu trắc nghiệm + đề kiểm tra ma trận

Xem toàn bộ: Giáo án khoa học máy tính 11 kết nối tri thức đủ cả năm

GIÁO ÁN WORD LỚP 11 KẾT NỐI TRI THỨC

 

GIÁO ÁN POWERPOINT LỚP 11 KẾT NỐI TRI THỨC

GIÁO ÁN CHUYÊN ĐỀ LỚP 11 KẾT NỐI TRI THỨC

GIÁO ÁN DẠY THÊM 11 KẾT NỐI TRI THỨC

CÁCH ĐẶT MUA:

Liên hệ Zalo: Fidutech - nhấn vào đây

Xem thêm các bài khác

I. GIÁO ÁN WORD KHOA HỌC MÁY TÍNH 11 KẾT NỐI TRI THỨC

GIÁO ÁN WORD CHỦ ĐỀ 1. MÁY TÍNH VÀ XÃ HỘI TRI THỨC

GIÁO ÁN WORD CHỦ ĐỀ 2. TỔ CHỨC LƯU TRỮ, TÌM KIẾM VÀ TRAO ĐỔI THÔNG TIN

GIÁO ÁN WORD CHỦ ĐỀ 3. ĐẠO ĐỨC, PHÁP LUẬT VÀ VĂN HÓA TRONG MÔI TRƯỜNG SỐ

GIÁO ÁN WORD CHỦ ĐỀ 4. GIỚI THIỆU CÁC HỆ CƠ SỞ DỮ LIỆU

GIÁO ÁN WORD CHỦ ĐỀ 5. HƯỚNG NGHIỆP VỚI TIN HỌC

GIÁO ÁN WORD CHỦ ĐỀ 6. KĨ THUẬT LẬP TRÌNH

II. GIÁO ÁN POWERPOINT KHOA HỌC MÁY TÍNH 11 KẾT NỐI TRI THỨC

GIÁO ÁN POWERPOINT CHỦ ĐỀ 1. MÁY TÍNH VÀ XÃ HỘI TRI THỨC

GIÁO ÁN POWERPOINT CHỦ ĐỀ 2. TỔ CHỨC LƯU TRỮ, TÌM KIẾM VÀ TRAO ĐỔI THÔNG TIN

GIÁO ÁN POWERPOINT CHỦ ĐỀ 3. ĐẠO ĐỨC, PHÁP LUẬT VÀ VĂN HÓA TRONG MÔI TRƯỜNG SỐ

GIÁO ÁN POWERPOINT CHỦ ĐỀ 4. GIỚI THIỆU CÁC HỆ CƠ SỞ DỮ LIỆU

GIÁO ÁN POWERPOINT CHỦ ĐỀ 5. HƯỚNG NGHIỆP VỚI TIN HỌC

Giáo án Khoa học máy tính 11 kết nối Bài 16: Công việc quản trị cơ sở dữ liệu

GIÁO ÁN POWERPOINT CHỦ ĐỀ 6. KĨ THUẬT LẬP TRÌNH

III. GIÁO ÁN CHUYÊN ĐỀ KHOA HỌC MÁY TÍNH 11 KẾT NỐI TRI THỨC

GIÁO ÁN CHUYÊN ĐỀ 1. THỰC HÀNH THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT ĐỆ QUY

GIÁO ÁN CHUYÊN ĐỀ 2. THỰC HÀNH THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT CHIA ĐỂ TRỊ

GIÁO ÁN CHUYÊN ĐỀ 3. THỰC HÀNH THIẾT KẾ THUẬT TOÁN THEO KĨ THUẬT DUYỆT

Chat hỗ trợ
Chat ngay