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
Đã cứu 2 nguồn và đánh dấu 0 nguồn là hỏng.) #IABot (v2.0.8
Dòng 1:
Trong [[khoa học máy tính]], một '''chương trình con''' (subprogram) hay '''subroutine''' là một đoạn [[chương trình máy tính|chương trình]] được đóng gói thành một đơn vị trình, nó thực hiện một số tác vụ cụ thể mà [[chương trình máy tính|chương trình]] cần thực hiện nhiều lần từ nhiều nơi trong thời gian chạy của nó. Khi [[chương trình máy tính|chương trình]] cần đến tác vụ cụ thể đó thì bố trí chỉ thị ''gọi'' (call) đến chương trình con này và nhận kết quả nếu có sau khi nó thực thi xong <ref>{{Chú thích web |tác giả 1= U.S. Election Assistance Commission |tiêu đề= Definitions of Words with Special Meanings |work= [[Voluntary Voting System Guidelines]] |năm= 2007 |url= http://www.eac.gov/vvsg/glossary.aspx |ngày truy cập= 2013-01-14 |lk tác giả 1= Election Assistance Commission |archive-date= 2017-02-22 |archive-url= https://web.archive.org/web/20170222163359/https://www.eac.gov/vvsg/glossary.aspx |dead-url= yes }}</ref>.
 
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]].
Dòng 6:
 
== Khái niệm chính ==
Kỹ thuật lập trình dẫn đến việc tổ chức chương trình kiểu cấu trúc modul hóa, tức là chia chương trình thành nhiều ''modul'' hay ''đơn vị'' mà kỹ thuật điện toán gọi là subroutine, và trong trình chính thì thực hiện gọi chúng <ref>{{Cite conference | last1 = Wheeler | first1 = D. J. | authorlink1 = David Wheeler (computer scientist) | chapter = The use of sub-routines in programmes | doi = 10.1145/609784.609816 | title = Proceedings of the 1952 ACM national meeting (Pittsburgh) on - ACM '52 | pages = 235 | year = 1952 | pmid = | pmc = | url = http://www.laputan.org/pub/papers/wheeler | access-date = 2016-12-24 | archive-date = 2015-06-28 | archive-url = https://web.archive.org/web/20150628022047/http://www.laputan.org/pub/papers/wheeler | dead-url = yes }}</ref><ref>{{chú thích sách |last1= Wilkes |first1= M. V. |last2= Wheeler |first2= D. J. |last3= Gill |first3=S. |title= Preparation of Programs for an Electronic Digital Computer |publisher= Addison-Wesley |year= 1951}}</ref>. Nó đem lại cho [[người lập trình]] các lợi ích:
# Thay các đoạn trình giống nhau bằng một subroutine, làm cho mã chương trình ngắn hơn, sáng sủa và dễ bảo dưỡng.
# Đưa các subroutine đã kiểm tra vào [[thư viện (điện toán)|thư viện]] (library) ở dạng văn bản trình hoặc dạng mã <ref>{{Chú thích web|họ 1=Dainith|tên 1=John|tiêu đề="open subroutine." A Dictionary of Computing. 2004..|url=http://www.encyclopedia.com/doc/1O11-opensubroutine.html|work=Encyclopedia.com|ngày truy cập=ngày 14 tháng 1 năm 2013}}</ref>, để khi lập trình mới thì chỉ cần liên kết tới thư viện đó.