тип данных data type Термин, определяющий отнесение ячеек памяти по их содержимому, формату и назначению к определенным группам в ЭВМ и языках программирования Типы данных определяют допустимые для них процедуры, функции и операции. программирование 1. programming 1. Процесс написания программ на языках программирования. программа program Реализация алгоритма на языке программирования для его обработки на ЭВМ. Эта реализация подразумевает использование определенных типов данных. язык программирования 1. programming language 1. Программный комплекс, позволяющий подготовить и реализовать некоторый алгоритм для выполнения на ЭВМ. язык программирования 2. programming language 2. Некоторые правила, с помощью которых алгоритм преобразуется в программу для ЭВМ. Эти правила накладывают ограничения на синтаксис, типы данных, языковые конструкции, процедуры и функции. Эти ограничения могут иметь принципиальное значение на реализацию алгоритма, поэтому выбор языка определяется на ранних этапах разработки проекта. процедура procedure Основная единица процедурного программирования. Процедура – это обособленная часть общего алгоритма, имеющая самостоятельное значение и разбивающая общую программу на части, простые в описании, а значит – легкие в реализации. В более узком смысле процедура – это подпрограмма (subroutine), не возвращающая значения, кроме параметров, передаваемых по ссылке. функция 1. function 1. В узком смысле – подпрограмма, возвращающая единственное значение – значение функции. алгоритм algorithm Последовательность действий, приводящая к определенному однозначному результату. машинные типы данных computer data types Типы данных, поддерживаемые архитектурой вычислительных машин (прежде всего – микропроцессором) и «зашитые» в реализацию языков программирования 1. пользовательские типы данных user data types Типы данных, созданные пользователем ЭВМ или системным программистом на основе машинных типов данных. класс class Пользовательский тип данных, описанный в терминах объектно-ориентированного программирования (ООП). Включает в себя как данные, так и методы (разновидность процедур и функций). приведение типов В языках программирования – изменение типа данных при реализации алгоритмов. С помощью приведения типов можно, например, результат целочисленной арифметики присвоить переменной плавающей точки. Операция приведения типов может не работать в контекстно-зависимых языках, таких как Perl. принудительное приведение типов Явное, не зависящее от реализации языка программирования (1) изменение типов данных для выражений и функций этого языка. Принудительным приведением типов нужно пользоваться с осторожностью, поскольку эти операции не генерируют ошибок (переполнения, исчезновения значащих разрядов, например). Но часто это единственный способ заставить работать функцию. бит 1. bit 1. Единица информации в информатике, которая может принимать одно из двух значений: «0» или «1». бит 2. bit 2. Минимальная ячейка памяти, предназначенная для хранения двоичного разряда. байт 1. byte 1. Единица информации, состоящая из 8 бит. С помощью одного байта можно представить до 256 символов, что достаточно для представления алфавитов европейских языков (см. кодировки). байт 2. byte 2. Кратная байту (1) ячейка памяти в ЭВМ. Байт – минимальная единица информации, воспринимаемая ЭВМ. Все ячейки в ЭВМ выровнены по границам байта. ячейка памяти memory cell Устройство в ЭВМ (регистр, конденсаторная ячейка и т.п.), способное записывать, хранить в себе и выдавать по запросу двоичные числа. Представляет собой последовательность битов и байтов. полуслово semiword Ячейка памяти размером в два байта. Термин используется в «многоразрядных» ЭВМ. слово word Ячейка памяти размером в два байта (для процессоров семейства x86) или четыре байта (для «многоразрядных» процессоров). двойное слово double word Ячейка памяти размером от 4 байтов (для процессоров семейства x86) и от 8 байтов (для «многоразрядных» процессоров). старший бит (числа) old bit (of a number) Самый «левый», расположенный в начале ячейки памяти бит. целые числа integer Целые числа в «математическом» смысле, представленные в ЭВМ в двоичном виде, в виде последовательности нулей и единиц. Различают типы целые со знаком и целые без знака. Целые числа имеют длину от одного байта до одного двойного слова. натуральный ряд чисел natural number sequence Обычные числа, используемые при счете людьми (например, «на пальцах»). Натуральный ряд начинается с единицы и продолжается сколь угодно больше (до «бесконечности»). целые без знака unsigned integer Представляют практически «натуральный ряд» чисел (в математическом понимании), записанный в двоичном формате и начинающийся не с «1», а с нуля. Старший бит этого типа является двоичным разрядом. целые со знаком signed integer Представляет собой тип «целых чисел», представленных в двоичной форме. Старший байт этого типа знак числа («1»), а сами отрицательные числа представлены в «дополнительном коде». программный интерфейс приложения API Встроенный в приложение интерфейс (который может быть встроенным языком программирования или библиотекой с функциями для работы с приложением), позволяющий пользователю расширить количество функций (или, по-другому, повысить функциональность) базового приложения. К API относятся языки программирования VBA, VBScript, JScript, ME Script и другие языки программирования. Windows API Windows API Библиотека стандартных функций для языков программирования, позволяющая создавать приложения Windows на стандартном языке программирования. В отличие от других библиотек, библиотека Windows API работает на «нижнем» уровне программирования, поэтому созданные с ее помощью программы имеют очень «объемный» код. целочисленная арифметика Арифметические операции, определенные на множестве целых чисел. Результатом целочисленной арифметики являются только целые значения. Поэтому операция деления в ней работает не вполне корректно, а многие функции (например, извлечение корня) в целочисленной арифметике не определены. смена знака числа sign of a number replacement Изменение знака («префикса») числа с «плюса» на «минус» и наоборот. При этом положительное число становится отрицательным и наоборот. инкремент (числа) increment (of a number) Увеличение значения числа на единицу. декремент decrement Уменьшение значения числа на единицу. операция отношения operation of relation Операции с числами и символьными данными, типа: «больше», «меньше», «равно», «не равно», – возвращаемые логические значения: «Истина» или «Ложь». Операции равенства – неравенства не работают в арифметике с плавающей точкой. переполнение 1. overflow 1. Прерывание (программная ошибка), возникающее в случае превышением результатом арифметической операции верхнего или нижнего (отрицательного) предела числа. Эта ошибка является ошибкой выполнения программы. переполнение 2. overflow 2. Попытка записать в регистр или ячейку памяти целое число с разрядностью, превышающей разрядность этого регистра или ячейки памяти. деление на ноль divide by zero Прерывание (программная ошибка), возникающая в случае арифметического деления на ноль. Эта ошибка является ошибкой выполнения программы. исчезновение знака Прерывание (программная ошибка), означающая, что в старший бит регистра (то есть признак знака) был перенос единицы из следующего за ним разряда (бита). Соответствует прерыванию «переполнение» (2), но для целых чисел со знаком. ошибка выполнения run-time error Ошибка, возникающая не на этапе разработки программы, а в процессе «тестового прогона» написанной программы. Заметим, что ошибка выполнения – это не всегда ошибка алгоритма, но всегда – ошибка разработчика! прерывание interruption Временное или «постоянное» приостановление работы программы в случае нештатной ситуации (ошибки в программе, запроса на ввод данных и т.п.). целочисленное деление integer division Операция деления, осуществленная на множестве целых чисел. В отличие от «арифметического» деления при целочисленном делении дробная часть отбрасывается. булева алгебра boolean algebra Раздел математики, изучающий операции с логическими данными, то есть данными, принимающие значения: «истина» и «ложь» («true» и «false»). булевы данные boolean См. логические данные логические данные logical data Переменные, принимающие значения: «Истина» («true») и «Ложь» («false»). Принято обозначать значение: 'false' = 0, а 'true' = 1 или 'true' <> 1. логическая операция boolean operation Операция, выполняемая в булевой алгебре над логическими данными. К логическим операциям относят: конъюнкцию, дизъюнкцию, отрицание, «исключающее ИЛИ» и др. конъюнкция conjunction, AND Операция «логического И», «логического умножения». Осуществляет операцию над булевыми данными, как показано в таблице C.IV. дизъюнкция disjunction, OR Операция «логического ИЛИ», «логического сложения». Осуществляет операцию над булевыми данными, как показано в таблице C.IV. отрицание negation Операция «логического НЕ», меняющая значение следующей за ней логической переменной на противоположный (с 'true' на 'false', и наоборот). логическое «исключающее ИЛИ» XOR Операция над логическими данными, осуществляющая действия, какие показаны в таблице C.IV. булевы типы boolean data types Обозначение логических данных в языках программирования. АНИС ANSI Сокращение от «Американский национальный институт стандартов». Главное учреждение по разработке стандартов в США. ANSI C ANSI C Стандарт на язык Си, принятый в начале 90-х годов XX века. Программы, написанные с применением данного стандарта, являются кроссплатформенными (то есть могут, в принципе, работать с любой операционной системой). Все имеющиеся реализации языка Си поддерживают этот стандарт, но имеют также «дополнительные» средства, расширяющие этот стандарт. арифметика плавающей точки floating point arithmetic «Обычная» арифметика, реализуемая на компьютере. Имеет некоторые ограничения на операции отношения. мантисса mantissa Значащие разряды вещественного числа, записанные в виде последовательности цифр после десятичной точки. См. соответствующий раздел в учебнике. порядок order of magnitude Степень числа – основания счисления, на которую надо умножить мантиссу, чтобы получить вещественное число. вещественное (число) real (number) Число, представленное целой и дробной частью. В отличие от рационального числа, дробная часть вещественного числа может быть бесконечной. основание счисления base of the notation Количество цифр, используемых при представлении чисел. Так, основание десятичной системы счисления (цифры 0-9) равно десяти, двоичной (0-1) – два и т.д. одинарная точность float Регистр для представления вещественных чисел с плавающей точкой длиной 4 байта. двойная точность double Регистр для представления вещественных чисел длиной 8 байт. возведение в степень involution Операция последовательного умножения чисел на самих себя. Возведение числа x в степень y обозначается как x^y. возведение в целую степень integer involution Возведение в степень числа x, где y – целая величина. Например: x^0 = 1, x^1 = x, x^2 = x·x, x^3 = x·x·x, и т.д. алгебраические функции algebraic functions Функции для реализации операций возведения в дробную степень, логарифмирования функции, нахождение Бесселевых, сферических и др. функций, требующих вычислений по сложным алгоритмам. переполнение порядка order overflow Прерывание, возникающее, если в результате умножения вещественных чисел порядок результата превысил сове максимальное либо минимальное значение. исчезновение порядка missing of the order Прерывание, возникающее при обнулении мантиссы при минимальном значении порядка. кодовая таблица code table 1. См. кодировка. таблица символов code table 1. См. кодировка. кодировка codepage Порядок соответствия литер символов целым числам. длина кодировки codepage length Разрядность целого числа, используемого для представления литер. Используются однобайтные, двухбайтные кодировки и кодировки переменной длины. сплошная нумерация continuous numeration Кодировка имеет сплошную нумерацию литер алфавита, если последовательность литер пронумерована «подряд», соседними числами без разрывов. Сплошную нумерацию символов латиницы имеют все кодировки, кроме EBCDIC. Сплошная нумерация кириллических символов реализована в кодировках ANSI cp 1251, USSR GOST, Unicode и некоторых других. ASCII («аски») код ASCII 7-ми значный код для представления основных знаков препинания, цифр и букв латинского алфавита. Имеет «сплошную» нумерацию букв латинского алфавита. В настоящее время является основой для других кодировок. UNIX («ЮНИКС») UNIX Операционная система персональных компьютеров и мощных ЭВМ, разработанная в корпорации AT&T в 1972 г. Первоначально весь Интернет был доступен только для машин, работающих под операционной системой UNIX. В СССР эта операционная систем была известна под именем: «Демос». VAX («вакс») VAX Знаменитый компьютер корпорации Digital Equipment, породивший в 70-х – 80-х годах XX века множество своих «клонов» в виде СМ ЭВМ в СССР и странах СЭВ. Имел собственную операционную систему. В настоящее время его производство и техническая поддержка прекратились. MS-DOS (ДОС) MS-DOS Операционная система персональных компьютеров 80-х – 90-х годов XX века, основанных на процессорах Intel. Linux («Линукс») Linux Одна из реализаций операционной системы UNIX, использующей открытый код и открытое программное обеспечение. Её «ядро» разработано в начале 90-х годов XX века Линусом Торвальдсом (Финляндия). кириллическая кодировка Cyrillic codepage Кодировка, содержащая кириллические символы. К кириллическим кодировкам относят: OEM 866, ANSI cp 1251, USSR GOST, KOI8-R, Unicode, UTF-8 и др. OEM 866 OEM 866 Кириллическая кодировка MS-DOS. По-другому называется: «альтернативная русская кодировка». ANSI cp 1251 ANSI cp 1251 Кириллическая кодировка MS Windows, основанная на кодировке ASCII и имеющая длину 8 бит. Имеют сплошную нумерацию для латинских литер и частично сплошную – для литер русского алфавита. кодировка ГОСТ СССР USSR GOST 8-ми битная кодировка со сплошной нумерацией кириллических символов. Большого распространения не получила. КОИ-8 KOI8-R 8-ми битная кириллическая кодировка, используемая в UNIX и ее клонах. В настоящее время является устаревшей. юникод Unicode Кодировка длиной 2 байта для представления всех символов всех национальных алфавитов. Имеет в два раза больший объем, чем основанные на ASCII кодировках. В настоящее время является стандартом для кодирования символов национальных алфавитов. UTF-8 UTF-8 Кодировка переменной длины, хранящая символы латиницы в кодировке ASCII, а все символы национальных алфавитов – в юникоде. Часто позволяет более «компактно» представлять текст. В настоящее время является стандартом для кодирования символов в операционных системах. символьный тип данных symbol (character) data type Целый тип данных, используемый для хранения в нём символов в одной из кодировок. Различают примитивные символьные данные и специальные символьные типы данных. Они отличаются в «машинной» реализацией типов в языках программирования. примитивный символьный тип данных primitive character data type Символьный тип данных, реализованный в виде целочисленной ячейки памяти для хранения одного символа. Для хранения строки символов будет использован массив этих данных. Обычно этот тип данных обозначается как 'char'. строка string Последовательность символов в одной из кодировок, оканчивающаяся терминальным символом. Обычно строка представляется в виде массива примитивных типов данных. Ориентировочно максимальная длина строки лежит в пределах: ~ 255 – 2047 символов. терминальный символ строки terminal character of a string Символ, указывающий на окончание строки символов. Все символы, расположенные после терминального символа, игнорируются. В Си-подобных языках терминальный символ – ноль ('\0', или '0x00'). максимальный индекс строки maximal string index Заданные программистом или компьютерными системами ограничения на количество символов в строке для примитивных символьных данных. Изменяется от 255 (Бейсик) до 64K (Си), но на практике не советуется устанавливать его большим 2000 символов. специальный символьный тип данных special symbol data type Символьный тип данных, реализованный в виде классов. К специальным символьным типам данных относят классы: «string» из библиотеки ClassLib Borland C/C++, «CString» из библиотеки MFC Microsoft Visual C/C++, стандартный класс языка Java – «String» и др. Как правило, текст внутри переменных такого типа не меняется! массив array Представляет собой смежные ячейки памяти, начиная с начального адреса массива, и до последней ячейки памяти массива. Доступ к каждой ячейки памяти массива осуществляется при помощи его индекса. индекс index Порядковый номер ячейки массива. В Си-подобных языках индекс первой ячейки начинается с 0. Си подобные языки C based languages Языки программирования, имеющие синтаксис и обозначения, сходные с принятыми обозначениями в языке Си. К Си-подобным языкам автор относит: C++, C#, Java, Perl, Python, C–, JScript и др. структура structure Представляет собой несколько типов данных, расположенных вместе, в соседних ячейках памяти. Структура как тип данных имеет собственное имя, длина ее элемента вычисляется с помощью функции: sizeof. объединение union Представляет собой несколько типов данных, расположенных в одной ячейке памяти вместо друг друга. Объединение имеет собственное имя как тип данных. перечисления enumerate Представляет собой целые переменные без знака, способные принимать значения только именованных констант, причем первой константе присваивается значение 0. константа constant Число или символьная строка, не меняющаяся во время исполнения программ. Именованная константа – переменная с неизменным значением. Константа имеет определенный тип данных. переменная variable Идентификатор, обозначающий ячейку памяти для хранения данных со значением определенного типа. Этот идентификатор называется именем переменной. идентификатор identification Любая последовательность латинских букв и цифр, начинающаяся с латинской буквы. Идентификаторы служат именами констант и переменных. модификатор modification Идентификатор, служащий для уточнения и/или изменения значения по-умолчанию для указателей, типов данных и т.п. указатель pointer Целая переменная, хранящая адрес переменной или константы заданного типа. В Си-подобных языках обозначения массива и указателя эквивалентны. ссылка link «Разыменованный» указатель, которой в операции присвоения используется как переменная, а в параметрах функции – как адрес этой переменной. Ссылки следует использовать с осторожностью! список list Структура данных, представляющее собой «значение» и ссылку на следующий элемент списка. Обратиться к элементу списка можно через голову списка и многократному применению методов next. голова списка head of the list Адрес первого элемента списка. хвост списка tail of the list Все элементы списка, расположенные после текущего элемента. Хвост списка может быть пустым. метод next next (method) Ищет адрес следующего элемента списка. Возвращает значение: NULL, если текущий элемент списка – последний. NULL NULL «Нулевой символ» при адресации памяти. При обращении программы по этому адресу выводится сообщение: «NULL pointer assigned», и программа перестает выполняться. скаляр 1. scalar 1. (в Perl) Последовательность из одного или нескольких символов, значение (тип) которых определяется контекстом. Обозначается как: $<идентификатор>. контекст context Внешнее окружение и значение переменной, определяющее «тип данных» и результат операций. Контекст есть во всех языках, но наиболее «сильно» он реализован в Perl. массив скаляров array of scalars (в Perl) Специфический тип переменных, содержащий в себе несколько упорядоченных строковых значений. Обозначается как: @<идентификатор>. ассоциативный массив (хэш массив) hash array (в Perl) Массив парных символьных данных: «ключа» и «значения ключа». Обозначается как: %<идентификатор>. Хэш массивы широко используются в Интернете. ключ key (в Perl) Первая из парных строк символов ассоциативного массива, по которому ищется элемент с нужным значением. В хэш массиве значение ключа должно быть уникальным. значение (ключа) value (of a key) (в Perl) Вторая из парных строк символов ассоциативного массива, являющееся его символьным значением в общем понимании этого термина. В отличие от ключа, строка: «значение» может повторяться в ассоциативном массиве и даже может отсутствовать.