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

SKKN các bước GIẢI bài TOÁN TRÊN máy TÍNH

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 (124.73 KB, 15 trang )

Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------MỤC LỤC
I. Lí do chọn đề tài..............................................................................................................
Trang 2
tài..............................................................................................................Trang
1. Đặt vấn đề...................................................................................................................
Trang 2
đề...................................................................................................................Trang
2. Mục tiêu của đề tài......................................................................................................
Trang 3
tài......................................................................................................Trang
3. Phạm vi đề tài..............................................................................................................
Trang 3
tài..............................................................................................................Trang
4. Phạm vi nghiên cứu.....................................................................................................
Trang 3
cứu.....................................................................................................Trang
II. Nội dung và phương pháp thực hiện..............................................................................
Trang 3
hiện..............................................................................Trang
1. Cơ sở lí luận................................................................................................................
Trang 3
luận................................................................................................................Trang
2. Thực trạng...................................................................................................................
Trang 3
trạng...................................................................................................................Trang
3. Nội dung......................................................................................................................
Trang 4
dung......................................................................................................................Trang
4. Kết quả đạt được.......................................................................................................


Trang 14
được.......................................................................................................Trang
1
III. Tổng kết.......................................................................................................................
Trang 15
kết.......................................................................................................................Trang
1
1. Tóm lược giải pháp...................................................................................................
Trang 15
pháp...................................................................................................Trang
1
2. Kiến nghị...................................................................................................................
Trang 16
nghị...................................................................................................................Trang
1
3. Kết luận.....................................................................................................................
Trang 16
luận.....................................................................................................................Trang

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 1


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------I. LÍ DO CHỌN ĐỀ TÀI
1. Đặt vấn đề
Ngày nay chúng ta đang đứng trước một xã hội phát triển với nhiều lĩnh vực và nhiều
ngành công nghiệp khác nhau. Cùng với xu thế công nghiệp hóa – hiện đại hóa đất nước thì khoa
học kỹ thuật là lĩnh vực đi đầu, trọng tâm. Trong đó, Công nghệ thông tin đóng vai trò không

nhỏ, góp phần vào lĩnh vực này.
Với ý nghĩa quan trọng như trên, tin học đã được đưa vào nhà trường để giúp học sinh tiếp
xúc và làm quen dần với công nghệ thông tin. Mặt khác, máy tính điện tử là công cụ rất hữu ích,
nó giúp con người làm những công việc văn phòng (soạn thảo, tính toán,...), liên lạc với nhau
thông qua thư điện tử, tra cứu trực tuyến... Bên cạnh đó, máy tính điện tử còn giúp chúng ta tạo
lập các chương trình để phục vụ cho một số nhu cầu, công việc hằng ngày thông qua ngôn ngữ
lập trình (viết web, viết các phần mềm học tập, phần mềm điều khiển thiết bị,...).
Có rất nhiều ngôn ngữ lập trình, một trong số đó được đưa vào giảng dạy ở bậc trung học
cơ sở là ngôn ngữ lập trình Pascal. Đây là ngôn ngữ lập trình đơn giản nhất so với các ngôn ngữ
lập trình khác. Pascal là một ngôn ngữ lập trình có cú pháp rõ ràng, các lệnh và từ khóa gần gũi
với ngôn ngữ của con người; Pascal được viết theo lý thuyết chuẩn về lập trình cấu trúc và nhiều
tài liệu khoa học máy tính cũng dùng Pascal để minh họa; là trình biên dịch nhỏ gọn, có thể chạy
trên các máy tính cấu hình thấp. Pascal đòi hỏi người lập trình phải có tính tư duy, có khả năng
phân tích và tổng hợp, mà ở lứa tuổi lớp 8 khả năng đó của các em còn hạn chế nên gây không ít
khó khăn cho học sinh khi sử dụng Pascal để lập trình. Đặc biệt, đối với những học sinh yếu kém
thì việc sử dụng Pascal để lập trình lại càng khó khăn hơn nhiều. Có nhiều nguyên nhân dẫn đến
những khó khăn trong việc học Pascal của học sinh nhưng có thể thấy một số nguyên nhân chính
sau:
- Học sinh thường gặp khó khăn khi xác định bài toán.
- Khó liên hệ phương pháp giải một bài toán trong toán học với thuật giải bài toán đó trong
Pascal.
Xuất phát từ cơ sở trên, tôi đã chọn đề tài “Các bước giải bài toán trên máy tính” sử dụng
ngôn ngữ lập trình Pascal, giúp các em nắm được cấu trúc của chương trình và ngôn ngữ lập
trình.
2. Mục tiêu của đề tài

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 2



Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------- Do gặp phải những khó khăn trên nên khi lập trình vận dụng giải các bài toán học sinh
không xác định được các công việc cần thực hiện đối với một đề bài tập cụ thể. Vì vậy trong đề
tài tôi hướng tới sử dụng các ví dụ cụ thể để học sinh nắm được các bước giải bài toán. Và thông
qua các ví dụ đó hướng dẫn học sinh chuyển đổi qua lại giữa cách giải bài toán trên giấy và trên
máy vi tính.
3. Phạm vi đề tài
Mỗi giáo viên đều có một cách truyền đạt kiến thức riêng cho học sinh. Các chú ý khi dạy
Pascal, giúp các em tiếp thu và vận dụng tốt ngôn ngữ lập trình là rất nhiều, rất phong phú. Tuy
nhiên trong phạm vi sáng kiến kinh nghiệm này tôi chỉ trình bày một số kinh nghiệm của cá nhân
tôi qua các nội dung cụ thể sau:
Đưa ra vấn đề để học sinh thảo luận qua đó nắm vững cấu trúc chung của chương trình. Và hình
thành ở học sinh kĩ năng phân tích, xử lý các vấn đề liên quan đến các bài toán trong quá trình
lập trình các chương trình đơn giản sau này.
4. Phạm vi nghiên cứu
- Đối tượng nghiên cứu: Học sinh lớp 8ª3, 8ª4 trường THCS Phước Đông năm học 20182019
- Kế hoạch nghiên cứu: Thực hiện trực tiếp qua các tiết dạy.
- Phạm vi nghiên cứu: Toàn bộ chương I: lập trình đơn giản, trong sách giáo khoa tin học
quyển 3 dành cho THCS.
II. NỘI DUNG VÀ PHƯƠNG PHÁP THỰC HIỆN
1. Cơ sở lí luận
Khi học sinh bước vào chương trình lớp 8 (Chương I lập trình đơn giản). Học sinh đã gặp
rất nhiều khó khăn và bở ngỡ trong việc để hiểu và giải các bài toán trên máy vi tính. Các em rất
sợ vì khi giải 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 mà lại có thể cho kết
quả sai. Điều đó đã thúc đẩy tôi rất nhiều trong việc dạy học là làm sao giúp các em giải được bài
toán ra kết quả chính xác bằng ngôn ngữ lập trình.
2. Thực trạng
- Học Pascal có liên quan đến toán học, nhưng một số học sinh chưa nắm rõ được một số

kiến thức Toán học gây khó khăn cho việc giải quyết các bài tập.

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 3


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------- Một số học sinh còn xem nhẹ môn học và không có thái độ học tập tích cực, xao nhãng
việc học, không chịu suy nghĩ và động não khi làm bài tập. Một số học sinh rất sợ học khi đến
tiết bài tập, ôn tập và các em không nắm rõ được cách thực hiện một bài toán do cách giải và suy
nghĩ trong Pascal có đôi lúc hơi trừu tượng. Tuy nhiên cũng có một số học sinh rất yêu
thích lập trình và học khá tốt Pascal.
3. Nội dung
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 nhiều các bài toán cụ thể thuộc cùng một loại. 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 cần các bước :

A. Xác định bài toán.
B. Tìm thuật toán.
C. Viết chương trình
D. Chạy thử, sửa đổi chương trình
A. XÁC ĐỊNH BÀI TOÁN
1) Khái niệm 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à 1 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 lớp 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ải 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, phải làm ra khi kết thúc bài toán .
- -> Là suy luận: giải pháp cần xác định hay một chuổi thao tác thực hiện từ A đến B.
2) 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ách khác.

-

A: là đưa thông tin vào (Input )

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 4


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
-----------------------------------------------------------------------------------------------------------

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.
3) 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 chế biến 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 xá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
+ Các thông tin cần chế biến như:
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 các số nguyên N được nhập vào từ bàn phím:
+ 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 nó và số 1)
B- 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

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 5


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------- 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.

• 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


Đúng

a=b

END

Sai

Đúng

a<>b

a:= b - a

UCLN là a

Sai

b:= b - a

• Cách 3: Dùng ngôn ngữ mô phỏng
Bắt đầu

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 6


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------Nhập a, b

While a khác b
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;
Var a,b: integer;
Begin
Write('nhap gia tri a =');Readln(a);
Write('nhap gia tri b =');Readln(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 va b la',a:);
Readln
END.
C- VIẾT CHƯƠNG TRÌNH
Lập trình là dùng ngôn ngữ máy vi tính cụ thể (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.
1) 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ả tồi tệ hoặc là không thể chạy được.
2) 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,

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 7


Trường THCS Phước Đông
Nguyễn Tấn Ngọ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.
3) 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. Song ngôn ngữ lập rình pascal người lập trình có thể đưa ra phương pháp tinh chỉnh từng bước là thể hiện tư duy giải quyết vấn đề bài toán từ trên xuống trong
đó các bước là hướng về ngôn ngữ lập trình làm sao cho bài toán đưa ra được phương pháp lập
trình tối ưu, sáng sửa.
4) Ví dụ:
Tìm tất cả các số nguyên tố trong các số nguyên N được nhập vào từ bàn phím
a. Tính 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
b. Tính lần 2
Bắt đầu

NT: = [ ]
S = [2,..N]
Repeat
Tìm số đầu tiên trong S
NT:= NT+ [S0]
Loại khỏi S các bội số của S0
Until S=[ ];
Xuất NT;

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 8


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------Kết thúc;
c. Tính lần 3 (chương trình hoàn chỉnh)
Program nguyen_to;
Var N,S: Integer;
Begin
Write(‘Nhap vao mot so nguyen to:’); Readln(N);
If N <= 1 then Writeln (N,’ khong la so nguyen to!’)
Else
Begin
S:=2;
While (N mod S <> 0 ) do S:= S +1;
If S = N then Writeln (N,’ la so nguyen to!’)
Else
Writeln (N,’ khong phai la so nguyen to!’)
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.
D- 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;
var
a,b,c: integer;
begin
write('nhap 3 so a, b, c=');readln(a,b,c);
if a
----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 9


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------else if awrite('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;
var
a,b,c,t:integer;
begin
write('nhap 3 so a, b, c=');readln(a,b,c);
t:=a;
if tif twrite('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=


1+

1 1
1
+ + .... +
2 3
n (n được nhập vào từ bàn phím)

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 10


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------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)
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 then
if b=0 then
writeln('phuong trinh vo nghiem')

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 11


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------else
writeln('phuong trinh co nghiem',-b/a)
else
writeln('moi so deu la nghiem');
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 tương tự.
- 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….

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 12



Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------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 tính . Ở 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ũng như từ bỏ
các lời giải ngay cả khi chúng đúng. Mà 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.
4. Kết quả đạt được
Sau thời gian vận dụng những kinh nghiêm trên vào quá trình giảng dạy ngay tại trường
THCS đang công tác, tuy chưa hoàn toàn được như mong muốn, nhưng tôi nhận thấy cũng có
một số chuyển biến đáng kể trong các giờ lên lớp của học sinh. Cụ thể là:
- Các em không còn cảm giác sợ hãi khi đến tiết (đặc biệt là các tiết bài tập, ôn tập) mà
thay và đó là không khí học tập thoải mái, các em học với thái độ tích cực hơn, yêu thích môn
học hơn.
- Học sinh học thuộc bài và hoàn thành được các nhiệm vụ mà giáo viên giao cho (làm
bài tập, nghiên cứu trước nội dung bài học…).
- Phần lớn các em học sinh vận dụng được kiến thức có trong bài học, trong sách giáo
khoa làm các bài tập đơn giản có liên quan.
- Học sinh có tiến bộ trong việc đọc hiểu các chương trình cho trước, từ đó nêu được
thuật toán (ý tưởng) của một dạng bài tập nào đó.
- Đa số học sinh có thể phát hiện được chỗ chưa đúng của một chương trình cho trước
và sửa lại cho đúng.
- Đối với một đề bài toán về viết chương trình, đa số học sinh biết phân tích đề bài xác

định được những dữ kiện cho trước, những gì cần đạt được (yêu cầu) của đề bài, từ đó tự các em
đưa ra được thuật toán và viết chương trình.
III. TỔNG KẾT
1. Tóm lược giải pháp

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 13


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------- Viết sáng kiến kinh nghiệm cũng là nhiệm vụ của mỗi giáo viên giúp giáo viên có thể trao
dồi các kinh nghiệm giúp cho việc giảng dạy của giáo viên và học tập của học sinh đạt hiệu quả
hơn, nhưng cần phải lựa chọn những phương pháp, biện pháp nghiên cứu phù hợp với tình hình
nhà trường và học sinh. Sáng kiến kinh nghiệm đang trình bày của tôi dựa theo các luận cứ khoa
học hướng đối tượng, cụ thể: thuyết trình, quan sát, điều tra cơ bản, phân tích kết quả thực
nghiệm sư phạm… phù hợp với bài học và môn học.
- Qua quá trình nghiên cứu và áp dụng phương pháp bản thân tôi rút ra được một số bài học
kinh nghiệm sau:
- Pascal là một môn học tương đối khó so với độ tuổi học sinh lớp 8 nên cần truyền đạt thật
kĩ và cho học sinh nhiều bài tập vận dụng phù hợp với các em.
- Vì khả năng tư duy, phân tích của học sinh ở lứa tuổi này còn hạn chế nên giáo viên
không nên đưa ra các bài tập quá phức tạp và yêu cầu học sinh phải thực hiện, như vậy sẽ làm
cho học sinh cảm thấy không thích thú và sợ mỗi khi đến tiết học. Giáo viên cần kết hợp hình
thức làm bài tập và cho điểm khuyến khích để học sinh có động lực hơn khi học.
2. Kiến nghị
* Về phía phụ huynh, học sinh:
- Phụ huynh học sinh cần dành nhiều thời gian quan tâm, nhắc nhở việc học tập ở nhà của
học sinh, cũng như có thái độ tích cực hơn đối với việc học tập của con em mình. Đối với học
sinh yếu kém, GVCN nên tăng cường các đợt họp phụ huynh và kết hợp với gia đình nhắc nhở,

giáo dục ý thức học tập của các em.
- Bản thân học sinh phải có ý thức tự giác, tích cực trong học tập, học bài và làm bài đầy
đủ khi đến tiết học.
* Về phía bản thân:
- Bản thân tôi cũng sẽ cố gắng tự học, rèn luyện một cách thường xuyên nhằm nâng cao
kiến thức nói chung cũng như chuyên môn nghiệp vụ, phục vụ giảng dạy có hiệu quả. Đối với
Ban Giám Hiệu nhà trường cũng như các đồng nghiệp khác, tôi rất mong nhận được sự đóng góp
ý kiến xây dựng phương pháp giảng có chất lượng, hiệu quả và phù hợp để đưa chất lượng giáo
dục ngày càng đi lên.
- Để hưởng ứng phong trào đổi mới phương pháp dạy học ở trường phổ thông, với tư cách
là một giáo viên tôi rất mong muốn đóng góp một phần nhỏ bé của mình cùng với các thầy cô
giáo và các bạn đồng nghiệp xây dựng phương pháp dạy học mới ngày càng chuẩn mực, có hiệu

----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 14


Trường THCS Phước Đông
Nguyễn Tấn Ngọc
----------------------------------------------------------------------------------------------------------quả hơn giúp cho các em học sinh có thái độ học tập chủ động, tích cực, ngày càng yêu thích học
tin học.
3. Kết luận
- Trên đây là toàn bộ kinh nghiệm mà tôi rút ra được trong quá trình giảng dạy tin học lớp
8 cũng như tham khảo qua nhiều nguồn thông tin, tư liệu khác nhau, mặc dù bản thân đã có gắng
rất nhiều nhưng không thể tránh khỏi những thiếu sót, tôi rất mong được sự đóng góp của các
đồng nghiệp để đề tài được hoàn thiện và đạt hiệu quả cao hơn.
NGƯỜI THỰC HIỆN

Phạm Thị Mỹ Duyên


----------------------------------------------------------------------------------------------------------SKKN: Các bước giải bài toán trên máy tính
Trang 15