Основні поняття мови програмування Турбо Паскаль
План
1. Деякі відомості про систему програмування Турбо Паскаль.
2. Структура програми на Паскалі.
3. Елементи мови Турбо Паскаль.
4. Арифметичні операції і вирази.
5. Стандартні функції.
6. Оператор присвоювання.
1. Деякі відомості про систему програмування Турбо Паскаль
Мова Паскаль був розроблений в 1971 році Нікласом Віртом спочатку для цілей навчання програмуванню. В даний час він отримав широке розповсюдження по ряду об'єктивних причин.По-перше, за своєю ідеологією Паскаль найбільш близький до сучасної методикою та технології програмування. Зокрема, він досить повно відображає ідеї структурного програмування, що досить добре видно навіть з основних керуючих структур мови.
По-друге, Паскаль добре пристосований для застосування технології розробки програм зверху-вниз (покрокової деталізації).
По-третє, Паскаль містить велику різноманітність різних структур даних, що забезпечує простоту алгоритмів, а отже зниження трудомісткості при розробці програм.
Система програмування Turbo Pascal призначена для виконання етапів вирішення задачі на алгоритмічній мові Паскаль і включає в себе три головні компоненти: 1) редактор текстів, 2) компілятор; 3) виконавчу систему.
За допомогою вбудованого в систему текстового редактора можна формувати в пам'яті будь-які тексти, не тільки програми на Паскалі. Зокрема, це можуть бути вихідні дані розв'язуваної задачі в текстовій формі. Текст програми, створений редактором, можна зберегти на диску у вигляді файлу з ім'ям наступного формату <ім'я файлу>. Раs, де pas - це стандартне розширення імені файлу, створеного системним редактором. Ім'я файлу задається користувачем.
Компіляція - це процес перекладу програми на мову машинних команд. Компілятор переводить програму з мови Паскаль на мову машинних команд. При цьому перевіряється відповідність програми правилами мови програмування (синтаксичний і семантичний контроль). При виявленні помилки комп'ютер видає повідомлення про неї користувачеві і припиняє роботу. У результаті компіляції Turbo Pascal створює виконуваний файл з тим же ім'ям, що і файл, що містить програму, але з розширенням ехе. Згодом цей файл може бути виконаний, як будь-який інший виконуваний файл.
Виконання програми залишається під контролем виконавчої системи. Вона, зокрема, допомагає виявити помилку в програмі, якщо при виконанні стався збій. Користувачеві повідомляється причина збою і вказується місце, де він стався в Паскаль-програмі, відбувається автоматичне повернення в режим редагування.
Turbo Pascal дозволяє редагувати, компілювати, компонувати та виконувати Паскаль-програми. При цьому користувачеві надається висока швидкість компіляції, зручність роботи з комп'ютером і потужна бібліотека процедур і функцій.
2. Структура програми на Паскалі
Програма на Паскалі в загальному випадку складається з декількох файлів. Один з них містить головну програму, а решта - модулі. Головна програма складається з заголовка, блоку і закінчується крапкою - ознакою кінця програми. У свою чергу, блок містить розділи описів і розділ операторів. У загальному випадку «скелет» програми можна уявити наступним чином:{Специфікація програми}
program <ім'я програми> (заголовок програми);
uses (Розділ оголошення модулів);
label (розділ оголошення міток);
const (розділ оголошення констант);
type (розділ оголошення типів);
var (розділ оголошення змінних);
procedure (function) (розділ оголошення підпрограм: процедур або функцій);
begin
<Оператори> (розділ операторів, обов'язкова частина);
end.
Всі зазначені розділи відокремлюються один від одного крапкою з комою.
Розділ операторів повинен обов'язково бути присутнім у будь-якій програмі і є основним. Попередні розділи носять характер описів і не обов'язково міститися в програмі.
Тема програми складається з зарезервованого слова program та імені програми (зі списком параметрів, укладених в круглі дужки). Завершується заголовок крапкою з комою.
У Turbo Pascal є особливості в структурі програми. Так, заголовок програми необов'язковий, і ігнорується компілятором. Порядок розміщення розділів довільний, можна створювати кілька однакових розділів. Єдине правило, яке необхідно витримувати, - у будь-якому місці програми можна використовувати лише елементи (мітки, типи, константи, змінні, підпрограми і т. д.), які були визначені раніше по тексту програми або є зумовленими елементами мови. Винятком з цього правила може бути лише визначення типу-покажчика через невизначений до цього тип. Проте цей тип надалі повинен бути обов'язково визначений.
Оператори в розділі операторів відокремлюються один від одного крапкою з комою. Перед e nd крапка з комою не ставиться, але її наявність не є помилкою, а лише означає присутність між останнім виконуваним оператором і службовим словом end ще одного оператора - порожнього оператора. Закінчується програма словом end, після якого обов'язково ставиться крапка.
На початку програми необхідно розташовувати її специфікацію - коментар у фігурних дужках, що містить призначення програми, дані про програмістові, дату створення програми.
Мова програмування Паскаль є мовою структурного програмування. У ньому є всі необхідні керуючі конструкції для структурної побудови програми. Наочність такій побудові надає структуризація зовнішнього вигляду тексту програми. Основний використовуваний для цього прийом - зрушення рядків, які повинні підкорятися такими правилами:
§ конструкції одного рівня вкладеності записуються на одному вертикальному рівні (починаються з однієї позиції в рядку);
§ вкладена конструкція записується зміщеною по рядку на декілька позицій праворуч щодо зовнішнього для неї конструкції.
3. Елементи мови Турбо Паскаль
Алфавіт мови складається з безлічі символів, що включають:- Латинські букви: від A до Z (прописні) і від а до z. (Рядкові);
- Знак підкреслення _;
- Цифри: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9;
- Спеціальні символи: + - * / (знаки арифметичних операцій), = <> <=> = (операції відносини),: = (операції привласнення), []. , ():; {} ^ @ $ # '(Обмежники). До спецсимволи належать службові слова, зміст яких визначено однозначно (begin, end, for, div і т.д.).
- Пропуск - символ пробілу (ASCI1-32) і всі керуючі символи коду ASCII (від 0 до 31).
Ідентифікатори. Ідентифікатором називається символічне ім'я певного програмного об'єкта. Такими об'єктами є імена констант, змінних, типів даних, процедур і функцій, програм. Ідентифікатор - це будь-яка послідовність літер та цифр, що починається з букви. У Турбо Паскалі до букв прирівнюється також знак підкреслення. Великі та малі літери в ідентифікаторах і службових словах не розрізняються. Наприклад: max, MAX, MaX і mAx - одне і те ж ім'я. Довжина ідентифікатора може бути довільною, але значущими є тільки перші 63 символу.
Коментарі. Конструкції, укладені у фігурні дужки {} або в дужки виду (* *) є коментарями, можуть займати кілька рядків і ігноруються компілятором.
Рядок, що починається з символів {$ або (* $, є директивою компілятора. За цими символами слід мнемоніка команди компілятора. Букви російського алфавіту вживаються тільки в коментарях, у літерних і текстових константах.
4. Арифметичні операції і вирази
Знаки операцій призначені для позначення тих чи інших арифметичних, логічних або інших дій. Вони бувають двох типів: складаються з нелітерних символів (наприклад, +, -, * і т.д.) і літерні операції (наприклад, not, mod, div і т. д.), що представляють собою зарезервовані слова. Операції над даними діляться на унарні (застосовні до одного операнду) та бінарні (застосовні до двох операндів). Наведемо приклади бінарних арифметичних операцій (у таблиці буква I позначає цілі типи, R - речові типи):Знак | Вираз | Типи операндів | Тип результату | Операція |
+ | А + В | R, R I, I I, R; R, I | R I R | Додавання |
- | А-В | R, R I, I I, R; R, I | R I R | Віднімання |
* | А * В | R, R I, I I, R; R, I | R I R | Множення |
/ | А / В | R, R I, I I, R; R, I | R R R | Речовий поділ |
Div | A div B | I, I | I | Ціле поділ |
Mod | A mod B | I, I | I | Залишок від ділення |
Порядок виконання операцій в арифметичному виразі підпорядковується трьох правил:
1. Правила дужок. Воно свідчить, що першими виконуються операції в дужках. Якщо є кілька пар вкладених дужок, обчислення починаються з самих внутрішніх дужок.
2. Правила обліку пріоритету операцій: спочатку обчислюються значення функцій, потім виконуються операції множення і ділення і в останню чергу - операції додавання і віднімання.
3. Правила проходження: операції однакового старшинства (пріоритету) виконуються зліва направо у порядку їх слідування.
Приклад. Цифрами зверху зазначений порядок виконання операцій:
Вираз має цілий тип, якщо в результаті його обчислення виходить величина цілого типу. Вираз має дійсний тип, якщо результатом його обчислення є речова величина.
5. Стандартні функції
Як операнди у виразі, крім констант і змінних, можна використовувати стандартні функції. Аргументи функцій обов'язково полягають у круглі дужки. Пріоритет виконання функції вищі, ніж пріоритет виконання арифметичних операцій. Розглянемо стандартні функції Турбо Паскаля (у таблиці буква I позначає цілі типи, R - речові типи): Звернення | Тип аргументу | Тип результату | Тип дії |
pi | - | R | Число π |
abs (x) | I, R | I, R | Модуль (абсолютна величина) числа х |
sqr (x) | I, R | I, R | Квадрат х |
sqrt (x) | I, R | R | Корінь квадратний з х (х ≥ 0) |
sin (x) | I, R | R | Синус х (х у радіанах) |
cos (x) | I, R | R | Косинус х (х у радіанах) |
arctan (x) | I, R | R | Арктангенс х (результат у радіанах) |
exp (x) | I, R | R | Експонента е в ступені х (е ≈ 2,71828) |
ln (x) | I, R | R | Натуральний логарифм х (x> 0) |
trunc (x) | R | I | Ціла частина х |
int (x) | I, R | R | Ціла частина х |
round (x) | R | I | Округлення х до найближчого цілого |
frac (x) | I, R | R | Дробова частина х |
random | - | I | Випадкове число [0,1) |
random (x) | I | R | Випадкове число [0, х) |
dec (x, [n]) | I | I | Зменшення х на n, при відсутності n - на 1 |
inc (x, [n]) | I | I | Збільшення х на n, при відсутності n - на 1 |
odd (x) | Longint | Boolean | true, якщо значення x непарне; false, якщо x парне |
ord (x) | будь порядковий | Longint | Порядковий номер значення х у його типі. Якщо х - символ, то функція повертає код символу |
divd (x) | будь порядковий | той же, що для x | Попереднє відносно х значення в його типі |
succ (x) | будь порядковий | той же, що для x | Наступне відносно х значення в його типі |
chr (x) | Byte | Char | Визначає символ із зазначеним кодом (х - число, що визначає код символу) |
Функція | Еквівалентна математична формула | Запис у програмі |
ax | exp (x * ln (a)) | |
tg (x) | sin (x) / cos (x) | |
arcsin (x) | arctan (x / sqrt (1-x * x)) | |
arccos (x) | arctan (sqrt (1-x * x) / x) | |
logax | ln (x) / ln (a) |
6. Оператор присвоювання
Значення змінної може бути задано або змінена за допомогою оператора присвоєння, який має вигляд:<Ім'я>: = <вираз>;
де <ім'я> - це ім'я змінної або функції;
: = - Знак операції привласнення.
Оператор присвоювання дозволяє замінити поточне значення змінної, що стоїть ліворуч від знака присвоювання, новим значенням, що задається виразом, що стоять справа.
З правого боку розташовується вираз, який після обчислення дає деяке значення. З лівого боку вказується ім'я змінної, якій це значення присвоюється. Дана обставина дозволяє використовувати з лівого і правого боку знака присвоювання ім'я однієї і тієї ж змінної. Нехай, наприклад, є наступні оператори:
Var
х, а: real;
. . . . .
х: = 2.5;
а: = 1.25;
х: = х + а;
Після виконання цих операторів мінлива х буде мати значення 3.75, тому що спочатку відбудеться обчислення вираження х + а у вигляді суми двох констант: 2.5 + 1.25 = 3.75, а потім це значення присвоюється змінної х (попереднє значення х, рівне 2.5, заміниться новим - 3.75).
Слід звернути увагу на наступне правило: типи змінної та вирази повинні бути однаковими. Виняток становить випадок, коли вираз має цілий тип, а змінна - речовий.