- •Історична довідка
- •Характеристика й особливості мови
- •Алфавіт мови
- •Службові (зарезервовані) слова.
- •Структура програми мови Turbo Pascal
- •Розділ оголошень і угод
- •Розділ текстів процедур і функцій
- •Розділ основного блоку програми
- •Процедури введення-виведення. Деякі вбудовані функції Турбо-Паскаля.
- •Функції числових параметрів.
- •Базові управляючі конструкції Турбо-Паскаля Оператори умовного переходу.
- •1. Оператор if.
- •2. Оператор вибору (case)
- •Оператори циклів у Паскалі
- •1. Цикл із післяумовою (Repeat)
- •2. Цикл із предумовою (While)
- •3. Цикл із лічильником або параметром (For)
- •Концепція типів даних. Типи даних в мові Pascal
- •Дійсні типи
- •Бульовий (логічний) тип
- •Символьні і рядкові змінні
- •1. Символьний тип
- •2. Рядковий тип
- •Перерахований та обмежений типи
- •1. Перерахований тип
- •2. Обмежений тип
- •1. Поняття масиву. Одномірні масиви
- •2. Багатомірні масиви
- •3. Сортування і пошук
- •Множинний тип
- •Тип запис
- •Процедури і функції
- •Формальні і фактичні параметри. Механізм параметрів
- •Параметри - значення
- •Параметри-змінні
- •Безтипові параметри
- •Приведення типів.
- •Процедурні типи
- •Рекурсія Рекурсивні визначення
- •Рекурсивні підпрограми
- •Алгоритми з поверненням. Розв’язок задачі про рух коня
- •Алгоритми з поверненням. Розв’язок задачі про вісьмох ферзів
- •If підходить тнеn
- •Модулі в Турбо Паскалі
- •Модуль crt
- •1. Керування екраном
- •2. Робота з клавіатурою
- •3. Інші можливості
- •Графіка в Турбо Паскалі
- •1. Включення і вимикання графічного режиму.
- •2. Побудова елементарних зображень
- •3. Виведення текстової інформації.
- •Файли в мові програмування Pascal
- •Установчі і завершальні операції
- •Операції введення-виведення
- •Обробка помилок введення-виведення
- •Переміщення по файлу
- •Спеціальні операції
- •Текстові файли
- •1. Оголошення файлової змінної і прив'язка до файлу на диску
- •2. Читання даних з файлу
- •3. Запис даних у файл
- •Двійкові файли
- •1. Типізовані файли
- •2. Нетипізовані файли
- •Статичні і динамічні змінні
- •Покажчики
- •Стан покажчика
- •Установка розмірів динамічної пам'яті
- •Сумісність і перетворення посилкових типів
- •Динамічні структури даних
- •Динамічні змінні: інші види списків, стек і черга.
- •1. Інші види списків
- •2. Стек і черга
- •Дерева і пошук у деревах
- •1. Визначення й описи структур даних
- •1. Масив
- •2. Список
- •3. Дерево
- •2. Алгоритми
- •1. Лінійний пошук у масиві
- •2. Двійковий пошук
- •3. Лінійний пошук у списку
- •Змішані таблиці
- •Об’єктно-орієнтоване програмування. Що таке об’єктно-орієнтоване програмування
- •Інкапсуляція
- •Спадкування
- •Віртуальні методи і поліморфізм
- •Конструктори, динамічні об'єкти і деструктори
- •Поля і методи: сховані і загальнодоступні
- •Системно- залежні розширення
- •Налагодження змінних
- •Оверлеї
- •Переривання і системні виклики
- •Доступ до пам'яті і портів
- •Перевизначення переривань
Зміст
Зміст 1
Історична довідка 3
Характеристика й особливості мови 4
Алфавіт мови 6
Службові (зарезервовані) слова. 7
Структура програми мови Turbo Pascal 9
Процедури введення-виведення. Деякі вбудовані функції Турбо-Паскаля. 15
Базові управляючі конструкції Турбо-Паскаля 17
Оператори умовного переходу. 17
1. Оператор if. 17
2. Оператор вибору (case) 19
Оператори циклів у Паскалі 21
1. Цикл із післяумовою (Repeat) 21
2. Цикл із предумовою (While) 22
3. Цикл із лічильником або параметром (For) 22
Концепція типів даних. Типи даних в мові Pascal 24
Цілий тип. 26
Дійсні типи 27
Бульовий (логічний) тип 29
Символьні і рядкові змінні 30
1. Символьний тип 30
2. Рядковий тип 32
Перерахований та обмежений типи 35
1. Перерахований тип 35
2. Обмежений тип 37
Масиви 39
1. Поняття масиву. Одномірні масиви 39
2. Багатомірні масиви 41
3. Сортування і пошук 43
Множинний тип 46
Тип запис 52
Процедури і функції 57
Формальні і фактичні параметри. Механізм параметрів 62
Параметри - значення 64
Параметри-змінні 65
Безтипові параметри 68
Приведення типів. 68
Процедурні типи 71
Рекурсія 80
Рекурсивні визначення 80
Рекурсивні підпрограми 82
Алгоритми з поверненням. Розв’язок задачі про рух коня 85
Алгоритми з поверненням. Розв’язок задачі про вісьмох ферзів 91
Модулі в Турбо Паскалі 96
Модуль CRT 100
1. Керування екраном 100
2. Робота з клавіатурою 101
3. Інші можливості 102
Графіка в Турбо Паскалі 103
1. Включення і вимикання графічного режиму. 103
2. Побудова елементарних зображень 104
3. Виведення текстової інформації. 108
Файли в мові програмування Pascal 110
Установчі і завершальні операції 110
Операції введення-виведення 113
Обробка помилок введення-виведення 114
Переміщення по файлу 116
Спеціальні операції 117
Текстові файли 117
1. Оголошення файлової змінної і прив'язка до файлу на диску 118
2. Читання даних з файлу 118
3. Запис даних у файл 121
Двійкові файли 122
1. Типізовані файли 123
2. Нетипізовані файли 123
Статичні і динамічні змінні 127
Покажчики 127
Стан покажчика 130
Установка розмірів динамічної пам'яті 131
Сумісність і перетворення посилкових типів 132
Динамічні структури даних 135
Динамічні змінні: інші види списків, стек і черга. 140
1. Інші види списків 140
2. Стек і черга 141
Дерева і пошук у деревах 143
Таблиці і найпростіші алгоритми пошуку. 145
1. Визначення й описи структур даних 145
1. Масив 147
2. Список 147
3. Дерево 148
2. Алгоритми 148
1. Лінійний пошук у масиві 148
2. Двійковий пошук 150
3. Лінійний пошук у списку 151
Змішані таблиці 152
Об’єктно-орієнтоване програмування. 156
Що таке об’єктно-орієнтоване програмування 156
Інкапсуляція 157
Спадкування 162
Віртуальні методи і поліморфізм 164
Конструктори, динамічні об'єкти і деструктори 170
Поля і методи: сховані і загальнодоступні 175
Системно- залежні розширення 177
Налагодження змінних 177
Оверлеї 181
Переривання і системні виклики 185
Доступ до пам'яті і портів 188
Перевизначення переривань 190
Історична довідка
Мова програмування Pascal була розроблена у 1968-1971 р. Ніклаусом Віртом у Цюрихському Інституті інформатики (Швейцарія). Первісна мета розробки мови диктувалася необхідністю інструмента “для навчання програмуванню як систематичній дисципліні". Однак незабаром виявилася надзвичайна ефективність мови Pascal у найрізноманітніших додатках, від рішення невеликих задач чисельного характеру до розробки складних програмних систем - компіляторів, баз даних, операційних систем і т.п. До нашого часу Pascal належить до групи найбільш поширених і популярних у світі мов програмування. Існують численні реалізації мови практично для всіх машинних архітектур; розроблені десятки діалектів і проблемно-орієнтованих розширень мови Pascal; навчання програмуванню і науково-технічні публікації в значній мірі базуються на цій мові.
Характеристика й особливості мови
Існує ряд об'єктивних причин, що обумовили видатний успіх мови Pascal. Серед них у першу чергу необхідно вказати наступні:
Мова в природній і елегантній формі відбив найважливіші сучасні концепції технології розробки програм: розвита система типів, орієнтація на принципи структурного програмування, підтримка процесу покрокової розробки.
Завдяки своїй компактності, концептуальній цілісності й ортогональності понять, а також удалому первісному опису, запропонованому автором мови, Pascal виявився дуже легкий для вивчення й освоєння. На противагу громіздким багатотомним описам таких мов, як PL/I, Cobol, FORTRAN, досить повний опис мови Pascal займає близько 30 сторінок тексту, а його синтаксичні правила можна розмістити на одній сторінці.
Незважаючи на відносну простоту мови, він виявився придатний для дуже широкого спектра додатків, у тому числі для розробки дуже великих і складних програм, наприклад, операційних систем.
Pascal досить технологичіний для реалізації практично для усіх, у тому числі і нетрадиційних, машинних архітектур. Стверджується, що розробка Pascal-транслятора "майже не перевищує по трудомісткості гарну дипломну роботу випускника вузу". Завдяки цьому для багатьох ЕОМ існує кілька різних реалізацій мови, що відбивають ті чи інші практичні потреби програмістів.
Мова Pascal стандартизована в багатьох країнах. У 1983 році був прийнятий міжнародний стандарт (ISO 7185:1983).
Розглянемо основні особливості мови Pascal.
Pascal є традиційною алгоритмічною мовою програмування, що продовжує лінію Algol-60. Це означає, що програма мовою Pascal являє собою спеціально організовану послідовність кроків по перетворенню даних, що приводить до розв’язку деякої задачі. Це відрізняє Pascal від так званих непроцедурних мов типу Prolog, власне кажучи, що представляють собою формалізми для запису початкових умов деякої задачі і синтезуючих рішення за допомогою убудованих механізмів логічного висновку.
Мова Pascal містить зручні засоби для представлення даних. Розвита система типів дозволяє адекватно описувати даній, підлягаючій обробці, і конструювати структури даних довільної складності. Pascal є типізованою мовою, що означає фіксацію типів змінних при їх описі, а також строгий контроль перетворень типів і контроль доступу до даних відповідно до їхнього типу (як на етапі компіляції, так і при виконанні програм).
Набір операторів мови Pascal відбиває принципи структурного програмування і дозволяє записувати досить складні алгоритми в компактній і елегантній формі.
Pascal є процедурною мовою з традиційною блоковою структурою і статично визначеними областями дії імен. Процедурний механізм сполучає у собі простоту реалізації і використання і гнучкі засоби параметризації.
Синтаксис мови досить нескладний. Програми записуються у вільному форматі, що дозволяє зробити їх наочними і зручними для вивчення.