the branch of programming that examines the composition and interrelationships of the individual elements of a program, that is, the structure; also, the process of assembling of a program. The elements in this case are the operators corresponding to the statements of the algorithm that is reflected in the program.
Informational, logical, and informational-logical structures are distinguished according to the links between the operators. Two operators are considered to be logically linked if one can be performed immediately after the other. Operators are informationally linked if the output of one can be used as the input for the other. The most commonly used are logical program structures in the form of logical diagrams of the algorithms, a form used, for example, in planning computations and especially in designing and debugging the large programs that simulate complex systems.
The concept of program planning, in the sense of the assembly process, emerged in the 1950’s with the digital computer. The computer provided the mathematical means for automatically introducing a previously written and debugged standard program either prior to or during the course of a series of calculations. Programs for present-day computers can be assembled from modules—or separate programs put together in a standard form. In automatic programming, the work of the programmer when writing the instructions for the computer involves feeding the computer data on the structure of the program; that is, the programmer states the set of modules and the order of their linkage. Sometimes, special languages for assembling programs from individual blocks (block programming) are developed for a special class of problems.
REFERENCESKrinitskii, N. A. Ravnosil’nye preobrazovaniia algoritmov i programmirovanie. Moscow, 1970.
Pospelov, D. A. Vvedenie v teoriiu vychislitel’nykh sistem. Moscow, 1972.
L. N. STOLIAROV