ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ

ПРОГРАМНЕ ЗАБЕЗПЕЧЕННЯ (математичне забезпечення комп’ютера) — сукупність програм, доданих до комп’ютера, що дозволяють використовувати її за призначенням. Програма (грец. προγραμμα — оголошення) — план дій (команд), що підлягає виконанню певним виконавцем зазвичай за допомогою автоматичного пристрою; в інформатиці комп’ютера: припис, конкретний алгоритм дій. Розділ інформатики, що вивчає методи та прийоми побудови, налагодження й розвитку програм для комп’ютера, називається програмуванням. Програма складається з команд. Команда — типовий припис виконавцю, що входить у запис програми, виконати певну закінчену дію (операцію). Використовують також назви «інструкція» та «оператор» (у мовах програмування). Можливість задавати і виконувати команду в різних варіантах означає, що вона є типовою. Для формування різноманітності команди забезпечуються параметрами, вибір значення яких визначає конкретний варіант команди. Напр., команда присвоювання в алгоритмічній мові має два параметри: змінна, котрій задається значення, і вираз, який служить джерелом цього значення. Розрізняють прості та складні команди. До простої команди не входять будь-які інші команди (поняття, аналогічні простому реченню в письменності). Прикладом простої команди на алгоритмічній мові є команди присвоювання, виклику, введення і виведення. До запису складеної команди входять як складові частини інші команди (поняття, аналогічні складному реченню в граматиці). Прикладами складних команд на алгоритмічній мові є команди розгалуження, повтору і вибору. Машинна команда — це команда, яка може бути безпосередньо виконана на комп’ютері, оскільки входить до системи її команд; представлена подвійним кодом, зазвичай становить одне машинне слово; складається з двох частин: фіксованого коду операції та змінної адресної частини. Значення коду операції відрізняє один тип команди від іншої. Запис кодів операції визначає обсяг системи команд комп’ютера.

Розрізняють базове П.з., що складається з програм універсального використання та програм, які є невід’ємним цілим з конструкцією комп’ютера, а також прикладне П.з., яке орієнтує комп’ютер на конкретне цільове використання, напр. пакети прикладних програм для статистичної обробки даних медико-біологічних досліджень.

Базове П.з. є комплексом взаємопов’язаних програм і називається також системним П.з., а програми, що входять до його складу називають системними. Прикладом такого П.з. є транслятор. Трансляція (лат. translatio — передавання, перенесення) — переклад програми, поданої на вхідній мові програмування, на певну вихідну мову програмування (зазвичай машинну) як результат роботи транслятора. Типовий транслятор (або компілятор) з мови програмування високого рівня складається з таких блоків: 1) лексичний аналізатор, який виділяє в тексті вхідної програми службові слова, імена і константи (задані значення величин) і будує для них таблицю; 2) синтаксичний аналізатор, який розкриває підпорядковані та взаємопов’язані конструкції програми і будує внутрішнє уявлення програми, що транслюється у вигляді, зручному для наступної обробки; 3) оптимізатор, що виконує формальне перетворення програми в напрямку її скорочення або прискорення її виконання; 4) генератор, який перетворює команди вхідної мови засобами команд вихідної мови транслятора, розподіляє пам’ять комп’ютера для розміщення програми та її величин, викликає з бібліотеки необхідні стандартні підпрограми. Програми на машинній мові як результат процесу трансляції є послідовністю машинних команд. Процесор комп’ютера безпосередньо сприймає та виконує ці команди, представлені у вигляді двоїстих кодів, розташованих у комірках пам’яті машини. До базового П.з. зазвичай відносять операційні системи, системи програмування та системи управління базами даних. Найбільш поширеними операційними системами для персональних комп’ютерів є програмні продукти фірми Microsoft. Прикладне П.з. встановлюється на комп’ютер додатково залежно від потреб користувача і має велику різноманітність. Таке П.з. укладено в пакети прикладних програм, бібліотек стандартних програм, а також окремих програм для конкретного використання.

Волкова И.А., Руденко Т.В. Формальные языки и грамматики. Элементы теории трансляции. — М., 1999; Нортон П., Гудмен Дж. Внутренний мир персональних компьютеров. — К., 1999; Пратт Т., Зелковиц М. Языки программирования: реализация и разработка. — СПб., 2001.