Tiết 1: Bài toán và thuật toán (mức khái niệm)+ Khái niệm bài toán+ Khái niệm thuật toán+ Cách biểu diễn thuật toán+ Các tính chất của thuật toánTiết 2: Bài toán và thuật toán (mức nhận biết)Bài toán tìm GTLN, bài toán giải phương trình bậc 2Tiết 3, 4, 5: Luyện tập (Vận dụng kiến thức đã học xây dựng thuật toán cho một số bài toán cơ bản)
Trang 1SỞ GD&ĐT VĨNH PHÚC TRƯỜNG THPT ………
-0O0 -BÁO CÁO CHUYÊN ĐỀ TÌM HIỂU BÀI TOÁN VÀ THUẬT TOÁN - TIN HỌC 10
Giáo viên: ……….
Môn: Tin Học lớp 10
Vĩnh Phúc, tháng 12 Năm 2018
Trang 2A BÁO CÁO CHUYÊN ĐỀ
“TÌM HIỂU BÀI TOÁN VÀ THUẬT TOÁN”
Giáo viên: ………
Đơn vị: Trường THPT ………
Môn: Tin học Lớp: 10
Bài 4: Bài toán và thuật toán
Số tiết: 05 tiết được quy định trong ppct
MỞ ĐẦU
- Sự phát triển mạnh mẽ như vũ bão của tin học đã làm cho xã hội có nhiều nhận thức mới về cách tổ chức các hoạt động Nhiều quốc gia trên thế giới ý thức được rất rõ tầm quan trọng của tin học và có những đầu tư lớn cho lĩnh vực này, đặc biệt trong giáo dục nâng cao dân trí về tin học và đào tạo nguồn nhân lực có chất lượng cao Người Việt Nam có nhiều tố chất thích hợp với ngành khoa học này, vì thế chúng ta hi vọng có thể sớm hoà nhập với khu vực và trên thế giới
- Trong thời đại thông tin bùng nổ ngày nay, việc lập được các chương trình tự hoạt động cho máy tính, máy gia dụng là cần thiết Và để làm được việc đó cần có một quá trình nghiên cứu, học tập về ngôn ngữ lập trình lâu dài, qua đó nhà lập trình có thể chọn một ngôn ngữ lập trình thích hợp
- Tin học là một môn học mới ở các trường phổ thông nên học sinh còn nhiều bỡ ngỡ khi tiếp cận với môn học này Nội dung tin học lớp 10 là nền tảng lập trình lớp
11 - một nội dung mới lạ đối với đa số học sinh với nhiều khái niệm, thuật ngữ, cấu trúc dữ liệu mà học sinh mới được tiếp xúc lần đầu Chính vì vậy mà học sinh dễ mắc sai lầm khi lập trình giải quyết các bài toán Nguyên nhân dẫn đến những khó khăn mà học sinh thường gặp là rất phong phú nhưng có thể thấy một số nguyên nhân chính sau đây:
+ Học sinh thường gặp khó khăn khi xác định bài toán
+ Khó liên hệ phương pháp giải một bài toán trong toán học với thuật giải trong tin học
- Tuy nhiên mọi thứ điều có điểm khởi đầu của nó, với học sinh việc học, tìm hiểu
về bài toán và thuật toán là khởi đầu cho việc tiếp cận ngôn ngữ lập trình bậc cao, qua đó giúp các em có thêm một định hướng, một niềm đam mê về lập trình, về nghề nghiệp mà các em chọn sau này
B NỘI DUNG CHUYÊN ĐỀ: TÌM HIỂU VỀ BÀI TOÁN VÀ THUẬT TOÁN
I Hệ thống kiến thức sử dụng trong chuyên đề
Tiết 1: Bài toán và thuật toán (mức khái niệm)
Trang 3+ Khái niệm bài toán
+ Khái niệm thuật toán
+ Cách biểu diễn thuật toán
+ Các tính chất của thuật toán
Tiết 2: Bài toán và thuật toán (mức nhận biết)
Bài toán tìm GTLN, bài toán giải phương trình bậc 2
Tiết 3, 4, 5: Luyện tập (Vận dụng kiến thức đã học xây dựng thuật toán cho một số bài toán cơ bản)
II Mục tiêu của chuyên đề
1 Kiến thức
- Biết khái niệm bài toán và thuật toán, các tính chất của thuật toán
- 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,
- Hiểu một số bài toán thông dụng và
- Xây dựng được thuật toán cho một số bài toán cơ bả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
- Nhận biết và hình thành ý tưởng giải bài toán để xây dựng thuật toán
3 Thái độ
- Giúp học sinh hiểu rõ tầm quan trọng của thuật toán
- Làm cho học sinh yêu thích lập trình, yêu thích môn học hơn
- Tự giác, tích cực, chủ động trong thực hành
4 Định hướng phát triển năng lực
- Phát triển năng lực tự học, tự giải quyết các vấn đề gặp phải trong cuộc sống, làm việc nhóm
III Hình thức, phương pháp, kĩ thuật dạy học
- Hình thức: dạy học trên lớp
- Phương pháp, kĩ thuật dạy học:
+ Đàm thoại
+ Làm việc nhóm
+ Thuyết trình
+ Phát hiện và giải quyết vấn đề, hoạt động cá nhân
IV Chuẩn bị của giáo viên và học sinh
1 Chuẩn bị của giáo viên
- Máy tính, máy chiếu, máy ảnh, giấy A0
Trang 4- Phấn, bảng bút, giáo án word
- Một số thông tin bổ trợ cho chuyên đề
- Bảng kế hoạch phân công, tổ chức nhiệm vụ cho học sinh
2 Chuẩn bị của học sinh.
- Máy tính
- Giấy A4, A0, thước kẻ, bút, băng dính, bút màu
- Sách giáo khoa, vở ghi
V Thiết kế các hoạt động dạy học
Tiết 1: Bài toán và thuật toán Hoạt động 1: Đặt vấn đề
(1) Mục tiêu:
o Tạo tinh thần thỏa mái, môi trường thân thiện cho học sinh trước khi vào bài học
o Tạo động cơ để học sinh có nhu cầu quan tâm, tìm hiểu về bài toán, thuật toán
(2) Phương pháp/ kỹ thuật dạy học: hoạt động cá nhân, hoạt động nhóm
(3) Phương tiện dạy học: Máy tính, máy chiếu.
(4) Sản phẩm: Học sinh có nhu cầu tìm hiểu về bài toán
(5) Nội dung: GV đưa ra một số ví dụ và yêu cầu học sinh trả lời câu hỏi:
Ví dụ 1: Tính tổng S=1k+2k+….+nk
Ví dụ 2: Tìm USCLN và BSCNN của 2 số a, b
Ví dụ 3: Giải phương trình bậc 2: ax2 + bx + c = 0
Mỗi ví dụ trên có phải là một bài toán?
Học sinh trả lời
GV dẫn dắt vào bài: 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 dữ kiện
đã có phải tìm ra hay chứng minh một kết quả nào đó Vậy khái niệm "bài toán" trong Tin học có khác gì không?
Hoạt động 2: Tìm hiểu khái niệm bài toán
(1) Mục tiêu:
o Học sinh hiểu được khái niệm bài toán, Input, Output
o Hiểu được từ thông tin vào (input) cần tìm được thông tin ra (output)
(2) Phương pháp/ kỹ thuật dạy học: Thuyết trình, Hoạt động nhóm
(3) Phương tiện dạy học: Máy tính, máy chiếu, máy ảnh
(4) Sản phẩm: Học sinh hiểu được bài toán, dữ liệu vào/ra
Trang 5HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC
SINH
GV chia lớp thành 4 nhóm
1 Khái niệm bài toán:
Dẫn dắt vấn đề: Trong nhà trường có phần
mềm quản lý học sinh Nếu ta yêu cầu đưa ra
những học sinh có điểm TB từ 7 trở lên thì đó là
bài toán Hay đơn giản là yêu cầu máy cho ra
kết quả của một phép tính nhân, chia, cộng,
trừ đó cũng là bài toán
GV? Theo các em "bài toán" trong Tin học
được hiểu như thế nào ?
Ví dụ: Giải phương trình, quản lý thông tin về
học sinh là bài toán
GV? Mỗi nhóm hãy nêu một vài ví dụ về bài
toán trong Tin học ?
GV? Đứng trước một bài toán, công việc đầu
tiên là gì?
GV: Rất đúng Khi máy tính giải bài toán cần
quan tâm đến 2 yếu tố:
- Input: thông tin đưa vào máy
- Output: thông tin muốn lấy từ máy theo Input
GV: Các nhóm hay đưa ra Input và Output với
mỗi bài toán mà các nhóm đã lấy ví dụ ở trên?
GV xét các ví dụ và đề nghị nhận xét
GV kết luận
- Câu trả lời mong đợi: Trong Tin
học "bài toán" được hiểu là những việc mà con người muốn máy tính thực hiện.
- Nghe và ghi
- Các nhóm độc lập thảo luận và đưa ra bài toán
- Câu trả lời mong đợi: Công việc
đầu tiên là đi xác định đâu là dữ kiện đã cho vào đâu là cái cần tìm.
- Nghe và ghi
- Thảo luận Các nhóm trình bày
ví dụ theo yêu cầu
- Nhận xét
- Ghi chép
Hoạt động 3: Tìm hiểu khái niệm thuật toán
Trang 6(1) Mục tiêu:
o Học sinh hiểu được khái niệm thuật toán
o Biết cách biểu diễn thuật toán
(2) Phương pháp/ kỹ thuật dạy học: Thuyết trình, Hoạt động nhóm
(3) Phương tiện dạy học: Máy tính, máy chiếu, máy ảnh
(4) Sản phẩm: Học sinh hiểu được bài toán, dữ liệu vào/ra, hình thành ý tưởng
xây dựng thuật toán
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC
SINH Chuyển vấn đề: Muốn máy tính đưa ra được
Output từ Input đã cho thì cần phải có chương
trình, mà muốn viết được chương trình cần có
thuật toán Vậy thuật toán là gì ?
2 Khái niệm thuật toán:
GV: để nắm được khái niệm thuật toán là gì,
trước hết mời các nhóm hãy trình bày ý tưởng
và cách giải đối với các ví dụ về bài toán mà
các nhóm đã lấy ở phần trước?
GV: Nhận xét cách giải và dẫn dắt
GV?: Các nhóm đã trình bày chính là thuật
toán Vậy thuật toán là gì?
GV giải thích thêm về các khái niệm như: dãy
hữu hạn các lệnh, sắp xếp theo một trình tự nhất
định
GV? Tác dụng của thuật toán là gì ?
GV đưa ra ví dụ về bài tìm UCLN của 2 số M,
N Xác định Input và Output của bài toán
- Các nhóm thảo luận 5 phút và
cử đại diện lên bảng trình bày
- HS lắng nghe
- HS trả lời: 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.
- HS lắng nghe
- HS trả lời: Thuật toán dùng để
giải một bài toán.
- HS đứng tại chỗ xác định Input
và Output
Trang 7HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC
SINH
Ví dụ: Thuật toán tìm UCLN của 2 số M và N:
Input: 2 số nguyên dương M, N
Output: UCLN của 2 số M và N
GV: ghi thuật toán lên bảng
B1: Nhập M, N
B2: Nếu M = N thì UCLN là M (hoặc N)
B5
B3: Nếu M > N thì M M - N, quay lại B2
B4: N N - M rồi quay lại B2
B5: Đưa ra kết quả UCLN rồi kết thúc
GV: lấy ví dụ cụ thể với 2 số (12 , 8) và giải
thích thuật toán qua từng bước:
B1: Nhập M = 12, N = 8 M > N
B3: M = 12 - 8 = 4, N = 8 N > M
B4: M = 4, N = 8 - 4 = 4 M = N
UCLN(12 , 8) = 4
GV: cách viết thuật toán theo từng bước như
trên gọi là cách liệt kê
Ngoài ra thuật toán còn được diễn tả bằng sơ đồ
khối với các quy định
- Các thao tác nhập xuất dữ liệu
- Thao tác so sánh
- Các phép toán
- Quy định trình tự các thao tác
GV: lấy lại ví dụ tìm UCLN của 2 số M và N
GV trình chiếu sơ đồ thuật toán lên Chỉ cho HS
- Nghe và ghi
- Nghe và ghi
- Nghe và ghi
- Nghe và ghi
- Nghe, quan sát và vẽ sơ đồ
Trang 8HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC
SINH
thấy các bước thực hiện của thuật toán được mô tả
trong sơ đồ
GV: xoá các ghi chú Đ, S trên sơ đồ, yêu cầu 1
HS viết lại và giải thích vì sao ?
GV? Dựa vào thuật toán vừa xây dựng cho các
bài toán mà các nhóm đã đưa ra, hãy nêu các
tính chất của thuật toán?
* Các tính chất của thuật toán:
- Tính xác định: các bước giải phải rõ ràng
không gây ra sự lẫn lộn hoặc nhập nhằng
- Tính dừng: Thuật toán phải dừng lại sau một
số bước giải
- Tính đúng: Kết quả sau khi thực hiện thuật
giải phải là kết quả đúng dựa theo một định
nghĩa hoặc một kết quả cho trước
- Tính hiệu quả:
+ Phải sử dụng dung lượng bộ nhớ là
nhỏ nhất
+ Số phép toán ít nhất
+ Thuật toán dễ hiểu không?
+ Dễ khai báo trên máy tính
- HS ghi lại sơ đồ thuật toán và hình dung ra các bước giải của thuật toán
- HS lên bảng điền lại các ghi chú và giải thích vì sao lại điền thế
- Các nhóm thảo luận, dựa vào SGK và đưa ra tính chất đối với bài toán đã lấy ví dụ và xây dựng thuật toán
- Lắng nghe và ghi
Hoạt động 4: Luyện tập vận dụng
Trang 9(1) Mục tiêu: Học sinh vận dụng được kiến thức đã học nêu được ý tưởng viết
thuật toán cho bài toán cụ thể
(2) Phương pháp/ kỹ thuật dạy học: Hoạt động nhóm/ hoạt động cá nhân
(3) Phương tiện: Máy tính, máy chiếu, giấy A4, máy ảnh
(4) Sản phẩm: Báo cáo kết quả hoạt động của nhóm mình
Hoạt động của giáo viên Hoạt động của học sinh
GV giao nhiệm vụ cho HS:
Nhóm 1: Trình bày thuật toán giải bài
toán Tính tổng S=1k+2k+….+nk
Nhóm 2: Trình bày thuật toán giải bài
toán tìm USCLN và BSCNN của 2 số
a, b
Nhóm 3: Trình bày thuật toán giải bài
toán Giải PTB2 ax 2 + bx + c = 0
Nhóm 4: Trình bày thuật toán giải bài
toán Giải PT ax + b = 0
GV kiểm tra kết quả thực hiện của
HS
Các nhóm thảo luận + Xác định bài toán + Nêu ý tưởng giải bài toán + Viết thuật toán theo cách liệt kê,
sơ đồ khối hoặc cả 2 cách (Trường hợp hết thời gian GV hướng dẫn học sinh thực hiện ở nhà)
Hoạt động 5: Hoạt động mở rộng
(1) Mục tiêu: Giúp học sinh luyện tập sâu hơn về ý tưởng xây dựng thuật toán (2) Phương pháp/ kỹ thuật dạy học: Hoạt động cá nhân tại nhà
(3) Phương tiện: SGK
(4) Sản phẩm: Học sinh xây dựng được thuật toán
Hoạt động của giáo viên Hoạt động của học sinh
GV đưa ra bài toán: Nhập vào từ bàn
phím hai số nguyên dương M và N
(M<N), tính và đưa ra màn hình tổng
các số chia hết cho 3 hoặc cho 5 trong
phạm vi từ M đến N
Hướng dẫn:
Xác định bài toán?
Ý tưởng: Duyệt tất cả các số nguyên
dương từ M đến N?
Nghiên cứu viết thuật toán theo yêu cầu của giáo viên, thực hiện tại nhà
Trang 10Hoạt động của giáo viên Hoạt động của học sinh
Một số nguyên dương i chia hết cho 3
khi nào?
Trang 11Tiết 2: Bài toán và thuật toán Hoạt động: Luyện tập vận dụng
(1) Mục tiêu:
- Tạo tinh thần thỏa mái, môi trường thân thiện cho học sinh trước khi vào bài học
- Tạo động cơ để học sinh có nhu cầu quan tâm, tìm hiểu về bài toán, thuật toán
- Luyện tập cách xây dựng ý tưởng, xác định Input và Output của bài toán
- Biểu diễn thuật toán bằng hai cách: liệt kê và sơ đồ khối
(2) Phương pháp/ kỹ thuật dạy học: hoạt động cá nhân, hoạt động nhóm (3) Phương tiện dạy học: Máy tính, máy chiếu.
(4) Sản phẩm: Học sinh viết được thuật toán giải một số bài toán cơ bản.
Nội dung: GV đưa ra một số bài toán và yêu cầu học sinh trình bày ý tưởng và
viết thuật toán:
Bài 1: Cho 3 số a, b, c bất kì Tìm số lớn nhất trong ba số Viết thuật toán dưới hai
dạng
Bài 2: Giải phương trình ax + b = 0
Nội dung cần đạt Hoạt động của thầy và trò Bài 1
Cho 3 số a, b, c bất kì Tìm số lớn nhất
trong ba số Viết thuật toán dưới hai
dạng
Lời giải
Input: a, b, c
Output: Max(a,b,c)
Thuật toán
Cách liệt kê
B1: vào a, b, c
B2: max := a
B3: nếu max <= b thì max b
B4: nếu max <= c thì max c
B5: trả lời số lớn nhất là max
GV: Các nhóm hãy xác định Input và Output của bài toán này?
HS suy nghĩ và trả lời:
GV: Hãy nêu ý tưởng tìm số lớn nhất trong 3 số?
HS: Câu trả lời mong đợi
Ý tưởng:
- Cho max = a
- Nếu b> max thì max = b
- Nếu c> max thì max = c
HS ghi bài
Trang 12Nội dung cần đạt Hoạt động của thầy và trò
Sơ đồ khối
Bài 2: Giải phương trình ax + b = 0
Lời giải
Input: a, b
Output: Kết luận nghiệm của phương
trình
Ý tưởng
- Nếu a = 0 thì:
+ Nếu b = 0 thì phương trình vô số nghiệm
+ Ngược lại phương trình vô nghiệm
- Nếu a 0 phương trình có 1 nghiệm
x = -b/a
Thuật toán
Cách liệt kê
B1: Vào a, b
B2: Nếu a = 0
GV: Các nhóm trình bày thuật toán trên dưới dạng sơ đồ khối
HS: thảo luận nhóm và cử đại diện lên bảng trình bày
GV sửa chữa và giải thích
HS ghi bài
GV: Giao nhiệm vụ cho mỗi nhóm
- Nhóm 1 và nhóm 2 trình bày thuật toán dạng liệt kê các bước
- Nhóm 3 và nhóm 4 trình bày thuật toán dạng sơ đờ khối
GV: Trình tự thực hiện + ? xác định bài toán?
+ ? ý tưởng giải bài toán?
+ viết thuật toán HS: Các nhóm thảo luận HS: lần lượt đại diện các nhóm trình bày, các nhóm khác theo dõi, nhận xét
Max a
Kết thúc
Số lớn nhất là Max
Nhập a, b, c
Trang 13Nội dung cần đạt Hoạt động của thầy và trò
B21: b = 0 kết luận PTVSN rồi KT
B22: b 0 kết luận PTVN rồi KT
B3: Nếu a 0 kết luận phương trình có
1 nghiệm x = -b/a rồi KT
Sơ đồ khối
GV sửa chữa và giải thích
HS ghi bài
Hoạt động mở rộng
(1) Mục tiêu: Giúp học sinh luyện tập sâu hơn về cách viết thuật toán.
(2) Phương pháp/ kỹ thuật dạy học: Hoạt động cá nhân tại nhà
(3) Phương tiện: SGK
(4) Sản phẩm: Học sinh xây dựng được thuật toán
Nội dung: GV đưa ra một số bài toán và yêu cầu học sinh trình bày ý tưởng và viết
thuật toán:
Bài 1: Tính tổng S của N số nguyên dương đầu tiên.
Bài 2: Tính tổng S = 1 + 1/2 + 1/3 + + 1/N
Bài 3 : Tìm số nguyên nhỏ nhất trong một dãy số nguyên.
Bài 4 : Tìm giá trị k có xuất hiện trong dãy a1, a2, , aN không?
Bài 5 : Sắp xếp dãy số nguyên a1, a2, , aN theo chiều giảm dần
a = 0
PTVSN
-+
Kết thúc
b=0
-+
PT có 1 N o x=-b/a
PTVN Nhập a, b