Главная страница

Учебное пособие по дисциплине Разработка языков программирования высокого уровня


Скачать 1.74 Mb.
НазваниеУчебное пособие по дисциплине Разработка языков программирования высокого уровня
Дата05.03.2023
Размер1.74 Mb.
Формат файлаdocx
Имя файлаLektsii_YaPVU_Lukinova_2_semestr.docx
ТипУчебное пособие
#970477
страница13 из 20
1   ...   9   10   11   12   13   14   15   16   ...   20






ГЛАВА 4. ПОДПРОГРАММЫ



4.1. Общие сведения


Понятие подпрограммы - одно из центральных понятий любого языка программирования высокого уровня.

Подпрограмма - это некоторая последовательность операторов языка, оформленная особым образом, к которой можно обратиться по имени, т.е. она представляет собой поименованный блок. Подпрограмма представляет собой абстракцию процесса. Понятие абстракции процесса, наряду с абстракцией данных, одно из базовых понятий в области разработки языков программирования. Прежде всего, эго способ инициировать дополнительный, по отношению к основному (Program), вычислительный процесс на программном уровне. Например, если в программе нужно упорядочить массив числовых данных целочисленного типа, обычно используется подпрограмма, выполняющая сортировку. В той точке программы, в которой следует выполнить сортировку, помещается оператор вызова следующего вида:

sort_int (list, list_len);

Этот вызов является абстракцией реального процесса сортировки, алгоритм которого в главной программе не определен. Вызов не зависит от алгоритма, который реализуется в вызываемой подпрограмме, важен только тот факт, что вызов подпрограммы sort_int приводит к сортировке массива. Какой именно алгоритм выполняет sort_int, для вызывающей программы не существенно.

Причин, по которым часть программы оформляется в виде подпрограмм, в основном две.

1. В инженерных задачах часто возникает необходимость в программирова-нии одного и того же расчета, но с разными исходными данными. ЯПВУ предоставляет возможность запрограммировать этот расчет один раз (оформив его в виде отдельного блока - подпрограммы), а исполнять в теле программы сколько угодно, каждый раз передавая в расчет новые исходные данные, поэтому подпрограмма – это, прежде всего, средство, чтобы сделать программу более компактной: операторы блока существуют в программе в единственном экземпляре, а вызовов этого блока может быть неограниченное количество.

2. Подпрограммы используются и как средство структурирования программы, расчленения ее на ряд относительно самостоятельных частей. Дело в том, что при программировании достаточно сложной задачи решить ее «одним махом», т.е. написать последовательно всю программу от начала до конца, невозможно. Процесс разработки программы – это творческий процесс, проходящий в несколько этапов. Вначале стараются создать наиболее общий,

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

Программа


Блок А


Блок А1

Блок А2







Блок В


Блок В1

Блок В2

Блок В21

Блок В22










Блок С




Рисунок 4.1. Пример схемы структуризации программы на подпрограммы

Достоинства описанного подхода, получившего название нисходящего структурного программирования, очевидны: подпрограммы повышают надежность программы (каждый блок можно не только реализовывать независимо, но и автономно его тестировать), облегчают ее понимание и позволяют вести разработку программы коллективом программистов. Таким образом, подпрограмма, в соответствии с методологией структурного программирования, позволяет:

- структурировать программу на достаточно независимые по управлению фрагменты (задачи),

- уменьшать объем требуемой для загрузки программы памяти и время программирования,

- улучшать читабельность программы,

- выявлять логическую структуру программы.
1   ...   9   10   11   12   13   14   15   16   ...   20


написать администратору сайта