Sáng kiến kinh nghiệm Những kỹ năng cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal

doc 30 trang thulinhhd34 8043
Bạn đang xem 20 trang mẫu của tài liệu "Sáng kiến kinh nghiệm Những kỹ năng cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • docsang_kien_kinh_nghiem_nhung_ky_nang_co_ban_de_giai_bai_toan.doc

Nội dung tóm tắt: Sáng kiến kinh nghiệm Những kỹ năng cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal

  1. Thuật toán “Tìm giá trị lớn nhất của một dãy số nguyên” begin Nhập N và dãy a1, , aN Max  a1 , i  2 Sai i >N Đúng Sai A > Max Đưa ra Max i Đúng Max  ai i i+1 End. c. Tính chất của thuật toán: * Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao tác. * Tính xác định : Sau khi thực hiện một thao tác thì hoặc là thuật toán kết thúc hoặc là có đúng một thao tác xác định để được thực hiện tiếp theo. * Tính đúng đắn : Sau khi thuật toán kết thúc, ta phải nhận được Output cần tìm. Ví dụ: Với thuật toán tìm giá trị lớn nhất của dãy số nguyên đã xét ở trên Tính dừng : Vì giá trị của i mỗi lần tăng lên 1 nên sau N lần thì i> N, khi đó kết quả phép so sánh ở bước 3 xác định việc đưa ra giá trị Max rồi kết thúc. Tính xác định : Thứ tự thực hiện các bước của thuật toán được mặc định là tuần tự nên sau bước 1 là bước 2, sau bước 2 là bước 3. Kết quả các phép so sánh trong bước 3 và bước 4 đều xác định duy nhất bước tiếp theo cần thực hiện.
  2. Tính đúng đắn : Vì thuật toán so sánh Max với từng số hạn của dãy số và thực hiện Max ai nếu ai > Max nên sau khi so sánh hết N số hạng của dãy thì Max là giá trị lớn nhất. 1.2.4 : 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 (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 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. Để đạt được những điều trên thì cơ bản học sinh phải nắm được cấu trúc chung của một chương trình Pascal cần có những thành phần nào. Một chương trình Pascal có các phần: PROGRAM Tên_chương_Trình ; - Tên chương trình USES - Thư viện - Nhãn LABEL Phần khai báo - Hằng CONST - Kiểu TYPE . - Biến VAR . PROCEDURE Phần mô tả thủ tục / hàm chương trình con FUNCTION Bắt đầu thân chương trình chính BEGIN Các câu lệnh của chương trình Kết thúc thân chương trình chính END.
  3. * Phần khai báo : - Phần này bắt đầu bằng từ khóa Program rồi tiếp đến là tên của chương trình và chấm dứt bằng dấu chấm phẩy (;).Tên chương trình phải được đặt theo đúng qui cách của danh hiệu tự đặt (thỏa mãn quy ước đặt tên trong Pascal). Phần này có hay không cũng được. Ví dụ: Program Phuong_trinh_bac2 ; Program Vidu ; - Tiếp đến là khai báo các thư viện bằng từ khóa Uses. Mỗi ngôn ngữ lập trình thường có sẵn một số thư viện cung cấp một số chương trình và lệnh thông dụng đã được lập sẵn.Ví dụ thư viện crt, graph Và để sử dụng các chương trình đó thì phải khai báo thư viện chứa nó. Ví dụ: Uses crt ; {khai báo thư viện crt } Thư viện crt trong Pascal cung cấp các chương trình có sẵn để làm việc với màn hình và bàn phím. Ví dụ muốn xóa những gì đang có trên màn hình kết quả ta dùng lệnh Clrscr. (Nếu như ta sử dụng lệnh này mà không khai báo thư viện Crt thì máy tính sẽ báo lỗi). - Trình tự tiếp theo của một chương trình Pascal có thể có một số hoặc tất cả các khai báo dữ liệu sau: LABEL : khai báo nhãn CONST : khai báo hằng TYPE : định nghĩa kiểu dữ liệu mới VAR : khai báo các biến có dùng trong chương trình + Khai báo hằng thường được sử dụng cho những giá trị xuất hiện nhiều lần trong chương trình (có nghĩa là giá trị nào thường xuyên xuất hiện trong chương trình thì ta cần khai báo hằng) Ví dụ : Khai báo hằng Const MaxN = 1000 ; Pi = 3.1416 ; KQ = ‘Ketqua’ ;
  4. Và khi viết chương trình thay vì ghi giá trị cụ thể thì ta sử dụng tên hằng đã khai báo (đã khai báo hằng MaxN = 1000 thì quá trình viết chương trình chỉ cần sử dụng hằng MaxN thay cho giá trị 1000) + Trong quá trình lập trình nếu phát sinh những kiểu dữ liệu mới cần sử dụng thì phải khai báo bằng từ khóa Type. Ví dụ 1: Khai báo kiểu mảng một chiều Type Kmang = array [1 100] of integer ; Ví dụ 2: Khai báo kiểu bản ghi Type Hocsinh = record Hoten : string [30] ; Ngaysinh : string [10] ; Tin, toan, ly : real ; End; + Tất cả các biến dùng trong chương trình đều phải đặt tên và phải khai báo (sử dụng từ khóa Var) cho chương trình dịch biết để lưu trữ và xử lí. Biến chỉ nhận một giá trị tại mỗi thời điểm thực hiện chương trình. Tên biến dùng để xác lập quan hệ giữa biến với địa chỉ bộ nhớ nơi lưu trữ giá trị biến và mỗi biến chỉ được khai báo một lần. Var : ; Trong đó : Danh sách biến là một hay nhiều tên biến, các tên biến được viết cách nhau bởi dấu phẩy (,). Kiểu dữ liệu thường là một trong các kiểu dữ liệu chuẩn hay kiểu dữ liệu do người lập trình định nghĩa. Ví dụ : Var x , y : real ; N : Kmang ; { Kmang đã được định nghĩa } +Phần khai báo chương trình con (thủ tục Procedure hoặc hàm Function): Phần này mô tả một nhóm lệnh được đặt tên chung là một chương trình con để khi thân chương trình chính gọi đến thì cả nhóm lệnh đó được thi hành. Phần này có thể có hoặc không tùy theo nhu cầu. Và trong chương trình tin học lớp 8 thì cũng không nên đặt nặng vấn đề này cho học sinh, chỉ làm sao để học sinh cảm thấy đơn giản
  5. nhất có thể để việc lập trình các bài toán đơn giản của các em trở nên gần gủi và bản thân các em tự viết được một chương trình đơn giản. Lưu ý : Phần khai báo có thể có hoặc không tùy theo từng chương trình cụ thể. * 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. * Lưu ý : Dấu chấm phẩy (;): Dấu ; dùng để ngăn cách các câu lệnh của Pascal và không thể thiếu được trong quá trình viết các câu lệnh. * Lời chú thích: Lời chú thích dùng để chú giải cho người sử dụng chương trình nhớ nhằm trao đổi thông tin giữa người và người, máy tính sẽ không để ý đến lời chú thích này. Lời chú thích nằm giữa ký hiệu: { } hoặc (* *) Ví dụ 2: PROGRAM CT_Dau_tien ; {Dòng tiêu đề, khai báo tên chương trình } USES Crt; { Khai báo sử dụng thư viện Crt } VAR x : integer ; { Khai báo biến } BEGIN { Thân chương trình chính } Clrscr ; { Xóa màn hình } Writeln (‘Nhap gia tri cua x =’) ; Readln (x) ; x:= 0 ; x:= x + 10 ; Writeln (‘Gia tri cua x la’ , x ); Readln; END. { Kết thúc chương trình}
  6. 1.2.5 : Kiểm thử chương trình (Testing program) Chạy thử và tìm lỗi và công việc mà người lập trình cần phải làm khi viết xong chương trình để kiểm tra chương trình của mình. Chương trình là do con người viết ra, cho nên khó có thể tránh khỏi sự nhầm lẫn. Một chương trình viết xong chưa chắc đã chạy được ngay trên máy tính để cho ra kết quả mong muốn. Kỹ năng tìm lỗi, sửa lỗi, điều chỉnh lại chương trình cũng là một kỹ năng quan trọng của người lập trình. Kỹ năng này có được bằng kinh nghiệm tìm và sửa lỗi của chính mình. Có 2 loại lỗi cơ bản thường gặp khi lập trình: + Lỗi thuật toán: Lỗi này ít gặp nhất nhưng nguy hiểm nhất. Nếu nhẹ thì phải điều chỉnh lại thuật toán, nếu nặng thì có khi phải viết lại một thuật toán mới từ đầu. + Lỗi cú pháp: lỗi này hay gặp nhưng cũng là lỗi dễ sửa nhất. Chỉ cần nắm vững ngôn ngữ lập trình là đủ. Một người được coi là không biết lập trình nếu không biết sửa lỗi cú pháp. Và đây là lỗi thường gặp nhất đối với học sinh bắt đầu học lập trình. Ví du 1: Tìm số lớn nhất trong 3 số a,b,c nguyên được nhập vào từ bàn phím. Lần 1: Program tim_so_lon_nhat ; 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 tùy thuộc vào lúc nhập giá trị a, b, c { nếu nhập thứ tự a = 5 ; b= 7; c= 9 thì sẽ cho ta kết quả số lớn nhất là 7 sai hoàn toàn.
  7. 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_lon_nhat ; uses crt; var a,b,c, max :integer; begin clrscr ; write('nhap 3 so = ') ; readln(a,b,c); max:=a ; if max < b then max :=b; if max <c then max :=c ; writeln ('so lon nhat la ', max); readln End. Nếu nhập: Lần nhập A B C Kết quả 1 9 8 7 9 2 8 7 9 9 3 7 9 8 9 Ví dụ 2: Viết chương trình in ra màn hình hình chữ nhật toàn dấu * với chiều dài và chiều rộng nhập từ bàn phím. Lần 1: Program hinh_chu_nhat; Uses crt; Var i, cd,cr :integer; Begin Clrscr; Write(‘ Nhap chieu dai hinh chu nhat’); readln(cd); Write(‘ Nhap chieu rong hinh chu nhat’); readln(cr); For i : = 1 to cd*cr do writeln(‘*’); Readln End.
  8. Với chương trình này cũng chạy được song kết quả sai (in ra màn hình một cột toàn dấu * với chiều dài là diện tích hinh chữ nhật). 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 hinh_chu_nhat ; Uses crt; Var i,j, cd,cr:integer; Begin Clrscr; Write(‘ Nhap chieu dai hinh chu nhat’); readln(cd); Write(‘ Nhap chieu rong hinh chu nhat’); readln(cr); For i: = 1 to cr do Begin for j: = 1 to cd do write(‘*’); Writeln; End; Readln End. 1 1 1 Ví dụ 3: viết chương trình tính tổng S=1 (n được nhập vào từ bàn 2 3 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 (Integer) 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 (Real). Ví dụ 4: 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);
  9. if a 0 then if b=0 then writeln('phuong trinh vo nghiem') else writeln('phuong trinh co nghiem',-b/a:4:2) else writeln('phuong trinh vo so nghiem'); readln end. Ví dụ 5: 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á BEGIN nếu ta viết BE GIN thì sẽ không có nghĩa. 1.2.6 Tối ưu chương trình (optimization program) - Một chương trình chạy đúng không có nghĩa là việc lập trình đã xong. Ta phải sửa đổi lại một vài chi tiết để chương trình có thể chạy nhanh hơn, hiệu quả hơn. - Thông thường trước khi kiểm thừ thì ta nên đặt mục tiêu viết chương trình sao cho đơn giản (miễn chạy ra kết quả đúng là được), sau đó khi tối ưu chương
  10. trình, ta xem lại những chỗ nào viết chưa tốt thì tối ưu lại những mã lệnh để chương trình ngắn gọn hơn, chạy nhanh hơn. - Không nên viết tới đâu tối ưu mã đến đó (bởi chương trình có mã tối ưu thường phức tạp và khó kiểm soát). - Việc tối ưu chương trình nên dựa theo 4 tiêu chuẩn chính sau: * Tính tin cậy : Chương trì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 trì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 lỗi. Vì ít chương trình nào viết ra mà 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 lập trình viên khi phát triển chương trình. * Tính trong sáng : Chương trình viết ra đễ đọ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 (nếu phát hiện lỗi mới), cải tiến hay biến đổi để được chương trình giả 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ớ (tiết kiệm được cả không gian và thời gian).Để có một chương trình hữu hiệu, cần phải có một 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 ở mức chấp nhận được, không quan trọng bằng 3 tiêu chuẩn trên. Vì phần cứng phát triển rất nhanh, yêu cầu hữu hiệu không phải đặt ra gánh nặng. => Từ những phân tích trên, chúng ta thấy rằng việc làm ra một chương trình phải trải qua rất nhiều công đoạn và tiêu tốn khá nhiều công sức. Chỉ một công đoạn không hợp lý sẽ tăng chi phí viết chương trình. Lời khuyên: Đừng bao giờ viết chương trình mà chưa suy xét kỹ về giải thuật và những dữ liệu cần thao tác. Với những bước cơ bản và cụ thể trên sẽ giúp cho học sinh có được những kỹ năng hiệu quả nhất trong quá trình viết chương trình dù bài toán đó có đơn giản hay phức tạp. Khi các em đã có những nền tảng vững chắc thì quá trình lập trình của các em sẽ trở nên đơn giản và ngắn ngọn. Với từng kỹ năng cơ bản của việc giải một
  11. bài toán bằng ngôn ngữ lập trình Pascal ta thấy qua từng bước sẽ giúp cho học sinh trở nên sáng tạo, chịu khó học hỏi và trau dòi kinh nghiệm. Rèn cho học sinh một môi trường năng động và khả năng tư duy nhạy bén. Khi học sinh đã trở nên thành thạo thì khi tiếp cận một bài toán học sinh sẽ thao tác nhanh hơn và chuyên nghiệp hơn như việc xác định bài toán, xây dựng thuật toán và đưa ra những chương trình ngắn gọn, hiệu quả và tối ưu nhất. Ví dụ 1: Viết chương trình tính tổng 2 số nguyên được nhập từ bàn phím Bước 1: Xác định Input, Output Input : Hai số nguyên a và b; Output : Tổng s=a+b; Lưu ý: nên viết theo cách ở trên vì chúng ta sẽ dễ nhận ra là dùng bao nhiêu biến. Bước 2: Xây dựng thuật toán - Bước 1: Nhập 2 số nguyên a và b; - Bước 2: Tính tổng S= a+b; - Bước 3: Hiển thị giá trị tổng s ra màn hình Bước 3: Viết chương trình Pascal hoàn chỉnh Program vidu ; { Tên chương trình là vidu } Var a,b,S: integer ; { Khai báo 3 biến kiểu số nguyên } Begin Write(‘Nhap a=’); { Hiển thị trên màn hình: Nhap a= } Readln(a); { Giá trị được nhập từ bàn phím sẽ gán cho a: ví dụ nhập 5 và nhấn enter thì hiểu là: a=5 } Write(‘Nhap b=’); readln(b); S:=a+b; { Sau khi đã có 2 giá trị của a và b rồi, sẽ tính giá trị tổng S } Write(‘Tong la: ’,S); { Đưa giá trị tổng S ra màn hình } Readln; { Dừng màn hình để xem kết quả chờ nhấn phím để quay lại } End. { Kết thúc chương trình }
  12. Ví dụ 2: Viết chương trình “Tìm ước chung lớn nhất (UCLN) của hai số nguyên dương M và N”. Bước 1: Xác định bài toán : Input : Nhập hai số nguyên dương M và N Output : UCLN của hai số nguyên dương M và N Bước 2: Xây dựng thuật toán : - Bước 1: Nhập M, N - Bước 2: Nếu M = N thì lấy giá trị chung này làm UCLN rồi chuyển đến bước 5. - Bước 3: Nếu M > N thì M  M – N ngược lại N  N – M ; - Bước 4: Quay lại bước 2 ; - Bước 5: Đưa ra kết quả UCLN rồi kết thúc. Bước 3: Viết chương trình : Program UCLN ; Uses crt ; Var M, N : integer ; Begin Clrscr ; Write (‘Nhập N, M =’) ; Readln (N, M) ; While M N do If M > N then M:= M – N else N:= N – M ; Writeln (‘UCLN =’, M) ; Readln ; End. Ví dụ 3: Viết chương trình “Tìm phần tử lớn nhất của dãy số nguyên”. Bước 1: Xác định bài toán : - Input : Số nguyên dương N (<=250) và dãy N số nguyên dương A 1, AN. mỗi số đều không vượt quá 500. - Output : Chỉ số và giá trị của phần tử lớn nhất trong dãy số đã cho (nếu có nhiều phần tử lớn nhất chỉ cần đưa ra một trong số chúng)
  13. Bước 2: Xây dựng thuật toán : - Bước 1: Nhập N và dãy A1, AN ; - Bước 2: Max  A1 ; i 2 ; - Bước 3: Nếu i>N thì đưa ra giá trị Max rồi kết thúc ; - Bước 4: Nếu Ai > Max thì Max  Ai ; ii+1 ; rồi quay lại bước 3. Bước 3 : Viết chương trình Program TimMax ; Uses crt ; Const Nmax = 250 ; Type arrInt = array[1 Nmax] of integer ; Var N, i , Max , csmax : integer ; A : arrInt ; Begin Clrscr ; Write (‘Nhap so luong phan tu cua day so, N =’) ; Readln (N) ; For i:= 1 to N do Begin Write (‘phan tu thu ‘, i,’=’) ; Readln(A[i]) ; End ; Max:= A[1] ; Csmax := 1 ; For i:=2 to N do If A[i] > Max then Begin Max:= A[i] ; Csmax:=i ; End; Writeln (‘gia tri cua phan tu Max:’ , Max) ;
  14. Writeln (‘chi so cua phan tu Max:’ , csmax) ; Readln End. 2. Khả năng áp dụng: Với kinh nghiệm trên qua học kỳ 2 năm học 2012-2013 tôi đã vận dụng so với học kỳ 1 năm học 2012-2013 tôi đã đạt được kết quả đáng mừng. Qua một cuộc điều tra nhỏ về tính hứng thú học tập của học sinh, số liệu được thể hiện như sau: - Khối lớp 7 của năm học 2012-2013 khi lên lớp 8 của năm học 2013-2014 số lượng học sinh hứng thú, thích học tin học tăng vượt bậc, kỹ năng lập trình trở nên chuyên nghiệp và chính xác hơn. - Khối lớp 8 của năm học 2012-2013 khi lên lớp 9 của năm học 2013-2014 đã mạnh dạn đăng ký thi học sinh giỏi khối 9 cho bộ môn tin học về việc lập trình bằng ngôn ngữ Pascal (thi thực hành trên máy tính). Ngoài ra các em còn tham gia các kì thi được tổ chức trên Internet và đăng kí dự thi tin học trẻ không chuyên dành khối trung học cơ sở. Qua thời gian triển khai và áp dụng phương pháp, tôi nhận thấy giờ học lập trình bằng ngôn ngữ lập trình Pascal thực sự thu hút các đối tượng học sinh hơn chứ không còn là giờ học của các đối tượng học sinh khá giỏi. Học sinh hoạt động tích cực hơn, khả năng phân tích, tư duy toán học trở nên nhạy bén phát huy tính tích cực, sáng tạo và tạo niềm đam mê bộ môn Tin học. Các đối tượng học sinh hỗ trợ được cho nhau để cùng học, cùng tiến bộ. Học sinh mạnh dạn đăng kí tham gia các kì thi về lập trình. Đặc biệt là học sinh ở trường đã tiến bộ rõ rệch ở bộ môn toán và hứng thú học toán hơn nhiều. Kỹ năng lập trình của các em không còn lúng túng mà trở nên chuyên nghiệp hơn. Qua đó nhiều em đã định hướng cho công việc của mình trong tương lai và có tác động tích cực đến nhận thức của các em. Tạo cho các em ngày càng yêu, đam mê công nghệ phần mềm và giúp các em có được nền tảng cơ bản nhất để tiếp cận bất kỳ ngôn ngữ lập trình khác.
  15. Kết quả kiểm tra học kì II lớp 8 năm học 2012-2013 (lập trình) Kết quả kiểm tra T Sĩ Lớp Giỏi Khá TB Yếu Kém Trên TB T số SL % SL % SL % SL % SL % SL % 1 8A1 36 8 22.2 12 33.3 11 30.5 5 14.0 31 86.1 2 8A2 38 6 15.8 14 36.8 12 31.6 4 10.5 2 5.3 32 84.2 3 8A3 37 7 18.9 14 37.8 10 27.0 5 13.5 1 2.8 31 83.8 Tổng cộng 21 14.3 40 27.2 33 22.4 14 9.5 3 2.0 94 84.7 3. Lợi ích kinh tế - xã hội: Tạo cho học sinh trung học cơ sở những kĩ năng cần thiết, nền tảng vững chắc trong quá trình lập trình. Giúp cho các em có được sự năng động, nắm bắt khoa học kĩ thuật tiên tiến của thời đại đồng thời tạo cho thế hệ trẻ trong tương lại ngày càng nhạy bén và chuyên nghiệp trong công việc. Xây dựng một đội ngũ thế hệ trẻ trong tương lai về kỹ năng lập trình vững vàng và sáng tạo nhằm tạo sự phát triển nguồn nhân lực trí thức về công nghệ phần mềm góp phần đưa nước nhà trở thành một nước công nghiệp hóa – hiện đại hóa. Thế giới ngày càng hiện đại với nhiều công nghệ tiên tiến phục vụ cho con người và cho xã hội.
  16. C. KẾT LUẬN: Tin học là môn học mới đối với học sinh phổ thông. Để tạo hứng thú học tập cho học sinh và từng bước nâng cao chất lượng bộ môn đòi hỏi người giáo viên phải tìm tòi, đổi mới phương pháp dạy học phù hợp, hiệu quả. Trong quá trình dạy học sinh lập trình, vận dụng những kỹ năng cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal tôi đã tạo cho học sinh niềm đam mê, hứng thú, sáng tạo và đặc biệt các giờ học không còn là nỗi ám ảnh của học sinh nữa và các em ở trường đã tiến bộ rõ rệch về kỹ năng lập trình từ những bài toán đơn giản đến nâng cao. Trên đây là một số kinh nghiệm của bản thân rút ra được trong quá trình hướng dẫn dạy học sinh những kỹ năng cơ bản về lập trình. Rất mong nhận được sự góp ý của quý thầy cô, bạn bè đồng nghiệp để tôi có thể hoàn chỉnh hơn kinh nghiệm này, góp phần nâng cao kỹ năng và chất lượng dạy học lập trình cho học sinh lớp 8. , ngày 16 tháng 09 năm 2013 Người viết