Also found in: Dictionary, Thesaurus, Medical, Legal, Acronyms, Wikipedia.


a section of a computer program that is stored only once but can be used when required at several different points in the program, thus saving space
Collins Discovery Encyclopedia, 1st edition © HarperCollins Publishers 2005
The following article is from The Great Soviet Encyclopedia (1979). It might be outdated or ideologically biased.



the part of a computer program that is used to solve similar-type problems. A subroutine usually describes a separate step in the computation process and can be used more than once in one or several different programs. Typical subroutines are used to compute elementary functions, such as sin x, In x, and e-x, to solve systems of equations, and to remove the results of computations in various forms. If it becomes necessary to use the subroutine during the running of the basic program, the subroutine is called at the appropriate place in the program, and after it has been run, control is transferred back to the main program. A subroutine can call on another.

A subroutine should have the following characteristics: it should be subject to standardized access rules that make it possible to call the subroutine from the main program by means of one or more instructions; it should be able to work with a broad range of initial data, for example, independent variables of a function; it should be relocatable, that is, it should be possible to place and run it in various parts of the computer memory. Subroutines are often arranged in subroutine libraries. So-called standard subroutines satisfying rigid conditions are used in automatic programming.

The use of subroutines is one way to save time and effort in writing computer programs. Subroutines form the basis of modular programming.


Lavrov, S. S. Vvedenie v programmirovanie. Moscow, 1973. (Bibliography.)


The Great Soviet Encyclopedia, 3rd Edition (1970-1979). © 2010 The Gale Group, Inc. All rights reserved.


(computer science)
A body of computer instruction (and the associated constants and working-storage areas, if any) designed to be used by other routines to accomplish some particular purpose.
A statement in FORTRAN used to define the beginning of a closed subroutine (first definition).
McGraw-Hill Dictionary of Scientific & Technical Terms, 6E, Copyright © 2003 by The McGraw-Hill Companies, Inc.


(Or "procedure") A sequence of instructions for performing a particular task. Most programming languages, including most machine languages, allow the programmer to define subroutines. This allows the subroutine code to be called from multiple places, even from within itself (in which case it is called recursive). The programming language implementation takes care of returning control to (just after) the calling location, usually with the support of call and return instructions at machine language level.

Most languages also allow arguments to be passed to the subroutine, and one, or occasionally more, return values to be passed back.

A function is often very similar to a subroutine, the main difference being that it is called chiefly for its return value, rather than for any side effects.
This article is provided by FOLDOC - Free Online Dictionary of Computing (


A group of instructions that perform a specific task. A large subroutine might be called a "module" or "procedure." Subroutine is somewhat of a dated term, but it is still quite valid.
Copyright © 1981-2019 by The Computer Language Company Inc. All Rights reserved. THIS DEFINITION IS FOR PERSONAL USE ONLY. All other reproduction is strictly prohibited without permission from the publisher.
References in periodicals archive ?
First of all, we state a lemma that identifies a static execution path of the corresponding subroutine for a given ret instruction.
The first time the subroutine is executed, a single question mark will be placed in the cell named ques.
PARTS This is a user-provided subroutine. The index space allocation among the processes is obtained through the library call CALL PARTS(G_IDX,PROCS,NPROCS)
A type loophole could be created by allowing a subroutine and the caller of that subroutine to exchange references to uninitialized objects in certain situations.
Also, during the playing with toys subroutine, participants were asked "What do you call this?" which is an antecedent condition that they may be less likely to encounter during play.
The modified GMM was implemented through a secondary development with the USDFLD subroutine to analyze the relaxation damage process and improve the linear viscoelastic model in ABAQUS.
(iv) Subroutine LINCOA: this is the final work of Professor Powel, made public in 2014, before his passing away in April 2015.
Call subroutine I to determine the optimal shift and then calculate the optimal battery power consumption of the number i LHD point under SSMDM.
Consequently, while this technique can verify the internal consistency of a control flow graph for a portion of the program, it does not necessarily advance the discovery of subroutine entry points.
With the UserMat subroutine, some numerical simulations of uniaxial tension in geologic materials are performed in ANSYS.
4) Send the subroutine parameters from computer 1 to computers 2;