preloader

SKKN Một số giải pháp giúp học sinh học lập trình Turbo Pascal tích cực, chủ động hơn khi học trực tiếp và trực tuyến trong giai đoạn dịch bệnh covid-19

4.5/5

100.000 

Cấp học:
THPT
Môn
Tin học
Lớp
11
Bộ sách
File:
Số trang:
46

Sáng kiến kinh nghiệm SKKN Một số giải pháp giúp học sinh học lập trình Turbo Pascal tích cực, chủ động hơn khi học trực tiếp và trực tuyến trong giai đoạn dịch bệnh covid-19 triển khai gồm các biện pháp nổi bật sau:

Trường hợp 1: Nội dung kiến thức cần nhớ và nắm chắc
Trường hợp 2: Khắc phục những lỗi sai cú pháp cơ bản trong chương II: “Chương trình đơn giản”
Trường hợp 3: Khắc phục những lỗi sai cơ bản thường gặp trong chương III: “Cấu trúc rẽ nhánh và lặp”
Trường hợp 4: Khó khăn không có Máy tính để làm bài tập, thực hành chạy các chương trình trên phần mềm Turbo Pascal.

Mô tả sản phẩm

II. MÔ TẢ SÁNG KIẾN:
1. Tình trạng các giải pháp đã biết
Trong dạy học, mục đích quan trọng là làm cho HS chủ động lĩnh hội được kiến thức, đồng thời làm cho HS biết cách tự tìm ra con đường để chiếm lĩnh tri thức, trên cơ sở những tri thức lĩnh hội được HS phát huy năng lực trí tuệ của mình nhằm phát minh ra tri thức mới. Đối với HS điều quan trọng là phải biết cách học và học tập suốt đời, có như vậy mới không ngừng làm phong phú kho tàng kiến thức cho bản thân mình. Do vậy GV là người trước hết có tri thức phong phú, hơn nữa phải là người luôn am hiểu về sự học, là chuyên gia của việc học, để làm cho HS có cách học tối ưu và hiệu quả, như vậy thì cho dù kiến thức của HS có lúc hoặc lâu ngày có thể bị quên đi nhưng họ vẫn tự củng cố và lấy lại được bởi họ đã học được cách học. GV không chỉ dậy kiến thức theo sách, phát triển được năng lực tư duy cho HS mà còn phải làm cho HS biết cách học, thích học. Đó là những mục tiêu mà GV phải hướng tới và phải đạt được trong quá trình dạy học.
Đối với bộ môn Tin học nói chung, tin học lớp 11 THPT nói riêng thường ít được học sinh quan tâm, yêu thích vì nó không thuộc tổ hợp môn thi Đại học nào, một nội dung kiến thức cần rất nhiều sự tư duy sâu và khả năng sáng tạo. Mặt khác tin học 11 không như tin học 10, 12 là các chương trình ứng dụng, dễ hiểu, dễ vận dụng, dễ hình dung. Chương trình tin học 11 là sử dụng một ngôn ngữ lập trình bậc cao cụ thể để viết chương trình máy tính, chúng ta hay gọi là Lập trình. Lập trình bằng ngôn ngữ Turbo Pascal để giải các bài toán trên máy tính thường gặp rất nhiều khó khăn trong việc sử dụng các câu lệnh để diễn tả các bước của thuật toán, phát hiện và sửa lỗi về cú pháp, ngữ nghĩa.vv. Trong khi đó để viết được một chương trình hoàn chỉnh thì học sinh phải có tư duy logic về thuật toán, biết khai báo kiểu dữ liệu một cách hợp lí, biết sử dụng các câu lệnh đúng cú pháp. Không như các bộ môn khác các em học sinh có thể làm bài và kiểm tra bài tập của mình đúng hay sai ngay trên giấy một cách bình thường mà các em phải làm bài, nhập các dòng code của bài tập qua phần mềm Turbo Pascal được cài đặt trên Máy ví tính.
Do vậy trong quá trình học online giãn cách, việc không có Máy tính để làm bài tập và thực hành chạy kiểm tra kết quả các bài tập (chương trình) trên phần mềm Turbo Pascal là lý do chính dẫn tới học sinh không đạt kết quả tốt khi học online.
Xuất phát từ lý do trên, tôi đã có ý tưởng và chọn đề tài nghiên cứu: “Một số giải pháp
giúp học sinh học lập trình Turbo Pascal tích cực, chủ động hơn khi học trực tiếp và trực tuyến trong giai đoạn dịch bệnh covid-19”
2. Nội dung (các) giải pháp đề nghị công nhận là sáng kiến:
– Mục đích của (các) giải pháp: Nhằm giúp HS (đặc biệt là HS vùng cao, vùng
sâu vùng xa, các em là con em gia đình dân tộc thiểu số) tự tin, có niềm đam mê hứng thú khi học lập trình Pascal – tin học 11, Từ chỗ HS ngại phải giải một bài toán Tin học vì gặp phải nhiều rào cản: Tìm thuật toán, phát hiện lỗi, sửa lỗi …Giúp các HS hiếu rõ hơn về tác dụng của các kiểu dữ liệu và vận dụng linh hoạt các kiểu dữ liệu vào quá trình khai báo Biến và viết chương trình. Giúp HS giải quyết được một số khó khăn trong bước đầu
tiếp xúc với việc viết chương trình và sử dụng Ngôn ngữ lập trình Pascal.
Giúp học sinh trường PT DTNT THPT tỉnh Yên Bái Với 95% trong số gần 422 học sinh là người dân tộc thiểu số, gia đình khó khăn về mặt tài chính, không có máy tính cá nhân để phục vụ việc học tập.
Cho nên ngoài việc giúp HS một số khó khăn trong bước đầu tiếp xúc với việc viết chương trình và sử dụng Ngôn ngữ lập trình Pascal còn giúp các em HS giải quyết tốt nhất việc khó khăn thiếu phương tiện làm bài tập, thực hành (không có Máy tính).
– Nội dung (các) giải pháp:
+ Tổng hợp nội dung kiến thức cần nhớ và nắm chắc, đưa ra hệ thống câu hỏi và bài tập phù hợp – từ đơn giản (nhớ kiến thức) đến phức tạp để tạo sự hứng thú cho các em với giờ học và môn học.
+ Giới thiệu, hướng dẫn cài đặt và sử dụng ứng dụng Pascal N-IDE, Pascal Programming Language lên thiết bị thông minh (cụ thể là điện thoại) thay thế Máy tính trong quá trình làm bài tập và các giờ thực hành.
+ Cách thực hiện, các bước thực hiện:
I. CƠ SỞ LÝ LUẬN: Sơ lược về ngôn ngữ Lập trình bậc cao Pascal và ứng dụng Pascal trên thiết bị di động thông minh. I.1. Khái niệm về Pascal:
Là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh và thủ tục, được Niklaus Wirth phát triển vào năm 1970. Pascal là ngôn ngữ lập trình đặc biệt thích hợp cho kiểu lập trình cấu trúc & cấu trúc dữ liệu, và được đặt theo tên của nhà toán học, triết gia và nhà vật lí người Pháp, Blaise Pascal.
Ngôn ngữ lập trình này được phát triển ra nhằm giúp cho những người mới lập trình có được thói quen viết một chương trình có cấu trức rõ ràng, dễ hiểu và dễ đọc cho mọi người. Giáo sư Wirth thấy rằng có thể tránh được rất nhiều lỗi khi lập trình với một ngôn ngữ có cấu trúc khối và có sự kiểm tra kỹ lưỡng sự tương thích giữa các kiểu dữ liệu. Mà Pascal là một ngữ như thế: mọi biến và hằng của một kiểu dữ liệu không thể tự do đem trộn lẫn với các biến và hằng của một kiểu dữ liệu khác. Ngôn ngữ Pascal có thể tách các thông tin dữ liệu (biến, hằng, …) và các lệnh cần dung cho một nhiệm vụ xác định thành những khối riêng, tách ra khỏi phần còn lại của chương trình để người lập trình có thể giải quyết dần từng phần một, từng khối một và thậm chí có thể cho nhiều người tham gia lập trình, mỗi người phụ trách một vài khối. Từ tính ưu việt đó của ngôn ngữ lập trình Pascal mà ngôn ngữ này đã được sử dụng rộng rãi.
NNLT Pascal đã và đang được giảng dạy tại các trường THPT trong nhiều năm qua. Việc sử dụng NNLT Pascal đã đáp ứng được các yêu cầu cơ bản trong chương trình Tin học bậc THPT như cung cấp kiến thức cơ bản về thuật toán, cấu trúc dữ liệu, vận dụng kiến thức để giải được một số bài toán đơn giản trên máy tính bằng lập trình.
Qua đó, không thể phủ nhận những ưu điểm của bộ môn này đối với ngành tin học. Pascal là ngôn ngữ phổ biến, được đưa vào lĩnh vực giảng dạy và học thuật bởi những điểm sau: Pascal là ngôn ngữ định kiểu dữ liệu mạnh mẽ (strong typed language). Nó có thể giúp con người kiểm tra lỗi một cách rộng rãi. Cung cấp một số loại dữ liệu như mảng (array), bản ghi (record), file và tập hợp (set). Cung cấp một loạt cấu trúc lập trình. Ngoài ra còn hỗ trợ lập trình cấu trúc thông qua các chức năng và thủ tục. Hỗ trợ lập trình hướng đối tượng (OOP – object oriented programming)…
I.2. Giới thiệu ứng dụng Pascal N-IDE, Pascal Programming Language trên thiết bị thông minh
+ Pascal N-IDE là một trình thông dịch Pascal trên Android. Ứng dụng này nhằm phục vụ cho mọi người có thể học tập ngôn ngữ Pascal trên di động khi không có máy tính, giúp chúng ta có thể thực hành bất cứ lúc nào, bất cứ nơi nào. Ứng dụng hiện đang trong trạng thái làm việc và đang được phát triển một cách tích cực. Xin lưu ý rằng đây là một trình thông dịch nên sẽ không giống hoàn toàn và không cung cấp tất cả các chức năng của Pascal.
Những tính năng chính của Pascal N- IDE:
– Biên dịch chương trình Pascal và chạy chúng mà không cần Internet.
– Báo lỗi khi biên dịch
+ Pascal Programming Language là công cụ lập trình tuyệt vời trên AppStore, hoàn hảo để học tập, tính toán toán học phức tạp, giải trí và nhiều công việc hữu ích khác. Ứng dụng này đặc biệt hữu ích cho việc học ngôn ngữ lập trình Pascal.
Những tính năng đặc điểm chính của Pascal Programming Language:
– Biên dịch và chạy chương trình của bạn.
– Nhập văn bản trước khi chạy chương trình và xuất văn bản.
– Trình chỉnh sửa mã nguồn nâng cao với đánh dấu cú pháp, số dòng, chủ đề màu và bàn phím bổ sung.
– Nhập và xuất các chương trình bằng iTunes hoặc qua email.
I.3. Thực trạng học sinh trường PT DTNT THPT tỉnh – Học lập trình Pascal
Theo SGK của NXBGD và nội dung chương trình môn tin học 11 của Bộ GD&ĐT Việt Nam đưa ra, Trường PT DTNT THPT tỉnh, trường THPT Lê Quý Đôn cùng 1 số trường THPT, THCS trong tỉnh Yên Bái đã và đang sử dụng ngôn ngữ lập trình này để dạy cho các em HS. Tuy nhiên trong quá trình học tập, HS ở trường chúng tôi gặp phải những khó khăn nhất định: Như mắc lỗi cú pháp, lỗi ngữ nghĩa chưa biết cách sửa, việc giải một bài toán trong toán học hoặc bài toán thực tế còn lúng túng và hầu như tất cả các em đều vướng mắc trong việc xác định kiểu dữ liệu cho các biến cũng như khai báo các biến trong chương trình.
Các em thường khó hiểu trong việc xác định tại sao phải chọn kiểu dữ liệu này cho biến kia mà không phải kiểu khác, trong các kiểu dữ liệu giống nhau thì tại sao lại chọn kiểu có giới hạn nhỏ nhất thay vì lớn nhất … chính vì vậy mà việc kết hợp các kiến thức đã học để xây dựng thành 1 chương trình Pascal đơn giản là hết sức khó khăn, các em không biết bắt đầu từ đâu. Do thời lượng chương trình có hạn (1,5 tiết/ tuần) nên SGK cũng không thể giải thích hết được chỗ các em cần hỏi, cần tìm hiểu.
Thêm nữa vào thời gian học online thực hiện giãn cách xã hội thì việc làm bài tập và thực hành chạy các chương trình kiểm tra lỗi, chỉnh sửa hoàn thiện chương trình khó thực hiện vì thiếu công cụ thực hành là Máy tính.
II. KIẾN THỨC, CÁC GIẢI PHÁP THỰC HIỆN VÀ HỆ THỐNG BÀI TẬP:
II.1. Tổng hợp kiến thức cần nhớ và nắm chắc:
Qua thực tế giảng dậy nhiều năm, tôi nhận thấy đa số HS khó xác định bài toán,
xây dựng thuật toán, khi chạy chương trình thì gặp nhiều lỗi: lỗi về cú pháp và lỗi về ngữ nghĩa, không biết sửa chương trình trong ngôn ngữ lập trình Pascal…Những khó khăn ấy, tôi đưa về 3 trường hợp cụ thể mà cá nhân tôi thấy như sau:
+ Trường hợp 1: Các kiến thức cơ bản cần nhớ và nắm chắc.
+ Trường hợp 2: Khó khăn về phát hiện và sửa lỗi sau cú pháp thường gặp khi chạy chương trình trong ngôn ngữ lập trình Pascal.
– Lỗi 1. Đặt sai tên: Tên hằng, tên biến, tên chương trình, đặt tên biến trùng nhau, tên chứa dấu cách, chứa các kí tự đặt biệt, bắt đầu bằng chữ số …
– Lỗi 2. Sai tên kiểu dữ liệu:
Ví dụ: Kiểu thực thì viết là Read, kiểu nguyên thì viết là interger – Lỗi 3. Thiếu dấu kết thúc câu lệnh {;} – Lỗi 4. Viết sai tên các từ khóa.
– Lỗi 5. Không phân biệt được hằng xâu và biến; trình bày hằng xâu và biến ko đúng. – Lỗi 6. Sử dụng dấu { ; } sai vị trí.
+ Trường hợp 3: Khó khăn khi phát hiện lỗi sai về ngữ nghĩa thường gặp của học sinh trong lập trình Pascal. Lỗi sai về ngữ nghĩa là lỗi trình biên dịch bỏ qua mà khi chạy chương trình mới phát hiện được lỗi.
– Lỗi 1. Chưa hiểu thứ tự ưu tiên phép toán, chuyển từ biểu thức toán học sang biểu thức trong Pascal bị sai.
– Lỗi 2. Khai báo sai miền chỉ số cho dữ liệu kiểu mảng; sai kiểu dữ liệu cho biến.
– Lỗi 3. Giá trị biến điều khiển vượt quá miền chỉ số của mảng.
– Lỗi 4. Dùng cùng tên biến điều khiển cho các vòng lặp for lồng nhau.
– Lỗi 5. Tràn số do kết quả tính toán vượt quá giới hạn.
– Lỗi 6. Sử dụng tên hàm làm biến cục bộ.
+ Trường hợp 4: Khó khăn với các em (gần như 100% trong số 422 học sinh của trường PT DTNT THPT tỉnh) là không có Máy tính để thực hành làm bài tập chạy các chương trình trên phần mềm Turbo Pascal. Soạn thảo, Biên dịch, soát lỗi và chạy chương trình.
II.2. Cách thực hiện các giải pháp:
+Trường hợp 1: Nội dung kiến thức cần nhớ và nắm chắc
– Bài toán: Trong phạm vi tin học, ta có thể quan niệm bài toán là một việc nào đó ta muốn máy tính thực hiện.
Khi dùng máy tính giải bài toán, ta cần quan tâm đến hai yếu tố (xác định bài toán): o Input: Là các thông tin đã có (đưa vào máy thông tin gì -những gì đề bài đã cho) o Output: Các thông tin cần tìm từ Input (cần lấy ra thông tin gì -Bài yêu cầu tìm gì)
– Khai báo biến: (trong ngôn ngữ lập trình Pascal )
Cú pháp: Var ˽ <Danh sách biến> : <kiểu dữ liệu>; Trong đó:
o <Danh sách biến>: có thể là một hoạc nhiều biến đơn .. o < Kiểu dữ liệu>: là một trong các kiểu DL chuẩn Chú ý:
o Không được đặt tên biến qúa dài hoặc quá ngắn .
o Khi khai báo biến cần đặc biệt chú ý đến phạm vi giá trị của nó.
– Biến : Là đại lượng được đặt tên, dùng để lưu trữ giá trị và gán giá trị, có thể thay thế được trong quá trình thực hiện chương trình. Biến là tên do người lập trình đặt, đựơc dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi dùng.
– Một số kiểu dữ liệu chuẩn: (trong ngôn ngữ lập trình Pascal) o Kiểu nguyên :
Byte 1 byte 0 ~ 255
Integer 2 byte -32768 ~ 32767
Word 2 byte 0 ~ 65535
Longint 4 byte -2147483648 ~ 2147483647 o Kiểu thực :.
Real 6 byte 2.9.10-39 ~ 1.7.1038
Extcded 10 byte 10-4932 ~ 104932 o Kiểu kí tự : các kí tự thuộc bảng mã ASCII.
Char 2 byte 0 ~ 255
o Kiểu logic: gồm hai giá trị TRUE hoạc FALSE.
– Câu lệnh gán :
+ Cú pháp: <Tên biến> : = <Giá trị>;
+ Chức năng: Đặt cho biến có tên ở vế phải dấu “:=” giá trị của biểu thức ở vế bên phải.
Ví dụ: Bài toán tính Tổng của 2 số nguyên a và b, câu lệnh gán sẽ như sau: T := a + b ;
– Thuật toán: Thuật toán, còn gọi là giải thuật, là một tập hợp hữu hạn hay một dãy các quy tắc chặt chẽ của các chỉ thị, phương cách hay 1 trình tự các thao tác trên một đối tượng cụ thể được xác định và định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ một trạng thái ban đầu cho trước; khi các chỉ thị này được áp dụng triệt để thì sẽ dẫn đến kết quả sau cùng như đã dự đoán trước.
Nói cách khác, thuật toán là một bộ các quy tắc hay quy trình cụ thể nhằm giải quyết một vấn đề nào đó trong một số bước hữu hạn, hoặc nhằm cung cấp một kết quả từ một tập hợp của các dữ kiện đưa vào
Khái niệm thuật toán (Bài 4 – SGK tin 10): Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác ấy, từ input của bài toán, ta nhận được output cần tìm. Ví dụ: thuật toán để giải phương trình bậc nhất P(x): ax + b = 0
1. Nếu a = 0 o b = 0 thì P(x) có vô số nghiệm (nghiệm đúng với mọi x ∈ 𝑅) o b ≠ 0 thì P(x) vô nghiệm
2. Nếu a ≠ 0 thì P(x) có một nghiệm duy nhất x = -b/a
Lưu ý: “Thuật toán” hiện nay thường được dùng để chỉ giải thuật giải quyết các bài toán trong tin học. Hầu hết các thuật toán tin học đều có thể viết thành các chương trình máy tính mặc dù chúng thường có một vài hạn chế (với khả năng của máy tính và khả năng của người lập trình). Trong nhiều trường hợp, một chương trình khi thiết kế bị thất bại là do lỗi ở các thuật toán mà người lập trình đưa vào là không chính xác, không đầy đủ, hay không ước định được trọn vẹn lời giải của vấn đề.
* Phương pháp lập trình 1 bài toán đơn giản
Bước 1: Xác định bài toán (xác định được Input và Output của bài toán)
Bước 2: Từ Input ta xác định được kiểu dữ liệu cho các biến thông qua các điều kiện của bài toán. Từ kiểu dữ liệu đã được xác định ở input, ta xác định các kiểu dữ liệu cho các biến tại Output.
Bước 3: Viết thuật toán.
Bước 4: Viết chương trình * Ví dụ tổng quát:
Cho hai cốc nước, mỗi cốc có giới hạn đo là 255ml. Cốc nước có giới hạn đo là bao nhiêu có thể chứa được tổng lượng nước của hai cốc trên?
Bài giải:
B1: Xác định bài toán.
Input: Hai cốc nước, mỗi cốc có giới hạn đo là 255ml.
Output: Một cốc C có giới hạn đo chứa đựơc tổng lượng nước của hai cốc trên.

TÀI LIỆU LIÊN QUAN

Set your categories menu in Theme Settings -> Header -> Menu -> Mobile menu (categories)
Shopping cart

Đây chỉ là bản XEM THỬ - khách hàng vui lòng chọn mua tài liệu và thanh toán để nhận bản đầy đủ