Реферат: Паскаль Огляд основних понять
Кожний комп'ютер має деяку систему команд, які може виконати його ЦП. Це і є машинна мова . Вона зовсім не схожа на людську. Програмувати в ній дуже незручно, тому що треба знати численні деталі устрою комп'ютера та писати дуже довгі послідовності простеньких машинних команд. Але виявляється, що майже завжди можна програмувати в іншій, не машинній, мові.
За кілька десятиліть використання комп'ютерів було створено сотні мов, за допомогою яких можна програмувати, не знаючи нічого про устрій комп'ютера і систему його команд. У цих мовах немає машинних команд; їх "команди" містять звичні слова, своєю структурою схожі на людські фрази і ніяк не відбивають деталей устрою комп'ютера. У цих мовах комп'ютер та його дії подано в більш загальному вигляді. Ці мови мають вищий рівень абстракції опису дій комп'ютера, тому називаються мовами високого рівня . Відповідно машинні мови називаються мовами низького рівня .
Однією з найпопулярніших мов високого рівня стала мова Паскаль , або Pascal . Програми в цій мові будемо називати Паскаль -програмами . Ось найкоротша з них:
program A(input, output);
begin end .
Переклад цього тексту з англійської слово в слово такий:
програма 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. *Змусьте доступний Вам комп'ютер відтранслювати найкоротшу програму на мові Паскаль. Програма не задає ніяких дій комп'ютера, але довжина файла з машинною програмою не дорівнює нулю. Чому?