алгоритм
Точное предписание, задающее пошаговый процесс, ведущий от исходных данных к результату за конечное число шагов
машина Поста
Математическое построение, предназначенное для уточнения понятия алгоритма
машина Тьюринга
Модель вычислительной машины, созданная А.Тьюрингом с целью уточнения понятия алгоритма. Машина Тьюринга определяется конечным числом состояний, конечным числом входных и выходных символов и командами преобразования пары (состояние, символ) в тройку (состояние, символ, перемещение ленты на одну позицию)
программа
Описание алгоритма решения задачи на языке, понятном компьютеру
структура данных
Организационная схема записи или массива, в соответствии с которой упорядочены данные, с тем чтобы их можно было интерпретировать и выполнять над ними определенные операции
тип данных
Характеристика набора данных, которая определяет диапазон возможных значений данных из набора; допустимые операции, которые можно выполнять над этими значениями; способ хранения этих значений в памяти
операционная среда
Совокупность компьютерных программ, обеспечивающая оператору возможность управлять вычислительными процессами и файлами. Операционная среда может быть частью ОС или включать в себя ОС как составную часть
эмуляция
Имитация работы одной системы средствами другой без потери функциональных возможностей и искажений результатов
язык программирования
Язык для описания программ
алгоритмический язык
Язык программирования, ориентированный на запись алгоритмов в форме, пригодной для ввода и выполнения в ЭВМ. Примерами алгоритмических языков являются: Фортран, Ада, Алгол, Паскаль, Си
декларативный язык программирования
Язык программирования, построенный на предварительном описании данных и явном указании того, что должно получиться в результате, в отличие от процедурных языков, в которых указывается, как можно получить результат. Декларативные языки, в свою очередь, можно разделить на функциональные и логические
программирование
1) Процесс создания компьютерных программ. 2) Дисциплина, изучающая структуры, языки и методы создания компьютерных программ
программное обеспечение
software
Совокупность программ для управления функционированием вычислительных систем и решения прикладных задач
программная система
программный комплекс
Система, состоящая из взаимосвязанных и взаимодействующих программ и данных
система программирования
Система для разработки новых программ на конкретном языке программирования
сервис
Услуги (функции), которые предоставляются системой, или программные средства, предоставляющие эти услуги.
функциональное программирование
Раздел дискретной математики и методология программирования, в которой процесс вычисления трактуется как вычисление значений функций
логическое программирование
Раздел дискретной математики и методология программирования, в которой вывод новых фактов из данных фактов выполняется в соответствии с заданными логическими правилами
бета-тестирование
Использование почти готовой версии продукта с целью выявления максимального числа ошибок в его работе для их последующего устранения перед окончательным выходом (выпуском) продукта на рынок, к массовому потребителю
подпрограмма
Программа, включаемая как часть в другие программы по мере необходимости. Обычно подпрограмма состоит из объявлений данных и операторов, которые можно многократно вызывать из различных частей включающей программы
утилита
Программа, предназначенная для решения вспомогательных задач, например, для расширения функциональности, сервисного и информационного обслуживания
препроцессор
Программа, обеспечивающая предварительную обработку входных данных
драйвер
Компьютерная программа, с помощью которой другая программа получает доступ к аппаратному обеспечению
спецификация
Формальное описание системы или ее части
сигнатура
Обозначение, подпись, условные знаки, значение хеш-функции
сигнатура функции
Имя функции, тип возвращаемого значения и список аргументов с указанием их типов. Собственно действия, выполняемые при обращении к функции, определяются семантикой функции
блок-схема
граф-схема
Средство записи алгоритмов в виде диаграмм
API
Application Programming Interface
прикладной интерфейс программирования
Набор функций, которые имеющееся программное обеспечение (например, операционная система или графическая библиотека) предоставляет программисту для разработки прикладных программ
DLL
Dynamic Link Library
Библиотека многократно используемых и динамически загружаемых компонентов (функций API)
класс
В программировании набор сущностей, имеющих одинаковые атрибуты, операции и отношения, описание внутренних данных сущностей и операций, которые сущность может выполнять
объект
Экземпляр класса. Объект существует во время выполнения программы, хранит данные и операции для работы с этими данными, при этом данные объекта могут быть изменены только с помощью операций объекта
рекурсия
Частичное определение объекта через самого себя, при рекурсии предварительно задается один или несколько базовых объектов или методов, а затем на их основе определяются правила построения определяемого класса
рекурсивная функция
Функция, определяемая через рекурсию, т.е. функция, которая в своем определении содержит обращение к самой себе
процесс
Совокупность набора исполняющихся команд, ассоциированных с ним ресурсов (выделенная для исполнения память или адресное пространство, стеки, используемые файлы и устройства ввода-вывода и т. д.) и текущего момента его выполнения (значения регистров, программного счетчика, состояние стека и значения переменных), находящуюся под управлением операционной системы
структурное программирование
Методология разработки программного обеспечения, в основе которой лежит представление программы в виде структуры блоков трех типов: последовательного исполнения, ветвления и цикла
процедурное программирование
Методология программирования, основанная на использовании подпрограмм (процедур и функций)
объектно-ориентированное программирование
ООП
Программирование, в основу которого положено понятие объекта, объединяющего в себе как данные, так и действия над ними
полиморфизм
Свойство подпрограмм (процедур, функций) обрабатывать данные разными способами в зависимости от типа данных
компонент
Часть системы, в частности, программы, допускающая многократное использование
транзакция
Последовательность логически связанных действий, переводящих информационную систему из одного состояния в другое. Транзакция либо должна завершиться полностью, либо система должна быть возвращена в исходное состояние. В частности, транзакция — совокупность операций над данными, которая либо выполняется полностью, либо не выполняется совсем
проектирование, основанное на данных
проектирование, ориентированное на данные
Data-Structure-Centered Design
Проектирование ПО (программирование), начинающееся с определения обрабатываемых системой данных, для которых затем реализуются функции управления этими данными.
компонентно-ориентированное программирование
аспектно-ориентированное программирование
Дополнение объектно-ориентированного программирования, в котором создаются модули, называемые аспектами, отражающие взаимосвязанное (crosscutting) поведение основных модулей. В аспектах отражается поведение, которое трудно реализовать в одном модуле, оно касается нескольких модулей
библиотека классов
Совокупность компонентов в ООП и компонентно-ориентированном программировании. Пример библиотеки классов — MFC
визуальное программирование
Создание программ (программирование) с помощью визуальных средств. При этом программист создает графическую модель программы, а текст программы будет получен автоматически по заданной модели
контейнер
Конструкция, вмещающая в себя совокупность классов или других программных компонентов
пространство имен
Совокупность имен классов определенного приложения, в одном пространстве не может быть конфликта имен
дистрибутивная система
дистрибутив
Набор файлов, с которого можно сделать рабочий вариант программной системы
сервис-ориентированная архитектура
SOA
Service Oriented Architecture
Архитектура программной системы, в которой компонентами системы являются высокоуровневые сервисы
язык ассемблера
Символьный язык программирования, инструкции которого соответствуют машинным инструкциям, а структуры данных размещаются непосредственно в регистрах процессора и системной памяти
ассемблер
assembler
Программа, преобразующая команды языка ассемблера в объектный код
повторная входимость
Свойство подпрограммы правильно функционировать при многократных обращениях к ней из разных программ. При этом каждая программа исользует одно и то же адресное пространство, а хранящиеся величины не изменяются между вызовами
реентерабельность
Свойство программы правильно функционировать при совместном ее использовании несколькими пользователями или процессами
проприетарная
Собственническая, закрытая для изменений кем-либо, кроме собственника
компьютерная алгебра
Совокупность правил и методов символьной обработки математических выражений, реализуемая в математических пакетах, таких как пакет Mathematica
Объектно-ориентированное программирование
метод
абстракция
Описание объекта без использования второстепенных деталей
инкапсуляция
Объединение данных и методов в закрытой от пользователя и других объектов части объекта
наследование
Способ описания иерархии объектов в объектно-ориентированном программировании. Объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерные только для него.
абстрактный класс
Класс, не имеющий объектов, т.е. от абстрактного класса можно только наследовать.
private
В ООП спецификатор доступности данных или методов только для методов данного класса (т.е. класса, в котором данные или метод описаны)
public
В ООП спецификатор доступности данных или методов, описываемых этим спецификатором, для методов других классов