Що таке транслятор, компілятор, інтерпретатор?

Способи записів алгоритмів

Існують наступні способи запису алгоритму:

1.Словесно-формульний опис - це опис природною мовою із використанням математичних формул. Даний спосіб запису алгоритму складається з переліку дій (кроків), кожен з яких має порядковий номер. Алгоритм повинен виконуватися послідовно крок за кроком. Якщо в тексті алгоритму написано «перейти до кроку з номером L», то це означає, що виконання алгоритму продовжиться з зазначеного кроку з номером L. Словесний опис алгоритмів застосовують при вирішенні нескладних завдань, але воно малопридатні для представлення складних алгоритмів через відсутність наочності.

2. Графічний опис у вигляді блок-схеми (блок-схема - це набір пов'язаних між собою геометричних фігур). Для позначення кроків рішення у вигляді схеми алгоритму використовуються спеціальні позначення (символи).

Опис на якій-небудь мові програмування (програма).

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

Програма - це форма подання алгоритму для виконання його машиною.

Для перетворення програми, написаної на одній з мов високого рівня, в програму, що складається з машинних команд, використовується програма-перекладач, так званий транслятор (англ. translator - перекладач).

Будь-транслятор вирішує наступні основні завдання:

- аналізує транслюються програму, зокрема визначає, чи містить вона синтаксичні помилки;

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

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

Перекладачі реалізуються у вигляді компіляторів чи інтерпретаторів. З точки зору виконання роботи компілятор та інтерпретатор істотно розрізняються.

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

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

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

Відкомпілювалися програми працюють швидше, але інтерпретуються простіше виправляти і змінювати.