Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
подготовка к мк2.doc
Скачиваний:
0
Добавлен:
15.12.2019
Размер:
632.83 Кб
Скачать

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, вызывающего подпрограмму, имеет тот же эффект, что и замена этого оператора на копию тела

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