Sáng kiến kinh nghiệm Giải pháp giúp học sinh thêm yêu thích lập trình Pascal

Đất nước ta đang bước vào giữa thời kỳ Công nghiệp hóa- hiện đại hóa. Sự xuất hiện rồi phát triển nhanh chóng và ngày càng phổ biến của công nghệp thông tin đã mở ra một trang mới trong quá trình xây dựng và phát triển đất nước ta. Để đáp ứng nhu cầu thực tiễn của ‘thế giới số này’ , nhiệm vụ quốc sách hàng đầu cho ngành giáo dục là giảng dạy cho học sinh THPT về môn Tin học. Trong đó, có phần quan trọng và tính ứng dụng cao là dạy cho học sinh biết lập trình các bài toán, ở đây dùng Pascal để thể hiện.

Qua nhiều năm kinh nghiệm giảng dạy, tôi thấy đây là một phần tương đối khó, lại khô khan nên ít thu hút được học sinh tìm hiểu, thực hành. Từ thực tiễn trong quá trình giảng dạy, tôi viết nên đề tài : ‘ Giải pháp giúp học sinh thêm yêu thích lập trình Pascal’ này để chia sẻ một số kinh nghiệm của mình trong giảng dạy phần lập trình trong chương trình Tin học lớp 11 dùng Pascal thể hiện. Nội dung chính của đề tài là đưa ra một số giải pháp giúp học sinh thêm hứng thú với phần thực hành lập trình nói riêng và môn Tin học nói chung. Trong đó, việc ứng dụng chương trình lập trình Pascal để giải quyết các bài toán thực tế, các bài tập Toán học, Vật lý, Hóa học, ..., lại rất thu hút học sinh tham gia. Phương pháp này còn hướng cho học sinh cách học liên môn, tích hợp các môn học, phù hợp với định hướng của Bộ giáo dục và đào tạo, nhằm góp phần thay đổi căn bản và toàn diện nền giáo dục quốc dân theo tinh thần Nghị quyết TW IX.

doc 11 trang Chăm Nguyễn 13/05/2025 250
Bạn đang xem tài liệu "Sáng kiến kinh nghiệm Giải pháp giúp học sinh thêm yêu thích lập trình Pascal", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

Tóm tắt nội dung tài liệu: Sáng kiến kinh nghiệm Giải pháp giúp học sinh thêm yêu thích lập trình Pascal

Sáng kiến kinh nghiệm Giải pháp giúp học sinh thêm yêu thích lập trình Pascal
MỤC LỤC
A. PHẦN I: ĐẶT VẤN ĐỀ
Lý do chọn đề tài ................................................................................. 3
Mục đích nghiên cứu ........................................................................... 4
Phạm vi đề tài .......................................................................................4
Đối tượng, kế hoạch và phạm vi nghiên cứu ........................................4
B. PHẦN II: NỘI DUNG
CHƯƠNG I : TỔNG QUAN .................................................................... 5
Cơ sở lý luận ....................................................................................... 5
Cơ sở thực tiễn .....,.............................................................................. 5
CHƯƠNG II : NỘI DUNG VẤN ĐỀ NGHIÊN CỨU ............................. 7
 I, Một số lỗi sai thường gặp của học sinh trong lập trình Pascal ........... 7
Khai báo sai miền chỉ số cho dữ liệu kiểu mảng.................................. 7
Giá trị biến điều khiển vượt quá miền chỉ số của mảng ...................... 7
Dùng cùng tên biến điều khiển cho các vòng lặp For lồng nhau ....... 8
Sử dụng dấu chấm phẩy sai vị trí ....................................................... 8
Không phân biệt được hằng xâu và biến ............................................. 8
Tràn số do kết quả tính toán vượt quá giới hạn ................................... 8
Sử dụng tên hàm làm biến cục bộ  9
Chưa hiểu thứ tự ưu tiên phép toán  10 
 II .Một số kinh nghiệm dạy lập trình Pascal:
Bài tập về viết thuật toán;
Bài tập về đọc hiểu chương trình:
Bài tập về sửa lỗi chương trình:
Bài tập về khai báo biến:
C. PHẦN III: PHẦN KẾT THÚC
DANH MỤC TÀI LIỆU THAM KHẢO ............................................... 26
PHẦN I: ĐẶT VẤN ĐỀ
Lý do chọn đề tài :
Đất nước ta đang bước vào giữa thời kỳ Công nghiệp hóa- hiện đại hóa. Sự xuất hiện rồi phát triển nhanh chóng và ngày càng phổ biến của công nghệp thông tin đã mở ra một trang mới trong quá trình xây dựng và phát triển đất nước ta. Để đáp ứng nhu cầu thực tiễn của ‘thế giới số này’ , nhiệm vụ quốc sách hàng đầu cho ngành giáo dục là giảng dạy cho học sinh THPT về môn Tin học. Trong đó, có phần quan trọng và tính ứng dụng cao là dạy cho học sinh biết lập trình các bài toán, ở đây dùng Pascal để thể hiện. 
 Qua nhiều năm kinh nghiệm giảng dạy, tôi thấy đây là một phần tương đối khó, lại khô khan nên ít thu hút được học sinh tìm hiểu, thực hành. Từ thực tiễn trong quá trình giảng dạy, tôi viết nên đề tài : ‘ Giải pháp giúp học sinh thêm yêu thích lập trình Pascal’ này để chia sẻ một số kinh nghiệm của mình trong giảng dạy phần lập trình trong chương trình Tin học lớp 11 dùng Pascal thể hiện. Nội dung chính của đề tài là đưa ra một số giải pháp giúp học sinh thêm hứng thú với phần thực hành lập trình nói riêng và môn Tin học nói chung. Trong đó, việc ứng dụng chương trình lập trình Pascal để giải quyết các bài toán thực tế, các bài tập Toán học, Vật lý, Hóa học, ..., lại rất thu hút học sinh tham gia. Phương pháp này còn hướng cho học sinh cách học liên môn, tích hợp các môn học, phù hợp với định hướng của Bộ giáo dục và đào tạo, nhằm góp phần thay đổi căn bản và toàn diện nền giáo dục quốc dân theo tinh thần Nghị quyết TW IX.
Mục đích nghiên cứu:
Một số học sinh cảm thấy lập trình rất khó vì chưa được làm quen với với lập trình từ cấp dưới, bên cạnh đó kiến thức về môn Toán học các em cũng còn yếu nên các em càng cảm thấy chán nản khi học thêm môn lập trình. Vì vậy với đề tài này tôi cố gắng đưa vào bài giảng của mình các bài toán rất gần gũi với các em để các em thấy hứng thú hơn với lập trình.
Tuy vậy, đối với đối tượng học sinh khá giỏi, đa phần các em rất hào hứng với việc học lập trình, cụ thể là ngôn ngữ lập trình Turbo Pascal. Do đó trong đề tài này tôi cũng trình bày thêm một số lưu ý cũng như kinh nghiệm dạy lập trình Pascal đề giúp học sinh có thể hiểu bài một cách nhanh chóng, nắm chắc kiến thức và kĩ năng lập trình Pascal và một số ví dụ mở rộng, nâng cao với đối tượng học sinh này.
Phạm vi đề tài:
Các bài toán lập trình trong chương trình lập trình Pascal rất phong phú, ở đề tài này tôi chỉ chọn lọc một số bài toán nhằm khơi dậy lòng say mê và yêu thích môn tin học chứ không đi sâu vào các bài toán khó. Cụ thể
- Giúp học sinh hứng thú với lập trình chương II và chương III sách giáo khoa Tin học lớp 11;
- Một số kinh nghiệm dạy lập trình nói chung và Turbo Pascal nói riêng.
Đối tượng, kế hoạch và phạm vi nghiên cứu:
Đối tượng nghiên cứu: học sinh các lớp 11B6, 11B7, 11B8, 11B9 trường THPT Sông Công, năm học 2016-2017
Kế hoạch nghiên cứu: trực tiếp qua các bài dạy.
Phạm vi nghiên cứu: toàn bộ chương trình tin học lớp 11- học kỳ 1.
B. PHẦN II: NỘI DUNG
CHƯƠNG I: TỔNG QUAN
Cơ sở lí luận:
Trong bối cảnh toàn ngành Giáo dục và Đào tạo đang nỗ lực đổi mới phương pháp dạy học theo hướng phát huy tính tích cực chủ động của học sinh trong hoạt động học tập. Điều 24.2 của Luật giáo dục đã nêu rõ : “Phương pháp giáo dục phổ thông phải phát huy tính tích cực, tự giác, chủ động, sáng tạo của học sinh, phù hợp với đặc điểm của từng lớp học, môn học; bồi dưỡng phương pháp tự học, rèn luyện kỹ năng vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh”. Như vậy, chúng ta có thể thấy định hướng đổi mới phương pháp dạy học đã được khẳng định, không còn là vấn đề tranh luận. Cốt lõi của việc đổi mới phương pháp dạy học ở trường phổ thông là giúp học sinh hướng tới việc học tập chủ động, chống lại thói quen học tập thụ động. Với một số nội dung trong đề tài này, học sinh có thể tự học, tự rèn luyện thông qua một số bài tập thực tế, bài tập Hóa học, Vật lý,...
Cơ sở thực tiễn:
Qua thực tế giảng dạy ở trường Sông Công các năm qua, tôi nhận thấy khi học đến chương trình tin học lớp 11 đa số học sinh đều ít hứng thú và nhận xét bộ môn này rất khó.
Các học sinh thường gặp khá nhiều lỗi khi viết một chương trình trong ngôn ngữ lập trình Pascal.
Tuy nhiên cũng có một số lượng không nhỏ học sinh rất yêu thích tin học và thích tìm hiểu một số bài toán, dạng toán ngoài phạm vi sách giáo khoa.
CHƯƠNG II
NỘI DUNG VẤN ĐỀ NGHIÊN CỨU
I, Giúp học sinh hiểu và hứng thú với chương II: Chương trình đơn giản.
	- Với bài tập và thực hành 1 thời lượng phân phối chương trình là 2 tiết, qua thực tế giảng dạy thì nội dung trong bài thực hành này là ít so với hầu hết các lớp vì vậy tôi đã mạnh dạn thực hiện hai tiết thực hành đó như sau: Yêu cầu học sinh làm thực hành trong sách giáo khoa xong có thể làm thêm một số bài tập thật đơn giản sau nhằm giúp học sinh hứng thú với lập trình dưới dạng phiếu học tập như sau:
PhiÕu häc tËp bµi thùc hµnh 1 - tin häc 11;
Bµi tËp 1: Em h·y viÕt ch­¬ng tr×nh gi¶i quyÕt bµi to¸n sau:
Cho ba sè a, b, c bÊt k× nhËp vµo tõ bµn phÝm. TÝnh vµ ®­a ra mµn h×nh gi¸ trÞ 
 T= a + b+c.
A, Yªu cÇu: Ch¹y ch­¬ng tr×nh víi c¸c bé test sau, ®iÒn kÕt qu¶ vµo phiÕu:
 a = 4; b=10; c=23 kÕt qu¶ T =..................................... 
 a = 2.3; b= 5.1; c= 2.8 kÕt qu¶ T =..................................... 
 a = 32768; b=8; c=58 kÕt qu¶ T =..................................... 
B, Em h·y ghi l¹i toµn bé ch­¬ng tr×nh vµo phiÕu:
Bµi tËp 2: Em h·y viÕt ch­¬ng tr×nh gi¶i quyÕt bµi to¸n sau:
 	NhËp vµo n¨m sinh cña mét b¹n häc sinh tõ bµn phÝm. TÝnh vµ ®­a ra mµn h×nh tuæi hiÖn t¹i cña b¹n häc sinh ®ã?
A, Yªu cÇu: Ch¹y ch­¬ng tr×nh víi c¸c bé test sau, ®iÒn kÕt qu¶ vµo phiÕu:
 N¨m sinh: 1995 kÕt qu¶ T =..................................... 
 N¨m sinh: 1998 kÕt qu¶ T =..................................... 
 N¨m sinh: 1999 kÕt qu¶ T =..................................... 
B, Em h·y ghi l¹i toµn bé ch­¬ng tr×nh vµo phiÕu:
* DÆn dß: 
 ViÕt b¸o c¸o thùc hµnh vµo vë;
2. Lµm c¸c bµi tËp trong sgk chuÈn bÞ cho giê bµi tËp;
-------------------------------------------
	 Với bài trên giáo viên nên cố gắng động viên các em lập trình vì đây là bài đầu tiên các em tự mình suy nghĩ để tìm ra cách giải quyết bài toán. Với bộ test trên nhằm giúp các em hiểu hơn về cách khai báo và lựa chọn kiểu dữ liệu sao cho phù hợp và tốn ít bộ nhớ nhất.
	Ngoài ra, giáo viên có thể cho thêm các em hệ thống các bài tập rất đơn giản để các em về nhà nghiên cứu như sau:
	Bài 1: Tính và đưa ra màn hình diện tích các hình đơn giản như hình tròn, hình vuông, hình chữ nhật.
	Bài 2: Tính và đưa ra màn hình giá trị . Với x nhập vào từ bàn phím.
- Trong tiết 9 bài tập giáo viên có thể giúp các em giải quyết một số bài toán để học sinh thấy được việc lập trình Pascal có rất nhiều ứng dụng lý thú như sau:
	+ Bài toán thực tế:
 Bµi 1: Mét chiÕc xe m¸y ®i tõ tr­êng THPT S«ng C«ng ra ®Õn ng· ba Phè Cß víi vËn tèc lµ V(Km/h) ®­îc nhËp vµo tõ bµn phÝm (trong ph¹m vi tõ 1 ®Õn 30). BiÕt qu·ng ®­êng tõ tr­êng THPT S«ng C«ng ra ®Õn ng· ba Phè Cß lµ 7 (Km). TÝnh vµ ®­a ra mµn h×nh thêi gian t (h) cña xe m¸y ®ã?.
Bµi 2: HiÒn gäi ®iÖn tho¹i trao ®æi bµi víi Mai. Cø mçi phót dïng ®iÖn tho¹i ph¶i tr¶ lµ 12 ®ång. Cuéc trao ®æi ®iÖn tho¹i kÐo dµi t phót. H·y lËp tr×nh tÝnh vµ ®­a ra mµn h×nh sè tiÒn mµ mÑ b¹n HiÒn cuèi th¸ng ph¶i thanh to¸n cho cuéc trao ®æi nµy. BiÕt t lµ sè nguyªn d­¬ng ®­îc nhËp vµo tõ bµn phÝm.
Program bai2;
Uses crt;
Const c=12;
Var t: byte;
	 Tt:longint;
Begin
Clrscr;
Writeln(‘ Moi nhap vao so phut goi);
Read(t);
Tt:=t*c;
Writeln(‘ So tien thanh toan:’,tt:8);
readln
 End.
 Bµi 3: ViÕt ch­¬ng tr×nh Pascal gi¶i quyÕt bµi to¸n sau:
Theo quy ®Þnh cña Nhµ tr­êng:
+ Häc sinh ®i häc muén bÞ trõ 3 ®iÓm thi ®ua cña líp, 
+ Sö dông ®iÖn tho¹i trong giê häc bÞ trõ 5 ®iÓm,
+ Mçi viÖc lµm tèt ®­îc céng 10 ®iÓm. 
Tæng sè ®iÓm thi ®ua mçi líp lµ 100 ®iÓm
Trong sæ theo dâi ghi nhËn trong th¸ng 10 líp 11B1 cã x tr­êng hîp ®i häc muén, y tr­êng hîp sö dông ®iÖn tho¹i trong giê häc vµ z viÖc tèt (x, y, z lµ sè nguyªn nhËp vµo tõ bµn phÝm). TÝnh vµ ®­a ra mµn h×nh sè ®iÓm thi ®ua mµ líp ®¹t ®­îc trong th¸ng?
Program bai3;
Uses crt;
Const td=100;
Var x,y,z: byte;
	 Tt:byte;
Begin
Clrscr;
Writeln(‘ Moi nhap vao x,y,z:’);
Read(x,y,z);
Tt:= 100- (x*3+ 5*y)+z*10;
Writeln(‘ Tong diem thi dua cua lop la’,tt);
readln
 End.
Bµi 4: ViÕt ch­¬ng tr×nh Pascal gi¶i quyÕt bµi to¸n sau:
 Trong mét th¸ng nhµ b¹n HiÒn dïng:
+ t sè ®iÖn (gi¸ 206®/1 sè)
+ v sè n­íc (gi¸ 151®/1 sè);
+ u megabyte d÷ liÖu m¹ng (gi¸ 11®/ 1 Megabyte). 
( t,v,u lµ sè nguyªn d­¬ng ®­îc nhËp vµo tõ bµn phÝm).
 Em h·y tÝnh vµ ®­a ra mµn h×nh sè tiÒn mµ mÑ b¹n HiÒn ph¶i tr¶ cuèi th¸ng cho tÊt c¶ c¸c dÞch vô trªn?
 - Bài toán vật lý:
 Bài 1: Cho phương trình chuyển chuyển động thẳng biến đổi đều của một vật: 
	V= V0 + at;
	S= V0 + at2;
Biết V0, a, t nhập vào từ bàn phím, viết chương trình tính và đưa ra màn hình V và S.
Bài 2: Lập trình tính và đưa ra màn hình vận tốc v khi chạm đất của một vật rơi tự do từ độ cao h, biết rằng v=, trong đó g = 9,8 m/s2 là gia tốc rơi tự do. Độ cao h(m) được nhập vào từ bàn phím.
Uses crt;
Const g=8.9;
Var h,v: real;
Begin
Clrscr;
Writeln(‘ Moi nhap vao do cao h:’);
Read(h);
v:= sqrt(2*g*h);
Writeln(‘Van toc:’,v:8:4);
readln
 End.
- Bài toán hóa học:
Bài 1: Cho phương trình trạng thái của chất khí ở đk không tiêu chuẩn như sau:
PV=nRt; trong đó R= 0.082; P là áp suất, V thể tích; T là nhiệt độ K được nhập vào từ bàn phím. Lập trình tính và đưa ra màn hình số mol (n) chất khí đã cho?
Uses crt;
Const R=0.082;
Var P,V,T,n,tt:real;
Begin
Clrscr;
Writeln(‘ Moi nhap vao P,V,T:’);
Read(P,V,T);
Tt:= T+273;
n:= (p*v)/R*tt;
Writeln(‘ So mol thu duoc la’,n:6:2);
readln
 End.
Bài 2: Cho thể tích của chất khí là V (lít ở ĐKTC) được nhập vào từ bàn phím. Lập trình tính và đưa ra màn hình số mol (n) chất khí đã cho ?
II, Giúp học sinh hiểu và hứng thú với chương II: Cấu trúc rẽ nhánh và lặp
Bµi tËp 1: T×m sè ngµy cña mét n¨m N, biÕt r»ng n¨m nhuËn lµ n¨m chia hÕt cho 400 hoÆc chia hÕt cho 4 nh­ng kh«ng chia hÕt cho 100. VÝ dô, c¸c n¨m 2000, 2004 lµ n¨m nhuËn, c¸c n¨m 1900, 1945 kh«ng ph¶i lµ n¨m nhuËn vµ cã sè ngµy lµ 365.
Uses crt;
Var N, NS: integer;
Begin
Clrscr;
Writeln(‘ Moi nhap vao nam’);
Read(N);
If (n mod 400 =0) or (N mod 4=0) and 
 (N mod 100 0)) then SN:= 366 else SN:= 365;
Writeln(‘ So ngay trong nam’,N,’la’, SN);
readln
 End.
Bài tập 2: Kết quả bầu cán sự học tập môn Tin học cho biết bạn An được p phiếu, bạn Vinh được q phiếu và bạn Quang được r phiếu. Ai cao phiếu nhất sẽ làm cán sự. Nếu có hai bạn có cùng phiếu hoăc cả ba bạn có cùng phiếu thì bầu lại. Viết đoạn chương trình xác định tên bạn được làm cán sự hay thông báo : “BAU LAI”.
Bài tập 3: Các ô bàn cờ vua được biểu diễn là một cặp số tự nhiên (i,j) với 1<=i,j <= 8. Cho trước hai giá trị của hai vị trí trên bàn cờ là A(i1, j1) và B(i2, j2).
A, Hãy kiểm tra xem hai ô trên có cùng màu hay không?
B, Hãy kiểm tra hai quân đặt tại vị trí trên có thể ăn lẫn nhau được hay không?
 B. PHẦN II: PHẦN KẾT THÚC
Trong nội dung của đề tài này, với mong muốn giúp cho việc dạy và học ngôn ngữ lập trình nói chung và Pascal nói riêng của giáo viên và học sinh được tốt hơn.
Trên đây là toàn bộ kinh nghiệm của tôi qua nhiều năm liền dạy ở khối lớp 11 cũng như tham khảo qua nhiều nguồn thông tin, tư liệu khác nhau, rất mong được sự đóng góp của các đồng nghiệp nhằm giúp đề tài của tôi được hoàn thiện thêm.
DANH MỤC TÀI LIỆU THAM KHẢO
Hồ Sĩ Đàm (chủ biên)- Sách giáo khoa, sách giáo viên tin học lớp 11
GS-TS Hoàng Kiếm -“Giải một bài toán trên máy tính như thế nào”
Quách Tuấn Ngọc - Ngôn ngữ lập trình Pascal

File đính kèm:

  • docsang_kien_kinh_nghiem_giai_phap_giup_hoc_sinh_them_yeu_thich.doc