MỤC LỤC
I.
1.1.
MỞ ĐẦU:
Lý do chọn đề tài:
Trong kỷ nguyên công nghệ bùng nổ, không có gì bất ngờ khi công nghệ
thông tin luôn giữ vững vị thế là một trong những ngành hàng đầu về nhu cầu
nhân lực và tiềm năng phát triển. Vị thế này càng được củng cố trong bối cảnh
thế giới bước vào thời đại Cách mạng công nghiệp 4.0. Trong xã hội hiện đại,
công nghệ thông tin được coi là ngành quyền lực bậc nhất với hàng loạt ứng
dụng trong mọi lĩnh vực của đời sống - từ sản xuất, kinh doanh đến giáo dục, y
tế, văn hóa... Đặc biệt, ở thời kỳ 4.0 - mà tại Việt Nam cơ bản là ứng dụng
những công nghệ tự động hóa, trao đổi dữ liệu… trong công nghệ sản xuất, công
nghệ thông tin càng khẳng định được tầm quan trọng của mình - vừa là nền tảng,
vừa là động lực để bắt kịp đà phát triển của thế giới. Các hệ thống công nghệ
thông minh chính là điều kiện để tối ưu hóa năng suất lao động, tiết giảm nhân
lực lao động thủ công, tiết kiệm chi phí sản xuất. Trong nhiều năm qua Sở giáo
dục và đào tạo tỉnh Thanh Hóa nói chung và trường THPT Đông Sơn 2 nói riêng
đã phát động phong trào “Ứng dụng công nghệ thông tin trong quản lý và dạy
học" và xem đây là giải pháp đột phá để nâng cao chất lượng giáo dục, giải pháp
này đã được các nhà trường tích cực hưởng ứng và thực hiện đạt hiệu quả cao
trong quản lý và dạy học.
Để đáp ứng nhu cầu giảng dạy bộ môn tin học ở trong nhà trường, trường
THPT Đông Sơn 2 đã rất quan tâm đầu tư trang thiết bị phục vụ cho việc dạy
học của giáo viên và học sinh. Vì vậy cơ sở vật chất của các nhà trường đã từng
bước được bổ sung về hệ thống máy vi tính và các điều kiện khác để phục vụ
cho công tác dạy và học. Môn tin học đã được đưa vào giảng dạy ở trường trung
dưỡng học sinh dự thi học sinh giỏi môn tin học về ngôn ngữ lập trình Pascal
cùng với nhiều đối tượng học sinh khác nhau trong trường, tôi nhận thấy học
sinh còn lúng túng nhất ở khâu vận dụng xây dựng chương trình cụ thể, không
biết làm thế nào? bắt đầu từ đâu? Do đó tôi đã tích luỹ được một vài kinh
nghiệm về “kỹ năng lập trình pascal cho học sinh lớp 11”. Giúp các em hiểu,
yêu thích lập trình và học lập trình trong sự hứng thú, phấn khởi.
1.3.
Đối tượng nghiên cứu:
Trong chương trình lớp 11, các em làm quen với lập trình. Ngôn ngữ lập
trình dường như rất xa lạ vì đây là kiến thức đầu tiên trong lập trình mà các em
được học.
Qua giảng dạy môn Tin học ở trường THPT Đông Sơn 2, bản thân tôi nhận
thấy rằng nhiều học sinh lớp 11 thấy môn lập trình Pascal khó, khô khan và cực
kỳ phức tạp. Mới đầu các em cũng rất sợ vì khi thấy giải một bài toán ở ngoài thì
đơn giản và chỉ trong vòng vài giây có thể nhẩm ra kết quả còn ở trong lập trình
cũng bài toán đó mà phải làm đến hàng chục phút, đưa ra thuật toán mà có thể
cho kết quả sai. Tâm lý một số em đều cho rằng môn Tin học không phải là môn
học chính. Do đó không cần phải để tâm đến.
1.4.
Phương pháp nghiên cứu:
Vận dụng linh hoạt, sáng tạo các phương pháp dạy học theo cách phát
huy yếu tố tích cực và những ưu điểm của phương pháp dạy học truyền thống
cùng phương pháp dạy học hiện đại nhằm tăng cường tính tích cực của học sinh
trong tiếp nhận kiến thức, hình thành kỹ năng sử dụng máy tính, sử dụng thành
thạo phần mềm Turbo Pascal để phục vụ cho học tập và bước đầu vận dụng vào
cuộc sống. Từ đó, tôi luôn tạo điều kiện tối ưu để học sinh bồi dưỡng kỹ năng tự
học. Vận dụng linh hoạt, sáng tạo các hình thức tổ chức học tập kết hợp giữa học
buộc. Tăng cường kiểm tra đánh giá bằng nhiều hình thức khác nhau theo chuẩn
kiến thức kỹ năng, yêu cầu học sinh tự viết các chương trình hoàn chỉnh đó là
một biện pháp kích thích hứng thú học tập. Với phương pháp dạy và học hiện
nay đang có xu hướng thay đổi một cách tích cực. Phương pháp mới hướng tới
lấy học sinh làm trung tâm, học sinh không còn đóng vai trò tiếp thu một cách
thụ động những kiến thức do giáo viên truyền đạt. Giáo viên trở thành người
hướng dẫn, giúp đỡ học sinh. Học sinh hướng tới việc học tập chủ động, biết tự
thích nghi. Kiến thức được cá nhân học sinh tự tìm tòi, phát hiện một cách tích
cực dưới sự hướng dẫn của giáo viên. Ngoài ra, cách tổ chức học theo nhóm làm
tăng thêm khả năng cộng tác, khả năng làm việc tập thể. Tin học là môn học có
nhiều điều kiện thuận lợi để thực hiện các phương pháp dạy và học mới này.
Cũng như những môn học khác, việc rèn luyện kỹ năng lập trình trong bộ
môn tin học cần được thực hiện trong hoạt động và bằng hoạt động tự giác, tích
cực, chủ động và sáng tạo của học sinh. Khi cần dạy một nội dung tin học cho
học sinh, người giáo viên phải biết phân tích nội dung đó liên quan đến những
hoạt động nào. Và một số hoạt động trong đó lại được phân tích thành những
hoạt động thành phần. Rồi căn cứ vào mục tiêu tiết học, trình độ học sinh, trang
thiết bị hiện có mà lựa chọn cho học sinh tập luyện và thực hiện một số những
hoạt động tiềm tàng trong nội dung cần dạy. Để học sinh có ý thức về ý nghĩa
của những hoạt động, cần tạo động cơ học tập cho học sinh, để học sinh học
bằng sự hứng thú thực sự, nó được nảy sinh từ việc ý thức sâu sắc ý nghĩa nội
dung bài học, học bằng tất cả tính tích cực, độc lập và trách nhiệm cao nhất của
học sinh.
Để thưc hiện được các mục đích trên cần phải đặt học sinh vào tình huống
có vấn đề để hướng đích cho học sinh. Phải tập luyện cho học sinh những hoạt
động ăn khớp với tri thức phương pháp. Phải phân bậc hoạt động để tuần tự
nâng cao yêu cầu khi tình huống dạy học cho phép hoặc hạ thấp yêu cầu khi học
sinh gặp khó khăn. Hệ thống bài tập được phân bậc để học sinh luyện tập tại lớp
hoặc làm ở nhà.
cũng như chất lượng, mỗi ca thực hành có tới 2 đến 3 em ngồi chung một máy
nên các em không có nhiều thời gian để thực hành làm bài tập một cách đầy đủ.
- Nhiều máy cấu hình đã cũ, chất lượng không còn đảm bảo hay hỏng hóc ảnh
hưởng đến chất lượng học tập của học sinh.
- Một số học sinh chưa coi trọng môn học, xem đây là một môn phụ nên chưa có
sự đầu tư thời gian cho việc học môn Tin học, một số em còn sử dụng máy vi
tính không đúng mục đích của môn học. Một số em tiếp thu kiến thức còn chậm,
đặc biệt là kỹ năng đọc hiểu chương trình vì đa phần dùng ngôn ngữ Tiếng Anh.
- Đa phần phụ huynh học sinh làm nông nên sự quan tâm đến việc học của con
em còn hạn chế, ít có điều kiện chăm sóc, giáo dục và định hướng cho con em
trong việc học tập.
Ngoài ra, ở chương trình Tin học 11, các em phải làm quen, tiếp cận với
ngôn ngữ lập trình Pascal là một phần mềm có cấu trúc phức tạp, ngôn ngữ lập
trình bằng tiếng anh. Mặt khác để thực hiện được một chương trình thì các em
phải có một kiến thức toán học nhất định.
2.3. Các biện pháp đã tiến hành giải quyết vấn đề:
2.3.1. Các yêu cầu cơ bản của giáo viên:
Giáo viên cần phải nắm vững các phương pháp dạy học Tin học (theo sự
đổi mới: kết hợp giữa “ôn cũ giảng mới”, trong tiết dạy cần kết hợp phương
pháp dạy “vừa lý thuyết, vừa thực hành”...) nhằm phát huy tính tích cực, chủ
động của học sinh trong học tập. Để nâng cao chất lượng dạy học môn tin học,
giáo viên phải tiếp cận nội dung bài và lựa chọn các phương pháp, xây dựng hệ
thống các dạng bài tập lập trình phù hợp với ba đối tượng: giỏi- khá, trung bình,
yếu- kém. Từ đó dẫn dắt học sinh tự khám phá kiến thức, không thụ động ghi
nhận kiến thức giáo viên cung cấp, phải có sự phối hợp giữa hoạt động dạy và
hoạt động học trên cơ sở lấy học sinh làm trung tâm. Để kích thích hứng thú học
tập và hoạt động tích cực chủ động của học sinh, giáo viên phải phối hợp nhuần
nhuyễn, phù hợp các phương pháp dạy học đồng thời giáo viên phải tác động
+ Phép toán *, /, DIV, MOD, AND.
+ Phép toán +, -, OR, XOR
+ Phép toán so sánh =, <, >, <=, >=, , IN
- Câu lệnh:
+ Câu lệnh đơn giản:
Câu lệnh gán (:=): <Tên biến>:=<Biểu thức>;
Lời gọi hàm, thủ tục.
+ Câu lệnh có cấu trúc:
Câu lệnh ghép: BEGIN ... END;
Các cấu trúc điều khiển:
IF.., CASE..., FOR..., REPEAT..., WHILE...
+ Các lệnh xuất nhập dữ liệu:
Lệnh xuất dữ liệu:
Để xuất dữ liệu ra màn hình, ta sử dụng ba dạng sau:
(1) WRITE( [, ,...]);
(2) WRITELN( [, ,...]);
(3) WRITELN;
Nhập dữ liệu:
Để nhập dữ liệu từ bàn phím vào các biến có kiểu dữ liệu chuẩn (trừ các
biến kiểu BOOLEAN), ta sử dụng cú pháp sau đây:
READLN(<biến 1>, <biến 2>,...,<biến n>);
- Từ khóa: Là các từ riêng của Pascal, có ngữ nghĩa đã được xác định,
không được dùng nó vào các việc khác hoặc đặt tên mới trùng với các từ khóa:
Array, Begin, Const, Div, Do, Else, For, If, Mod, Program, String, Then, To, Var,
While…
+ Từ khóa chung: PROGRAM, BEGIN, END
+ Từ khóa để khai báo như biến, hằng, mảng, xâu kí tự: VAR, CONST, ARRAY,
STRING
Là các em phải xác định được đâu là thông tin đã cho (Input) và đâu là
thông tin cần tìm (Output). Xác định đúng yêu cầu bài toán là rất quan trọng bởi
nó ảnh hưởng tới cách thức giải quyết và chất lượng một lời giải. Một bài toán
thực tế thường cho những thông tin khá mơ hồ và hình thức, ta phải phát biểu lại
một cách chính xác và chặt chẽ để hiểu đúng bài toán.
Bước 2. Mô tả thuật toán:
Thuật toán là một hệ thống chặt chẽ và rõ ràng các quy tắc nhằm xác định
một dãy thao tác trên cấu trúc dữ liệu sao cho: Với một bộ dữ liệu vào, sau một
số hữu hạn bước thực hiện các thao tác đã chỉ ra, ta đạt được mục tiêu đã định.
Từ đó tìm cách giải bài toán và diễn tả bằng các lệnh cần phải thực hiện.
Bước 3. Viết chương trình:
Dựa vào mô tả thuật toán ở bước 2 trên, ta viết chương trình bằng một
ngôn ngữ lập trình mà các em đã học (Cụ thể là dùng ngôn ngữ lập trình Turbo
Pascal để viết chương trình).
c. Phân tích chi tiết nội dung cần viết chương trình:
* Xác định bài toán:
- Khái niệm bài toán: Bài toán là một công việc hay một nhiệm vụ cần phải giải
quyết.
+ Biễu diễn vấn đề bài toán: A → B
Trong đó: A: Giả thiết, điều kiện ban đầu.
B: Kết luận, mục tiêu cần đạt.
+ Giải quyết vấn đề bài toán:
Từ A dùng một số hữu hạn, các bước suy luận có lý hoặc hành động thích hợp
để đạt được B
Trong Tin học: A là đầu vào, B là đầu ra.
- Quá trình giải bài toán trên máy tính: Bài toán trên máy cũng mang
trong toán học, chúng ta thường dùng những ngôn từ toán học như : "ta có",
"điều phải chứng minh", "giả thiết", ... và sử dụng những phép suy luận toán học
như phép suy ra, tương đương, ...Thuật toán là một phương pháp thể hiện lời
giải bài toán nên cũng phải tuân theo một số quy tắc nhất định. Ðể có thể truyền
đạt thuật toán cho người khác hay chuyển thuật toán thành chương trình máy
tính, ta phải có phương pháp biểu diễn thuật toán. Có 3 phương pháp biểu diễn
thuật toán:
+ Dùng ngôn ngữ tự nhiên.
+ Dùng lưu đồ - sơ đồ khối
+ Dùng mã giả
- Các tiêu chí thuật toán cần thỏa mãn:
+ Tính hữu hạn: Giải thuật phải dừng lại sau một số bước hữu hạn.
+ Tính dừng: Khi kết thúc giải thuật phải cung cấp kết quả đúng đắn.
+ Tính hiệu quả: Thời gian tính toán nhanh.
+ Sử dụng ít tài nguyên không gian như: bộ nhớ, thiết bị.
+ Mang tính phổ dụng: dễ hiểu, dễ cài đặt và mở rộng cho các bài toán khác.
Ví dụ: Bài toán giải phương trình bậc nhất 1 ẩn ax+b=0
Bước 1: Nhập a, b.
Bước 2: Nếu a = 0 thì
Bước 2.1 . Nếu b = 0 thì phương trình vô số nghiệm.
Bước 2.2. Nếu b ≠ 0 thì phương trình vô nghiệm
Bước 3. Nếu a ≠ 0 thì phương trình có nghiệm x= - b/a.
Bước 4. Đưa ra giá trị nghiệm x.
Bước 5. Kết thúc.
- Lưu đồ - sơ đồ khối
+ Lưu đồ hay sơ đồ khối là một công cụ trực quan để diễn đạt các thuật toán.
Biểu diễn thuật toán bằng lưu đồ sẽ giúp người đọc theo dõi được sự phân cấp
các trường hợp và quá trình xử lý của thuật toán. Phương pháp lưu đồ thường
+ Cấu trúc rẽ nhánh:
•
Nếu biểu thức điều kiện đúng, thực hiện công việc 1
•
Nếu biểu thức điều kiện sai, thực hiện công việc 2
+ Cấu trúc lặp
Ví dụ: Giải phương trình bậc nhất ax + b = 0
- Mã giả:
+ Là ngôn ngữ tựa như ngôn ngữ lập trình. Trong mã giả ta còn sử dụng
cả các ký hiệu toán học, các biến, và đôi khi cả cấu trúc kiểu thủ tục. Cấu trúc
thuật toán kiểu thủ tục thường được sử dụng để trình bày các thuật toán đệ qui
hay các thuật toán quá phức tạp cần phải được trình bày thành nhiều cấp độ.
+ Ưu điểm:
•
Tiện lợi, đơn giản.
•
Dễ hiểu, dễ diễn đạt.
+ Cùng với việc sử dụng các biến, trong thuật toán rất thường gặp một phát biểu
•
•
•
+ Phần khai báo :
Phần khai baó bắt đầu bằng từ khóa Program.
Phần khai báo gồm:
Khai báo tên chương trình.
Khai báo thư viện.
Một số khai báo khác( khai báo biến, khai báo hằng…)
Khai báo tên chương trình chấm dứt bằng dấu chấm phẩy(;). Tên chương trình
phải được đặt theo đúng quy cách của danh hiệu tự đặt. Phần này có hay không
cũng được.
Ví dụ:
•
•
•
Var x , y : integer ; A: Array[1..50] of real;
- Phần thân chương trình:
+ Phần thân chương trình là phần đặc biệt quan trọng và bắt buộc phải có, phần này
luôn nằm giữa 2 từ khoá là begin và end. Ở giữa là lệnh mà các chương trình chính
cần thực hiện. Đề bài yêu cầu viết chương trình thực hiện công việc gì thì ở phần
thân phải có các câu lệnh dùng để thực hiện công việc đó. Sau từ khóa end là dấu
chấm (.) để báo kết thúc chương trình. Các lệnh sau dấu chấm đều không có ý
nghĩa.
+ Các thủ tục nhập, xuất thường dùng
TT Thủ tục Cú pháp lệnh
Read(x1, x2,..., xn);
1
Nhập
Readln(x1, x2, ..., xn);
Readln;
Write(x1, x2, ..., xn);
Writeln(x1, x2, ..., xn);
2
Xuất
Writeln;
Writeln(R : n : m);
Ý nghĩa lệnh
Nhập các biến x1, x2,…, xn theo
Dongia,thanhtien:real;
Thongbao:string;
CONST phi =5000;
{Khai báo hằng}
BEGIN
{ Thân chương trình chính }
Clrscr ;
{ Xóa màn hình }
Thongbao:=’tong so tien phai thanh toan:’;
Write(’don gia=’); readln(dongia);
Write(’so luong =’); readln(soluong);
Thanhtien:=soluong*dongia+phi;
Witeln(’thongbao,thanhtien:3:2’);
Readln;
END.
{ Kết thúc chương trình}
* Chạy thử, thay đổi, kiểm tra chương trình
Một số phím chức năng thường dùng
STT
Phím
Chức năng
1
F2
Thoát khỏi Turbo Pascal.
7
Alt + F9
Biên dịch chương trình
8
Ctrl + F9
Chạy chương trình
9
Alt +
10
F10
Vào hệ thống Menu của Pascal.
•
•
•
Tính tin cậy: Chương tŕnh phải chạy đúng như dự định, mô tả đúng một giải
thuật đúng. Thông thường khi viết chương tŕnh, ta luôn có thói quen kiểm tra
tính đúng đắn của các bước mỗi khi có thể.
Tính uyển chuyển: Chương trình phải dễ sửa đổi. Bởi ít có chương trình nào viết
ra đã hoàn hảo ngay được mà vẫn cần phải sửa đổi lại. Chương trình viết dễ sửa
đổi sẽ làm giảm bớt công sức của người lập trình khi phát triển chương trình.
Tính trong sáng: Chương trình viết ra phải dễ đọc dễ hiểu, để sau một thời gian
dài, khi đọc lại còn hiểu mình làm cái gì? Để nếu có điều kiện thì còn có thể sửa
sai cải tiến hay biến đổi để được chương trình giải quyết bài toán khác. Tính
trong sáng của chương trình phụ thuộc rất nhiều vào công cụ lập trình và phong
cách lập trình.
•
Tính hữu hiệu: Chương trình phải chạy nhanh và ít tốn bộ nhớ, tức là
•
tiết kiệm được cả về không gian và thời gian. Để có một chương trình hữu hiệu,
cần phải có giải thuật tốt và những tiểu xảo khi lập trình. Tuy nhiên, việc áp
dụng quá nhiều tiểu xảo có thể khiến chương trình trở nên rối rắm, khó hiểu khi
sửa đổi. Tiêu chuẩn hữu hiệu nên dừng lại ở mức chấp nhận được, không quan
trọng bằng ba tiêu chuẩn trên. Bởi phần cứng phát triển rất nhanh, yêu cầu hữu
triển nguồn nhân lực trí thức về công nghệ phần mềm góp phần tin học hóa với
những công nghệ hiện đại, xây dựng huyện Chư Sê ngày một giàu mạnh, góp
một phần đưa nước Việt Nam trở thành một nước công nghiệp hóa – hiện đại
hóa.
Học lập trình sẽ làm tăng khả năng của học sinh và là công cụ giúp các em
thể hiện bản thân. Việc biết sử dụng một chiếc máy tính thông thạo sẽ giúp các
em có thể giải quyết những vấn đề phức tạp một cách nhanh nhất, biến những
sáng tạo của các em trở thành nội dung thiết thực với thực tế hơn là chỉ học qua
sách vở. Những quan trọng hơn là những gì mà các em được tiếp nhận là kỹ
năng “ giao tiếp” một cách thành thạo với máy móc.
Các em học tốt lập trình, cũng là cách rèn luyện, tự học tự rèn luyện ngoại
ngữ (Tiếng Anh) một môn học rất hữu ích là hành trang để các em vững bước
vào tương lai.
Sau khi áp dụng sáng kiến vào giảng dạy tôi thấy học sinh tích cực học tập
hơn và kết quả học sinh khá giỏi tăng lên rõ rệt, đặc biệt là tỉ lệ học sinh trung
bình, yếu, kém giảm xuống đáng kể. Cụ thể tôi đã tiến hành khảo sát chất lượng
học sinh sau khi áp dụng đề tài trên và thu được kết quả như sau:
Điểm
-
Năm 2015 – 2016
(Chưa áp dụng
SKKN)
Số em
Tỷ lệ %
Năm 2016 – 2017
8,5%
X
2.4.2. Bài học kinh nghiệm:
Trên đây là một vài kinh nghiệm của bản thân sau một thời gian áp dụng
kinh nghiệm vào dạy học nhằm phát huy tính tích cực, chủ động, sáng tạo của
học sinh. Để viết được một chương trình hoàn chỉnh và có hiệu quả, giáo viên
cần nghiên cứu nội dung chương trình, nội dung bài học mà học sinh đã giải
được. Sau đó giáo viên phân tích nội dung bài dạy, tìm ra những vấn đề, những
khái niệm cần hình thành và truyền đạt cho học sinh, xác định các dạng bài tập
phù hợp với đối tượng học sinh, quỹ thời gian, điều kiện trường lớp, trang thiết
bị dạy học để học sinh có khả năng viết một chương trình hoàn chỉnh.
Khi viết một chương trình học sinh cần phải thực hiện đúng các bước lập
trình:
Xác định bài toán: Xác định Input, Output.
Tìm thuật toán: Phương pháp giải bài toán.
Viết chương trình: Hoàn thành một chương trình bằng ngôn ngữ lập trình.
III.
KẾT LUẬN, KIẾN NGHỊ :
3.1. Kết luận.
Đối với phương pháp dạy học không ngừng nâng cao hiệu quả chất lượng,
phát huy năng lực trí tuệ của học sinh là việc làm có tính thường xuyên của tất
cả các giáo viên. Sử dụng các phương pháp dạy học tích cực như: vấn đáp gợi
mở, thuyết trình, đặc biệt là cần thực hành cụ thể trên máy vi tính …, góp phần
tích cực trong đổi mới phương pháp dạy học nói chung và dạy môn Tin học nói
riêng.
Nguyễn Thị Thu Thủy
Lê Thị Nga
DANH MỤC
SÁNG KIẾN KINH NGHIỆM ĐÃ ĐƯỢC HỘI ĐỒNG SÁNG KIẾN KINH
NGHIỆM NGÀNH GIÁO DỤC VÀ ĐÀO TẠO HUYỆN, TỈNH VÀ CÁC
CẤP CAO HƠN XẾP LOẠI TỪ C TRỞ LÊN
Họ và tên tác giả: Lê Thị Nga
Chức vụ và đơn vị công tác: Giáo viên- trường THPT Đông Sơn 2.
Cấp đánh giá xếp loại
TT
1.
Tên đề tài SKKN
(Ngành GD cấp
huyện/tỉnh; Tỉnh...)
Kết quả
đánh giá
xếp loại
(A, B,
hoặc C)
Năm