- Cũng như những môn học khác, việc rèn luyện kỹ năng lập trình trong bộ môn Tin học cần được thực hiện trong hoạt động và bằng hoạt động tự giác, tích cực, chủ động và sáng tạo của học
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ
TRƯỜNG THPT ĐÔNG SƠN 2
SÁNG KIẾN KINH NGHIỆM
TÊN ĐỀ TÀI
KỸ NĂNG LẬP TRÌNH PASCAL CHO HỌC SINH LỚP 11
Người thực hiện: Lê Thị Nga Chức vụ: Giáo viên
SKKN thuộc lĩnh vực (môn): Tin
THANH HOÁ NĂM 2021
Trang 2M C L C ỤC LỤC ỤC LỤC
I MỞ ĐẦU: 2
1.1 Lý do chọn đề tài: 2
1.2 Mục đích nghiên cứu: 2
1.3 Đối tượng nghiên cứu: 2
1.4 Phương pháp nghiên cứu: 2
1.5 Giới hạn phạm vi nghiên cứu: 2
II NỘI DUNG SÁNG KIẾN KINH NGHIỆM: 2
2.1 Cơ sở lý luận của vấn đề: 2
2.2 Thực trạng của vấn đề: 3
2.3 Các biện pháp đã tiến hành giải quyết vấn đề: 4
2.3.1 Các yêu cầu cơ bản của giáo viên: 4
2.3.2 Các yêu cầu cơ bản của học sinh: 4
2.3.3 Biện pháp tiến hành: 4
2.4 Hiệu quả của SKKN: 13
2.4.1 Kết quả đạt được: 13
2.4.2 Bài học kinh nghiệm: 14
III KẾT LUẬN,KIẾN NGHỊ : 15
3.1 KẾT LUẬN : 15
3.2 KIẾN NGHỊ : 15
Trang 3I MỞ ĐẦU:
1.1 Lý do chọn đề tài.
- Trong nhiều năm qua Sở giáo dục và đào tạo tỉnh Thanh Hoá nói chung và trường THPT Đông Sơn 2 nói riêng đã phát động phong trào “ Ứng dụng công nghệ thông tin trong quản lý và dạy học”
- Để đáp ứng nhu cầu giảng dạy bộ môn Tin hoc ở nhà trường, trường THPT Đông Sơn 2 đã từng bước được bổ sung về hệ thống máy tính và các điều kiện khác để phục vụ cho công tác giảng dạy và học tập Môn Tin học đã được đưa vào giảng dạy ở trường THPT nhằm trang bị cho học sinh những hiểu biết cơ bản về công nghệ thông tin và vai trò của nó trong xã hội hiện đại Môn học này giúp học sinh bước đầu làm quen với phương pháp giải quyết vấn đề theo quy trình công nghệ và kỹ năng sử dụng máy tính phục vụ học tập và cuộc sống Tin học có ý nghĩa to lớn đối với sự phát triển trí tuệ, tư duy thuật toán, góp phần hình thành kiến thức phổ thông cho học sinh
Trong chương trình tin học lớp 11 có những vấn đề hay những bài toán thầy/cô không biết làm sao cho học sinh hiểu và hình dung được bài học
Xuất phát từ cơ sở trên, tôi đã chọn đề tài: “ KỸ NĂNG LẬP TRÌNH CHO HỌC SINH LỚP 11”
1.2 Mục đích nghiên cứu.
Sử dụng các ví dụ minh học cụ thế để học sinh hiểu như thế nào gọi là ‘ lập trình’ và như thế nào là ‘ ngôn ngữ lập trình’, tiếp theo đó là học sinh nắm
được cú pháp, ý nghĩa của lập trình Giúp các em hiểu, yêu thích lập trình và học lập trình trong sự hứng thú, phấn khởi
1.3 Đối tượng nghiên cứu.
Học sinh các khối, lớp mà tôi được phân công trực tiếp giảng dạy
1.4 Phương pháp nghiên cứu.
- Kết hợp thực tiễn giáo dục ở trường THPT Đông Sơn 2
- Có tham khảo các tài liệu về ngôn ngữ lập trình Pascal và tài liệu về sáng kiến kinh nghiệm
1.5 Giới hạn phạm vi nghiên cứu.
Chương trình SGK Tin học lớp 10, Tin học lớp 11
II NÔI DUNG SÁNG KIẾN KINH NGHIỆM.
2.1 Cơ sở lý luận của vấn đề.
- Vận dụng linh hoạt, sáng tạo các hình thức tổ chức học tập kết hợp giữa học tập cá thể với học tập hợp tác, giữa hình thức học các nhân với hình thức học theo nhóm
- Tăng cường kiểm tra đánh giá bằng nhiều hình thức khác nhau theo chuẩn kiến thức kỹ năng, yêu cầu học sinh tự viết các chương trình hoàn chỉnh đó là một biện pháp kích thích hứng thú học tập Với phương pháp dạy và học hiện nay đang có xu hướng thay đổi một cách tích cực Phương pháp mới hướng tới lấy học sinh làm trung tâm, học sinh không còn đóng vai trò tiếp thu một cách thụ động những kiến thức do giáo viên truyền đạt Giáo viên trở thành người
hướng dẫn, giúp đỡ học sinh Học sinh hướng tới việc học tập chủ động, biết tự
Trang 4thích nghi Kiến thức được học sinh tìm tòi, phát hiện một cách tích cực dưới
sự hướng dẫn của giáo viên Ngoài ra, cách tổ chức học theo nhóm làm tăng thêm khả năng cộng tác, khả năng làm việc tập thể
- Cũng như những môn học khác, việc rèn luyện kỹ năng lập trình trong bộ môn Tin học cần được thực hiện trong hoạt động và bằng hoạt động tự giác, tích cực, chủ động và sáng tạo của học sinh Khi cần dạy một nội dung tin học cho học sinh, người giáo viên phải biết phân tích nội dung đó liên quan đến những hoạt động nào Và một số hoạt động trong đó lại được phân tích thành những hoạt động thành phần Rồi căn cứ vào mục tiêu tiết học, trang thiết bị hiện có
mà lựa chọn cho học sinh tập luyện Để học sinh có ý thức về ý nghĩa của những hoạt động, cần tạo động cơ học tập cho học sinh, để học sinh học bằng
sự hứng thú thực sự, nó được nảy sinh từ việc ý thức sâu sắc ý nghĩa nội dung bài học
2.2 Thực trạng của vấn đề.
- Từ thực tế trên, trong quá trình dạy học tôi luôn băn khoăn làm thế nào nâng cao chất lượng kỹ năng lập trình cho học sinh lớp 11 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 Nhất là những năm gần đây Ngành giáo dục luôn thành lập đội tuyển tham dự thi học sinh giỏi môn Tin học
- Lập trình Pascal "khó" đối với học sinh THPT vì môi trường lập trình Pascal
có giao diện và các từ khóa đều bằng tiếng Anh, các dòng thông báo hay trợ giúp cũng vậy Nhìn chung học sinh THPT vốn tiếng Anh không nhiều, nhiều
em còn yếu về tiếng Anh Hơn nữa, rào cản đối với việc các học sinh THPT tiếp cận với lập trình Pascal đó là: tư duy Toán học của các em còn hạn chế phụ thuộc còn vào Sách Giáo Khoa do đó kỹ năng phân tích, tổng hợp, xây dựng thuật toán cho mỗi bài toán hay vấn đề cần lập trình chưa tốt Các em vẫn thụ động trong việc tiếp cận bài toán, sắp xếp tư duy, xây dựng thuật giải
- Qua kinh nghiệm nhiều năm giảng dạy và bồi dưỡng học sinh dự thi học sinh giỏi môn tin học về ngôn ngữ lập trình Pascal cùng với nhiều đối tượng học sinh khác nhau trong trường, tôi nhận thấy học sinh còn lúng túng nhất ở khâu vận dụng xây dựng chương trình cụ thể, không biết làm thế nào? bắt đầu từ
đâu? Do đó tôi đã tích luỹ được một vài kinh nghiệm về “kỹ năng lập trình
pascal cho học sinh lớp 11” Giúp các em hiểu, yêu thích lập trình và học lập
trình trong sự hứng thú, phấn khởi
Thuận lợi:
- Giáo viên được đào tạo đúng chuyên ngành về sư phạm Tin học
- Nhà trường tạo điều kiện sắm sửa máy móc, trang thiết bị phục vụ cho việc dạy và học môn Tin học
- Nhà trường đã có một phòng máy vi tính, nhưng vẫn còn hạn chế về số lượng cũng như chất lượng, mỗi ca thực hành có tới 2 đến 3 em ngồi chung một máy nên các em không có nhiều thời gian để thực hành làm bài tập một cách đầy
Trang 5đủ Nhiều máy cấu hình đã cũ, chất lượng không còn đảm bảo hay hỏng hóc ảnh hưởng đến chất lượng học tập của học sinh
- Một số học sinh chưa coi trọng môn học, xem đây là một môn phụ nên chưa có
sự đầu tư thời gian cho việc học môn Tin học, một số em còn sử dụng máy vi tính không đúng mục đích của môn học Một số em tiếp thu kiến thức còn chậm, đặc biệt là kỹ năng đọc hiểu chương trình vì đa phần dùng ngôn ngữ Tiếng Anh
Ngoài ra, ở chương trình Tin học 11, các em phải làm quen, tiếp cận với ngôn ngữ lập trình Pascal là một phần mềm có cấu trúc phức tạp, ngôn ngữ lập trình bằng tiếng anh Mặt khác để thực hiện được một chương trình thì các em phải có một kiến thức toán học nhất định
2.3 Các biện pháp đã tiến hành giải quyết vấn đề.
2.3.1 Các yêu cầu cơ bản của giáo viên:
Giáo viên cần phải nắm vững các phương pháp dạy học Tin học (theo sự đổi mới: kết hợp giữa “ôn cũ giảng mới”, trong tiết dạy cần kết hợp phương pháp dạy “vừa lý thuyết, vừa thực hành” ) 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 phải tiếp cận nội dung bài và lựa chọn các phương pháp, xây dựng hệ thống các dạng bài tập lập trình phù hợp với ba đối tượng: giỏi- khá, trung bình, yếu- kém Từ đó dẫn dắt học sinh tự khám phá kiến thức, không thụ động ghi nhận kiến thức giáo viên cung cấp, phải có sự phối hợp giữa hoạt động dạy và hoạt động học trên cơ sở lấy học sinh làm trung tâm Để 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, phù hợp các phương pháp dạy học đồng thời giáo viên phải tác động cho học sinh thấy được môn tin học là cần thiết cho bản thân các em sau này
2.3.2.Các yêu cầu cơ bản của học sinh:
- Học sinh phải xác định được sách giáo khoa là phương tiện chủ yếu để
học sinh học tập Bên cạnh đó, học sinh phải biết chọn lọc những tài liệu tham khảo phù hợp để học tốt môn tin học Học sinh phải tích cực chủ động học tập, thực hiện các yêu cầu của giáo viên và chuẩn bị chu đáo ở nhà trước khi đến lớp Trong quá trình học tập, các em phải tư duy theo sự hướng dẫn gợi mở của giáo viên, phải chủ động quan sát vấn đề, hiện tượng, phối hợp giải quyết, khám phá ra nội dung bài học để thực hành vận dụng đạt hiệu quả cao
- Học thì phải hành Thực hành là thước đo đánh giá tiếp nhận và vận dụng kiến thức Thực hành thông thường là áp dụng bài tập trên lớp và ở nhà Vì vậy học sinh phải biết kết hợp lý thuyết với thực hành một cách thành thạo
2.3.3 Biện pháp tiến hành:
a, Giới thiệu chung giúp học sinh nắm được về các thành phần cơ bản của ngôn ngữ lập trình Pascal.
Bộ chữ viết – Biểu thức – Câu lệnh – Từ khoá
- Bộ chữ viết
- Biểu thức.Câu lệnh:
+ Câu lệnh gán (:=): <Tên biến>:=<Biểu thức>;
Trang 6+ Lời gọi hàm, thủ tục
+ Câu lệnh có cấu trúc:
+ Câu lệnh ghép: BEGIN END;
+ Các cấu trúc điều khiển: IF , CASE , FOR , REPEAT , WHILE
- Từ khoá: là các từ riêng của Pascal, có ngữ nghĩa đã được xác định, không được dùng nó vào các việc khác hoặc đặt tên mới trùng với các từ khoá: Array, Begin, Const, Div, Else, For, If, Mod, End…
b, Giới thiệu chung về các bước viết một chương của ngôn ngữ lập trình Pascal.
- 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 một lớp 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ừ các yếu tố cơ bản:
Thông tin vào Xử lý thông tin Thông tin ra
(Output) (Input) (Process)
- 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 thực hiện được các bước cụ thể như sau:
Bước 1 Xác định các bài toán:
Là xác định Input (thông tin đã biết), Output ( thông tin cần tìm)
Bước 2 Mô tả thuật toán:
Thuật toán là một hệ thống chặt chẽ và rõ ràng các quy tắc nhằm xác định một dãy thao tác trên cấu trúc dữ liệu sao cho: Với một bộ dữ liệu vào, sau một số hữu hạn bước thực hiện các thao tác đã chỉ ra, ta đạt được mục tiêu đã định Từ đó tìm cách giải bài toán và diễn tả bằng các lệnh cần phải thực hiện
Bước 3 Viết chương trình:
Dựa vào mô tả thuật toán ở bước 2 trên, ta viết chương trình bằng một ngôn ngữ lập trình mà các em đã học (Cụ thể là dùng ngôn ngữ lập trình Turbo Pascal để viết chương trình)
c, Phân tích chi tiết nội dung cần viết chương trình:
* Xác định bài toán:
Là xác định rõ 2 thành phần Input và Output và mối quan hệ giữa chúng để có thể lựa chọn thuật toán và ngôn ngữ lập trình thích hợp
Ví dụ: Giải phương trình bậc nhất dạng tổng quát bx + c =0(SGK)
Các bước xác định cho bài toán:
+ Input : Các số b và c
+ Output : Nghiệm của phương trình bậc nhất
Ví dụ : Lần lượt đưa giá trị b, c vào ( b = 5,c = - 7)
Áp b = 0 và c = 0 thì phương trình có vô số nghiệm
Nếu b = 0 và c ≠ 0 thì phương trình vô nghiệm
Nếu b ≠ 0 thì phương trình có nghiệm x = -c/b;
Kết quả in ra là x = 7/5
* Xây dựng thuật toán:
- Khái niệm thuật toán:
Thuật toán là dãy hữu hạn các thao tác cần thực hiện theo trình tự xác định để thu được kết quả cần thiết từ những điều kiện cho trước.
Trang 7- Phương pháp biểu diễn thuật toán: Khi chứng minh hoặc giải một bài toán trong
toán học, chúng ta thường dùng những ngôn từ toán học như : "ta có", "điều phải chứng minh", "giả thiết", và sử dụng những phép suy luận toán học như phép suy
ra, tương đương, Thuật toán là một phương pháp thể hiện lời giải bài toán nên cũng phải tuân theo một số quy tắc nhất định Ðể có thể truyền đạt thuật toán cho người khác hay chuyển thuật toán thành chương trình máy tính, ta phải có phương pháp biểu diễn thuật toán Có 3 phương pháp biểu diễn thuật toán:
+ Dùng ngôn ngữ tự nhiên
+ Dùng lưu đồ - sơ đồ khối
+ Dùng mã giả
- Các tiêu chí thuật toán cần thỏa mãn:
+ Tính hữu hạn: Giải thuật phải dừng lại sau một số bước hữu hạn
+ Tính dừng: Khi kết thúc giải thuật phải cung cấp kết quả đúng đắn
+ Tính hiệu quả: Thời gian tính toán nhanh
+ Sử dụng ít tài nguyên không gian như: bộ nhớ, thiết bị
+ Mang tính phổ dụng: dễ hiểu, dễ cài đặt và mở rộng cho các bài toán khác
Ví dụ: Bài toán giải phương trình bậc nhất 1 ẩn ax+b=0
Bước 1: Nhập a, b
Bước 2: Nếu a = 0 thì
Bước 2.1 Nếu b = 0 thì phương trình vô số nghiệm
Bước 2.2 Nếu b ≠ 0 thì phương trình vô nghiệm
Bước 3 Nếu a ≠ 0 thì phương trình có nghiệm x= - b/a
Bước 4 Đưa ra giá trị nghiệm x
Bước 5 Kết thúc
Một số khối trong sơ đồ khối dùng để biểu diễn thuật toán.
Trang 8+ Cấu trúc rẽ nhánh:
Nếu biểu thức điều kiện đúng, thực hiện công việc 1
Nếu biểu thức điều kiện sai, thực hiện công việc 2
+ Cấu trúc lặp
Trang 9Ví dụ: Giải phương trình bậc nhất ax + b = 0
- Mã giả:
+ Là ngôn ngữ tựa như ngôn ngữ lập trình Trong mã giả ta còn sử dụng cả các
ký hiệu toán học, các biến, và đôi khi cả cấu trúc kiểu thủ tục Cấu trúc thuật toán kiểu thủ tục thường được sử dụng để trình bày các thuật toán đệ qui hay các thuật toán quá phức tạp cần phải được trình bày thành nhiều cấp độ
+ Ưu điểm:
Tiện lợi, đơn giản
Dễ hiểu, dễ diễn đạt
+ Cùng với việc sử dụng các biến, trong thuật toán rất thường gặp một phát biểu hành động đặt (hay gán) một giá trị cho một biến
Ví dụ: hành động tăng biến i lên 1 đơn vị có thể được viết như sau: i := i + 1
+ Các cấu thường được sử dụng trong mã giả dựa theo ngôn ngữ lập trình PASCAL gồm:
Cấu trúc chọn:
if (điều kiện) then (hành động)
if (điều kiện) then (hành động) else (hành động)
Cấu trúc lặp:
while (điều kiện) do (hành động)
for (biến đếm) := (giá trị đầu) to (giá trị cuối) do (hành động)
* 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 để 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
Trang 10- 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
- Cấu trúc chung của một chương trình Pascal
+ Phần khai báo :
Phần khai baó bắt đầu bằng từ khóa Program
Phần khai báo gồm:
Khai báo tên chương trình
Khai báo thư viện
Một số khai báo khác( khai báo biến, khai báo hằng…)
Khai báo tên chương trình chấm dứt bằng dấu chấm phẩy(;) Tên chương trình phải được đặt theo đúng quy cách của danh hiệu tự đặt Phần này có hay không
cũng được
Ví dụ: Program Giai _Phuong_trinh_bac_nhat;
Program timsolonnhat ;
Khai báo các thư viện bằng từ khóa Uses.Ví dụ 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
Khai báo Hằng: Hằng là đại lượng không đổi trong suốt quá trình thực hiện chương trình( Hằng được sử dụng cho các giá trị xuất hiện nhiều lần trong
chương trình) Ta dùng tên hằng để chương trình rõ ràng và dễ sửa đổi.
Hằng được khai báo với từ khóa Const
Cú pháp Const <tên hằng> = <giá trị>;