Сторінка
2
- кількість їх зафіксовано в означенні масиву й у процесі виконання програми не змінюється;
- кожний компонент має свій номер у послідовності (індекс) і відрізняється ним від інших елементів (ідентифікується);
- доступність компонента для обробки не залежить від його місця в послідовності. Масив багатовимірний – масив, елементи якого є масивами. Масовість алгоритму – властивість алгоритму задавати розв'язання множини екземплярів задачі масової. Метамова – мова, призначена для описання структури виразів іншої мови. Метасимвол – символ метамови, який вживається у її виразах і відсутній в алфавіті означуваної мови. Мітка – позначення, яким оператор чи його складова частина ідентифікується в програмі. Мова – система запису, призначена для передачі змісту. В основі має алфавіт і правила утворення найпростіших виразів мови (лексем), а також правила побудови складніших виразів із простіших. Ці дві групи правил називаються відповідно лексичною і синтаксичною системами мови. Виразам мови, починаючи від найпростіших, зіставляється позначений ними зміст, тобто їхня семантика. Правила, за якими виразам мови зіставляється зміст, утворюють семантичну систему мови. Розумінням мови і є знання цієї системи, тобто уміння зіставити виразу його зміст. Мова машинна – мова запису програм машинних, до виконання яких і призначений комп'ютер. Є системою запису команд машинних. Мова програмування високого рівня – мова запису програм, призначених для виконання їх комп'ютером, у яких його дії позначено з вищим ступенем узагальнення, ніж у мовах машинних. Мова формальна – множина виразів, заданих деякою формальною системою, напр., сукупністю форм Бекуса-Наура чи граматикою. Модуль – збірник означень імен у мові Паскаль. О Область дії означення імені – сукупність місць у програмі, де ім'я позначає об'єкт, вказаний саме в цьому означенні. За правилами мови Паскаль, означення імені діє від місця його запису в підпрограмі (програмі чи модулі) до її кінця. Якщо в цій області є підпрограми, означення діє і в них. Але якщо вони містять своє власне означення цього імені, то за тими ж правилам до кінця їх блоків діють їхні власні означення. Означення імені – запис, яким задається, що саме позначає ім'я. У мові Паскаль ім'я може позначати змінну, сталу, тип, підпрограму, модуль, програму або її окремий оператор. В останньому разі воно називається міткою. Програма чи підпрограма самі по собі є означеннями їх імен. Означення змінної з ініціалізацією – те ж саме, що ініціалізація. Означення рекурсивне – означення елементів множини, яке задає елементи за допомогою інших елементів цієї ж множини. Об'єкти, задані рекурсивним означенням, також називаються рекурсивними. Оператор – запис у мові програмування, що задає зміну станів пам'яті програми. У мові Паскаль є оператори таких типів: присвоювання, розгалуження (умовний), складений, переходу, циклу, а також виклики процедур. Операційна система – система програм та інших даних, за допомогою якої організується робота комп'ютера в цілому. Вона визначає, команди якої саме з програм процесор має виконувати в той чи інший момент часу. Вона також забезпечує обробку файлів. Операція машинна – операція, яку може виконати комп'ютер із значеннями, записаними в регістрах процесора. П Пам'ять автоматична – область пам'яті оперативної, в якій розташовуються ділянки локальної пам'яті процесів виконання викликів підпрограм. Ця назва походить від того, що ділянки займаються та звільняються без явних на те указань у програмі, записаній мовою високого рівня, тобто "автоматично". Ділянки розташовуються за принципом "останньою зайнята – першою звільнена", тому автоматичну пам'ять називають програмним стеком. Пам'ять вільна – частина пам'яті програми, у якій змінні створюються та знищуються при виконанні операцій, указаних у самій програмі, записаній мовою високого рівня. Називається так, тому що не займається командами програми та змінними, означеними в програмі. Пам'ять зовнішня – пам'ять на зовнішніх носіях даних, наприклад, магнітних дисках. Носії розміщаються на спеціальних пристроях уведення-виведення, до яких належать дисководи, а також екран, клавіатура, миша та ін. Пам'ять оперативна – складова частина комп'ютера, призначена для зберігання програм, що виконуються або готові до цього. Пам'ять програми – сукупність імен змінних, означених у програмі. Не плутати з пам'яттю процесу виконання програми. Пам'ять процесу виконання програми – сукупність змінних, які у процесі виконання програми поставлено у відповідність іменам її змінних. Пам'ять регістрова – пам'ять усередині процесора, утворена регістрами. Пам'ять статична – область пам'яті, що виділяється під змінні, означені в програмі або модулі, а також під статичні змінні підпрограм. Називається так, тому що протягом усього процесу виконання програми відповідність її змінних та імен програми залишається незмінною. Параметр – ім'я, що позначає величину, незмінну для конкретного екземпляра задачі, рівняння тощо. Різні значення параметра відповідають різним екземплярам задачі, рівняння тощо. Про значення цього слова в програмуванні див параметр підпрограми. Параметр-змінна – параметр Паскаль-підпрограми, який у її заголовку означається з описувачем var. При виконанні виклику підпрограми йому ставиться у відповідність ділянка пам'яті, уже зіставлена аргументу. Аргументом може бути лише ім'я або інший вираз, що позначає змінну. Параметр-значення – параметр Паскаль-підпрограми, який у її заголовку не має описувача var. При виконанні виклику підпрограми йому ставиться у відповідність ділянка локальної пам'яті, куди копіюється значення аргументу. Аргументом може бути довільний вираз відповідного типу. Параметр-підпрограма – параметр Паскаль-підпрограми, яким позначаються інші підпрограми у їх викликах у тілі даної підпрограми. Ім'я конкретної "іншої" підпрограми задається у виклику даної. Параметр підпрограми – ім'я, означене в заголовку підпрограми. В її блоці воно позначає змінну, підпрограму або тип. Дії, задані підпрограмою, описуються з використанням параметра. Ці дії виконуються з конкретним значенням, змінною, підпрограмою або типом, що задається у виклику підпрограми як аргумент. Параметр фактичний – те ж саме, що аргумент у виклику підпрограми. Параметр формальний – те ж саме, що параметр підпрограми. Перелік – взаємно однозначна відповідність між елементами множини та натурального ряду (або його початкового відрізка 0, 1, 2, … , n). Підпрограма – у мові Паскаль процедура або функція. З одного боку, є описанням розв'язання деякої задачі, що виникає як підзадача в задачах, розв'язання яких описують програми. З іншого боку, є означенням свого імені, яким далі у вигляді виклику підпрограми позначається процес виконання дій, заданих нею. Підпрограма, вкладена в дану – у мові Паскаль підпрограма, записана в блоці даної підпрограми (програми). Підпрограма, що охоплює дане означення імені – у мові Паскаль підпрограма (програма), у блоці якої записано це означення, або підпрограма, що охоплює підпрограму, у блоці якої записано це означення. Підстановка аргументу на місце параметра підпрограми за значенням – процес, у якому обчислюється значення відповідного аргументу, вказаного у виклику підпрограми, і присвоюється локальній змінній, поставленій у відповідність параметру-значенню. Підстановка аргументу на місце параметра підпрограми за посиланням – процес, у якому змінна, уже поставлена у відповідність аргументу, ставиться у відповідність параметру-змінній. Подання числа з плаваючою точкою – подання дійсних чисел у вигляді ± M´ 2p, де M – дробова частина (мантиса), p – порядок. У поданні зафіксовано розряди мантиси, порядку та знаковий. Подання числа з фіксованою точкою – поданні дійсних чисел у вигляді ± E.M, де E – ціла частина числа, M – дробова (мантиса). У поданні зафіксовано розряди цілої та дробової частин, а також знаку. Поле структури – змінна, що є компонентом змінної-структури. Поліморфізм – у програмуванні властивість операції бути означеною для різних типів. Така операція називається поліморфною. Порівняння – операції =, <>, <, >, <=, >=. У мові Паскаль означені для всіх базових типів, а також для всіх типів перелічуваних, що задаються програмістом. Порт – ділянка оперативної пам'яті, виділена кожному пристрою уведення-виведення. З нього пристрій переносить дані на зовнішній носій, записуючи їх, наприклад, на диск або екран комп'ютера. І саме в порт записуються дані від пристроїв, наприклад, від клавіатури або дисковода. Обмін даними між портом і пам'яттю програм ведеться за допомогою спеціальних програм – драйверів. Послідовність рекурентна – послідовність, члени якої задовольняють деяке співвідношення рекурентне. Послідовність упорядкована – послідовність довжини 1 або така, що кожний її наступний член не менше попереднього. Пошук за ключем – пошук серед номерів елементів послідовності A найменшого (як правило) номера i такого, що A[i] дорівнює заданому значенню (ключу). Пошук двійковий – пошук за ключем у послідовності, значення якої упорядковані. Називається так, оскільки його тривалість у гіршому випадку прямо пропорційна двійковому логарифму довжини послідовності. Ключ порівнюється з елементом у середині послідовності, після чого шукати достатньо в одній із половин, на які розділяється послідовність. Тому цей пошук ще називається дихотомічним. Пошук лінійний – пошук за ключем у послідовності, який полягає в послідовному перебиранні елементів. Називається так, оскільки його тривалість у гіршому випадку прямо (лінійно) пропорційна довжині послідовності. Програма – те ж саме, що алгоритм. У програмуванні частіше так називають алгоритми, призначені для виконання їх комп'ютером. Або такі, що за допомогою комп'ютера їх можна перетворити до вигляду, придатного для виконання комп'ютером. Програма машинна – програма, записана мовою машинною. Процедура – описання (як правило, параметризоване) обчислень, в результаті виконання яких змінюється стан пам'яті програми або якась інформація надходить у "зовнішній світ". Одночасно вона є означенням її імені. Процес – послідовність дій. У програмуванні це дії, що виконуються за алгоритмом. Процес виконання виклику підпрограми – процес, у якому запам'ятовується точка повернення в програму, обчислюються аргументи та підставляються на місце параметрів підпрограми, виконуються оператори тіла підпрограми та відбувається повернення до виконання програми з точки повернення. Процесор – складова частина комп'ютера, що виконує команди машинні. Його структура подібна структурі комп'ютера, тобто він має свою "надоперативну" пам'ять, внутрішню шину та власне операційний пристрій. Р Регістр – ділянка пам'яті у складі процесора, в яку записуються операнди та результати операції машинної для якомога швидшого її виконання. Рекурсія – використання означень рекурсивних. Роздільник – символ, за допомогою якого відокремлюються одне від одного лексичні та інші одиниці програми. У мові Паскаль ними є дужки, символи ",", ";", ":" та деякі інші. Розіменування – породження значення змінної за її ім'ям. Розіменування вказівника – операція, що застосовується до вказівників. Її результатом є сама змінна, на яку встановлено вказівник. Рядок – у загальному розумінні це послідовність символів із явно позначеним кінцем. У програмуванні це 1) послідовність символів; 2) змінна, значенням якої є послідовність символів; 3) послідовність символів із явно позначеним кінцем у файлі-тексті. С Секція параметрів – у мові Паскаль означення однотипних параметрів підпрограми того самого виду (або параметри-значення, або параметри-змінні). Має вигляд списку імен, за яким після двокрапки записано ім'я типу. Секція параметрів-змінних починається словом var перед списком. Семантика – зміст деякого позначення, тобто власне те, що їм позначено. Наприклад, семантикою програми є множина процесів її виконання, семантикою оператора – зміни станів пам'яті, що відбуваються при його виконанні. Система програмування – система програм та інших засобів, які забезпечують створення машинних програм за допомогою мови програмування високого рівня, наприклад, мови Паскаль або її сучасних діалектів. Система введення-виведення – набір програмних засобів роботи з файлами, що входять до складу системи програмування. Система числення – система запису, або позначення, чисел. Система числення позиційна – система запису чисел, у якій числове значення, що ставиться у відповідність цифрі, залежить від її позиції в записі числа. Скидання буфера – копіювання даних із заповненого буфера на зовнішній носій. Складність алгоритму. Нехай A позначає алгоритм розв'язання деякої масової задачі. Позначимо через F(A, екземпляр) кількість елементарних дій у процесі розв'язання цього екземпляра задачі за алгоритмом A, а через F(A, n) – максимум кількості елементарних дій серед усіх екземплярів, що характеризуються деяким розміром n. Кожному n = 1, 2, 3, . відповідає певне значення F(A, n), тобто існує функція, яка розмірам n ставить у відповідність максимальні кількості елементарних дій, виконуваних за алгоритмом A. Ця функція і є складністю алгоритму. Складність задачі – найменша зі складностей алгоритмів її розв’язання. Сортування – переупорядкування елементів послідовності так, що в результаті утворюється неспадна або незростаюча послідовність. Список лінійний – послідовність елементів деякої множини. У програмуванні це, як правило, послідовність структур у вільній пам'яті, в елементах якої зберігаються елементи деякої множини. Список упорядкований – список, що подає послідовність упорядковану. Співвідношення рекурентне – рівність, що виражає член послідовності через k попередніх (один або кілька) за допомогою деякого виразу. Якщо відомі попередні члени sn–k, . , sn–1, то вираз фактично задає обчислення наступного sn. Це обчислення називається застосуванням рекурентного співвідношення. Стала – позначення числа або іншого значення. Також це ділянка пам'яті, стан якої не може мінятися у процесі виконання програми. Стала бульова – у мові Паскаль запис вигляду false або true, позначає відповідно значення, про які ми звикли говорити "хибність" і "істина". Стала дійсна – позначення числа типу дійсних. У мові Паскаль – числа типу real. Являє собою послідовність певної структури з десяткових цифр, крапки та знаків "'+", "–", "E", "e". Стала символьна – позначення елемента типу символів. У мові Паскаль це символ в апострофах, наприклад, 'x', '1'. Стала рядкова – те ж саме, що літерал. Стала ціла – це, як і в математиці, позначення цілого числа у вигляді послідовности десяткових цифр, можливо, із знаком "+" або "–" попереду. Стан змінної – пара вигляду (ім'я змінної, значення змінної). Значення, а відтак і стан, може змінюватися при виконанні операторів програми. Стан пам'яті процесу виконання програми – сукупність станів змінних. Розглядається найчастіше як функція, областю визначення якої є множина змінних процесу виконання програми, а областю значень є об'єднання носіїв типів цих змінних. Стек – те ж саме, що магазин. Стек програмний – те ж саме, що пам'ять автоматична. Структура – у мовах програмування змінна структурного типу, що складається зі змінних скалярних і структурних типів, кожна з яких ідентифікується окремим ім'ям. Це також значення змінної-структури. У мові Паскаль це те ж саме, що запис. Сумісність типів – можливість запису операндів різних типів у виразах (наприклад, типи цілих і дійсних сумісні). Сумісність типів за присвоюванням – можливість присвоювати змінним одного типу значення іншого типу (у мові Паскаль дійсний тип сумісний за присвоюванням з цілим, але не навпаки). Т Текст – послідовність символів, розбита на рядки. Тип – пара (множина елементів, множина операцій з ними). Множина елементів називається носієм типу, множина операцій – сигнатурою. Тип адресний – тип, значеннями якого є адреси. Тип бульових значень Boolean – у мові Паскаль тип із носієм, значення якого позначаються сталими false, true, а операції алгебри Буля – знаками and, or, not. Є реалізацією цієї алгебри. Належить до типів перелічуваних. Тип-діапазон – у мові Паскаль тип, який задається в програмі виразом вигляду C1 C2, де C1, C2 – сталі того самого типу перелічуваного. Також є перелічуваним. Тип дійсних значень real – у мові Паскаль тип із носієм, значення якого позначаються сталими дійсними. У сигнатурі типу є операції +, –, *, /, порівняння =, < тощо, функції стандартні математичні, а також функції trunc (ціла частина) і round (найближче ціле). Тип-перелік – у мові Паскаль тип, який задається в програмі виразом вигляду (I1, … , Ik), де I1, … , Ik – довільні ідентифікатори, відмінні від зарезервованих. Є типом перелічуваним. Тип перелічуваний – тип мови Паскаль, для якого означено операції succ (наступний), pred (попередній) і ord (порядковий номер елемента), а також порівняння. Типи boolean, char і integer, на відміну від типу real, – перелічувані. У програмі перелічуваний тип можна означати у вигляді типу-переліку або типу-діапазону. Тип символьних значень char – у мові Паскаль тип із носієм, значення якого позначаються сталими символьними або виразами вигляду chr(ціле). Належить до типів перелічуваних. Тип скалярний – у мові Паскаль тип, елементи якого розглядаються й використовуються як неподільні, тобто такі, що не мають ідентифікованих окремо частин. Тип структурний – у мові Паскаль тип, елементи якого є послідовностями елементів інших типів (одного й того самого типу, як масиви та файли, або різних, як записи). Довжина послідовності може бути постійною, як у масивів і записів, або змінною, як у файлів. Елементи послідовності можна позначати окремо. Тип цілих значень integer – у мові Паскаль тип із носієм, значення якого позначаються сталими цілими. У сигнатурі типу є всі операції із сигнатури типу дійсних (крім функцій trunc і round), а також операції типів перелічуваних і функція chr. Точка повернення з підпрограми – місце в програмі, що описує дію, якою виконання програми продовжується по закінченні процесу виконання виклику підпрограми. Запам'ятовується в локальній пам'яті цього процесу. Трансляція – переклад на машинну мову програми, написаної на не-машинній мові. Виконується за спеціальною програмою-транслятором. У Умова – фраза, що може бути або істинною, або хибною. У мовах програмування умови мають вигляд виразів, у результаті обчислення яких породжується одне з двох значень ("істина" чи "хибність"). Умова завершення – у мові Паскаль це умова, записана в операторі циклу repeat. Якщо при її обчисленні одержано значення "істина", то тіло оператора далі не виконується, тобто виконання оператора repeat завершується. Умова продовження – у мові Паскаль це умова, записана в операторі циклу while. Якщо при її обчисленні одержано значення "істина", то далі виконується тіло оператора, тобто виконання оператора while продовжується. Ф Файл – дані на зовнішніх носіях, певним чином організовані та об'єднані в єдине ціле. Файл безтиповий – файл, що розглядається як послідовність байтів. Файл введення стандартний – клавіатура комп'ютера. Файл виведення стандартний – екран комп'ютера. Файл індексовий – файл цілих, який створюється для прискорення пошуків у типізованому файлі. Значеннями елементів індексового файла є номери (або інші позначення) елементів основного файла. Перший елемент індексового файла вказує на найменший із елементів основного файла за деяким їх упорядкуванням, другий – на наступний тощо, останній – на найбільший. Файл типізований – файл, що розглядається як послідовність змінних деякого типу, заданого в означенні відповідної файлової змінної. Файлова змінна – змінна програми, записаної мовою високого рівня, яка виступає представником файла у програмі. Файлова система – система організації файлів та інформації про них, а також засоби їх обробки, що входять до складу операційної системи. Файловий вказівник – змінна, значенням якої в той або інший момент виконання програми є номер доступного елемента файла. Факторизація – розкладання натурального числа на прості співмножники. Форма Бекуса–Наура (БНФ) – запис вигляду <поняття> ::= <метавираз>, де знак "::=" читається як "має структуру", а <метавираз> є послідовністю символів мови та позначень її понять. Є синтаксичним правилом, тобто задає структуру виразів мови, що є представниками вказаного поняття. Названа за прізвищами її авторів. Є різновидом правила виведення граматики. Формат – система організації даних у файлах. Функції стандартні математичні – у мовах програмування це математичні функції sin, cos, exp, ln та деякі інші. Їх обчислення реалізовано машинними підпрограмами, зібраними у спеціальну бібліотеку в складі системи програмування. Ц Цифра – символ, яким позначається деяке ціле число. У позиційних системах числення цим числом є одне з кількох перших натуральних чисел або 0. У непозиційних системах числення, наприклад, Римській, це не так. Ч Черга – послідовність, така що елементи додаються в її кінець, а вилучаються з її початку. Числа псевдовипадкові – числа, що є членами деякої рекурентної послідовності та породжуються в результаті багаторазових викликів генератора псевдовипадкових чисел. Їх послідовність, крім, як правило, першого числа, не є випадковою, але має властивості, що дозволяють розглядати її як послідовність чисел випадкових. Числа випадкові – числа, послідовність яких не має ніяких закономірностей, і тому не дозволяє за будь-яким її відрізком обчислити наступний за ним член. Числа Фібоначчі – послідовність {f} чисел 1, 1, 2, 3, 5, 8, 13, … , у якій f1=f2=1, а наступні члени задаються рекурентним співвідношенням fn=fn–2+fn–1, n>2. Названі так за Леонардо Пізанським, на прізвисько Фібоначчі, який першим їх описав. Число – абстрактне математичне поняття, що виражає кількість. У програмуванні під числом, як правило, розуміють його подання в пам'яті комп'ютера, що не зовсім точно. Ш Шина – пристрій, за допомогою якого здійснюються переміщення значень між процесором та пристроями введення–виведення.