Soạn giáo án Tin học ứng dụng 11 kết nối Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình

Soạn chi tiết đầy đủ giáo án Tin học ứng dụng 11 Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình - sách Kết nối tri thức. Giáo án soạn chuẩn theo Công văn 5512 để các thầy cô tham khảo lên kế hoạch bài dạy tốt. Tài liệu có file tải về và chỉnh sửa được. Hi vọng, mẫu giáo án này mang đến sự hữu ích và tham khảo cần thiết. Mời thầy cô tham khảo

Cùng hệ thống với: Kenhgiaovien.com - Zalo hỗ trợ: Fidutech - nhấn vào đây

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

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

BÀI 26: PHƯƠNG PHÁP LÀM MỊN DẦN TRONG THIẾT KẾ CHƯƠNG TRÌNH

  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:

  • Biết và giải thích được phương pháp làm mịn dần trong lập trình.
  • Vận dụng được phương pháp làm mịn dần để thiết kế chương trình.
  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:

  • Biết và giải thích được phương pháp làm mịn dần trong lập trình.
  • Vận dụng được phương pháp làm mịn dần để thiết kế chương trình.
  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: GV khơi gợi HS suy nghĩ về các bước cần thực hiện giải một bài toán hoặc thuật toán cụ thể.
  3. b) Nội dung: GV tổ chức trả lời câu hỏi ở phần Mở đầu, HS thực hiện nhiệm vụ được giao.
  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: Em đã biết thiết kế một số thuật toán và chương trình: tìm kiếm tuần tự, tìm kiếm nhị phân, sắp xếp chèn, sắp xếp nổi bọt.

- GV đặt câu hỏi trong Khởi động tr.118 SGK, yêu cầu HS thảo luận nhóm 3 - 4 HS suy nghĩ và trả lời:

+ Tất cả các thiết kế chương trình đó có điểm nào chung?

+ Theo em, để thiết kế một thuật toán đúng giải một bài toán cho trước cần trải qua các bước như thế nào? Nêu quan điểm của riêng em và trao đổi với các bạn.

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 ý:

+ Các thuật toán và chương trình trên đều là các thuật toán cơ bản trong lập trình và giải quyết các vấn đề thông thường. Điểm chung của các bài toán đó là có tính đơn giản và độ phức tạp thấp.

+ Để thiết kế một thuật toán đúng giải một bài toán cho trước cần trải qua các bước:

  1. Xác định bài toán
  2. Tìm cấu trúc dữ liệu biểu diễn thuật toán
  3. Tìm thuật toán
  4. Lập trình
  5. Kiểm thử chương trình
  6. Tối ưu chương trình

- 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: Các thuật toán và chương trình được tìm hiểu ở bài trước đều có độ phức tạp thấp, dễ dàng thiết kế. Vậy nếu gặp một bài toán có độ phức tạp cao hơn thì chúng ta cần phải làm như thế nào? Và bài học ngày hôm nay chúng ta sẽ giúp chúng ta giải quyết vấn đề nêu trên, chúng ta cùng vào - Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình.

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

Hoạt động 1: Tìm hiểu về phương pháp thiết kế làm mịn dần

  1. a) Mục tiêu: Thông qua một ví dụ cụ thể của một thuật toán đã biết, HS sẽ làm quen với các bước phân tích thực hiện thuật toán này theo phương pháp làm mịn dần.
  2. b) Nội dung: GV đặt vấn đề, HS hoạt động nhóm tìm hiểu thông tin mục 1 trang 118 - 120 SGK và thực hiện nhiệm vụ được giao.
  3. c) Sản phẩm: Phương pháp thiết kế làm mịn dần.
  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, mỗi nhóm 3 - 5 HS.

- GV chiếu lại bài toán sắp xếp chèn:

Bài toán gốc. Cho trước dãy số A: A[0], A[1],..., A[n–1]. Cần tiến hành sắp xếp dãy trên theo thứ tự tăng dần. Kết quả phải nhận được:

A[0] ≤ A[1] ≤  … ≤  A[n-1]

Ví dụ với bộ dữ liệu vào là dãy [2, 1, 7, 10, 4] thì kết quả thu được dãy [1, 2, 4, 7, 10].

- GV yêu cầu các nhóm HS thực hiện Hoạt động 1 tr.118 SGK: Cùng trao đổi, thảo luận các bước thiết kế chương trình theo thuật toán sắp xếp chèn, từ đó đưa ra phương pháp chính khi thiết kế chương trình. Sau mỗi bước thiết kế cần trao đổi và trả lời các câu hỏi sau:

1. Bước này đã thực hiện công việc gì?

2. Kết quả vừa thực hiện với kết quả của bước trước đó khác nhau như thế nào?

- GV yêu cầu các nhóm rút ra kết luận về phương pháp thiết kế làm mịn dần.

- GV yêu cầu HS trả lời câu hỏi củng cố tr.120 SGK:

1. Trong các bước đã thực hiện của bài toán sắp xếp chèn ở trên, bước nào là đơn giản nhất theo nghĩa có thể thực hiện ngay bằng các lệnh lập trình?

2. Nếu bài toán đặt ra là sắp xếp dãy A theo thứ tự giảm dần thì các bước thiết kế như trên có cần thay đổi không? Thay đổi như thế nào?

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

- HS thảo luận nhóm, đọc SGK và thực hiện nhiệm vụ được giao.

- GV quan sát, hướng dẫn (nếu cần).

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

- Đại diện nhóm HS trình bày.

- HS xung phong trả lời câu hỏi:

*Câu hỏi củng cố tr.120 SGK:

1. Các bước đơn giản nhất của cách thiết kế trên là bước 3 và 5.

+ Bước 3 được thực hiện bằng 1 lệnh: value = A[i].

+ Bước 5 được thực hiện bằng 1 lệnh: A[j+1] = value.

2. Không cần thay đổi gì, chỉ thay đổi một từ trong cách mô tả tại bước 4 như sau: Chuyển các phần tử bên trái A[i] và nhỏ hơn A[i] sang phải.

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

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

- GV nhận xét, đánh giá kết quả thảo luận của HS.

- GV mở rộng kiến thức: Phương pháp thiết kế làm mịn dần (stepwise refinement) trong khoa học máy tính còn có tên gọi là phương pháp thiết kế từ trên xuống (top-down design) là một trong những phương pháp thiết kế lâu đời nhất và được coi là phương pháp tổng quát nhất, chung nhất cho cách lập trình cấu trúc. Phương pháp thiết kế top-down này có thể mô tả bằng sơ đồ ý tưởng sau.

- GV chốt kiến thức và gọi phương pháp thiết kế vừa nêu chính là phương pháp thiết kế làm mịn dần.

1. Phương pháp thiết kế làm mịn dần

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

Bài toán gốc là cho trước dãy A, cần sắp xếp lại dãy này theo thứ tự tăng dần.

b) Thiết kế chương trình giải bài toán

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

- Cần duyệt một lượt từ phần tử thứ hai đến phần tử cuối của dãy sao cho khi kết thúc thì dãy cũng được được sắp xếp xong.

→ Phần chính: một vòng lặp với biến i chạy từ chỉ số 1 đến n – 1.

- Với mỗi giá trị i, cần thực hiện một số thao tác để bổ sung A[i] vào dãy các phần tử đã được sắp xếp A[0], A[1],... A[i-1] sao cho dãy mới thu được từ A[0] đến A[i] được sắp xếp đúng.

⇒ Thuật toán ban đầu có thể được mô tả như sau:

for i in range (1,n):

2      <Đặt A[i] vào đúng vị trí của dãy A[0],A[1}, …, A[i-1]>

- Tại dòng 2 của sơ đồ trên, bài toán được đặt ra là: "Chèn phần tử A[i] vào đúng vị trí của dãy A[0], A[1], …, A[i-1]".

Bước 2. Làm chi tiết hơn, thực hiện việc "Chèn A[i] vào đúng vị trí"

- Vì các phần tử bên trái của A[i] là A[0], A[1],...,A[i-1] đã được sắp xếp đúng nên thao tác "chèn" phần tử A[i] sẽ được thực hiện như sau:

<lấy phần="" tử="" a[i]="" ra="" và="" lần="" lượt="" chuyển="" các="" bên="" trái="" a[i] ="" nhưng="" có="" giá="" trị="" lớn="" hơn="" sang="" phải.="" sau="" đó="" đặt="" vào="" vị="" trí="" trống="">

Theo mô tả trên, việc "Chèn A[i] vào đúng vị trí" có thể thực hiện như sau:

Chèn A[i] vào đúng vị trí

1  Nhấc phần tử A[i] lên.

2  Chuyển các phần tử bên trái A[i] và lớn hơn A[i] sang phải.

3  Chèn A[i] vào vị trí trống.

Các bước tiếp theo sẽ làm mịn hơn, chi tiết hơn thao tác trên.

Bước 3. Nhấc A[i] lên.

Thao tác này sẽ được thực hiện đơn giản bằng việc tạo ra một biến mới value để lưu trữ giá trị A[i].

value = A[i]

Bước 4. Chuyển các phần tử bên trái A[i] và lớn hơn A[i] sang phải.

Thao tác này có thể được thực hiện như sau

- Thiết lập biến j = i – 1 là chỉ số của phần tử ngay bên trái A[i].

- Liên tục so sánh A[j] với value:

nếu A[j] > value thì chuyển A[j] sang phải một vị trí bằng lệnh A[j+1] = A[j] và giảm j = j – 1.

- Quá trình sẽ kết thúc khi đi hết bên trái của dãy hoặc A[j] <= value.

Tất cả công việc này được thể hiện bằng đoạn chương trình sau:

1 j = i – 1

2 while j >= 0 and A[j] > value:

3     A[j+1] = A[j]

4     j = j – 1

Bước 5. Chèn A[i] vào đúng vị trí trống

- Từ bước 4 chúng ta đã biết quá trình chuyển sang phải của các phần tử A[j] sẽ kết thúc khi A[j] <= A[i], do đó vị trí j + 1 chính là vị trí trống cần chèn.

- Việc chèn phần tử A[i] (giá trị được lưu trong value) vào vị trí j + 1 được thực hiện bằng câu lệnh:

A[j+1] = value

Như vậy, ba thao tác đã nêu ở bước 2 trên có thể được thực hiện bằng các câu lệnh chương trình như sau:

Chèn A[i] vào đúng vị trí

1 value A[i]

2 j = i – 1

3 while j >= 0 and A[j] > value:

4        A[j+1] = A[j]

5        j = j – 1

6 A[j+1] = value

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

- Chương trình giải bài toán đặt ra được thiết kế hoàn chỉnh dưới dạng hàm InsertionSort(A).

- Tổng hợp các bước trên chúng ta có chương trình hoàn chỉnh như sau:

1 def InsertionSort(A):

2     n = len(A)

3     for i in range(1,n):

4         value = A[i]

5         j = i-1

6       while j >= 0 and A[j] > value:

7          A[j+1] = A[j]

8          j = j - 1

9       A[j+1] = value

Kết luận:

- Các bước thiết kế sắp xếp chèn được mô tả như sau:

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

2) Thiết kế chương trình giải bài toán

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

Bước 2. Làm chi tiết hơn, thực hiện việc "Chèn A[i] vào đúng vị trí".

Bước 3. Nhấc A[i] lên.

Bước 4. Chuyển các phần tử bên trái A[i] và lớn hơn A[i] sang phải.

Bước 5. Chèn A[i] vào đúng vị trí trống.

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

- Phương pháp làm mịn dần trong thiết kế chương trình là quá trình chi tiết hóa từ ý tưởng của các bước trước thành những hành động cụ thể hơn ở các bước sau. Ở bước cuối cùng, các hành động tương ứng với các câu lệnh của ngôn ngữ lập trình để viết chương trình hoàn chỉnh.

Hoạt động 2: Tìm hiểu về thiết kế chương trình bằng phương pháp làm mịn dần

  1. a) Mục tiêu: Giúp HS biết và thực hiện được thiết kế một thuật toán đơn giản bằng phương pháp làm mịn dần.
  2. b) Nội dung: GV nêu nhiệm vụ, HS hoạt động nhóm đọc hiểu thông tin mục 2 trang 120 - 122 SGK và thực hiện nhiệm vụ được giao.
  3. c) Sản phẩm: Thiết kế chương trình bằng phương pháp làm mịn dần.
  4. d) Tổ chức thực hiện:

 

THÔNG TIN GIÁO ÁN

  • Giáo án word: Trình bày mạch lạc, chi tiết, rõ ràng
  • Giáo án điện tử: Sinh động, hiện đại, đẹp mắt để tạo hứng thú học cho học sinh
  • Giáo án word và PPT đồng bộ, thống nhất với nhau

Khi đặt nhận giáo án ngay và luôn:

  • Giáo án word: Nhận đủ cả năm
  • Giáo án điện tử: Nhận đủ cả năm

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

CÁCH ĐẶT: 

  • Bước 1: gửi phí vào tk: 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

Từ khóa tìm kiếm: Giáo án Tin học ứng dụng 11 kết nối Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình, Tải giáo án trọn bộ Tin học ứng dụng 11 kết nối, Giáo án word Tin học ứng dụng 11 kết nối Bài 26: Phương pháp làm mịn dần trong thiết kế chương trình

Xem thêm giáo án khác

GIÁO ÁN TỰ NHIÊN 11 KẾT NỐI TRI THỨC

Giáo án Toán 11 kết nối tri thức
Giáo án điện tử toán 11 kết nối tri thức

Giáo án Vật lí 11 kết nối tri thức
Giáo án điện tử vật lí 11 kết nối tri thức
Giáo án Hóa học 11 kết nối tri thức
Giáo án điện tử Hóa học 11 kết nối tri thức
Giáo án Sinh học 11 kết nối tri thức
Giáo án điện tử Sinh học 11 kết nối tri thức

Giáo án Công nghệ cơ khí 11 kết nối tri thức
Giáo án điện tử Công nghệ cơ khí 11 kết nối tri thức
Giáo án Công nghệ chăn nuôi 11 kết nối tri thức
Giáo án điện tử Công nghệ chăn nuôi 11 kết nối tri thức

Giáo án Tin học ứng dụng 11 kết nối tri thức
Giáo án điện tử Tin học ứng dụng 11 kết nối tri thức
Giáo án Khoa học máy tính 11 kết nối tri thức
Giáo án điện tử Khoa học máy tính 11 kết nối tri thức

GIÁO ÁN XÃ HỘI 11 KẾT NỐI TRI THỨC

Giáo án Ngữ văn 11 kết nối tri thức
Giáo án điện tử ngữ văn 11 kết nối tri thức
Giáo án Lịch sử 11 kết nối tri thức
Giáo án điện tử Lịch sử 11 kết nối tri thức

Giáo án Địa lí 11 kết nối tri thức
Giáo án điện tử địa lí 11 kết nối tri thức
Giáo án Kinh tế pháp luật 11 kết nối tri thức
Giáo án điện tử Kinh tế pháp luật 11 kết nối tri thức

GIÁO ÁN LỚP 11 CÁC MÔN CÒN LẠI