Вложенность (вычисления)

редактировать

В информатике и информатике, вложении где информация организована по слоям или где объекты содержат другие похожие объекты. Он почти всегда в некотором смысле относится к самоподобным или рекурсивным структурам.

Вложенность может означать:

Содержание
  • 1 В электронных таблицах
  • 2 В программировании
    • 2.1 Управляющие структуры
    • 2.2 Структуры данных
      • 2.2.1 Lisp
  • 3 См. Также
  • 4 Ссылки
В электронных таблицах

В электронной таблице функции могут вкладываться одна в другую, составляя сложные формулы. Мастер функций приложения OpenOffice.org Calc позволяет перемещаться по нескольким уровням вложенности, позволяя пользователю редактировать (и, возможно, исправлять) каждый из них отдельно.

Например:

= IF (SUM (C8: G8) = 0, «Y», «N»)

В этом Microsoft Excel формула, функция СУММ вложена в функцию ЕСЛИ. Сначала формула вычисляет сумму чисел в ячейках от C8 до G8. Затем он решает, равна ли сумма 0, и отображает букву Y, если сумма равна 0, и букву N, если это не так.

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

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

В программировании

Управляющие структуры

В языках структурированного программирования вложенность связана с включением управляющих структур одной в другой, обычно указываемый различными уровнями отступа в исходном коде , как это показано в этой простой функции BASIC :

функция LookupCode (код в виде строки) как целое число dim sLine, путь как строка dim ReturnValue как целое число path = "C: \ Test.dsv", если FileExists (path), то открыть путь для ввода как # 1, делать, пока не EOF (1), строковый ввод # 1, sLine, если code == left (sLine, 3) then 'Действия, которые необходимо выполнить Конец, если цикл закрывается # 1 Конец, если LookupCode = ReturnValue end function

В этом небольшом и простом примере условный блок «if... then... end if» »Вложен в цикл« do while... loop ».

Некоторые языки, такие как Pascal и Ada, не имеют ограничений на объявления в зависимости от уровня вложенности, позволяя точно вложенные подпрограммы или даже вложенные пакеты (Ada). Вот пример того и другого (упрощенный из реального случая):

- Избавление от проблемы глобальных переменных (нельзя использовать параллельно) - из набора старых источников, без необходимости изменять этот код - - логика или структура. - процедура Nesting_example_1 - это тип Buffer_type - массив (Integer range <>) целых чисел; процедура Decompress (сжатый: в Buffer_type; распакованный: из Buffer_type) is - Вот устаревшие источники, переведенные: пакет X_Globals равен index_in, index_out: Integer; - *** ^ Эти переменные являются локальными для Decompress. - *** Теперь Decompress безопасен для задач. конец X_Globals; - Методы 1,2,3,... (спецификации) пакета X_Method_1 - это процедура Decompress_1; конец X_Method_1; - Методы 1,2,3,... (код) тело пакета X_Method_1 использует X_Globals; процедура Decompress_1 начинается index_in: = compressed'First; - Здесь код декомпрессии, метод 1 end Decompress_1; конец X_Method_1; - Конец устаревших источников begin X_Method_1.Decompress_1; конец декомпрессии; test_in, test_out: Buffer_type (1..10_000); begin Decompress (test_in, test_out); конец Nesting_example_1;

Структуры данных

Вложенные структуры данных также часто встречаются в программировании.

Lisp

В языках функционального программирования, таких как Lisp, list данные существует такая же структура, как и более простая структура данных atom.

  • Простые списки содержат только атомы.
(ATOMS)

Атомы в списке - A, T, O, M и S.

  • Вложенные списки содержат как атомы, так и другие списки.
(((ВЛОЖЕННЫЕ) СПИСКИ) (CAN) (БЫТЬ) НЕОБХОДИМО (КОМПЛЕКС))
См. также
Ссылки
Последняя правка сделана 2021-05-31 04:35:51
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте