Етапи підготовки програми - студопедія

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

Програмний модуль - програма або функціонально завершений фрагмент програми, призначений для зберігання, трансляції, об'єднання з іншими програмними модулями і завантаження в оперативну пам'ять.

При виборі модульної структури повинні враховуватися такі основні міркування:

# 9670; Функціональність - модуль повинен виконувати закінчену функцію;

# 9670; Незв'язність - модуль повинен мати мінімум зв'язків з іншими модулями, зв'язок через глобальні змінні і області пам'яті небажана;

# 9670; На яку складають специфікацію - вхідні і вихідні параметри модуля повинні чітко формулюватися.

Програма пишеться у вигляді вихідного модуля.

Вихідний модуль (ІМ) - програмний модуль мовою оригіналу, що обробляється транслятором і представляється для нього як ціле, достатнє для проведення трансляції.

Першим (не для всіх мов програмування обов'язковим) етапом підготовки програми є обробка її макропроцесор (або препроцесорів). Макропроцесор обробляє текст програми і на виході його виходить нова редакція тексту.

У більшості систем програмування Макропроцесор суміщений з транслятором, і для програміста його робота і проміжний ІМ «невидно».

Так, якщо Макропроцесор замінив в програмі деякий текст A на текст B, то транслятор вже бачить тільки текст B, і не знає, був цей текст написаний програмістом «своєю рукою» або підставлений макропроцесор.

Наступним етапом є трансляція.

Трансляція - перетворення програми, представленої на одній мові програмування, в програму на іншій мові програмування, в певному сенсі рівносильну першої.

Як правило, вихідним мовою транслятора є машинний мову цільової обчислювальної системи. (Цільова ВС - та ВС, на якій програма буде виконуватися.)

Машинна мова - це мова програмування, призначений для представлення програми в формі, що дозволяє виконувати її безпосередньо технічними засобами обробки інформації.

Транслятори - загальна назва для програм, які здійснюють трансляцію. Вони підрозділяються на Асемблери і Компілятори - в залежності від вихідної мови програми, яку вони обробляють. Асемблери працюють з автокод або мовами Ассемблера, Компілятори - з мовами високого рівня.

Автокод - символьний мову програмування, пропозиції якого за своєю структурою в основному подібні командам і оброблюваних даних конкретного машинного мови.

Мова Асемблера - мова програмування, який являє собою символьну форму машинної мови з низкою можливостей, характерних для мови високого рівня (зазвичай включає в себе макросредства).

Мова високого рівня - це мова програмування, поняття і структура якого зручні для сприйняття людиною.

Об'єктний модуль - програмний модуль, що отримується в результаті трансляції вихідного модуля.

Оскільки результатом трансляції є модуль на мові близькому до машинного, в ньому вже не залишається ознак того, на якому вихідному мовою був написаний програмний модуль. Це створює принципову можливість створювати програми з модулів, написаних на різних мовах.

Специфіка початкової мови, проте, може позначатися на фізичному поданні базових типів даних, способах звернення до процедур / функцій і т.п. Для сумісності різномовних модулів повинні витримуватися загальні угоди.

Завантажувальний модуль - програмний модуль, поданий у формі, придатній для завантаження в оперативну пам'ять для виконання.

Ця функція виконується завантажувачем, який зазвичай входить до складу операційної системи. Можливий також варіант, в якому редагування зв'язків виконується при кожному запуску програми на виконання і поєднується із завантаженням. Це робить Зв'язуючий Завантажувач.

Варіант зв'язування при запуску більш витратний, тому що витрати на зв'язування тиражуються при кожному запуску. Але він забезпечує:

# 9670; Велику гнучкість в супроводі, так як дозволяє змінювати окремі об'єктні модулі програми, не змінюючи інших модулів;

# 9670; Економію зовнішньої пам'яті, тому що об'єктні модулі, що використовуються в багатьох програмах, які не копіюються в кожен завантажувальний модуль, а зберігаються в одному екземплярі.

Варіант інтерпретації передбачає пряме виконання початкового модуля.

Інтерпретація - реалізація сенсу деякого синтаксично закінченого тексту, поданого на конкретній мові.

Інтерпретатор читає з вихідного модуля чергову пропозицію програми, переводить його в машинну мову і виконує. Всі витрати на підготовку тиражуються при кожному виконанні, отже, интерпретируемая програма принципово менш ефективна, ніж транслюється. Однак, інтерпретація забезпечує зручність розробки, гнучкість в супроводі і переносимість.

Не обов'язково підготовка програми повинна вестися на тій же системі автоматичного і в тій же операційному середовищі, в яких програма буде виконуватися. Системи, що забезпечують підготовку програм в середовищі, відмінному від цільової називаються крос-системами.

У крос-системі може виконуватися вся підготовка або її окремі

# 9670; Макрообработка і трансляція;

# 9670; Редагування зв'язків;

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

1. Програма - визначення;

2. Програмне забезпечення (ПЗ) - визначення;

3. Необхідність документування;

5. Системна програма - визначення;

6. Прикладна програма - визначення;

7. Проміжне ПО - визначення;

8. Керуюча програма - визначення;

9. Програма обслуговування (утиліта) - визначення;

10. Система програмування - визначення;

11. Етапи підготовки програми;

12. Мови програмування - два рівня, приклади;

13. Об'єктний модуль - визначення, призначення;

15. інтерпретація - визначення, призначення;

16. крос-системи - визначення, призначення.

17. У крос-системі може виконуватися вся підготовка або її окремі

Схожі статті