Tải bản đầy đủ (.doc) (25 trang)

Sáng kiến kinh nghiệm tin học THPT 2019_TIN HỌC LỚP 10 TÍCH HỢP PASCAL ĐỂ TÌM KIẾM HỌC SINH GIỎI

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1000.37 KB, 25 trang )

-

Tổ: Tin Học

SỞ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG THPT

SÁNG KIẾN KINH NGHIỆM
Tên đề tài:
TIN HỌC LỚP 10 TÍCH HỢP PASCAL
ĐỂ TÌM KIẾM HỌC SINH GIỎI
Mơn: Tin Học

……….., năm 2019


-

Tổ: Tin Học

MỤC LỤC
PHẦN I. MỞ ĐẦU ………………………………..………………1
I. Lý do chọn đề tài ..........................................................................1
II. Mục đích nghiên cứu....................................................................2
III. Đối tượng và phạm vi nghiên cứu ..............................................2
IV. Nhiệm vụ nghiên cứu
.........................................................2
V. Phương pháp nghiên cứu .............................................................2
PHẦN II. NỘI DUNG .................................................................... 3
I. CƠ SỞ LÝ LUẬN CỦA ĐỀ TÀI


……………………..…………… 3

II. Thực trạng của vấn đề nghiên cứu ……………..…………..….. 4

III. Nội dung và hình thức của giải pháp................................................9
Bài thực hành số 1.....................................................................................9
Bài thực hành số 2 ..................................................................................11
Bài thực hành số 3 .....................................................................14
Bài thực hành số 4 .....................................................................15
Bài thực hành số 5 .....................................................................16
IV. Kết quả đạt được.....................................................................17
Phần III. KẾT LUẬN VÀ KIẾN NGHỊ.....................................................18
I. Kết luận.....................................................................................................18
II. Kiến nghị và đề xuất ................................................................................18
TÀI LIỆU THAM KHẢO ............................................................................19
Phần Phụ lục –Một số bài thực hành thêm ................................................... 20


-

Tổ: Tin Học

Phần I. MỞ ĐẦU
I. Lý do chọn đề tài
Hiện nay, Tin học đã được ứng dụng trong hầu hết các lĩnh vực của đời
sống xã hội đem lại hiệu quả to lớn, trước yêu cầu của xã hội, mơn Tin học đã
trở thành mơn học chính khóa trong hệ thống các môn học ở bậc Trung học phổ
thông . Tin học là môn học bắt buộc trong trường THPT, được dạy cho cả 3 lớp
10 (2 tiết/tuần), 11 và 12 (1, 5 tiết/tuần). Một số kiến thức và kĩ năng ban đầu
của Tin học đã được đưa vào chương trình Tiểu học và Trung Học Cơ Sở

(THCS), nhưng chỉ dưới hình thức tự chọn. Do vậy mơn Tin học của THPT
được xây dựng trên giả thiết là môn học mới, học sinh bắt đầu học từ đầu.
Cùng với công tác bồi dưỡng học sinh thi Đại học – Cao đẳng thì cơng tác
bời dưỡng học sinh giỏi là một công tác mũi nhọn của nhà trường. Thông qua
kết quả học sinh giỏi phần nào khẳng định được vị thế của trường so với các
trường bạn trong huyện nói riêng và trong tỉnh nói chung.
Tuy nhiên chất lượng học sinh giỏi môn Tin học của trường từ năm học
2007 – 2018 trở về trước cịn thấp, chưa có học sinh nào đạt được giải học sinh
giỏi môn Tin học cấp tỉnh, mặc dù một số năm vẫn có học sinh tham gia thi.
Chất lượng học sinh giỏi môn Tin học cịn thấp như vậy, phần vì năng lực học
sinh (do chất lượng đầu vào của học sinh thấp) phần vì phương pháp giảng dạy
của giáo viên chưa phù hợp. Do đó việc nâng cao chất lượng học sinh giỏi mơn
Tin học là cần thiết và cấp bách nhằm góp thêm vào thành tích chung của nhà
trường.
Qua những vấn đề vừa nêu trên, tôi nhận thấy rằng để phục vụ tốt cho công
tác dạy học, nâng cao nghiệp vụ sư phạm của bản thân và truyền đạt kiến thức
cho người học một cách có hiệu quả nhất thì việc Tin Học lớp 10 tích hợp thêm
phần Pascal là thật sự là cần thiết. Vì vậy, là một giáo viên tin học và mong
muốn góp phần vào việc nâng cao chất lượng dạy học môn Tin học ở nhà trường
phổ thông và tìm kiếm, bời dưỡng những học sinh giỏi mơn tin học, tơi đã chọn
đề tài:
“TIN

HỌC LỚP 10 TÍCH HỢP PASCAL ĐỂ
TÌM KIẾM HỌC SINH GIỎI”

Để chia sẽ một số kinh nghiệm củng như thành công bước đầu trong việc
dạy môn tin học và phát hiện học sinh giỏi môn tin học.
II. Mục tiêu, nhiệm vụ của đề tài:
* Mục tiêu:

- Phân tích sự cần thiết, vai trị của việc tích hợp Pascal vào tin học lớp 10.
Giáo viên : Nguyễn Quang Ánh
Trang 1


-

Tổ: Tin Học

- Các phương pháp dạy học được áp dụng trong dạy thực hành môn tin học lớp
10.
* Nhiệm vụ:
- Nghiên cứu những cơ sở về lý luận về thuật tốn: Q trình, ngun tắc,
phương pháp dạy học.
- Nghiên cứu và phân tích một số chương trình Pascal dùng để giải một số thuật
toán được học trong SGK tin học lớp 10.
III. Đối tượng nghiên cứu
Đối tượng nghiên cứu là các bài thuật tốn và chương trình pascal giải
các bài toán trong phần tin học lớp 10.
IV. Giới hạn của đề tài:
Nâng cao chất lượng dạy học trong nhà trường phổ thơng hiện nay đang là
vấn đề nóng bỏng của ngành giáo dục. Điều này đòi hỏi người giáo viên cần tìm
ra phương pháp dạy học thật hiệu quả. Do hạn chế về mặt thời gian nên chỉ giới
hạn một số bài thuật toán trong Tin Học 10 và xung quanh một số mơn liên quan
trong chương trình THPT.
V. Phương pháp nghiên cứu
- Dựa trên mục tiêu, yêu cầu của cấp học, môn học và lớp học.
- Thông qua việc giảng dạy bộ môn tin học 10 trong nhưng năm học đã qua tại
trường THPT Trường Chinh, phương pháp thực nghiệm sư phạm, khảo sát, điều
tra, phân tích tổng hợp và đánh giá kết quả.

- Vấn đáp tìm hiểu các giáo viên bộ môn khác, giáo viên chủ nhiệm, phụ huynh
học sinh.
- Kết hợp với tình hình thực tế và đối tượng học sinh, từ đó đưa ra những hình
thức, nội dung kiểm tra đánh giá thích hợp.

Giáo viên : Nguyễn Quang Ánh
Trang 2


-

Tổ: Tin Học

Phần II. PHẦN NỘI DUNG
I. CƠ SỞ LÝ LUẬN CỦA ĐỀ TÀI:
Đặc trưng của môn Tin học là khoa học gắn liền với công nghệ, do vậy dạy
học Tin học một mặt trang bị cho học sinh kiến thức khoa học về Tin học, phát
triển tư duy thuật toán, rèn luyện kỹ năng giải quyết vấn đề, mặt khác phải chú
trọng đến rèn luyện kỹ năng thực hành, ứng dụng, tạo mọi điều kiện để học sinh
được thực hành, nắm bắt và tiếp cận với những công nghệ mới của Tin học phục
vụ học tập và đời sống.
Mặc dù môn tin học rất mới lạ và dễ thu hút học sinh nhưng để có thể đạt
đến tầm học sinh giỏi thì học sinh phải hội tụ đủ nhiều năng lực như khả năng tư
duy, kiến thức toán học vững vàng, khả năng nhanh nhạy trong mọi tình huống
khi làm việc với máy tính. Vì những lí do đó nên đa số học sinh mới đầu làm
quen với tin học thì rất thích thú vì cảm thấy sự dụng máy tính để soạn Word
hoặc chơi game rất dễ. Nhưng khi đụng đến thuật tốn và Lập trình thì bắt đầu
thấy khó khăn và tỏ ra nản.
Để đào tạo được một học sinh giỏi thì khơng riêng gì tin học mà tất cả các
môn khoa học khác đều phải từ một q trình học tập nghiêm túc và có lộ trình

đầu tư cơng sức. Nhưng chương trình tin học ở THPT vẫn cịn bất cập thi học
sinh giỏi mơn tin học là thi lập trình trên Pascal và C++. Mà muốn lập trình
được phải nắm được ngơn ngữ và thuật toán. Trong SGK Tin học 10 viết theo
tinh thần cung cấp kiến thức cơ bản về tin học và máy tính, phần Microsoft
Word coi trọng kỹ năng thực hành soạn thảo văn bản. Trong đó có tích hợp bài
số 4 Bài tốn và thuật tốn khơng có ứng dụng vào lập trình mãi đến năm lớp 11
mới học lập trình thì chắc chắn học sinh sẽ qn thuật tốn và giáo viên muốn
phát hiện và bồi dưỡng học sinh củng đã muộn. Chưa nói đến việc học sinh sẽ
ưu tiên chọn những môn học khác quan trọng hơn với việc thi ĐH và CĐ.
Vì những lí do trên nên trong q trình dạy học mơn tin học ở trường THPT
Trường Chinh tôi mạnh dạn lựa chọn đề tài “TIN HỌC LỚP 10 TÍCH HỢP
Giáo viên : Nguyễn Quang Ánh
Trang 3


-

Tổ: Tin Học

PASCAL ĐỂ TÌM KIẾM HỌC SINH GIỎI” để nghiên cứu và cùng nhau chia sẽ
một số kinh nghiệm trong q trình bời dưỡng học sinh giỏi mơn tin học.

II. Thực trạng của vấn đề nghiên cứu:
- Trên thực tế qua những năm giảng dạy bộ môn Tin học, thông qua học
sinh, phụ huynh và qua trao đổi với các đồng nghiệp tôi nhận thấy: Hầu như học
sinh đều u thích và hứng thú với mơn tin học. Tuy nhiên chất lượng bộ môn
qua các năm học chưa cao, đặc biệt là kỹ năng lập trình trên máy tính cịn hạn
chế, một số học sinh cịn chưa có thái độ tích cực trong giờ thực hành để rèn kỹ
năng.
- Học sinh giỏi thường chọn những mơn có ảnh hưởng đến thi tốt nghiệp

hoặc thi ĐH và CĐ để thi học sinh giỏi. Ít có học sinh nào giỏi thật sự mà chọn
thi học sinh giỏi tin học để thi vì vừa khó vừa khơng giúp ích gì nhiều cho việc
thi cử sau này.
Năm học 2018-2019 tôi được giao dạy môn tin học các lớp 10A1, 10A4,
10A5, 11A4, 12A8. Học sinh đầu vào đa số là học lực yếu, học sinh đồng bào
dân tộc chiếm gần 50% sĩ số lớp. Vì vậy việc giúp các em tiếp cận với tin học đã
khó chứ đừng nói đến giải thuật và lập trình Pascal.
* Những thuận lợi và khó khăn khi giảng dạy thực hành:
- Có sự quan tâm, chú trọng tới việc đổi mới phương pháp dạy học và thực
hành thí nghiệm của Chi Ủy, BGH nhà trường trong những năm qua.
- Giáo viên nhiệt tình, có trình độ tay nghề vững vàng, được qua các lớp
bồi dưỡng chuyên môn hàng năm.
- Phần lớn các em học sinh có ý thức học tập tốt, ln tìm tịi học hỏi
những kiến thức mới và hứng thú với môn học.
- Được nhà trường quan tâm tạo điều kiện thuận lợi về trang thiết bị dạy
học.
Giáo viên : Nguyễn Quang Ánh
Trang 4


-

Tổ: Tin Học

Bên cạnh đó cịn khơng ít những khó khăn :
- Sĩ số học sinh trong một lớp còn khá đơng trên 45 hs/lớp, phịng máy lại ít
máy, máy cũ hay hư hỏng vì thế số học sinh trên 1 máy vào khoảng từ 2 em trở
lên, buộc các em phải thay nhau thực hành. Thiết bị chiếu sáng bị hư hao sau
thời gian sử dụng, khơng khí trong phịng máy khơng thơng thống làm cho học
sinh khơng chú tâm vào bài giảng... Ảnh hưởng rất lớn đến chất lượng của bài

học.
- Về thái độ học tập, do các em là học mới vào lớp 10 phần thuật toán và
Pascal chưa được học ở các lớp dưới nên rất nhiều em có tư tưởng chủ quan,
thậm chí cịn có tư tuởng rất ngại khi sử dụng máy tính để thực hành rèn luyện
kỹ năng.
- Phần bài toán và thuật tốn trong chương trình tin học lớp 10 cịn ít và chưa
phù hợp so với học sinh bây giờ nên cần phải có thêm những bài tập và thực
hành mới bổ sung làm cho các em hứng thú hơn.

Việc thiết kế tốt một bài dạy và phù hợp với từng đối tượng học sinh xem
như đã có bước đầu thành cơng nhưng đó mới chỉ là buớc khởi đầu cho một tiết
dạy cịn khâu quyết định thành cơng chính là ở khâu tổ chức điều kiển các đối
tượng học sinh trên lớp.
Giáo viên : Nguyễn Quang Ánh
Trang 5


-

Tổ: Tin Học

Trong chương trình cho phép thì sau tiết 2 của bài 4 tơi tích hợp vào một
bài pascal để giải quyết bài toán và giúp học sinh hiểu được việc học và dùng sơ
đờ thuật tốn để biểu diễn thuật tốn dùng để làm gì? Và kết quả thu được sau
khi giải quyết bài tốn trên máy tính là gì. Ở bài số 4 tơi thêm một bài toán đơn
giản vào đủ làm phong phú thêm bài giảng.
* Ví dụ: Bài tốn tính tổng hai số a và b.
- Phân tích về thuật tốn:
+ Input: a và b


Nhập a và b

Output: tong của a và b.
+ Mô tả thuật toán:
Liệt kê các bước
B1: Nhập a và b.
B2: Tong <- a+b
B3: Xuất Tong.
B4: Kết thúc.

Tong <- a + b

Xuất Tong

Kết thúc

- Giải bài tốn trên máy tính:
+ Lập trình trên Pascal

Kết quả

Vì học sinh chưa học Pascal nên giáo viên cần giải thích rõ cách câu lệnh
ở trong chương trình. Cho chạy trên máy tính và cho học sinh xem kết quả. Sau
Giáo viên : Nguyễn Quang Ánh
Trang 6


-

Tổ: Tin Học


đó giáo viên tích hợp cung cấp những kiến thức chính về ngơn ngữ lập trình
pascal. Trích xuất những kiến cái gì cơ bản nhất và ngắn ngọn nhất có thể để học
sinh nắm được ngơn ngữ Pascal và có thể viết được chương trình trên Pascal.
Tùy theo điều kiện thời gian của từng giáo viên, tơi thì cung cấp những
kiến thức cơ bản sau:
PHẦN PASCAL
1. Giới thiệu: Pascal là một ngơn ngữ lập trình cấp cao do giáo sư Niklaus Writh sáng
lập.
Tải về: />2. Chương trình đơn giản:
<Phần khai báo>
<Phần thân chương trình>
* Phần khai báo: Khai báo tên chương trình(Program), thư viên(Uses), hằng(Const),
biến(Var < Ds biến> : <Kiểu dữ liệu>;).
* Phần thân chương trình: Từ Begin đến End. Ở giữa là các câu lệnh.
3. Một số kiểu dữ liệu:
- Số nguyên: Byte, Word, Integer, Longint…
- Số thực: Real, Single, Double, Extended, …
- Kí tự: Char, String, …
- Kiểu mảng: TYPE <tên kiêu mảng>=ARRAY[chỉ số] OF <kiểu phàn tử>;
VAR <tên biến mảng>:<tên kiểu mảng>;
Hoặc VAR <tên biến mảng>:ARRAY[chỉ số] OF <kiểu phần tử>;
- Kiểu tệp: Var <Ds biến> : Text;
+ Mở tệp để đọc: Assign(bientep, tentep);
Reset(bientep);
+ Mở tệp để ghi: Assign(bientep, tentep);
Rewrite(bientep);
4. Nhập xuất dữ liệu:
* Nhập: Read(<Ds biến> ); Readln(<Ds biến> );
* Xuất: Write(<Ds biến> ); Writeln(<Ds biến> );

5. Chương trình con: Chương trình con là một dãy lệnh mô tả một số thao tác nhất định
và có thể được thực hiện ( được gọi ) từ nhiều vị trí trong chương trình. Có hai loại
chương trình con và được khai báo trước chương trình chính.
- Hàm: Function
FUNCTION <tên hàm>(Danh sách ác tham số):<Kiểu dữ liệu>;
[Khai báo Const, Type, Var]
BEGIN
<các lệnh trong thân hàm>;
<tên hàm>:=<Giá trị>;
END;
- Thủ tục: Procedure
PROCEDURE <tên thủ tục>(Danh sách các tham số);{không có giá trị trả về}
[Khai báo Const, Type, Var]
BEGIN
Giáo
câu viên
lệnh>;: Nguyễn Quang Ánh
END;
Trang 7


-

Tổ: Tin Học

Thời gian có hạn nên chỉ cung cấp ngắn ngọn và cơ bản nhất có thể từ đó
cho học sinh hình dung được lập trình Pascal là làm những việc gì. Cịn những
câu lệnh phức tạp thì trong quá trình làm bài tập và thực hành chúng ta có thể
cung cấp và giải thích cặn kẻ hơn.

Trong các buổi thực hành chúng ta chia học sinh theo nhóm và để việc thực
hành theo nhóm có hiệu quả buộc giáo viên phải lựa chọn nội dung đưa vào thực
hành phù hợp với nhiều đối tượng học sinh. Chia nhóm 2 đến 3 học sinh một
máy. Các học sinh có thể tự cử nhóm trưởng của nhóm mình.
Các bước tiến hành:
- Giáo viên nêu vấn đề, yêu cầu nội dung thực hành.
- Giáo viên hướng dẫn cho học sinh các kỹ năng thao tác trong bài thực hành,
thao tác mẫu cho học sinh quan sát.
- Tổ chức hướng dẫn các nhóm thực hành, gợi mở, khuyến kích học sinh tích
cực hoạt động.
- Giáo viên quản lý, giám sát học sinh thực hành theo nhóm:
+ Trong q trình học sinh thực hành, giáo viên quan sát, theo dõi và bổ
trợ khi cần.
+ Chỉ rõ những kỹ năng, thao tác nào được dành cho hoc sinh yếu trong
nhóm, những kỹ năng, thao tác nào dành cho học sinh khá và giỏi.
+ Phát hiện những nhóm thực hành khơng có hiệu quả để uốn nắn điều
chỉnh.
+ Ln có ý thức giáo viên chỉ trợ giúp, tránh việc đi sâu can thiệp làm
hạn chế khả năng độc lập sáng tạo của học sinh.

Giáo viên : Nguyễn Quang Ánh
Trang 8


-

Tổ: Tin Học

+ Trong quá trình thực hành, giáo viên có thể đưa ra nhiều cách để thực
hiện thao tác giúp các em rèn luyện và nâng cao kỹ năng.

- Giáo viên có thể kiểm tra hiệu quả bằng cách chỉ định một học sinh bất kỳ
trong nhóm thực hiện các yêu cầu đặt ra của nội dung thực hành. Nếu học sinh
được chỉ định khơng hồn thành nhiệm vụ thì gắn cho cả nhóm và đặc biệt là
nhóm trưởng. Hoặc cho nhóm trưởng kiểm tra kết quả thực hành lẫn nhau giữa
các thành viên trong nhóm và các nhóm kiểm tra nhau theo vòng tròn. Làm như
vậy các em sẽ có ý thức hơn trong thực hành.
- Nhận xét, đánh giá kết quả học tập:
+ Tổ chức cho các nhóm tự nhận xét kết quả thực hành, nhóm trưởng điều hành
– nhận xét về kỹ năng, thái độ học tập của các bạn trong nhóm.
+ Tổ chức cho các nhóm trưởng nhận xét kết quả thực hành của các nhóm khác.
+ Giáo viên tổng kết, nhận xét, bổ xung kiến thức.
Giáo viên cũng có nhận xét ngắn gọn về tình hình làm việc của các nhóm để kịp
thời động viên, khuyến kích các nhóm thực hành tốt và rút kinh nghiệm đối với
các nhóm kết quả chưa cao.

III. Nội dung và hình thức của giải pháp:
1. Bài thực hành số 1: Tính tổng của hai số a và b và xuất ra kết quả.
- Đầu tiên cho học sinh thực hành nhập dữ liệu từ bàn phím.
Program Tinh_tong;
Var a, b, Tong: Integer;
Begin
Write('Nhap a, b = '); Readln(a,b);
Tong:=a+b;
Writeln('Tong ',a,' + ',b,' = ',Tong);
Readln;
End.
Giáo viên : Nguyễn Quang Ánh
Trang 9



-

Tổ: Tin Học

Giáo viên đứng quan sát và hướng dẫn những thao tác khó
cho các trưởng nhóm.
- Mở rộng cho học sinh nhập dữ liệu từ tệp để làm quen với những bài tốn khó
dùng để thi học sinh giỏi môn tin học.
Program Tinh_tong;
Var a, b, Tong: Integer;

Program Tinh_tong_tep;
Var a, b, Tong: Integer;
fi, fo: Text; {Hai bien tep}

Begin
Write('Nhap a, b = '); Readln(a,b);
Tong:=a+b;
Writeln('Tong ',a,' + ',b,' = ',Tong);
Readln;
End.

Begin
Assign(fi,'Tong.Inp');
Reset(fi);
Readln(fi, a,b);
Tong:=a+b;
Assign(fo,'Tong.Out');
Rewrite(fo);
Writeln(fo,Tong);

Close(fi);
Close(fo);
End.

Tệp dữ liệu vào:
35

Tong.Inp

Tệp dữ liệu ra: Tong.Out
8

Giáo viên giải thích các câu lệnh trong chương trình thật kỹ
càng, củng như vì sao lại phải dùng đường dẫn tương đối thay vì
đường dẫn tuyệt đối khi dùng Pascal for Win và Pascal for Dos.
Assign(fi,'Tong.Inp');
{Gán tên tệp cho biến tệp}
Reset(fi);
{Mở tệp để đọc}
Readln(fi, a,b);
{Đọc dữ liệu từ tệp vào hai biến a và b}
Tong:=a+b;
Assign(fo,'Tong.Out');
Rewrite(fo);
{Mở tệp để ghi dữ liệu}
Writeln(fo,Tong);
{Ghi dữ liệu biến Tong vào tệp}
Close(fi);
Giáo viên : Nguyễn Quang Ánh
Trang 10



-

Tổ: Tin Học

Close(fo);

{Đóng tệp lại}

Bài thực hành số 2:
Trong bài thực hành này sử dụng nội dung kiến thức của bài số 4
đó là thuật tốn kiểm tra tính đúng đắn của một số nguyên dương.

Bài thực hành số 2: Dùng ngơn ngữ lập trình Pascal để giải bài tốn kiểm tra tính
nguyên tố của một số nguyên dương.
Input: N, là số tự nhiên bất kỳ.
Output: Trả lời “N la so nguyen to”
- Ý tưởng: + Nếu n là 1 thì N khơng ngun tố.
+ Nếu n > 1 và n<4 thì n là số nguyên tố
+ Xét tất cả các số 2 đến [√n], nếu n chia hết cho x thì n khơng là số
ngun tố
+ Khi xét hết mà khơng chia hết thì xuất ra n là số ngun tố.
- Mơ tả thuật tốn:
B1: Nhập số ngun dương N.
B2: Nếu N = 1 thì thơng báo N khơng là số nguyên tố rồi kết thúc.
B3: Nếu N < 4 thì thơng báo N là số ngun tố rời kết thúc.
B4: i  2
B5: Nếu N>[ N ] thì thông báo N là số nguyên tố rồi kết thúc.
B6: Nếu N chia hết chi i thì thơng báo N là số không nguyên tố rồi kết thúc.

B7: i  i + 1 rồi quay lại bước 5.

Sơ đồ thuật toán:

Giáo viên : Nguyễn Quang Ánh
Trang 11


-

Tổ: Tin Học

- Lập trình chương trình với việc nhập xuất dữ liệu từ bàn phím và chỉ kiểm tra
một số N được đưa vào. Giáo viên hướng dẫn học sinh lập trình như sau:
Program kiem_tra_nguyen_to;
Uses crt;
var n,i:integer;
Kt:boolean;
Begin
clrscr;
Kt:=true;
write('Nhap vao so can kiem tra tinh nguyen to N = '); readln(n);
if n<=1 then Kt:=false;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then Kt:=false;
if Kt=true then write('So ',n,' vua nhap nguyen to.')
else write('So ',n,' vua nhap khong nguyen to.');
Readln;
End.


- Mở rộng bài toán: Nhập dữ liệu từ tệp và kiểm tra một lần nhiều số cùng lúc.
Kết quả xuất vào tệp có bao nhiêu số nguyên tố.
So_ngto.Inp
So_ngto.Out

+ Chương trình nhập dữ liệu từ bàn phím.
Program So_ngto;
uses crt;
Giáo viên : Nguyễn Quang Ánh
Trang 12


-

Tổ: Tin Học

var n,i,tong:integer;
snt:boolean;
A:array[1..100] of integer;
function ktnt(a:integer):boolean;
var i:integer;
kt:boolean;
begin
kt:=true;
if a<=1 then kt:=false;
for i:=2 to trunc(sqrt(a)) do
if (a mod i = 0) then kt:=false;
ktnt:=kt;
end;


+ Chương trình nhập dữ liệu từ
tệp So_ngto.Inp:
Program So_ngto_tep;
var n,i,tong:integer;
snt:boolean;
A:array[1..100] of integer;
fi, fo: Text;
function ktnt(a:integer):boolean;
var i:integer;
kt:boolean;
begin
kt:=true;
if a<=1 then kt:=false;
for i:=2 to trunc(sqrt(a)) do
if (a mod i = 0) then kt:=false;
ktnt:=kt;
end;

Begin
clrscr;
Write('Nhap so phan tu N='); Readln(n);
for i:= 1 to n do
Begin
begin
Assign(fi,'So_ngto.Inp');
Reset(fi); Readln(fi,n);
write('a[ ',i,']= ');
for i:= 1 to n do Read(fi,A[i]);
Readln(A[i]);
tong:=0;

for i:=1 to n do if ktnt(A[i]) then
end;
inc(tong);
tong:=0;
Assign(fo,'So_ngto.Out');
Rewrite(fo);
for i:=1 to n do if ktnt(A[i]) then inc(tong);
writeln(fo,tong);
writeln(' Co ',tong,' so nguyen to trong mang' );
for i:=1 to n do
if ktnt(A[i]) then write(fo,A[i],' ');
write(' Cac so do la: ');
Close(fi);
for i:=1 to n do if ktnt(A[i]) then write(A[i],' ');
Close(fo);
End.
readln;
End.
Sau hai bài thực hành này thì học sinh cơ bản nắm được cơ bản về ngơn
ngữ lập trình và thuật tốn. Lúc này ta có thể cho làm một bài kiểm tra kết hợp
giữa thuật tốn và viết chương trình trên giấy để kiểm tra độ nhạy bén tu duy
của học sinh và có thể đưa ra những nhận xét về các em. Từ đó có thể chọn được
Giáo viên : Nguyễn Quang Ánh
Trang 13


-

Tổ: Tin Học


những học sinh để tiếp tục bồi dưỡng cho những bài thực hành ở phần Word ở
phía sau. Đến đây thì chúng ta phải quay lại bài số 4 tiếp tục dạy các thuật tốn
tìm max, sắp xếp, tìm kiếm… Và tiếp tục chương trình với các bài từ bài 5 đến
15, khi đến phần thực hành cho phần Microsoft Word chúng ta lại tích hợp
Pascal một số bài toán đã học về thuật toán ở bài số 4.

Bài thực số 3(Bài thực hành 6 theo SGK):
Trong bài thực hành này sử dụng nội dung thuật tốn tìm max.
Bài tốn: Cho N và dãy số a1,a2…,aN, hãy tìm giá trị nhỏ nhất (Min) của dãy số
đó.
* 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ị nhỏ nhất Min của dãy số.
* Ý tưởng:
- Khởi tạo giá trị Min = 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ị Min, nếu ai < Min
thì Min nhận giá trị mới là ai.
* 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:
Program Tim_max_CTC;
Bước 1. Nhập N và dãy a1,..., aN;
Var a: Array[1..100] of Integer;
Bước 2. Min  a1, i  2;
fi, fo:text; i, N: Integer;
Procedure nhap; {Ct con doc tep}
Bước 3. Nếu i > N thì đưa ra giá trị Min
Begin
rời kết thúc;
Assign(fi, 'Min.INP'); Reset(fi);
Bước 4.

Readln(fi,N);
Bước 4.1. Nếu ai < Min thì Min  ai;
For i:=1 to N do Read(fi, a[i]);
Bước 4.2. i  i + 1 rồi quay lại bước 3;
Close(fi);

Giáo viên : Nguyễn Quang Ánh
Trang 14

End;
Procedure Tim_Min; {Ct con tim Min}
Var min, cs_min:Integer;
Begin
min:=a[1];
cs_min:=1;
For i:=1 to n do
if (a[i]Begin
min:=a[i];
cs_min:=i;
End;
Assign(fo, 'Min.OUT'); Rewrite(fo);
Write(fo,min,' ',cs_min); Close(fo);
End;
Begin {Chuong trinh chinh}
Nhap;
Tim_Min;
Readln;
End.



-

Tổ: Tin Học

Giáo viên cho học sinh gõ word lưu lại xong cho thực hành lập trình Pascal.

Giáo viên : Nguyễn Quang Ánh
Trang 15


-

Tổ: Tin Học

Bài thực hành số 4(Bài thực hành số 8 SGK):
Trong bài thực hành này sử dụng thuật toán tính giai thừa.
Đề bài: Viết chương trình tính giai thừa của số n (Viết là n!). Với yêu cầu: Sử dụng chương
trình con để tính giai thừa của một số.
G_thua.Inp
G_thua.Out
3

1. n! = 1 nếu n = 0;
2. n! = 1.2.3.4.5...n (Tích của n thừa số).

6

{Học sinh lớp 10, 11 khi làm Pascal sữa lại nhập dữ liệu từ tệp và kết quả xuất ra tệp.}


Program Giai_thua_Ham;

Begin

Uses crt;

clrscr;

Var n: longint;

write('Nhap n: '); readln(n);

Function Giai_Thua(n:longint):longint;

write(n,'!=',Giai_thua(n));

Var GT:Longint;

Readln;

Begin

End.

GT:=1;

{ Phần làm thêm về tệp}

while n > 0 do


{ Fi,fo: text;
Assign(fi,’G_thua.Inp’);
Assign(fo,’G_thua.Out’);
Reset(fi); Rewrite(fo);
Readln(fi,n);
Writeln(fo,Giai_thua(n));
Close(fi); Close(fo); }

Begin
GT:=GT * n;
n:=n-1;

Chương trình con

Chương
con
hàm tínhtrình
giai thừa
ở trước
tính
giai chương
thừa.
trình chính.

End;
Giai_thua:=GT;
End;

Giáo viên : Nguyễn Quang Ánh
Trang 16


Gọi chương
trình con tính
giai thừa ở
trong chương
trình chính.


-

Tổ: Tin Học

Giáo viên cho học sinh gõ word lưu lại để nhớ kiến thức, sau đó cho thực
hành lập trình Pascal. Giáo viên giải thích các câu lệnh mà học sinh chưa nắm
được.

Bài thực hành số 5:
Trong bài thực hành này sử dụng nội dung thuật toán sắp xếp
bằng tráo đỗi.
Bài toán sắp xếp: Cho dãy A gồm N số nguyên a1,
a2, a3, …,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)
* Xác định bài toán:
+ Input: Dãy A gồm N số nguyên
+ Output: Dãy A được sắp xếp thành dãy không
giảm.
* Ý tưởng: Với 2 số liền kề, nếu số trước lớn hơn số
sau ta đổi chổ cho nhau. Việc đó lập lại, khi khơng
cịn sự đổi chổ nào nữa.

* Thuật tốn sắp xếp bằng tráo đổi (Exchange Sort)
Bước 1: Nhập , và dãy số nguyên.
Bước 2: M  N;
Bước 3: Nếu M<2 thì đưa 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;
Sơ đồ thuật toán

Giáo viên : Nguyễn Quang Ánh
Trang 17

Program SapXep;
Const tepvao='SapXep.INP';
tepra='SapXep.OUT';
Nmax=1000;
Var a: Array[1..Nmax] of longint;
i, n: Longint;
f: Text;
Procedure Nhap;
Begin
Assign(f, tepvao);
Reset(f);
Readln(f, n);
For i:=1 to n do Read(f, a[i]);
Close(f);
End;

Procedure SapXep;
Var t, j: Longint;
Begin
for i:=1 to n-1 do
For j:=i+1 to n do
if(a[i]>a[j]) then Begin
t:=a[i];
a[i]:=a[j];
a[j]:=t;
End;
End;
Procedure Xuat;
Begin
Assign(f,tepra);
Rewrite(f);
For i:= 1 to n do
write(f,a[i],' ');
Close(f);
End;
Begin
Nhap;
SapXep;
Xuat;
End.


-

Tổ: Tin Học


Giáo viên cho học sinh gõ word lưu lại để nhớ kiến thức, sau đó cho thực
hành lập trình Pascal. Ngồi ra nếu thời gian cho phép cần cho thêm một số bài
thực hành nữa để khắc sâu cho học sinh cả về thuật tốn và ngơn ngữ Pascal.

IV. Kết quả đạt được:
Qua thời gian thực hiện các bài thực hành sử dụng kiến thức tích hợp
Pascal, tơi nhận thấy giờ thực hành thực sự thu hút các đối tượng học sinh
hơn chứ khơng cịn là giờ học của các đối tượng học sinh khá và giỏi. Học
sinh học tập một cách tích cực hơn, các thao tác trên máy thực hiện khá
thuần thục. Các đối tượng được giúp đỡ nhau cùng tiến bộ, các em dần hình
thành một thói quen làm việc và hợp tác nhóm, giúp nhau cùng học, cùng
tiến bộ. Giúp giáo viên phát hiện được những em có năng khiếu về tin học
và tư duy thuật tốn, từ đó chọn được đội tuyển và bồi dưỡng để thi học
sinh giỏi môn tin học. Chứ đợi đến lớp 11 mới chọn thì e rằng các môn
khác đã chọn hết học sinh và đã quá muộn để ơn luyện.
Kết quả: Những lớp 11 và 12 thì đã qua khơng cịn kịp để chọn học
sinh giỏi. Chỉ còn áp dụng đề tài với 3 lớp 10 nhưng hai lớp 10A4, 10A5
thì học sinh q yếu khơng có chọn được em nào, chỉ còn 10A1 chọn được
1 em có tố chất nhanh nhẹn về thuật tốn và lập trình nhưng đã được giáo
viên vật lí chọn thi mơn vật lí.
Mặc dù năm nay chưa chọn được học sinh nào để tham gia ôn luyện
nhưng với việc áp dụng đề tài này những năm sau nữa sẽ chọn được những
học sinh có đủ năng lực tham gia ơn luyện và thi học sinh giỏi môn tin học.
Đối với giáo viên:
+ Chủ động trong mọi tình huống dạy học, tiết kiệm thời gian, chí phí.
+ Với các bài thực hành thân thiện và có tính giáo dục, giáo viên dễ
dàng hướng dẫn học sinh thực hiện.
+ Thuận lợi trong quá trình giảng dạy, kiểm sốt được nội dung, thể
hiện tiến trình giảng dạy một cách khoa học và logic.
Đối với học sinh:

+ Tích cực tham gia học tập, phát huy tối đa tính chủ động sáng tạo,
học tập của học sinh.
Giáo viên : Nguyễn Quang Ánh
Trang 18


-

Tổ: Tin Học

+ Tạo ra môi trường học tập công bằng, lành mạnh. Gây hứng thú
trong học tập và khơi gợi tư duy, trí nhớ bền bỉ…
+ Phát hiện được những học sinh có những tố chất cho việc ơn luyên
và tham gia thi học sinh giỏi môn tin học.

Phần III. Phần kết luận, kiến nghị.
I. KẾT LUẬN:
Để có được học sinh giỏi chúng ta cần phải có những tiết dạy tốt thực hành
tin học phù hợp với đối tượng học sinh thì phải thực hiện được các vấn đề sau:
- Thiết kế bài dạy phù hợp với nhiều đối tượng học sinh. Giáo viên cần nắm
bắt đối tượng học sinh về kỹ năng thực hành và phân loại đối tượng rõ ràng,
chính xác.
- Điều hành tổ chức tốt các hoạt động của học sinh trên lớp. Giáo viên cần
đưa ra hệ thống các bài tập thực hành, yêu cầu về các kỹ năng sát với từng đối
tượng học sinh. Điều hành các hoạt động của học sinh một cách linh hoạt, tạo cơ
hội cho mọi đối tượng cùng được làm việc trong giờ thực hành.
- Đánh giá và theo dõi kết quả học tập theo từng đối tượng học sinh, khen
những học sinh nghiêm túc, thực hành có hiệu quả, nhắc nhở những học sinh
thực hành chưa tốt, chưa nghiêm túc.
- Phải tìm cách tích hợp phần Pascal vào các bài thực hành tin học lớp 10

càng nhiều càng tốt. Củng cần xem xét học lực của học sinh ở các môn tự nhiên
khác. Phát hiện sớm học sinh và tiến hành bời dưỡng
- Người giáo viên phải tích cực tìm kiếm thơng tin trên sách vở, trên mạng
Internet,… Nhằm bổ sung thêm nội dung kiến thức cho bài thực hành khác.
Do thời gian nghiên cứu, cũng như quá trình cơng tác giảng dạy mới chỉ là
một thời gian ngắn, thiết bị hỗ trợ và mơi trường máy móc rất hạn chế, nên trong
quá trình nghiên cứu nhiều vấn đề cịn chưa rõ ràng nên tơi rất mong q bạn
đọc cũng như các đờng nghiệp có những ý kiến đóng góp tích cực nhằm phát
triển cho đề tài ngày càng hoàn thiện hơn.
Giáo viên : Nguyễn Quang Ánh
Trang 19


-

Tổ: Tin Học

Trên đây là một số kinh nghiệm bản thân tơi rút ra được trong q trình dạy
học. Rất mong nhận được sự góp ý của q thầy cơ, bạn bè đờng nghiệp để tơi
có thể hồn chỉnh hơn đề tài này, góp phần nâng cao chất lượng mơn học. Cùng
nhau phát hiện và bồi dưỡng những học sinh giỏi môn tin học làm rạng danh nhà
trường.
II. KIẾN NGHỊ VÀ ĐỀ XUẤT:
- Với bộ mơn tin học cần có sự quan tâm hơn nữa về CSVC phục vụ cho
việc dạy và học thực hành.
- Trong một đề tài nhỏ và thời gian hạn chế những vấn đề nêu ra chắc chắn
sẽ cịn nhiều thiếu sót và mong muốn các vị lãnh đạo cấp trên, các đồng nghiệp
và học sinh bổ sung để nội dung trên được hoàn thiện và phát huy hiệu quả.
XÁC NHẬN CỦA
THỦ TRƯỞNG ĐƠN VỊ


Dlie Yang, 15/02/2019.
Người thực hiện
Nguyễn Quang Ánh

Giáo viên : Nguyễn Quang Ánh
Trang 20


-

Tổ: Tin Học

TÀI LIỆU THAM KHẢO
1 - Sách giáo khoa và Sách giáo viên Tin Học 10 – Nhà xuất bản giáo dục
2- Giới thiệu giáo án Tin Học 10 của Nguyễn Hải Châu – Quách Tất Kiên.
3. Bài tập Ngơn ngữ lập trình Pascal - Qch Tuấn Ngọc.
4. Lý thuyết và bài tập Ngơn ngữ lập trình Pascal – Nguyễn Thị Kiều Dun.
5. Tự học Ngơn ngữ lập trình Pascal – Trương Công Tuấn.
6. Các tư liệu liên quan trên mạng Internet.

Giáo viên : Nguyễn Quang Ánh
Trang 21


-

Tổ: Tin Học

ĐÁNH GIÁ - NHẬN XÉT

CỦA HỘI ĐỒNG KHOA HỌC CẤP TRƯỜNG
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
Giáo viên : Nguyễn Quang Ánh
Trang 22



-

Tổ: Tin Học

ĐÁNH GIÁ - NHẬN XÉT
CỦA HỘI ĐỒNG KHOA HỌC CẤP NGÀNH
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
.........................................................................................................................

.........................................................................................................................
.........................................................................................................................
.........................................................................................................................
Giáo viên : Nguyễn Quang Ánh
Trang 23


×