
- •8. Массивы переменного размера
- •11. Элементарные операции
- •12. Операции для структур данных: создание/удаление структур
- •15. Управление последовательностью выполнения инструкций
- •16. Подпрограммы. Правила копирования
- •17. Рекурсивные подпрог.
- •21. Передача параметров в подпрог.
- •24.Базовое управление памятью
- •25.Инкапсуляция. Структурные типы данных и их реалызация
- •27. Абстрактные типы данных
- •28. Наследование
- •29. Связь языков программирования окружающей средой
15. Управление последовательностью выполнения инструкций
При вычислении выражений учитывается приоритет операций: сначала выполняются операции с более высоким приоритетом.
Вычисление выражений, имеющих операции с одинаковым приоритетом, производится в соответствии с правилом сочетательности, которое определяет порядок выполнения таких операций. В языке Сочетательность операций применяется как слева направо, так и справа налево (как и при вычислении возведения в степень). Порядок вычисления справа налево означает, что выражение x** 2**4 трактуется как x**(2**4).
Составные операторы. Каждая из основных форм управления последовательностью действий имеет в различных языках программирования свои, в значительной степени синтаксически схожие, операторы языка программирования. Для создания сложных управляющих композиций иногда последовательность операторов необходимо указывать как один оператор. Для этой цели служит составной оператор. Синтаксически составной оператор может быть указан ключевыми словами begin end (язык Pascal) или фигурными скобками {} (языки C++, Java, Perl)
Операторы выбора. К операторам выбора относятся:if – условный оператор; switch – переключатель.
Операторы цикла.Операторы цикла наряду с механизмом рекурсии выражают форму повторения последовательности действий.
Языки программирования, как правило, имеют несколько форм оператора цикла. Предусмотрено три формы оператора цикла:for,do while. Операторы перехода. Для выхода из бесконечных циклов или подпрограмм используются операторы перехода. В языке C++ реализованы четыре оператора перехода:break – прерывает выполнение цикла, завершая его; continue – завершает текущую итерацию выполнения цикла; return – определяет выход из функции; goto – оператор безусловного перехода на метку. Операторы исключений. Некоторые языки программирования позволяют реализовывать обработку ошибок, называемых исключениями, используя операторы исключений. Код, который может инициировать исключение, заключается в специальный оператор try-catch. При этом ключевое слово catch определяет действия, выполняемые в случае возникновения определенного исключения. Исключение может инициироваться программно или оператором throw (бросок исключения). Некоторые языки программирования позволяют передавать обработку исключения вызывающему методу (так, в языке Java в сигнатуре метода можно ключевым словом throws указать список исключений, при возникновении которых управление будет возвращено вызывающей программе).
16. Подпрограммы. Правила копирования
Подпрограмма — это абстрактная операция, определяемая программистом. Подпрограммы являются базовыми блоками, из которых строится большинство программ. Почти в каждом языке можно найти средства для их определения и вызова.
Определение подпрограммы состоит из двух частей: спецификации и реализации, обе эти части определяются программистом при ее описании.
Предполагается, что каждая подпрограмма в какой-то момент прекращает свое выполнение и возвращает управление той программе, которая ее вызвала. Во время выполнения подпрограммы выполнение вызывающей подпрограммы временно приостанавливается. Когда выполнение подпрограммы завершается, выполнение вызывающей программы возобновляется с той точки, которая непосредственно следует за точкой вызова подпрограммы. Такая структура управления часто объясняется правилом копирования: выполнение оператора call, вызывающего подпрограмму, имеет тот же эффект, что и замена этого оператора на копию тела
вызываемой подпрограммы (с соответствующими подстановками для параметров и разрешением возможных конфликтов, связанных с совпадением идентификаторов) перед выполнением программы. С этой точки зрения подпрограмму можно рассматривать как структуру управления, которая позволяет избежать копирования большого количества идентичных или почти идентичных операторов, встречающихся в нескольких местах программы.