Tải bản đầy đủ (.docx) (14 trang)

PHƯƠNG PHÁP GIẢI bài tập PASCAL

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 (176.21 KB, 14 trang )

PHƯƠNG PHÁP GIẢI BÀI TẬP PASCAL
I PHẦN MỞ ĐẦU
1. Lý do
Mỗi học sinh đến với bộ môn tin học ở cấp 2 thường cảm thấy khó khăn lớp kiến
thức lập trình ở khối lớp 8. Quả thật như vậy vì với các em, 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.
Vì vậy trong quá trình công tác tại trường để giúp các em thêm kiến thức lập trình và
làm bài tập pascal nên tôi đã chọn đề tài “phương pháp giải bài tập pascal”
2. Mục Tiêu Và Nhiệm Vụ
Là một giáo viên tin học, mục tiêu chính của tôi là giúp học sinh không chỉ biết
soạn thảo mà còn phải có khả năng phân tích, tổng hợp, trừu tượng hoá, khái quát
hoá vấn đề và đặc biệt là phát triển tư duy, sáng tạo. Những năm qua môn tin học ở
THCS chưa có sách hướng dẫn cụ thể cho học sinh về cách phân tích lập trình nên
việc học của học sinh phụ thuộc rất lớn ở mỗi giáo viên đứng lớp. Với sáng kiến
“PHƯƠNG PHÁP GIẢI BÀI TẬP PASCAL”
” giúp học sinh nắm vững các kỹ năng và kiến thức cơ bản để từ đó tạo tiền đề cho
việc học lập trình về sau.
3. Đối Tượng, Phạm Vi Nghiên Cứu
Học Sinh Khối 8 Trường Thcs Hùng Vương Xã Bình Thuận Thị Xã Buôn Hồ
4. Phương Pháp Nghiên Cứu
Nghiên cứu một số phương pháp tích cực hóa hoạt độngcủa học sinh trong học tập
tin học ở nhà trường cũng như ở nhà.
Cùng đồng nghiệp trao đổi kiến thức chuyên môn, áp dụng phương pháp tích cực
dạy học cho học sinh, tham khảo trên mạng internet qua diễn đàng hội người thích
pascal.
II. PHẦN NỘI DUNG
1. Cơ sở lý luận
Ngôn ngữ lập trình PASCAL là một phần mềm có cấu trúc và rất được nhiều độc
giả quan tâm và cũng chính ở đó có nhiều cuốn sách hay đã ra đời do nhiều tác giả
viết. Song với bản thân tôi khi lựa chọn viết đề tài “PHƯƠNG PHÁP GIẢI BÀI
TẬP PASCAL” nhằm ứng dụng ngôn ngữ lập trình pascal vào chương trình lớp 8 để


phát huy hết năng lực của học sinh.
2. Thực trạng
a. Thuận lợi – khó khăn
- Được sự quan tâm, giúp đỡ tận tình của Ban Gíam Hiệu và tổ chức đoàn thể trong
nhà trường. Sự ủng hộ nhiệt tình của các đồng nghiệp đã giúp cho quá trình giảng
dạy Tin học của tôi đạt hiệu quả cao hơn.
-Hầu hết học sinh đều có Sách giáo khoa.
-Sách giáo khoa rõ, đẹp có đầy đủ kênh hình và biểu mẫu.
-Mỗi lớp đếu có số học sinh ham học, tích cực phát biểu xây dựng bài trong giờ học
là nguồn động viên lớn trong quá trình giảng dạy của tôi.
-Nhìn chung, học tập theo phương pháp mới thì học sinh có hứng thú học tập hơn so
với so với phương pháp dạy học truyền thống. Vì thế, có điều kiện phát triển tư duy
và khả năng diễn đạt của các em.
-Cơ sở vật chất chưa trang bị đầy đủ: số lượng máy
-Đội ngũ giáo viên Tin học còn thiếu cả về số lượng.
-Học sinh đa số là con em nông dân nghèo, gia đình không có máy tính để các em
làm bài tập thêm ở nhà.
b. Thành Công Và Hạn Chế
Quá trình áp dụng phương pháp giải bài tập pascal thì học sinh đã hình thành được
các bài tập trên máy tính, học sinh yêu thích môn pascal nhiều hơn, tỷ lệ học sinh
làm được bài tập trên máy tính tốt hơn rất là nhiều, kết quả đạt được cao hơn so với
năm trước.
Tuy nhiên đa số học sinh là con nông dân không có máy để thực hành ở nhà nên học
sinh hiểu bài làm bài được trên máy nhưng khoản thời gian một tuần sau đến tiết học
lại quên hết. Buộc giáo viên phải hướng dẫn lại học sinh mới nhớ.
c. Mặt Mạnh - Yếu
Trong lớp luôn có học sinh yêu thích môn pascal. Luôn làm bài tốt ở nhà, trường có
mạng internet giáo viên có thể tham khảo các đồng nghiệp ở các trường khác để
nâng cao chuyên môn.
Tuy nghiên giáo viên còn dạy nhiều tiết nên thời gian đầu tư còn ít nên chỉ đưa ra

phương pháp tối ưu, đối tượng học sinh hình thành bài toán trên giấy còn khó nay
giải bài toán trên máy nay lại còn khó hơn.
d. Nguyên Nhân – Yếu Tốt Tác Động
Trong quá trình dạy tôi nhận thấy việc tiếp cận với môn học rất khó khăn, phải làm
rất nhiều lần và thực hành rất nhiều tiết các em mới hiểu việc nhập và xuất dữ liệu.
Do đó sẽ rất khó khăn để các em hình thành kỹ năng viết chương trình. Năm nay
ngành giáo dục có phát động phong trào giải toán trên mạng. Điều đó đã thúc đẩy tôi
rất nhiều trong việc dạy học là làm sao đưa ra được cho các em sự đam mê và phát
triển tài năng của học sinh trong việc đào tạo nhân tài cho đất nước
e. Phân Tích Đánh Giá Các Vấn Đề Về Thực Trạng Mà Đề Tài Đặt Ra.
Cần nắm vũng các phương pháp dạy học tin học(theo sự đổi mới ) 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 tiếp cận nội dung bài và lựa chọn các phương pháp, xây dựng
câu hỏi logic, phù hợp với các đối tượng giỏi, khá, trung bình và yếu.từ đó giúp học
sinh tự khám phá kiến thức, không thụ động khi nghi nhận kiến thức giáo viên cung
cấp.
Để 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 các phương pháp dạy học để học sinh hình thành
nên phương pháp giải bài tập pascal.
3. Giải Pháp Và Biện Pháp
a. Mục tiêu
Phương pháp cơ bản giải các bài toán trong tin học không chỉ dùng để giải một bài
toán cụ thể mà còn giải các bước nhỏ trong một bài toán. Bài toán được cấu tạo từ
hai yếu tố cơ bản: Thông tin vào (Input) và thông tin ra (Output). 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 các
bước:
1. Xác định các bài toán.
2. Tìm thuật toán
3. Viết chương trình
4. Chạy thử, sửa đổi chương trình

b. Nội Dung Cách Thức Thực Hiện, Điều Kiện Và Mối Quan Hệ Của Các
Phương Pháp
b1. Xác Định Bài Toán
Trong quá trình học người học sinh hay bất kỳ một cá nhân nào luôn phải liên
tục giải quyết các bài toán. Trong cuộc sống là một chuỗi các bài toán mà ta phải đối
đầu giải quyết không một chút đơn giản mà nhiều lúc phải bực mình. Song đối với
học sinh lớp 8 do chương trình học toán của các em chỉ mới đến giải phương trình
bậc nhất là cao nhất. Nên việc đưa các lớp bài toán vào giải cho các em đang còn
một phần nào bị hạn chế. Nhưng bất kỳ một bài toán nào thì chúng ta cũng đọc đề
rồi xác định nó : A → B.
Trong đó : - A là giả thiết : điều kiện ban đầu hoặc cái đã cho khi bắt đầu giải bài
toán.
- B là kết luận: mục tiêu cần đạt được hay cái phải tìm khi kết thúc bài toán
.
→ Là suy luận: giải pháp cần xác định hay chuỗi các thao tác thực hiện từ A
đến B.
*. Bài toán trên máy vi 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 (Input )
- B: là đưa thông tin ra (Output)
- : là chương trình tạo từ các lệnh cơ bản của máy tính cho phép biến đổi từ A
đến B.
*. Một số ví dụ
Ví dụ 1: Tính diện tích hình chữ nhật.
Ta cần xác định cho bài toán:
+ Thông tin vào: Chiều dài là cạnh a, chiều rộng là cạnh b
+ Thông tin ra: Kết quả diện tích khi đưa a, b vào
+ Các thông tin cần xử lý thông tin như:
Lần lượt đưa a, b vào (cho a=3, b=4)

Áp dụng công thức tính diện tích hình chữ nhật: a*b
Kết quả in ra là 12.
Ví dụ 2: Cho 2 số tự nhiên a, b. Tìm ước số chung lớn nhất của chúng.
Các bước các định bài toán:
+ Xác định thông tin vào: hai số tự nhiên a, b
+ Xác định thông tin ra: số tự nhiên d thoả mãn:
d là ước của a và d là ước của b
d là số lớn nhất trong tập các ước chung của a, b
+ Xác định các thao tác xử lý thông tin
Xây dựng hữu hạn các thao tác cho phép tính được d từ a và b.
Nhập a =16 b= 24 à d =8
Ví dụ 3: Tìm tất cả các số nguyên tố trong N số tự nhiên đầu tiên:
+ Xác định thông tin vào: Nhập số nguyên N
+Xácđịnh thông tin ra: Các số nguyên tố (chia hết cho 1 và chính nó)
nằm trong khoản từ 2 đến N.
b2. Tìm Thuật Toán
· Thuật toán là một quá trình gồm một dãy hữu hạn các thao tác đơn giản được sắp
xếp theo một trình tự xác định sao cho theo đó từ Input của bài toán sẽ tìm ra được
Output bài toán.
· Một bài toán ta có 4 cách thể hiện thuật toán: Các bước xác định bằng lời, lập sơ
đồ khối, ngôn ngữ phỏng trình, dùng một ngôn ngữ lập trình (Pascal).
Ví dụ: Tìm ước số chung lớn nhất của 2 số nguyên dương a, b.
Ta có thể giải bằng các cách trên
Cách 1: Các bước xác định bài toán bằng lời:
- Bước 1: Nhập 2 số nguyên dương là a, b
Bước 2: So sánh giá trị a và b. Nếu a bằng b thì sang bước 3, ngược lại a khác b thì
sang bước 4
- Bước 3: Tìm được ước số chung là a và kết thúc chương trình
Bước 4: Nếu a lớn hơn b thì ước số chung lớn nhất là a và quay trở lại bước 2.
Ngược lại ước số chung là b và quay trở lại bước 2

Ví dụ cụ thể bài toán ước chung lớn nhất.
Nếu a = b
- Đúng  ƯCLN = a (hoặc b)  kết thúc;
- Sai  Xét : nếu a > b
- Đúng  a = a – b;
- Sai  b = b – a;
Quá trình này được lặp lại cho đến khi a = b.
Số liệu cụ thể
Nhập hai số a và b a=5, b=15
B1. Xét a=b đúng UCLN =a (hoặc b) và kết thúc nếu sai xét tiếp
B2. Nếu a>b đúng thì a:=a-b sai xét tiếp.
B3. Nếu a<b đúng thì thực hiện b:=b-a =>15-5=10 quay lại bước 1 xem a=b nếu
đúng thì kết thúc nếu sai thực hiện bước 3.
Bây giờ b=10 a=5 như vậy a<b đúng b:=b-a=>10-5=5 quay lại bước 1 xem a=b
nếu đúng thì kết thúc.
Cách 2: Giải bài toán bằng sơ đồ
- Có hình thoi ¯ thể hiện các thao tác so sánh
- Hình chữ nhật thể hiện các phép tính toán, các câu lệnh
- Hình ôvan thể hiện bắt đầu và kết thúc
- Các mũi tên quy định trình tự các thao tác

Begin
a, b
a=b
UCLN là a
END
a>b
b:= b - a
a:= b - a
đúng

đúng
sai
sai












Cách 3: Dùng ngôn ngữ phỏng trình
Bắt đầu
Nhập a, b
While (a khác b) do
IF a>b then thay a :=a -b
Else thay b:=b-a;
Kết thúc in ra USCLN (a, b) .
Cách 4: Viết chương trình hoàn chỉnh (dùng ngôn ngữ pascal)
PROGRAM USCLN;
USES CRT;
VAR a, b:integer;
BEGIN
CLRSCR;
WRITE('nhap 2 gia tri a, b='); READLN(a,b);
WHILE a<>b DO

IF a>b THEN a:=a -b else b:=b-a;
WRITELN('uoc so chung lon nhat cua 2 so:,a:5);
READLN
END.
B3- Viết Chương Trình
Lập trình là dùng ngôn ngữ máy vi tính cụ thể nào (ngôn ngữ Pascal) để 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 lập trình mong muốn.
*. Kỹ năng lập trình
· Rèn luyện được cho học sinh kỹ năng cài đặt thành công các thuật toán bằng một
ngôn ngữ lập trình.
· Đã gọi là kỹ năng thì chỉ có thể có được thông qua rèn luyện tích cực.
· Kinh nghiệm cho thấy một thuật toán do cài đặt vụng về, lộn xộn thì khi chạy trên
máy tính có thể cho kết quả không như mong muốn.
*. Phát triển chương trình bằng cách tinh chế từng bước
Một bài toán ta có thể đưa ra nhiều cách giải khác nhau, song là một giáo viên
thì chúng ta cần giúp học sinh viết chương trình làm sao người xem nhìn vào có thể
dễ hiểu được bài toán đó là gì? Do đó, việc tinh chỉnh các bước cho bài toán trong
máy tính là phương pháp khoa học, có hệ thống giúp ta phân tích các thuật toán và
cấu trúc dữ liệu từ đó thành một chương trình. Muốn lập trình giỏi không phải chỉ
cần nắm ngôn ngữ lập trình là đủ. Mà vấn đề cốt yếu là biết phương pháp 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.
*. Phương pháp tinh chế từng bước
Một chương trình bắt đầu được viết bằng lời tự nhiên (tiếng việt) thể hiện sự
phân tích tổng thể của người lập trình, được thể hiện ở từng bước sau các câu lệnh
được phân tích chi tiết hơn. Bằng những lời khác nhau, tương ứng với sự phân tích
công việc thành các việc nhỏ, chi tiết hơn, dễ hiểu và chỉnh xác hơn. Người lập trình
có thể đưa ra phương pháp tinh chỉnh từng bước, thể hiện tư duy để giải quyết những
vấn đề của bài toán từ trên xuống. Trong đó, các bước hướng về phương pháp lập
trình tối ưu, sáng sửa làm cho bài toán được giải một cách gọn gàng nhất, chính xác

nhất.
*. Ví dụ
Tìm tất cả các số nguyên tố nhỏ hơn N. N được nhập từ bàn phím.
*a. Tinh chế lần 1
- Lấy 2 tập
NT= [ ] (để chứa các số nguyên tố tìm được)
S = [2, N] (tập các số cần xét )
- Tìm số đầu tiên trong S đưa vào NT
- Loại bỏ khỏi S các bội số của số nguyên tố vừa tìm được
- Số đầu tiên còn lại của S là số nguyên tố. Tiếp tục quá trình cho đến khi S=[]
- Xuất NT
*. Tinh chế lần 2
Bắt đầu
NT: = [ ]
S = [2, N]
Repeat
Tìm số đầu tiên trong S
NT:= NT+ [S
0
]
Loại khỏi S các bội số của S
0
Until S=[ ];
Xuất NT;
Kết thúc;
*. Tinh chế lấn 3 (chương trình hoàn chỉnh)
Program nguyen_to;
Const N=100;
Type nguyen=1 N;
Var NT, S: Set of nguyen;

s
0
, I: integer;
Begin
NT:=[]; S:=[2 N]; S
0
:=2;
Repeat
While not (S
0
in S) do S
0
:=S
0
+1;
NT:=NT+[S
0
]; I:=S
0
;
While I<=N do
Begin
S:=S-[i];
I:=I+S
0
;
End;
Until S=[];
for I:= 1 to n do
If I in Nt then Write(I:4);

readln
end.
*. Tinh chế lần 4.
Rõ ràng cấu trúc dữ liệu tập hợp “Set of nguyen” tuy dễ hiểu nhưng rất cồng
kềnh và lạ so với kiến thức của học sinh, ta có thể dùng mảng Boolean linh hoạt hơn
như sau:
Program nguyen_to;
Const N=100;
var
a: array[1 N] of boolean;
i, j: Integer;
begin
a[1]:=false;
for i:=2 to N do a[i]:=true;
for i:= 2 to N div 2 do
for j:= 2 to N div i do a[i*j]:=false;
for i:= 1 to N do if a[i] then write(i:3);
readln
end.
*. Tinh chế lần 5
Trong ngôn ngữ pascal nếu dùng mảng boolean thì ta bị giới hạn N<10000. Để
có thể chạy với số lớn hơn ta không dùng mảng, tập hợp mà dùng như sau:
Program nguyen_to;
Uses crt;
Var i, j, k, n: Integer;
Begin
Repeat
Write('nhap n='); readln(n);
Until n>= 2;
For i:= 2 to n do

Begin
k:=0;
for j:= 2 to trunc(sqrt(i)) do
if i mod j=0 then k:= 1;
if k=0 then write(i:3);
End;
Readln
End.
Vậy đó là kỹ năng lập trình người lập trình có thể tinh chỉnh chương trình
từng bước làm sao đưa ra một phương án tối ưu cho người xem dễ tiếp thu cũng như
chiếm bộ nhớ của máy tính càng ít các tốt.
b4- Chạy Thử, Thay Đổi, Kiểm Tra Chương Trình
1. Chạy thử
Một chương trình đã viết xong chưa chắc đã chạy được trên máy vi tính để
cho kết quả mong muốn.
Ví dụ: Tìm số lớn nhất trong 3 số a, b, c nguyên dương được nhập vào từ bàn phím.
Lần 1:
Program tim_so;
Uses crt;
Var a, b, c: integer;
Begin
Clrscr;
Write('nhap 3 so='); readln(a,b,c);
If a<b then a:=b
Else if a<c then a:=c;
Write('so lon nhat la ',a);
Readln
End.
Với chương trình này cũng chạy được song đáp số có lúc đúng, có lúc sai tuỳ
thuộc vào lúc nhập giá trị a, b, c {Nếu ta nhập thứ tự a=5, b=7, c=9 Thì sẽ cho ta

kết quả số lớn nhất là 7. Vậy thì sai hoàn toàn}
Do đó người lập trình cần phải biết cách tìm lỗi. Sữa lỗi, điều chỉnh viết lại
chương trình cũng là kỹ năng quan trọng của người lập trình. Vậy với ví dụ trên để
kết quả luôn đúng thì ta có thể viết lại chương trình.
Lần 2:
Program tim_so;
Uses crt;
Var a,b,c,t: integer;
Begin
Clrscr;
Write('nhap 3 so='); Readln(a,b,c);
t:=a;
If t<b then t:=b;
If t<c then t:=c;
Writeln('so lon nhat la ',t);
Readln
End.
Nếu nhập:
Lần nhập A B C Kết quả
1 5 4 7 7
2 5 7 9 9
3 9 3 5 9
2. Phân loại lỗi và cách sửa lỗi
· Lỗi về thuật toán: Điều chỉnh lại thuật toán, thêm vị trí có thể, loại bỏ thuật toán
sai, tìm thuật toán khác nghĩa làm lại từ đầu.
Ví dụ:
Viết chương trình tính tổng S= (n được nhập vào từ bàn phím)

· Học sinh viết chương trình khai báo biến S thuộc kiểu dữ liệu nguyên thì chương
trình sẽ không thực hiện được phép toán tính tổng. Do vậy để thực hiện được phép

toán thì khai báo biến S là thuộc kiểu dữ liệu thực.
· Lỗi về trình tự: Phải xem lại thuật toán, phân tích lại từ trên xuống dưới để đặt lại
cho đúng với thuật toán.
Ví dụ:
Viết chương trình giải phương trình bậc nhất ax+b=0 với a, b được nhập vào từ bàn
phím.
Program ptb1;
Var a,b: real;
Begin
Write('nhap cac he so='); Readln(a, b);
If a<>0 then writeln ('moi so deu la nghiem')
Else if b=0 then writeln('phuong trinh co nghiem',-b/a:4:2)
Else writeln ('phuong trinh vo nghiem');
Readln
End.
Với chương trình trên hoàn toàn có thể chạy được song kết quả sẽ không đúng
khi nhập dữ liệu a, b vào. Do vậy ta phải sắp xếp lại thuật toán để cho một kết quả
đúng như yêu cầu :
Program ptb1;
Var a, b: real;
Begin
Write('nhap cac he so='); readln(a,b);
If (a=0) and (b=0) then writeln('phuong trinh co vo nghiem')
Else if (a=0) and (b<>0) then writeln(‘phuong trinh co vo so nghiem’)
Else writeln(‘phuong trinh co nghiem, -b/a:4:2);
Readln
End.
Lỗi về cú pháp: viết lại cho đúng cú pháp của ngôn ngữ lập trình mà mình đang sử
dụng.
Ví dụ : Lỗi sau câu lệnh ta không sử dụng dấu chấm phẩy, hay kết thúc chương trình

không có dấu chấm, hay từ khoá DOWNTO nếu ta viết DOWN TO thì sẽ không có
nghĩa.
3. Kiểm tra
Có nhiều chương trình khó kiểm tra tình đúng đắn , nhất là chương trình tìm
kiếm lời giải tối ưu. Vì chúng chưa biết kết qủa nào là đúng nhất. Vì vậy việc tìm
lỗi rất là khó khăn. Trong quá trình chạy thử một chương trình ta cần lưu ý:
· Nếu khởi đầu bằng bộ chương trình (test) nhỏ nhưng các giá trị đặc biệt (đây là dễ
bị lỗi nhất).
· Làm nhiều các bộ test nhưng phải đa dạng tránh lặp đi lặp lại các bộ test. Nên kết
thúc bằng các bộ test có kích thước lớn để kiểm tra tính chịu đựng của chương trình.
4. Thay đổi chương trình
Một chương trình đã viết xong, đã chạy thử tốt, giải quyết đúng bài toán mà ta
mong muốn nhưng chưa có nghĩa là quá trình lập trình đã xong. Mà người lập trình
muốn nó ở đây ta có thể sửa đổi nó theo một hướng khác mà nó có thể đáp ứng
được một yêu cầu mới. Như phần tinh chế một chương trình là rất quan trọng cho
việc sửa chữa chương trình cũ sang chương trình mới.
Ví dụ:
· Nhập 3 số a, b, c kiểm tra xem 3 số đó có thể là độ dài của các cạnh một tam giác
hay không. Từ đó ta có thể chuyển nó sang dạng là các cạnh đó thoã mãn tam giác
cân, đều hay là tính diện tích của tam giác đó.
· Tính tổng cho N số nguyên đầu tiên được nhập vào từ bàn phím. Từ đó ta có thể
triển khai tính giai thừa, tìm số nguyên tố, độ dài của dãy số đó, tính trung bình cộng
cho dãy số…
· Nhập vào mảng của dãy số từ bàn phím. Từ đó ta có thể tìm giá trị lớn, nhỏ của
mảng, trung bình độ dài của mảng, điểm của học sinh…
Vậy là một người lập trình bạn cần nắm được các tiêu chuẩn của một chương trình
từ giúp bài toán có một kết quả tốt.
· Tính tin cậy: Có một giải thuật đúng.
· Tính uyển chuyển: Chương trình có thể sửa đổi
· Tính trong sáng: dễ đọc, dễ hiểu.

· Tính hữu hiệu: chạy chương trình nhanh và tốn ít dung lượng bộ nhớ về không
gian và thời gian.
Tóm lại: Quá trình xây dựng chương trình là một chuỗi các bước tinh chế. Ở mỗi
bước được phân ra nhiều công việc con, để từ đó đưa ra được phương pháp tối ưu.
Song, người lập trình cần rèn luyện để có ý thức về các quyết định liên quan và biết
khảo sát nghiêm túc các lời giải ngay cả khi chúng cho kết quả đúng. Cần phải cân
nhắc mọi phương tiện của từng lời giải theo một tiêu chuẩn nhất định.
4. Kết Quả Thu Được Từ Khảo Nghiệm
Để đưa ra một phương pháp tối ưu cho một bài toán không đơn giản. Bởi một bài
toán chúng ta có thể đưa ra nhiều phương pháp giải khác nhau. Song trong lập trình
người giải không sử dụng đúng cách giải thì một bài toán lại đi ngược lại là cho các
kết quả khác nhau. Điều đó chứng tỏ cho thấy người lập trình cần phải nắm được các
bước giải bài toán trong lập trình.
Bài toán cho kết quả sai là do nhiều nguyên nhân mà tôi đã trình bày ở phần trước
như:
· Chọn kiểu dữ liệu sai
· Viết kết quả in ra ở dạng có quy cách và không quy cách
· Phép gán sai ví dụ như bài toán tính tổng ban đầu ta phải gán S:=0; Nếu gán S:=
1; thì cho kết quả sai. Bài toán tính tích thì phép gán phải ngược trở lại ban đầu
S:=1;
Vậy để giải quyết được bài toán trên máy tính điện tử sử dụng ngôn ngữ lập trình
pascal nói chung và của lớp 8 nói riêng. Để nâng cao chất lượng dạy học tin ở các
trường phổ thông thì 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 biết kết hợp thực hành. Để 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.
Kết quả khảo sát cho thấy
LỚP CHƯA ĐƯA VÀO ĐƯA VÀO
8A1 15/30 29/30
8A2 12/29 25/29
8A3 17/29 24/29

Đây là chương trình học khá mới mẻ, các bài toán đưa ra để xây dựng một chương
trình chưa có gì lạ phức tạp. Bởi có nhiều bài hay thì học sinh lớp 8 chưa học đến.
Cho nên giáo viên cần phải nắm chắc các phương pháp để truyền đạt. Đồng thời
cũng phối hợp chương trình toán đã học đến những phần nào để từ đó đưa các ví dụ,
bài tập để học sinh có thể nắm chắc lý thuyết cũng như thực hành trên máy tính. Từ
đó, các em rút ra được ưu điểm của việc viết chương trình so với cách tính tay.
Bản thân tôi mong muốn góp một phần nhỏ bé của mình vào sự nghiệp giáo dục.
Bởi đây là môn học khá mới mẻ với tất cả các học sinh THCS. Tóm lại, các bước
giải một bài toán cho lớp các bài toán trên máy vi tính của tôi đưa ra đang còn nhiều
thiếu sót. Mong nhận được sự góp ý của các thầy cô giáo cùng như bạn bè để được
hoàn thiện hơn./.
NGƯỜI VIẾT

×