Giáo án Tin học Lớp 10 - Tiết 10, Bài 4: Bài toán và thuật toán - Năm học 2021-2022
I . Mục tiêu:
1. Kiến thức: Biết khái niệm bài toán và thuật toán.
2. Kỹ năng: Xác định được hai thành phần cơ bản cấu thành một bài toán là input và output.
3. Tư duy, thái độ: Tích cực trong việc phát triển khả năng tư duy.
4.Hình thành và phát triển năng lực
- Tự học, sáng tạo,tính toán, hợp tác, sử dụng ngôn ngữ, giải quyết vấn đề
II . Chuẩn bị của giáo viên và học sinh.
1. Chuẩn bị của GV: SGK, SGV, giáo án.
2. Chuẩn bị của HS: vở ghi, SGK, SBT học bài cũ, đọc trước bài mới.
III . Hoạt động dạy - học:
1. Ổn định tổ chức:
2. Kiểm tra bài cũ:
- Một máy tính chưa có phần mềm có thể hoạt động được không? Vì sao?
3. Nội dung bài mới :
Hoạt động 1: Khởi động
GV: Trong toán học ta nhắc nhiều đến khái niệm “bài toán” và ta hiểu đó là những việc mà con người cần phải thực hiện sao cho từ những thông tin đã có phải đưa ra một kết quả nào đó. Vậy bài toán trong tin học có gì khác?
Tiết PPCT : 10 Ngày soạn : 07/10/2021 BÀI 4: BÀI TOÁN VÀ THUẬT TOÁN(Tiết 1) I . Mục tiêu: 1. Kiến thức: Biết khái niệm bài toán và thuật toán. 2. Kỹ năng: Xác định được hai thành phần cơ bản cấu thành một bài toán là input và output. 3. Tư duy, thái độ: Tích cực trong việc phát triển khả năng tư duy. 4.Hình thành và phát triển năng lực - Tự học, sáng tạo,tính toán, hợp tác, sử dụng ngôn ngữ, giải quyết vấn đề II . Chuẩn bị của giáo viên và học sinh. 1. Chuẩn bị của GV: SGK, SGV, giáo án. 2. Chuẩn bị của HS: vở ghi, SGK, SBT học bài cũ, đọc trước bài mới. III . Hoạt động dạy - học: 1. Ổn định tổ chức: 2. Kiểm tra bài cũ: - Một máy tính chưa có phần mềm có thể hoạt động được không? Vì sao? 3. Nội dung bài mới : Hoạt động 1: Khởi động GV: Trong toán học ta nhắc nhiều đến khái niệm “bài toán” và ta hiểu đó là những việc mà con người cần phải thực hiện sao cho từ những thông tin đã có phải đưa ra một kết quả nào đó. Vậy bài toán trong tin học có gì khác? Hoạt động 2: Hình thành kiến thức mới Hoạt động của GV và HS Nội dung Hoạt động 1: Tìm hiểu khái niệm bài toán GV: Đưa ra ví dụ 1 và 2. Ví dụ 1a: Bài toán Giải PT: ax + b = 0 (với a≠0) (*) Ta nói đây là một bài toán. Bài toán này có các thành phần: - Input: các giá trị a, b. - Output: tìm giá trị x thoả mãn (*) Ví dụ 1b: Bài toán: cho số nguyên dương N và dãy A: a1, a2,....,aN. Tìm giá trị lớn nhất của dãy A - Input: Số nguyên dương N và dãy A. - Output: Max(a1, a2,....,aN) GV: Từ ví dụ 1a, ví dụ 1b em hãy cho biết bài toán là gì? Và cũng từ các ví dụ trên ta thấy bài toán được cấu tạo bởi các thành phần nào? HS1: Trả lời câu hỏi. HS2: Bổ sung. GV: Kết luận. GV: Đưa ra ví dụ 1, 2, 3, 4. Yêu cầu HS đứng tại chỗ xác định các thành phần của mỗi bài toán. HS: Đứng tại chỗ trả lời GV: Tổng hợp, kết luận HS: Ghi bài Khái niệm bài toán. Khái niệm: bài toán là việc nào đó ta muốn máy tính thực hiện Bài toán được cấu tạo bởi hai thành phần cơ bản: - Input (giả thiết): Các thông tin đã có; - Output (kết luận): Các thông tin cần tìm từ Input. Ví dụ 1. Bài toán tìm ước chung lớn nhất của hai số nguyên dương Input: Hai số nguyên dương M và N; Output: Ước chung lớn nhất của M và N. Ví dụ 2. Bài toán tìm nghiệm của phương trình bậc hai Input: Các số thực a, b, c (a ¹ 0); Output: Số thực x thoả mãn ax2 + bx + c = 0. ở đây, Output có thể là một hoặc hai số thực hoặc câu trả lời không có số thực nào như vậy. Ví dụ 3. Bài toán kiểm tra tính nguyên tố Input: Số nguyên dương N; Output: "N là số nguyên tố" hoặc "N không là số nguyên tố". Ví dụ 4. Bài toán xếp loại học tập của một lớp Input: Bảng điểm của học sinh trong lớp; Output: Bảng xếp loại học lực. Hoạt động 2: Tìm hiểu khái niệm thuật toán. GV: Muốn máy tính đưa ra được output từ input cần phải có chương trình, muốn có chương trình ta cần có thuật toán. Vậy thuật toán là gì? GV: Đưa ra ví dụ tìm ngiệm của phương trình dạng ax + b = 0 HS: Đứng tại chỗ xác định input và output. GV: Qua ví dụ trên em hãy cho biết thuật toán là gì? HS: Trả lời câu hỏi GV: Kết luận. Khái niệm thuật toán. Ví dụ 1: Bài toán Giải PT: ax + b = 0 (*) Xây dựng thuật toán để giải bài toán trên. * Bài toán này các thành phần: Input: các gía trị a, b. Output: tìm giá trị x thoả mãn (*) * ý tưởng: - Nếu a = 0 thì PT vô nghiệm. - Nếu a ≠ 0 thì PT có nghiệm x = - b/a * Thuật toán: Bước 1: Nhập các giá trị a, b. Bước 2: Nếu a = 0 thì đưa ra thông báo PT vô nghiệm rồi kết thúc. Bước 3: Nếu a ≠ 0 thì đưa ra nghiệm x rồi kết thúc. Khái niệm: Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác ấy, từ Input của bài toán, ta nhận được Output cần tìm 4 . Củng cố và giao BTVN - KN bài toán, thuật toán. - Hai yếu tố cấu tạo nên bài toán là Input và Output - Học bài cũ. - Xây dựng thuật toán để giải bài toán: Tìm giá trị lớn nhất của một dãy số nguyên Tiết PPCT : 11 Ngày soạn : 07/10/2021 Chủ đề BÀI 4. BÀI TOÁN VÀ THUẬT TOÁN(Tiết 2) I . Mục tiêu: 1. Kiến thức: - Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước; - Biết các tính chất của thuật toán. 2. Kỹ năng: - Xây dựng được thuật toán giải một số bài toán đơn giản bằng sơ đồ khối hoặc liệt kê các bước. 3. Tư duy, thái độ: - Rèn luyện khả năng tư duy khi giải quyết các vấn đề khoa học cũng như trong cuộc sống 4.Hình thành và phát triển năng lực - Tự học, sáng tạo, sử dụng công nghệ thông tin, hợp tác, sử dụng ngôn ngữ, giải quyết vấn đề II . Chuẩn bị của giáo viên và học sinh. 1. Chuẩn bị của Giáo viên: SGK, SGV, giáo án. 2. Chuẩn bị của học sinh: vở ghi, SGK, SBT học bài cũ, đọc trước bài mới. III . Hoạt động dạy - học: 1. Ổn định tổ chức: 2. Kiểm tra bài cũ: Khái niệm bài toán? Khái niệm thuật toán? 3. Nội dung bài mới: Hoạt động 1: Khởi động Gv: Thuật toán có thể trình bày theo hai cách là liệt kê và sơ đồ khối. Hoạt động của GV và HS Nội dung Năng lực cần đạt GV: (Yêu cầu) học sinh xác định Input và Output và nêu ý tưởng để giải bài toán HS: Suy nghĩ trả lời GV: Tổng hợp Ví dụ: Tìm giá trị lớn nhất của một dãy số nguyên · Xác định bài toán - Input: Số nguyên dương N và dãy N số nguyên a1,..., aN. - Output: Giá trị lớn nhất Max của dãy số. · Ý tưởng: - Khởi tạo giá trị Max = a1. - Lần lượt với i từ 2 đến N, so sánh giá trị số hạng ai với giá trị Max, nếu ai > Max thì Max nhận giá trị mới là ai. sử dụng ngôn ngữ, giải quyết vấn đề Hoạt động 2: Hình thành kiến thức mới Hoạt động của GV và HS Nội dung Hoạt động 1: Xây dựng thuật toán giải bài toán tìm giá trị lớn nhất của dãy số nguyên GV: Hướng dẫn học sinh xây dựng thuật toán để giải bài toán tìm giá trị lớn nhất của một dãy số nguyên HS: Nghe và xây dựng thuật toán GV: Gọi học sinh lên bảng viết HS: Viết thuật toán GV: Nhận xét, bổ sung (nếu có) . GV: Đưa ra ví dụ Dưới đây là ví dụ mô phỏng các bước thực hiện thuật toán trên với N = 11 và dãy A: 5, 1, 4, 7, 6, 3, 15 Dãy A 5 1 4 7 6 3 15 i 2 3 4 5 6 7 Max 5 5 5 7 7 7 15 GV: Em hãy nhìn vào thuật toán dưới dạng sơ đồ khối và hãy cho biết thuật toán được diễn tả dưới dạng sơ đồ khối với các quy định thế nào? HS: Quan sát thuật toán. Đọc sách giáo khoa. Trả lời câu hỏi. GV: Đưa ra kết luận. Hoạt động 2: Tìm hiểu các tính chất của thuật toán GV: Qua hai ví dụ trên em hãy cho biết thuật toán có những tính chất nào? HS: trả lời câu hỏi. GV: Hãy chỉ rõ các tính chất của thuật toán trong ví dụ trên? HS: Tính dừng: Vì giá trị của i mỗi lần tăng lên 1 nên sau N lần thì i > N, khi đó kết quả phép so sánh ở bước 3 xác định việc đưa ra giá trị Max rồi kết thúc. Tính xác định: Thứ tự thực hiện các bước của thuật toán được mặc định là tuần tự nên sau bước 1 là bước 2, sau bước 2 là bước 3. Kết quả các phép so sánh trong bước 3 và bước 4 đều xác định duy nhất bước tiếp theo cần thực hiện. Tính đúng đắn: Vì thuật toán so sánh Max với từng số hạng của dãy số và thực hiện Max ¬ ai nếu ai > Max nên sau khi so sánh hết N số hạng của dãy thì Max là giá trị lớn nhất. · Thuật toán. Thuật toán giải bài toán này có thể được mô tả theo cách liệt kê như sau: Bước 1. Nhập N và dãy a1,..., aN; Bước 2. Max ← a1, i ← 2; Bước 3. Nếu i > N thì đưa ra giá trị Max rồi kết thúc; Bước 4. 4.1. Nếu ai > Max thì Max ¬ ai; 4.2. i ¬ i + 1 rồi quay lại bước 3; * Sơ đồ khối. Đúng Đúng Sai Nhập N và dãy a1,..., aN Max ¬ ai ai > Max? i > N ? Max ¬ a1, i ¬ 2 Đưa ra Max rồi kết thúc i ¬ i + 1 Sai Hình thoi thể hiện thao tác so sánh; Hình chữ nhật thể hiện các phép tính toán; Các mũi tên quy định trình tự thực hiện các thao tác; Hình ô van thể hiện thao tác nhập, xuất dữ liệu. Các tính chất của thuật toán. Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao tác; Tính xác định: Sau khi thực hiện một thao tác thì hoặc là thuật toán kết thúc hoặc là có đúng một thao tác xác định để được thực hiện tiếp theo; Tính đúng đắn: Sau khi thuật toán kết thúc, ta phải nhận được Output cần tìm. Hoạt động 3: Luyện tập Hoạt động của GV và HS Nội dung Trả lời câu hỏi 1.32; 1.33 sách BT tin 10 trang 18 4 . Củng cố và giao BTVN - Thuật toán có 2 dạng: liệt kê và sơ đồ khối. - Các tính chất của thuật toán - Học bài cũ. - Trả lời các câu hỏi sau bài học. Tiết PPCT : 12 Ngày soạn : 07/10/2021 Chủ đề BÀI 4. BÀI TOÁN VÀ THUẬT TOÁN(Tiết 3) I . Mục tiêu: 1. Kiến thức: - Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước; 2. Kỹ năng: - Xây dựng được thuật toán giải một số bài toán đơn giản bằng sơ đồ khối hoặc liệt kê các bước. 3. Tư duy, thái độ: - Rèn luyện khả năng tư duy khi giải quyết các vấn đề khoa học cũng như trong cuộc sống 4.Hình thành và phát triển năng lực - Tự học, sáng tạo, sử dụng công nghệ thông tin, hợp tác, sử dụng ngôn ngữ, giải quyết vấn đề II . Chuẩn bị của giáo viên và học sinh. 1. Chuẩn bị của Giáo viên: SGK, SGV, giáo án. 2. Chuẩn bị của học sinh: vở ghi, SBT, SGK, học bài cũ, đọc trước bài mới. III . Hoạt động dạy - học: 1. Ổn định tổ chức: 2. Kiểm tra bài cũ: Kiểm tra 15’ Viết thuật toán theo một trong hai cách tìm nghiệm của phương trình ax+b=0 3. Nội dung bài mới: Hoạt động 1: Khởi động GV cho học sinh đọc nội dung bài toán trong sách giáo khoa Hoạt động 2: Hình thành kiến thức mới Hoạt động của GV và HS Nội dung Hoạt động 1: Tìm hiểu yêu cầu của bài toán và xây dựng thuật toán GV: Hướng dẫn học sinh và cùng học sinh xây dựng thuật toán để giải bài toán HS: - Xác định Input và Output của bài toán - Nêu ý tưởng để giải bài toán - Xây dựng thuật toán để giải bài toán GV: Hướng dẫn bổ sung GV: Gọi học sinh viết cùng viết thuật toán HS: Trả lời câu hỏi 3. Một số ví dụ về thuật toán. Ví dụ 1. Kiểm tra tính nguyên tố của một số nguyên dương · Xác định bài toán - Input: N là một số nguyên dương; - Output: "N là số nguyên tố" hoặc "N không là số nguyên tố". · ý tưởng: Ta nhớ lại định nghĩa: Một số nguyên dương N là số nguyên tố nếu nó có đúng hai ước số khác nhau là 1 và chính nó. Từ định nghĩa đó, ta suy ra: Nếu N = 1 thì N không là số nguyên tố; Nếu 1 < N < 4 thì N là số nguyên tố; Nếu N³ 4 và không có ước số trong phạm vi từ 2 đến phần nguyên căn bậc hai của N thì N là số nguyên tố. Từ đó ta có thuật toán như sau: · Thuật toán a) Thuật toán diễn tả bằng cách liệt kê Bước 1: Nhập số nguyên dương N; Bước 2: Nếu N = 1 thì thông báo N không nguyên tố rồi kết thúc; Bước 3: Nếu N < 4 thì thông báo N là nguyên tố rồi kết thúc; Bước 4: i = 2; Bước 5: Nếu i > [] thì thông báo N là nguyên tố rồi kết thúc; Bước 6: Nếu N chia hết cho i thì thông báo N không nguyên tố rồi kết thúc; Bước 7: i = i + 1 rồi quay lại bước 5. Ghi chú: Biến i nhận giá trị nguyên thay đổi trong phạm vi từ 2 đến + 1 và dùng để kiểm tra N có chia hết cho i hay không. b) Sơ đồ khối Đúng Nhập N N = 1 ? Thông báo N là số nguyên tố rồi kết thúc i 2 i>? i ¬ i + 1 N chia hết cho i ? N < 4 ? Thông báo N không là số nguyên tố rồi kết thúc Đúng Sai Sai Đúng Sai Đúng Sai Hoạt động 2: Nghiên cứu ví dụ mô phỏng GV: Lấy ví dụ mô phỏng và giải thích cho học sinh hiểu Dưới đây là ví dụ mô phỏng các bước thực hiện thuật toán trên. Với N = 29 () Với N = 45 () i 2 3 4 5 6 i 2 3 N/i 29/2 29/3 29/4 29/5 N/i 45/2 45/3 Chia hết không? Không Không Không Không Chia hết không? Không Chia hết a) 29 là số nguyên tố b) 45 không là số nguyên tố Hoạt động 3: Luyện tập Hoạt động của GV và HS Nội dung GV: Lấy ví dụ mô phỏng và giải thích cho học sinh hiểu Dưới đây là ví dụ mô phỏng các bước thực hiện thuật toán trên. Với N = 29 () Với N = 45 () i 2 3 4 5 6 i 2 N/i 29/2 29/3 29/4 29/5 N/i 45/2 45/3 Chia hết không? Không Không Không Không Chia hết không? Không Chia hết a) 29 là số nguyên tố b) 45 không là số nguyên tố 4. Củng cố và giao BTVN - Cho học sinh mô phỏng việc thực hiện thuật toán trên và cho biết số 25 có phải là số nguyên tố hay không? - Học bài cũ. - Trả lời các câu hỏi sau bài học. Tiết PPCT : 13 Ngày soạn : 07/10/2021 Chủ đề BÀI 4. BÀI TOÁN VÀ THUẬT TOÁN (Tiết 4) I . Mục tiêu: 1. Kiến thức: - Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước; 2. Kỹ năng: - Xây dựng được thuật toán giải một số bài toán đơn giản bằng sơ đồ khối hoặc liệt kê các bước. 3. Tư duy, thái độ: - Rèn luyện khả năng tư duy khi giải quyết các vấn đề khoa học cũng như trong cuộc sống 4.Hình thành và phát triển năng lực - Tự học, sáng tạo, sử dụng công nghệ thông tin, hợp tác, sử dụng ngôn ngữ, giải quyết vấn đề II . Chuẩn bị của giáo viên và học sinh. 1. Chuẩn bị của Giáo viên: SGK, SGV, giáo án. 2. Chuẩn bị của học sinh: vở ghi, SBT, SGK, học bài cũ, đọc trước bài mới. III . Hoạt động dạy - học: 1. Ổn định tổ chức: 2. Kiểm tra bài cũ: Kết hợp trong giờ 3. Nội dung bài mới: Hoạt động 1: Khởi động GV Đặt vấn đề về bài toán sắp xếp trong đời sống hàng ngày như: sắp xếp từ thấp đến cao điểm số học sinh, xếp hàng. Hoạt động 2: Hình thành kiến thức mới Hoạt động của GV và HS Nội dung chính Hoạt động 1: Tìm hiểu yêu cầu của bài toán sắp xếp GV: Đặt vấn đề về bài toán sắp xếp HS: Nghe giảng GV: Đưa ra yêu cầu của bài toán sắp xếp dạng đơn giản (Ví dụ 2: Bài toán sắp xếp) HS: Nghiên cứu yêu cầu của bài toán GV: Lấy ví dụ GV: Gọi học sinh nêu input và output của bài toán HS: Xác định input và output GV: Gợi ý cho học sinh hướng giải bài toán để học sinh xây dựng ý tưởng. HS: Xây dựng ý tưởng giải bài toán GV: Kết hợp với học sinh cùng xây dựng thuật toán GV: Giải thích thêm: Ta thấy rằng, sau mỗi lần đổi chỗ, giá trị lớn nhất của dãy A sẽ được chuyển dần về cuối dãy và sau lượt thứ nhất thì giá trị lớn nhất xếp đúng vị trí là ở cuối dãy. Tương tự, sau lượt thứ hai, giá trị lớn thứ hai được xếp đúng ở vị trí sát cuối,... Có thể hình dung, sau mỗi lượt có ít nhất một số hạng đã xếp đúng vị trí và không còn tham gia vào quá trình đổi chỗ nữa, giống như các bọt nước từ đáy hồ nổi dần và khi đã lên mặt nước rồi thì tan biến. Có thể vì thế mà sắp xếp bằng tráo đổi còn có tên gọi là sắp xếp nổi bọt (Bubble Sort). Ghi chú: sgk 3. Một số ví dụ về thuật toán. Ví dụ 2. Bài toán sắp xếp: Cho dãy A gồm N số nguyên a1, a2,..., aN. Cần sắp xếp các số hạng để dãy A trở thành dãy không giảm (tức là số hạng trước không lớn hơn số hạng sau). Ví dụ, Thuật toán Sắp xếp bằng tráo đổi (Exchange Sort) · Xác định bài toán - Input: Dãy A gồm N số nguyên a1, a2,..., aN. - Output: Dãy A được sắp xếp lại thành dãy không giảm. · ý tưởng: Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước lớn hơn số sau ta đổi chỗ chúng cho nhau. Việc đó được lặp lại, cho đến khi không có sự đổi chỗ nào xảy ra nữa. · Thuật toán a) Cách liệt kê Bước 1: Nhập N, các số hạng a1, a2,..., aN; Bước 2: M ← N; Bước 3: Nếu M < 2 thì đưa ra dãy A đã được sắp xếp rồi kết thúc; Bước 4: M ← M – 1, i← 0; Bước 5: i ← i + 1; Bước 6: Nếu i > M thì quay lại bước 3; Bước 7: Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhau; Bước 8: Quay lại bước 5. b) Sơ đồ khối: Hoạt động 2: Nghiên cứu ví dụ mô phỏng GV: Lấy ví dụ mô phỏng giải thích thêm cho thuật toán HS: Theo dõi và phát biểu ý kiến (nếu có) M ¬ N Nhập N và a1, a2,..., aN M ¬ M – 1; i ¬ 0 M < 2 ? i > M ? Đúng Sai ai > ai+1 ? i ¬ i + 1 Đưa ra A rồi kết thúc Đúng Sai Sai Đúng Tráo đổi ai và ai+1 Hoạt động 3: Luyện tập, vận dung Hoạt động của GV và HS Nội dung chính Gv cho ví dụ để học sinh mô phòng thuật toán sắp xếp HS: làm bài theo hướng dẫn của giáo viên Mô phòng thuật toán sắp xếp với dãy số sau: N=6 (3,5,7,4,8,6,) 4 . Củng cố và giao BTVN - Cho một dãy số nguyên và yêu cầu học sinh áp dụng thuật toán để sắp xếp - Học bài cũ. - Trả lời các câu hỏi sau bài học. - Đọc trước thuật toán của bài toán tìm kiếm
Tài liệu đính kèm:
- giao_an_tin_hoc_lop_10_tiet_10_bai_4_bai_toan_va_thuat_toan.docx