MỤC LỤC
I. ĐẶT VẤN ĐỀ:...........................................................................................2
1.1. Lý do chọn đề tài:................................................................................2
1.2. Mục đích nghiên cứu:.........................................................................2
1.3. Đối tượng nghiên cứu:........................................................................3
1.4. Phương pháp nghiên cứu:..................................................................4
1.5. Giới hạn phạm vi nghiên cứu:...........................................................4
II. GIẢI QUYẾT VẤN ĐỀ:...........................................................................5
2.1. Cơ sở lý luận của vấn đề:......................................................................5
2.2. Thực trạng của vấn đề:.........................................................................6
2.3. Các biện pháp đã tiến hành giải quyết vấn đề:...................................8
2.3.1. Các yêu cầu cơ bản của giáo viên:..................................................8
2.3.2. Các yêu cầu cơ bản của học sinh:...................................................8
2.3.3. Biện pháp tiến hành:........................................................................9
2.4. Hiệu quả của SKKN:...........................................................................29
2.4.1. Kết quả đạt được:...........................................................................29
2.4.2. Bài học kinh nghiệm:.....................................................................30
III. KẾT LUẬN :............................................................................................32
TÀI LIỆU THAM KHẢO:...........................................................................33
1
I. ĐẶT VẤN ĐỀ:
1.1. Lý do chọn đề tài:
Trong những năm gần đây sự bùng nổ công nghệ thông tin đã tác động
lớn đến công cuộc phát triển kinh tế xã hội loài người. Với xu thế ngày càng
phát triển về công nghệ thông tin và ứng dụng công nghệ thông tin trong cuộc
sống hàng ngày là rất lớn, nên Đảng, Nhà nước đã xác định rõ ý nghĩa tầm
quan trọng của tin học và công nghệ thông tin, truyền thông cũng như những
yêu cầu đẩy mạnh của ứng dụng công nghệ thông tin, đào tạo nguồn nhân lực
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 tập cá thể với học tập hợp tác; giữa hình thức học cá
nhân với hình thức học theo nhóm.
1.5. Giới hạn phạm vi nghiên cứu:
Nhằm giới hạn phạm vi nghiên cứu theo như mục tiêu đã đề ra, đề tài
tập trung xem xét, phân tích, đánh giá các yếu tố nằm trong phạm vi sau:
Địa điểm nghiên cứu: Trường THCS Nay Der, huyện Chư Sê, tỉnh Gia Lai.
Hoạt động được nghiên cứu: tập trung nghiên cứu tình hình hoạt động trong
kiến thức lập trình ở chương trình tin học lớp 8.
Thời gian nghiên cứu: qua việc giảng dạy môn tin học lớp 8 các năm học
2014-2015, 2015-2016, 2016- 2017 tại Trường THCS Nay Der, huyện Chư
Sê, tỉnh Gia Lai.
4
II.
GIẢI QUYẾT VẤN ĐỀ:
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à.
2.2. Thực trạng của vấn đề:
Ngôn ngữ lập trình Turbo Pascal do nhà bác học Niklaus Wirth sáng lập
vào những năm 70 của thế kỷ XX. Đây là ngôn ngữ có cú pháp sảng sủa, dễ
hiểu và thường được dạy trong nhà trường và dành cho những người mới học
lập trình. Chính vì thế Pascal thường được gọi là "Ngôn ngữ lập trình của học
đường". Hai môi trường lập trình trên ngôn ngữ này đang được sử dụng phổ
biến hiện nay ở Việt Nam là Turbo Pascal và Free Pascal.
Lập trình Turbo Pascal là một ngôn ngữ lập trình có cú pháp chặt chẽ,
đơn giản và dễ hiểu, ngôn ngữ lập trình Pascal đang được giảng dạy cho học
sinh lớp 8. Turbo Pascal là ngôn ngữ cơ sở để giới thiệu cho học sinh làm
quen với kỹ thuật xây dựng chương trình. Quan điểm của tác giả viết ngôn
ngữ lập trình là chương trình máy tính được viết để giải quyết các bài toán
trong đời sống. Bằng cách đó học sinh sẽ dễ thấy hơn mối liên hệ chặt chẽ lập
trình và cuộc sống, cũng như lợi ích của việc lập trình để giải quyết các bài
toán bằng máy tính.
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.
7
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 cho học sinh thấy được môn tin học
là cần thiết cho bản thân các em sau này.
2.3.2. Các yêu cầu cơ bản của học sinh:
Học sinh phải xác định được sách giáo khoa là phương tiện chủ yếu để
học sinh học tập. Bên cạnh đó, học sinh phải biết chọn lọc những tài liệu tham
khảo phù hợp để học tốt môn tin học. Học sinh phải tích cực chủ động học
tập, thực hiện các yêu cầu của giáo viên và chuẩn bị chu đáo ở nhà trước khi
đến lớp. Trong quá trình học tập, các em phải tư duy theo sự hướng dẫn gợi
mở của giáo viên, phải chủ động quan sát vấn đề, hiện tượng, phối hợp giải
quyết, khám phá ra nội dung bài học để thực hành vận dụng đạt hiệu quả cao.
- 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...
9
+ 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
+ Từ khóa của lệnh lựa chọn: câu điều kiện
Phương pháp tổng quát để giải một bài toán bằng máy vi tính dựa trên
ngôn ngữ Pascal thì cần thực hiện được các bước cụ thể như sau:
Bước 1. Xác định các bài toán:
Là xác định xem ta phải giải quyết vấn đề gì?, với giả thiết nào đã cho
và lời giải cần phải đạt những yêu cầu gì. Khác với bài toán thuần tuý toán
học chỉ cần xác định rõ giả thiết và kết luận chứ không cần xác định yêu cầu
về lời giải, vì thế từ phát biểu của bài toán, 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:
Khi giải một bài toán ta cần phải định nghĩa tập hợp dữ liệu để biểu
diễn tình trạng cụ thể. Việc lựa chọn này tuỳ thuộc vào vấn đề cần giải quyết
và những thao tác sẽ tiến hành trên dữ liệu vào. Có những thuật toán chỉ thích
ứng với một cách tổ chức dữ liệu nhất định, đối với cách tổ chức dữ liệu khác
thì kém hiệu quả và không thể thực hiện được. Chính vì thế bước xây dựng
cấu trúc dữ liệu không thể tách rời bước tìm kiếm thuật toán giải quyết vấn
đề. Bởi 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
11
đị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
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
đầy đủ các tính chất của bài toán tổng quát trên, nhưng nó lại được diễn đạt
theo một các khác.
+ A : là đưa thông tin vào – thông tin trước khi xử lý (Input )
+ B: là đưa thông tin ra – kết quả sau khi xử lý (Output)
+ : là chương trình tạo từ các câu lệnh cơ bản của máy tính cho phép
xử lý từ A đến B.
- Xác định bài toán: Là xác định rõ 2 thành phần Input và Output và
mối quan hệ giữa chúng để có thể lựa chọn thuật toán và ngôn ngữ lập trình
thích hợp.
Ví dụ: Giải phương trình bậc nhất dạng tổng quát bx + c =0(SGK)
Các bước xác định cho bài toán:
+ Input
: Các số b và c
+ Output
: Nghiệm của phương trình bậc nhất
Ví dụ : Lần lượt đưa giá trị b, c vào
( b = 5,c = - 7)
Áp b = 0 và c = 0 thì phương trình có vô số nghiệm
Nếu b = 0 và c ≠ 0 thì phương trình vô nghiệm
Nếu b ≠ 0 thì phương trình có nghiệm x = -c/b;
Kết quả in ra là x = 7/5
* Tìm dữ liệu biểu diễn thuật toán:
Các kí tự trong bảng chữ cái
String
Các dãy số tối đa 255 kí tự
+ Dữ liệu phải phù hợp với các thao tác của thuật toán mà ta lựa chọn
để giải quyết bài toán.
* Xây dựng thuật toán:
- Khái niệm thuật toán:
Thuật toán là dãy hữu hạn các thao tác cần thực hiện theo trình tự xác
định để thu được kết quả cần thiết từ những điều kiện cho trước.
- Phương pháp biểu diễn thuật toán: Khi chứng minh hoặc giải một
bài toán 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.
14
+ 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.
đồ thường được dùng trong những thuật toán có tính rắc rối, khó theo dõi
được quá trình xử lý.
+ Ðể biểu diễn thuật toán theo sơ đồ khối, ta phải phân biệt hai loại
thao tác.
Một thao tác là thao tác chọn lựa dựa theo một điều kiện nào đó.
Các thao tác không thuộc loại chọn lựa được xếp vào loại hành
động.
+ Ưu điểm
Trực quan, dễ hiểu, dễ thiết kế.
Cung cấp toàn cảnh, tổng quan về thuật toán.
+ Nhược điểm
Cồng kềnh, đặc biệt đối với bài toán phức tạp
Một số khối trong sơ đồ khối dùng để biểu diễn thuật toán.
16
+ Cấu trúc tuần tự: Các bước thực hiện theo một trình tự, hết bước
này tới bước khác.
+ 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
17
18
Ví dụ: Thuật toán tìm nghiệm của phương trình bậc nhất ax+b=0
Nhập : 2 hệ số a, b,
Xuất : nghiệm của phương trình
Thuật toán:
1. a = 0
2. if b = 0 then
begin
Xuất kết quả: phương trình có vô số nghiệm
end
3. esle if b 0 then
Xuất kết quả: phương trình vô nghiệm
4. else if a 0
Xuất kết quả: phương trình có nghiệm x= -b/a
* Viết chương trình:
- Viết chương trình là dùng ngôn ngữ lập trình cụ thể nào để diễn tả thuật
toán, cấu trúc dữ liệu thành câu lệnh để máy tính có thể thực hiện được và giải
quyết đúng bài toán mà người viết chương trình mong muốn. Và đây cũng là
một trong những bước then chốt của người lập trình.
- Sau khi đã có thuật toán ta phải lập trình để thực hiện thuật toán đó.
Muốn lập trình đạt hiệu quả cao, cần phải có kỹ thuật lập trình tốt. Kỹ thuật lập
trình tốt thể hiện ở kỹ năng viết chương trình, khả năng gỡ rối và thao tác nhanh.
- Lập trình tốt không chỉ nắm vững ngôn ngữ lập trình là đủ, mà phải biết
cách viết chương trình một cách uyển chuyển, khôn khéo và phát triển dần dần
để chuyển các ý tưởng ra thành chương trình hoàn chỉnh.
21
22
Clrscr.
Khai báo Hằng: Hằng là đại lượng không đổi trong suốt quá trình
thực hiện chương trình( Hằng được sử dụng cho các giá trị xuất hiện nhiều lần
trong chương trình). Ta dùng tên hằng để chương trình rõ ràng và dễ sửa đổi.
Hằng được khai báo với từ khóa Const
Cú pháp Const <tên hằng> = <giá trị>;
Ví dụ :
Const chiphi = 1000 ;
Khai báo Biến: Là đại lượng mà giá trị của nó có thể thay đổi trong
quá trình thực hiện chương trình.
Biến được khai báo với từ khóa Var
Biến là tên của một vùng bộ nhớ lưu trữ dữ liệu.
TT
Thủ tục
Cú pháp lệnh
Read(x1, x2,..., xn);
Ý nghĩa lệnh
Nhập các biến x1, x2,…, xn theo
hàng ngang từ bàn phím (con trỏ
1
Nhập
Readln(x1, x2, ..., xn);
không xuống hàng).
Nhập các biến x1, x2,…, xn theo
hàng dọc từ bàn phím (mỗi lần nhập
Readln;
con trỏ xuống hàng).
Dừng chương trình, đợi Enter mới
Write(x1, x2, ..., xn);
tiếp tục.
Viết giá trị trong các biến x1, x2,..,xn