Лекция 01. Тема Общая характеристика языков программирования высокого уровня


end; BEGIN { Раздел операторов - тело программы} END


Download 4.1 Mb.
Pdf ko'rish
bet33/57
Sana12.11.2023
Hajmi4.1 Mb.
#1767546
TuriЛекция
1   ...   29   30   31   32   33   34   35   36   ...   57
Bog'liq
Lektsii po YaP Lukinova 2 sem

end;
BEGIN
{ Раздел операторов - тело программы}
END.
 
Рисунок 4.2. Структура программы на языке Pascal
В некоторых языках, например, С, С++ и подобных нет четкой иерархии 
между главной программой и подпрограммами, структуризации областей 
видимости внутри программых единиц, разделения на процедуры и функции. 
Программа на С представляет собой набор функций, хотя среди них 
обязательно должна быть функция main() – аналог главной программы. При 
этом функция может иметь как свойства procedure, так и function в 
понимании Pascal. Такие качества дают гибкость при программировании, но, 


безусловно, уменьшают надежность программ, написанных на С-подобных 
языках, их читабельность.
4.2. Дескриптор подпрограммы 
С целью осуществления корректного подключения подпрограммы 
операционная система должна реализовать определенные механизмы. Их 
два:
1. 
Механизм обеспечения передачи управления подпрограмме при ее 
вызове, 
2. 
Механизм обеспечения возврата управления в вызывающую 
программу.
Механизм передачи управления в подпрограмму при ее вызове 
осуществляет следующие действия:

сохранение текущего состояния памяти вызывающего ее модуля;

передачу параметров в подпрограмму;

сохранение адреса возврата в вызывающую программу.
Механизм возврата управления из подпрограммы в вызывающую 
программу заключается в следующем:

присваивание вычисленных значений выходным параметрам 
подпрограммы;

восстановление текущего состояния вызывающего модуля;

передача управления по адресу возврата в вызывающий модуль.
Выполнение описанных механизмов обеспечиваются с помощью 
специального дескриптора, который называется запись активации 
подпрограммы и формируется в автоматической памяти (стеке). Экземпляр 
записи активации (ЭЗА) под каждую подпрограмму, формируется при ее 
активации и разрушается в момент завершения работы. На рисунке 4.3
приведена структура ЭЗА при активных главной программе main
подпрограммах f1 и f2 в ситуации статического обзора данных.
Особенности реализации подпрограмм:



каждая подпрограмма имеет, по крайней мере, один вход и выход, 
хотя можно организовать процедуру, которая осуществляет 
выполнение алгоритма пользуясь только глобальными и локальными 
переменными и не будет иметь входных и выходных параметров,

на время выполнения подпрограммы выполнение вызывающего ее 
модуля приостанавливается,

в каждый момент времени выполняется только одна подпрограмма 
(разумеется, если задействован последовательный вычислитель, а на 
высокопроизводительной архитектуре со многими процессорами 
можно организовать обработку процессов параллельно),

управление после выполнения подпрограммы всегда возвращается в 
вызывающий модуль.
Рисунок 4.3 . Структура ЭЗА цепочки main -> procedure f1 -> procedure 
f2

Download 4.1 Mb.

Do'stlaringiz bilan baham:
1   ...   29   30   31   32   33   34   35   36   ...   57




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling