Khác biệt giữa bản sửa đổi của “Chương trình con”

Nội dung được xóa Nội dung được thêm vào
n Đã lùi lại sửa đổi của 2402:800:6117:7243:F062:7985:E271:F742 (Thảo luận) quay về phiên bản cuối của Ngọc Xuân bot
Thẻ: Lùi tất cả
Không có tóm lược sửa đổi
Dòng 3:
Ngay từ lúc [[máy tính]] ra đời thì kỹ thuật lập trình kiểu cấu trúc modul hóa với các chương trình con đã được thiết lập, và được củng cố trong các phần mềm lập trình [[hợp ngữ]]. Ngày nay trong ngôn ngữ bậc cao ''chương trình con'' được diễn đạt tùy theo ngôn ngữ là các '''hàm''' (''function''), '''thủ tục''' (''procedure'') và '''phương thức''' (''method''),... Một số [[ngôn ngữ lập trình]], chẳng hạn [[Pascal (ngôn ngữ lập trình)|Pascal]] và [[FORTRAN]], phân biệt giữa '''hàm''' (một chương trình con có trả về giá trị) và '''thủ tục''' (không trả về giá trị). Các ngôn ngữ khác, ví dụ [[C (ngôn ngữ lập trình)|C]] và [[LISP]], coi hai thuật ngữ này như nhau. Cái tên '''[[phương thức (máy tính)|phương thức]]''' thường được dùng trong [[lập trình hướng đối tượng]] để gọi các chương trình con là một phần của các [[đối tượng (máy tính)|đối tượng]].
 
Trong chương trình, một chương trình con được phép gọi chương trình con khác, hoặc có thể gọi chính nó. Tuy nhiên nếu bố trí gọi lẫn nhau, ví dụ ''subroutine A'' gọi ''subroutine B'' nhưng trong thân của ''subroutine B'' lại có gọi ''subroutine A'', sẽ dẫn đến lỗi bất định khi thực hiện. Một số ngôn ngữ có hỗ trợ phát hiện lỗi này trong môi trường soạn thảo trình và khi dịch. Dẫu vậy để tránh lỗi thì khi lập trình phải tuân thủ bố trí gọi theo "''mô hình cành và lá''", trong đó "cành" là subroutine có gọi subroutine khác, còn "lá" là subroutine không có lệnh gọi. Đạt D Sáng tuổi :))
 
== Khái niệm chính ==