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

11. Элементарные операции

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

+,-,*,/ обеспечиваются аппаратурой. Другие, такие как ^, √ моделируются программно.

Операции сравнения. < , <=, >, >=, =, !=. Операндами являются два числа, а результатом логическое значение (true или false).

Логические операции. Операнды – логические значения. Результат – одно логическое значение.

Основные операции это и, или , не(отрицание), эквивалентность, импликация, исключающее или, не-и, не-или.

Преобразование типа. Используется для преобразования элементов данных из одного представления в другое. Могут вызываться явно и неявно.

12. Операции для структур данных: создание/удаление структур

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

  • Операции выборки компонента. Обработка структур данных часто требует поочередной выборки компонентов этой структуры. Существует 2 типа операций выборки: произвольная выборка, при которой можно получить доступ к произвольному компоненту структуры, и последовательная выборка, при которой компоненты перебираются в заранее определенной последовательности.

  • Операции над всей структурой данных. Такие операции в качестве аргументов используют структуру данных целиком, а их результатом также является некоторая структура данных. В большинстве языков предусмотрено некоторое ограниченное количество таких операций (н-р, сложение двух массивов, присвоение одной записи другой, объединение множеств).

  • Создание/уничтожение структур данных. Операции по созданию и уничтожению структур данных также оказывают большое влияние на способы управления ресурсами памяти для структур данных.

13. Операции для структур данных: создание/удаление элементов

Вставка/удаление компонентов. Операции, которые меняют количество компонентов в структуре данных, оказывают большое влияние на способы представления и управления ресурсами памяти для структур данных.

14. Управление последовательностью действий в виражениях

Управление последовательностью действий в языках программирования может быть представлено некоторой управляющей структурой. Основными управляющими структурами принято считать:операторы;выражения;подпрограммы.Выражение состоит из операций, операндов и функций. Операторы, определяющие операции, могут быть унарными и бинарными. Унарный оператор действует только на один операнд, а бинарный оператор – на два операнда. Синтаксис выражения можно представить в виде дерева: вершиной дерева является последняя выполняемая операция, узлы описывают промежуточные операции, а листья указывают данные (переменные или константы). Показано древовидное представление вычисления выражения (x*y)-x*(-(x**2)+(y-0.3)).

Для представления выражения в линейной форме применяются следующие формы записи:префиксная запись;постфиксная запись;инфиксная запись.

В префиксной записи, называемой также польской префиксной записью, сначала записывается символ операции, а затем по порядку слева направо записываются операнды. Так, выражение (z+2)*(x+y) в префиксной записи будет иметь следующий вид: * + z 2 + x y. Польская префиксная запись не содержит скобок и позволяет однозначно определять порядок вычисления выражения. Язык LISP для представления выражений использует префиксный тип записи, называемый кембриджской польской записью. Такая запись в отличие от польской записи содержит скобки, ограничивающие операнды, на которые действует операция. Таким образом, в кембриджской польской записи выражение представляет собой множество вложенных подвыражений, ограниченных скобками.Например:* (+ (z 2) +(x y)). В постфиксной записи, называемой также обратной польской записью или суффиксной записью, символ операции записывается после операндов. Выражение (z+2)*(x+y) в постфиксной записи будет иметь следующий вид: z 2 + x y + *. Третьим типом записи выражений является инфиксная запись, используемая для представления выражений как в математике, так и в языках программирования. Инфиксная запись - это стандартный способ записи выражений, при котором символ операции указывается между операндами. Однако инфиксная запись не позволяет представлять унарные операции. Наиболее простым представлением выражения с точки зрения процесса трансляции является постфиксная запись. Однако префиксная запись более удобно обеспечивает обработку функций. Кроме того, префиксная запись позволяет вычислить выражение за один просмотр транслятора, но существенным недостатком при этом является то, что для каждой операции требуется предварительно знать число обрабатываемых ею операндов (унарная, бинарная, функция).