1. Trang chủ
  2. » Luận Văn - Báo Cáo

Sáng kiến kinh nghiệm rèn luyện kỹ năng viết chương trình con thông qua các tiết bài tập và thực hành

18 1 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

Tiêu đề Sáng kiến kinh nghiệm rèn luyện kỹ năng viết chương trình con thông qua các tiết bài tập và thực hành
Tác giả Nguyễn Thị Mỹ Hạnh
Trường học Trường Trung học phổ thông Lưu Hoàng
Chuyên ngành Tin Học
Thể loại Sáng kiến kinh nghiệm
Năm xuất bản 2020-2021
Thành phố Hà Nội
Định dạng
Số trang 18
Dung lượng 27,33 KB

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

Nội dung

SỜ GIÁO DỤC VÀ ĐÀO TẠO HÀ NỘI TRƯỜNG THPT Lưu HOÀNG SÁNG KIÉN KINH NGHIỆM TÊN ĐẺ TÀI “RÈN KỸ NÀNG VIÉT CHƯONG TRÌNH CON THÔNG QUA CÁC TIÉT BÀI TẬP VÀ THựC HÀNH” Lĩnh Vực/Môn Tin Học Cấp học THPT Tác G[.]

Trang 1

SỜ GIÁO DỤC VÀ ĐÀO TẠO HÀ NỘI TRƯỜNG THPT Lưu HOÀNG

SÁNG KIÉN KINH NGHIỆM

TÊN ĐẺ TÀI

“RÈN KỸ NÀNG VIÉT CHƯONG TRÌNH CON THÔNG QUA CÁC TIÉT BÀI TẬP VÀ THựC HÀNH”

Lĩnh Vực/Môn : Tin Học

Cấp học : THPT

Tác Giả : Nguyễn Thị Mỹ Hạnh

Đơn vị công tác : Trường THPT Lưu Hoàng-ửng Hòa-Hà Nội Chức vụ : Tô trưởng chuyên môn

NÁM HỌC 2020-2021 MỤC LỤC

PHẦN I : ĐẠT VÁN ĐÈ 1 1.1 LÝ DO CHỌN ĐÈ TÀI 1

Trang 2

1.2 MỤC ĐÍCH NGHIÊN cứu 1

Tên đề tài : “ RÈN LUYỆN KỲ NẢNG VIẾT CHƯƠNG TRÌNH CON THÔNG QUA CÁC TIÉT BÀI TẬP VÀ THỰC HÀNH ” 1

1.3 ĐỐI TƯỢNG PHẠM VI NGHIÊN cứu VÀ THỜI GIAN THỰC HIỆN ĐÈ TÀI 1

1.4 QUÁ TRÌNH THỰC HIỆN ĐỀ TÀI 2

1.4.1 Tình hình thực tế trước khi thực hiện đề tài 2

1.4.2 Số liệu điều tra trước khi thực hiện đề tài 2

PHÀN 2: GIAI QUYÉT VÁN ĐÈ 3

11.1 HỆ THỐNG KIẾN THỨC VÈ CHƯƠNG TRÌNH CON 3

11.2 CÁC LỎI CỦA HQC SINH THƯỜNG MÁC VÀ CÁCH KHÁC PHỤC4 11.3 KHAI THÁC MỘT SỔ THUẬT TOÁN sử DỤNG CHƯƠNG TRÌNH CON 9

11.2.1 Hàm tìm ước số chung lớn nhất của hai sổ nguyên dương M và N 9

11.2.2 H àm tìm giá tri nhỏ nhất của hai số nguyên a và b 13

II 3 KÉT QUẨ ÁP DỤNG ĐÈ TÀI 14

PHÀN III: KÉT LUẬN VÀ KIẾN NGHỊ 15

III 1 KÉT LUẬN 15

III 2

KIẾN NGHỊ 15

Trang 3

PHẦN I : ĐẬT VẤN ĐÈ 1.1 LÝ DO CHỌN ĐÈ TÀI

Thực hiện công văn số 3147/SGDĐT về việc hướng dẫn nhiệm vụ năm học

2020-2021 và hướng dần hoạt động chuyên môn bộ môn Tin học cap THPT cùa Sờ Giáo dục - Đào tạo Hà Nội Thực hiện hiệu quả chương trình giáo dục phô thông hiện hành theo định hướng phát triền phẩm chất năng lực cho học sinh

Với tình hình thực tế giảng dạy bộ môn Tin ô trường THPT Lim Hoàng, kế hoạch giảng dạy của bộ môn xây dựng giành cho các tiết bài tập và thực hành tương đối nhiều.Việc củng co kiến thức thông thông qua hệ thống các tiết bài tập một cách hiệu quà là rat cần thiết

Nội dung về cách viết và sừ dụng chương trình con vần còn là bài học khá khó đối với nhiều em học sinh khối 11 do nhiều học sinh còn yếu kiến thức về mặt Toán học và không hứng thú với việc học bộ môn Tin Tôi tìm giải pháp khác phục, giúp cho học sinh tiếp thu được kiến thức thông qua giãi quyết nhiệm vụ học tập đặt ra trong bài học, khai thác các ví dụ trong bài học nhằm củng cố kiến thức cho các em thông qua các tiết bài tập và thực hành

Việc chuyên giao nhiệm vụ cho học sinh nhằm mục đích phát huy sự chủ động và sáng tạo cùa học sinh, tăng cường tính giao lưu, họp tác thúc đây học sinh hứng thú học tập, đó là lí do tôi chọn đề tài này

1.2 MỤC ĐÍCH NGHIÊN cửu

Tên đề tài : “ RÈN LUYỆN KỸ NĂNG VIÉT CHƯƠNG TRÌNH CON THÔNG QUA CÁC TIÉT BÀI TẬP VÀ THựC HÀNH ”

Đê tài này chủ yêu tập trung vào nghiên cứu khăc phục những sai lâm mà học sinh thường mắc phải Khai thác các ví dụ trong sách giáo khoa nham khắc sâu kiến thức về chương trình con cũng như vai trò ý nghĩa của chương trình con

Phát triển tư duy lập trình cho học sinh, giải quyết các van đề trong khoa học cũng như trong cuộc sống, thông qua tiết bài tập và thực hành tạo sự hứng thú học tập cho các em học sinh

1.3 ĐÓI TƯỢNG, PHẠM VI NGHIÊN cứu VÀ THỜI GIAN THựC HIỆN

ĐÈ TÀI

1.3.1 Đoi tượng nghiên cứu

- Những lồi mà học sinh lóp 11 thường mac kill trình bày chương trình con

1.3.2 Phạm vi nghiên cứu

-Các thuật toán đơn giản

1.3.3 Thòi gian thực hiện đề tài

- Đe tài được viết và áp dụng trong Năm học 2020-2021

1.4 QUÁ TRÌNH THỰC HIỆN ĐÈ TÀI

Trang 4

1.4.1 Tình hình thực tế trước khi thực hiện đề tài

- Sau khi giảng dạy xong bài 18 “ Ví dụ về cách viết và sử dụng chương trình

con”, tôi đà cho khảo sát lóp 11A1, 11A2.

*Ket quả tồn tại:

+Nhiều học sinh chưa phân biệt rõ được vấn đề khi nào viết chương trình con là hàm và khi nào nên viết chương trình con dưới dạng thủ tục

+Học sinh còn lúng túng trong việc trình bày chương trình con, khai báo biến, tham số

+Học sinh không nhớ được kiến thức cũ đê áp dụng giãi bài tập

-Các yếu tố này làm ảnh hưởng den chat lượng, hiệu quả của bài học

1.4.2 Số liệu điều tra trước khi thực hiện đề tài

Lớp Sĩ số

Giỏi Khá

Trung Bình Yếu Kém

11 AI (Thực

nghiệm)

42 6 13 11 12 0

11A2 (Đối chứng) 42 5 12 13 12 0

Trang 5

PHẦN 2: GIẢI QUYẾT VẤN ĐỀ

Tên đề tài sáng kiến kinh nghiệm:

‘ RÈN KỸ NÃNG VIÉT CHƯƠNG TRÌNH CON TRONG CÁC TIÉT BÀI

TẬP VÀ THỰC HÀNH”

Sáng kiến gồm các nội dung chính :

+Hệ thống kiến thức về chương trình con

+ Phân biệt hàm và thủ ựic

+ Các lỗi học sinh thường mac

+ Đe xuất giãi pháp khắc phục

H-Khai thác một số ví dụ về chương trình con để giải quyết các bài tập

+Thử nghiệm sư phạm

II.l HỆ THÓNG KIÉN THỨC VÈ CHƯƠNG TRÌNH CON

II 1.1 Chương trình con và lợi ích của việc sử dụng chương trình con

a) Khái niệm

- Chương trình con là một dày lệnh mô tả một số thao tác nhất đinh và có thê được thực hiện ở nhiều vị trí trong chương trình

b) Lợi ích của việc sừ dụng chương trình con:

- Tránh việc phải viết lặp lại một nhóm lệnh khi nhóm lệnh này được thực hiện nhiều lần khác nhau trong chương trình

- HỒ trợ cho các chương trình lớn

- Có thể giao cho nhiều người cùng viết một chương trình

- Thuận tiện cho việc phát triển, nâng cap chương trình

c) Phân loại

- Chương trình con gồm hai loại : Hàm và thù tục

d) Cấu trúc chương trình con

- Chương trình con có cấu trúc tương tự chương trình, nhưng nhất thiết phải có tên và phần đầu dùng đê khai báo tên, nếu là hàm phâi khai báo kiêu dữ liệu cho giá tri trâ về của hàm

II.1.2 Thủ tục

- Là chương trình con thực hiện các thao tác nhất đinh nhưng không trâ về giá tri qua tên của nó

- Cấu trúc tlìủ tục

Procedure <tên_thủ_tục>[<(DS các tham số)>];

[<Phần khai báo>]

Begin

[<dày các lệnh >]

End;

Trang 6

+Phần đầu: gồm Procedure, tên thủ tục và các tham số hình thức.

+Phần khai báo: các hang, kiêu, biến và cũng có thê các chương trình con.

+Phần thân: dày các lệnh viết giữa Begin và end;

II.1.3 Hàm

- Là chương trình con thực hiện một số thao tác nào đó và trả về giá tri qua tên của nó

- Cấu trúc hàm

Function <tên hàm>[(<danh sách các tham số>)]: <kiêu dữliệu>;

[<Phần khai báo>]

Begin

[<Dày các lệnh>] ;

<tên hàm>:= <biểu thức>;

End;

Chủ ý:

+Kiểu dữ liệu là kiêu dừ liệu của giá tiạ mà hàm trả về và chi có thê là

các kiêu: integer, real, char, boolean, string

+Trong thân hàm can phải có câu lệnh gán giá tri cho tên hàm

II 1.4 So sánh hàm và thủ tục

* Giống nhau: Đeu là chương trình con có cấu tróc tương tự nhau

* Khác nhau: Điêm khác nhau cơ bân giữa thù ựic và hàm là việc thực hiện hàm

luôn trả về giá trị kết quả thuộc kiêu xác định và giá tiạ đó được gán cho tên hàm

- Trong thân hàm cần có lệnh gán giá trị cho tên hàm <tên hàm>:=<biểu thức>;

II.2 CÁC LÒI CỦA HỌC SINH THƯỜNG MÁC VÀ CÁCH KHÁC PHỤC

II.2.1 Học sinh còn lúng túng trong việc viết chương trình con

- Đây là lỗi hầu hết các học sinh đều mắc phải, các em chưa phân biệt rõ sự khác nhau cơ bân giữa hàm và thủ tục Các em rat lúng túng trong việc xác đinh những bài toán như the nào nên chọn thủ tục hay những bài toán nào cần sử dụng hàm

- Khi biết chương trình con học sinh nhầm lẫn việc khai báo các biến

Cách khắc phục: Giáo viên phân biệt cho học sinh thấy rõ khi nào các em nên

chọn hàm và khi nào nên chọn thủ tục bang cách đưa ra hệ thống các bài tập từ dề đen khó

-Khi cần thực hiện một công việc nào đó người ta dùng thù tục, còn khi cần tính một giá tri nào đó người ta dùng hàm

- Rèn luyện khả năng sử dụng chương trình Đó là con đường có hiệu quà để phát tnên ờ học sinh năng lực xây dựng chương trình đơn giàn từ đó phát tnên tư duy lập trình có cấu trúc

Trang 7

- Đối VỚI mồi bài tập giáo viên lặp đi lặp lại một cách có dụng ý những câu hỏi sau:

1) Bài toán đã cho có thê chia thành những bài toán nhỏ hơn như thế nào ? 2) Những biến nào cần dùng trong toàn bộ chương trình ?

3) Những biến nào chỉ cần cho một chương trình con cụ thê ?

4) Chương trình con nào cần viết dưới dạng hàm ?

5) Có thê cấu trúc chirơng trình như thế nào?

- Qua việc rèn luyện lập trình giãi các bài tập, học sinh sè dan dần lĩnh hội và vận dụng chúng như một chiến lược xây dựng và sứ dụng chương trình con, một yếu

tố quan trọng cùa lập trình có cấu trúc

VÍ DỤ

Bài toán 1: Viết chương trình thực hiện nhập vào hai số thực a,b là độ dài hai

cạnh hình chừ nhật Tính diện tích hình chừ nhật (có sử dụng chương trình con) Với các câu hỏi như lặp lại phần trên, ta chờ đợi học sinh những câu trả lời :

+ Bài toán trên có thê chia nhỏ thành những bài toán sau:

- Nhập hai số thực hr bàn phím

- Tính diện tích hình chừ nhật chính là tích a*b

- Biến a,b,s : thực là biến dùng cho câ chương trình

-Bài toán này có thực hiện công việc tính toán diện tích hình chữ nhật học sinh có thê lựa chọn chương trình con là thù tục hoặc hàm

Từ đó học sinh có thê viết được chương trình có sứ dụng các chương trình con là thủ tục như sau:

Program DTICH-HCN;

Var a,b , S: real;

Procedure Nhap;

Begin

WritefNhap a,b’); Readln(a,b);

End;

Procedure DTICHHCN;

Begin

S:=a*b;

Wnte(‘Dien tich hen = ’,S:2:1);

End;

Trang 8

Nhap;

DTICHHCN;

END.

Bài toán 2: Lập chương trình thực hiện tính diện tích của hình tứ giác khi biết

số đo 4 cạnh và một đường chéo nhập vào từ bàn phím

Dần dắt học sinh :

Câu hỏi 1: Có thế chia nhô bài toán như thế nào?

- Nhập các số từ bàn phím

- Tính diện tích vả đưa kết quả ra màn hình

Dần dắt: Bài toán tính diện tích tam giác khi biết độ dài 3

cạnh a,b,c rất quen thuộc VỚI các em, công thức Hê-Rông

■S’ = ự/?(p-a)(p-b)(p-c) vói p= a+^ + C

- Tìm các đưa bài toán này về bài toán quen thuộc, đê tính diện tích tứ giác này cần chia tứ giác này thành hai tam giác, khi đó diện tích tứ giác sẽ được tính bằng tổng diện tích hai tam giác đã chia

Câu hỏi 2: Chương trình con cần viết dưới dạng hàm hay thú tục ?

- Do cần lấy giá tri của chương trình con là kết quâ diện tích tam giác Học sinh

dề dàng nhận ra việc sữ dụng chương trình con trong bài toán này là hàm

Câu hỏi 3: Những biến nào cần dùng trong toàn bộ chương trình ?

- Cần 5 biến a,b,c,d, e đê lưu trừ độ dài 4 cạnh và đường chéo của tứ giác

Câu hỏi 4: Những biến nào chỉ cần cho hàm tính diện tích?

- Cần biến tính chu vi, diện tích: s, p

Câu hỏi 5: Có thê cấu trúc chương trình như the nào ?

Ket quả mong đợi

Program Tugiac;

Var a,b,c ,d,e: real;

Function Dientich(x,y,z: real): real;

Var

s, p: real;

Begin

p:=(x+y+z)/2;

S:= SQRT(p*(p-x)*(p-y)*(p-z));

Dientich:=S;

End;

Trang 9

Write(‘nhap a,b,c,d,e =’);

Readln(a,b,c,d,e);

Wnte(‘dien tích cua tu giac la Dientich(a,b,c)+ Dientich(d,e,c):5:2);

END.

Bài toán 3: Viết chương trình nhập vào ba sổ thực, kiêm tra xem ba số đó có là số

đo ba cạnh của tam giác không ? Neu ba số đó là sổ đo ba cạnh tam giác thì tam giác đó là tam giác gì ? (tam giác có ba góc nhọn, tam giác vuông, cân hay tam giác tù)

Với các câu hỏi như lặp lại phần trên, ta chờ đợi học sinh những câu trả lời:

+ Bài toán trên có thê chia nhỏ thành những bài toán sau:

- Nhập ba số thực a,b,c từ bàn phím Đưa giá tri lớn nhất trong ba số về c Kiêm tra xem c có nhò hơn tông a+b hay không (học sinh có thê kiêm tra trực tiếp các điêu kiện tông hai so bat kỳ trong ba số lớn hơn số còn lại hoặc hiệu hai số bất kỳ nhỏ hơn số còn lại)

- Nhận dạng tam giác theo ba cạnh, suy ra từ việc so sánh tông bình phương cạnh lớn nhất với tông bình phương hai cạnh còn lại

+ Biến a.b.c : Thực là biên dùng cho cả chương trình Trong chương trình đưa số lớn nhất về c cần biến trung gian là tg: thực là biến chỉ dùng trong chương trình con để tráo đổi a cho b

+ Chương trình nhận vào ba số, đưa số lớn nhất về c rồi kiếm tra xem c<a+b là đúng hay sai học sinh quen thuộc có thê viết được

Từ đó học sinh có thê viết được chương trình như sau:

Program TamGiac;

Uses crt;

Var a,b,c : real;

Function KTra : Boolean;

Var tg: real;

Begin

Writeln(‘nhap ba so thuc a,b,c : ’) ;

Readln(a,b,c);

If c<a then

begin

Tg:=a; a:=c; c;=tg;

end;

If c< b then

begin Tg:=b; b:=c; c:=tg;

end:

Trang 10

End;

Procedure NhanDang_TG;

Begin

b:=a*a+b*b; c:=c*c;

if c<b then Wnteln (‘Tam giac co ba goc deu nhon’)

If c=b then write(‘Tam giac vuong’) Else write(‘Tam giac tu’);

End;

BEGIN

clrscr;

If KTra then NhanDang_TG Else write(‘Khong la tam giác’);

END.

Mở rộng bài toán: Giao cho học sinh về nhà thực hiện

Bài tập 1: Viết chương trình con thực hiện các công việc sau

a) Tinh dien tích hình vuong

b) Tinh dien tích hĩnh tron

c) Tinh dien tich hĩnh thang

Ket quả mong đợi

uses crt;

Procedure HCN;

var a,b:real;

Begin

writef nhap a = '); readln(a); writeln('Dien tích hcn la : a*a:l:2); readln;

End;

Procedure HINHTRON;

var r : real;

Begin

writefR ='); Readln(r);

writelnfDien tích hình tron : r*r*3.14:1:2);

readln;

End;

Procedure HINHTHANG;

var a,b,h:real;

Begin

writefNhap day lon, day be, chieu cao : '); Readln(a,b,h); writeln('Dien tích hĩnh thang : ',(a+b)*h/2:l:2);

readln;

End;

Trang 11

Bài tâp 2: Dùng thủ tục giải phương trình bậc hai : ax2 + bx + c = 0

+ Bài toán trên có thê chia nhỏ thành những bài toán sau:

- Nhập các hệ số a,b,c,

- Giãi phương trình ax2 + bx + c = 0

Bài tâp 3 : Viết chương trình thực hiện lần lượt các công việc sau :

a) Lập thù tục nhập ba so thực dương a , b , c từ bàn phím

b) Lập thủ ựic kiêm tra xem ba số trên có lập thành ba cạnh cùa tam giác hay không ?

c) Viết thủ tục tính diện tích của tam giác

d) Viet thủ tục tính các tiling tuyến cùa tam giác

e) Viết hoàn thiện chương trình chính

II.3 KHAI THÁC MỘT SÓ THUẬT TOÁN sử DỤNG CHƯƠNG TRÌNH CON

II.2.1 Hàm tìm ước số chung lớn nhất của hai số nguyên dương M và N

a) Mục tiêu: Nhăm vận dụng kiên thức mới mà HS đã được lĩnh hội đê giải

quyết những vấn đề mới trong học tập và thực tiễn về chương trình con là Hàm

b) Ý tưởng thuật toán: Viết hàm tìm ước số chung

- So sánh M và N

- Nếu M=N thì UCLN:=M

- Neu M> N thì UCLN:=M-N ngược lại UCLN:=N quá trình được lặp đi lặp

lại đến khi M=N

Function ƯCLN(a,b: integer):integer;

Begin While a <> b do

If a > b then a:= a - b else b := b-a;

UCLN := a;

End;

c) Vận dụng : Chuyên giao nhiệm vụ cho học sinh

Bài toán 1: Cho một dày gồm N số nguyên dương A1, A2, AN ngầu nhiên nhập

từ bàn phím Hãy tìm ước chung lớn nhất của các cặp số đứng liền nhau mà số sau lớn hơn hoặc bang số đứng trước trong dày trên và viết ra màn hình

+ Xác định bài toán

Input: cho N và dày so nguyên Al, A2, AN

Output: một dày gồm N -1 số nguyên là các ước chung lớn nhất cùa các số trong

dày số đã được sắp xếp thành dày không giâm

+ Bài toán trên có thê chia nhỏ thành những bài toán sau:

Trang 12

- Nhập N và dày số nguyên dương Al, A2, AN: Sứ dụng thù tục Nhap

- Sap xếp dày Al, A2, AN thành dày không giâm: Sừ dụng thủ tục Sap_xep

- Tìm ước chung lớn nhất của dày đã sắp xếp: Sừ dụng hàm tìm ước số chung lớn nhất cùa hai so nguyên dương

Ket quả mong đợi trong chương trình chính

BEGIN

Nhap ;

Sapxep;

Writeln(‘ day cac uoc chung lon nhat:’);

For i :=1 to N-l do write (ƯCLN(A[i], A[i+1]) : 5); Readln

END.

Bài toán 2: Tìm bội số chung nhò nhất của hai số nguyên dương M và N

Ỷ tưởng : 55CW(M,N) = 7—-77^7—

6 tZSCZJV(M,N)

Dần dắt học sinh: Sử dụng hàm tìm ước sổ chung lớn nhất của hai số nguyên

dương

Ket quả mong đợi :

Program BOI_SCNN;

Var

M,N: byte;

Function UCLN(a,b: integer):integer;

Begin While a <> b do

If a > b then a:= a - b else b := b-a;

UCLN := a;

End;

BEGIN

Write(‘nhap M,N’);

Readln(M,N);

Write( ‘Bơi so chung nho nhat=’, (M*N) /USCLN(M,N));

END.

Bài toán 3: Rút phân số thành phân số tối giâm

Ỷ tường: Chia tử và mẫu cho ước số chung lớn nhất của câ tử và mẫu Sử dụng

hàm tìm ước số chưng lớn nhất của hai số nguyên dương

Program RutgonPhanso;

Uses crt;

Ngày đăng: 19/04/2023, 10:28

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