1. Trang chủ
  2. » Giáo án - Bài giảng

Phương pháp dạy học chương trình con nhằm gây hứng thú và nâng cao kết quả học tập môn tin học

21 527 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 21
Dung lượng 124,5 KB

Nội dung

trong quá trình giảng dạy tại trường các năm qua tôi xin đưa ra một đề tài nhỏ“Phương pháp dạy học chương trình con nhằm gây hứng thú và nâng cao kết quả học tập môn Tin học” nằm trong c

Trang 1

MỤC LỤC

I MỞ ĐẦU 1

1.1 LÝ DO CHỌN ĐỀ TÀI: 1

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 3

II NỘI DUNG 4

2.1 CƠ SỞ LÍ LUẬN 4

2.2 THỰC TRẠNG VẤN ĐỀ 4

2.3 BIỆN PHÁP DẠY HỌC CỤ THỂ 5

1 Một số khái niệm về biến 5

2 Lời gọi chương trình con 6

3 Truyền tham số cho chương trình con 11

4 Các bước cần làm khi viết một chương trình con 14

2.4 KẾT QUẢ 16

III KẾT LUẬN VÀ KIẾN NGHỊ 18

3.1 Kết luận 18

3.2 Kiến nghị 18

TÀI LIỆU THAM KHẢO 20

Trang 2

I MỞ ĐẦU

1.1 LÝ DO CHỌN ĐỀ TÀI

Ngày nay, trên thế giới đang diễn ra quá trình tin học hoá trên nhiều lĩnh vựchoạt động của xã hội loài người và đem lại nhiều hiệu quả to lớn Việc sử dụngmáy tính không còn chỉ bó hẹp trong viện nghiên cứu, các trường đại học, các trungtâm máy tính mà còn mở rộng ra mọi cơ quan, tổ chức kinh tế, và trong các giađình Song song với quá trình trên, việc giảng dạy Tin học trong các trường đạihọc, THPT cũng được đẩy mạnh đi đôi với việc tăng cường trang bị máy vi tính.Đảng và Nhà nước ta đã nhận thấy được tầm quan trọng của ngành Tin học và đãđưa môn học này vào trường phổ thông như những môn học khác bắt đầu từ nămhọc 2006-2007

Trong chương trình Tin học ở nhà trường THPT, ngôn ngữ lập trình Pascal lớp

11 là một nội dung quan trọng Bởi vì, nó là kiến thức nền móng giúp học sinh hìnhthành tư duy lập trình để sử dụng cho các bậc học cao hơn Turbo Pascal là ngônngữ lập trình có cấu trúc, nó được dùng phổ biến ở nước ta hiện nay trong công tácgiảng dạy, lập trình tính toán, đồ họa Turbo Pascal được dùng trong chương trìnhgiảng dạy Tin học ở hầu hết các trường đại học, cao đẳng, trung học phổ thông và

nó được mệnh danh là “ngôn ngữ học đường”

Xuất phát từ thực tiễn giảng dạy tại trường THPT Quảng Xương 3 tôi thấyrằng, để đạt hiệu quả cao trong mỗi phần học, tiết học cần có cách thiết kế bàigiảng cho phù hợp với nội dung kiến thức, phương pháp, phương tiện dạy học phảiphù hợp với từng đối tượng học sinh Để qua mỗi phần học, tiết học học sinh thíchthú với kiến thức mới, qua đó hiểu được kiến thức đã học trên lớp, đồng thời họcsinh thấy được tầm quan trọng của vấn đề và việc ứng dụng của kiến thức trước hết

để đáp ứng những yêu cầu của môn học, sau đó là việc ứng dụng của nó vào cáccông việc thực tiễn trong đời sống xã hội (nếu có) Với kinh nghiệm được đúc rút

Trang 3

trong quá trình giảng dạy tại trường các năm qua tôi xin đưa ra một đề tài nhỏ

“Phương pháp dạy học chương trình con nhằm gây hứng thú và nâng cao kết quả học tập môn Tin học” nằm trong chương IV - chương trình tin học 11 nhằm giúp

các em học sinh nói chung và học sinh trường THPT Quảng Xương III nói riênghiểu rõ hơn về chương trình con, phân biệt và biết cách sử dụng 2 loại chương trìnhcon trong các chương trình chính Giúp các em có khả năng tư duy lập trình và họctốt bộ môn Pascal

1.2 MỤC ĐÍCH NGHIÊN CỨU

Nâng cao hiệu quả dạy học của giáo viên và tiếp thu kiến thức trong quátrình học tập của học sinh đối với môn học đòi hỏi tư duy sáng tạo như lập trìnhpascal, đặc biệt là phần chương trình con

Tạo động cơ cho học sinh ý thức về ý nghĩa của các hoạt động khi sử dụngchương trình con trong công việc lập trình Từ đó, học sinh có thể liên hệ, vận dụngsáng tạo vào giải quyết các bài toán lập trình và các tình huống thực tế nhằm gópphần hình thành và phát triển năng lực trí tuệ chung cho học sinh THPT

Khi lập trình, học sinh cần hình dung được chương trình thường có nhữngđoạn chương trình hay phép tính lặp lại nhiều lần Nếu mỗi lần lặp lại, ta phải viếtnhững đoạn lệnh như nhau thì chương trình trở nên dài dòng, rối rắm và mất thờigian vô ích Để giải quyết những trường hợp như vậy, Pascal cho phép tạo ra cácmodule, mỗi module mang một đoạn chương trình gọi là chương trình con Mỗichương trình con sẽ mang một tên khác nhau Một module chỉ cần viết một lần vàsau đó có thể truy xuất nó nhiều lần, bất kỳ nơi nào trong chương trình chính Khicần thiết, ta chỉ việc gọi tên chương trình con đó ra để thi hành lệnh

1.3 ĐỐI TƯỢNG NGHIÊN CỨU

- Học sinh khối 11 qua các năm của trường THPT Quảng Xương 3

Trang 4

- Nghiên cứu tình hình dạy và học tin học ở trường THPT hiện nay Trao đổi,tìm hiểu kinh nghiệm của giáo viên phổ thông, tiếp cận học sinh khi học ngôn ngữlập trình Pascal về năng lực và trí tuệ.

- Nghiên cứu những cơ sở về lí luận dạy học

- Áp dụng vào thực tiễn nhằm rèn luyện các thao tác tư duy, hình thành vàphát triển tư duy logic, suy đoán trừu tượng nhằm giúp các em giải bài tập Pascal

- Đưa ra các phương pháp động cơ trong dạy học, xây dựng hệ thống bài tập

có chuyên đề cụ thể để học sinh dễ tiếp cận bài học

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 Quảng Xương III

- 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ếnkinh nghiệm

Trang 5

II NỘI DUNG 2.1 CƠ SỞ LÍ LUẬN

Nội dung nghiên cứu này có nhiều phần, trong phạm vi nghiên cứu củachương này ta cần làm rõ các vấn đề sau:

- Chương trình con được viết dưới hai dạng: thủ tục(procedure) và hàm (function)

- So sánh cấu trúc của 2 kiểu chương trình con này thì tương tự với nhau, mặc dầucách truy xuất của chúng có khác nhau và cách trao đổi thông tin trong mỗi kiểucũng có điểm khác nhau Hàm (function) trả lại một giá trị kết quả vô hướngthôngqua tên hàm và hàm được sử dụng trong biểu thức

- Một chương trình có chứa chương trình con có 3 khối:

- Khối khai báo

- Khối chương trình con

- Khối chương trình chính

Để thực hiện những mục tiêu trên, yêu cầu học sinh cần nắm vững một số kháiniệm: biến toàn cục, biến cục bộ, tham số thực sự, tham số hình thức, lời gọichương trình con

2.2 THỰC TRẠNG VẤN ĐỀ

Từ thực tế giảng dạy của bản thân và qua dự giờ một số tiết dạy của đồngnghiệp tôi thấy, hầu hết học sinh đang còn mơ hồ về việc sử dụng chương trình con

Trang 6

trong các chương trình chính Học sinh còn lúng túng khi lựa chọn chương trìnhcon là hàm hay thủ tục, nhầm lẫn giữa cách khai báo, lời gọi hàm và thủ tục Vì vậyvới đề tài này tôi nêu ra một số chú ý khi dạy học chương trình con cho học sinhnhằm giúp học sinh hiểu rõ hơn về chương trình con, không còn lúng túng khi sửdụng chương trình con trong các chương trình chính.

2.3 BIỆN PHÁP DẠY HỌC CỤ THỂ

- Khi dạy về chương trình con giáo viên cần lưu ý những kiến thức sau:

1 Một số khái niệm về biến

a Biến toàn cục: Còn được gọi là biến chung, là biến được khai báo ở đầu chương

trình, nó được sử dụng bên trong chương trình chính và cả bên trong chương trìnhcon Biến toàn cục sẽ tồn tại trong suốt quá trình thực hiện chương trình

b Biến cục bộ: Còn được gọi là biến riêng, là biến được khai báo ở đầu chương

trình con, và nó chỉ được sử dụng bên trong thân chương trình con hoặc bên trongthân chương trình con khác nằm bên trong nó (các chương trình con lồng nhau).Biến cục bộ chỉ tồn tại khi chương trình con đang hoạt động, nghĩa là biến cục bộ

sẽ được cấp phát bộ nhớ khi chương trình con được gọi để thi hành, và nó sẽ đượcgiải phóng ngay sau khi chương trình con kết thúc

c Tham số thực sự là một tham số mà nó có thể là một biến toàn cục, một biểu thức

hoặc một giá trị số (cũng có thể biến cục bộ khi sử dụng chương trình con lồngnhau) mà ta dùng chúng khi truyền giá trị cho các tham số hình thức tương ứng củachương trình con

d Tham số hình thức là các biến được khai báo ngay sau tên chương trình con, nó

dùng để nhận giá trị của các tham số thực truyền đến Tham số hình thức cũng làmột biến cục bộ, ta có thể xem nó như là các đối số của hàm toán học

Trang 7

2 Lời gọi chương trình con

Để chương trình con được thi hành, ta phải có lời gọi đến chương trình con,lời gọi chương trình con thông qua tên chương trình con và danh sách các tham sốtương ứng (nếu có) Các qui tắc của lời gọi chương trình con:

- Trong thân chương trình chính hoặc thân chương trình con, ta chỉ có thể gọi tớicác chương trình con trực thuộc nó

- Trong chương trình con, ta có thể gọi các chương trình con ngang cấp đã đượcthiết lập trước đó

a Thủ tục (Procedure):

Thủ tục là một đoạn cấu trúc chương trình được chứa bên trong chương trìnhPascal như là một chương trình con Thủ tục được đặt tên và có thể chứa danh sáchtham số hình thức Các tham số này phải được đặt trong dấu ngoặc đơn ( ) Ta cóthể truy xuất thủ tục bằng cách gọi tên của thủ tục Chương trình sẽ tự động truyxuất thủ tục đúng tên đã gọi và thực hiện các lệnh chứa trong thủ tục đó Sau khithực hiện thủ tục xong, chương trình sẽ trở lại ngay lập tức sau vị trí câu lệnh gọithủ tục đó

Ví dụ 1: Tìm số lớn nhất trong 3 số nguyên được nhập từ bàn phím

Program VI_DU;

Trang 8

Var a, b, c : integer ;

Procedure So_LN;

Var max : integer ;Begin

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

if c > max then max := c ;Writeln ( ‘ So lon nhat la ‘, max ) ;end;

* Cấu trúc của thủ tục có tham số

PROCEDURE < Tên thủ tục > (<danh sách tham số hình thức : kiểu biến>);

{ Các khai báo hằng, biến, kiểu cục bộ }BEGIN

{ các lệnh trong nội bộ thủ tục }END;

Khi viết một thủ tục, nếu có các tham số cần thiết, ta phải khai báo nó (kiểu,

số lượng, tính chất, ) Các tham số này gọi là tham số hình thức

Trang 9

Một thủ tục có thể có 1 hoặc nhiều tham số hình thức Khi các tham số hìnhthức có cùng một kiểu thì ta viết chúng cách nhau bởi dấu phẩy (,) Trường hợp cáckiểu của chúng khác nhau hoặc giữa khai báo tham số truyền bằng tham biến vàtruyền bằng tham trị (sẽ học ở phần sau) thì ta phải viết cách nhau bằng dấu chấmphẩy (;).

Ví dụ 2: Tính giai thừa của một số

Program Tinh_Giai_thua ;

Var n : integer ; gt : real ;

Procedure giaithua (m : integer );

Var i : integer ;Begin

gt := 1 ;For i := 1 to m do gt := gt * i ;end;

Trang 10

b Hàm (Function) :

Hàm là một chương trình con cho ta 1 giá trị kiểu vô hướng Hàm tương tựnhư thủ tục nhưng trả về một giá trị thông qua tên hàm và lời gọi hàm tham giatrong biểu thức

Cấu trúc một hàm tự đặt gồm:

FUNCTION <Tên hàm>(<Tham số hình thức: kiểu biến>): <Kiểu kết quả> ;

{ các khai báo hằng, biến cục bộ } BEGIN

{ các khai báo trong nội bộ hàm }END ;

Trong đó:

- Tên hàm là tên tự đặt cần tuân thủ theo nguyên tắc đặt tên trong Pascal

- Kiểu kết quả là một kiểu vô hướng, biểu diễn kết quả giá trị của hàm

- Một hàm có thể có 1 hay nhiều tham số hình thức, khi có nhiều tham số hình thứccùng một kiểu giá trị thì ta có thể viết chúng cách nhau bằng dấu phẩy (,) Trườnghợp các tham số hình thức khác kiểu thì ta viết chúng cách nhau bằng dấu chấmphẩy (;)

- Trong hàm có thể sử dụng các hằng, kiểu, biến đã được khai báo trong chươngtrình chính nhưng ta có thể khai báo thêm các hằng, kiểu, biến dùng riêng trong nội

bộ hàm Chú ý là phải có một biến trung gian có cùng kiểu kết quả của hàm để lưukết quả của hàm trong quá trình tính toán để cuối cùng ta có 1 lệnh gán giá trị củabiến trung gian cho tên hàm

Ví dụ : FUNCTION TINH (x, y : integer ; z : real ) : real ;

Đây là một hàm số có tên là TINH với 3 tham số hình thức x, y, z Kiểu của x

và y là kiểu số nguyên integer còn kiểu của z là kiểu số thực real Hàm TINH sẽ

cho kết quả kiểu số thực real

Ví dụ 3: Bài toán tính giai thừa

Trang 11

For heso := 2 to n dotich:= tich * heso ;gt:= tich;

End ;End;

BEGIN

Write (‘ Nhap vao so nguyen duong x = ‘ ); Readln (x) ;

Writeln (‘ Voi x = ‘, x , ‘ thi giai thua se la: x ! = ‘, gt(x))

Readln;

END

Khi khai báo kiểu dữ kiệu cho các tham số hình thức trong thủ tục và hàm, tacần phải chú ý điểm sau: Nếu kiểu dữ liệu của các tham số hình thức là các kiểu dữliệu có cấu trúc (kiểu array, string, kiểu record, ) thì việc khai báo kiểu dữ liệucho các tham số hình thức nên được khai báo theo cách gián tiếp, tức là phải thôngqua từ khóa TYPE

Ví dụ : Procedure Xuat1(hoten : string[25]);

Procedure Xuat2(mang: array[1 10] of integer);

Trang 12

Hai chương trình con Xuat1 và Xuat2 đều bị lỗi ở phần khai báo kiểu dữ liệu cho hai tham số hình thức là hoten và mang.

Để khắc phục lỗi này, ta sẽ khai báo gián tiếp một kiểu dữ liệu str25 và M10thông qua từ khóa TYPE như sau:

TYPE

Str25=string[25]; {Str25 là một kiểu xâu có độ dài 25}

M10=Array[1 10] of integer; {M10 là một kiểu dữ kiệu mảng có 10 phần tửnguyên}

Tiếp đến, dùng 2 kiểu dữ liệu mới định nghĩa Str25 và M10 để định kiểu chocác tham số hình thức hoten và mang như sau:

Procedure Xuat1(hoten : Str25);

Procedure Xuat2(mang: M10);

3 Truyền tham số cho chương trình con

Khi truyền tham số trong Pascal, đòi hỏi phải có sự tương ứng về tên củakiểu dữ liệu của các tham số hình thức và tham số thực sự Một số định nghĩa vàqui tắc về truyền tham số trong Pascal:

- Những tham số hình thức nằm sau từ khóa VAR gọi là tham số biến Vớitham số biến, các tham số thực sự bắt buộc phải là biến chứ không được là giá trị.Khi giá trị của tham số biến thay đổi thì nó sẽ làm thay đổi giá trị của tham số thực

sự tương ứng và khi ra khỏi chương trình con đó, tham số thực sự vẫn giữ giá trị đãđược thay đổi đó

- Những tham số hình thức không đứng sau từ khóa VAR gọi là tham số trị,khi đó các tham số thực sự có thể là một biến, một biểu thức, một hằng, hoặc mộtgiá trị số Các tham số trị nhận giá trị từ tham số thực sự khi truyền như là giá trịban đầu, khi giá trị của tham số trị thay đổi thì nó sẽ không làm thay đổi giá trị củatham số thực sự, nghĩa là giá trị của tham số thực sự sau khi thoát khỏi chươngtrình con vẫn luôn bằng với giá trị của tham số thực sự trước khi truyền đến chương

Trang 13

trình con đó Do vậy một tham trị không bao giờ là kết quả tính toán của chươngtrình con.

Ví dụ 4: Viết chương trình tính lập phương.

PROGRAM Tinh_Lap_Phuong;

VAR x: integer; {x là biến toàn cục}

PROCEDURE LapPhuong(var a:integer); {a là một tham số biến}

Begin

a:=a*a*a;

End;

BEGIN

write(‘Nhập số cần tính lập phương x = ‘); readln(x);

LapPhuong(x); {tham số thực x được truyền cho tham số biến a}

writeln(‘Lập phương của số vừa nhập = ‘, x);

Readln;

END

Ví dụ 5: Về sự thay đổi giá trị của tham số biến và tham số giá trị

Trong chương trình dưới đây, thủ tục có hai tham số a và b: a là tham số giá trị còn

b là tham số biến Hãy xem sự thay đổi giá trị của 2 biến x và y của chương trình

chính trước và sau khi gọi thủ tục thamso:

Program vidu_5;

Uses crt;

Var x,y: integer;

Procedure thamso(a: integer; var b: integer);

Begin

a:= a + 6;

b:= b + 8;

end;

Trang 14

Write(‘ nhap x = ‘); readln(x);

Write(‘ nhap y = ‘); readln(y);

Writeln(‘gia tri hai so vua nhap la x = ‘,x:2,’ va y =’,y:2);

Thamso(x,y);

Writeln(‘ gia tri hai so sau khi goi thu tuc tham so la x = ‘,x:2,’ va y =’,y:2);Readln;

END

Ta thấy sau khi thực hiện chương trình thì x sẽ không thay đổi giá trị còn y

sẽ có giá trị thay đổi Kết quả thực hiện chương trình như sau:

Ví dụ 6: Viết hàm tính ước chung lớn nhất của 2 số nguyên dương, tiếp đó sử dụng hàm này để xây dựng hàm tính bội số chung nhỏ nhất của hai số nguyên dương

- Hàm tính ước chung lớn nhất:

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

Var sodu, t : integer;

Begin

If b>a then

Begin

Trang 15

4 Các bước cần làm khi viết một chương trình con

Bước 1: Đặt câu hỏi chương trình con là Procedure hay Function?

Giải quyết:

Chương trình con là Function khi và chỉ khi thỏa mản đồng thời các yêu cầu sau:

- Nếu ta muốn nhận lại một và chỉ một kết quả mà thôi

- Kết quả phải là kiểu xác định (kiểu vô hướng)

- Có cần dùng tên của Hàm để viết trong các biểu thức hay không ?

Ngày đăng: 16/08/2017, 14:52

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w