Bên cạnh đó rèn luyện cho các em kĩ năng giải đượcmột số bài toán đơn giản trên máy tính bằng cách vận dụng được cáckiến thức về thuật toán, cấu trúc dữ liệu, ngôn ngữ lập trình cụ thể..
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HÓA
TRƯỜNG THPT VĨNH LỘC
-SÁNG KIẾN KINH NGHIỆM
PH¸T HUY TÝNH TÝCH CùC CñA HäC SINH TRONG TIÕT D¹Y – HäC BµI CÊU TRóC LÆP TIN HäC 11
Người thực hiện: Đỗ Thị Thu Hiền Chức vụ: Giáo viên
SKKN thuộc môn: Tin học
THANH HÓA NĂM 2013
Trang 2PHẦN 1 ĐẶT VẤN ĐỀ
Tin học là một môn học mới nhưng đã khẳng định được vai trò
và vị trí quan trọng của mình Cùng với tất cả các bộ môn khác, bộmôn Tin học cũng đã và đang được quan tâm, điều chỉnh thông quaviệc đổi mới phương pháp giảng dạy Thực tế cho thấy cần phải cónhững công trình nghiên cứu về phương pháp dạy bộ môn Tin học vớitừng phần kiến thức cụ thể nhằm xây dựng những giải pháp tối ưutrong việc dạy học Tin học
Như chúng ta biết, chương trình sách giáo khoa Tin học 11 trang
bị cho học sinh một số kiến thức cơ bản về lập trình và ngôn ngữ lậptrình bậc cao Bên cạnh đó rèn luyện cho các em kĩ năng giải đượcmột số bài toán đơn giản trên máy tính bằng cách vận dụng được cáckiến thức về thuật toán, cấu trúc dữ liệu, ngôn ngữ lập trình cụ thể thực tế cho thấy học sinh gặp rất nhiều khó khăn trong việc học Tinhọc, đặc biệt là phần tin học khối lớp 11 Một trong những nội dung
mà học sinh hay gặp vướng mắc đó là sự lựa chọn cấu trúc lặp trong
khi xây dựng chương trình giải một bài toán.
Do vậy việc nghiên cứu, áp dụng phương pháp mới vào dạy học để nâng cao chất lượng là hết sức quan trọng và cần thiết Với
-những lý do nêu trên, tôi chọn đề tài nghiên cứu " Phát huy tính tích cực của học sinh trong tiết dạy - học bài Cấu trúc lặp Tin học 11" với
mong muốn giúp học sinh chủ động khai thác những kiến thức cơ bảnmột cách chắc chắn và sâu sắc Từ đó áp dụng được linh hoạt vào giảiquyết các dạng bài tập thường gặp
PHẦN 2 GIẢI QUYẾT VẤN ĐỀ
A CƠ SỞ LÍ LUẬN
Việc phát huy tính tích cực học tập của học sinh không phải là vấn đềmới, nó đã được nghiên cứu ở nhiều bộ môn khác nhau, tuy nhiên domỗi môn học đều có những đặc thù riêng nên cũng cần những phươngpháp áp dụng riêng
Thực tế việc giảng dạy sử dụng các phương pháp giáo dục truyềnthống chưa đáp ứng đầy đủ được mục tiêu dạy học Trong khi khoa
Giáo viên: Đỗ Thị Thu Hiền Trang 2
Trang 3học công nghệ ngày càng phát triển thì việc chiếm lĩnh tri thức mớiđòi hỏi người học cần phải giữ vai trò chủ động Nhưng phần lớn họcsinh còn rất thụ động, do khả năng nhận thức của các em còn nhiềuhạn chế Vì thế, việc phát huy tính tích cực trong quá trình nghiên cứu
và lĩnh hội tri thức là vấn đề cực kỳ quan trọng
Giải quyết được vấn đề này có thể nói là giải quyết được vấn đềlớn của ngành giáo dục nói chung và công tác giáo dục của trường nóiriêng
Trang 4B THỰC TRẠNG
Chương trình sách giáo khoa tin học lớp 11 bao gồm 53 tiết, trong
đó phần cấu trúc lặp được phân phối 3 tiết lý thuyết Tuy thời lượngchương trình dành cho cấu trúc lặp không nhiều nhưng đây là mộttrong những mảng kiến thức quan trọng mà học sinh cần phải tiếp cận
và phải hiểu sâu sắc thì mới có thể lựa chọn và sử dụng thành thạotrong lập trình giải một bài toán trên máy tính
Trong những năm gần đây, Bộ GD&ĐT đã, đang đẩy mạnh phongtrào đổi mới phương pháp giảng dạy, nâng cao chất lượng dạy và học.Phong trào này đã mang lại nhiều thành tựu đáng kể, gần như thổi mộtlàn gió mới vào quá trình dạy - học ở nước ta Song bên cạnh đó vẫntồn tại nhiều vấn đề cần quan tâm Đó là: việc thực hiện phong tràođôi khi là hình thức; một bộ phận giáo viên lại quá lạm dụng việc đổimới phương pháp giảng dạy, dạy học bằng các phần mềm trình chiếuhay nói cách khác là áp dụng phương pháp dạy học chưa phù hợp vớithực tế nên không những không nâng cao được chất lượng giảng dạy
mà đôi khi còn không đạt được mục tiêu dạy học đặc biệt, hầu hếtgiáo viên đều chú trọng đổi mới phương pháp giảng dạy ở phần kiếnthức trọng tâm mà quên đi những phần kiến thức khác
Từ thực trạng trên, để công việc hiệu quả hơn, trong chuyên đềnày tôi xin trình bày tiết học về Cấu trúc lặp, cụ thể là cấu trúc lặp với
số lần biết trước và câu lệnh for – do (Tiết 12 – Phân phối chươngtrình Tin học 11) để báo cáo trong chuyên đề này Trong bài giảng tôi
sẽ thực hiện theo mô hình "dạy học tích cực, lấy người học làm trung
tâm" giúp học sinh thực sự được đặt vào các tình huống, vấn đề và có
nhu cầu giải quyết, từ đó tư duy tìm cách giải quyết Trong quá trìnhthực hiện tôi cố gắng trình bày khá chi tiết với kỹ thuật gợi động cơhoạt động cho học sinh, kích thích hứng thú học tập và định hướngmột cách hữu hiệu hoạt động học tập của học sinh Với cách thức nhưvậy, tôi tin rằng học sinh có thể dễ dàng nắm được các kiến thức từ đóphân tích, tổng hợp, trừu tượng hoá, khái quát hoá để hình thành vàphát triển phương pháp cũng như kỹ năng lập trình
Trang 5thực tế từ đó gợi động cơ để các em tư duy bài học Trong chuyên đềnày, tôi không trình bày sâu kiến thức hay bài tập về cấu trúc lặp for -
do mà xây dựng bài giảng cho tiết dạy chú trọng đến việc phát huytính tích cực của học sinh Mỗi hoạt động là một hệ thống các tìnhhuống, vấn đề bao gồm 3 nhóm: nhóm vấn đề định hướng cho họcsinh tự mình tìm ra kiến thức mới; nhóm vấn đề có tính ứng dụng,thực hành, ôn tập, rèn luyện kỹ năng; nhóm vấn đề tương đối phứctạp, cần vận dụng tổng hợp, linh hoạt sáng tạo nhiều kiến thức tổnghợp Bài dạy giúp học sinh hiểu về khái niệm lặp, lặp với số lần biếttrước và câu lệnh for – do
Trong bài dạy, tôi sử dụng những tình huống, ví dụ, câu hỏi rènluyện kỹ năng liên hệ thực tế và vận dụng để rút ra kiến thức bài học.Trong quá trình giảng dạy tôi cũng chú trọng đến việc ứng dụng côngnghề thông tin, kết hợp linh hoạt phương pháp giảng dạy để nhằm đạtđược chất lượng tốt nhất có thể
I MỤC TIÊU:
1 Kiến thức:
- Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán
- Hiểu cấu trúc lặp với số lần biết trước và câu lệnh For - Do
2 Học sinh:
- Học sinh chuẩn bị các kiến thức cũ đã học liên quan, cần sử dụng để
hỗ trợ cho việc lĩnh hội kiến thức mới
- Học sinh chuẩn bị giấy bút, sách vở
III TỔ CHỨC DẠY HỌC:
1 Hoạt động 1: Xét ví dụ để gợi động cơ tìm hiểu ý nghĩa của cấu trúc lặp
Trang 6Giáo viên đưa ra một bài toán ví dụ tình huống đặt học sinh vào tình huống có vấn đề buộc các em phải tư duy.
Nội dung Hoạt động của Thầy Hoạt động của
Trò
Xét 2 bài toán với a>2, a
nguyên cho trước
Bài toán 1: Tính tổng:
100
1
2
1 1
Với Bài toán 1:
GV có thể gợi ýphương pháp: Ta xemnhư S là một cái thùng,
số hạng như một cái ca
có dung tích khác nhau,khi đó việc tính tổngtrên tương tự việc đổcác ca nước vào thùngS
?Có bao nhiêu lần đổnước vào thùng?
?Mỗi lần một lượng làbao nhiêu? lần thứ i đổbao nhiêu?
? Mô tả trong chươngtrình cần phải viết bao
Trả lời:
Có 100 lần đổnước
Trang 7Cách tính tổng Bài toán 1:
- Gán S bằng giá trị 1/a
- Tiếp theo mỗi lần cộng
thêm vào S là a N1 với
- Tiếp theo mỗi lần cũng
cộng thêm vào S một giá
trị là a N1 với N=1, 2, 3
nhiêu lệnh?
Qua ví dụ gợi ý nêutrên em hãy cho biếtcách giải bài toán 1?
GV: Nhấn mạnh thêm
rằng việc cộng thêmmỗi lần vào tổng S mộtgiá trị là a N1
được lặp
đi lặp lại 100 lần Nóicách khác đây chính là
Thao tác lặp với số lần biết trước (Cụ thể trong
trường hợp này là lặp
100 lần)
Với Bài toán 2:
? Điểm khác biệt củabài toán này so với bàitoán 1?
? Việc lặp được thựchiện bao nhiêu lần?
?Giới hạn lặp là gì?
?Nêu cách tính cụ thểcho bài toán 2?
Trả lời:
Phải viết 100lệnh
Thảo luận:
- Ban đầu gán Sbằng giá trị 1/a
- Tiếp theo mỗilần cộng thêmvào S là a N1với N=1, 2,
3,
- Việc cộngthêm dừng lạikhi N=100
- Giới hạn lặpcho đến khiđiều kiện a N1
Trang 8- Việc cộng thêm dừng lại
1
a N được lặp đi lặp lạichưa biết bao nhiêu lần
mà chỉ biết việc cộnglặp dừng lại khi a N1 <
0,0001Nói cách khác đây
GV Chuẩn hoá nộidung câu trả lời rồitrình chiếu lên mànhình
- Trong lập trình, có những thao tác phải lặp đi lặp lại một số lần, khi đó ta gọi là cấu trúc lặp
- Lặp thường có 2 loại:
+ Lặp với số lần biết trước
+ Lặp với số lần không biết trước
?Để thực hiện tính tổng
S ta phải sử dụng câulệnh nào?
GV: Nêu vấn đề: Ta
< 0,0001 đượcthoã mãn
Thảo luận:
- Gán S bằnggiá trị 1/a
- Tiếp theo mỗilần cũng cộngthêm vào S mộtgiá trị là a N1
với N=1, 2, 3
- Việc cộngthêm dừng lạikhi a N1
<0,0001
Thảo luận Phát biểu
Giáo viên: Đỗ Thị Thu Hiền Trang 8
Trang 9mới chỉ học câu lệnh IF– THEN Và đưa ratình huống giải 2 bàitoán như sau: (Trìnhchiếu trên màn hình)
Cách giải bài toán
1 bằng các lệnh IF –THEN sau:
S:=1/a;
If n=1 ThenS:=S+1/(a+1);
If n=2 ThenS:=S+1/(a+2);
If n=3 ThenS:=S+1/(a+3);
Cách giải bài toán
2 bằng các lệnh IF –THEN sau:
S:=1/a;
If(1/(a+1)>0,0001
S:=S+1/(a+1);
If(1/(a+2)>0,0001
S:=S+1/(a+2);
If(1/(a+3)>0,0001
S:=S+1/(a+3);
…
?Nhận xét cách giảitrên?
Nhận xét:
- Theo nhưcách giải trên,thì việc cộngthêm ở bài toán
Trang 10?Vậy giải pháp sử dụng
câu lệnh If – Then vào
để thực hiện tính tổngtrong trường hợp này
có hợp lí không?
Đúng thế Để giải 2 bàitoán trên thì không thểdùng cấu trúc IF –THEN mà phải sử dụngmột cấu trúc khác,ngôn ngữ Pascal sẽcung cấp cho ta một sốcâu lệnh lặp để mô tảcác cấu trúc lặp trên
đến 100 lầnnhưng điềukiện để kiểm trakhông biết phảithực hiện nhưthế nào?
- Cả 2 cách giảitrên đều quá dài
100
1
3
1 2
1 1
1 1
a a a S
Giáo viên: Đỗ Thị Thu Hiền Trang 10
Ban đầu Cộng lần 1 Cộng lần 2
Cộng lần 100
Cộng lần 3
Trang 11Thuật toán 1a: (Lặp
GV Gợi động cơ cho lặp lùi
Thay vì:
Ban đầu S 1/a, N 0Cộng lần thứ 1 là a11Cộng lần thứ 2 là a12Cộng lần thứ 3 là a13Cộng lần thứ 100 là
Thảo luận theonhóm để viếtthuật toán:
HS trình bàythuật toán mànhóm vừa thảoluận
Nhận xét, đánhgiá kết quả củanhóm khác
Trang 12→ Đây chính là Dạng lặp
lùi
?Các em xây dựng thuậttoán theo cách này?
Chuẩn hóa lại thuật toán
và trình chiếu
GV: Qua Thuật toán 1a
và Thuật toán 1b ta thấy
cũng để tính tổng Snhưng có 2 cách tính lặp
là cộng lặp tiến và cộnglặp lùi Để minh họa cho
2 cách lặp trên ngôn ngữlập trình Pascal có hai câulệnh thể hiện là câu lệnh
3 Hoạt động 3: Tìm hiểu câu lệnh for – do
Trò
* Dạng tiến: Yêu cầu học sinhnghiên cứu SGK và cho HS nghiên cứu, trả lời câu hỏi
Giáo viên: Đỗ Thị Thu Hiền Trang 12
Trang 13cùng kiểu với biến đếm.
+ Giá trị đầu ≤ Giá trị
được thực hiện tuần tự
với biến đếm lần lượt
nhận các giá trị liên tiếp
tăng từ giá trị đầu đến
giá trị cuối
Sơ đồ khối
biết cấu trúc chung củacâu lệnh FOR – DOdạng tiến?
GV Giải thích:
<Biến đếm>: là biến
đơn và thường có kiểunguyên
GV: Ý nghĩa của <giá
trị đầu> <giá trị cuối>,kiểu dữ liệu của chúng?
? Trong Thuật toán 1a
<giá trị đầu>, <giá trịcuối> là bao nhiêu?
? Lệnh cần lặp trong
thuật toán 1a là gì?
? Khi có nhiều lệnhkhác nhau cần lặp lại taviết như thế nào?
để làm giới hạncho biến đếm
- Hai giá trị nàyphải cùng kiểuvới biến đếm
Trả lời
Giá trị đầu là 1,giá trị cuối là 100
Cuối
S
Đ
Trang 14Hoạt động của câu lệnh
lùi: Câu lệnh sau từ
khóa DO được thực
hiện tuần tự với biến
đếm lần lượt nhận các
giá trị liên tiếp giảm từ
giá trị cuối đến giá trị
đầu
Sơ đồ khối
? Nghiên cứu SGK emhãy cho biết sự hoạtđộng của câu lệnh for –
do dạng tiến?
GV chuẩn hóa lại câutrả lời và trình chiếutrên bảng sự thực hiệncủa máy:
Câu lệnh sau từ khóa
DO được thực hiện tuần
tự với biến đếm lần lượt nhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối.
GV Giới thiệu (trên máychiếu) cho HS hoạtđộng của câu lệnh bằng
sơ đồ khối
Tương tự với câu lệnhdạng tiến các em chobiết cấu trúc của cẩulệnh For – do dạng lùi
GV: Tương tự câu lệnhdạng tiến
<biến đếm> cũngthường có kiểu nguyên
<Giá trị đầu>,< giá trị cuối> là biểu thức cùng
kiểu với biến đếmGV: ?Trong trường hợpnày em hãy so sánh
<giá trị đầu> và <giá trị cuối>
Giáo viên: Đỗ Thị Thu Hiền Trang 14
Biến đếm:=G.trị
cuối
Lệnh lặp
Biến đếm>=Gt đầu
S
Đ
Trang 15GV: ?Em cho biết sựhoạt động của câu lệnh?
GV Giới thiệu (trên máychiếu) cho HS hoạtđộng của câu lệnh bằng
sơ đồ khối
giá trị cuối đếngiá trị đầu
Trang 164 Hoạt động 4: Rèn luyện kĩ năng vận dụng lệnh lặp For
GV: Vận dụng cấu trúc lệnh vào để viết câu lệnh minh họa cấu trúc
lặp cho Thuật toán 1a?
GV: Yêu cầu học sinh tiếp tục hoàn thành chương trình ở nhà
GV nêu ví dụ áp dụng: Viết câu lệnh lặp để tính S=1+2+3+…+100 HS:
S:=0;
For i:=1 to 100 do S:=S+i;
GV: Chuẩn hóa nội dung câu lệnh lặp
GV: Chia lớp thành 3 nhóm Yêu cầu học sinh viết chương trình lêngiấy bìa trong
HS: Cùng thảo luận và viết chương trình theo nhóm
GV: Thu phiếu học tập, chiếu lên bảng, gọi HS nhóm khác nhận xét
Trang 17end.
Trang 18Hoạt động của câu lệnh dạng tiến
Câu lệnh sau từ khóa DO được thực hiện tuần tự với biến đếm lần lượtnhận các giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối
*Dạng lùi:
Cấu trúc:
For < biến đếm>:= <giá trị cuối> downto <giá trị đầu > do <lệnh cần
lặp>;
Hoạt động của câu lệnh dạng lùi:
Câu lệnh sau từ khóa DO được thực hiện tuần tự với biến đếm lần lượtnhận các giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu
D PHƯƠNG PHÁP TIẾN HÀNH
- Tổ chức dạy học theo đúng phương án đã soạn
- Đánh giá hiệu quả của quá trình dạy học đã soạn đối với chấtlượng tiếp thu, lĩnh hội kiến thức của học sinh
- Điều chỉnh phương án dạy học cho phù hợp nếu cần thiết
- Tổng kết các mặt làm được và chưa làm được trong chuyên đề để
có hướng vận dụng chuyên đề cho các khoá học tiếp theo
E CÁCH THỨC THỰC HIỆN
Với việc nghiên cứu kỹ chương trình sách giáo khoa, đọc các tàiliệu tham khảo, tiết dạy “Cấu trúc lặp” (Tiết 12 phân phối chươngtrình) đã được chuẩn bị khá chu đáo và công phu Tôi đã tiến hành
Giáo viên: Đỗ Thị Thu Hiền Trang 18
Trang 19giảng dạy ở các lớp khối 11 Đồng thời mời các đồng nghiệp dự giờ và
có tiến hành họp rút kinh nghiệm sau tiết dạy
PHẦN 3 KẾT THÚC VẤN ĐỀ
1 Kết quả
Trong tiết học, học sinh tập trung hào hứng với phương pháp dạyhọc tích cực này Thể hiện bằng việc tích cực suy nghĩ giải quyết cáctình huống giáo viên đưa ra, hăng hái tham gia phát biểu ý kiến xâydựng bài Hầu hết các câu hỏi trả lời đúng trọng tâm Sau tiết học này
đa phần học sinh đã nắm vững được những kiến thức cơ bản và thànhthạo trong sử dụng cấu trúc lặp for – do Các em đã biết áp dụng vàolàm các bài tập đơn giản một cách nhanh chóng và thành thạo Đa sốđều chịu khó làm bài tập mà giáo viên giao, số lượng bài giải đạt yêucầu tăng lên đáng kể so với trước Kỹ năng thực hành có tiến bộ Họcsinh không còn thụ động trong làm bài và tìm thuật giải Không cóhọc sinh làm việc riêng trong giờ
Bài học đã giáo dục cho học sinh lòng ham mê học hỏi và phát huytính tích cực, chủ động sáng tạo của mình, từ đó tiếp thu bài học mộtcách hiệu quả hơn
Để đánh giá kết quả của việc thực hiện chuyên đề tôi đã tiến hànhđiều tra ở các đối tượng học sinh và sau đây tôi xin trình bày một sốkết quả kiểm tra:
Đề bài:
Một người có số tiền là S, ông ta gửi tiết kiệm ngân hàng với lãisuất 1,2%/tháng Hỏi sau 12 tháng gửi tiết kiệm (không rút tiền lãihàng tháng), ông ta được số tiền là bao nhiêu?
Từ thực tế giảng dạy ở các lớp kết quả kiểm tra cụ thể như sau:
Bảng tổng hợp điểm kiểm tra của học sinh các lớp.
So sánh Lớp
Tổngsốhọcsinh
ĐiểmGiỏi Khá Trungbình Yếu
SL Tỷ lệ
%
S L
Tỷ lệ
Tỷ lệ
%
SL Tỷ lệ %
Lớp đối 11A 50 0 0.0 13 26 33 66.0 4 8.0