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ếttuần), 11 và 12 (1, 5 tiếttuầ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”
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO
Trang 2MỤ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
Trang 3Phầ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ôngtá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ứccho 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êmphầ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à mongmuố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ườngphổ 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:
Để chia sẽ một số kinh nghiệm củng như thành công bước đầu trong việcdạ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
Trang 4- 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.
III Đối tượng nghiên cứu
Đối tượng nghiên cứu là các bài thuật toán và chương trình pascal giảicá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ớihạ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 quantrong 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ạitrường THPT Trường Chinh, phương pháp thực nghiệm sư phạm, khảo sát, điềutra, 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ụ huynhhọ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ìnhthức, nội dung kiểm tra đánh giá thích hợp
Trang 5Phầ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ạyhọ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áttriể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ốngkhi 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àmquen 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 Wordhoặc chơi game rất dễ Nhưng khi đụng đến thuật toán và Lập trình thì bắt đầuthấ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ácmôn khoa học khác đều phải từ một quá 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ọcsinh 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 theotinh thần cung cấp kiến thức cơ bản về tin học và máy tính, phần MicrosoftWord 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 toán và thuật toán không có ứng dụng vào lập trình mãi đến năm lớp 11mới học lập trình thì chắc chắn học sinh sẽ quên thuật toán và giáo viên muốnphá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 quá trình dạy học môn tin học ở trường THPTTrườ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
Trang 6PASCAL ĐỂ 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 quá 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ọcsinh, phụ huynh và qua trao đổi với các đồng nghiệp tôi nhận thấy: Hầu như họcsinh đều yêu thích và hứng thú với môn tin học Tuy nhiên chất lượng bộ mônqua 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ạnchế, 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ệphoặ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ọnthi 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ệcthi 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àodâ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ựchà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ớpbồ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, luôn tìm tòi học hỏinhữ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ạyhọc
Trang 7Bê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 ítmá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 sauthời gian sử dụng, không khí trong phòng máy không thông thoáng làm cho họcsinh 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àihọ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 toá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 xemnhư đã có bước đầu thành công nhưng đó mới chỉ là buớc khởi đầu cho một tiếtdạ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 đốitượng học sinh trên lớp
Giáo viên : Nguyễn Quang Ánh
Trang 5
Trang 8Trong 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ộtbà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 toán để biểu diễn thuật toán dùng để làm gì? Và kết quả thu được saukhi giải quyết bài toán trên máy tính là gì Ở bài số 4 tôi thêm một bài toán đơngiản vào đủ làm phong phú thêm bài giảng.
* Ví dụ: Bài toán tính tổng hai số a và b.
- Phân tích về thuật toán:
+ Input: a và b
Output: tong của a và b
+ Mô tả thuật toán:
- Giải bài toán trên máy tính:
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
Liệt kê các bước
Trang 9đó 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ìnhpascal 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ọcsinh 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ữngkiến thức cơ bản sau:
Giáo viên : Nguyễn Quang Á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;
* 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]
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
<các câu lệnh>;
END;
Trang 10Thờ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ữngcâ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ựchà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ựchành phù hợp với nhiều đối tượng học sinh Chia nhóm 2 đến 3 học sinh mộtmá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íchcự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 quá 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 trongnhó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ềuchỉnh
+ Luôn có ý thức giáo viên chỉ trợ giúp, tránh việc đi sâu can thiệp làmhạn chế khả năng độc lập sáng tạo của học sinh
Trang 11+ Trong quá trình thực hành, giáo viên có thể đưa ra nhiều cách để thựchiệ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 hoà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ữacá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
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
Giáo viên : Nguyễn Quang Ánh
Trang 12Giá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 toán khó dùng để thi học sinh giỏi môn tin học
Tệp dữ liệu vào: Tong.Inp Tệp dữ liệu ra: Tong.Out
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}
Var a, b, Tong: Integer;
fi, fo: Text; {Hai bien tep}
BeginAssign(fi,'Tong.Inp');
Trang 13Close(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 toá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 toá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 nguyên 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ốnguyên tố
+ Khi xét hết mà không chia hết thì xuất ra n là số nguyên tố
- Mô tả thuật toán:
B1: Nhập số nguyên 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ố nguyên 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
Trang 14- 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:
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ố
+ Chương trình nhập dữ liệu từ bàn phím.
Program So_ngto;
uses crt;