SỞ GIÁO DỤC & ĐÀO TẠO TỈNH BÀ RỊA-VŨNG TÀU
TRƯỜNG TRUNG HỌC PHỔ THÔNG NGUYỄN TRÃI
۩
SÁNG KIẾN KINH NGHIỆM
MỘT SỐ BIỆN PHÁP TẠO HỨNG THÚ KHI
HỌC LẬP TRÌNH PASCAL CHO
HỌC SINH LỚP 11
Người thực hiện : Ngô Quốc Huy
Chức vụ : Giáo Viên
Đơn vị công tác : Trường THPT Nguyễn Trãi.
MỤC LỤC
A.MỞ ĐẦU Trang 3
I. LÝ DO CHỌN ĐỀ TÀI Trang 3
1-Cơ sở lý luận Trang 3
2-Cơ sở thực tiễn Trang 4
II/- MỤC ĐÍCH VÀ PHƯƠNG PHÁP NGHIÊN CỨU SÁNG KIẾN
KINH NGHIỆM: Trang 4
1-Mục đích: Trang 4
2-Phương pháp nghiên cứu: Trang 4
III/-GIỚI HẠN CỦA ĐỀ TÀI Trang 4
IV/-CÁC GIẢ THIẾT NGHIÊN CỨU Trang 4
V/- KẾ HOẠCH THỰC HIỆN Trang 4
B. NỘI DUNG: Trang 5
I/- THỰC TRẠNG VÀ MÂU THUẪN Trang 5
II/- CÁC BIỆN PHÁP GIẢI QUYẾT VẤN ĐỀ Trang 5
1/- Khả năng truyền đạt Trang 5
2/- Phương pháp dạy học Trang 6
3/- Công cụ thiết kế bài giảng Trang 6
2
4/- Kết quả thu được Trang 6
Qua những năm dạy học, tôi nhận thấy khi học Pascal học sinh thường không hứng thú với môn học
này vì nhiều lý do như: khô khan,khó hiểu, đòi hỏi tư duy nhiều,các thuật ngữ bằng tiếng anh và nội dung
liên quan tới toán học cũng là vấn đề khó khăn làm cho môn học pascal trở nên không hứng thú đối với học
sinh… Do đó để học được đòi hỏi học sinh phải có hứng thú,đặc biệt với học sinh giỏi môn Tin học cần có
sự đam mê, yêu thích tìm tòi học hỏi mới có thể gắn bó, theo học lâu dài môn Pascal . Đó cũng chính là lý
do tôi viết :“ MỘT SỐ BIỆN PHÁP TẠO HỨNG THÚ KHI HỌC LẬP TRÌNH PASCAL
CHO HỌC SINH LỚP 11” .Mong muốn giới thiệu một số kinh nghiệm của bản thân trong việc tạo
3
hứng thú cho học sinh khi học Pascal , một khi đã có hứng thú kết hợp với phương pháp cũng như công cụ
thiết kế bài giảng sinh động chắc chắn học sinh của chúng ta sẽ học môn lập trình này trở nên tốt.
2-Cơ sở thực tiễn
Trong thời đại ngày nay các thành tựu của tin học được áp dụng hầu hết các lĩnh vực hoạt động của
xã hội đã mang lại nhiều hiệu quả to lớn .Mối quan hệ tương tác giữa các nhu cầu trong xã hội ngày càng đa
dạng với những tiến bộ của khoa hoc kỹ thuật đã dẫn đến sự phát triển như vũ bão của công nghệ thông tin ,
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 học tập ,nghiên cứu về ngôn ngữ lập trình lâu dài, qua đó nhà lập trình hơn ai hết đó là
các học sinh đang ngồi trên ghế nhà trường hôm nay có thể chọn một ngôn ngữ lập trình thích hợp. 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 Pascal 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 hình dung được sự ra đời, cấu tạo, hoạt động cũng như ích lợi của
các chương trình hoạt động trong máy tính, các máy tự động…
Quá đó giúp các em có một niềm đam mê về tin học để từ đó có sự định hướng về nghề nghiệp mà
các em chọn sau này. Đồng thời Pascal là một ngôn ngữ có cấu trúc thể hiện trên 3 yếu tố: Cấu trúc về mặt
dữ liệu, cấu trúc về mặt lệnh, cấu trúc về mặt chương trình.
Vậy thì chúng ta phải làm như thế nào để sau khi kết thúc lớp 11 thì các em có thể nắm và hiểu được
như thế nào là ngôn ngữ lập trình, cụ thể là ngôn ngữ lập trình Pascal mà ta đã nói ở trên,bằng những hứng
thú và đam mê trong học tập.
II/- Mục đích và phương pháp nghiên cứu sáng kiến kinh nghiệm:
1-Mục đích:
- Hệ thống bài tập Pascal tạo sự hứng thú cho học sinh trong quá trình học.
- Do Pascal khó hiểu, khô khan, khó tư duy,… nên các phương pháp giảng dạy môn Pascal phù
thích bộ môn, từ đó học sinh sẽ học hiệu quả hơn môn lập trình Pascal
II/- CÁC BIỆN PHÁP GIẢI QUYẾT VẤN ĐỀ
1- KHẢ NĂNG TRUYỀN ĐẠT
Khi truyền đạt, giảng dạy Pascal trên lớp do đặc thù môn học này đòi hỏi mức độ tư duy nhất định ở học
sinh, các em khó tư duy nên giáo viên khi truyền đạt kiến thức mới cũng như tìm thuật toán cần đưa ra các
vấn đề liên quan đến cuộc sống hằng ngày của các em với các con số phép tính cơ bản giúp các em dễ hình
dung được vấn đề cũng như công việc các em phải giải quyết.
Ví dụ 1:
Khi giảng bài câu lệnh lặp, để học sinh phân biệt được thế nào là lệnh lặp với số lần lặp biết trước,
thế nào là lệnh lặp với số lần lặp không biết trước, giáo viên có thể ví dụ như sau:
Cần đổ đầy một bể chứa 50 lít nước bằng một cái ca có dung tích là 1 lít thì ta phải thực hiện 50 lần
đổ nước vào đó là biết trước số lần lặp.Còn nếu đổ với cái ca không biết dung tích thì không biết sẽ đổ bao
nhiêu lần,chỉ biết cho tới khi nào đầy thì ngưng đó là lặp với số lần không biết trước.Từ đó yêu cầu học sinh
đưa ra những ví dụ trong cuộc sống liên quan với việc lặp đi lặp lại công việc nào đó và các em sẽ phân tích
xem việc nào thi biết trước số lần thực hiện việc nào thì không biết trước số lần thực hiện.
Ví dụ 2:
Khi giảng bài toán tìm số lớn nhất trong một dãy số,chúng ta nên đưa ví dụ cho các em dễ liên tưởng
như: “Em làm thế nào để tìm được bạn cao nhất trong lớp”. Hay, đối với bài tóan sắp xếp dãy số tăng dần, ta
đưa ví dụ gần thực tế như: “Giả sử em đóng vai trò là lớp trưởng, em làm thế nào để có thể xếp hàng từ thấp
đến cao cho các bạn trong lớp”.
5
Ví dụ 3:
Hay, đối với bài toán tìm trong một dãy số có số dương nào không, để học sinh có thể tư duy, ta nêu
như sau: “ Nếu có ai đó hỏi lớp mình có bạn nào cao trên 1m7 không? thì em sẽ làm thế nào để trả lời câu
hỏi đó ”. Từ đó, với bài toán hỏi trong dãy có toàn số dương không, giáo viên có thể đưa ví dụ: “Có phải lớp
mình bạn nào cũng cao trên 1m7 không” Thời gian đầu giáo viên đưa ra các ví dụ gắn liền với thực tế của
các em, để các em tìm cách giải quyết tốt nhất vấn đề đó trong cuộc sống vừa là giúp các em biết giải quyết
Ca
- Giáo viên sẽ đặt câu hỏi như sau:
Các em quan sát hình 1 và cho biết phải đổ bao nhiêu lần thì bình sẽ được đổ đầy nước và công việc gì được
làm đi làm lại nhiều lần.
+ Học sinh sẽ trả lời được ngay là số lần thực hiện là 50 lần và công việc được làm đi làm là công việc đổ
nước vào bình.
- Tiếp theo cho các em xem hình thứ 2 như sau:
Giáo viên đặt câu hỏi như sau:
+ Các em có biết được số lần thực hiện công việc đổ nước không ?
+ Đổ khi nào thì dừng việc đổ nước?
- Từ hai câu hỏi trên thì các em sẽ trả lời được là: chưa biết được số lần đổ và thực hiện công việc đổ nước
cho đến khi bình đầy thì dừng việc đổ nước lại.
=> Từ hai hình ảnh ở trên chúng ta có thể giúp cho các em hiểu và biết được như thế nào là lặp và phân biết
được lặp với số lần biết trước và lặp với số lần chưa biết trước.
Khi đó giáo viên sẽ yêu cầu học sinh đưa thêm nhiều ví dụ về công việc hằng ngày của các em mà có
lặp đi lặp lại rồi yêu cầu các em phân tích đó là công việc, hoạt động nào có biết trước số lần lặp còn công
việc,hoạt động nào thì không biết trước số lần”.
Nhóm 1: Ví dụ,“Thầy thể dục yêu cầu các em chạy vòng quanh sân trường”
Nhóm 2: Phân tích,”10 lần đó là số lần lặp biết trước”
7
Bình này chứa tối đa là 50 lít
? lít
Hình 2
Ca
Nhóm 3: Ví dụ,”Thầy yêu cầu các em chạy vòng quanh sân trường đến khi nào mệt thì nghỉ “
Nhóm 4: Phân tích,”Thầy sẽ không biết trước học sinh sẽ chạy bao nhiêu vòng,là lặp không biết
trước chỉ kết thúc khi mệt.”
…
- Sau khi các em đã biết được như thế nào là lặp và phân biệt được hai dạng lặp.
- Tiếp theo đó đưa 2 bài toán trong sách giáo khoa làm ví dụ như sau:
Học sinh trả lời là: đã xác định được lần lặp, cụ thể cộng dồn đến a+100.
Học sinh viết:
S:=1/a;
for i:=1 to 100 do
S:=S+1/(a+i);
Nhóm 2
Câu 3. Bài 2 đã xác định được lần lặp chưa?
Câu 4. Em hãy viết câu lệnh lặp để tính tổng S ở bài 2?
Học sinh trả lời là: chưa xác định được lần lặp, vì với a được nhập từ bàn phím thì: 1/(a+N) < 0.0001 không
xác định được cụ thể N bằng bao nhiêu.
Học sinh viết:
S:=1/a;
N:=1;
While 1/(a+N) < 0.0001 do
Begin
S:=S+1/(a+N);
N:=N+1;
End;
Nhóm 3
Câu 5. Em hãy cho biết sự tương đồng của hai bài toán trên:
Học sinh trả lời:
Xuất phát, S được gán giá trị: 1/a;
Tiếp theo, cộng dồn vào S một giá trị: 1/(a+N), với N tăng từ 1,2,3…
Câu 6. Hai bài toán trên khác nhau ở điểm nào?
Học sinh trả lời:
Bài toán 1 đã biết số lần lặp cụ thể, bài toán 2 chưa xác định được lần lặp cụ thể.
8
Câu 7. Có thể dùng câu lệnh while…do để viết vòng lặp tính tổng S ở bài 1 được không?
Và có thể dùng câu lệnh for…do để viết vòng lặp tính tổng S ở bài 2 được không?
Học sinh trả lơi:
C. KẾT LUẬN
Ngôn ngữ lập trình nói chung đóng vai trò rất quan trọng trong việc xây dựng các chương trình ứng
dụng để phục vụ cho cuộc sống. Nhờ sự phát triển của tin học - trong đó các nhà lập trình chuyên nghiệp
đóng vai trò không nhỏ - mà hiện nay hầu hết các lĩnh vực trong xã hội đã ứng dụng được tin học để giải
quyết công viêc nhanh, hiệu quả và chính xác hơn.
Hiện nay, ngôn ngữ lập trình Pascal đã trở thành ngôn ngữ lập trình phổ biến nhất trên thế giới sử
dụng trong lĩnh vực giảng dạy. Trong quá trình giảng dạy ngoài những nội dung chương trình các thầy cô có
thể đưa ra các vấn đề,bài toán phục vụ cho nhu cầu học tập cũng như giải trí của các em như lập trình các
game nhỏ,các chương trình dùng để giài các bài toán trong toán học…để các em có thể chứng tỏ được khả
năng của mình làm cho học sinh yêu thích môn học, ham học hỏi và sáng tạo.
Đề tài này mang tính thực tiễn rất cao cụ thể là: Trong tiết học các em học sinh đã chủ động để tìm tòi lại
kiến thức đã học qua đó giải quyết được vấn đề do giáo viên đặt ra. Trong quá trình giải quyết vấn đề, giáo
viên chỉ ra những sai lầm mà các em học sinh mắc phải từ đó các em hiểu rõ hơn về các câu lệnh trong ngôn
ngữ lập trình.
9
Đề tài của tôi trên đây có thể còn mang màu sắc chủ quan, chưa hoàn thiện do còn hạn chế về trình
độ kiến thức và kinh nghiệm giảng dạy. Vì vậy, tôi rất mong nhận được sự đóng góp ý kiến quí báu của các
thầy giáo, cô giáo và các bạn đồng nghiệp để ngày càng hoàn thiện hơn. Tôi xin chân thành cảm ơn./.
D. TÀI LIỆU THAM KHẢO
1. Sách giáo khoa tin học 11 Hồ Sĩ Đàm chủ biên
2. Sách giáo viên tin học 11 Hồ Sĩ Đàm chủ biên
3. Lý thuyết và Bài tập lập trình Pascal – Quách Tuấn Ngọc.
4. Một số sáng kiến kinh nghiệm và ý kiến của đồng nghiệp .
10