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

skkn MỘT SỐ BIỆN PHÁP RÈN KỸ NĂNG THỰC HÀNH TRONG LẬP TRÌNH PASCAL BỘ MÔN TIN HỌC LỚP 8

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 (221.98 KB, 23 trang )

Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8



ĐỀ TÀI:

MỘT SỐ BIỆN PHÁP RÈN KỸ NĂNG THỰC HÀNH TRONG
LẬP TRÌNH PASCAL BỘ MƠN TIN HỌC LỚP 8
PHẦN A. ĐẶT VẤN ĐỀ
I.

LÝ DO CHỌN ĐỀ TÀI.

Mục tiêu cơ bản của ngành giáo dục và đào tạo Việt Nam hiện nay là không
ngừng đổi mới phương pháp giảng dạy và nâng cao chất lượng giáo dục ở tất cả
các cấp học mà trong đó cấp Trung học cơ sở là khơng thể thiếu. Để làm được điều
này địi hỏi đội ngũ giáo viên nhà trường ở tất cả các bộ mơn cần thể hiện tinh thần
trách nhiệm, tích cực trong mọi lĩnh vực để hoàn thành tốt sứ mệnh của ngành đã
đề ra.
Trong các môn học, Tin học là môn học khơng thể thiếu trong nhà trường
phổ thơng. Chính vì vậy, đổi mới phương pháp giảng dạy bộ môn Tin học trong
nhà trường đặt lên vai đội ngũ thầy cô giáo giảng dạy Tin học là nghĩa vụ cao cả
để hoàn thành các chỉ tiêu và hiệu quả đào tạo của nhà trường đặc biệt là bậc học
Trung học cơ sở;
Việc giảng dạy Tin học trong nhà trường phổ thông ở Việt Nam nhiều năm
nay đã xem môn Tin học là môn học không thể thiếu, bậc học Trung học cơ sở lại
rất cần thiết đối với lứa tuổi phát triển về tư duy, về tâm sinh lý. Trong đó, môn
Tin học được triển khai thực hiện ở tất cả các khối 6, 7, 8, 9;
Học sinh được tiếp cận nhiều trên các phương tiện hiện đại, hệ thống phòng
máy với các thiết bị máy tính có cấu hình tương đối cao, hệ thống mạng cáp quang


tương đối mạnh để đảm bảo phục vụ tốt nhu cầu học tập và tra cứu bộ môn Tin
học của học sinh trong nhà trường;
Trong các khối lớp học thì Tin học lớp 8 là mơn học tương đối khá trừu


GV: Phan Nghĩa Bình Nam
1


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


tượng, khó hiểu, nếu khơng nói là khơ khan khó nuốt đối với các em. Việc học tốt
môn Tin học lại càng khó khăn hơn đối với các em vì hầu hết kiến thức chủ yếu và
trọng tâm của chương trình là lập trình trên mơi trường ngơn ngữ Pascal, địi hỏi
học sinh phải chú ý tìm hiểu kỹ vấn đề, hiểu được cách giải bài tốn, hiểu cách mơ
tả thuật giải bài tốn, cách viết chương trình, kiểm lỗi, sửa lỗi chương trình và
chạy thử;
Trong quá trình giảng dạy bản thân tôi nhận thấy học sinh khối 8 là khối
học rất sợ mơn Tin học vì kiến thức lập trình khá mới mẻ và khó hiểu. Các em
phải tập trung cao độ, tìm hiểu chặt chẽ vấn đề của từng bài toán trên cơ sở hướng
dẫn của giáo viên thì mong mới hiểu được cách viết lập trình cho một bài tốn;
Chính vì vậy, để giúp các em hiểu được vấn đề của ngơn ngữ lập trình
Pascal và hiểu được cách mơ tả bài tốn, lập trình viết bài tốn nên tơi mạnh dạn
chọn giải pháp “Một số biện pháp rèn kỹ năng thực hành trong lập trình Pascal
bộ môn Tin học lớp 8” để giúp học sinh tiến bộ hơn trong học tập đặc biệt là các
giờ thực hành ở bộ môn Tin học khối 8 bậc Trung học cơ sở.
II.


Ý NGHĨA VÀ TÁC DỤNG CỦA ĐỀ TÀI.
Áp dụng vào một số bài toán thực tế trong chương trình Tin học lớp 8 và

một số bài tốn nâng cao áp dụng cho đối tượng học sinh giỏi bộ mơn;
Nâng cao tính ứng dụng, phát huy khả năng tư duy, nhận xét các bài toán,
rèn luyện kỹ năng lập trình từ đó nâng cao hiệu quả học tập bộ môn giúp học sinh
hiểu rõ cách mô tả và giải quyết từng bài tốn;
Học sinh thích tìm hiểu, nghiên cứu khoa học đặc biệt là lĩnh vực lập trình,
học sinh tự tin hơn trong học tập bộ môn và từ đó say mê và ham thích học tập bộ
mơn nhiều hơn để đạt kết quả cao.
III.

MỤC ĐÍCH NGHIÊN CỨU ĐỀ TÀI.



GV: Phan Nghĩa Bình Nam
2


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


Sử dụng đề tài này để hướng dẫn các em học sinh lớp 8 một số kỹ năng rèn
luyện thực hành lập trình cơ bản và nâng cao đối với bộ môn Tin học, giúp học
sinh hiểu được những bước cơ bản và hoàn thiện các bài tập thực hành giáo viên
yêu cầu;
Học sinh tiến hành vận dụng kỹ năng để viết các bài tập trong chương
trình, các bài tập áp dụng cho học sinh giỏi, vận dụng các kỹ năng lập trình để giải

quyết một số bài tốn từ đơn giản đến nâng cao.
IV.

PHẠM VI VÀ ĐỐI TƯỢNG NGHIÊN CỨU.
Phạm vi nghiên cứu: Rèn luyện kỹ năng thực hành lập trình Pascal trong

q trình giảng dạy bộ mơn Tin học lớp 8 (quyển 3), năm học 2016 – 2017;
Đối tượng nghiên cứu: Học sinh các lớp 8A1, 8A2, 8A3, 8A4, 8A5 của
trường THCS Nguyễn Văn Xơ, huyện Củ Chi.
V.

ĐIỂM MỚI TRONG KẾT QUẢ NGHIÊN CỨU.
Thực hiện việc đổi mới phương pháp giảng dạy và nâng cao chất lượng

giáo dục đào tạo, đổi mới kiểm tra đánh giá thì việc hình thành trang bị cho học
sinh những kỹ năng cơ bản và kỹ năng nâng cao khả năng lập trình là một trong
những yếu tố quan trọng và chủ yếu để các em học sinh tự tin trong học tập bộ
môn Tin học đặc biệt là học sinh khối 8;
Ngôn ngữ lập trình Pascal và rèn luyện kỹ năng cơ bản cho học sinh khối 8
là nền tảng phát triển khả năng tư duy kiến thức một cách hiệu quả. Hình thành cho
học sinh các kỹ năng như: kỹ năng giải quyết vấn đề, kỹ năng tự học, kỹ năng đặt
tên, kỹ năng hợp tác với mọi người,...
Nếu học sinh có thể giải quyết vấn đề, học mọi thứ nhanh chóng, đặt tên
mọi thứ hợp lý, và hợp tác hiệu quả với mọi người, thì các em sẽ có được kết quả
học tập cao hơn nhiều so với trước khi các em chưa được trang bị và sẽ thành


GV: Phan Nghĩa Bình Nam
3



Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


chuyên gia trong bất kỳ lĩnh vực công nghệ nào trong tương lai.



GV: Phan Nghĩa Bình Nam
4


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8



PHẦN B. NỘI DUNG CỦA ĐỀ TÀI
I.

CƠ SỞ LÝ LUẬN VÀ THỰC TRẠNG CỦA ĐỀ TÀI.
1. Cơ sở lý luận:
Công nghệ thơng tin càng ngày càng phát triển, có nhiều đổi mới và sự thay

đổi rất bất chợt đến nỗi ngày nay tất cả các lập trình viên hầu như khơng thể nắm
rõ hiện tại là có những gì đang xảy ra. Sự phát triển nhanh vọt kéo theo những yêu
cầu mới về kỹ năng, và trình độ hiểu biết của một lập trình viên;
Trong lĩnh vực cơng nghệ thơng tin đang trên đà phát triển hiện nay, đã và
đang nảy sinh khá nhiều lĩnh vực và tạo nên các nhóm ngành mới, tạo điều kiện

cho các lập trình viên mới có thể tiếp cận và chọn lựa ngành phù hợp với khả năng
của mình;
Chính vì vậy việc trang bị và rèn luyện kỹ năng lập trình bằng việc tăng
cường các tiết thực hành ở nhà trường cho các em học sinh là một cách vô cùng
hiệu quả. Việc học lập trình cũng giống như giải một bài tốn, có rất nhiều cách
khác nhau để đi đến đáp số của một bài tốn. Các em cũng sẽ có nhiều cách khác
nhau để viết nên một chương trình. Việc tìm hiểu nhiều nguồn tài liệu từ các kênh
khác nhau sẽ giúp các em biết được cách làm nào tốt, cách làm nào chưa tốt, và rút
ra cách làm tối ưu nhất cho mình trong tất cả các trường hợp ở các dạng bài tập.
2. Thực trạng học tập bộ môn tại nhà trường:
Theo thói quen của nhiều em học sinh, học môn Tin là học những thao tác
sử dụng như cách sử dụng internet, sử dụng hệ điều hành window, chương trình
soạn thảo văn bản MS Word, chương trình soạn thảo trình diễn MS PowerPoint …
Đây là những phần học khơng cần đòi hỏi tư duy, mà chỉ cần học kĩ và nhớ thao
tác, thực hành nhiều lần thì sẽ thành thạo;
Pascal là một ngơn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh, được
Niklaus Wirth phát triển vào năm 1970 là ngơn ngữ đặc biệt thích hợp cho kiểu lập


GV: Phan Nghĩa Bình Nam
5


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


trình có cấu trúc. Pascal dựa trên ngơn ngữ lập trình ALGOL và được đặt tên theo
nhà tốn học và triết học Blaise Pascal. Wirth đồng thời cũng xây dựng Modula-2
và Oberon, là những ngôn ngữ tương đồng với Pascal. Oberon cũng hỗ trợ kiểu lập

trình hướng đối tượng;
Ngơn ngữ lập trình Pascal là một loại ngơn ngữ lập trình bậc cao, các câu
lệnh và từ khóa rất gần gũi với ngôn ngữ của con người. Là một môn lập trình nên
địi hỏi người lập trình phải có tính tư duy, có khả năng phân tích, tổng hợp;
Nhưng khi học bộ mơn lập trình Passal chương trình lớp 8 ở Trung học cơ
sở thì hầu như các em bị “chống” vì bộ mơn rất “mới”, và cách học cũng “mới”.
Học những thao tác và thực hành nhiều khơng cịn tác dụng, học thuộc bài cũng
khơng cịn ổn nữa. Lúc này các em cần phải học cách tư duy logic, tìm thuật tốn,
và viết những dịng lệnh máy tính chính xác đến từng đấu chấm, dấu phẩy;
Với tâm lí thơng thường các em học sinh coi Tin học là môn phụ không
quan trọng nên nhiều em chủ quan không dành đủ thời gian để học nên không hiểu
bài và dần bị mất căn bản. Đây cũng là lí do mà nhiều em bị điểm kém, thậm chí là
thi lại, học lại bộ mơn tin học mặc dù có thể các em học rất giỏi các mơn học khác;
Chính vì những điều đó nên Pascal cũng là một mơn học gây khó khăn cho
khơng ít học sinh, nhất là học sinh lớp 8. Ở lứa tuổi này, các em đang phát triển
không đồng đều về tâm sinh lý nên rất ngán ngại khi học bởi vậy gặp khơng ít khó
khăn cho các em khi phải sử dụng Pascal để lập trình.
Đặc biệt, đối với những học sinh yếu, kém thì lại càng khó hơn. Mặt khác,
nhiệm vụ chính trị quan trọng của năm học là không ngừng nâng cao chất lượng
giảng dạy của giáo viên và việc học tập của học sinh, đổi mới cách nhìn và tư duy
học tập bộ mơn Tin học khối 8;



GV: Phan Nghĩa Bình Nam
6


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8



Trong quá trình giảng dạy thực tế tại trường THCS Nguyễn Văn Xơ, trong
các tiết thực hành bản tôi nhận thấy kỹ năng đọc hiểu bài tốn, mơ tả bài tốn và
kỹ năng viết lập trình đối với các em học sinh khối lớp 8 là rất yếu, chưa đáp ứng
được yêu cầu khi tiếp xúc với các bài tập lập trình Pascal;
Theo khảo sát kiểm tra đầu năm học với học sinh các lớp 8 tại nhà trường
thì trong đó khoảng gần 60% các em chưa hiểu ngơn ngữ lập trình Pascal là gì?.
Việc tiếp cận kiến thức lập trình để áp dụng giải bài tốn cụ thể cịn nhiều vấn đề
gây khó khăn cho việc viết chương trình, trong đó phải kể đến là các bước thực
hiện lập trình, mơ tả thuật tốn và việc khai báo thư viện cũng như cú pháp các câu
lệnh trong Pascal, kiểm lỗi, sửa lỗi chương trình và chạy thử;
Thực tế cho thấy tỷ lệ học sinh đạt điểm trung bình trở lên khi làm những
bài tập đơn giản đầu tiên khá thấp, các em chưa hiểu rõ vấn đề, chưa thực sự ham
thích, chưa thuộc các cú pháp câu lệnh và sai cấu trúc khá nhiều dẫn đến kết quả
không như mong đợi.
Điểm số

Số lượng

Tỷ lệ

1

25/190

13,16%

2


28/190

14,74%

3

31/190

16,32%

4

30/190

15,79%

5

19/190

10,00%

6

28/190

14,74%

7


12/190

06,32%

8

10/190

05,26%

9

05/190

02,63%



GV: Phan Nghĩa Bình Nam
7


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


Điểm số

Số lượng


Tỷ lệ

10

02/190

01,05%

Bảng số liệu tỷ lệ khảo sát đầu năm qua các bài thực hành trên lớp
3. Các biện pháp tiến hành để giải quyết vấn đề.
Nghiên cứu tài liệu các kỹ năng lập trình trong việc nghiên cứu chuyên
môn, tiến hành tham gia dự giờ các đồng nghiệp và trao đổi kinh nghiệm giảng dạy
với các đồng nghiệp trong nhà trường hay các đơn vị bạn, đồng thời rút kinh
nghiệm bản thân qua các tiết dạy lý thuyết và thực hành trên phịng máy tính;
Tham khảo các giáo trình, sách báo và tìm hiểu ngơn ngữ lập trình Pascal
qua mạng internet, các tài liệu và tích lũy kinh nghiệm giảng dạy. Giới thiệu tạo
những hứng thú cho học sinh bằng việc đưa nhiều hình ảnh có liên quan bài học,
bài tập để khi tiến hành làm thực hành các em học sinh dễ dàng khắc sâu các kiến
thức bài học đồng thời áp dụng cho những bài tập có liên quan đến những bài học
sau, bài học mới.
II.

MỤC TIÊU CƠ BẢN CỦA ĐỀ TÀI:
Rèn luyện cho học sinh những kỹ năng đọc hiểu được bài toán, các bước

giải quyết vấn đề, các bước mơ tả thuật tốn và giải quyết các bài tốn trên máy
tính một cách lơgic và khoa học;
Rèn luyện kỹ năng lập trình cho học sinh đồng thời phát huy tính tích cực,
sáng tạo, khả năng tư duy của học sinh trong giờ học lập trình đặc biệt là trong giờ
học thực hành để đề xuất những giải pháp nâng cao chất lượng học tập bộ môn của

học sinh.
III.

MỘT SỐ BIỆN PHÁP THỰC HIỆN HƯỚNG DẪN HỌC SINH

THỰC HÀNH LẬP TRÌNH PASCAL TRÊN MÁY:



GV: Phan Nghĩa Bình Nam
8


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


Pascal là một ngơn ngữ lập trình cấp cao sớm xuất hiện và phần nào thể hiện
được ưu điểm của nó trong việc ứng dụng để giải quyết các bài tốn trên máy tính.
Ở trường phổ thơng chúng ta khơng chú trọng học chun sâu về ngơn ngữ lập
trình để tạo ra các phần mềm máy tính mà tập trung rèn luyện kĩ năng tư duy logic,
tư duy hệ thống và sáng tạo không chỉ để giải quyết những vấn đề trong tin học mà
đây còn là những kĩ năng vô cùng quan trọng để giải quyết nhiều vấn đề trong cuộc
sống;



GV: Phan Nghĩa Bình Nam
9



Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8



Việc giải quyết các bài tốn trên máy tính thật sự không đơn giản đối với các
em học sinh. Trước tiên các em phải nắm vững lý thuyết, cú pháp câu lệnh, tính
ngun tắc và logic của bài lập trình. Các em phải hiểu được quy tắc đặt tên
chương trình, tên biến cho phù hợp với bài toán và đảm bảo tính ngun tắc, ví dụ
như tên chương trình nếu quá 8 kí tự ta cần dùng dấu gạch nối xen giữa, bài lập
trình nào thì ta cần dùng câu lệnh gán phối hợp với cơng thức tốn học mà các em
đã học ở bộ mơn Tốn để tính, bài nào thì dùng câu lệnh If…then, For…do,
While…do, khi nào dùng kiểu dữ liệu Integer, Real, String hay Longint;
Bên cạnh đó để học sinh hiểu được, giáo viên cần chú ý cần quan tâm khía
cạnh sự thơng hiểu của học sinh, nên cho các em tập làm quen với các bài tập đơn
giản nhất, dần dần tăng mức độ khó lên từ từ, không nên quá vội vàng để học sinh
tiếp xúc với những bài quá khó. Nếu các em chưa thông hiểu, chưa giải quyết được
vấn đề của bài tập đó, bản thân giáo viên nên giải thích hướng dẫn các em mơ tả,
phân tích cụ thể để từ đó hiểu rõ hơn bài tập mình đang làm;



GV: Phan Nghĩa Bình Nam
10


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8



Để thực hiện tốt kỹ năng lập trình các em cần nắm vững các cơng thức tốn
học của bài tốn để có thể chuyển đổi cơng thức ấy sang biểu thức Pascal. Cho học
sinh ghi nhớ lại các công thức toán học mà các em chưa biết, chưa hiểu vào vở bài
tập. Ví dụ một số cơng thức cơ bản như sau:
+ Tính diện tích hình chữ nhật: SCN = chiều dài × chiều rộng. Khi đó ta
chuyển sang biểu thức Pascal sẽ là: S:=a*b; nên lưu ý học sinh khi viết xong cuối
dịng cơng thức phải có dấu chấm phẩy;
+ Tính diện tích hình vng: SHV = cạnh × cạnh. Khi đó ta chuyển sang biểu
thức Pascal sẽ là: Dientich:=a*a; nên lưu ý học sinh khi viết xong cuối dịng cơng
thức phải có dấu chấm phẩy;
+ Tính chu vi hình tam giác: SABC = cạnh a + cạnh b + cạnh c. Khi đó ta
chuyển sang biểu thức Pascal sẽ là: CV:=a+b+c; nên lưu ý học sinh khi viết xong
cuối dịng cơng thức phải có dấu chấm phẩy;
Ngồi ra, trong tiết học thực hành để khích lệ động viên tinh thần các em
giáo viên nên biểu dương những học sinh có thành tích tốt bằng nhiều biện pháp,
có thể cho điểm khuyến khích, động viên, khen thưởng trước lớp và điều quan
trọng hơn nữa là những học sinh có tư duy tốt cùng với thầy hướng dẫn lại các bạn
trong quá trình thực hành;
1. Cấu trúc cơ bản nhất của một bài lập trình Pascal:
Về mặt lý thuyết giáo viên nên cung cấp chắc chắn cho học sinh cấu trúc
chung của một bài lập trình theo cú pháp như sau:
PROGRAM

<Tên chương trình>;

[<Phần khai báo>];
BEGIN
<Phần thân chương trình>;
READLN;

END.


GV: Phan Nghĩa Bình Nam
11


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


Bên cạnh đó, cũng cần lưu ý học sinh cách đặt tên chương trình đúng quy
tắc, đảm bảo khơng sai cú pháp khi đặt tên chương trình, tên chương trình khơng
được trùng với các từ khóa: PROGRAM, BEGIN, USES, VAR, END,..., dùng
dấu gạch nối xen giữa nếu tên dài quá 8 ký tự và phải đảm bảo tên không dài quá
127 ký tự, tên chương trình phải được đặt bằng tiếng việt không dấu, không sử
dụng dấu cách;
Các biến ở phần khai báo phải đảm bảo phù hợp với bài toán và phù hợp với
kiểu dữ liệu cần nhập.
+ Cú pháp khai báo tên thư viện: <Từ khóa> <Tên các thư viện>; Ví dụ
khai báo thư viện Crt, Graph... là: USES CRT,GRAPH;
+ Cú pháp khai báo tên hằng: <Từ khóa> <Tên hằng=Giá trị>; Ví dụ khai
báo tên biến Pi khi tính diện tích hình trịn là: Const Pi=3.14;
+ Cú pháp khai báo biến: <Từ khóa> <Tên các biến:Kiểu dữ liệu>; Ví dụ
khai báo các biến a, b khi thực hiện bài tốn tính tổng hai số tự nhiên a và b biết
rằng a, b là 2 ký tự được nhập vào từ bàn phím là các số nguyên: Var a,b:Integer;
+ Câu lệnh nhập dữ liệu vào từ bàn phím: Read(<Danh sách biến vào>);
hoặc Readln(<Danh sách biến vào>); Ví dụ: Readln(CD,CR);
+ Câu lệnh cho phép xuất dữ liệu hoặc kết quả ra màn hình, câu lệnh này
thường sử dụng khá nhiều trong thực tế: Write(<Danh sách kết quả ra>); hoặc

Writeln(<Danh sách kết quả ra>); Ví dụ xuất ra màn hình kết quả dòng chữ
WELCOME TO NGUYEN VAN XO SECONDARY SCHOOL ta có thể viết
như sau: Writeln(‘Welcome to Nguyen Van Xo Secondary School’);
+ Câu lệnh gán được dùng để tính tốn giá trị của biểu thức bên phải được
kết quả cuối cùng thì gán cho tên biến phía bên trái là: <Tên biến>:=<Biểu thức>;
Ví dụ: S:=a+b; hoặc CV:=(a+b)*2; ,…
Các phép tốn số học, các hàm tính tốn cơ bản trong Pascal: Phép cộng (+),
phép trừ (-), phép nhân (*), phép chia (/), chia lấy phần nguyên (DIV), chia lấy


GV: Phan Nghĩa Bình Nam
12


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


phần dư (MOD), hàm tính giá trị tuyệt đối cho số thực hoặc số ngun ABS(x),
hàm tính bình phương cho số thực hoặc số nguyên SQR(x), hàm tính căn bậc hai
cho số thực hoặc số ngun SQRT(x), hàm tính lơgarít tự nhiên của x với x là số
thực LN(x), EXP(x), SIN(x), COS(x).
2. Cấu trúc câu lệnh điều kiện IF...THEN:
Trong Pascal để mô tả cấu trúc rẻ nhánh ta thường dùng câu lệnh IF...THEN
với hai trường hợp thiếu và đủ:
+ Trường hợp 1 câu lệnh cấu trúc rẻ nhánh dạng thiếu có cú pháp đầy đủ như
sau: IF <Điều kiện> THEN <Câu lệnh>; Nếu điều kiện có giá trị đúng thì câu
lệnh sau từ khóa then được thực hiện, nếu điều kiện có giá trị sai thì câu lệnh sau từ
khóa then sẽ không được thực hiện và bị bỏ qua. Ví dụ: IF A=10 THEN
WRITELN(‘BAI LAM CUA BAN RAT XUAT SAC’);

+ Trường hợp 2 câu lệnh cấu trúc rẻ nhánh dạng đầy đủ có cú pháp như sau:
IF <Điều kiện> THEN <Câu lệnh 1>
ELSE <Câu lệnh 2>;
Nếu điều kiện cho giá trị đúng câu lệnh 1 sau từ khóa then được thực
hiện và bỏ qua câu lệnh 2, nếu điều kiện cho giá trị sai thì câu lệnh 2 sau từ khóa
Else được thực hiện và bỏ qua câu lệnh 1;
Ví dụ:
IF 9<3 THEN WRITELN(‘BAN NEN HOC BOI DUONG TOAN’)
ELSE WRITELN(‘BAN NEN HOC BOI DUONG TIN HOC’);
Giáo viên trong quá trình cho học sinh thực hành nên hết sức lưu ý học sinh
các quy tắc khi sử dụng các câu lệnh cấu trúc rẻ nhánh như dấu chấm phẩy được
đặt sau dịng lệnh của từ khóa Else, hoặc trong q trình sử dụng lệnh rẻ nhánh
cũng cần lưu ý có thể sử dụng câu lệnh ghép sau từ khóa Else thì phải đặt giữa hai
từ khóa BEGIN và END;
3. Cấu trúc câu lệnh lặp với số lần biết trước FOR...DO:


GV: Phan Nghĩa Bình Nam
13


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


Cũng cần lưu ý học sinh khi giảng dạy lý thuyết lẫn thực hành, câu lệnh lặp
với số lần biết trước lúc nào cũng có hai dạng là lệnh lặp dạng tiến và lệnh lặp
dạng lùi mà sách giáo khoa chưa đề cập đến;
Lặp dạng tiến:
FOR <Biến đếm>:=<Giá trị đầu> TO <Giá trị cuối> DO <Câu lệnh>;

Ví dụ 1: Sắp xếp các lệnh sau đây thành một bài lập trình hoàn chỉnh trong
Pascal để thực hiện hiển thị các số từ 1 2 3 4 5 mỗi số cách nhau 3 khoảng
trắng?
PROGRAM SAP_XEP;
USES CRT;
VAR i:INTEGER;
BEGIN
CLRSCR;
FOR i:=1 TO 5 DO WRITE(i:4);
READLN;
END.
Lặp dạng lùi (Dạng này dùng cho học sinh khá giỏi giới hạn SGK chưa đề
cập đến):
FOR <Biến đếm>:=<Giá trị cuối> DOWNTO <Giá trị đầu> DO lệnh>;
Đối với lệnh lặp dạng lùi áp dụng cho bài tập trên cần thực hiện cú pháp các
câu lệnh tương tự nhưng chỉ khác ở chỗ câu lệnh lùi có dạng cú pháp như sau:
FOR i:=5 DOWNTO 1 DO WRITE(i:4);
4. Cấu trúc câu lệnh lặp với số lần chưa biết trước:
Để thực hành tốt các dạng bài tập câu lệnh lặp với số lần chưa biết trước học
sinh cần thiết nắm vững kiến thức lý thuyết thông qua cú pháp:
While <Điều kiện> do <Câu lệnh>;


GV: Phan Nghĩa Bình Nam
14


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8



Với cú pháp này câu lệnh có ý nghĩa nếu câu lệnh kiểm tra điều kiện đúng
thì sẽ thực hiện câu lệnh. Sau một vịng lặp chúng ta có thể thao tác tăng hoặc giảm
biến để cho điều kiện sẽ bị sai sau một số vịng lặp;
Ví dụ: Hãy lập vào chương trình nhập hai số nguyên dương n và x. Tính lũy
thừa Nx.



GV: Phan Nghĩa Bình Nam
15


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


Program Luy_thua;
Var x,n,Tich,Luythua:Integer;
Begin
Writeln(‘Nhap vao so nguyen duong N va X: ’); Readln(n,x);
Tich:=1;
Luythua:=1;
While Luythua<=n do
Begin
Tich:=Tich*x;
Luythua:=Luythua+1;
End;
Writeln(‘Ta co N luy thua x la: ’,Tich);

Readln;
End.
5. Cấu trúc dữ liệu kiểu mảng:
Đối với nội dung này, giáo viên cần cho học sinh hiểu rõ khái niệm kiểu
mảng, hiểu được cách khai báo các phần tử và cách truy cập đến các phần tử của
mảng, học sinh cần hiểu được cách cài đặt thuật toán một số bài đơn giản với dữ
liệu kiểu mảng, thực hiện việc khai báo mảng, truy cập, tính tốn các phần tử của
mảng, học sinh cần hiểu rõ các thành phần khai báo dữ liệu kiểu mảng;
Để học sinh nắm được nội dung này tương đối khó khăn đối với trình độ học
sinh lớp 8, chính vì vậy ta vừa dạy cho học sinh loại mảng một chiều, vừa nâng cao
cho học sinh loại mảng hai chiều:
+ Khai báo mảng một chiều theo hai cách khác nhau, cách thứ nhất là ta khai
báo trực tiếp theo cú pháp sau:
Var <Tên biến mảng>: Array[m1..m2] of <Tên kiểu dữ liệu>;


GV: Phan Nghĩa Bình Nam
16


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


Trong đó: m1, m2 có cùng kiểu dữ liệu xác định phạm vi của chỉ số
m1<=m2;
Ví dụ:

VAR M:ARRAY[1..5] OF INTEGER;


+ Đối với cách thứ hai ta thực hiện khai báo gián tiếp theo hai bước với cú
pháp như sau:
Bước 1: Type <Tên kiểu mảng>=Array[m1..m2] of <Tên kiểu dữ liệu>;
Bước 2: Var <Tên biến mảng>:<Tên kiểu mảng>;
Ví dụ: Type M=Array[1..5] of Integer;
Var a:M;
Tùy theo yêu cầu từng bài toán mà ta có thể sử dụng cách trực tiếp hay gián
tiếp, học sinh cần hiểu và đọc kỹ đề từng bài toán.
Chương trình có thể được viết theo cách 1 có nội dung code như sau:
Program Nhietdo_Tuan;
Uses Crt;
Var t1,t2,t3,t4,t5,t6,t7:Real;
Dem:Byte
Begin
Clrscr;
Write(‘Nhap vao nhiet do cua 7 ngay: ’);
Readln(t1,t2,t3,t4,t5,t6,t7);
tb:=(t1+t2+t3+t4+t5+t6+t7)/7;
Dem:=0;
If t1>tb then Dem:=Dem+1;
If t2>tb then Dem:=Dem+1;
If t3>tb then Dem:=Dem+1;
If t4>tb then Dem:=Dem+1;
If t5>tb then Dem:=Dem+1;


GV: Phan Nghĩa Bình Nam
17



Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


If t6>tb then Dem:=Dem+1;
If t7>tb then Dem:=Dem+1;
Writeln(‘Nhiet do trung binh tuan la: ’,tb:8:1);
Writeln(‘So ngay co nhiet do cao hon trung binh la: ’,dem);
Readln;
End.
Nếu viết theo cách thứ hai ta sẽ có đoạn code được viết như sau:
Program Nhietdo_Tuan;
Uses Crt;
Var A:Array[1..7] of Real;
Tong,tb:Real;
i,dem:byte;
Begin
Clrscr;
Tong:=0; dem:=0;
For i:=1 to 7 do
Begin
Writeln(‘Nhap nhiet do ngay thu’,i,’’);
Readln(A[i]);
Tong:=Tong+A[i];
End;
tb:=Tong/7;
Writeln(‘Nhiet do trung binh cua ca tuan la: ’,tb:8:1);
For i:=1 to 7 do
If A[i]>tb then dem:=dem+1;
Writeln(‘So ngay co nhiet do cao hon trung binh la: ’,dem);

Readln;


GV: Phan Nghĩa Bình Nam
18


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


End.
Nếu so sánh 2 cách viết ta có nhận xét như sau: Đối với cách thứ nhất phải
khai báo 30 biến đơn, sử dụng 30 lệnh if...then. Còn đối với cách thứ hai chỉ cần
khai báo một mảng gồm 30 phần tử, ta sử dụng lệnh For i:=1 to 30 do...
Như vậy một cách nhìn rõ ràng giáo viên hướng dẫn cho học sinh phân tích
bài tốn khi sử dụng biến đơn cùng kiểu dữ liệu, thì việc sử dụng biến mảng sẽ
thuận lợi hơn rất nhiều trong việc thực hiện lập trình các bài tốn xử lý dãy số, học
sinh sẽ rút ngắn thời gian và công việc lập trình đỡ vất vả hơn khi xử lý các bài tập
thực hành;
Đối với phần mảng hai chiều dù trong chương trình khơng có nhưng giáo
viên cũng cần bổ sung cho các em đặc biệt là những học sinh giỏi bộ mơn và có
tính tư duy cao. Các hình thức đơn giản nhất của mảng đa chiều là mảng hai
chiều. Một mảng hai chiều, trong bản chất, một danh sách các mảng một chiều. Để
khai báo một mảng số nguyên hai chiều kích thước x, y, bạn sẽ viết một cái gì đó
như sau: Var ArrayName:Array[1..x,1..y] of element-type;
Trường hợp loại yếu tố có thể là bất kỳ kiểu dữ liệu hợp lệ Pascal
và ArrayName sẽ là một định danh Pascal hợp lệ. Một mảng hai chiều có thể được
hình dung như một bảng, trong đó sẽ có x số hàng và số y của cột. Như vậy, mỗi
phần tử trong mảng a được xác định bởi một tên phần tử có dạng a [i] [j], trong đó

một là tên của mảng, và i và j là những kí hiệu mà duy nhất xác định mỗi yếu tố
trong một;
Mảng nhiều chiều, như mảng một chiều, được khởi tạo bằng cách chuyển
nhượng thông qua, hoặc bằng cách xác định một subscript cụ thể hoặc sử dụng một
cho vịng lặp;
Bài tập: Viết chương trình nhập vào mảng 2 chiều C có n hàng, m cột. Xuất
ra những phần tử của mảng 2 chiều C thỏa điều kiện là những số chẳn.
Program Mang_2C;


GV: Phan Nghĩa Bình Nam
19


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


Uses Crt;
Type mang=Array[1..15,1..15] of integer;
Var c:mang;
m,n:byte;
i,j,k: Integer;
Begin
Clrscr;
Write('Nhap so hang n = '); Readln(n);
Write('Nhap so cot m = ');

Readln(m);


{nhap mang}
For i:=1 to n do
For j:=1 to m do
Begin
Write('C[',i,',',j,']=');
Readln(c[i,j]);
End;
{in matran}
For i:=1 to n do
Begin
For j:=1 to m do
If c[i,j]mod 2= 0 then Write(c[i,j]:6);
End;
Readln;
End. 


GV: Phan Nghĩa Bình Nam
20


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


Trong nội dung này giáo viên vận dụng để bồi dưỡng cho các em học sinh
giỏi bộ mơn, có ham thích học tập và nghiên cứu bộ mơn;
Bên cạnh các kinh nghiệm tích lũy được, bản thân tơi cịn nhận thấy cần vận
dụng nhiều phương pháp giúp cho tôi tập trung vào nghiên cứu đó là: phương pháp
điều tra, phương pháp quan sát, phương pháp phân tích, tổng hợp, phương pháp

thống kê để từ đó có biện pháp điều chỉnh chuyên môn giảng dạy cho phù hợp với
các đối tượng học sinh;
Rèn luyện kỹ năng lập trình đặc biệt là lập trình Pascal là một việc khơng
phải một sớm một chiều có thể nhanh chóng giỏi và giải quyết mọi bài tốn. Qua
nhiều năm kinh nghiệm giảng dạy bộ mơn Tin học, bản thân tôi thấy nếu muốn các
em học sinh giỏi về kỹ năng thực hành lập trình cần trang bị cho các em theo các
cách sau: Xem các code ví dụ (Look at the Example Code), đừng chỉ đọc các code
ví dụ – hãy chạy thử nó (Don’t just Read exam code – Run It), hãy viết mã riêng
của bạn càng sớm càng tốt (Write your own code as soon as possible), tìm hiểu
cách sử dụng một cơng cụ Debug (Learn to use a Debugger), Tìm kiếm thêm
những nguồn tài tài liệu khác (Seek our more sources);
* Khả năng áp dụng.
- Đề tài này có thể vận dụng cho tất cả học sinh mới bắt đầu làm quen ngơn
ngữ lập trình Pascal và cho cả việc bồi dưỡng học sinh giỏi và phụ đạo học yếu
kém trong phạm vi nhà trường.
* Lợi ích kinh tế - xã hội.
- Trong quá trình giảng dạy năm học 2016 – 2017 tôi đã áp dụng sáng kiến
nêu trên, qua khảo sát thực tế của học sinh, tôi đã thấy chất lượng bộ môn đạt kết
quả cao hơn so với ban đầu. Các em học sinh rất thích thú và một số em ham mê
nghiên cứu học môn Tin học nhất là các tiết vào giờ thực hành. Rèn luyện cho học
sinh tính tư duy, tính sáng tạo trong q trình lập trình, các em tự giải quyết vấn đề
mà lâu nay cịn vướn mắc chưa giải quyết được.


GV: Phan Nghĩa Bình Nam
21


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8




PHẦN C. KẾT LUẬN VÀ KIẾN NGHỊ.
Để giải một bài tốn trên máy tính thật sự khơng hề đơn giản dù cho chúng
ta biết nếu vận dụng phương pháp toán học thì việc xử lý khơng hề khó nhưng khi
chúng ta thực hiện u cầu trên máy tính bằng ngơn ngữ lập trình thì vạn điều khó.
Song song đó bản thân giáo viên phải trăn trở làm thế nào để giúp học sinh giải
quyết vấn đề một cách nhanh chóng hiệu quả đòi hỏi các em thật sự tập trung và
khơi dậy trong tinh thần các em niềm đam mê học tập;
Muốn được vậy giáo viên bộ môn Tin học cần trang bị dần dần cho các em
các kỹ năng trong các tiết thực hành, giúp các em hiểu cách xây dựng bài toán, mọ
tả thuật toán, đến việc viết chương trình, nhận biết các lỗi và sửa lỗi chương trình
để ngày ngày nâng cao khả năng đồng thời để góp phần nâng dần chất lượng dạy
và học tin ở các trường Trung học cơ sở;
Là một giáo viên tin học tơi muốn nói rằng chúng ta khơng chỉ dạy lý
thuyết suông mà cần phải rèn luyện cho học sinh các kỹ năng thực hành, khơi gợi
cảm giác dễ chịu mà khơng phải bị gị bó. Để từ đó học sinh mới nhận thấy được
ưu điểm của việc học chương trình này có lợi hơn ở điểm nào.
Tóm lại để giúp các em viết được một chương trình hồn chỉnh thỏa mãn
yêu cầu của bài toán đặt ra trên máy tính thì học sinh phải có tư duy lơgic về thuật
tốn, khả năng sử dụng máy tính thành thạo, sử dụng các câu lệnh và khai báo kiểu
dữ liệu một cách hợp lý. Với tham vọng nâng cao chất lượng giảng dạy bộ môn
đặc biệt là môn Tin học lớp 8, hy vọng thời gian tới bộ môn Tin học ở đơn vị
chúng tôi đạt nhiều kết quả đáng kể, cũng như chất lượng giáo dục đào tạo huyện
nhà ngày càng phát triển hơn so với các quận huyện trong toàn thành phố;
Trên đây là một số biện pháp mà tôi đã áp dụng vào dạy Tin học khối 8.
Tuy đã được đúc kết từ kinh nghiệm giảng dạy thực tế. Nhưng trong quá trình thực
hiện đề tài này sẽ khơng tránh khỏi những thiếu sót. Rất mong nhận được sự góp ý



GV: Phan Nghĩa Bình Nam
22


Trường THCS Nguyễn Văn Xơ
Sáng kiến kinh nghiệm Tin học 8


bổ ích của các thầy cơ giáo và các bạn đồng nghiệp để bài viết được hoàn thiện
hơn./.
Thái Mỹ, ngày 22 tháng 01 năm 2017
Chủ nhiệm đề tài

Phan Nghĩa Bình Nam



GV: Phan Nghĩa Bình Nam
23



×