Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 13 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
13
Dung lượng
1,68 MB
Nội dung
Bài cũ! Hãy lên bảng viết cấu trúc của thủ tục Procedure <tên thủ tục> [(<Ds tham số >): <kdl tham số>]; [< Phần khai báo>]; Begin [<Dãy các lệnh>]; End; BÀI 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (TIẾP THEO) Tiết 43: Ví dụ về cách viết và sử dụng hàm 1. CẤU TRÚC CỦA CHƯƠNG TRÌNH CON <Phần đầu> [<Phần khai báo>] < Phần thân> <Phần đầu> [<Phần khai báo>] < Phần thân> Function <Tên hàm> [(<ds tham số>):<kdl tham số>] :kiểu của hàm; [< Phần khai báo>]; Begin [<Dãy các lệnh>]; Tên hàm := giá trị; End; Procedure <Tên thủ tục> [(<Ds tham số >):<kdl thamsố>]; [< Phần khai báo>]; Begin [<Dãy các lệnh>]; End; Hàm (Function) Thủ tục (Procedure) Kiểu dữ liệu của giá trị mà hàm trả về Trong thân hàm có lệnh gán giá trị cho tên hàm Nêu điểm khác nhau cơ bản giữa thủ tục và hàm Kiểu dữ liệu của hàm: • Là kiểu dữ liệu của giá trị mà hàm trả về. • Chỉ có thể là: integer, real, char, boolean, string. Chú ý: Hàm không có tham số hình thức thì không cần danh sách tham số. 2. MỘT SỐ VÍ DỤ: Bài toán 1: Lập chương trình tối giản phân số trong đó có sử dụng hàm tính ước chung lớn nhất(UCLN) của hai số nguyên. Bài toán 1: Lập chương trình tối giản phân số trong đó có sử dụng hàm tính ước chung lớn nhất(UCLN) của hai số nguyên. Ví dụ: nhập 6/10 => ra 3/5 * INPUT : Nhập vào phân số: a/b; * OUTPUT : Phân số c/d - Trong đó: c = a/UCLN (a,b); d = b/UCLN(a,b); Viết chương trình con thực hiện tìm UCLN(a,b) và gọi nó khi tính c,d trong chương trình chính. Hãy xác định INPUT và OUTPUT của bài toán trên Program tgps; Var tu,mau,c,d,m : integer; 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 vao tu so vµ mau so:‘); readln(tu,mau); m:= UCLN(tu,mau); C := tu div m ; d := mau div m; Writeln(‘ Phan so toi gian = ‘, c, ‘ / ‘, d); Readln; END. Write(‘Nhap vao tu so va mau so:‘); C := 6 div 2; d := 10 div 2; UCLN(6,10) Writeln(‘ Phan so toi gian = ‘, 3, ‘ / ‘, 5); Readln; END. BEGIN Readln(tu,mau); 2; Nhap vao tu so va mau so: 6 10 Phan so toi gian= 3/5 Hãy xác định chương trình con bắt đầu từ đâu và kết thúc ở đâu? Dựa vào chương trình: Biến toàn cục: tu,mau,c,d,m. Biến cục bộ: a,b. Hãy xác định Biến toàn cục biến cục bộ của bài toán trên Cách sử dụng hàm: • Lệnh gọi hàm gồm tên hàm và tham số thực sự tương ứng với các tham số hình thức. < tên hàm>( tham số thực sự); • Lệnh gọi hàm có thể tham gia vào biểu thức như một toán hạng Ví dụ: a:=5*ucln(tuso,mauso)+1; Bài toán 2: Tìm giá trị nhỏ nhất trong ba số nhập từ bàn phím trong đó có sử dụng hàm tìm số nhỏ nhất trong hai số a,b Input: Nhập ba số a,b,c Output: Số nhỏ nhất trong ba số Sử dụng hàm tìm số nhỏ nhất trong hai số a,b Hãy xác định INPUT và OUTPUT của bài toán trên . (Procedure) Kiểu dữ liệu của giá trị mà hàm trả về Trong thân hàm có lệnh gán giá trị cho tên hàm Nêu điểm khác nhau cơ bản giữa thủ tục và hàm Kiểu dữ liệu của. điểm khác nhau cơ bản giữa thủ tục và hàm Kiểu dữ liệu của hàm: • Là kiểu dữ liệu của giá trị mà hàm trả về. • Chỉ có thể là: integer, real, char, boolean,