Засоби створення програм

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

1. Класифікація мов програмування

Спосіб написання програм називається програмуван­
ням у числових кодах, а мова, якою записуються такі програми, — машинною.Ма­шинна мова — це «природна мова» певного комп'ютера, яка визначається під час проектування його апаратних засобів. Машинні мови важкі для людського сприй­няття. Тому природним виявилося прагнення автоматизувати процес написання
програм, для того щоб полегшити працю програміста, частково поклавши його
роботу на саму машину. Програмісти почали використовувати більш звичну для людини символьну форму опису обчислень, а перетворення програм у машинні коди здійснювали за допомогою програм трансляції (від англ. translation—пере­клад), які називаються асемблерами (від англ. to assemble - збирати).
Мови програмування, у яких числове кодування команд було замінено їх сим­
вольним зображенням, називалися мовами символічного кодування, а системи програмування — системами символічного кодування Нині такі мови пе­ретворилися в досить потужні засоби програмування, названі асемблерами. Під час написання програм мовами асемблерного типу в ролі засобів програ­мування використовуються такі абстракції, як змінна та символьне зображення операцій, що дає змогу програмісту позбутися проблем, пов'язаних із формою зображення чисел, кодуванням операцій і розподілом пам'яті. Тепер перераховані вище проблеми має вирішувати програма-транслятор на основі інформації, яку їй передає розроблювач програм. Навіть проста програма, написана мовою асемблера, скла­дається з довгої послідовності команд, за структурою близьких до машинних. На­писати таку програму нелегко, до того ж потрібно знати дуже багато подробиць щодо устрою комп'ютера (наприклад, для чого призначено ті чи інші регістри, які адреси пам'яті можна використовувати, а які - ні). Тому програмування мовою асемблера — справа окремих програмістів.



Для прискорення процесу програмування були розроблені мови програмуван­ня високого рівня, які дозволяли писати програми, за формою близькі до людської мови, та використовували загальноприйняту математичну нотацію. Перша з них з'явилася наприкінці 1950-х років і називалася Fortran. Назва була скороченням від слів FORmula TRANslation, що у перекладі означає трансляція формул.

Одночасно з мовами високого рівня розроблялися транслятори {компілято­
ри) — програмні засоби, призначені для перекладу високорівневих програм у ма­шинні.

2. Технологія створення програми

Розглянемо процес створення програми у найбільш загальних рисах.

Розробка програми починається з постановки задачі, яку пропонує замовник. Іноді аналіз і уточнення задачі дають можливість формалізувати її постановку, в результаті з'являється математично точний і однозначний опис задачі. Після уточнення постановки задачі починається проектування програми. Як правило, в задачі можна виділити декілька підзадач і описати процес їх розв'язування ок­ремо. Відповідно й алгоритм складається зі зв'язаних та узгоджених між собою частин, які описують процес розв'язання підзадач. У початковому алгоритмі дії подано в абстрактному вигляді, далекому від того, що може виконувати комп'ю­тер. Алгоритм уточнюють декілька разів і надають йому вигляд, за яким легко на­писати програму або її частину.

Написання програми або окремих її частин прийнято називати кодуванням, або розробкою. Найчастіше програму записують однією з мов високого рівня, але іноді деякі її частини записують різними мовами. Далі програма перекладається (транслюється) на машинну мову (зазвичай, частинами). Під час кодування про­грамісти можуть припускатися помилок. Процес виявлення й виправлення поми­лок називається налагодженням програми. Він дозволяє виявити помилки пере­лічених нижче типів.

1.Помилки, пов'язані з порушенням правил граматики в тексті програми, на­
писаної мовою високого рівня. їх можна виявити у процесі трансляції, тому
вони називаються помилками часу трансляції (compiler error).

2.Помилки, що виявляються під час виконання робочої програми. Вони можуть виникати, наприклад, в результаті переповнення розрядної сітки чи при спробі видобути квадратний корінь із від'ємного числа. Такі помилки називаються помилками часу виконання (run time error).

3.Помилки, що не виявляються ні під час трансляції, ні під час виконання програ­ми. Це змістові помилки, пов'язані з некоректністю логічних умов, неправиль­ним використанням розрахункових формул і т. ін. їх називають семантичними.

4.Помилки у вихідних даних.

Налагодження — це процес багаторазового виконання програми з різними варіантами даних, які вона має обробляти. Дані спеціально добираються таким чином, щоб можна було виявити якнайбільше помилок, якщо такі існують. Ця ці­леспрямована перевірка працездатності програми називається тестуванням. Тес­тування не гарантує відсутності помилок у програмі, а лише дозволяє виявити деякі з них. Чим ретельніше проводиться тестування, тим більше помилок вияв­ляється та виправляється.

Після налагодження програма проходить дослідно-виробничу експлуатацію

Проте може з'ясуватися, що під час проектування програми було обрано не най­кращий алгоритм, через що програма виконується надто повільно або витрачає забагато ресурсів пам'яті, тобто є неефективною. До програми нерідко вносяться зміни, які вимагають повторного кодування і налагодження. Якщо у замовника з'являються нові ідеї, необхідно заново ставити задачу та проектувати програму.

З метою розробки ефективних з точки зору використаних ресурсів програм і прискорення процесу їх проектування були створені технології, тобто системи методів, які дозволяють «не робити зайвих кроків» на кожному з етапів, від ана­лізу задачі до налагодження програми. У 70-х роках минулого століття домінува­ла технологія структурного програмування — система правил створення програм, що характеризуються ясністю, простотою тестування та налагодження, легкістю модифікації. Починаючи з 90-х років ключовою технологією є технологія об'єктно-орієнтованого програмування . Про це – пізніше.

3. Перетворення програми і система програмування

Розглянемо, як із програми, написаної мовою високого рівня, утворюється інша — машинна. Програму (вихідний текст) за допомогою спеціальної програми (вона називається текстовим редактором) найчастіше записують на диск у вигляді ви­хідного файла

Програма може складатися з кількох вихідних файлів -у великих програмах їх може нараховуватися десятки.

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

Як правило, об'єктний код програми містить далеко не всі необхідні коман­ди — програма може складатися з частин або включати підпрограми з бібліотек. Об'єктний код обробляється ще однією програмою — редактором зв'язків, або компонувальником, яка «збирає» (компонує) повний код програми і записує (за­вантажує) його або в оперативну пам'ять, або на диск у вигляді готового до вико­нання файла, який можна завантажити пізніше.

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

Описані засоби (текстовий редактор, транслятор та (або) інтерпретатор, ком-понувальник, завантажувач і налагоджувач) разом утворюють систему програму­вання, або інтегроване середовище розробки (Integrated Development Environment, IDE). Крім них до складу IDE входить бібліотека стандартних підпрограм, які можна використовувати під час створення програми.


4625988978398201.html
4626060395568052.html
    PR.RU™