1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Một vài kinh nghiệm dạy lập trình pascal theo hướng tiếp cận từ dễ đến khó, từ một thuật toán xây dựng cú pháp câu lệnh

24 47 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 24
Dung lượng 361 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khi viết câu lệnh thể hiện phép toán còn nhầm lẫn giữa viết câu lệnh và viết biểu thức bình thường, ví dụ như câu lệnh gán học sinh thường bỏ dấu ':'… Trình tự trình bày nội dung kiến th

Trang 1

MỤC LỤC

1 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………3

1.4 Phương pháp nghiên cứu……… ….3

1.5 Những điểm mới của SKKN……….3

2 Nội dung sáng kiến kinh nghiệm……….….4

2.1 Cơ sở lí luận của sáng kiến kinh nghiệm……… …4

2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm……….…… …5

2.3 Các sáng kiến kinh nghiệm hoặc các giải pháp đã sử dụng để giải quyết vấn đề……… …….5

2.4 Hiệu quả của sáng kiến kinh nghiệm đối với hoạt động giáo dục, với bản thân, đồng nghiệp và nhà trường……….……22

3 Kết luận, kiến nghị……….… 23

3.1 Kết luận……….23

3.2 Kiến nghị……… 23

Tài liệu tham khảo………24

Trang 2

1 Mở đầu 1.1 Lí do chọn đề tài.

Trong quá trình giảng dạy môn Tin học cho học sinh về ngôn ngữ lậptrình cụ thể là ngôn ngữ lập trình Pascal, là một phần nội dung có thể nói là khónhất trong chương trình tin học THPT Nhất là trường THPT Thạch Thành 3 là mộttrường miền núi, học sinh dân tộc thiểu số và vùng 135 chiếm trên 80% tổng số họcsinh nhà trường Đây cũng là hạn chế lớn của các em trong việc tiếp cận nội dungkiến thức khó như là việc lập trình trên ngôn ngữ lập trình Pascal Thực tế khigiảng dạy cho các em về các câu lệnh tôi thấy các em còn gặp nhiều khó khăn trongviệc xác định các câu lệnh (cú pháp câu lệnh, hoạt động của câu lệnh) cần dùng đểlàm bài tập Khi viết câu lệnh thể hiện phép toán còn nhầm lẫn giữa viết câu lệnh

và viết biểu thức bình thường, ví dụ như câu lệnh gán học sinh thường bỏ dấu ':'…

Trình tự trình bày nội dung kiến thức trong sách giáo khoa từ câu lệnh gánđến cấu trúc rẽ nhánh tiếp theo là vòng lặp… Kiến thức có sự liền mạnh từ dễ đếnkhó, từ thực tế rồi xây dựng câu lệnh Sách giáo khoa đưa ra nhiều ví dụ thực tiễnnhưng chưa có sự gắn kết thực sự từ câu lệnh dễ đến câu lệnh khó, từ bài trước rồiđến bài sau, ưu điểm của cách đưa ra ví dụ như vậy tạo điều kiện phát triển tư duyhọc sinh nhưng chưa phù hợp với học sinh như một trường miền núi như trườngtôi Trong bài viết này tôi đưa ra một ví dụ xuyên suốt chương trình lớp 11 với mụcđích học cú pháp câu lệnh thay vì học sinh phải học cả cú pháp câu lệnh cả thuậttoán của ví dụ mới Còn các ví dụ khác tôi khuyến khích học sinh tự đọc, tự học ởnhà Ngoài ra tôi dạy theo hướng nghiên cứu bài học có sử dụng đồ dùng dạy học

do học sinh tự làm nhằm giúp các em nắm vững câu lệnh qua đó giúp các em yêuthích và hứng thú học tập môn Tin học hơn Trong quá trình giảng dạy tin học ởkhối lớp 11 tôi đã đúc rút ra kinh nghiệm dưới đây tôi xin trình bày về sáng kiến:

“Một vài kinh nghiệm dạy lập trình pascal theo hướng tiếp cận từ dễ đến khó, từ một thuật toán xây dựng cú pháp câu lệnh” sách giáo khoa tin học 11 Rất mong

được sự tham khảo góp ý của các giáo viên và học sinh về sáng kiến kinh nghiệmnày để giúp tôi có những bài giảng hay giúp học sinh học tốt môn Tin học hơn

1.2 Mục đích nghiên cứu

Dạy lập trình phát triển từ một ví dụ (thuật toán) giúp học sinh tiếp cận cúpháp câu lệnh một cách dễ dàng vì chỉ có một thuật toán ( bài toán) đã được hìnhthành và biết từ trước đó Khi học sinh tiếp cận được cú pháp câu lệnh việc còn lạichỉ là dạy cho học sinh biết hoạt động của câu lệnh đó như thế nào mà thôi

Trang 3

Dạy theo hướng nghiên cứu bài học có sử dụng đồ dùng dạy học do học sinh

tự làm: học sinh được hoạt động cá nhân, hoạt động nhóm, thảo luận nhóm để cóđược sản phẩm của chính mình từ những đồ dùng do chính tay tự làm tạo hứng thúnhất định trong giờ học Học sinh tiếp nhận kiến thức một cách chủ động, loại bỏđược tính ỉ lại, trông chờ kiến thức truyền thụ thụ động từ giáo viên

1.3 Đối tượng nghiên cứu

Xây dựng các cú pháp câu lệnh phát triển từ một ví dụ duy nhất học sinh nhớ

cú pháp câu lệnh, hoạt động câu lệnh và không quan tâm đến thuật toán là tăng khảnăng tiếp cận kiến thức lập trình của học sinh, học sinh thấy học dễ hơn thích thúvới lập trình Dạy như vậy phù hợp với yêu cầu của chuẩn kiến thức tin học lớp 11

là học sinh viết được chương trình pascal cơ bản

Đa số học sinh chấp nhận hay thừa nhận các thuật toán sách giáo khoa đưa

ra Giáo viên yêu cầu học sinh học thuộc, sau đó kiểm tra yêu cầu học sinh viết lạithuật toán, cách học này là học thuộc lòng Khi viết chương trình chỉ sử dụng mộtthuật toán học sinh có thể hiểu sâu sắc hơn thuật toán đó Các thuật toán khác giáoviên khuyến khích học sinh học ở nhà đối với những học sinh có khả năng

Dạy lập trình theo hướng nghiên cứu bài học, ngoài ra còn sử dụng đồ dùngdạy học cộng thêm máy chiếu giúp rút ngắn thời gian viết bảng không cần thiết

1.4 Phương pháp nghiên cứu.

Viết sáng kiến kinh nghiệm thường xuyên liên tục cũng là nhiệm vụ chính trịcủa mỗi giáo viên, nhưng cần phải lựa chọn phương pháp nghiên cứu đúng đắn vàphù hợp với nhà trường trung học phổ thông Sáng kiến kinh nghiệm đang trình bàycủa tôi dựa theo các luận cứ khoa học hướng đối tượng, cụ thể: thuyết trình,quan sát, điều tra khảo sát thực tế, phân tích kết quả thực nghiệm sư phạm, v.v…phù hợp với bài học và môn học thuộc lĩnh vực Tin học

Nêu vấn đề và giải quyết vấn đề đi từ thực tế hiện thực khánh quan → cụ thểhóa → tổng quát hóa, trừu tượng hoá

1.5 Những điểm mới của SKKN.

Trong sách giáo khoa Tin học 11 ứng với một cú pháp câu lệnh mới thì cómột bài toán mới đi cùng phù hợp nhất với cú pháp đó, một điều chắc chắn rằnghọc sinh phải hiểu thuật toán giải bài toán này trước sau đó còn phải học cú pháp

câu lệnh Trong sáng kiến kinh nghiệm của tôi tôi sử dụng một bài toán " Giải tam giác" để dạy tất cả các cú pháp câu lệnh, kiểu dữ liệu, chương trình con

Trang 4

Trước đây dạy học, viết sáng kiến kinh nghiệm theo hướng nghiên cứu bàihọc khi thảo luận nhóm thường chia thành 4 nhóm mỗi nhóm 8 học sinh trở lên dẫnđến việc thảo luận không hiệu quả vẫn có học sinh ỉ lại vào trưởng nhóm và nhữnghọc sinh tích cực Do đó trường tôi đã thay đổi cho phù hợp bằng cách mỗi nhómchỉ 2 học sinh trên cùng 1 bàn.

Đồ dùng học tập, phiếu học tập tôi giao cho tất cả các học sinh làm từ đó họcsinh vừa lĩnh hội được những kiến thức mình đã chuẩn bị do tay mình tự làm

2 Nội dung sáng kiến kinh nghiệm

2.1 Cơ sở lí luận của sáng kiến kinh nghiệm.

2.1.1 Một số khái niệm

a Bài toán

Là một công việc nào đó mà ta muốn máy tính thực hiện [1]

VD: Tính chu vi, diện tích tam giác khi biết độ dài ba cạnh a,b,c

b Thuật toán

Thuật toán để giải một bài toán là dãy hữu hạn các thao tác được sắp xếptheo trình tự xác định sao cho sau khi thực hiện dãy thao tác đó từ Input của bàitoán ta được Output cần tìm [1]

c Khái niệm lập trình:

Lập trình (programming): Là sử dụng cấu trúc dữ liệu và các câu lệnh củangôn ngữ lập trình cụ thể nào đó để mô tả dữ liệu và diễn đạt các thao tác của thuậttoán.[1]

d Khái niệm ngôn ngữ lập trình:

Ngôn ngữ lập trình ( programming language): Là một hệ thống các kí hiệu tuân theo các quy ước về ngữ pháp và ngữ nghĩa, dùng để xây dựng các chương trình cho máy tính [1]

 Cú pháp (syntax): là bộ quy tắc để viết chương trình Dựa vào chúng, người lậptrình và CT dịch biết được tổ hợp nào của các ký tự trong bảng chữ cái là hợp lệ và

tổ hợp nào là không hợp lệ Nhờ đó có thể mô tả chính xác thuật toán để máy thựchiện [1]

 Ngữ nghĩa (sematics): xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổhợp ký tự dựa vào ngữ cảnh của nó [1]

 Chương trình (program): Là một tập hợp các mô tả, các phát biểu, nằm

trong một hệ thống quy ước về ý nghĩa và thứ tự thực hiện, nhằm điều khiển

máy tính làm việc

Trang 5

a Phép toán, câu lệnh gán.

Cú pháp: <Tên biến>:= <biểu thức>;[1]

Chức năng của câu lênh gán là: đặt cho biến có tên ở vế trái dấu “:=” giá trị mớibằng giá trị của biểu thức ở vế phải [1]

b Nhập dữ liệu vào từ bàn phím

Cú pháp: Readln(<danh sách biến vào>);[1]

c Đưa dữ liệu ra màn hình

Cú pháp write(<danh sách kết quả ra>);

hoặc: writeln(<danh sách kết quả ra>); [1]

d Câu lệnh rẽ nhánh dạng thiếu:

IF <điều kiện> THEN <câu lệnh>; [1]

e Câu lệnh rẽ nhánh dạng đủ:

IF <điều kiện> THEN <câu lệnh 1> ELSE <câu lệnh 2>; [1]

2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm.

Học sinh đa số có lực học trung bình, số học sinh khá giỏi rất ít chỉ đếm trênđầu ngón tay, khi dạy câu lệnh mới cộng tuật toán mới học sinh như chui đầu vàobụi dậm Khi thực hiện các câu lệnh trên một ví dụ học sinh chỉ cần học câu lệnh.Rất phù hợp với khả năng tiếp thu của học sinh

Trước đây dạy học theo phương pháp thông thường hay hướng nghiên cứubài học khi thảo luận nhóm thường chia thành 4 nhóm mỗi nhóm 8 học sinh trở lêndẫn đến việc thảo luận không hiệu quả vẫn có học sinh ỉ lại vào trưởng nhóm vànhững học sinh tích cực

2.3 Các sáng kiến kinh nghiệm hoặc các giải pháp đã sử dụng để giải quyết vấn đề.

2.3.1 Phép toán, câu lệnh gán, nhập dữ liệu vào từ bàn phím, đưa dữ liệu ra màn hình

Phần kiến thức này tôi đưa ra các phương án dạy cho hai đối tượng học sinh: Đối tượng lớp có tố chất khá, giỏi và lớp đa số là học sinh có học lực trung bình

* Phương án 1.

Phiếu học tập:

Hoạt động 1:

Trang 6

Câu hỏi 1: Hãy tính chu vi và diện tích tam giác ( theo công thức Hê Rông) khi biếta,b,c nguyên dương là độ dài ba cạnh tam giác.

Thực hiện:

Bước 1: Giáo viên phát phiếu học tập, yêu cầu học sinh thảo luận cá nhân ( 3 phút )sau đó thảo luận nhóm 2 học sinh / 1 bàn ( 2 phút )

Bước 2: Học sinh thảo luận cá nhân, thảo luận nhóm

Bước 3: Giáo viên gọi hai nhóm học sinh trình bày sản phẩm trên bảng, gọi các nhóm khác nhận xét

Bước 4: Giáo viên nhận xét cho điểm -> nhận xét chốt kiến thức

Câu hỏi 2: Hãy sử dụng kiến thức trong bài 6 : phép toán, biểu thức, câu lệnh gán viết lại các biểu thức tính chu vi, diện tích trong ngôn ngữ lập trình pascal

Thực hiện:

Bước 1: Yêu cầu học sinh thảo luận cá nhân ( 3 phút ) sau đó thảo luận nhóm 2 họcsinh / 1 bàn ( 2 phút )

Bước 2: Học sinh thảo luận cá nhân, thảo luận nhóm

Bước 3: Giáo viên gọi hai nhóm học sinh trình bày sản phẩm trên bảng, gọi các nhóm khác nhận xét

Bước 4: Giáo viên nhận xét cho điểm -> nhận xét chốt kiến thức

Trang 7

Câu hỏi 3: Hãy sử dụng kiến thức trong bài 6 : Vị trí phép toán, biểu thức, câu lệnh gán, tại sao sau một biểu thức lại có dấu ";" trong trình bày của nhóm 3 và nhóm 4.Nhóm 3:

Giáo viên dùng máy chiếu trình chiếu và giới thiệu lại nội dung kiến thức:

+, -,*, /, div, mod

Các phép toán số học với

số thực

+ (cộng), - (trừ),(nhân), : (chia)

- Chỉ dùng cặp ngoặc tròn để xác định trình tự thực hiện phép toán trong trường hợp cần thiết

- Viết lần lượt từ trái qua phải

Phép chia Phép nhân Lệnh gán

Hàm căn bậc hai

Trang 8

- Không được bỏ qua dấu nhân (*) trong tích.

Các phép toán được thực hiện theo thứ tự:

- Thực hiện các phép toán trong ngoặc trước;

- Trong dãy các phép toán không chứa ngoặc thì thực hiện từ trái sang phải,theo thứ tự các phép toán nhân (*), chia nguyên (div), lấy phần dư (mod) thực hiệntrước và các phép toán cộng (+), trừ (-) thực hiện sau

Ví dụ: Nhóm 4 sản phẩm sai nhưng khi các nhóm khác nhận xét không pháthiện ra vì học sinh không nhận ra được pa2bc và a+b+c/2 khác nhau thế nàotrong tin học hay nói cách khác phải biết cách dùng "(" và ")"

Trang 9

Lũy thừa của

Thực hiện phép toán quan hệ

Kết quả của biểu thức quan hệ là giá trị logic: true (đúng) hoặc false (sai)

Ví dụ: nếu a=1, b=2, c=3 thì a+b <= c có giá trị true

thì a+b > c có giá trị false

Biểu thức logic [1]

Biểu thức lôgic đơn giản là biến lôgic hoặc lôgic

Biểu thức lôgic là các biểu thức logic đơn giản, các biểu thức quan hệ liên kết với nhau bởi phép toán logic Giá trị biểu thức logic là true hoặc false Các biểuthức quan hệ thường đặt trong cặp ngoặc "(" và ")"

Dấu phép toán not được viết trước biểu thức cần phủ định.

Các phép toán and và or dùng để kết hợp nhiều biểu thức lôgic hoặc quan hệ,

thành một biểu thức thường được dùng để diễn tả các điều kiện phức tạp

Ta có bảng giá trị phép toán logic:

Trang 10

<tên biến>:= <biểu thức>;

Trong trường hợp đơn giản, tên biến là tên của biến đơn

Lệnh gán có chức năng gán giá trị cho một biến, nghĩa là thay giá trị cũ trong

ô nhớ (tương ứng với biến) bởi giá trị mới Giá trị mới là giá trị của một biểu thức

Biểu thức này đã có giá trị xác định thuộc phạm vi của biến Kiểu giá trị củabiểu thức phải phù hợp với kiểu của biến Một biến chỉ được coi là đã xác định giátrị khi đã nhận được giá trị từ ngoài (đọc từ bàn phím hoặc từ tệp, ) hoặc trực tiếpqua lệnh gán trong chương trình

Kiểu của biến phải phù hợp với kiểu dữ liệu của giá trị biểụ thức bên phải

Hoạt động 2:

Câu hỏi 1:

a Để tính được chu vi (CV), diện tích (S) ở công thức C:=a+b+c; p:=C/2;

S:=sqrt(p*(p-a)*(p-b)*(p-c)); thì cần giá trị của những biến nào ?

b Tương tự như giải phương trình bậc 2 trên máy tính khi giải phương trình bậc 2

ta cần thực hiện như thế nào ? Trước khi có kết quả máy tính có phải thực hiện việctính toán không ? Máy tính cho ta thông tin gì ? thông tin đó hiển thị ở đâu ?

c Vận dụng kết quả câu b để tính được chu vi (CV), diện tích (S) ở câu a

Thực hiện:

Bước 1: Yêu cầu học sinh thảo luận cá nhân ( 8 phút ) sau đó thảo luận nhóm 2 họcsinh / 1 bàn ( 6 phút )

Trang 11

Bước 2: Học sinh thảo luận cá nhân, thảo luận nhóm.

Bước 3: Giáo viên gọi hai nhóm học sinh trình bày sản phẩm trên bảng, gọi các nhóm khác nhận xét

Bước 4: Giáo viên nhận xét cho điểm -> nhận xét chốt kiến thức

+ Máy tính tính chu vi (CV), diện tích (DT)

+ Hiển thị chu vi, diện tích ra màn hình

Giáo viên trình chiếu thủ tục chuẩn vào/ ra đơn giản:

Nhập dữ liệu vào từ bàn phím[1]

Nhập dữ liệu vào từ bàn phím được thực hiện bằng thủ tục chuẩn:

Read(<danh sách biến vào>);

Việc nhập giá trị của biến từ bàn phím được kết thúc bởi việc nhấn phím

Enter nên không phân biệt read và readln Do đó khi nhập từ bàn phím nên dùng readln.

Đưa dữ liệu ra màn hình[1]

Để đưa dữ liệu ra màn hình Pascal cung cấp thủ tục chuẩn:

write(<danh sách kết quả ra>);

hoặc:

writeln(<danh sách kết quả ra>);

Trong đó: <danh sách kết quả ra> có thể là tên biến đơn, biểu thức hoặc hằng

Trang 12

Chú ý: Với thủ tục write, sau khi đưa các kết quả ra màn hình, con trỏ không

chuyển xuống dòng tiếp theo Với thủ tục writeln, sau khi đưa thông tin ra màn

hình con trỏ chuyển xuống đầu dòng tiếp theo.

Câu hỏi 2: Dựa vào kiến thức phần trình chiếu và kiến thức đã học thực hiện công việc câu hỏi 1.c

+ Nhập độ dài 3 cạch a, b, c từ bàn phím

+ Máy tính tính chu vi, diện tích

+ Hiển thị chu vi, diện tích ra màn hình

Thực hiện:

Bước 1: Yêu cầu học sinh thảo luận cá nhân ( 8 phút ) sau đó thảo luận nhóm 2 họcsinh / 1 bàn ( 5 phút )

Bước 2: Học sinh thảo luận cá nhân, thảo luận nhóm

Bước 3: Giáo viên gọi hai nhóm học sinh trình bày sản phẩm trên bảng, gọi các nhóm khác nhận xét

Bước 4: Giáo viên nhận xét cho điểm -> nhận xét chốt kiến thức

S:=sqrt(((a+b+c)/2)*((a+b+c)/2-a)* ((a+b+c)/2-b)*((a+b+c)/2-c)));

Write(CV) ;Write(S) ;

Giáo viên trình chiếu cấu trúc chương trình, khai báo biến:

Cấu trúc chung: [1]

[<phần khai báo>]

<phần thân>

Trang 13

a Phần khai báo:

 Khai báo tên chương trình: có thể có hoặc không

Với Pascal phần khai báo tên chương trình như sau:

Program <tên chương trình>;

 Khai báo thư viện: muốn sử dụng thư viện nào thì ta cần phải khai báothư viện đó trước: uses < tên thư viện >;

 Khai báo hằng: const < hằng > = < giá trị >;

 Khai báo biến: Var < danh sách biến > : <Kiểu dữ liệu >;

Khai báo biến[1]

Trong Pascal, khai báo biến có dạng:

Var <danh sách biến>:<kiểu dữ liệu>;

Trong đó:

- <danh sách biến> là một hoặc 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 hoặc kiểu dữ liệu do

người lập trình định nghĩa

- Sau từ khoá var có thể khai báo nhiều danh sách biến khác nhau, tức là cấu trúc:

Var <danh sách biến>:<kiểu dữ liệu>;

<danh sách biến>:<kiểu dữ liệu>;

Một số kiểu dữ liệu chuẩn[1]

a Kiểu nguyên

Các kiểu nguyên được lưu trữ và kết quả tính toán là số đúng, nhưng có

hạn chế về miền giá trị Tập số nguyên là vô hạn và có thứ tự, đếm được nhưngtrong máy tính thì kiểu nguyên là hữu hạn, có thứ tự

Kiểu Bộ nhớ lưu trữ một giá trị Phạm vi giá trị

Các kiểu thực được lưu trữ và kết quả tính toán chỉ là gần đúng với sai số

không đáng kể (so với yêu cầu tính toán của các bài toán thông thường), nhưng

Ngày đăng: 10/07/2020, 11:37

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w