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

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

Đ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

Giáo án tin học BÀI CHƯƠNG TRÌNH CON (Sub program) KIẾN THỨC YÊU CẦU:  Biết cần sử dụng đến chương trình con, tầm vực hoạt động  Biết cách khai báo sử dụng  Biết nắm vững vị trí khai báo biến KIẾN THỨC ĐẠT ĐƯỢC  Biết khái niệm chương trình  Biết cách khai báo sử dụng chương trình chương trình  Biết hai dạng chương trình thủ tục (Procedure) hàm (Function), bước để viết chương trình  Biết nắm vững biến tồn cục biến địa phương, đặc biệt tầm vực hoạt động biến loại  Biết nắm vững cách truyền tham số cho chương trình dạng tham trị tham biến  Biết viết chương trình hai dạng thủ tục hàm  Biết khái niệm đệ quy tính đệ quy chương trình I/ Khái niệm chương trình Khái niệm Chương trình đoạn chương trình, câu lệnh chúng bao cặp từ khố Begin … End; Chúng ta gọi nhiều lần chương trình qua tên chương trình Nơi gọi cung cấp thơng số cho chương trình chương trình làm thay đổi giá trị vài thơng số Chúng ta dùng chương trình khi:  Có cơng việc thực nhiều nơi (mỗi nơi có thơng số riêng) q trình thực cơng việc khơng có thay đổi)  Khi cần phân đoạn chương trình để chương trình sáng dễ hiểu Phân loại chương trình Có hai loại chương trình thủ tục (Procedure) hàm (Function) Hàm có trả Như giới thiệu trước, thủ tục hàm đặt trước thân chương trình Khi gọi chương trình vị trí chương trình chính, máy nhảy đến địa đoạn mã chương trình (đã dịch sang chương trình máy Compiler) để thực hiện, sau thực xong quay câu lệnh sau lệnh gọi chương trình để thực tiếp Các bước để viết chương trình Phải biết cấu trúc chương trình con, nên dùng thủ tục hay hàm yêu cầu đầu bài, biết sử dụng thông số … Ghi chú: Khi cần tính giá trị, nên dùng Function, không nên dùng Procedure II/ Chương trình Chương trình dành riêng, Procedure Function, tên chương trình con, sau tham số bao hai dấu ngoặc đơn (có thể có khơng, có nhiều cách dấu chấm phẩy “;”) Những tham số hình thức khơng đứng sau từ khố Var gọi tham số hình thức trị, có Var gọi tham số biến Dạng Procedure PROCEDURE …,ThamsốN: kiểu); Const …… Type …… Var …… Begin …… …… End; Tên (Thamsố1 : Kiểu; Ghi chú: Thủ tục khơng có kiểu trả về, sau End dấu chấm phẩy Ví dụ: Procedure Giaithua(m:integer; var gt:Real); Var i : integer; Begin gt:= 1; For i:=1 to m gt:= gt * i; End; Dạng Function FUNCTiON Tên (Thamsố1 : Kiểu; …,ThamsốN: kiểu) : Kiểu; Const …… Type …… Var …… Begin …… …… Tên := giá trị trả End; Ghi chú: Hàm có trả về, sau End dấu chấm phẩy Ví dụ: Function Giaithua(m:integer) : Real; Var i : integer; gt : Real; Begin gt:= 1; For i:=1 to m gt:= gt * i; giaithua:= gt; (* Gán trị kết cho tên hàm*) End; III/ Một số đặc tính chương trình Biến toàn cục biến địa phương  Giả sử có chương trình có chương trình con, biến nằm phần khai báo chương trình gọi biến tồn cục (global variable)  Những biến thuộc phần khai báo Var chương trình gọi biến cục (local variable) hay gọi biến địa phương chương trình Ví dụ: Program TínhGiaithua; Var n : integer; Function giaithua(m : integer) : Real; Var i : integer; gt : real; Begin gt := 1; For i:=1 to m gt := gt * i; giaithua := gt; End; Begin …… …… End  n biến tồn cục, biết đến tồn chương trình  i, gt biến địa phương chương trình con, biến khơng có ý nghĩa thân chương trình chính, tức khơng biết đến Ví dụ: Trong thân chương trình ví dụ trên, bạn viết câu lệnh Write(‘Ket qua’, gt); compiler bị báo lỗi, biến gt chưa khai báo chương trình Ghi chú: Tầm vực biến phạm vi khối (chương trình hay chương trình khai báo nó)  Đi sau tứ khoá Var danh sách tham số  Tham số thực tương ứng phải biến  Những thay đổi tham biến thực chất thực tham số thực tương ứng  Thực chất truyền tham số tham biến truyền địa Viết chương trình Như biết, chương trình có hai dạng, Procedure Function a Dạng Procedure Ví dụ: Viết chương trình tính phép tốn dùng chương trình thủ tục Program Thutuc; Var a,b,c : real; Procedure Cong(x:real; y:real; z:real;); Begin z := x + y; End; Procedure Tru(x:real; y:real; z:real;); Begin z := x - y; End; Procedure Nhan(x:real; y:real; z:real;); Begin z := x * y; End; Procedure Chia(x:real; y:real; z:real;); Begin z := x / y; End; Begin (*Chương trình chính*) Write(‘Ban nhap vao so a = ‘); Readln(a); Write(‘Ban nhap vao so b = ‘); Readln(b); Cong(a,b,c); Writeln(a, ‘+’, b, ‘= ‘, c); Tru(a,b,c); Writeln(a, ‘-’, b, ‘= ‘, c); Nhan(a,b,c); Writeln(a, ‘*’, b, ‘= ‘, c); Chia(a,b,c); Writeln(a, ‘/’, b, ‘= ‘, c); Readln; End b Dạng Function Ví dụ: Viết chương trình tính phép tốn dùng chương trình hàm Program Ham; Var a,b : real; Function Cong(x:real; y:real) : real; Var z : real; Begin z := x + y; Cong:=z; End; Function Tru(x:real; y:real) : real; Var z : real; Begin z := x - y; Tru:=z; End; Function Nhan(x:real; y:real) : real; Var z : real; Begin z := x * y; Nhan:=z; End; Function Chia(x:real; y:real) : real; Var z : real; Begin z := x / y; Chia:=z; End; Begin (*Chương trình chính*) Write(‘Ban nhap vao so a = ‘); Readln(a); Write(‘Ban nhap vao so b = ‘); Readln(b); Writeln(a, ‘+’, b, ‘= ‘, Cong(a,b)); Writeln(a, ‘-’, b, ‘= ‘, Tru(a,b)); Writeln(a, ‘*’, b, ‘= ‘, Nhan(a,b)); Writeln(a, ‘/’, b, ‘= ‘, Chia(a,b)); Readln; End  Qua hai ví dụ viết chương trình dạng thủ tục hàm, bạn cần lưu ý cách gọi, bước thực hiện, phân biệt khác để nắm vững tránh sai sót viết chương trình sau Ghi chú: Tầm vực chương trình tồn cha (tại vị trí cha gọi chương trình nó) Tính đệ quy chương trình Đệ quy khái niệm tốn học khoa học máy tính Định nghĩa đơn giản chương trình đệ quy chương trình mà gọi đến (và hàm đệ quy hàm định nghĩa dựa nó) Một chương trình đệ quy khơng thể gọi đến mãi (và hàm đệ quy khơng thể lúc định nghĩa dựa vào trừ định nghĩa bị xoay vòng) Một điều kiện cần thiết phải có điều kiện kết thúc chương trình khơng gọi đến (và hàm khơng định nghĩa dựa nó) Tất tính tốn thực tế diễn đạt khn mẫu đệ quy Ví dụ 1: Bạn xem hàm giai thừa, định nghĩa công thức: N! = N * (N-1)! với N>=1 0! = Hàm tương ứng với chương trình đệ quy sau: FuncTion Giaithua(N : integer) : integer; Begin if N = then Giaithua:= else Giaithua := N * Giaithua(N - 1); End;  Nó gọi đến (với giá trị đối số nhỏ hơn) có điều kiện kết thúc tính kết trực tiếp Ví dụ 2: Tính dãy Fibonacci: Fn = Fn-1 + Fn-2 với n = F0 = F1 = Quan hệ định nghĩa dãy 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, … Số sau hai số trước cộng lại Chúng ta có chương trình đệ quy Function Fibonacci(n: integer) : integer; Begin if n

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