
- •Історична довідка
- •Характеристика й особливості мови
- •Алфавіт мови
- •Службові (зарезервовані) слова.
- •Структура програми мови 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. Лінійний пошук у списку
- •Змішані таблиці
- •Об’єктно-орієнтоване програмування. Що таке об’єктно-орієнтоване програмування
- •Інкапсуляція
- •Спадкування
- •Віртуальні методи і поліморфізм
- •Конструктори, динамічні об'єкти і деструктори
- •Поля і методи: сховані і загальнодоступні
- •Системно- залежні розширення
- •Налагодження змінних
- •Оверлеї
- •Переривання і системні виклики
- •Доступ до пам'яті і портів
- •Перевизначення переривань
Міністерство освіти і науки України
Бердичівський політехнічний коледж
“ЗАТВЕРДЖЕНО”
методичною радою БПК
Голова методичної ради
___________ В.Р. Рішан
“_____” __________ р.
К О Н С П Е К Т Л Е К Ц І Й
з предмету
Алгоритмічні мови та програмування
(мова програмування Pascal)
спеціальності _5.080405 “Програмування для
електронно – обчислювальної техніки і автоматизованих
систем”
Автор - укладач С.Г.Куропаткін
Розглянуто та схвалено цикловою комісією спеціальності 5.080405
“Програмування для електронно – обчислювальної техніки і автоматизованих систем”
Протокол №1 від 30. 08. 2002 р.
Зміст
Зміст 2
Історична довідка 4
Характеристика й особливості мови 5
Алфавіт мови 7
Службові (зарезервовані) слова. 8
Структура програми мови Turbo Pascal 10
Процедури введення-виведення. Деякі вбудовані функції Турбо-Паскаля. 16
Базові управляючі конструкції Турбо-Паскаля 18
Оператори умовного переходу. 18
1. Оператор if. 18
2. Оператор вибору (case) 20
Оператори циклів у Паскалі 22
1. Цикл із післяумовою (Repeat) 22
2. Цикл із предумовою (While) 23
3. Цикл із лічильником або параметром (For) 23
Концепція типів даних. Типи даних в мові Pascal 25
Цілий тип. 27
Дійсні типи 28
Бульовий (логічний) тип 30
Символьні і рядкові змінні 31
1. Символьний тип 31
2. Рядковий тип 33
Перерахований та обмежений типи 36
1. Перерахований тип 36
2. Обмежений тип 38
Масиви 40
1. Поняття масиву. Одномірні масиви 40
2. Багатомірні масиви 42
3. Сортування і пошук 44
Множинний тип 47
Тип запис 53
Процедури і функції 58
Формальні і фактичні параметри. Механізм параметрів 63
Параметри - значення 65
Параметри-змінні 66
Безтипові параметри 69
Приведення типів. 69
Процедурні типи 72
Рекурсія 81
Рекурсивні визначення 81
Рекурсивні підпрограми 83
Алгоритми з поверненням. Розв’язок задачі про рух коня 86
Алгоритми з поверненням. Розв’язок задачі про вісьмох ферзів 92
Модулі в Турбо Паскалі 97
Модуль CRT 101
1. Керування екраном 101
2. Робота з клавіатурою 102
3. Інші можливості 103
Графіка в Турбо Паскалі 104
1. Включення і вимикання графічного режиму. 104
2. Побудова елементарних зображень 105
3. Виведення текстової інформації. 109
Файли в мові програмування Pascal 111
Установчі і завершальні операції 111
Операції введення-виведення 114
Обробка помилок введення-виведення 115
Переміщення по файлу 117
Спеціальні операції 118
Текстові файли 118
1. Оголошення файлової змінної і прив'язка до файлу на диску 119
2. Читання даних з файлу 119
3. Запис даних у файл 122
Двійкові файли 123
1. Типізовані файли 124
2. Нетипізовані файли 124
Статичні і динамічні змінні 128
Покажчики 128
Стан покажчика 131
Установка розмірів динамічної пам'яті 132
Сумісність і перетворення посилкових типів 133
Динамічні структури даних 136
Динамічні змінні: інші види списків, стек і черга. 141
1. Інші види списків 141
2. Стек і черга 142
Дерева і пошук у деревах 144
Таблиці і найпростіші алгоритми пошуку. 146
1. Визначення й описи структур даних 146
1. Масив 148
2. Список 148
3. Дерево 149
2. Алгоритми 149
1. Лінійний пошук у масиві 149
2. Двійковий пошук 151
3. Лінійний пошук у списку 152
Змішані таблиці 153
Об’єктно-орієнтоване програмування. 157
Що таке об’єктно-орієнтоване програмування 157
Інкапсуляція 158
Спадкування 163
Віртуальні методи і поліморфізм 165
Конструктори, динамічні об'єкти і деструктори 171
Поля і методи: сховані і загальнодоступні 176
Системно- залежні розширення 178
Налагодження змінних 178
Оверлеї 182
Переривання і системні виклики 186
Доступ до пам'яті і портів 189
Перевизначення переривань 191
Історична довідка
Мова програмування 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 є процедурною мовою з традиційною блоковою структурою і статично визначеними областями дії імен. Процедурний механізм сполучає у собі простоту реалізації і використання і гнучкі засоби параметризації.
Синтаксис мови досить нескладний. Програми записуються у вільному форматі, що дозволяє зробити їх наочними і зручними для вивчення.