Связанные понятия
Стек (англ. stack — стопка; читается стэк) — абстрактный тип данных, представляющий собой список элементов, организованных по принципу LIFO (англ. last in — first out, «последним пришёл — первым вышел»).
Свя́зный спи́сок — базовая динамическая структура данных в информатике, состоящая из узлов, каждый из которых содержит как собственно данные, так и одну или две ссылки («связки») на следующий и/или предыдущий узел списка. Принципиальным преимуществом перед массивом является структурная гибкость: порядок элементов связного списка может не совпадать с порядком расположения элементов данных в памяти компьютера, а порядок обхода списка всегда явно задаётся его внутренними связями.
Очередь с приоритетом (англ. priority queue) — абстрактный тип данных в программировании, поддерживающий две обязательные операции — добавить элемент и извлечь максимум(минимум). Предполагается, что для каждого элемента можно вычислить его приоритет — действительное число или в общем случае элемент линейно упорядоченного множества.
Конте́йнер в программировании — тип, позволяющий инкапсулировать в себе объекты других типов. Контейнеры, в отличие от коллекций, реализуют конкретную структуру данных.
В информатике, спи́сок (англ. list) — это абстрактный тип данных, представляющий собой упорядоченный набор значений, в котором некоторое значение может встречаться более одного раза. Экземпляр списка является компьютерной реализацией математического понятия конечной последовательности.
Подробнее: Список (информатика)
Упоминания в литературе
Для разработчиков программного обеспечения кодирование текстовой информации является одной из важнейших задач. Эта задача облегчится, если каждую букву алфавита, цифру или знак препинания сопоставить с двоичными числами. Чтобы решить эту задачу, хватит и одного байта информации, с применением которого можно закодировать 256 символов. С этим связана одна общая проблема – система кодирования текстовых данных должна быть одинакова во всем мире и на всех компьютерах. Но эта проблема все еще не решена, так как, например, в
России существует несколько систем кодирования текстовых данных. А относительно второй части проблемы можно сказать следующее: компьютеры, на которых применялись свои оригинальные системы кодирования, устарели и вышли из употребления. Кодирование текстовых данных осуществляется в соответствии со стандартами ASCII (американская система кодирования для обмена информацией), в основу которых положен принцип удовлетворения международных интересов и интересов отдельных стран и разработчиков. В соответствии с этим стандартом таблица кодирования символов разделена на две части: базовую (коды от 0 до 127) и расширенную (коды от 128 до 255). Базовая часть в свою очередь делится еще на две части. В первую часть входят коды от 0 до 31, которые были отданы разработчикам аппаратуры. Во вторую часть включены коды от 32 до 127. Эти коды составляют международную часть. Таблицы международной части используются во всех странах мира.
Переход к электронному бизнесу должен осуществляться без промедлений. Если же ожидать появления новых интернет-технологий, которые будут обладать всеми качествами, которые вы к ним предъявляете, то вы непременно уступите более разворотливым конкурентам. Наиболее эффективным и наименее рискованным вариантом начала действий являются преобразование, расширение и модернизация имеющихся в распоряжении фирмы программ-приложений и анализ того, что в первую очередь необходимо приобрести (создать). Веб-поддержка имеющихся приложений должна осуществляться таким образом, чтобы можно было просматривать материал в режиме онлайн с помощью браузера32. К примеру, служащим можно предоставить возможность просмотра данных регистрационного учета выполненных видов работ, а клиентам – отслеживать наличие средств на счетах. На следующем шаге, например, можно с помощью интерактивных средств предоставлять работникам возможность самим изменять в предложенных пределах варианты выбора льгот, открывать новые счета, оплачивать кредиты. При переходе на следующий этап также
можно дополнительно включать новые возможности, в частности – добавить новый электронный каталог. Резко повысит эффективность операций и бизнеса в целом интегрирование новых приложений в действующие системы управления складами и информацией о клиентах и поставщиках.
Давайте вернемся к моему лэптопу. Целевая система, которая важна для меня, как для автора, состоит из меня и компьютерной системы. В подобном контексте у меня нет практической потребности в рассмотрении дальнейшей декомпозиции этих двух элементов. С другой стороны, компьютерная система является целевой системой для поставщика, который объединяет ее элементы. Элементы аппаратных средств и элементы программного обеспечения в свою
очередь являются продуктами целевой системы, жизненным циклом которой управляют другие лица. И аппаратные средства, и программное обеспечение затем разбиваются на элементы системы, которые являются системами и т. д. Таким образом, соответствующие владельцы целевых систем применяют правило остановки в соответствии со своими практическими потребностями и рисками, связанными с обеспечением элементами.
Ведение аналитической работы возможно только при наличии
необходимой информации, поэтому в первую очередь нужно определить, какая именно информация будет необходима аналитикам для работы, где можно ее получить и какой из источников можно при этом использовать. Как правило, получение информации не относится специалистами непосредственно к аналитической работе, тем не менее, определение круга исходной информации, а также мест и способов ее получения должно решаться непосредственно сотрудниками ИАС.
В зависимости от «уровня зрелости» организации должна использоваться та или иная группа инструментальных средств. В основе каждой методологии лежит
набор «принципов», которые могут быть истинными или ложными для ИТ-проекта. Также с выбором методологии происходит выбор ролей, навыков, видов деятельности, используемых техник, инструментария, поставляемых артефактов, стандартов, мер качества и приоритетов проекта. Многие методологии обвиняют в бюрократизме – чтобы следовать такой методологии, нужно выполнять так много различных предписаний, что замедляется весь темп работ. Некоторые методологии являются слишком общими и подходят для многих случаев разработки, однако не содержат специфических указаний, другие методологии основной целью полагают корректность программных продуктов, явность и повторяемость процесса. Гибкие методологии в первую очередь направлены на повышение продуктивности и снижение стоимости работ, при этом они не применимы для большой проектной команды.
Связанные понятия (продолжение)
Конста́нта в программировании — способ адресации данных, изменение которых рассматриваемой программой не предполагается или запрещается.
Хеш-табли́ца — это структура данных, реализующая интерфейс ассоциативного массива, а именно, она позволяет хранить пары (ключ, значение) и выполнять три операции: операцию добавления новой пары, операцию поиска и операцию удаления пары по ключу.
В информатике и теории автоматов состояние цифровой логической схемы или компьютерной программы является техническим термином для всей хранимой информации, к которой схема или программа в данный момент времени имеет доступ. Вывод данных цифровой схемы или компьютерной программы в любой момент времени полностью определяется его текущими входными данными и его состоянием.
Подробнее: Состояние (информатика)
Множество — тип и структура данных в информатике, которая является реализацией математического объекта множество.
Псевдоко́д — компактный (зачастую неформальный) язык описания алгоритмов, использующий ключевые слова императивных языков программирования, но опускающий несущественные подробности и специфический синтаксис. Псевдокод обычно опускает детали, несущественные для понимания алгоритма человеком. Такими несущественными деталями могут быть описания переменных, системно-зависимый код и подпрограммы. Главная цель использования псевдокода — обеспечить понимание алгоритма человеком, сделать описание более воспринимаемым...
Символьный тип (Сhar) — тип данных, предназначенный для хранения одного символа (управляющего или печатного) в определённой кодировке. Может являться как однобайтовым (для стандартной таблицы символов), так и многобайтовым (к примеру, для Юникода). Основным применением является обращение к отдельным знакам строки.
Свёртка списка (англ. folding, также известна как reduce, accumulate) в программировании — функция высшего порядка, которая производит преобразование структуры данных к единственному атомарному значению при помощи заданной функции. Операция свёртки часто используется в функциональном программировании при обработке списков. Свёртка может быть обобщена на произвольный алгебраический тип данных при помощи понятия катаморфизма из теории категорий.
Коллекция в программировании — программный объект, содержащий в себе, тем или иным образом, набор значений одного или различных типов, и позволяющий обращаться к этим значениям.
Из-за путаницы с терминологией словом «оператор» в программировании нередко обозначают операцию (англ. operator), см. Операция (программирование).Инстру́кция или опера́тор (англ. statement) — наименьшая автономная часть языка программирования; команда или набор команд. Программа обычно представляет собой последовательность инструкций.
Подробнее: Оператор (программирование)
В программировании,
строковый тип (англ. string «нить, вереница») — тип данных, значениями которого является произвольная последовательность (строка) символов алфавита. Каждая переменная такого типа (строковая переменная) может быть представлена фиксированным количеством байтов либо иметь произвольную длину.
Хвостовая рекурсия — частный случай рекурсии, при котором любой рекурсивный вызов является последней операцией перед возвратом из функции. Подобный вид рекурсии примечателен тем, что может быть легко заменён на итерацию путём формальной и гарантированно корректной перестройки кода функции. Оптимизация хвостовой рекурсии путём преобразования её в плоскую итерацию реализована во многих оптимизирующих компиляторах. В некоторых функциональных языках программирования спецификация гарантирует обязательную...
Ленивые вычисления (англ. lazy evaluation, также отложенные вычисления) — применяемая в некоторых языках программирования стратегия вычисления, согласно которой вычисления следует откладывать до тех пор, пока не понадобится их результат. Ленивые вычисления относятся к нестрогим вычислениям. Усовершенствованная модель ленивых вычислений — оптимистичные вычисления — переходит в разряд недетерминированных стратегий вычисления.
Массив (в некоторых языках программирования также таблица, ряд, матрица) — структура данных, хранящая набор значений (элементов массива), идентифицируемых по индексу или набору индексов, принимающих целые (или приводимые к целым) значения из некоторого заданного непрерывного диапазона. Одномерный массив можно рассматривать как реализацию абстрактного типа данных вектор.
Блок (также говорят блок кода, блок команд, блок инструкций) в программировании — это логически сгруппированный набор идущих подряд инструкций в исходном коде программы, является основой парадигмы структурного программирования.
Соглашение о вызове (англ. calling convention) — описание технических особенностей вызова подпрограмм, определяющее...
В императивном программировании
порядок выполнения (порядок исполнения, порядок вычислений) — это способ упорядочения инструкций программы в процессе её выполнения.
Опера́ция — конструкция в языках программирования, аналогичная по записи математическим операциям, то есть специальный способ записи некоторых действий.
Логи́ческий тип да́нных, или булев тип, или булевый тип (от англ. Boolean или logical data type) — примитивный тип данных в информатике, принимающий два возможных значения, иногда называемых истиной (true) и ложью (false). Присутствует в подавляющем большинстве языков программирования как самостоятельная сущность или реализуется через численный тип данных. В некоторых языках программирования за значение истина полагается 1, за значение ложь — 0.
Итератор (от англ. iterator ― перечислитель) — интерфейс, предоставляющий доступ к элементам коллекции (массива или контейнера) и навигацию по ним. В различных системах итераторы могут иметь разные общепринятые названия. В терминах систем управления базами данных итераторы называются курсорами. В простейшем случае итератором в низкоуровневых языках является указатель.
Абстрактное синтаксическое дерево (АСД) — в информатике конечное помеченное ориентированное дерево, в котором внутренние вершины сопоставлены (помечены) с операторами языка программирования, а листья — с соответствующими операндами. Таким образом, листья являются пустыми операторами и представляют только переменные и константы.
Каламбур типизации является прямым нарушением типобезопасности. Традиционно возможность построить каламбур типизации связывается со слабой типизацией, но и некоторые сильно типизированные языки или их реализации предоставляют такие возможности (как правило, используя в связанных с ними идентификаторах слова unsafe или unchecked). Сторонники типобезопасности утверждают, что «необходимость» каламбуров типизации является мифом.
Сопрограммы (англ. coroutines) — методика связи программных модулей друг с другом по принципу кооперативной многозадачности: модуль приостанавливается в определённой точке, сохраняя полное состояние (включая стек вызовов и счётчик команд), и передаёт управление другому. Тот, в свою очередь, выполняет задачу и передаёт управление обратно, сохраняя свои стек и счётчик.
Подробнее: Сопрограмма
Стек вызовов (от англ. call stack; применительно к процессорам — просто «стек») — в теории вычислительных систем, LIFO-стек, хранящий информацию для возврата управления из подпрограмм (процедур, функций) в программу (или подпрограмму, при вложенных или рекурсивных вызовах) и/или для возврата в программу из обработчика прерывания (в том числе при переключении задач в многозадачной среде).
Подпрограмма (англ. subroutine) — поименованная или иным образом идентифицированная часть компьютерной программы, содержащая описание определённого набора действий. Подпрограмма может быть многократно вызвана из разных частей программы. В языках программирования для оформления и использования подпрограмм существуют специальные синтаксические средства.
Структура данных (англ. data structure) — программная единица, позволяющая хранить и обрабатывать множество однотипных и/или логически связанных данных в вычислительной технике. Для добавления, поиска, изменения и удаления данных структура данных предоставляет некоторый набор функций, составляющих её интерфейс.
Объе́ктный мо́дуль (также — объектный файл, англ. object file) — файл с промежуточным представлением отдельного модуля программы, полученный в результате обработки исходного кода компилятором. Объектный файл содержит в себе особым образом подготовленный код (часто называемый двоичным или бинарным), который может быть объединён с другими объектными файлами при помощи редактора связей (компоновщика) для получения готового исполнимого модуля либо библиотеки.
Литерал (англ. literal ) — запись в исходном коде компьютерной программы, представляющая собой фиксированное значение. Литералами также называют представление значения некоторого типа данных.
Кома́нда — это указание компьютерной программе действовать как некий интерпретатор для решения задачи. В более общем случае, команда — это указание некоему интерфейсу командной строки, такому как shell.
Запись — агрегатный тип данных, инкапсулирующий без сокрытия набор значений различных типов.
Анонимная функция в программировании — особый вид функций, которые объявляются в месте использования и не получают уникального идентификатора для доступа к ним. Поддерживаются во многих языках программирования.
Пара́метр в программировании — принятый функцией аргумент. Термин «аргумент» подразумевает, что конкретно и какой конкретной функции было передано, а параметр — в каком качестве функция применила это принятое. То есть вызывающий код передает аргумент в параметр, который определен в члене спецификации функции.
Адрес — символ или группа символов, которые идентифицируют регистр, отдельные части памяти или некоторые другие источники данных, либо место назначения информации.
Двоичное дерево поиска (англ. binary search tree, BST) — это двоичное дерево, для которого выполняются следующие дополнительные условия (свойства дерева поиска)...
Замыкание (англ. closure) в программировании — функция первого класса, в теле которой присутствуют ссылки на переменные, объявленные вне тела этой функции в окружающем коде и не являющиеся её параметрами. Говоря другим языком, замыкание — функция, которая ссылается на свободные переменные в своей области видимости.
Ссылка в программировании — это объект, указывающий на определенные данные, но не хранящий их. Получение объекта по ссылке называется разыменованием.
В языках программирования объявле́ние (англ. declaration) включает в себя указание идентификатора, типа, а также других аспектов элементов языка, например, переменных и функций. Объявление используется, чтобы уведомить компилятор о существовании элемента; это весьма важно для многих языков (например, таких как Си), требующих объявления переменных перед их использованием.
Подробнее: Объявление (информатика)
Кодогенерация — часть процесса компиляции, когда специальная часть компилятора, кодогенератор, конвертирует синтаксически корректную программу в последовательность инструкций, которые могут выполняться на машине. При этом могут применяться различные, в первую очередь машинно-зависимые оптимизации. Часто кодогенератор является общей частью для множества компиляторов. Каждый из них генерирует промежуточный код, который подаётся на вход кодогенератору.
Макрокоманда , макроопределение или мáкрос — программный алгоритм действий, записанный пользователем. Часто макросы применяют для выполнения рутинных действий. А также макрос — это символьное имя в шаблонах, заменяемое при обработке препроцессором на последовательность символов, например: фрагмент html-страницы в веб-шаблонах, или одно слово из словаря синонимов в синонимизаторах.
Инкремент , инкрементирование (от англ. increment «увеличение») — операция во многих языках программирования, увеличивающая переменную. Обратную операцию называют декремент (уменьшение). Чаще всего унарная операция приводит переменную к следующему элементу базового типа (то есть для целых чисел — увеличивает на 1, для символьного типа даёт следующий символ в некоторой таблице символов и т. п.)
Динамическое распределение памяти — способ выделения оперативной памяти компьютера для объектов в программе, при котором выделение памяти под объект осуществляется во время выполнения программы.
Дерево — одна из наиболее широко распространённых структур данных в информатике, эмулирующая древовидную структуру в виде набора связанных узлов. Является связным графом, не содержащим циклы. Большинство источников также добавляют условие на то, что рёбра графа не должны быть ориентированными. В дополнение к этим трём ограничениям, в некоторых источниках указывается, что рёбра графа не должны быть взвешенными.
Переме́нная в императивном программировании — поименованная, либо адресуемая иным способом область памяти, адрес которой можно использовать для осуществления доступа к данным. Данные, находящиеся в переменной (то есть по данному адресу памяти), называются значением этой переменной.
Фу́нкция вы́сшего поря́дка — в программировании функция, принимающая в качестве аргументов другие функции или возвращающая другую функцию в качестве результата. Основная идея состоит в том, что функции имеют тот же статус, что и другие объекты данных. Использование функций высшего порядка приводит к абстрактным и компактным программам, принимая во внимание сложность производимых ими вычислений.
Путь (англ. path) — набор символов, показывающий расположение файла или каталога в файловой системе.
Упоминания в литературе (продолжение)
Можно понять, насколько важную роль играют элементы, взаимосвязи и цели системы, если представить, как они по
очереди изменяются. Изменение элементов обычно оказывает наименьшее влияние на систему. Если вы замените всех игроков в футбольной команде, она все равно останется футбольной командой, как бы ни играла – значительно хуже или лучше (отдельные элементы могут быть и правда важными). Деревья постоянно обновляют свои клетки и каждый год сбрасывают листья, но остаются деревьями. В вашем теле большая часть клеток каждые несколько недель заменяется, но тело по-прежнему ваше. В университетах постоянно изменяется состав студентов, профессоров и руководителей, но они по-прежнему остаются университетами. Точно так же, например, удивительным образом сохраняют свою идентичность и крупные компании типа General Motors, несмотря на текучесть кадров, и конгресс США, члены которого регулярно переизбираются. Система, как правило, продолжает существовать даже при полной замене всех ее элементов, пока их взаимосвязи и цели остаются неизменными.
В целом ситуация, когда материалы сайта в
первую очередь ориентированы на поискового робота, а не на конечного пользователя, не может не вызывать опасений. Так, например, одно время AltaVista особенно высоко оценивала содержимое заголовка страницы, помещаемое в контейнер TITLE. В результате список отклика этого индекса возглавили сотни документов, имеющих вместо связного заголовка набор ключевых слов и фраз. Именно этот набор становился по умолчанию именем закладки на документ при работе с большинством браузеров.
Диаграмма Парето – простой, но очень эффективный инструмент для наглядного изображения имеющихся вопросов и проблем. Значения частоты наступления событий распределяются по величине, и сразу же становится понятно, к решению каких вопросов нужно приступить в первую
очередь. Это будут те отклонения и дефекты, на которые приходится максимальная доля расходов в процессе производственной деятельности. Причем можно утверждать, что приблизительно на 20 % всех внутренних проблем качества доведется 80 % расходов на выявление и устранение дефектов.
Соответственно, в рамках модели бизнес-архитектуры информационная компонента включает в себя все те информационные объекты (потоки, документы, данные), которые непосредственно связаны с бизнес-событиями. Реализуемые описательные модели информационной компоненты являются более абстрактными, чем в случае решения проектных задач по разработке приложений. В
первую очередь эти модели используют язык бизнеса и обеспечивают контекст, который требуется для моделирования данных.
С другой стороны, практика показывает, что автоматизацией транспортный отдел охватывается едва ли не в
последнюю очередь и на выделенный сервер просто может не хватить бюджета. Поэтому базу данных устанавливают на обычный рабочий компьютер, за которым работает пользователь с обычными офисными приложениями. В этом случае говорят об одноранговой сети.