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

SKKN một số phương pháp tạo hứng thú cho học sinh (ban khoa học tự nhiên) học ngôn ngữ lập trình c++

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 (1.15 MB, 20 trang )

1. Mở Đầu
1.1. Lý do chọn đề tài:
Trong dạy học nói chung, trong dạy học Tin học nói riêng, vấn đề đặt ra là
cần phải đổi mới chiến lược đào tạo con người. Đặc biệt cần đổi mới phương
pháp dạy học theo hướng phát triển thế hệ mới năng động, sáng tạo nhằm tạo ra
nguồn lực nội sinh cho mỗi con người đồng thời tạo nên động lực cho sự phát
triển kinh tế - xã hội.
Luật giáo dục điều 24.2 đã ghi rõ: “Phương pháp dạy họ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
từng đặ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”.
Mục đích, nội dung và phương pháp luôn có mối quan hệ biện chứng với
nhau. Song song với việc nâng cao chất lượng nội dung sách giáo khoa thì việc
đổi mới phương pháp dạy học là điều bức thiết.
Môn Tin học cũng giống như nhiều môn học khác ở trường THPT, nó có
một vị trí đặc biệt không thể thiếu được trong thời đại hiện nay. Tin học 11 là cơ
sở để hình thành kiến thức, kỹ năng lập trình của bộ môn Tin học ở cấp THPT.
Ngôn ngữ lập trình pascal được dạy trong chương trình Tin học 11 là một trong
những ngôn ngữ quen thuộc đối với nhiều thế hệ học sinh, sinh viên và các nhà
lập trình viên. Đó là ngôn ngữ có tính sư phạm khá cao, chính vì vậy ngôn ngữ
này được lựa chọn để đưa vào giảng dạy cho học sinh và sinh viên.
Tuy nhiên, ngôn ngữ lập trình Pascal có nhiều hạn chế như: Tính ứng
dụng thực tiễn để tạo ra các sản phẩm thương mại thấp, hơn nữa đã nhiều năm
qua các nhà phát triển phần mềm đã không nâng cấp và phát triển ngôn ngữ
pascal. Ngày nay, có rất nhiều ngôn ngữ lập trình mới hơn pascal ra đời như
ngôn ngữ C, C++, Java,... các ngôn ngữ này cung cấp các công cụ cho phép
người lập trình tạo ra các sản phẩm có tính ứng dụng thực tiễn rất lớn. Trong đó
nổi lên là ngôn ngữ lập trình C++
Ngôn ngữ lập trình C++ ra đời vào giai đoạn đầu những năm 80 của thế
kỷ 20, và không ngừng được phát triển cho đến tận ngày nay. Đó là ngôn ngữ


lập trình được dùng nhiều nhất hiện nay, đa số phần mềm thương mại được viết
bằng C++, nó đã giải quyết được vô số những thách thức trong các ngành công
nghiệp. C++ là ngôn ngữ chính quyết định trải nghiệm trên các thiết bị di động
hiện nay. Ngày nay trên thế giới có hàng chục triệu lập trình viên chuyên nghiệp
biết và sử dụng C++ thường xuyên, họ đã tạo ra vô số sản phẩm ứng dụng giúp
1


người dùng khai thác thông tin, điều khiển các thiết bị máy móc một các hiệu
quả.
Đối với nước ta hiện nay, theo tinh thần chỉ đạo của Đảng và Bộ giáo dục
đào tạo, chúng ta cần đào tạo ra những thế hệ học sinh, sinh viên sau khi học
xong có thể áp dụng tri thức học được để làm ra các sản phẩm có ích cho xã hội.
Đặc biệt đội ngũ công nghệ thông tin cần phải có năng lực tốt để tạo ra các sản
phẩm công nghệ hỗ trợ các ngành kinh tế khác cùng phát triển.
Do vậy, cần định hướng và tạo điều kiện cho học sinh học những ngôn
ngữ lập trình có thế mạnh như C++, và đó cũng là một xu hướng tất yếu của thời
đại.
Qua quá trình tìm hiểu, Tôi thấy hiện tại chưa có tài liệu nào nghiên cứu
sâu vào vấn đề này. Chính vì vậy tôi đã chọn đề tài: "Một số phương pháp tạo
hứng thú cho học sinh (Ban khoa học tự nhiên) học ngôn ngữ lập trình C+
+" làm sáng kiến kinh nghiệm trong năm học 2018-2019 với mục đích được
trao đổi cùng các bạn đồng nghiệp các phương pháp mà tôi đã và đang áp dụng
rất có hiệu quả tại ngôi trường tôi đang công tác và cũng hy vọng cách làm này
sẽ được bổ sung, hoàn thiện và nhân rộng trong Trường THPT Triệu Sơn 3 nói
riêng và các trường trên địa bàn của tỉnh Thanh Hóa nói chung.
1.2. Mục đích nghiên cứu:
Xác định cơ sở thực tiễn của một số biện pháp nâng cao chất lượng giáo
dục đổi mới phương pháp dạy học – lấy người học làm trung tâm.
Tìm ra những phương pháp mới dựa trên cơ sở khoa học để truyền thụ

kiến thức cho học sinh thêm sinh động và thực tế hơn, đặc biệt đối với chương
trình Tin học là phần kiến thức mới và trừu tượng đòi hỏi học sinh phải có sự tư
duy, sáng tạo và kỹ năng thực hành trong giải quyết vấn đề cho học sinh trường
THPT Triệu Sơn 3.
Để nâng cao chất lượng giáo dục của nhà trường, thì phải nâng cao được
chất lượng từ các bộ môn, trong đó có môn tin học. Làm thế nào để học sinh
lĩnh hội được kiến thức từ nhiều hướng, nhiều khía cạnh khác nhau từ lý thuyết
và từ thực tế thực hành học sinh hiểu được kiến thức, có những tư duy, sáng tạo
dẫn tới ham học hỏi, yêu thích môn học mà học sinh trường THPT Triệu Sơn 3
đang cần.
1.3. Đối tượng nghiên cứu:
Nghiên cứu các giải pháp để tạo hứng thú cho học sinh (Ban khoa học tự
nhiên) khi học lập trình C++ tại trường THPT Triệu Sơn 3, nhằm mục đích nâng
cao chất lượng giáo dục môn Tin học tại trường.
2


1.4. Phương pháp nghiên cứu
- Phương pháp nghiên cứu xây dựng cơ sở lý thuyết: Tìm đọc, nghiên cứu,
phân tích các tài liệu liên quan. Rút kinh nghiệm trong thực tiễn giảng dạy. Từ
đó xây dựng cơ sở lý luận của đề tài.
- Phương pháp điều tra khảo sát thực tế, thu thập thông tin: Sử dụng phiếu
điều tra về hứng thú học tập môn Tin học của học sinh trước và sau khi tác động.
Từ đó đề ra những giải pháp phù hợp để nâng cao hứng thú học môn Tin học
cho học sinh.
- Phương pháp thống kê, xử lý số liệu: Sử dụng phương pháp thống kê để
xử lý số liệu, so sánh kết quả thu thập được ở lớp thực nghiệm và lớp đối chứng.
2. Nội dung sáng kiến kinh nghiệm.
2.1. Cơ sở lí luận của sáng kiến kinh nghiệm.
Phương pháp dạy học Tin học là nghiên cứu những mối liên hệ có tính

quy luật giữa các thành phần của quá trình dạy học môn Tin học, chủ yếu là giữa
mục tiêu, nội dung và phương pháp dạy học nhằm nâng cao hiệu quả của việc
dạy học môn này theo các mục đích đặt ra. (“Trích Phương pháp dạy học đại
cương môn tin học - Nhà xuất bản ĐHSP”).
Trên cơ sở nghiên cứu Nghị quyết 29-NQ/TW ngày 04 /11/ 2013 về đổi
mới căn bản toàn diện giáo dục và đào tạo đáp ứng yêu cầu công nghiệp hóa,
hiện đại hóa trong điều kiện kinh tế thị trường định hướng xã hội chủ nghĩa và
hội nhập quốc tế.
Căn cứ vào chỉ thị 2919/CT- BGDĐT ngày 10 tháng 08 năm 2018 của Bộ
giáo dục và Đào tạo về việc hướng dẫn thực hiện nhiệm vụ năm học 2018 2019.
Căn cứ vào công văn Số 2077/ QĐ- SGDĐT ngày 30 tháng 08 năm 2018
của Giám đốc Sở giáo dục và Đào tạo Thanh hóa về việc Hướng dẫn thực hiện
nhiệm vụ Giáo dục trung học năm học 2018 - 2019.
Căn cứ vào chỉ thị năm học 2018 - 2019: Tiếp tục triển khai đồng bộ các
giải pháp giáo dục THPT theo mục tiêu phát triển năng lực, phẩm chất học sinh,
nâng cao kỹ năng ngoại ngữ, tin học; rèn luyện năng lực vận dụng kiến thức vào
thực tiễn; phát triển năng lực sáng tạo và tự học.
2.2. Thực trạng vấn đề trước khi áp dụng sáng kiến.
Trường THPT Triệu Sơn 3 có 24 lớp trong đó có 8 lớp khối 11(hơn 300 học
sinh). Có 2 lớp học sinh học Ban khoa học tự nhiên, các em có tư duy tốt đối với
các môn khoa học tự nhiên, và đa số các em đều có xu hướng học các ngành
nghề liên quan đến công nghệ thông tin trong tương lai. Chính vì vậy,
3


việc học sinh tiếp cận ngôn ngữ lập trình cũ như pascal sẽ làm cho các em cảm
thấy nhàm chán thiếu hứng thú bởi thực tế hiện này ngôn ngữ lập trình pascal rất
ít được sử dụng như các báo điện tử đã đề cập:
/>PGS-TS Phạm Thế Bảo, giảng viên khoa Công nghệ thông tin Trường ĐH
Sài Gòn, chia sẻ nhiều tâm tư về việc dạy học tin học trong trường phổ thông

hiện nay. Ông Bảo nói: "Môt số giáo viên dạy tin học trường phổ thông cho tôi
biết họ đang dạy môn ngôn ngữ lập trình Pascal, trong khi trên thế giới không
còn nơi nào dạy chương trình này”
/> />Theo điều tra đầu năm lớp 11, thì 90% học sinh ban khoa học tự nhiên trong
2 lớp 11E4 và 11E5 đã tiếp cận với ngôn ngữ pascal ở cấp 2 trong chương trình
Tin học 8. Do vậy, khi đọc chương trình tin học 11 nói về lập trình pascal rất
nhiều em đã hỏi tôi: “Thưa cô học lập trình pascal để làm gì nữa ạ?....”. Bên
cạnh đó các em coi môn Tin học là môn phụ, nội dung kiến thức lại khá mới mẻ,
khó tiếp thu dẫn đến các em thấy nhàm chán và lơ là với môn học. Vì vậy việc
tạo hứng thú trong các giờ học môn Tin học để các em thấy yêu thích môn học
và thấy được vai trò của môn học trong ứng dụng thực tiễn là việc làm rất cần
thiết.
Theo kết quả học năm học 2017 -2018, điểm tổng kết môn Tin học ở một số lớp mũi nhọn của trường
như sau:

Lớp

Sĩ số
45
45

Giỏi
SL %
2
4.4
0
0

Khá
SL %

14
31.2
12
26.7

Trung bình
SL %
27
60
29
64.4

Yếu – Kém
SL %
2
4.4
4
8.9

11D3
11D4
Tổng

90

2

26

56


6

2.2

28.8

62.2

6.8

Theo kết quả khảo sát đầu năm 2018 -2019, khi mới học môn Tin học 11 về tư duy thuật toán của một
số lớp mũi nhọn của trường như sau:

Lớp

Sĩ số

11E4
11E5

42
40

Giỏi
SL %
1
1.97
0
0


Khá
SL %
16
31.4
4
8.7

Trung bình
SL %
30
58.8
37
80.4

Yếu - Kém
SL %
4
7.83
5
10.9
4


Tổng

82

1


1.21

20

23.4

67

81.7

9

6.31

Qua số liệu thống kê trên cho thấy rằng tỉ lệ học lực khá - giỏi ở các lớp là
tương đối thấp (lớp 11D3 và 11D4 năm 2017-2018 là 28.2%, cả 2 lớp mũi nhọn
năm 2018-2019 là 24,61%).
Bên cạnh đó tỉ lệ học lực yếu – kém còn tương đối cao (Lớp 11D3 và
11D4 năm học 2017 - 2018 là 6,8 %, cả 2 lớp mũi năm 2018- 2019 là 6.31%).
Do đó đối với môn Tin học nói chung và môn Tin học 11 nói riêng, đặc biệt các
lớp chọn Ban khoa học tự nhiên này các em đều có định hướng họ đại học và
học các ngành liên quan đến công nghệ thông tin trong tương lai. Để các em có
niềm đam mê, hứng thú và học tốt môn học là một nhiệm vụ tương đối khó khăn
và thách thức đối với các thầy cô giáo được trực tiếp phân công giảng dạy ở các
lớp đó.
Vì vậy, yêu cầu được đặt ra là bên cạnh việc đổi mới phương pháp dạy
học, trong mỗi bài dạy, mỗi tiết học, mỗi phần học giáo viên cần tìm ra các giải
pháp tạo hứng thú cho học sinh, để học sinh dễ hiểu và yêu thích môn học, say
mê môn học tránh học đối phó, học vẹt, từ đó các em sẽ học hiệu quả hơn.
2.3. Các giải pháp đã áp dụng để giải quyết vấn đề.

2.3.1. Giải pháp thứ nhất: Tạo hứng thú bằng các tác động tâm lý thông
qua các câu chuyện về lập trình và các diễn đàn dạy và học lập trình C++
Để học sinh học tốt môn học, thì ngay từ ban đầu giáo viên cần lôi cuốn
học sinh, tạo hứng thú cho học sinh qua các bài giảng, thông qua các câu chuyện
và tình huống có vấn đề kích thích khả năng tìm tòi sáng tạo của học sinh.
Ngay ban đầu khi giảng dạy về lập trình, để các em hứng thú hơn trong
học tập thì ngoài những kiến thức và bài giảng sinh động, tôi thường lồng trong
các tiết dạy những câu chuyện liên quan đến lập trình. Thông qua các câu
chuyện về các tấm gương tin học trẻ nhen nhóm hứng thú và tình yêu dành cho
công nghệ thông tin, đam mê lập trình và góp phần định hướng nghề nghiệp
tương lai cho các em.
Ví dụ 1: Tấm gương cậu bé lớp 6 tự học ngôn ngữ lập trình và giành
nhiều giải thưởng ( />Từ năm lớp 2, Võ Nguyễn Minh Triết (Trường THCS Trần Hưng Đạo, TP.
Quảng Ngãi) bắt đầu làm quen với các ngôn ngữ lập trình và mày mò làm
chương trình "Đường lên đỉnh Olympia". Bước sang năm lớp 6, Triết vượt qua
nhiều đàn anh để giành giải Nhì trong Hội thi Tin học trẻ tỉnh Quảng Ngãi.

5


Ví dụ 2: Không có bằng cấp 3 lẫn đại học, tôi đã trở thành kỹ sư phần
mềm ở Facebook như thế nào? (HTTPS://EHKOO.COM/BAI-VIET/EVANPRIESTLEY-FACEBOOK)
Đây là câu chuyện của Evan Priestley, một lập trình viên thậm chí không
có cả bằng tốt nghiệp phổ thông lẫn đại học, đã đảm nhiệm vị trí kĩ sư phần
mềm tại Facebook từ 2007 đến 2011
Ví dụ 3: Đến từ vùng quê Quảng Ngãi đầy nắng gió, chàng trai sinh năm 96
- Lê Minh Hoàng hiện đang là sinh viên tại Học viện Kỹ thuật mật mã, đồng
thời cũng là nhà đồng sáng lập hai doanh nghiệp về Truyền thông – Digital
Marketing uy tín hàng đầu hiện nay là công ty DigiPublic và Brand4U.
( nghiep.htm )

Thời đại CNTT bùng nổ, các em tiếp cận mạng máy tính rất sớm, giáo
viên nên lôi cuốn các em vào các diễn đàn tin học, tham gia là thành viên của
các diễn đàn, trao đổi giao lưu, học hỏi giúp các em yêu thích môn học và học
tập hiệu quả hơn.
Ví dụ 4: Lồng ghép trong các bài học các diễn đàn tin học hay như:
: Diễn đàn về lập trình hay được nhiều học sinh,
sinh viên học lập trình tham gia. Trên diễn đàn có nhiều tài liệu về C++ hay và
cơ bản có thể giúp các em tự học

Diễn đàn học
lập trình C++ cơ bản được đông đảo các bạn tham gia với các bài tập lập trình
C++ từ cơ bản đến nâng cao. Trên diễn đàn các em có thể cùng trao đổi các kiến
thức bổ ích.

6


2.3.2. Giải pháp thứ 2. Tạo hứng thú cho học sinh thông qua việc sử dụng
phần mềm Crocodile ICT để mô tả thuật toán giúp học sinh hiểu rõ bản
chất của thuật toán trước khi áp dụng ngôn ngữ C++ để lập trình.
Bởi rõ ràng chúng ta đã biết, khi lập trình cho một bài toán thì việc các
em tiếp cận đầu tiên đó là thuật toán của bài toán đó. Và tôi chọn phần mềm
Crocodile ICT để minh họa lại các bước thực hiện thuật toán giúp các em hiểu
rõ về hoạt động của thuật toán. Khi đã hiểu rõ thuật toán của bài toán rồi thì việc
thể hiện lại thuật toán bằng ngôn ngữ lập trình trở nên dễ dàng hơn.
Trong quá trình dạy Tin học 11 đặc biệt cho các lớp ban khoa học tự
nhiên, tôi chú trọng rất nhiều trong việc hình thành tư duy giải thuật cho học
sinh, giúp các em tự tin hơn khi gặp những bài toán tương tự và tìm ra giải thuật
phù hợp. Đây chính là nền tảng giúp các em tự tin khi tiếp cận những chương
trình lập trình khó hơn trong tương lai.

Ví dụ 1: Khi dạy phần cấu trúc rẽ nhánh và lặp. Tôi lựa chọn các bài tập
để mô phỏng thuật toán trên phần mềm giúp các em hiểu rõ bản chất của rẽ
nhánh và lặp trong thuật toán. Một số bài tập đơn giản như sau:
Bài tập 1: Giải phương trình bậc nhất ax + b = 0
Sơ đồ thuật toán trên phần mềm Crocodile ICT:

7


Bài tập 2: Giải phương trình bậc 2
Sơ đồ thuật toán trên phần mềm Crocodile ICT:

8


Để kiểm chứng tính đúng đắn của thuật toán giải phương trình bậc hai ax2
+ bx + c = 0, ta có thể sử dụng các bộ Input như sau:
- Với a = 1, b = -5, c = 6 có biệt số Delta > 0, Phương trình có hai nghiệm
phân biệt là x1 = 3, x2 =2.
- Với a = 1, b = -4, c = 4 có biệt số Delta = 0, Phương trình có nghiệm kép
- Với a = 1, b = 4, c = 8 có biệt số Delta < 0, Phương trình vô nghiệm
Bài tập 3: Với a là số nguyên và a>2, viết thuật toán tính tổng sau:
S= 1/a+1/(a+1) +…..+1/(a+100).
a. Xác định bài toán
- Input: Nhập vào số nguyên a với a>2
- Output: Tổng S
b. Ý tưởng
- Khởi tạo giá trị ban đầu cho s=1/a.
- Tiếp theo cộng vào tổng S một giá trị 1/(a+N) (với N nhận giá trị từ
1,2….,100).

c. Thuật toán
- Bước 1: S←1/a; N←0;
- Bước 2: N←N+1;
- Bước 3: Nếu N>100 thì chuyển sang bước 5
- Bước 4: S←S+1/(a+N) rồi chuyển sang bước 2
- Bước 5: Đưa tổng S ra màn hình, kết thúc.
Mô phỏng thuật toán bằng phần mềm Crocodile ICT:

9


Bài tập 4 : Với a là số nguyên và a>2, viết thuật toán tính tổng sau:
S= 1/a+1/(a+1) +…..+1/(a+N)+…..cho đến khi 1/(a+N) < 0.0001
a. Xác định bài toán
- Input: Nhập vào số nguyên a với a >2
- Output: Tổng S
b. Ý tưởng
Khởi tạo giá trị ban đầu cho s = 1/a.
Tiếp theo cộng vào tổng S một giá trị 1/(a+N) (với N nhận giá trị từ
1,2….) đến khi thỏa mãn điều kiện 1/(a+N) < 0.0001
c. Thuật toán
Bước 1: S←1/a; N←0;
Bước 2: Nếu 1/(a+N) < 0.0001 thì chuyển sang bước 5
Bước 3: N←N+1;
Bước 4: S←S+1/(a+N) rồi chuyển sang bước 2
Bước 5: Đưa tổng S ra màn hình, kết thúc.
Mô phỏng thuật toán bằng phần mềm Crocodile ICT:

Khi sử dụng phần mềm này để thiết kế thuật toán, Tôi nhận thấy học sinh
hiểu rõ hơn bản chất của các thuật toán và quá trình giải các bài toán trên máy

tính. Từ đó phát triển tư duy lập trình của học sinh và các em có thể viết được
các chương trình thực hiện trên máy tính mà ít bị lỗi về thuật toán.
2.3.3. Giải pháp 3: Tạo hứng thú cho học sinh học lập trình C++ qua sự liên
hệ so sánh với học lập trình pascal.
10


Với những học sinh học ban khoa học tự nhiên, các em đều có xu hướng
chọn ngành nghề liên quan đến công nghệ thông tin trong tương lai, do vậy các
em rất mong muốn tiếp cận được những ngôn ngữ lập trình mà các em sẽ gặp
trong những năm tháng học chuyên nghiệp. Chính vì vậy, trong quá trình dạy
chương trình tin học 11, tôi đã liên hệ so sánh ngôn ngữ lập trình pascal với
ngôn ngữ lập trình C++ để giúp các em hình thành kiến thức một cách dễ dàng
hơn. Qua các bài học và các ví dụ, tôi nhận thấy các em khá hứng thú khám phá
cái mới và tiếp cận khá nhanh với ngôn ngữ lập trình mới này.
Sau khi thực hiện giải pháp 2, tôi kết hợp hướng dẫn học sinh thể hiện
thuật toán qua ngôn ngữ lập trình C++ trên phần mềm Dev-C++. Đã hiểu rõ bản
chất của thuật toán, do vậy khi cài đặt bằng ngôn ngữ các em tỏ ra khá hứng thú
và hăng say thực hiện. Sau đây là một số ví dụ:
Ví dụ 1: Khi dạy phần Câu lệnh rẽ nhánh dạng thiếu tôi lập bảng so sánh để
học sinh dễ liên hệ giữa ngôn ngữ pascal mà các em đã làm quen và ngôn ngữ lập trình C++ như sau:

Trong Pascal
If<biểu thức điều kiện> then
<câu lệnh >;
Ví dụ:
If a > b then max := a;

Trong C++
If< biểu thức điều kiện>

{ <câu lệnh>;}
Ví dụ:
If (a > b)
{max := a;}
Bài tập 1: Cho số nguyên N. Hãy tính giá trị tuyệt đối của N.
Trong Pascal
Trong C++
Program GT_tuyetdoi;
#include <iostream>
Uses Crt;
using namespace std;
Var n : integer;
int main()
Begin
{ int n;
Write('Nhap gia tri n:');
cout<<"Nhap gia tri n:"<readln(n);
cin>>n;
if n < 0 then n := n*(-1);
if (n<0) {n = (-1)*n;}
writeln('Gia tri tuyet doi cua n
cout<<"Gia tri tuyet doi cua n
la:',n);
la:"<readln
}
end.
Ví dụ 2. Câu lệnh rẽ nhánh dạng đủ:
Trong Pascal

Trong C++
11


If <biểu thức điều kiện> then
<câu lệnh 1>
Else <câu lệnh 2>;

If<biểu thức điều kiện>
{ <câu lệnh 1>;}
Else
{<câu lệnh 2>;}
Ví dụ 1:
Ví dụ 1:
If a > b then max := a
If (a > b)
else max := b;
{max := a;}
Else
{max := b;}
- Trong đó:
- Trong đó:
+ Biểu thức điều kiện là biểu thức logic + Biểu thức điều kiện là biểu thức logic
+ Nếu biểu thức điều kiện đúng thì câu + Nếu biểu thức điều kiện đúng thì câu
lệnh 1 sẽ được thực hiện ngược lại câu lệnh 1 sẽ được thực hiện ngược lại câu
lệnh 2 sẽ được thực hiện
lệnh 2 sẽ được thực hiện
+ Câu lệnh 1, câu lệnh 2 nêu ở trên là + Câu lệnh 1, câu lệnh 2 nêu ở trên có
một câu lệnh của pascal; Nếu là một
thể là 1 lệnh hoặc một khối lệnh.

khối lệnh thì phải đặt trong cặp từ
khóa Begin và end để tạo thành câu
lệnh ghép.
- Hoạt động:
- Hoạt động:
Điều kiện được tính và kiểm tra.
Điều kiện được tính và kiểm tra.
Nếu điều kiện đúng thì câu lệnh 1 sẽ
Nếu điều kiện đúng thì câu lệnh 1 sẽ
được thực hiện, ngược lại thì câu lệnh 2
được thực hiện, ngược lại thì câu lệnh sẽ được thực hiện.
2 sẽ được thực hiện.
Lưu ý: Như vậy, với cặp dấu {} trong câu lệnh rẽ nhánh ở ngôn ngữ C++ tương
đương với cặp Begin - end; (câu lệnh ghép) trong pascal. Bài tập 2: Giải phương
trình bậc nhất ax + b = 0

Chương trình viết bằng ngôn ngữ
Pascal
Program PT_bacnhat;
Var a,b : integer; x : real;
Begin
clrscr;
write('Nhap cac he so a va b: ');
readln(a,b);
if a = 0 then

Chương trình viết bằng ngôn ngữ
C++
#include <iostream>
using namespace std;

int main() {
float a,b,x;
cout<<"Nhap he so a,b: "<cin>>a>>b;
if (a==0)
12


if b = 0 then writeln('PT vo so

if (b==0)
{cout<<"PT vo so nghiem";}
else
{cout<<"PT vo nghiem";}
else
{ x = -b/a;
cout<<"PT co nghiem "<}

nghiem')
else writeln('PT vo nghiem')
else
begin
x := -b/a;
writeln('PT co nghiem: ',
x:8:1);
end;
}
readln
end.

Hình ảnh minh họa khi viết và chạy chương trình trên Dev-C++

Bài tập 3: Chương trình tìm nghiệm thực của phương trình bậc 2: ax2
+bx+c=0
Chương trình viết bằng ngôn ngữ
Chương trình viết bằng ngôn ngữ
Pascal
C++
Program GPT_bachai;
#include <iostream>
Uses crt;
#include <math.h>
var a,b,c,x1,x2,D,x: real;
using namespace std;
Begin
int main() {
write('Nhap he so a,b,c: ');
float a,b,c,x,x1,x2,D;
readln(a,b,c);
cout<<"Hay nhap cac he so
D := b*b - 4*a*c;
a,b,c"<if D < 0 then writeln('PT VN')
cin>>a>>b>>c;
else
D = b*b - 4*a*c;
if D = 0 then
if ( D < 0 )
begin
{cout<<"PT vo nghiem";}

x := -b/(2*a);
else if (D == 0)
writeln('PT co nghiem kep',
{ x = -b/(2*a);
x:8:1);
cout<<"PT co nghiem kep"<13


end
}
else
else
begin
{x1 = (-b + sqrt(D))/(2*a);
x1 := (-b - sqrt(D))/(2*a);
x2 = (-b - sqrt(D))/(2*a);
x2 := -b/a - x1;
cout<<"PT co hai nghiem
writeln('x1 = ', x1:8:1,' x2 "<=', x2:8:1);
}
end;
}
readln
end.
Chú ý: Qua ví dụ trên ta thấy dòng lệnh khai báo các biến: float a, b, c,
x1, x2, d; được viết trong hàm main (phần thân của chương trình). Điều này cho
chúng ta biết trong ngôn ngữ lập trình C++ cho phép khai báo các biến không
chỉ ở phần khai báo của chương trình mà còn ngay trong phần thân chương trình

miễn là khai báo trước khi gọi thực hiện các biến đó là được. Còn Pascal chỉ
khai báo phần khai báo biến mà thôi.
Ví dụ 2. Cũng tương tự như phần cấu trúc rẽ nhánh, khi dạy các phần như
cấu trúc lặp; phần kiểu dữ liệu có cấu trúc; tệp và thao tác với tệp tôi đều liên hệ
so sánh ngôn ngữ lập trình pascal với ngôn ngữ lập trình C++ để các em dễ tiếp
cận hơn. Nhưng do giới hạn số lượng trang của sáng kiến, nên tôi chỉ xin trình
bày một vài ví dụ tiêu biểu như sau:
Bài tập 4: Với a là số nguyên và a>2, viết thuật toán tính tổng sau:
S= 1/a+1/(a+1) +…..+1/(a+100).
Trong pascal
Trong C++
Program tong_1;
#include <iostream>
uses crt;
using namespace std;
var s : real; a,n : integer;
int main()
Begin
{ float a,n,s;
write('Nhap gia tri a:');
cout<<"Nhap gia tri a: "<readln(a);
cin>>a;
s := 1/a;
s = 1/a;
for n := 1 to 100 do
for (n=1;n<=100;n++) {s = s +
s := s + 1/(a+n);
(1/(a+n));}
writeln('Tong s la:', s:8:2);

cout<<"Tong s la: "<readln
}
end.
14


Hình ảnh minh họa khi viết và chạy trên Pascal:

Hình ảnh minh họa khi viết và chạy chương trình trên Dev-C++

Bài tập 5: Cho hai số nguyên M và N. Tìm ước chung lớn nhất của M và N.
Trong pascal
Trong c++
Program UCLN;
#include <iostream>
Uses crt;
using namespace std;
var M, N : integer;
int main() {
Begin
int M,N;
write('Nhap M, N: ');
cout<<"Hay nhap M va
readln(M,N);
N:"<while M <> N do
cin>>M>>N;
if M > N then M := Mwhile (M!=N)
N

{ if (M>N) {M = M-N;}
else n := N - M;
else {N = N-M;}
writeln('UCLN = ',M);
}
15


readln
end.

cout<<"UCLN la:"<return 0;

}
Hình ảnh minh họa khi viết và chạy chương trình trên Dev-C++

2.3.4. Giải pháp 4: Tạo hứng thú cho học sinh học lập trình khi tham gia
câu lạc bộ lập trình trường THPT Triệu Sơn 3.
Muốn học sinh tham gia tích cực trong học tập thì bản thân mỗi tổ nhóm
chuyên môn và giáo viên cần có những giải pháp hữu ích giúp các em có những
hứng thú và định hướng tốt trong quá trình học. Với đặc thù môn tin học là môn
học mà các em sẽ phải học và sử dụng trong quá trình làm việc sau này. Do vậy,
rất nhiều em muốn khám phá ngành khoa học mới mẻ này từ rất sớm. Tôi cùng
các cô trong nhóm Tin trường THPT Triệu sơn 3 đã kết hợp thành lập câu lạc lập
trình, dành cho những bạn yêu thích bộ môn tin học. Câu lạc bộ đã thu hút được
những bạn học sinh có cùng đam mê với lĩnh vực này ở cả 3 khối 10, 11,12. Bên
cạnh đó Tôi đã thiết kế 1 trang web “Câu lạc bộ yêu lập trình trường THPT triệu
sơn 3”. Trang này kết nối cả cựu học sinh của trường hiện tại là sinh viên
chuyên ngành công nghệ thông tin ở các trường đại học để các em có thể giao

lưu học hỏi lẫn nhau. Có những vấn đề khó thay vì hỏi các thầy cô, các em có
thể nhờ các anh chị khóa trên giúp đỡ. Càng ngày câu lạc bộ càng thu hút được
đông học sinh và sinh viên tham gia, tạo sân chơi bổ ích cho các em sau những
giờ học căng thẳng. Qua câu lạc bộ này tôi có thể phát hiện và bồi dưỡng nguồn
cho đội tuyển học sinh giỏi đạt hiệu quả cao hơn.

16


Hình ảnh trang câu lạc bộ yêu lập trình trường THPT Triệu sơn 3

2.3.5. Giải pháp 5: Tạo hứng thú cho học sinh thông qua hệ thống các bài
tập thực hành hoạt động theo nhóm có sử dụng phần mềm chấm bài tự
động Themis 2 tác giả Lê Minh Hoàng và Đỗ Đức Đông.
Phần mềm chấm bài tự động themis của 2 tác giả là Thầy Lê Minh Hoàng
và thầy Đỗ Đức Đông là một phần mềm rất hay, hỗ trợ đắc lực trong quá trình
dạy học. Tôi đã cài đặt phần mềm này trên các máy tính ở phòng thực hành,
trong tiết hành đầu tiên tôi hướng dẫn các em sử dụng phần mềm chấm bài này.
Trong các tiết thực hành tiếp theo, mỗi tiết tôi thường chuẩn bị 2 đến 3 bài tập
có sẵn test chấm cho các em. Mỗi lớp tôi chia thành 6 nhóm thực hành. Các
nhóm sẽ làm các bài tập trên ngôn ngữ C++, sau đó các nhóm sẽ chấm bài trên
phần mềm themis. Nhóm nào điểm cao hơn sẽ được thưởng các phần thưởng là
các tiết mục hát do nhóm thấp điểm hơn trình bày (Các tiết mục văn nghệ sẽ
được trình bày vào cuối buổi thực hành).
Khi thực hiện giải pháp này, tôi nhận thấy tiết thực hành vui vẻ và tích
cực hơn, các em đã có test chấm do giáo viên chuẩn bị, nên các em rất hào hứng
code để có thể nhanh chóng chấm điểm. Sau khi chấm nếu chưa đạt điểm tối đa
các em có thể tự sửa code hoặc nhờ giáo viên hướng dẫn để bài làm chạy tối ưu
nhất. Qua đó rèn luyện kỹ năng cho các em, đồng thời sau mỗi tiết thực hành là
các tiết mục văn nghệ sẽ giúp các em hào hứng và vui vẻ hơn.


17


Hình ảnh chấm bài của 1 nhóm trên phần mềm themis tại phòng máy

2.4. Hiệu quả của sáng kiến đối với với bản thân, đồng nghiệp và nhà
trường:
Sau 2 năm triển khai các giải pháp đã nêu tại trường THPT Triệu Sơn 3,
tôi thấy rằng hiệu quả mang lại không chỉ dừng lại ở những “con số biết nói” về
tỉ lệ học sinh giỏi cấp tỉnh, về tỉ lệ học sinh có lực học khá giỏi mà điều quan
trọng hơn là đã tạo cho các em học sinh có hứng thú trong học tập. Giúp các em
tự tin khi tiếp cận những kiến thức mới, tạo tiền đề để các em phát triển tốt hơn
trong tương lai. Nhiều em đã có mơ ước sẽ trở thành những nhà lập trình giỏi,
nhiều em mong muốn theo lĩnh vực công nghệ thông tin trong tương lai.
Trong khuôn khổ sáng kiến này, tôi xin đưa ra vài con số thống kê và
những đánh giá cụ thể sau đây:
Năm học 2018 -2019: số lượng học sinh tham gia chọn đội tuyển học sinh
giỏi cấp trường là 32 em (tăng so với năm học 2017 -2018 là 22 em) và có 10
em trên 15 điểm; 14 em trên 10 điểm. Trong kỳ thi học sinh giỏi cấp tỉnh vừa
qua có 2 học sinh tham gia đều đạt giải. Trong đó em Đào Huy Hiệu lớp 11E4
đạt giải nhì và em Hà Văn Đức lớp 11 E4 đạt giải khuyến khích. Kết quả này
giúp đội tuyển tin trường THPT Triệu Sơn 3 xếp tốp 3 toàn tỉnh.
Bảng 1: Bảng thống kê học lực môn Tin học của các lớp qua
kết quả khảo sát đầu năm học ( Khi chưa áp dụng các giải pháp nêu
trong đề tài)
Lớp
Sĩ số
Giỏi
Khá

Trung bình
Yếu - Kém
SL
%
SL
%
SL
%
SL
%
18


11E4
11E5

42
40

1
0

1.97
0

16
4

31.4
8.7


30
37

58.8
80.4

4
5

7.83
10.9

Tổng

82

1

1.21

20

23.4

67

81.7

9


6.31

Bảng 2: Bảng thống kê học lực môn Tin của các lớp cuối năm học
(Sau khi áp dụng và triển khai các giải pháp đã nêu)
Lớp
Sĩ số
Giỏi
Khá
Trung bình
Yếu - Kém
SL %
SL %
SL %
SL %
11E4
42
15 35.7
24
57,2
3
7.1
0
0
11E5
40
6
15.0
30
75.0

4
10.0
0
0
Tổng

82

21

26.25

54

65.8

7

7.95

0

0

So sánh hai bảng thống kê tôi thấy rằng: số lượng học sinh có lực học khá
và giỏi môn Tin ở các lớp cuối năm học tăng lên một cách đáng kể so với đầu
năm học (từ 24.61 % lên 92.05%). Tỉ lệ học sinh trung bình và yếu giảm đi rất
nhiều (từ 81.7 xuống còn 7.95%); rất nhiều em học sinh khá, giỏi này đầu năm
chỉ ở nhóm có học lực trung bình, thậm chí là ở nhóm yếu, nguyên nhân là các
em chưa ham học, chưa hứng thú và coi việc học Tin học 11 là nghĩa vụ phải

học, học môn phụ không cần thiết. Sau khi áp dụng và triển khai các giải pháp
đã nêu thì đối với các lớp 11E4 và 11E5 các em có hứng thú hơn trong học tập,
trong các giờ thực hành, học sinh chăm chỉ và thảo luận rất sôi nổi. Tỉ lệ học
sinh khá ở lớp 11E4, 11E5 tăng lên rất nhiều. Nhiều học sinh có mơ ước học
khoa Công nghệ thông tin của các trường đại học và có triển vọng rất tốt như em
Đào Huy Hiệu lớp 11E4, Hà Văn Đức lớp 11E4, Lương Sơn Tùng lớp 11E4;
Trần Văn Khải lớp 11E5, Lê Công Minh lớp 11E5, Lê Minh Thảo lớp 11E4,
Đàm Văn Thành lớp 11E4….
3. Kết Luận và kiến nghị
3.1. Kết Luận
Với một địa bàn còn nhiều khó khăn về kinh tế và cơ sở vật chất cũng như
trình độ dân trí như địa bàn tuyển sinh của trường THPT Triệu Sơn 3 (có đến 4/8
xã là miền núi, vùng 135) thì việc tổ chức các hoạt động để tạo hứng thú cho
học sinh học tập hiệu quả hơn môn Tin học và các môn văn hóa nói chung là
một trong những biện pháp tốt để nâng cao chất lượng giáo dục đại trà và chất
lượng giáo dục mũi nhọn.
Như vậy có thể kết luận về hiệu quả mang lại sau khi triển khai các giải
pháp đã nêu là: Phần lớn các em học sinh đã hứng thú hơn trong học tập, chủ
động trong việc học tập, tự học, tự nghiên cứu, tìm hiểu kiến thức và rèn luyện
kỹ năng; nhiều em đã phát huy tối đa được tính sáng tạo và nhạy bén trong tư
19


duy, tự tìm tòi kiến thức, có sự say mê trong học tập và nghiên cứu. Kết quả học
tập của nhiều em học sinh có sự tiến bộ rõ rệt.
Đồng thời sau thời gian áp dụng các phương pháp trên tôi nhận thấy chất
lượng dạy và học của nhà trường nói chung và của môn Tin học nói riêng ngày
càng được nâng cao, chất lượng giáo dục ngày càng có sự chuyển biến rõ rệt. Vị
thế của nhà trường được xã hội ghi nhận.
3.2. Kiến nghị

Đối với giáo viên, phải không ngừng tự học, tự bồi dưỡng để hiểu biết về
công nghệ thông tin, biết khai thác thông tin trên mạng Internet, có kĩ năng sử
dụng thành thạo các trang thiết bị dạy học hiện đại. Đặc biệt phải biết phát huy
các tính năng của trang thiết bị hiện đại trong việc thiết kế bài dạy.
Đối với các cấp lãnh đạo, cần quan tâm hơn về cơ sở vật chất như: Trang
thiết bị máy tính có nối mạng, máy chiếu Projector...tại các phòng học đa năng,
khuyến khích và động viên giáo viên áp dụng công nghệ thông tin vào dạy học.
Với kết quả của đề tài này, tôi thiết nghĩ những giải pháp mà đề tài đã
đưa ra có thể là những gợi ý tốt để các thầy cô giáo trong và ngoài đơn vị tổ
chức tốt và hiệu quả hoạt động học tập mà trước tiên là phải tạo hứng thú và
gợi động cơ học tập cho học sinh. Có đam mê, có hứng thú, có quyết tâm thì các
em sẽ học hết khả năng và sẽ mang lại nhiều kết quả tiến bộ. Qua đó, có thể đúc
rút kinh nghiệm để bổ sung và hoàn thiện các giải pháp làm cho đề tài thực sự đi
vào thực tiễn của hoạt động giáo dục.
XÁC NHẬN
CỦA THỦ TRƯỞNG ĐƠN VỊ

Thanh Hóa, ngày 28 tháng 05 năm 2019
Tôi xin cam đoan đây là SKKN của
mình viết, không sao chép nội dung của
người khác.
Người viết

TRỊNH THỊ HẠNH

20




×