Словник з програмування
А
Адреса – номер байта в
оперативній або іншій пам'яті комп'ютера.
Адреса змінної
– адреса першого байта ділянки пам'яті, що займається змінною.
Алфавіт –
скінченна множина символів.
Алгебра Буля
– алгебра, множина елементів якої складається з бульових
значень "хибність" і "істина" та операцій бульового множення
(кон'юнкція), бульового додавання (диз'юнкція) і заперечення. У мові
Паскаль значення позначаються сталими false і true, а операції
– знаками and, or і not відповідно.
Алгоритм –
описання дій, які треба виконати для розв'язання якоїсь задачі.
Алгоритм евристичний
– алгоритм, побудований на основі евристики.
Аргумент у виклику підпрограми
– вираз, який відповідає параметрові, означеному в заголовку
підпрограми. Якщо параметр є ім'ям змінної, то аргумент задає значення,
що присвоюється параметрові-значенню перед виконанням виклику, або
змінну, що ставиться у відповідність параметрові-змінній. Якщо параметр
є ім'ям підпрограми, то аргумент задає підпрограму, яка при виконанні
виклику "підставляється на місце" параметра. У сучасних мовах
програмування параметр може бути ім'ям типу – тоді аргумент
задає тип.
Б
Байт –
ділянка пам'яті, що може мати 256 різних станів. Кожний байт
оперативної пам'яті має свій номер – адресу.
Бібліотека підпрограм
– файл, у якому в системі програмування зберігаються
"стандартні" підпрограми.
Блок –
ділянка дискової пам'яті фіксованого розміру (найчастіше, 512 байтів),
що є одиницею фізичного обміну даних.
Блок-схема
– форма вираження алгоритмів. Послідовність дій задається
стрілками.
Буфер –
спеціальна ділянка пам’яті програми, яка надається кожній
файловій змінній при її зв’язуванні. З її використанням
зменшується загальна кількість фізичних обмінів даними між пам'яттю
програми та зовнішніми носіями, що сприяє більш ефективному виконанню
програми.
В
Виклик підпрограми
– позначення процесу виконання підпрограми. У мові Паскаль
виклик функції є виразом – його значенням є значення, що
повертається з виклику. Виклик процедури є оператором.
Виклик підпрограми рекурсивний
– виклик підпрограми, записаний у її власному тілі.
Вираз (мови високого рівня)
– запис, що задає застосування операцій до операндів
– значень простіших виразів. Застосування операцій утворює
процес обчислення значення виразу. Результатом цього процесу є значення
виразу. У загальному розумінні це запис у деякій системі позначень,
тобто мові.
Відношення
– одна з операцій порівняння, позначених у мові Паскаль
знаками =, <>, <, <=, >, >=.
В математиці відношенням на множині називається підмножина її
декартового квадрату.
Вказівник
– змінна, значеннями якої є адреси.
Вказівник типізований
– змінна, значеннями якої є адреси змінних деякого типу,
заданого в її означенні.
Г
Генератор псевдовипадкових чисел
– підпрограма, в результаті багаторазових викликів якої
породжується послідовність псевдовипадкових чисел.
Глибина рекурсії викликів рекурсивної
підпрограми – кількість викликів
рекурсивної підпрограми, процеси виконання яких розпочато, але ще не
закінчено.
Граматика
– система описання структури виразів мови. У ній задаються
алфавіт (множина термінальних символів), система понять мови (множина
нетермінальних символів), а також правила побудови виразів мови
(множина продукцій, або правил виведення). Є однією з метамов.
Д
Дані –
значення, записані в оперативній пам'яті або іншому пристрої комп'ютера.
Директива транслятора –
завдання того чи іншого режиму трансляції програми. Можуть задаватися
за допомогою засобів системи програмування або безпосередньо в
програмі. У Турбо Паскаль-програмах записуються як коментарі вигляду
{$послідовність-директив}.
Дія елементарна
– узагальнення присвоювань та операцій над значеннями
скалярних типів (порівняння, додавання, множення тощо).
Доступний елемент файла
– елемент, який можна читати або записувати в даний момент
виконання програми.
Доступність компонента структури даних
– можливість обробляти компонент у той чи інший момент
виконання програми. Компоненти рівнодоступні, якщо їх доступність не
залежить від їх розташування в структурі, інакше вони нерівнодоступні.
Драйвер –
програма, за допомогою якої виконується обмін даними між пам'яттю
програм і портом пристрою введення–виведення.
Е
Евристика
– правило, метод або прийом, призначений для підвищення
ефективності пошуку розв'язку задачі.
Екземпляр задачі
– задача, поставлена не в загальному вигляді, а з конкретним
набором значень параметрів.
Елемент масиву
– змінна типу, заданого в означенні масиву.
Ефект побічний
– зміна значення змінної з ім'ям, глобальним у підпрограмі.
З
Завантаження
– запис програми в оперативну пам'ять. Виконується за
спеціальною програмою – завантажником, що входить до складу
операційної системи.
Задача –
питання чи вимога щось зробити (обчислити, намалювати тощо).
Задача масова
– задача, що ставиться в загальному вигляді з параметрами.
Запис – у
мові Паскаль змінна структурного типу, що складається з окремих змінних
скалярних і структурних типів. Те ж саме, що структура. Також це тип
змінних-записів.
Змінна (величина)
– у найширшому розумінні це узагальнення, абстракція реальних
та уявних об'єктів або їхніх окремих характеристик, які можуть мати
різні стани. У програмуванні це ділянка пам'яті, що ставиться у
відповідність імені змінної, записаного в програмі, під час виконання
цієї програми. Ім'я змінної вказує, або посилається, на цю ділянку
пам'яті.
Змінна автоматична
– змінна, розміщена під час виконання програми в пам'яті
автоматичній.
Змінна, глобальна в підпрограмі
– змінна, чиє ім'я використовується, але не означається в
підпрограмі. Воно означається в програмі або одній з підпрограм, що
охоплюють дану.
Змінна динамічна
– змінна, що створюється у вільній пам'яті і знищується при
виконанні спеціальних операцій, указаних у самій програмі. На відміну
від інших видів змінних, не має імені в програмі, а ідентифікується за
допомогою встановленого на неї вказівника.
Змінна локальна
– змінна, ім'я якої означено в підпрограмі і яка розміщається
в локальній пам'яті процесу виконання виклику підпрограми. Доступна
тільки під час виконання виклику цієї підпрограми.
Змінна локальна статична
– змінна, ім'я якої означено в підпрограмі, але яка
розміщається в статичній пам'яті програми разом із змінними програми.
Доступна тільки під час виконання виклику цієї підпрограми.
Змінна статична
– змінна, розміщена під час виконання програми в її статичній
пам'яті.
Значення –
число, символ або елемент іншої множини, представлений у комп'ютері.
І
Ідентифікатор
– позначення об'єкта, яким цей об'єкт ідентифікується, тобто
виділяється серед інших. У програмуванні це послідовність букв і цифр,
що починається з букви. Те ж саме, що ім'я. Щоправда, в мовах
програмування деякі об'єкти, що є частинами складніших об'єктів,
ідентифікуються не ім'ям, а виразом, у якому ім'я може ідентифікувати
цей складніший об'єкт. Наприклад, елементи масивів або структур.
Іменування
– присвоювання імені деякому об'єкту. У мові Паскаль
іменуються значення виразів за допомогою означень вигляду const ім'я =
вираз із сталими;
Ім'я – те
ж саме, що ідентифікатор.
Ім'я, глобальне в підпрограмі
– ім'я, записане, але не означене в підпрограмі. Воно може
означатися в програмі або одній з підпрограм, що охоплюють дану.
Ім'я зовнішнє –
ім'я, під яким файл відомий у файловій системі операційної системи.
Ім'я, локальне в підпрограмі
– ім'я, означене в ній.
Індекс –
номер елемента в послідовності. У програмуванні, як правило, є номером
елемента в масиві. У мові Паскаль індекси можуть бути елементами лише
перелічуваних типів.
Індексова множина масиву
– множина індексів елементів масиву. У мові Паскаль це носій
перелічуваного типу.
Індексування операція
– операція, застосовна до масивів. Результатом її є елемент
масиву, заданий ім'ям масиву та індексом елемента.
Ініціалізація
– означення змінної разом із присвоюванням їй початкового
значення.
Інтерпретація
– обробка програми, записаної мовою високого рівня, яка
полягає у безпосередньому виконанні дій, заданих програмою.
Здійснюється при виконанні програми-інтерпретатора.
Інформація
– відображення реального чи уявного світу в якомусь
матеріальному носії.
К
Катенація
– операція дописування до кінця однієї послідовності символів
іншої.
Код цілого додатковий
– машинна форма подання від'ємного цілого числа у двійковій
системі. Утворюється з оберненого коду додаванням 1 як до двійкового
натурального.
Код цілого обернений
– машинна форма подання від'ємного цілого числа у двійковій
системі. Утворюється з прямого коду заміною 0 на 1 і 1 на 0.
Код цілого прямий
– подання додатного цілого у двійковій системі числення,
тобто послідовністю 0 і 1.
Команда машинна
– указання процесору на зразок "прочитати значення з
оперативної пам'яті", "записати значення в пам'ять", "обчислити
результат застосування операції до значень" і т.п.
Купа – те
ж саме, що пам'ять вільна.
Л
Лексична одиниця мови, лексема
– свого роду "цеглинка мови", подібна словам у природних
мовах. Лексеми неподільні й самі по собі позначають деякий зміст.
Множина лексем мови та правил їх запису утворюють її лексику. Мова
Паскаль має п'ять видів лексем: стала, ім'я, знак операції, роздільник
і коментар.
М
Магазин –
послідовність, до кінця якої можна додавати нові елементи і вилучати їх
з цього ж кінця.
Масив –
змінна, утворена послідовністю змінних, причому:
- усі вони
(компоненти, або елементи масиву) мають той самий тип;
- кількість їх
зафіксовано в означенні масиву й у процесі виконання програми не
змінюється;
- кожний
компонент має свій номер у послідовності (індекс) і відрізняється ним
від інших елементів (ідентифікується);
- доступність
компонента для обробки не залежить від його місця в послідовності.
Масив багатовимірний
– масив, елементи якого є масивами.
Масовість алгоритму
– властивість алгоритму задавати розв'язання множини
екземплярів задачі масової.
Метамова –
мова, призначена для описання структури виразів іншої мови.
Метасимвол
– символ метамови, який вживається у її виразах і відсутній в
алфавіті означуваної мови.
Мітка –
позначення, яким оператор чи його складова частина ідентифікується в
програмі.
Мова –
система запису, призначена для передачі змісту. В основі має алфавіт і
правила утворення найпростіших виразів мови (лексем), а також правила
побудови складніших виразів із простіших. Ці дві групи правил
називаються відповідно лексичною і синтаксичною системами мови. Виразам
мови, починаючи від найпростіших, зіставляється позначений ними зміст,
тобто їхня семантика. Правила, за якими виразам мови зіставляється
зміст, утворюють семантичну систему мови. Розумінням мови і є знання
цієї системи, тобто уміння зіставити виразу його зміст.
Мова машинна
– мова запису програм машинних, до виконання яких і
призначений комп'ютер. Є системою запису команд машинних.
Мова програмування високого рівня
– мова запису програм, призначених для виконання їх
комп'ютером, у яких його дії позначено з вищим ступенем узагальнення,
ніж у мовах машинних.
Мова формальна
– множина виразів, заданих деякою формальною системою, напр.,
сукупністю форм Бекуса-Наура чи граматикою.
Модуль –
збірник означень імен у мові Паскаль.
О
Область дії означення імені
– сукупність місць у програмі, де ім'я позначає об'єкт,
вказаний саме в цьому означенні. За правилами мови Паскаль, означення
імені діє від місця його запису в підпрограмі (програмі чи модулі) до
її кінця. Якщо в цій області є підпрограми, означення діє і в них. Але
якщо вони містять своє власне означення цього імені, то за тими ж
правилам до кінця їх блоків діють їхні власні означення.
Означення імені –
запис, яким задається, що саме позначає ім'я. У мові Паскаль ім'я може
позначати змінну, сталу, тип, підпрограму, модуль, програму або її
окремий оператор. В останньому разі воно називається міткою. Програма
чи підпрограма самі по собі є означеннями їх імен.
Означення змінної з ініціалізацією
– те ж саме, що ініціалізація.
Означення рекурсивне
– означення елементів множини, яке задає елементи за
допомогою інших елементів цієї ж множини. Об'єкти, задані рекурсивним
означенням, також називаються рекурсивними.
Оператор –
запис у мові програмування, що задає зміну станів пам'яті програми. У
мові Паскаль є оператори таких типів: присвоювання, розгалуження
(умовний), складений, переходу, циклу, а також виклики процедур.
Операційна система
– система програм та інших даних, за допомогою якої
організується робота комп'ютера в цілому. Вона визначає, команди якої
саме з програм процесор має виконувати в той чи інший момент часу. Вона
також забезпечує обробку файлів.
Операція машинна
– операція, яку може виконати комп'ютер із значеннями,
записаними в регістрах процесора.
П
Пам'ять автоматична
– область пам'яті оперативної, в якій розташовуються ділянки
локальної пам'яті процесів виконання викликів підпрограм. Ця назва
походить від того, що ділянки займаються та звільняються без явних на
те указань у програмі, записаній мовою високого рівня, тобто
"автоматично". Ділянки розташовуються за принципом "останньою зайнята
– першою звільнена", тому автоматичну пам'ять називають
програмним стеком.
Пам'ять вільна
– частина пам'яті програми, у якій змінні створюються та
знищуються при виконанні операцій, указаних у самій програмі, записаній
мовою високого рівня. Називається так, тому що не займається командами
програми та змінними, означеними в програмі.
Пам'ять зовнішня
– пам'ять на зовнішніх носіях даних, наприклад, магнітних
дисках. Носії розміщаються на спеціальних пристроях уведення-виведення,
до яких належать дисководи, а також екран, клавіатура, миша та ін.
Пам'ять оперативна
– складова частина комп'ютера, призначена для зберігання
програм, що виконуються або готові до цього.
Пам'ять програми
– сукупність імен змінних, означених у програмі. Не плутати з
пам'яттю процесу виконання програми.
Пам'ять процесу виконання програми
– сукупність змінних, які у процесі виконання програми
поставлено у відповідність іменам її змінних.
Пам'ять регістрова
– пам'ять усередині процесора, утворена регістрами.
Пам'ять статична
– область пам'яті, що виділяється під змінні, означені в
програмі або модулі, а також під статичні змінні підпрограм.
Називається так, тому що протягом усього процесу виконання програми
відповідність її змінних та імен програми залишається незмінною.
Параметр –
ім'я, що позначає величину, незмінну для конкретного екземпляра задачі,
рівняння тощо. Різні значення параметра відповідають різним екземплярам
задачі, рівняння тощо. Про значення цього слова в програмуванні див
параметр підпрограми.
Параметр-змінна
– параметр Паскаль-підпрограми, який у її заголовку
означається з описувачем var. При виконанні виклику підпрограми йому
ставиться у відповідність ділянка пам'яті, уже зіставлена аргументу.
Аргументом може бути лише ім'я або інший вираз, що позначає змінну.
Параметр-значення
– параметр Паскаль-підпрограми, який у її заголовку не має
описувача var. При виконанні виклику підпрограми йому ставиться у
відповідність ділянка локальної пам'яті, куди копіюється значення
аргументу. Аргументом може бути довільний вираз відповідного типу.
Параметр-підпрограма
– параметр Паскаль-підпрограми, яким позначаються інші
підпрограми у їх викликах у тілі даної підпрограми. Ім'я конкретної
"іншої" підпрограми задається у виклику даної.
Параметр підпрограми –
ім'я, означене в заголовку підпрограми. В її блоці воно позначає
змінну, підпрограму або тип. Дії, задані підпрограмою, описуються з
використанням параметра. Ці дії виконуються з конкретним значенням,
змінною, підпрограмою або типом, що задається у виклику підпрограми як
аргумент.
Параметр фактичний – те ж саме, що аргумент
у виклику підпрограми.
Параметр формальний
– те ж саме, що параметр підпрограми.
Перелік –
взаємно однозначна відповідність між елементами множини та натурального
ряду (або його початкового відрізка 0, 1, 2, … , n).
Підпрограма
– у мові Паскаль процедура або функція. З одного боку, є
описанням розв'язання деякої задачі, що виникає як підзадача в задачах,
розв'язання яких описують програми. З іншого боку, є означенням свого
імені, яким далі у вигляді виклику підпрограми позначається процес
виконання дій, заданих нею.
Підпрограма, вкладена в дану
– у мові Паскаль підпрограма, записана в блоці даної
підпрограми (програми).
Підпрограма, що охоплює дане означення імені
– у мові Паскаль підпрограма (програма), у блоці якої
записано це означення, або підпрограма, що охоплює підпрограму, у блоці
якої записано це означення.
Підстановка аргументу на місце параметра
підпрограми за значенням – процес, у
якому обчислюється значення відповідного аргументу, вказаного у виклику
підпрограми, і присвоюється локальній змінній, поставленій у
відповідність параметру-значенню.
Підстановка аргументу на місце параметра
підпрограми за посиланням – процес,
у якому змінна, уже поставлена у відповідність аргументу, ставиться у
відповідність параметру-змінній.
Подання числа з плаваючою точкою
– подання дійсних чисел у вигляді M 2p, де M –
дробова частина (мантиса), p – порядок. У поданні зафіксовано
розряди мантиси, порядку та знаковий.
Подання числа з фіксованою точкою
– поданні дійсних чисел у вигляді E.M, де E –
ціла частина числа, M – дробова (мантиса). У поданні
зафіксовано розряди цілої та дробової частин, а також знаку.
Поле структури –
змінна, що є компонентом змінної-структури.
Поліморфізм
– у програмуванні властивість операції бути означеною для
різних типів. Така операція називається поліморфною.
Порівняння
– операції =, <>, <, >,
<=, >=. У мові Паскаль означені для всіх базових типів, а
також для всіх типів перелічуваних, що задаються програмістом.
Порт –
ділянка оперативної пам'яті, виділена кожному пристрою
уведення-виведення. З нього пристрій переносить дані на зовнішній
носій, записуючи їх, наприклад, на диск або екран комп'ютера. І саме в
порт записуються дані від пристроїв, наприклад, від клавіатури або
дисковода. Обмін даними між портом і пам'яттю програм ведеться за
допомогою спеціальних програм – драйверів.
Послідовність рекурентна
– послідовність, члени якої задовольняють деяке
співвідношення рекурентне.
Послідовність упорядкована
– послідовність довжини 1 або така, що кожний її наступний
член не менше попереднього.
Пошук за ключем
– пошук серед номерів елементів послідовності A найменшого
(як правило) номера i такого, що A[i] дорівнює заданому значенню
(ключу).
Пошук двійковий –
пошук за ключем у послідовності, значення якої упорядковані.
Називається так, оскільки його тривалість у гіршому випадку прямо
пропорційна двійковому логарифму довжини послідовності. Ключ
порівнюється з елементом у середині послідовності, після чого шукати
достатньо в одній із половин, на які розділяється послідовність. Тому
цей пошук ще називається дихотомічним.
Пошук лінійний
– пошук за ключем у послідовності, який полягає в
послідовному перебиранні елементів. Називається так, оскільки його
тривалість у гіршому випадку прямо (лінійно) пропорційна довжині
послідовності.
Програма –
те ж саме, що алгоритм. У програмуванні частіше так називають
алгоритми, призначені для виконання їх комп'ютером. Або такі, що за
допомогою комп'ютера їх можна перетворити до вигляду, придатного для
виконання комп'ютером.
Програма машинна
– програма, записана мовою машинною.
Процедура
– описання (як правило, параметризоване) обчислень, в
результаті виконання яких змінюється стан пам'яті програми або якась
інформація надходить у "зовнішній світ". Одночасно вона є означенням її
імені.
Процес –
послідовність дій. У програмуванні це дії, що виконуються за алгоритмом.
Процес виконання виклику підпрограми
– процес, у якому запам'ятовується точка повернення в
програму, обчислюються аргументи та підставляються на місце параметрів
підпрограми, виконуються оператори тіла підпрограми та відбувається
повернення до виконання програми з точки повернення.
Процесор –
складова частина комп'ютера, що виконує команди машинні. Його структура
подібна структурі комп'ютера, тобто він має свою "надоперативну"
пам'ять, внутрішню шину та власне операційний пристрій.
Р
Регістр –
ділянка пам'яті у складі процесора, в яку записуються операнди та
результати операції машинної для якомога швидшого її виконання.
Рекурсія –
використання означень рекурсивних.
Роздільник
– символ, за допомогою якого відокремлюються одне від одного
лексичні та інші одиниці програми. У мові Паскаль ними є дужки, символи
",", ";", ":" та деякі інші.
Розіменування
– породження значення змінної за її ім'ям.
Розіменування вказівника
– операція, що застосовується до вказівників. Її результатом
є сама змінна, на яку встановлено вказівник.
Рядок – у
загальному розумінні це послідовність символів із явно позначеним
кінцем. У програмуванні це 1) послідовність символів; 2) змінна,
значенням якої є послідовність символів; 3) послідовність символів із
явно позначеним кінцем у файлі-тексті.