1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo án tin học 9 - CHƯƠNG TRÌNH CON (Sub program docx

28 494 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 28
Dung lượng 239,76 KB

Nội dung

 Biết viết chương trình con dưới hai dạng thủ tục Chương trình con là một đoạn chương trình, các câu lệnh của chúng được bao giữa cặp từ khoá Begin … End; Chúng ta có thể gọi một hoặc

Trang 1

Giáo án tin học 9

BÀI CHƯƠNG TRÌNH CON (Sub program)

KIẾN THỨC YÊU CẦU:

 Biết khi nào cần sử dụng đến chương trình con, tầm vực hoạt động của nó

 Biết cách khai báo và sử dụng

 Biết nắm vững vị trí khai báo biến

KIẾN THỨC ĐẠT ĐƯỢC

 Biết các khái niệm về chương trình con

 Biết cách khai báo và sử dụng chương trình con trong chương trình chính

8

Trang 2

 Biết hai dạng của chương trình con là thủ tục (Procedure) và hàm (Function), các bước cơ bản để viết một chương trình con

 Biết nắm vững biến toàn cục và biến địa phương, đặc biệt là tầm vực hoạt động của các biến loại này

 Biết nắm vững cách truyền tham số cho chương trình con dưới dạng tham trị và tham biến

 Biết viết chương trình con dưới hai dạng thủ tục

Chương trình con là một đoạn chương trình,

các câu lệnh của chúng được bao giữa cặp từ khoá

Begin … End; Chúng ta có thể gọi một hoặc nhiều

Trang 3

lần trong chương trình qua tên của chương trình con

đó Nơi gọi có thể cung cấp những thông số cho chương trình con và chương trình con có thể làm thay đổi giá trị của một vài thông số đó

Chúng ta dùng các chương trình con khi:

 Có một công việc được thực hiện ở nhiều nơi

(mỗi nơi có thông số riêng) nhưng quá trình thực hiện công việc thì không có gì thay đổi)  Khi cần phân đoạn chương trình để chương

trình được trong sáng và dễ hiểu

2 Phân loại chương trình con

Có hai loại chương trình con đó là thủ tục

(Procedure) và hàm (Function) Hàm thì có sự trả

về Như đã giới thiệu ở các bài trước, thủ tục và hàm

sẽ được đặt trước thân của chương trình chính Khi gọi chương trình con tại vị trí nào đó trong chương trình chính, máy sẽ nhảy đến địa chỉ của đoạn mã chương trình con (đã được dịch sang chương trình

Trang 4

máy khi Compiler) để thực hiện, sau khi thực hiện xong sẽ quay về câu lệnh sau lệnh gọi chương trình con để thực hiện tiếp

3 Các bước cơ bản để viết chương trình con

Phải biết cấu trúc của một chương trình con, nên dùng thủ tục hay hàm trong yêu cầu của đầu bài, biết

sử dụng các thông số …

Ghi chú: Khi cần tính ra chỉ một giá trị, nên dùng

Function, không nên dùng Procedure

II/ Chương trình con

Chương trình con được bắt đầu bằng từ dành riêng,

đó là Procedure hoặc Function, tiếp theo là tên của

chương trình con, sau đó là các tham số được bao bằng hai dấu ngoặc đơn (có thể có hoặc không, nếu

có nhiều thì được cách nhau bằng dấu chấm phẩy

“;”) Những tham số hình thức không đứng sau từ

Trang 5

khoá Var được gọi là tham số hình thức trị, nếu có Var được gọi là tham số biến

Trang 6

Ghi chú: Thủ tục thì không có kiểu trả về, sau End là

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

End;

2 Dạng Function

FUNCTiON Tên (Thamsố1 : Kiểu;

…,ThamsốN: kiểu) : Kiểu;

Const

Trang 8

gt : Real;

Begin gt:= 1;

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

giaithua:= gt; (* Gán trị kết quả cho tên hàm*)

End;

III/ Một số đặc tính của chương trình con

1 Biến toàn cục và biến địa phương

 Giả sử có một chương trình chính trong đó có một chương trình con, những biến nằm trong phần khai báo của chương trình chính được gọi là những biến toàn cục (global variable)

 Những biến thuộc phần khai báo Var của chương trình con được gọi là những biến cục bộ

Trang 9

(local variable) hay còn được gọi là biến địa phương của chương trình con đó

Trang 10

 i, gt là các biến địa phương của chương trình

con, các biến này không có ý nghĩa gì trong thân chương trình chính, tức là không hề được biết đến

Ví dụ:

Trong thân chương trình chính của ví dụ trên, nếu bạn viết câu lệnh Write(‘Ket qua’, gt); thì khi compiler sẽ bị báo lỗi, vì biến gt chưa được khai báo trong chương trình chính

Ghi chú:

Tầm vực của một biến là phạm vi của khối (chương trình con hay chương trình khai báo nó)

Trang 11

2 Chuyển tham số cho chương trình con Tham trị - tham biến

Các tham số trong sự gọi chương trình con được gọi là các tham số thực (actual parameter) Khi gọi thì các tham số thực sẽ chuyển cho chương trình con tương ứng với các tham số hình thức theo thứ tự xuất hiện của chúng trong danh sách tham số

Trang 12

là a, b sẽ được truyền tương ứng cho hàm khi gọi Cong(a,b) a tương ứng với x, b tương ứng với y Bạn thử thay lại lời gọi hàm là Cong(b,b) thì kết quả sẽ là

Trang 13

b+b, số a nhập vào không tham gia gì trong việc gọi hàm

Tham trị (value parameter):

 Không đi sau từ khoá Var trong danh sách các tham số hình thức

 Được cấp ô nhớ riêng khi chương trình con

được gọi và bị xoá bỏ khi chương trình con thực hiện xong

 Tham số thực tương ứng là một biểu thức

 Tham trị thực chất là một biến cục bộ, khi

chương trình con được gọi, tham trị sẽ nhận trị là trị của tham số thực, trước khi chương trình con bắt đầu thực hiện

 Những thay đổi của tham trị không ảnh hưởng

gì đến chương trình chính, nghĩa là không kéo theo sự thay đổi của tham số thực tương ứng

Tham biến (variable parameter):

Trang 14

 Đi sau tứ khoá Var trong danh sách các tham

số

 Tham số thực tương ứng phải là một biến

 Những thay đổi trên tham biến thực chất là

được thực hiện trên tham số thực tương ứng

 Thực chất của sự truyền tham số đối với tham biến là sự truyền địa chỉ

3 Viết chương trình con

Như chúng ta đã biết, chương trình con có hai dạng, đó là Procedure hoặc Function

Trang 15

Procedure Cong(x:real; y:real; z:real;); Begin

Trang 16

Begin (*Chương trình chính*) Write(‘Ban nhap vao so a = ‘); Readln(a);

Write(‘Ban nhap vao so b = ‘); Readln(b);

Trang 17

Function Cong(x:real; y:real) : real;

Trang 19

Chia:=z;

End;

Begin (*Chương trình chính*) Write(‘Ban nhap vao so a = ‘);

 Qua hai ví dụ viết chương trình con dạng thủ tục

và hàm, các bạn cần lưu ý cách gọi, các bước thực

Trang 20

hiện, phân biệt sự khác nhau để nắm vững và tránh sai sót khi viết các chương trình sau này

Ghi chú:

Tầm vực của một chương trình con là toàn bộ cha của nó (tại một vị trí bất kỳ của cha thì có thể gọi các chương trình con của nó)

4 Tính đệ quy của chương trình con

Đệ quy là một khái niệm cơ bản trong toán học

và khoa học máy tính Định nghĩa đơn giản của một chương trình đệ quy là chương trình mà gọi đến chính nó (và một hàm đệ quy là một hàm được định nghĩa dựa trên chính nó) Một chương trình đệ quy thì không thể gọi đến chính nó mãi mãi (và một hàm

đệ quy không thể lúc nào cũng định nghĩa dựa vào chính nó trừ khi định nghĩa bị xoay vòng) Một điều kiện cần thiết là phải có điều kiện kết thúc khi chương trình không gọi đến chính nó nữa (và khi hàm không được định nghĩa dựa trên chính nó) Tất

Trang 21

cả các tính toán trong thực tế đều có thể diễn đạt bằng khuôn mẫu đệ quy

Giaithua := N * Giaithua(N - 1);

End;

 Nó gọi đến chính nó (với một giá trị đối số nhỏ hơn) và nó có điều kiện kết thúc khi tính kết quả trực tiếp của nó

Trang 22

Ví dụ 2:

Tính dãy Fibonacci:

Fn = Fn-1 + Fn-2 với n = 2 và F0 = F1 = 1 Quan hệ này định nghĩa dãy

End;

Trang 23

TÓM LƯỢC

 Chương trình con là một đoạn chương trình, các

câu lệnh của chúng được bao giữa cặp từ khoá

Begin … End; Chúng ta có thể gọi một hoặc nhiều

lần trong chương trình qua tên của chương trình con

là đến tên của chương trình con, tiếp theo là các tham số được bao trong dấu ngoặc đơn, các tham số

có thể có hoặc không và được cách nhau bởi dấu chấm phẩy

 Hàm thì có sự trả về

Trang 24

 Cần xác định nên dùng chương trình con là thủ tục

 Khi gọi thì các tham số thực sẽ chuyển cho chương trình con tương ứng với các tham số hình thức theo thứ tự xuất hiện của chúng trong danh sách tham số

 Tham trị Không đi sau từ khoá Var trong danh sách các tham số hình thức Được cấp ô nhớ riêng khi chương trình con được gọi và bị xoá bỏ khi chương trình con thực hiện xong Tham số thực

Trang 25

tương ứng là một biểu thức Tham trị thực chất là một biến cục bộ, khi chương trình con được gọi, tham trị sẽ nhận trị là trị của tham số thực, trước khi chương trình con bắt đầu thực hiện Những thay đổi của tham trị không ảnh hưởng gì đến chương trình chính, nghĩa là không kéo theo sự thay đổi của tham

số thực tương ứng

 Tham biến đi sau tứ khoá Var trong danh sách các tham số.Tham số thực tương ứng phải là một biến.Những thay đổi trên tham biến thực chất là được thực hiện trên tham số thực tương ứng Thực chất của sự truyền tham số đối với tham biến là sự truyền địa chỉ

 Đệ quy là một khái niệm cơ bản trong toán học và khoa học máy tính Định nghĩa đơn giản của một chương trình đệ quy là chương trình mà gọi đến chính nó (và một hàm đệ quy là một hàm được định nghĩa dựa trên chính nó)

Trang 26

PHẦN THỰC HÀNH:

1 Viết lại chương trình tính bốn phép toán cơ bản, cộng - trừ - nhân – chia bằng thủ tục và hàm

2 Viết chương trình con kiểm tra xem số tự nhiên n

có phải là số nguyên tố hay không?

3 Viết chương trình con kiểm tra xem trong mảng a[]

có mặt phần tử x hay không?

4 Viết chương trình con cho biết số các phần tử dương, số các phần tử âm, số các phần tử 0 của một mảng số nguyên

5 Cho hàm tính giai thừa như sau:

Function giaithua(m : integer) : Real;

Var

i : integer;

gt : real;

Trang 27

Viết chương trình nhập vào một số nguyên dương

và cho ra kết quả với chương trình con như trên

6 Hàm tính giai thừa trên có phải chương trình đệ quy hay không, giải thích tại sao như vậy

Ngày đăng: 26/07/2014, 12:21

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w