Однією з найпопулярніших мов високого рівня стала мова Паскаль, або Pascal. Програми в цій мові будемо називати Паскаль-програмами. Ось найкоротша з них:
program A(input, output);
beginend.
Переклад цього тексту з англійської слово в слово такий:
програма A(введення, виведення);
початоккінець.
Слово A перед дужками є ім'ямцієїпрограми.
Віддаючи данину традиції ознайомлення з мовами програмування, наведемо також Паскаль-програму, за якою комп'ютер "вітає світ":
program Hello(input, output);
begin writeln ( ' Вітаю, Світе! ' ) end.
Вітання задається, як очевидно, написом writeln ( ' Вітаю, Світе! ' ). Слово writeln є скороченням від "write line", тобто "написати рядок".
Комп'ютер не займається виконанням Паскаль-програм – можна навіть сказати, що він "не розуміє" цієї мови. Для виконання Паскаль-програму треба перекласти на мову машини. Цей переклад, або трансляцію в машинну мову, робить сам комп'ютер, виконуючи спеціальну програму перекладу – транслятор. У процесі трансляції Паскаль-програма читається з зовнішнього носія, за нею будується машинна програма й записується, як правило, у зовнішню пам'ять. Паскаль-програма являє собою початкові дані для побудови машинної програми (рис.1.4(а)). Обидві програми задають ті самі дії виконавця, тільки різними мовами.
Як ми вже говорили, машинна програма завантажується в оперативну пам'ять і потім виконується (рис 1.4(б)). Наприклад, виконання машинної програми "вітання світу" веде до появи на екрані слів Вітаю, Світе! .
Інший спосіб зробити Паскаль-програму "зрозумілою" комп'ютеру – інтерпретувати її. Це відбувається за виконання програми, яка називається інтерпретатором. Вхідні дані інтерпретатора – це Паскаль-програма й ті дані, що повинні читатися при її виконанні (рис.1.5). Інтерпретація програми полягає в тім, що дії, нею задані, відразу виконуються. Машинна програма при цьому не створюється.
Транслятор (або інтерпретатор) є основною програмою в системіпрограмування – спеціальній системі програм. За їх допомогою програми, записані мовою високого рівня, запам'ятовуються в комп'ютері та перекладаються на машинну мову або інтерпретуються. Кажуть, що система програмування підтримує відповідну мову високого рівня, і що він є вхідним для неї. Існує багато систем, що підтримують мову Паскаль, але вхідні мови практично всіх їх мають відмінності від стандарту мови Паскаль, створеного Віртом, тобто є його діалектами.
У даному посібнику в основному використовується "чистий" Паскаль, а при необхідності – діалект, що підтримується популярними системами програмування фірми Borland і називається ТурбоПаскаль.
В усіх операційних системах файли мають імена, що мають принаймні дві частини, власне ім'я та розширення, відокремлені крапкою. Паскаль-програми записуються, як правило, у файли з розширенням .pas, наприклад, a.pas. У результаті їх трансляції створюються файли з розширенням, як правило, .exe і тим самим ім'ям, наприклад, a.exe. Саме вони містять машинні програми.
Задача
1.1.*Змусьте доступний Вам комп'ютер відтранслювати найкоротшу програму на мові Паскаль. Програма не задає ніяких дій комп'ютера, але довжина файла з машинною програмою не дорівнює нулю. Чому?