Module: Chương trình con: thủ tục và hàm - 1


Problem

1/12

Chương trình con: Giới thiệu

Theory Click to read/hide

Chương trình con là một phần riêng biệt của chương trình có tên và giải quyết nhiệm vụ riêng của nó. Chương trình con nằm ở đầu chương trình chính và có thể được khởi chạy (được gọi) từ chương trình chính bằng cách chỉ định tên

Việc sử dụng chương trình con cho phép bạn tránh trùng mã, trong trường hợp bạn cần viết cùng một mã ở những vị trí khác nhau trong chương trình. 
Các thư viện được nhập vào một chương trình (ví dụ: thư viện toán học toán học) bao gồm các chương trình con đã được biên dịch sẵn bởi một người nào đó. Các lập trình viên không cần phải suy nghĩ về những thuật toán mà họ thực hiện, mà chỉ cần áp dụng chúng, chỉ nghĩ về chính xác những gì họ đang làm. Đây là một tiết kiệm thời gian lớn. Không cần phải viết một thuật toán đã được viết bởi người khác.

Mỗi quy trình chỉ nên làm một việc:  hoặc chỉ tính toán điều gì đó hoặc xuất ra một số dữ liệu hoặc làm điều gì đó khác. 

Có hai loại chương trình con - thủ tụchàm

Chương trình con thực hiện một số hành động, chẳng hạn như in kết quả ra màn hình theo một dạng nhất định (ví dụ đơn giản, câu lệnh writeln() là một chương trình con chuẩn in ra thông tin màn hình)

Các chương trình con hàm trả về kết quả (số, chuỗi ký tự, v.v.) mà chúng ta có thể sử dụng trong chương trình chính.

Hãy thử viết một thủ tục đơn giản:
Giả sử chúng ta cần hiển thị chuỗi "Error" trên màn hình mỗi khi mã xảy ra lỗi có thể do lỗi của người dùng (ví dụ: khi anh ta nhập dữ liệu không chính xác)
Điều này có thể được thực hiện bằng cách viết tuyên bố writeln('Lỗi'); Và bây giờ hãy tưởng tượng rằng một dòng như vậy cần được chèn vào nhiều chỗ trong chương trình. Tất nhiên, bạn chỉ có thể viết nó ở khắp mọi nơi. Nhưng giải pháp này có hai nhược điểm.
1) chuỗi này sẽ được lưu trong bộ nhớ nhiều lần
2) nếu chúng ta muốn thay đổi đầu ra do lỗi, chúng ta sẽ phải thay đổi dòng này trong suốt chương trình, điều này khá bất tiện

Đối với những trường hợp như vậy, các thủ tục là cần thiết.
Một chương trình với một thủ tục có thể trông như thế này: ... sử dụng không gian tên std; thủ tục printError(); //mô tả thủ tục bắt đầu writeln('Lỗi'); // thân thủ tục - các lệnh mà thủ tục sẽ thực hiện kết thúc; // chương trình chính bắt đầu; ... lỗi in(); // bắt đầu thủ tục để thực thi. Chúng tôi chỉ chỉ định tên của thủ tục mà chúng tôi muốn thực hiện. ... lỗi in(); ... kết thúc. Thủ tục bắt đầu bằng từ thủ tục. Sau tên của thủ tục, các dấu ngoặc đơn được viết, cho biết các biến và loại của chúng phụ thuộc vào việc thực hiện thủ tục. Ví dụ:

var a, b, answer: integer;
thủ tục Sum(a, b: số nguyên);
bắt đầu
    trả lời := a + b;
kết thúc;

Tất cả các câu lệnh được thực thi trong một thủ tục đều được thụt vào. 

Các thủ tục được viết trước chương trình chính

Để thực hiện một thủ tục, trong chương trình chính, bạn cần gọi thủ tục đó bằng tên và nhớ viết dấu ngoặc đơn!
Bạn có thể gọi một thủ tục trong một chương trình nhiều lần.

Problem

Viết thủ tục hiển thị cụm từ "Lỗi. Chia cho số không! Đặt tên chính xác cho thủ tục.