Tin học 11 Bài 17: Chương trình con và phân loại
Tin học 11 Bài 17: Chương trình con và phân loại
Với Tin học 11 Bài 17: Chương trình con và phân loại hay, chi tiết được biên soạn bám sát nội dung sách giáo khoa Tin học lớp 11 giúp bạn dễ dàng trả lời câu hỏi từ đó đạt điểm cao trong các bài thi môn Tin học 11.
1. Khái niệm chương trình con
- Chương trình con: Là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi ) từ nhiều vị trí trong chương trình.
- Giả sử ta có bài toán sau đây:
Hãy tính S=ab+cd+ef
Nếu như với những kiến thức chúng ta đã học trước đây. Chúng ta có thể làm như sau:
+ Sử dụng các biến để lưu kết quả của ab, cd,ef.
Tác hại: Như vậy ta sẽ phải sử dụng 3 đoạn chương trình tương đồng với nhau. Nếu không phải tính 3 lũy thừa mà là tính 1000 lũy thừa thì số lượng code sẽ rất lớn và dễ gây rối và nếu ta phát hiện có lỗi sai trong đoạn code này ta sẽ phải sửa lần lượt tất cả các đoạn code này.
Cách khắc phục: Ta sẽ viết một chương trình con để tính lũy thừa. Với x là giá trị kiểu thực còn k là thuộc kiểu nguyên.
Var j:integer; Tich:=1.0; For j:=1 to k do Tich:=Tich*x;
Khi cần tính lũy thừa thì ta chỉ cần viết tên gọi chương trình con rồi thay thế (x,k) bằng các giá trị cụ thể.
Những hàm mà chúng ta thường sử dụng trước đây như : sqrt(), upcase(), delete(),… đều là những chương trình con.
Lợi ích của việc sử dụng chương trình con:
+ Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh nào đó.
+ Hộ trợ việc thực hiện các chương trình lớn.
+ Phục vụ cho quá trình trừu tượng hóa.
+ Mở rộng khả năng ngôn ngữ.
+ Thuận thiện cho phát triển, nâng cấp chương trình.
2. Phân loại và cấu trúc của chương trình con
a) Phân loại
Trong nhiều ngôn ngữ lập trình, chương trình con thường gồm hai loại”.
+ Hàm (function) là chương trình con thực hiện một số thoa tác nào đó và trả về một giá trị qua tên của nó. Ví dụ hàm toán học hay hàm xử lí xâu:
Sin(x) nhận giá trị thực x và trả về giá trị sin(x);
Sqrt(x) nhận giá trị x và trả về giá trị căn bậc hai của x;
+ Thủ tuc (procedure) là chưng trình con thực hiện thoa tác nhất định nhưng không trả về giá trị nào qua tên của nó. Ví dụ các thủ tục vào /ra chuẩn hay thủ tục xử lý xâu:
Write, writeln, readln, read,…
b) Cấu trúc chương trình con
Chương trình con có cấu trúc tương tự chương trình, nhưng nhất thiết phải có tên và phần đầu dùng để khai báo tên, nếu là hàm phải khai báo kiểu dữ liệu cho giá trị trả về của hàm:
<phần đầu> [<phần khai báo>] <phần thân>
Phần khai báo
Phần khai báo có thể có khai báo biến cho dữ liệu vào và ra, các hằng và biến dùng trong chương trình con.
Phần thân
Phần thân của chương trình con là dãy câu lệnh thực hiện để từ những dữ liệu vào ta nhận được dữ liệu ra hay kết quả mong muốn.
Tham số hình thức:
Các biến được khia bó cho dữ liệu vào/ra được gọi là tham số hình thức của chương trình con. Các biến được khia báo để dùng riêng tron chương trình con được gọi là biến cục bộ.
Ví dụ, trong chương trình con Luythua(x,k) ở phần 1 thì x, k là các tham số hình thức và j là biến cục bộ.
Chương trình chính và các chương trình con khác không thể sử dụng được các biến cục bộ của chương trình con, những mọi chương trình con đều sử dụng được các biến cảu chương trình chính.
c) Thực hiện chương trình con
Tham số thực sự
Để thực hiện một chương trình con, ta cần phải có lệnh gọi nó tương tự lệnh gọi hàm hay thủ tục chuẩn, bao gồm tên chương trình con với tham số là các hằng và biến chứa dữ liệu vào và ra tương ứng với các tham số hình thức đặt trong cặp ngoặc ( và ). Các hằng và biến này gọi là tham số thực sự.
Ví dụ:
Sqr(225)
Thì sqr là tên chương trình con.
225 là tham số thực hiện.
Khi thực hiện chương tình con, các tham số hình thức dùng để nhập dữ liệu vào sẽ nhận gái trị cảu tham số thực sự tương ứng, còn các tham số hình thức dùng để lưu trữ dữ liệu ra sẽ trả giá trị đó cho tham số thực sự tương ứng.