Sáng kiến kinh nghiệm - Rèn luyện kĩ năng viết chương trình trên máy tính (Tin học 8)

III- VIẾT CHƯƠNG TRÌNH

Viết chương trình là dựa vào mô tả thuật toán ở trên để viết ra chương trình bằng cách sử dụng ngôn ngữ lập trình.

1. Kỹ năng lập trình

- Cần thông qua quá trình rèn luyện để hình thành kĩ năng.

- Thuật toán phải được sắp xếp hợp lí sẽ cho kết quả mong muốn.

2. Phát triển chương trình bằng cách tinh chế từng bước

Mỗi bài toán có nhiều cách giải khác nhau, nhưng làm thế nào để khi nhìn váo ta có thể biết được bài toán đó giải quyết vấn đề gì? Do đó việc tinh chỉnh các bước cho bài toán trong máy tính rất quan trọng .Để học sinh học tốt lập trình không chỉ là đưa ra kết quả cuối cùng mà cần thay đổi, tinh chỉnh để được một chương trình tối ưu nhất.

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 trong ngôn ngữ lập trì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.

doc17 trang | Chia sẻ: xuannguyen98 | Lượt xem: 511 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Sáng kiến kinh nghiệm - Rèn luyện kĩ năng viết chương trình trên máy tính (Tin học 8), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
h về cách phân tích lập trình. Vì vậy học sinh chưa có tính độc lập sáng tạo mà phải nhờ vào giáo viên rất nhiều. Nhưng năm nay đã có sách giáo khoa hướng dẫn cho học sinh cụ thể qui trình lập trình như thế nào.Vì thế mà tôi sẽ hướng cho học sinh lớp 8 cách để trở thành một nhà lập trình thì cần phải nắm bước cơ bản nào?
Đề tài “RÈN LUYỆN KĨ NĂNG VIẾT CHƯƠNG TRÌNH TRÊN MÁY TÍNH (TIN HỌC 8)” nhằm nâng cao cho học sinh khả năng lập trình cũng như khả năng tư duy không những đối với riêng môn Tin hoc mà ngay cả những môn học khác.
CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN
a) Trong quá trình dạy tôi nhận thấy ở các em học sinh. Mới đầu các em cũng rất lo lắng 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 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. Song bằng những tâm huyết của mình và cũng như sự yêu thích của học sinh. Nhất là những năm gần đây ngành giáo dục có phát động phong trào giải toán và tiếng anh 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 truyền đượ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 .
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 người quan tâm và cũng có nhiều cuốn sách 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 này là muốn đưa ra “ các bước viết chương trính trên máy vi tính” sử dụng bằng ngôn ngữ lập trình pascal.
b) Thực tế dạy học cho ta thấy kết quả học tập Tin học 8 của học sinh không đều, chất lượng đại trà chưa cao. Điều đó một phần cũng do sự trừu tượng , khó hiểu của một số khái niệm còn rất mới mẻ so với mức độ nhận thức của lứa tuổi các em. Mặt khác cũng có một số giáo viên còn rất khuôn khổ máy móc với sách thiết kế, hướng dẫn trong quá trình giảng dạy. Cũng có thể do họ nắm hệ thống nội dung kiến thức, các mức độ, yêu cầu của từng khái niệm trong lập trình đối với từng khối không sâu sát dẫn đến sa vào giảng giải quá cáo so với yêu cầu mà chương trình đặt ra. Một số lý do không kém phần quan trọng đó là những ví dụ trực quan để giúp học sinh tiếp cận với những chương trình còn hạn chế.
Mặt khác với học sinh lớp 8, việc viết ra một chương trình máy tính không dễ dàng thì việc sử dụng máy vi tính để tiến hành soạn thảo và chạy một chương trình cũng khiến cho học sinh càng gặp không ít khó khăn.
Chẳng hạn với học sinh lớp 8, có không ít trường hợp các em ít được tiếp xúc với máy vi tính nên khi thực hành các em rất bỡ ngỡ, có vài trường hợp các em không biết cách khởi động , cách dịch và chạy chương trình Pascal, các thao tác soạn thảo một chương trình còn chậm...., các em phải nhìn vào sách giáo khoa từng chữ một, lí do là các em không hiểu được bài toán đó sẽ được giải như thế nào, ý nghĩa các câu lệnh ra sao và gồm những thành phần nào.
	Nếu giáo viên viết sẵn chương trình và yêu cầu học sinh tìm hiểu ý nghĩa các thành phần trong chương trình thì một số học sinh có thể làm được nhưng khi yêu cầu học sinh tự viết ra chương trình thì đa số là các em rất mơ hồ, học sinh không xác định được chương trình yêu cầu điều gì và sẽ phải tiến hành các bước nào và cũng không biết bắt đầu từ đâu và tuân thủ các quy tắc nào.
Từ những vấn đề trên, tôi nhận thấy cần phải chú trọng rèn luyện cho học sinh các bước viết chương trình trên máy tính, thay thế cho các phương pháp dạy trước kia là giáo viên viết sẵn cho học sinh, để trong trường hợp nào các em cũng sẽ có được một nền tảng trong việc giải quyết các bài toán lập trình trong pascal.
TỔ CHỨC THỰC HIỆN CÁC GIẢI PHÁP
Giải pháp 
Phương pháp giải bài toán trên máy tính được áp dụng cho nhiều bài toán, dù khó hay dễ thì cũng tuân thủ các bước sau:
1.     Xác định các bài toán.
2.     Mô tả thuật toán
3.     Viết chương trình
4.     Chạy thử, sửa lỗi chương trình.
   I. XÁC ĐỊNH BÀI TOÁN
1.     Khái niệm bài toán
Trước khi giải quyết bài toán ta cần xác định bài toán là xác định giả thiết A và kết luận 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á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.
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
                    + Xác định các thao tác chế biến thông tin
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: 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: Số 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.
II. MÔ TẢ THUẬT TOÁN
·        Thuật toán là một dãy hữu hạn các thao tác cần được thực hiện 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
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
END
UCLN là a
	 a=b Đúng 
	Sai
 Đúng Sai
 ab
b:= b - a
a:= b - a
Cách 3: Dùng ngôn ngữ phỏng trình
 Bắt đầu
	 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;
USES CRT;
VAR
 a,b, :integer;
BEGIN
 CLRSCR;
 WRITE('nhap 2 gia tri m,n=');READLN(a,b);
 WHILE mn 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.
III- VIẾT CHƯƠNG TRÌNH
Viết chương trình là dựa vào mô tả thuật toán ở trên để viết ra chương trình bằng cách sử dụng ngôn ngữ lập trình.
1. Kỹ năng lập trình
- Cần thông qua quá trình rèn luyện để hình thành kĩ năng.
- Thuật toán phải được sắp xếp hợp lí sẽ cho kết quả mong muốn.
2. Phát triển chương trình bằng cách tinh chế từng bước
Mỗi bài toán có nhiều cách giải khác nhau, nhưng làm thế nào để khi nhìn váo ta có thể biết được bài toán đó giải quyết vấn đề gì? Do đó việc tinh chỉnh các bước cho bài toán trong máy tính rất quan trọng .Để học sinh học tốt lập trình không chỉ là đưa ra kết quả cuối cùng mà cần thay đổi, tinh chỉnh để được một chương trình tối ưu nhất.
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 trong ngôn ngữ lập trì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. 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
b. Tinh chế 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;
Kết thúc;
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;
 s0,I: integer;
begin
 NT:=[]; S:=[2..N];S0:=2;
 repeat
 while not (S0 in S) do
 S0:=S0+1; NT:=NT+[S0];I:=S0;
 While I<=N do
 Begin
 s:=S-[i];I:=I+S0;
 End;
 until S=[];
 for I:= 1 to n do
 If I in Nt then Write(I:4);
readln
end.
d. 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àm máy chạy chậm chạp, 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.
e. 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.
IV- CHẠY THỬ, SỬA ĐỔ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;
 write('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 a0 then writeln(‘vo so 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 a0 then
 if b=0 then
 writeln('phuong trinh vo nghiem')
 else
 writeln('phuong trinh co nghiem',-b/a:4:2)
 else
 writeln(‘vo so 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.
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 quả 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.
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.
Để đư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. Hay Bài toán tính tích thì phép gán phải ngược trở lại ban đầu S:=1;
HIỆU QUẢ CỦA ĐỀ TÀI 
Qua quá trình áp dụng phương pháp trên vào dạy học tôi nhận thấy có những lợi ích sau: 
+ Giúp học sinh cảm thấy dễ dàng hơn trong việc giải quyết các bài toán lập trình.
+ Tạo cho học sinh sự hứng thú và phát triển từ những bước lập trình cơ bản.
+ Học sinh tự thực hiện được các bước viết ra một chương trình như xác định thông tin vào và ra, thuật toán, sắp xếp các câu lệnh thành một chương trình, dịch chương trình và sửa lỗi nếu có. 
+ Tự mình viết được một chương trình, chạy chương trình và tự phát hiện và sữa lỗi sẽ tạo cho học sinh sự tò mò và hứng thú hơn, nâng cao khả năng tư duy từ đó là nền tảng giúp các em phát triển hơn.
Tóm lại để giúp học sinh có một khả năng tư duy tốt và có thể lập trình trong nhiều trường hợp, cần rèn luyện cho học sinh khả năng tự tìm tòi và định hướng được từng bước giải một bài toán từ đơn giản đến phức tạp. Hướng học sinh đi theo các lập trình như phần trên đã trình bày, có như vậy các em sẽ cảm thấy dễ dàng hơn, không bối rối khi gặp bất cứ bài toán nào và có thể áp dụng nhiều phương pháp tùy thuộc vào từng bài toán. Lập trình theo nhiều phương pháp tuy nhiên vẫn đi theo tuần tự các bước sẽ giúp học sinh có một nền tảng về lập trình và giúp các em nâng cao được khả năng giải quyết nhiều bài toán khó khác.
Vậy để giải quyết được bài toán viết chương trình 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, áp dụng vào quá trình dạy học. Để 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
7/40
33/40
8A2
9/39
30/39
8A3
8/41
33/41
8A4
7/40
33/40
8A5
6/39
33/39
	V. ĐỀ XUẤT, KIẾN NGHỊ KHẢ NĂNG ÁP DỤNG
Tóm lại đây là chương trình học khá mới mẻ, các bài toán lập trình đư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 dễ tiếp thu. Để từ đó các em rút ra được ưu điểm của các chương trình này so với cách tính tay ở chỗ nào.
	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ài viết chương trình cho các bài toán trên máy vi tính của tôi đưa ra còn rất 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ư các đồng nghiệp để được hoàn thiện hơn.
TÀI LIỆU THAM KHẢO
Ghi tên tài liệu tham khảo và tên tác giả đã được sử dụng trích dẫn trong sáng kiến kinh nghiệm.
Kỹ năng cơ bản trong lập trình Pascal – Vũ Đức Khánh – NXB Văn hóa Thông tin – Ngày xuất bản: 09/2012 
	 2. Giáo trình ngôn ngữ lập trình Pascal – Nguyễn Ngọc Cương –
 NXB: Thông tin và Truyền thông – Ngày xuất bản: 06/2011
	 3. Giáo trình lập trình Pascal – Thạc Bình Cường – NXB: Giáo dục –Ngày xuất bản: 10/2010
	4. Sách giáo khoa Tin học 8 quyển 3 – Nhà xuất bản Giáo Dục Việt Nam.
PHỤ LỤC 
& Các bài tập trong quá trình thực nghiệm:
Bài 1: Viết chương trình in ra màn hình dòng chữ: “ Chao cac ban”
Program CTDT;
Uses crt;
Begin
	Write(‘ Chao cac ban’);
End.
Bài 2: Viết chương trình nhập vào 2 cạnh hình chữ nhật. In ra màn hình diện tích và chu vi hình chữ nhật đó.
Program HINH_CHU_NHAT;
Uses Crt;
Var a,b,s,c: real; 
Begin
Clrscr;
Writeln(‘ TINH DIEN TICH & CHU VI HINH CHU NHAT:’); 
Writeln(‘--------------------------------------------------------------‘); 
Write('Nhap chieu dai='); readln(a);
Write('Nhap chieu rong=');readln(b);
s:=a*b;
c:=(a+b)*2;
Writeln('Dien tich hinh chu nhat la:’,s:6:2); 
Writeln('Chu vi hinh chu nhat:',c:6:2); 
Readln;
End.
Bài 3: Viết chương trình nhập vào 2 số nguyên a,b từ bàn phím. In hiệu và thương 2 số đó ra màn hình.
Program Bai_3;
Uses crt;
Var a, b, Hieu: integer;
	Thuong : real;
Begin
Clrscr;
	Write (‘ Hay nhap so a’); readln(a);
	Write((‘ Hay nhap so b’); readln(b);
	Hieu := a-b;
	Thuong := a/b;
Readln;
End.
Bài 4: Lập chương trình nhập vào độ dài các cạnh của tam giác rồi thực hiện :+ Tính chu vi, diện tích, 3 đường cao của tam giác.+ Kiểm tra xem tam giác đó có là tam giác cân hoặc v

File đính kèm:

  • docSKKN NOP chuan.doc