Sáng kiến kinh nghiệm Tạo sự yêu thích cho học sinh khi học lập trình Pascal ở bậc THCS

Pascal là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh, được nhà bác học Niklaus Wirth phát triển vào những năm 70 của thế kỷ XX. Đây là một ngôn ngữ có cú pháp sáng sủa và thường được dạy trong nhà trường và dành cho 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”.

Pascal dựa trên ngôn ngữ lập trình Algol và được đặt tên theo nhà toán học và triết học Blaise Pascal. Hiện ngôn ngữ này đang được sử dụng phổ biến ở Việt Nam là Turbo Pascal và Free Pascal.

Trong chương trình Tin học cấp THCS, ở lớp 8 phần lập trình đơn giản, học sinh được học ngôn ngữ lập trình Pascal và nội dung thi học sinh giỏi lớp 8, lớp 9 cấp huyện, tỉnh môn Tin học đều sử dụng ngôn ngữ lập trình Pascal để giải các bài toán. Qua một thời gian giảng dạy ở trường, tôi nhận thấy khi học Pascal học sinh thường không thích thú với môn học này vì nhiều lý do như khó hiểu, đòi hỏi tư duy nhiều, … do đó để học được đòi hỏi học sinh phải có hứng thú, đặc biệt với học sinh giỏi môn Tin học cần có sự đam mê, yêu thích mới có thể gắn bó, theo học lâu dài môn Pascal. Đó cũng chính là lý do tôi viết sáng kiến kinh nghiệm “ Tạo sự yêu thích cho học sinh khi học lập trình Pascal ở bậc THCS”.

docx 23 trang Chăm Nguyễn 09/05/2025 200
Bạn đang xem 20 trang mẫu của tài liệu "Sáng kiến kinh nghiệm Tạo sự yêu thích cho học sinh khi học lập trình Pascal ở bậc THCS", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

Tóm tắt nội dung tài liệu: Sáng kiến kinh nghiệm Tạo sự yêu thích cho học sinh khi học lập trình Pascal ở bậc THCS

Sáng kiến kinh nghiệm Tạo sự yêu thích cho học sinh khi học lập trình Pascal ở bậc THCS
ển Pascal: Do mới bắt đầu làm quen với lập trình nên học sinh thường gặp không ít những khó khăn. Một khó khăn đầu tiên của học sinh là khi đọc những chương trình viết sẵn không hiểu được những hàm hay thủ tục được sử dụng trong chương trình đó, dẫn đến không hiểu được chương trình. Một khó khăn nữa là khi viết chương trình và chạy thử thì học sinh sẽ gặp rất nhiều loại lỗi. Học sinh không dịch được thông báo lỗi do thông báo lỗi bằng tiếng Anh hoặc có dịch được thì cũng không biết cách khắc phục lỗi đó. Nên việc tìm hiểu và sử dụng thuần thục phần mềm từ điển là cần thiết. Cụ thể là trợ giúp học sinh hai vấn đề khó khăn nhất khi học Pascal là tra cứu các hàm, thủ tục và tra cứu các lỗi xảy ra khi chạy chương trình. Vì thế mà  học sinh có hứng thú, yêu thích và say mê bộ môn lập trình Pascal hơn. 
* Phần mềm Pascal Study: Pascal Study được viết nhằm mục đích giới thiệu cách viết chương trình bằng ngôn ngữ Pascal, giúp học sinh làm quen hoặc nâng cao kiến thức của mình về ngôn ngữ này. Phần mềm có nội dung dễ hiểu và rất rộng, đáp ứng được phần lớn nhu cầu của người học. 
* Các trang web thảo luận về Pascal: Đây là nơi giáo viên và học sinh có thể trao đổi, chia sẻ, giao lưu về kiến thức lập trình Pascal.
IV. HIỆU QUẢ
            - Qua việc áp dụng những kinh nghiệm trên (phương pháp truyền đạt, hệ thống bài tập và các phần mềm hỗ trợ), học sinh nắm được nội dung bài học ngay tại lớp, nắm bắt kiến thức một cách logic và có hệ thống. Học sinh thảo luận nhiều hơn, tham gia giờ học tích cực và đặc biệt là yêu thích, hứng thú hơn trong việc tiếp cận với lập trình Pascal, môn học “khô khan” nhất trong các môn học.
Bảng số liệu thống kê kết quả đạt được của học sinh giỏi khối 8, 9 qua các năm học:
Năm học
Số lượng học sinh khảo sát
Kết quả từ khá trở lên
Ghi chú
Đầu năm
Học kì 1
Cuối năm
2009-2010
12
5
5
6
Chưa áp dụng SKKN
2010-2011
14
6
7
7
Chưa áp dụng SKKN
2011-2012
12
3
6
9
Áp dụng SKKN
2012-2013
12
5
7
11
Áp dụng SKKN
 - Kết quả học sinh giỏi các cấp:
+ Năm học 2011-2012: 1giải ba, 1 giải khuyến khích cấp huyện,
+ Năm học 2012-2013: 1 giải Nhì, 1 giải Ba, 1 giải KK cấp huyện, 2 giải KK cấp tỉnh
 Tuy kết quả chưa được như mong muốn (do nguyên nhân khách quan và chủ quan), nhưng cũng đã thể hiện được những tích cực của việc áp dụng phương pháp này. 
C. KẾT LUẬN:
            Trong quá trình giảng dạy bộ môn Tin học, đặc biệt khi dạy lập trình Pascal, môn học mà đòi hỏi phải tư duy sáng tạo nhiều thì cần phải có một phương pháp dạy học phù hợp nhằm đạt hiệu quả cao. Vì vậy việc áp dụng các phương pháp tạo sự hứng thú, yêu thích môn học này cho học sinh là điều cần thiết. Từ đó giúp cho học sinh phát triển trí tuệ, rèn luyện khả năng lao động sáng tạo, đặc biệt là đáp ứng yêu cầu đổi mới phương pháp dạy học hiện nay.
            Do điều kiện CSVC của nhà trường còn thiếu thốn, hoàn cảnh kinh tế gia đình khó khăn nên đa số các em chưa có máy vi tính, dẫn đến việc học Tin học nói chung và môn lập trình Pascal nói riêng của các em còn nhiều hạn chế. Kính đề nghị các cấp lãnh đạo, nhà trường, gia đình tạo mọi điều kiện thuận lợi để phục vụ tốt cho việc học của các em.
            Cần tổ chức nhiều các hội thảo, các lớp tập huấn về phương pháp dạy học tích cực.
Trang  web nhà trường, phòng Giáo dục và Sở Giáo dục cần có diễn đàn trao đổi về kiến thức Tin học, đổi mới phương pháp dạy học để giáo viên và học sinh cùng thảo luận, trao đổi, học tập.
Trên đây là một số kinh nghiệm mà bản thân rút ra trong quá trình giảng dạy, tuy nhiên do thời gian công tác còn ít, kinh nghiệm còn hạn chế nên thiếu sót là điều không tránh khỏi. Kính mong ý kiến đóng góp của các đồng nghiệp.
                                                                                    Cam An, ngày 24 thang 05 năm 2013
                                                                                                                         NGƯỜI VIẾT
                                                                                                                     Nguyễn Anh Tuấn
TÀI LIỆU THAM KHẢO
-         Sách giáo khoa Tin học quyển 3 - NXB Giáo dục
-         Sách bài tập Tin học quyển 3- NXB Giáo dục.
-         Ngôn ngữ lập trình Pascal- Quách Tuấn Ngọc
-         Bài tập thực hành Pascal – Nguyễn Quang Vịnh
-         Lý thuyết và bài tập Pascal- Hồ Xuyên, Hoàng Tư Anh Tuấn
-         Tuyển tập đề thi Olympic Tin học - NXB Đại học sư phạm
-         Các diễn đàn pascal trên Internet
D. PHỤ LỤC
HỆ THỐNG BÀI TẬP PASCAL DÀNH CHO HỌC SINH LỚP 8, 9
Phần 1: Giới thiệu Turbo Pascal
1. Em hãy nói cách vào ra Turbo Pascal.
2. Nêu cách chạy chương trình Turbo Pascal.
3. Hãy mô tả thực đơn của Pascal.
4. Mở một file mới với tên là HELLO.PAS, gõ chương trình sau:
Uses CRT;
Begin
Clrscr;
Writeln;
Write('Chao cac ban!');
Write('Chuc cac ban thanh cong!');
Write('Chuc mung cac ban da den voi');
Write('Turbo Pascal');
Readln;
End.
a. Ghi file vào đĩa.
b. Hãy thay thế tất cả các chữ "Write" thành "Writeln".
c. Chuyển hai dòng thứ 7 và thứ 8 vào giữa hai dòng thứ 5 và thứ 6.
d. Đánh dấu khối các dòng từ dòng thứ 4 đến dòng thứ 8 sao chép vào sát trên dòng thứ 9.
e. Ghi file vừa thay đổi vào đĩa với tên HELLO1.PAS (dùng lệnh Save As)
Phần 2: Cấu trúc chương trình PASCAL
1. Nêu cấu trúc cơ bản của chương trình Pascal. Phần nào là bắt buộc còn phần nào là không bắt buộc.
2. Mở file HELLO.PAS và chạy chương trình.
3. Mở file mới, gõ chương trình sau và đặt tên là TPASCAL.PAS.
Program Tinh;
Uses CRT;
Var gt, i: longint;
Begin
Clrscr;
gt := 1;
For i:=1 to 10 do
gt := gt*i;
Writeln('tich cua 10 so tu nhien dau tien la:', gt);
Readln;
End.
a. Chạy chương trình.
b. Thay số 10 bằng số 15 và chạy chương trình.
4. Viết chương trình Pascal đơn giản in ra màn hình dòng chữ:
5. Hai chương trình Pascal sau khác nhau ở điểm nào
Chương trình 1:
Program CT1;
Begin
Write('Ha noi, Viet nam');
End.
Chương trình 2:
Program CT2;
Begin
Writeln('Ha noi, Viet nam');
End.
6.Trong các câu sau, mệnh đề nào đúng, mệnh đề nào sai, vì sao.
a. Các từ khóa trong phần khai báo của chương trình Pascal là Const, Type, Var, Procedure, Function.
b. Trong phần khai báo của chương trình Pascal, từ khóa Const bắt buộc phải khai báo trước từ khóa Var.
c. Trong một chương trình Pascal hoàn chỉnh số lượng các từ khóa Begin bằng số lượng các từ khóa End.
d. Trong chương trình Pascal chỉ cho phép đúng 1 lần có từ khóa Var.
e. Trong chương trình Pascal do các lệnh đều phải kết thúc bằng dấu ; do đó số lượng các ký hiệu ; sẽ bằng đúng số lượng các lệnh của chương trình.
Phần 3: Các lệnh lập trình đơn giản
1. a. Phân biệt hai lệnh sau:
Writeln('5+20=', '20+5'); và Writeln('5+20=', 20+5);
    b. Hai lệnh sau có tương đương với nhau không? Tại sao?
Writeln('100');  Writeln(100);
2. Cho a, b là hai số tự nhiên (a, b). Hãy gán giá trị cho a, b. Tính và in ra trên màn hình:
- Phần nguyên của phép chia a:b;
- Phần dư của phép chia a:b
3. Hỏi có bao nhiêu cách biểu diễn số 10 thành tổng các số tự nhiên khác nhau từng đôi một. Em hãy liệt kê tất cả các cách biểu diễn đó.
4. Số tự nhiên gọi là hoàn chỉnh nếu nó bằng tổng của tất cả các ước số thực sự của chính mình. Em hãy tìm xem trong 100 số tự nhiên đầu tiên số nào là số hoàn chỉnh.
5. Dãy số sau gọi là dãy Fibonaci: 1 1 2 3 5 8 13 ........Dãy này có tính chất một số hạng sẽ bằng tổng của hai số hạng liền kề trước nó. Em hãy liệt kê tất cả các số Fibonaci nhỏ hơn 100.
Phần 4: Biểu thức số học
1. Viết chương trình tính giá trị của biểu thức sau và in kết quả ra màn hình:
a. A = 25x5 + 70x4 - 100x3 + 10 x2 - 27x –1997  với x = 2, x = 3
b. B = (x2-y2) - 4xy + 1 với x = 19, x = 17 và x = 5, y = 10
2. Viết chương trình
- Nhập bán kính hình tròn.
- Tính chu vi của hình tròn và in ra màn hình.
- Tính diện tích hình tròn và in ra màn hình.
3. Viết chương trình tính giá trị và in ra kết quả của biểu thức:
x2y2(2x - xy)(x - 5y) - 100xy - 10x -200y với x = 2, y = 3
4. Chỉ dùng một biến số hãy viết chương trình in ra tổng số: S = 1+2+3+4+5+6+7+8+9+10
5. Dựa trên các công thức sau:
1 + 2 + 3 +...+ n = n(n+1)/2 và 12 + 22 + 32 +....+ n2 = n(n+1)(2n+1)/6
Hãy viết chương trình nhập số n và tính các tổng trên.
Phần 5. Câu lệnh IF
1. Viết chương trình tính điểm trung bình của một học sinh dữ liệu nhập vào là điểm trung bình của các môn: văn, toán, lý, hoá, ngoại ngữ.
DTB = (văn*2 + toán *3 + lý + hoá + NN*2)/9. In ra màn hình điểm trung bình cra học sinh đó và xếp loại học lực:
DTB < 5 Xếp loại Yếu
5=< DTB < 6.5 Xếp loại Trung bình
6.5 =< Dtb < 8.0 Xếp loại Khá
DTB>=8.0 Xếp loại Giỏi
2. Viết chương trình nhập ba số thực a, b, c. In ra trên màn hình số lớn nhất và nhỏ nhất.
3. Viết chương trình nhập hai số thực. Sau đó hỏi phép tính cần thực hiện và in ra kết quả của phép tính đó.
Nếu là "+": In kết quả của tổng lên màn hình
Nếu là "-": In kết quả của hiệu lên màn hình
Nếu là "/ ": In kết quả của thương lên màn hình
Nếu là "*": In kết quả của tích lên màn hình
4. Viết chương trình nhập từ bàn phím ba số thực a, b, c và kiểm tra xem nó có phải là ba cạnh của tam giác không?
5. Cho bốn số a, b, c, d đọc vào từ bàn phím. Hãy tìm giá trị cực đại và gán cho biến có tên là MAX và in ra kết quả.
Phần 6: Lệnh lặp FOR
1. Dùng vòng FOR để viết lên màn hình các số từ 0 đến 99 theo cách sau:
0
1
2
3
4
5
6
7
8
9
10
11
12
...
 
 
 
 
 
19
...
 
 
 
 
 
 
 
 
 
90
91
92
...
 
 
 
 
 
99
2. Cho số tự nhiên n hãy lập trình để tính các tổng sau:
a. 1 + 1/22 + 1/32 + ... + 1/n2
b. 1+ 1/2! + 1/3! + ... + 1/n!
3. Cho số tự nhiên N. Lập chương trình tính:
a. Số N có bao nhiêu chữ số
b. Tính tổng các chữ số của N.
4. Cho trước số tự nhiên N. Hỏi trong N số tự nhiên đầu tiên có bao nhiêu số:
a. Chia hết cho 2.
b. Là bội của 3.
c. Đồng thời chia hết cho 2 và 3.
d. Có ước nguyên tố là 3 hoặc 5.
Phần 7. Lệnh lặp While
1. a) Lập trình tính tích của 10 số tự nhiên đầu tiên.
    b) Lập trình tính tổng của 1000 số tự nhiên đầu tiên.
2. Có sẵn một dãy số. Hãy viết chương trình nhập một số x rồi tìm xem có bao nhiêu phần tử trong dãy >x hay không.
3. Viết chương trình nhập Họ, tên, năm sinh trong một danh sách có tối đa 100 người, sau đó xếp lại thứ tự danh sách này theo tuổi.
4. Viết chương trình nhập số tự nhiên n và in ra số Fibonaci thứ n.
5. Viết chương trình nhập số thực A và tìm ra số tự nhiên nhỏ nhất N sao cho
1 + 1/2 + 1/3 + .... + 1/N >A.
Phần 8: Kiểu dữ liệu mảng
1. Các khai báo sau đúng hay sai:
Array[5..&] Of Real;
Array[3.4 .. 4.8] Of Integer;
Array Of Array[1..3] Of Integer;
Array[10, 13] Of Integer;
Array['A' .. 'Z'] Of Array ['A' .. 'Z'] Of 'A' ... 'Z'
2. Hai cách khai báo sau có tương đương nhau không:
a. Type Mang = array[1..100] of integer;
Var A,B: array[1..100] of mang;
b. Var A,B: array[1..100,1..100] of integer;
            3. Cho một mảng số nguyên, xác định trong dãy:
                                    + Có phần tử là số dương
                                    + Tất cả các phần tử đều số dương
4. Dãy số sau được gọi là dãy Fibonaci:
a1=1
a2=1
a3=2
a4=3
.......
an = an-1 + an-2
Viết chương trình tính 20 số Fibonaci đầu tiên và đưa kết quả vào một mảng 20 phần tử.
            5. Nhập số tự nhiên N và viết chương trình tạo mảng bao gồm N số nguyên tố đầu tiên.
Phần 9: Thuật toán tìm MIN, MAX
1. Tìm giá trị lớn nhất của dãy đã cho.
        2. Cho số tự nhiên N. Viết chương trình tính ước số thực sự lớn nhất của N.
3. Cho số tự nhiên N. Viết chương trình tính ước số nhỏ nhất của N không phải là đơn vị.
4. Cho trước một dãy số. Hãy chỉ ra giá trị số được lặp lại nhiều nhất của dãy số. Trường hợp có nhiều giá trị lặp nhiều nhất thì liệt kê tất cả các giá trị này.
5. Cho số tự nhiên N. Hãy tìm số Fibonaci lớn nhất không vượt quá N. (Chương trình phải chỉ ra được giá trị của số này và chỉ số của nó).
Phần 10. Kiểu dữ liệu String
1. Lập trình đếm số lần xuất hiện ở mỗi loại kí tự thuộc bảng chữ cái tiếng Anh trong một xâu kí tự Str.
2. Viết chương chương trình nhập một xâu kí tự sau đó chỉ ra xem xâu đó có phải là xâu đối xứng không (Xâu đối xứng là xâu có các kí tự giống nhau đối xứng qua điểm giữa xâu).
3. Cho một xâu ký tự S. Hãy viết chương trình tính xem trong S có bao nhiêu loại ký tự khác nhau (phân biệt chữ in hoa và in thường). Ví dụ với S là "Hathanh" ta có đáp số là 5.
4. Cho xâu ký tự S. Viết chương trình tính xem trong S có bao nhiêu chữ cái tiếng Anh (không phân biệt chữ in hoa hay thường). Ví dụ với S là "Ha thanh" ta có đáp số là 4.
5. Họ tên một học sinh được nhập từ bàn phím. Em hãy viết chương trình điều chỉnh lại các ký tự đầu họ hoặc đệm hoặc tên của học sinh đó trở thành chữ in hoa. (Chú ý họ tên đầy đủ của một học sinh có thể có nhiều hơn một tên đệm. Ví dụ nếu nhập vào là nguyễn văn anh hùng thì phải sửa lại là Nguyễn Văn Anh Hùng)
6. Viết chương trình nhập một dòng chữ và đếm xem nó gồm bao nhiêu câu. (Chú ý: một câu phải kết thúc bằng dấu chấm)
7. Cho một xâu ký tự. Hãy tính:
Số lượng các ký tự là số
Số lượng các ký tự chữ cái
Phần 11: Khái niệm Thủ tục và hàm
1. Hãy lập một thủ tục nhập 2 số nguyên A, B sau đó tính và in ra màn hình thương A/B.
2. Viết thủ tục nhập dữ liệu cho một mảng số cho trước.
3. Dùng thủ tục đối với một mảng các số thực, hãy tính tổng của các số hạng âm và in kết quả ra màn hình.
4.. Viết một chương trình Pascal bằng cách thực hiện lần lượt các công việc sau:
Lập thủ tục nhập ba số thực dương a, b, c từ bàn phím.
Lập thủ tục kiểm tra xem ba số trên có lập thành ba cạnh của tam giác hay không.
Viết thủ tục tính diện tích tam giác.
Viết thủ tục tính các trung tuyến của tam giác.
Viết hoàn thiện chương trình chính.
5. Đưa vào Function nhận giá trị Boolean kiểm tra tính nguyên tố của một số tự nhiên cho trước.
6. Dùng Function tính USCLN của 2 số tự nhiên x, y theo thuật toán Ơclit
7. Dùng hàm Function tách từ đầu tiên ra khỏi một xâu ký tự cho trước.
8. Đưa vào hàm Function có giá trị Boolean kiểm tra xem một xâu cho trước có phải là một xâu đối xứng không.
Phần 12: Làm việc với File trong Pascal
1. Một file văn bản trên đĩa có tên là SON.INF chứa đúng một dòng bao gồm hai số tự nhiên n, m được viết cách nhau một dấu cách.
Em hãy viết đoạn chương trình nhập hai số này từ file trên và in kết quả ra màn hình.
2. Một file văn bản có tên DATA.TXT lưu trữ số liệu của một mảng n số và có dạng sau:
- Dòng đầu tiên của DATA ghi số n.
- n dòng tiếp theo của file ghi n số, mỗi số trên một dòng.
Viết chương trình nhập số liệu của dãy trên vào một mảng và in ra dữ liệu của mảng trên sau khi đã sắp lại theo thứ tự tăng dần.
3. Số liệu được nhập từ một file văn bản INPUT.TXT và có dạng sau:
- Dòng đầu tiên ghi số tự nhiên N (N <20).
- N dòng tiếp theo, mỗi dòng ghi một dãy số, các số cách nhau bởi dấu cách. Số lượng phần tử của các dãy có thể khác nhau.
Viết chương trình nhập số liệu từ file trên, sắp xếp n dãy trên theo thứ tự tăng dần và ghi kết quả ra file OUTPUT.TXT có dạng tương tự như file nhập liệu.

File đính kèm:

  • docxsang_kien_kinh_nghiem_tao_su_yeu_thich_cho_hoc_sinh_khi_hoc.docx