LESSON EIGHT
Text A. The Basic Principles of Programming (continued)
Text B. Kinds of Programs.
Exercises
Read the international words and guess their meaning:
to conserve, permanent, constant, location, diagram, code, symbol, function, alternative, line, term, symbolism, specific, actual, specially, subroutine, initial, characteristic, code, result, to illustrate, programmer, catalogue, to consult
Pronounce the following words correctly:
temporary ['temp(ə)rəri] n pl – рабочие ячейки памяти
conserve [kən'sə:v] v – сохранять, консервировать
point [point] n – точка
share [ƒεə] v – распределять, делить(ся)
visualize ['vizjuəlaiz] v – мысленно представлять себе
interrelationship ['intə(ə)ri'leiƒ (ə)nƒip] n – взаимосвязь, взаимодействие
various ['vεəriəs] a – различный, разный, разнообразный
essentialy [i'senƒ (ə)li] adv – по существу
decision [di'siʒ(ə)n] n – решение
associate [ə'souƒieit] v – соединять, связывать, объединять
alternative [o:l'tə:nətiv] n – альтернатива, вариант, выбор варианта
eliminate [i'limineit] v – устранять, исключать, заменять
indicate ['indikeit] v – указывать, показывать
consider [kən'sidə] v – считать, полагать, рассматривать
depend [di'pend] v (on, upon) – зависеть от statement ['steitmənt] n – утверждение, оператор (в алгоритмических языках)
description [dis'kripƒ (ə)n] n – описание, характеристика
particulary [pə'tikjuləli] adv – особенно
proceed [prə'si:d] v – продолжать (делать что-либо)
occasionally [ə'keiʒənli] adv – случайно, нерегулярно, вдруг
jump [dʒлmp] n – переход; v – переходить
locate [lo(u)'keit] v – размещать, помещать, располагать
detour [di'tuə] n – уход, обход, удаление
entrance ['entr(ə)ns] n – вход (в подпрограмму)
exit ['eksit] n – выход, выходной канал
condition [kən'diƒ (ə)n] n – условие, состояние, режим, ситуация
value ['vælju:] n – величина, значение, оценка
find [faind] v – находить
quite [kwait] adv – совсем, полностью, очень
profitable ['profitəbl] a – выгодный
Memorize the following word combinations:
memory space – объем памяти, пространство памяти
point of view – точка зрения
permanent numbers – постоянные числа
temporary numbers – временные числа
intermediate stages – промежуточные этапы
specific instructions – специальные (конкретные) команды
various alternatives – различные альтернативы
crossing lines – линии пересечения
at a later time – в более позднее время, позже
jump (branch) instructions – команды перехода
function calculations – вычислительные функции
for instance = for example – например
TEXT A
THE BASIC PRINCIPLES OF PROGRAMMING
(continued)
1. The Use of Temporaries. Memory space in a computer should be conserved. From this point of view there are two kinds of numbers contained in addresses: permanent or constant numbers, such as 2 and g, and temporary numbers, i.e., numbers that appear only in intermediate stages of the computation. These temporary numbers can share their address with other temporary numbers that appear at some other time. Hence we call such memory locations temporaries.
2. Flow Chart. A flow chart is a diagram, or picture, of a code that is often helpful for visualizing interrelationship between various parts of a code. Such diagram is almost always made before the specific instructions are written. There are essentially three kinds of symbols used in a flow chart (see Fig. 5). The first represents function calculations, the second represents decisions and the various associated alternatives, the third, called a variable connector, and is simply a way to eliminate too many crossing lines in the picture or to indicate which lines to follow when one has to continue the diagram on another page.
3. Symbolic Coding Aids. It is another intermediate aid between the statement of the problem and the final code. Symbolic coding consists in writing a code not in terms of specific numerical addresses, but rather in terms of some name description or other symbolism to represent the addresses. Then, at a later time, specific addresses can be assigned for these symbols or names to produce the actual code. The intermediate code in terms of symbols is called the symbolic code.
Figure 5. Flow Chart Symbols
This technique is extremely useful particularly in those cases where one must write instructions involving addresses of constants or of other instructions that have not yet been specially assigned.
4. The Use of a Subroutine. A subroutine is a subcode that may be used many times during the computation of a program but written only once in the whole code. As the computer proceeds down the main program, the control will occasionally jump to this subroutine and then, after doing the subroutine, will jump back to the main program where it left off. The term "jump" or "branch" is commonly used in the sense of "take the next instruction from". Thus the expression "jump to a subroutine" means "take the next instruction from the address where the first instruction of the subroutine is located".
5. The detour from the main program through the subroutine may occur several times during the computation of the program. Hence a subroutine must have an entrance, a way of getting into it, and an exit, a way of getting out of it. Each time when an entrance is made to a subroutine, some initial conditions must be set up that are characteristic of the place in the main program from which the entrance was made. For instance, if the subroutine calculates some function, the initial values of the independent variables at that point in the main program must be given to the subroutine. In addition, as an entrance to a subroutine is made, the exit must be set up; i.e., the subroutine must be told where to transfer control back to the main program.
6. Hence, in order to use a subroutine, the coder must know (1) the entrance, i.e., the address of the first instruction; (2) the addresses of the temporaries in which the initial conditions are to be set up; (3) the addresses of the temporaries whose contents will be the results of the subroutine computation; (4) the exit, i.e., the address of some jump /branch) instruction that is to be present (when entering the subroutine) so that when the computation of the subroutine has been completed, the computer will transfer control back to the proper address of the main program.
7. Consider, for instance, the flow chart in Fig. 6, which illustrates the setting up of the initial conditions and different exits of the subroutine. The A in the circle is a connector and of course means that the program jumps to the subroutine at that point. The В connector is called a variable connector, i.e., it indicates that the program jumps either to B1 or to B2, depending on how the "variable" connector is set. When we say that B=
B1 we mean that the В connector is set so that it will go from В to B1; and when we say that B=B2, then the В connector is set to go from В to В2. The rest of the flow diagram is self-explanatory but should be studied carefully by the student.
8. Library of Subroutines. Several subroutines may be used in one program. In fact it is found that many common subroutines are used quite often. Hence it often becomes profitable to have a library of subroutines available to the programmer stored at all times in some part of the computer memory. There would also be some catalogue kept outside the computer that the programmer can consult when he wants to use a subroutine. This catalogue would tell where each subroutine is located and all data about how to use it, such as where to put the initial values of independent variables, where the computed values of the dependent variables are found, etc.
Notes:
symbolic coding aids – средства символического кодирования
initial conditions – начальные (исходные) условия
independent variables – независимые переменные
the proper address – правильный (соответствующий) адрес
self-explanatory – ясный, не требующий разъяснения
dependent variables – зависимые переменные
Exercises
4. Find the Russian equivalents of the following English word combinations:
1. crossing lines;
|
1. конечный код;
|
2. symbolic coding aids;
|
2. передать управление обратно;
|
3. the statement of the problem;
|
3. вычисленные значения;
|
4. the final code;
|
4. линии пересечения;
|
5. independent variables;
|
5. средства символического кодирования;
|
6. dependent variables;
|
6. адреса констант;
|
7. initial conditions;
|
7. промежуточный код;
|
8. the computed values;
9. the initial values;
10. for visualizing interrelationship;
11. the intermediate code;
12. extremely useful;
13. addresses of constants;
14. memory location temporaries;
15. to transfer control back
|
8. чрезвычайно полезный;
9. для отчетливого представления взаимосвязи;
10. рабочие ячейки памяти;
11. независимые переменные;
12. исходные значения;
13. формулировка задачи;
14. зависимые переменные;
15. исходные (начальные) условия
|
5. Arrange the synonyms in pairs and translate them:
permanent numbers, block diagram, to call, memory, for example, a step, a routine, calculation, location, to share, storage, a stage, constant numbers, computation, subroutine, to term, for instance, subcode, to divide, a program, cell, flow chart
6. Form two sentences of your own with each word combination:
from this point of view, to set aside, at the coder’s side, in other words, the rest of
7. Memorize the following definitions:
1. A subroutine is a part of a program that performs a logical section of the over-all function of the program. 2. A jump or a branch is a departure from the normal sequence of program steps. 3. A library of subroutines is any collection of subroutines, which have been written for general application and can be incorporated in different programs when required. 4. A flow chart or a block diagram is a diagrammatic representation of a sequence of events usually drawn with conventional symbols representing different types of events and their interconnection.
8. Answer the following questions:
1. How many kinds of numbers does the address contain? 2. What are permanent numbers? 3. What are temporary numbers? 4. What memory locations do we call temporaries? 5. What is a flow chart? 6. When is a flow chart made? 7. What symbols are used in a flow chart? 8. What is symbolic coding? 9. What is a subroutine? 10. What must the coder know in order to use a subroutine? 11. What is a jump or a branch made for? 12. What is a subroutine library? 13. Where is the subroutine library stored?
9. Read and translate the following sentences paying attention to the meaning of the words and word combinations given below:
a) to be late – опаздывать
later than – позже чем
in the late 60s – в конце 60-х годов
the latest – самый последний
the former ... the latter ... – первый (из упомянутых)..., последний (из упомянутых)
1. Our professor is never late for his lectures. 2. This program was made later than it was planned. 3. In the late 60s the second generation of computers appeared and began to operate. 4. The latest achievements of up-to-date computing technique are applied in our computing centre. 5. The CPU consists of two parts: the control unit and the arithmetic/logic unit; the former receives and interprets instructions and generates control signals, the latter performs real computations.
b) to set – ставить, помещать, устанавливать
to set aside – откладывать
to set up – основывать, учреждать
a set – набор, комплект, множество, прибор
a set of – ряд
to preset – заранее помещать
1. The conditional code is set as a result of all logical comparing, connecting, testing and editing operations. 2. The Institute of Automation and Engineering Cybernetics of the Academy of Sciences was set up in the late 1930s. 3. All logical operations other than editing are the part of the standard instruction set. 4. The set of logical operations includes moving, comparing, bit connecting, bit testing, translating and editing. 5. A set of instructions is provided for the logical operation of processing data. 6. Several bits of an instruction are set aside to designate the operation code. 7. The address of a jump instruction must be present before making a block diagram.
c) case – ящик, коробка, корпус, случай
in any case – во всяком случае
this is the case – дело обстоит так
1. These are cases for packing all the units of the computer ES-1045. 2. In this case the bits would be divided into 14 groups of 3 bits each. 3. This is some kind of synchronization of the pulses in a computer, and in most computers this is the case: all pulses are synchronized with respect to each other. 4. In each case the operation is suppressed; therefore the condition code and data in storage and registers remain unchanged. 5. In any case registers store information in the memory. 6. The word, which comes from the arithmetic unit back to the memory, is not erased, but this is not the case with a new word when the previous one in the memory is always erased.
d) yet – (пока) еще; однако, но; хотя
1. In cases where we must write instructions involving addresses of constants that have not yet been specially assigned, we usually use the symbolic coding. 2. Yet the data for processing information appeared to be more important than the data for storing information in this case. 3. The program must be debugged if the errors have not yet been corrected. 4. Yet in practice, programmers desire the computer to take alternative ways of acting.
e) once – однажды, (один) раз; как только
1. A subroutine may be used many times during the computation of a program but is written only once in the whole program. 2. Once the execution of a command has been initiated, the indication of the neon bulb can be seen on the control panel. 3. Once set, the condition code remains unchanged until modified by an instruction that reflects a different condition code.
10. Speak on:
the temporaries; the symbolic coding aids; the library of subroutine; the flow chart
11. Read Text В and translate it with a dictionary. Write a brief summary of it:
TEXT B.
KINDS OF PROGRAMS
There are two main kinds of programs, which are subdivided as well. They are control programs and system service programs.
Control Programs. There are some control programs to handle interruptions, I/O operations, transition between different jobs and different phases of the same job, initial program loading (IPL), and symbolic assignment of I/O devices.
Actually, the control program consists of three components:
1. IPL Loader. When the system operation is initiated, the hardware IPL reads in this program which then clears unused core storage to zeros, generally performs some housekeeping operations, and then reads in the Supervisor.
2. The Supervisor. It is resident in the low order part of the core storage whenever any job is being run. It can handle execution of any I/O operations and can provide standard processing for all interrupts. It may also queue I/O operations so that the operation will start as soon as the required channel and device are free.
3. Job Control. When the end of a job is sensed, the user normally turns control over to the Supervisor which then reads in the Job Control program. This program senses and processes all cards; after the new job is loaded, it turns control over to the new job. This system of operation eliminates the necessity of operation intervention between jobs, something, which is of particular importance on large computers where the average job time may be less than one minute.
The control program is a large program occupying thousands of bytes. It is usually stored on a magnetic tape or a magnetic disk. The particular unit on which the program resides is called the System Resident unit.
System Service Programs. They are used to maintain the library: to place new programs into the library, to delete, replace, or change existing programs, to read programs from the library into memory, to link segments of programs written at different times into one program, etc. They are called Librarian and Linkage Editor.
There are three libraries maintained by the Librarian program: 1) Core Image library, 2) Relocatable library, 3) Source Statement library.
The core image programs includes the processors and control programs and as many of the application programs as the user desires. The relocatable library contains modules, which are stored in such a way that each module can be arbitrarily relocated and still be executed correctly. A module may be a complete program or it may be a relatively independent part of a larger program. The source statement library contains macro definitions, a sort of collection of standard type statements, which can be incorporated into a program to provide some special functions.
Notes:
control programs – управляющие программы
unused core storage – неиспользованная часть ОЗУ
housekeeping operations – вспомогательные операции
Job Control – управление потоком заданий
the average job time – среднее время счета задания
System Resident unit – системное резидентное устройство
System Service program – системная сервисная программа
Librarian – программа «Библиотекарь»
Linkage Editor – программа «Редактор связей»
Core Image library – библиотека абсолютных модулей
Relocatable library – перемещаемая библиотека
Source Statement library – библиотека исходных предложений
processor – программа «Транслятор»
application program – прикладная программа
macro definitions – макроопределения
12. Translate the following dialogue into English. Reproduce it in English:
НА ЭКЗАМЕНЕ ПО ЭВМ
Студент: Здравствуйте, профессор.
Профессор: Здравствуйте. Как вас зовут, из какой вы группы?
Ст.: Иванов, я студент 3 курса 2 группы.
Проф.: Берите, пожалуйста, билет и готовьтесь отвечать.
После подготовки к ответу по билету студент Иванов отвечает на все 3 вопроса хорошо.
Проф.: Позвольте задать вам несколько вопросов дополнительно. Во-первых, с какого времени стали выпускать компьютеры на электронных лампах, и какие отечественные машины подобного типа вы знаете?
Ст.: Электронные компьютеры стали выпускать с 1944 года. Представителями этого первого поколения электронных компьютеров в России были БЭСМ и «Минск-1».
Проф.: Какова скорость микрокомпьютера?
Ст.: Современный микрокомпьютер может выполнять более 10 биллионов операций в секунду, и это не предел.
Проф.: Кто был изобретателем первого в мире арифмометра?
Ст.: Русский математик П. Л. Чебышев, в 1882 г.
Проф.: Где нашли применение компьютеры?
Ст.: Во всех областях жизни. Особенно в астрономии, электротехнике, физике, химии, ядерной технике, лингвистике, статистике, банковских операциях, медицине. Компьютеры сочиняют музыку, играют в шахматы, рисуют и чертят.
Проф.: Ваш ответ заслуживает высокой оценки.
Ст.: Спасибо, профессор. Этот предмет мой любимый. До свидания.
|