Що таке транслятор, компілятор, інтерпретатор?
Способи записів алгоритмів
Існують наступні способи запису алгоритму:
1.Словесно-формульний опис - це опис природною мовою із використанням математичних формул. Даний спосіб запису алгоритму складається з переліку дій (кроків), кожен з яких має порядковий номер. Алгоритм повинен виконуватися послідовно крок за кроком. Якщо в тексті алгоритму написано «перейти до кроку з номером L», то це означає, що виконання алгоритму продовжиться з зазначеного кроку з номером L. Словесний опис алгоритмів застосовують при вирішенні нескладних завдань, але воно малопридатні для представлення складних алгоритмів через відсутність наочності.
2. Графічний опис у вигляді блок-схеми (блок-схема - це набір пов'язаних між собою геометричних фігур). Для позначення кроків рішення у вигляді схеми алгоритму використовуються спеціальні позначення (символи).
Опис на якій-небудь мові програмування (програма).
Програма - це набір машинних команд, який слід виконати комп'ютера для реалізації того чи іншого алгоритму.
Програма - це форма подання алгоритму для виконання його машиною.
Для перетворення програми, написаної на одній з мов високого рівня, в програму, що складається з машинних команд, використовується програма-перекладач, так званий транслятор (англ. translator - перекладач).
Будь-транслятор вирішує наступні основні завдання:
- аналізує транслюються програму, зокрема визначає, чи містить вона синтаксичні помилки;
- генерує вихідну програму (її часто називають об'єктною, або робочою) мовою машинних команд (в деяких випадках транслятор генерує вихідну програму на проміжному мовою, наприклад, на мові асемблера);
- розподіляє пам'ять для об'єктної програми (у простому випадку це полягає в призначенні кожного фрагменту програми, змінним, констант, масивів і іншим об'єктам адрес пам'яті).
Перекладачі реалізуються у вигляді компіляторів чи інтерпретаторів. З точки зору виконання роботи компілятор та інтерпретатор істотно розрізняються.
Компілятор (англ. compiler - упорядник, збирач) читає всю програму цілком, робить її переклад і створює закінчений варіант програми на машинній мові, який потім і виконується.
Інтерпретатор (англ. interpreter - тлумач, усний перекладач) перекладає і виконує програму рядок за рядком.
Після того, як програма відкомпілювати, ні сама вихідна програма, ні компілятор більше не потрібні. У той же час програма, що обробляється інтерпретатором, повинна заново переводитися на машинний мова при кожному черговому запуску програми.
Відкомпілювалися програми працюють швидше, але інтерпретуються простіше виправляти і змінювати.