Житомирський Військовий Інститут
Національного Авіаційного Уніврситету
Основні відомості про алгоритмічну мову TURBOPASCAL. Графіка PASCAL
Житомир 2010
План
1. Історична довідка. Нова термінологія
2. Алфавіт мови Паскаль. Основні поняття
3. Структура Паскаль-програми
4. Стандартні функції. Вирази
5. Графічні режими роботи дисплейних адаптерів. Типи драйверів
1. Історична довідка. Нова термінологія
Програма – алгоритм, записаний на мові програмування.
Мова програмування – сукупність символів (алфавіт), правил утворення (синтаксис) та зміст символьних конструкцій (семантика) для запису алгоритмів.
Транслятор (від англ. перекладач) – спеціальна програма, яка переводить текст програми в еквівалентний код (сукупність кодових комбінацій) процесора (на машину мову).
Існує 2 способи трансляції:
1) Інтерпретація.
2) Компіляція (compile – збирати).
Інтерпретатор – програма, яка послідовно (відповідно введенню) виконує оператори алгоритмічної мови.
Компілятор – програма, яка переводить весь текст задачі (програми) на машину мову.
Часто використовують два способи: інтерпретатор – для відлагодження програми, а компілятор – для трансляції відлагодженої програми.
Історія
1955 р. – перша алгоритмічна мова "Фортран" – для розв’язання науково-технічних та інженерних задач (от формула + транслятор – перекладач формул). Розробки фірмою ІВМ під керівництвом Джона Бекаса.
1960 р. – Алгол (algorithmicLanguage – алгоритмічна мова) – орієнтовна на наукове використання.
Кобол – (Cobol – Commonbusinessorientedlanguage – загально прийнята ділова орієнтовна мова), для економічних задач (обробка екон. інформ.) ІВМ.
1965 р. Бейсік (Basic – beginnersall- purposesymbolicinstructioncode – "багатоцільова мова символічних конструкцій для "починаючих"). Розроблений професорами Дартмутського коледжу (США) Т. Курцем і Дж. Кемені для навчання студентів незнайомих з обчислювальною технікою.
1967-1968 р. PL/1 (фірма ІВМ) (Programminglanguage – програмно-орієнтовна мова). Дуже складний, як правило використовується в навчальних закладах та науково-дослідних центрах.
1970 р. – Паскаль (Pascal) створений професором Цюрихського політехнічного університету Ніклаусом Віртом. Названа на честь Блезе Паска ля. Універсальна алгоритмічна мова, побудована як структурна мова і орієнтована на використання методів структурного програмування. Це досягається за наявністю трьох основних елементів:
1) опис ("описание")
2) блочна структура
3) процедурний апарат
1) В описі приводиться інформація для компілятора (імена та типи змінних, мітки, ідентифікатори const, обмеження області значень змінних і т.п.).
2) Блочна структура програми реалізується простими та структурними операторами.
3) Процедурний апарат – розробляє модульні програми у вигляді ієрархічно організованої сукупності процедур по принципу проектування "зверху донизу": т.б. модулі високого рівня визначаються модулями низького рівня.
1980 р. – мова 2Ада" – названа в пам’ять про Аду Лавлейс – дочку англ.. посла Лорда Байрона, першої програмісти в історії обчислювальної техніки (працювала з Чарльзом Беббідтом – розробляла програми для його машини).
Мова утворена Франції по замовленню Пигтогена (МО США) на основі Паска ля і Алгола.
1961 р. Лисп – мова обробки списків розробив амер. професор Джон Мак карті.
1973 р. Пролог – логічне програмування (дерева – логічні гілочки) університет Момміні Франція; під керівництвом Колмерое.
80-ті – 90-ті р.р.: Си (сист. Прогр.) Симула, Симкрит, GPSS (моделюв.), Форт (керування оператури), Кодасил (для БД), Лого, Робік, мова Єршова (навчання програмуванню).
2. Алфавіт мови Паскаль. Основні поняття
Основні елементи лексеми, які складають мову Паскаль, можна поділити на декілька смислових груп, із яких складаються основні види лексем:
1) Основні символи:
– букви латинського, а також російського алфавіту;
– арабські цифри 0-9;
– спеціальні символи:
ариф.: + – * / div (цілочисл. ділення) mod (остаток от цілого числа).
логічні: Ù (and), Ú (or), Ø (not) <, <=, =, <>, >=
присвоювання: := розділителі: . , : ; указатель: ↑ апостроф: ’ скобки: ( ), {коментарій}
2) Службові слова (зарезервовані), які компілятор розпізнає без додаткового вираження:
and, array, begin, case, const, div, do, down to, else, end, file, for, function, goto, if, in, label, mod, nil, not, of, or, packed, procedure, program, read, repeat, set, then, to, type, until, var, while, with.
3) Стандартні ідентифікатори: константи:false, true, maxintтипи: boolean, integer, char, real, textфайли:input, outputфункції: abs, sqr, sin, cos… процедури:get, put, reset, rewrite, read, write
Основні види лексем:
1. Константи: {12$ 3.1415926…}
2. Імена (ідентифікатори) – позначають деякий об’єкт. (службові слова, стандартні ідентифікатори, інші const, змінних, міток, типів, процедур, функцій, модулів, прогр., полів у записах).
3. Знаки операцій – призначенні для задання дії над операторами (даними) з метою отримання результата.
4. Розділителі – виділяють лексеми та інші, більш складні елементи програми: ( ) [ ] , ; : .
5. Коментарії – для пояснень; беруться у фігурні дужки {це коментарій}
Особливості:
1) пробіл між сусідніми лексемами не обов’язковий, якщо хоча б одна з лексем є розділитель, коментарій, або знак операції (не ім’я). напр., знаки операцій div та mod є іменами, а знаки "+" і "–" не є імена.
2) Обмеження ідентифікаторів: – складається з лат. букв, цифр, підкреслення; – починається тільки буквою; – не співпадає із зарезервованими словами; – довжина вільна, але значимі перші 63 символа.
3. Структура Паскаль - програми
Розділи:
Приклади:
Label 1, 4, Lb1, Lb2;
Опис const:
Const P = 3,14159265;
e = 2,71828182;
A = 10;
Типи:TYPE
mats = array [1…10] of real;
color = (червоний, білий);
index = 0…100;
Змінні: VAR
A, B, C: integer;
D: real;
Опис процедур та функцій по структурі подібно до опису програми і починається із слів:PROCEDUREабоFUNCTION
Оператори:
Приклад: обчислити довжину кола
Program __DLINA__(input, output);
const __p = 3.14159265;
var __r, L : real;
begin
writeln (’ввести знач. радіуса’);
readln (r);
L : = 2*p*r;
Writeln (L)
end.
Коментарій: Програма начинається службовим словом PROGRAM. Далі ім’я програми: DLINA. Після імені у дужках вказаний зв’язок програми зі своїм оточуванням (окружением) – ОС:
input – указує, що необхідні дані, які вводитися;
output– указує, що програма повинна видати результат з використанням інструкцій – введення і виведення.
Далі опис const, змінних. Тіло програми: begin – службове слово. Оператори розділяються ";". Виконуюча частина програми закінчується службовим словом end.
4. Стандартні функції. Вирази
Використовують для перетворення типів даних. Операнд функції (аргумент) записується у круглих дужках: sin (x).
sin (x) – повертає значення sin (x);
cos (x) – повертає значенняcos (x);
tan (x) – повертає значенняtan (x);
arctan (x) – повертає значенняarctan (x);
abs (x) – повертає значення модуль x;
exp (x) – повертає значенняex;
ln (x) – повертає значенняlnx;
sqr (x) – повертає значенняx2;
sqrt (x) – повертає значення
;trunc (x) – повертаєцілу частину x;
frac (x) – повертає значенняx – tranc (x);
round (x) – повертає ціле число найближче до x (округлино);
random (x) – повертає випадкове число із діапазона 0-x;
Odd (x) – true (істинне) для непарного х, false(хибне) для парного х.
Вирази представляють собою формальні правила для виконання дії (обчислення).
Взагалі, вирази будуються із:
1) операндів (змінні, масиви, поля записів, вирази функцій);
2) знаків операцій;
3) круглих дужок.
Більшість операндів являються бінарними (т.б. для двох операндів), а+в. Але є декілька унарних операцій (т.б. для 1 операнда), наприклад, –а; @ Р.
Круглі дужки призначенні для указания порядку (черги) обчислень, якщо необхідно змінити порядок дій, які визначені пріоритетами операцій.
Схема пріоритету операцій.
1. Спочатку виконується пріоритетна операція.
2. Рівнопріоритетні операції виконуються зліва направо.
3. Спочатку виконуються вирази у дужках.
Приклади виразів:
у
21
(а+b)*с
sin (x)
a>r
not (a<b)
5. Графічні режими роботи дисплейних адаптерів. Типи драйверів
Починаючи з версії 4.0 у склад ТР входить бібліотека графічних підпрограм (модуль GRAPH).,яка забезпечує керування режимами різних адаптерів дисплеїв; вона містить 80 графічних процедур та функцій а також стандартних констант і описів типів даних.