intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng môn Tin học: Chương 9 - TS. Nguyễn Văn Hiệp

Chia sẻ: N N | Ngày: | Loại File: PDF | Số trang:12

50
lượt xem
2
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bài giảng "Tin học - Chương 9: Định nghĩa thủ tục và sử dụng" cung cấp cho người học các kiến thức: Thủ tục & tầm vực sử dụng thủ tục, cú pháp định nghĩa hàm, cú pháp định nghĩa thủ tục, gọi thủ tục, cơ chế truyền tham số, các thủ tục định nghĩa sẵn. Mời các bạn cùng tham khảo.

Chủ đề:
Lưu

Nội dung Text: Bài giảng môn Tin học: Chương 9 - TS. Nguyễn Văn Hiệp

Lệnh gọi thủ tục (tt)<br /> Sau khi đã định nghĩa thủ tục, ta có thể dùng (gọi) nó. Thủ tục chỉ<br /> được thi hành khi người ta gọi nó bằng lệnh gọi thủ tục. Cú pháp của<br /> lệnh gọi như sau :<br /> [Call] name [arglist]<br /> Ví dụ : giả sử ta đã định nghĩa (viết) 1 thủ tục sau đây :<br /> Private Sub Update_Display(d As Byte)<br /> nó cho phép hiệu chỉnh giá trị Display sau khi người dùng ấn thêm ký<br /> số d. Như vậy khi người dùng ấn thêm ký số 5, ta sẽ thực hiện gọi thủ<br /> tục như sau :<br /> Call Update_Display (5)<br /> hay : Update_Display (5)<br /> Lưu ý : Trong trường hợp gọi thủ tục không có bất kỳ tham số nào ta nên<br /> dùng thêm từ khóa "Call' để chương trình trong sáng, dễ đọc.<br /> <br /> ‰<br /> <br /> Môn : Tin học<br /> Chương 8 : Các lệnh thực thi VB<br /> Slide 235<br /> <br /> Khoa Công nghệ Thông tin<br /> Trường ĐH Bách Khoa Tp.HCM<br /> <br /> MÔN TIN HỌC<br /> Chương 9<br /> <br /> ĐỊNH NGHĨA THỦ TỤC & SỬ DỤNG<br /> 9.1 Thủ tục & tầm vực sử dụng thủ tục<br /> 9.2 Cú pháp định nghĩa hàm.<br /> 9.3 Cú pháp định nghĩa thủ tục<br /> 9.4 Gọi thủ tục<br /> 9.5 Cơ chế truyền tham số<br /> 9.6 Các thủ tục định nghĩa sẵn<br /> <br /> Khoa Công nghệ Thông tin<br /> Trường ĐH Bách Khoa Tp.HCM<br /> <br /> Môn : Tin học<br /> Chương 9 : Định nghĩa thủ tục & sử dụng<br /> Slide 236<br /> <br /> 118<br /> <br /> Nhắc lại cấu trúc tổ chức 1 chương trình<br /> ‰<br /> <br /> ‰<br /> <br /> Một chương trình thường cung cấp nhiều chức năng cho người dùng ⇒<br /> Chương trình thường là 1 hệ thống phức tạp. Để dễ quản lý và xây dựng<br /> chương trình, người ta thường chia nó ra nhiều đơn vị nhỏ hơn. Hiện có 2<br /> phương pháp chia nhỏ chương trình :<br /> ƒ phương pháp có cấu trúc : chương trình được chia nhỏ thành nhiều<br /> module chức năng, mỗi module chứa nhiều điểm nhập (entry), mỗi<br /> điểm nhập cung cấp 1 dịch vụ (chức năng) rõ ràng, đơn giản nào đó.<br /> Ta gọi mỗi điểm nhập là thủ tục thực hiện chức năng tương ứng.<br /> ƒ phương pháp hướng đối tượng : chương trình được chia nhỏ thành<br /> nhiều đối tượng, mỗi đối tượng chứa nhiều điểm nhập (entry), mỗi<br /> điểm nhập cung cấp 1 dịch vụ (chức năng) rõ ràng, đơn giản nào đó.<br /> Ta gọi mỗi điểm nhập là thủ tục thực hiện chức năng tương ứng.<br /> Tóm lại, dù dùng phương pháp chia nhỏ chương trình nào thì đơn vị chức<br /> năng nhỏ nhất mà người lập trình có thể xây dựng và dùng (gọi) lại nhiều<br /> lần trong chương trình là thủ tục.<br /> Khoa Công nghệ Thông tin<br /> Trường ĐH Bách Khoa Tp.HCM<br /> <br /> Môn : Tin học<br /> Chương 9 : Định nghĩa thủ tục & sử dụng<br /> Slide 237<br /> <br /> 9.1 Phân loại thủ tục trong VB<br /> ‰<br /> <br /> ‰<br /> <br /> Nếu ta phân tích chương trình theo cấu trúc thì chương trình VB là tập các<br /> standard module, trong mỗi module ta có thể định nghĩa n thủ tục khác nhau<br /> thuộc 1 trong 2 dạng :<br /> ƒ thủ tục - Sub : 1 đoạn lệnh thực thi VB để thực hiện 1 chức năng rõ ràng,<br /> đơn giản nhưng không trả về giá trị kèm theo tên thủ tục.<br /> ƒ hàm - Function : 1 đoạn lệnh thực thi VB để thực hiện 1 chức năng rõ ràng,<br /> đơn giản và trả về giá trị kèm theo tên hàm.<br /> Nếu ta phân tích chương trình theo hướng đối tượng thì chương trình VB là tập<br /> các form hay class module, trong mỗi module ta có thể định nghĩa n thủ tục<br /> khác nhau thuộc 1 trong 3 dạng :<br /> ƒ thủ tục - Sub : 1 đoạn lệnh thực thi VB để thực hiện 1 chức năng rõ ràng,<br /> đơn giản nhưng không trả về giá trị kèm theo tên thủ tục.<br /> ƒ hàm - Function : 1 đoạn lệnh thực thi VB để thực hiện 1 chức năng rõ ràng,<br /> đơn giản và trả về giá trị kèm theo tên hàm.<br /> ƒ truy xuất thuộc tính - Property : 1 đoạn lệnh thực thi VB để đọc/ghi 1 thuộc<br /> tính tương ứng của đối tượng. Có 3 thủ tục loại này là Get, Set và Let.<br /> Khoa Công nghệ Thông tin<br /> Trường ĐH Bách Khoa Tp.HCM<br /> <br /> Môn : Tin học<br /> Chương 9 : Định nghĩa thủ tục & sử dụng<br /> Slide 238<br /> <br /> 119<br /> <br /> Tầm vực sử dụng thủ tục trong VB<br /> ‰<br /> <br /> ‰<br /> <br /> Trong mỗi standard module, ta có thể xác định tầm vực sử dụng của từng thủ<br /> tục :<br /> ƒ cục bộ trong module : dùng từ khóa Private trong lệnh định nghĩa thủ tục.<br /> ƒ toàn cục trong chương trình : dùng từ khóa Public trong lệnh định nghĩa thủ<br /> tục.<br /> Trong mỗi form hay class module, ta có thể xác định tầm vực sử dụng của từng<br /> thủ tục :<br /> ƒ cục bộ trong module (đối tượng) : dùng từ khóa Private trong lệnh định nghĩa<br /> thủ tục.<br /> ƒ cục bộ trong Project : dùng từ khóa Friend trong lệnh định nghĩa thủ tục.<br /> ƒ công cộng (ai dùng cũng được) : dùng từ khóa Public trong lệnh định nghĩa<br /> thủ tục. Các thủ tục công cộng của đối tượng được gọi là method để phân<br /> biệt với Sub/Function.<br /> ƒ Về nguyên tắc, các thủ tục Property Get, Set và Let đều phải có tầm vực<br /> công cộng (dùng từ khóa Public).<br /> <br /> Khoa Công nghệ Thông tin<br /> Trường ĐH Bách Khoa Tp.HCM<br /> <br /> Môn : Tin học<br /> Chương 9 : Định nghĩa thủ tục & sử dụng<br /> Slide 239<br /> <br /> 9.2 Cú pháp định nghĩa hàm - Function<br /> ‰<br /> <br /> ‰<br /> <br /> ‰<br /> <br /> Cú pháp để định nghĩa 1 hàm :<br /> [Public | Private | Friend] [Static] Function name [(arglist)] [As type]<br /> [statements]<br /> [name = expression]<br /> [Exit Function]<br /> [statements]<br /> [name = expression]<br /> End Function<br /> Dùng từ khóa Public để định nghĩa hàm có tầm vực toàn cục, nghĩa là<br /> bất kỳ lệnh nào của chương trình đều có thể gọi hàm Public.<br /> Dùng từ khóa Friend để định nghĩa method thuộc 1 class module nhưng<br /> chỉ có tầm vực cục bộ trong Project, nghĩa là chỉ có các lệnh trong cùng<br /> Project mới có thể gởi thông điệp đến hàm Friend của đối tượng đó, còn<br /> các lệnh ở ngoài Project thì không thấy hàm Friend của đối tượng này.<br /> Khoa Công nghệ Thông tin<br /> Trường ĐH Bách Khoa Tp.HCM<br /> <br /> Môn : Tin học<br /> Chương 9 : Định nghĩa thủ tục & sử dụng<br /> Slide 240<br /> <br /> 120<br /> <br /> Cú pháp định nghĩa hàm - Function (tt)<br /> ‰<br /> <br /> ‰<br /> <br /> ‰<br /> <br /> ‰<br /> ‰<br /> <br /> Dùng từ khóa Private để định nghĩa hàm có tầm vực cục bộ trong<br /> module, nghĩa là chỉ có các lệnh trong cùng module mới có thể gọi hàm<br /> Private trong module tương ứng.<br /> Dùng từ khóa Static để định nghĩa các biến cục bộ trong hàm đều là<br /> Static, nghĩa là giá trị của chúng vẫn tồn tại qua các lần gọi khác nhau<br /> đến hàm này.<br /> [statements] là danh sách các lệnh định nghĩa biến, hằng, kiểu cục bộ<br /> trong function và các lệnh thực thi miêu tả chính xác chức năng của<br /> hàm.<br /> Lệnh gán name = expression cho phép gán giá trị trả về cho lệnh gọi<br /> hàm.<br /> Lệnh Exit Function cho phép trả ngay điều khiển về lệnh gọi hàm này<br /> (thay vì thực thi tiếp các lệnh còn lại của hàm).<br /> <br /> Khoa Công nghệ Thông tin<br /> Trường ĐH Bách Khoa Tp.HCM<br /> <br /> Môn : Tin học<br /> Chương 9 : Định nghĩa thủ tục & sử dụng<br /> Slide 241<br /> <br /> Cú pháp định nghĩa hàm - Function (tt)<br /> ‰<br /> <br /> ‰<br /> <br /> ‰<br /> <br /> ‰<br /> <br /> arglist là danh sách các tham số hình thức, mỗi tham số được cách<br /> nhau bởi dấu ',' và được định nghĩa theo cú pháp như sau :<br /> [Optional] [ByVal | ByRef] [ParamArray] varname[( )] [As type]<br /> [=defaultvalue]<br /> Dùng từ khóa Optional để khai báo rằng tham số tương ứng là nhiệm ý<br /> trong lúc gọi hàm : truyền hay không cũng được. Trong trường hợp này<br /> ta nên dùng thêm thành phần [= defaultvalue] để xác định giá trị cần<br /> truyền nhiệm ý.<br /> Dùng từ khóa ByRef để khai báo việc truyền tham số bằng tham khảo,<br /> đây là chế độ truyền tham số nhiệm ý. Ngược lại dùng từ khóa ByVal để<br /> khai báo cơ chế truyền tham số bằng giá trị.<br /> Chỉ có thể dùng từ khóa ParamArray cho tham số cuối trong danh sách<br /> tham số, tham số này cho phép ta truyền bao nhiêu tham số cụ thể cũng<br /> được.<br /> Khoa Công nghệ Thông tin<br /> Trường ĐH Bách Khoa Tp.HCM<br /> <br /> Môn : Tin học<br /> Chương 9 : Định nghĩa thủ tục & sử dụng<br /> Slide 242<br /> <br /> 121<br /> <br /> Thí dụ định nghĩa hàm<br /> ‰<br /> <br /> Đoạn code sau định nghĩa hàm tính n! giai thừa theo giải thuật đệ qui :<br /> Public Function giaithua(ByVal n As Long) As Long<br /> If n
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2