- •Історична довідка
- •Характеристика й особливості мови
- •Алфавіт мови
- •Службові (зарезервовані) слова.
- •Структура програми мови 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. Процедури введення-виведення. Майже кожна програма повинна спілкуватися з користувачем, тобто виводити результати своєї роботи на екран і запитувати в користувача інформацію з клавіатури. Для того щоб це стало можливим, у Турбо-Паскалі маються спеціальні процедури (тобто невеликі допоміжні програми), називаються вони процедурами введення-виведення. Для того щоб змусити процедуру працювати в нашій програмі, потрібно написати її ім'я, за яким у дужках, через кому перелічити параметри, що ми хочемо їй передати. Для процедури виведення інформації на екран параметрами можуть служити числа чи текстові повідомлення, які повинна друкувати наша програма на екрані. Опишемо призначення цих процедур.
write(p1,p2,... pn); – виводить на екран значення виразів p1,p2,... pn, кількість яких (n) необмежена. Вирази можуть бути числові, строкові, символьні і логічні. Під виразом будемо розуміти сукупність деяких дій, застосованих до змінних, чи константам літералам, наприклад: арифметичні дії і математичні функції для чисел, функції для обробки рядків і окремих символів, логічні вирази і т.п. Можливе форматне виведення, тобто явна вказівка того, скільки виділяти позицій на екрані для виведення значення. Приклад для дійсних типів: write(r+s:10:5); – вивести значення вираження r+s з виділенням для цього 10 позицій, з них 5 – після коми. Для інших типів усе значно простіше: write(p:10); – вивести значення виразу p, виділивши під це 10 позицій. Виведення на екран у будь-якому випадку виконується по правому краю виділеного поля.
writeln(p1,p2,... pn); – аналогічно write, виводить значення p1,p2,... pn, після чого переводить курсор на новий рядок. Зміст параметрів – той же, зауваження про форматне виведення залишаються в силі. Існує варіант writeln; (без параметрів), що означає лише переведення курсору на початок нового рядка.
readln(v1,v2,...vn); – уведення з клавіатури значень змінних v1,...vn. Змінні можуть мати рядковий, символьний чи числовий тип. При уведенні варто розділяти значення пробілами, символами табуляції чи переводу рядка (тобто, натискаючи Enter).
read(v1,v2,...vn); – по призначенню подібний з readln; відмінність полягає в тому, що символ переводу рядка (Enter), натиснутий при завершенні введення, не «проковтує», а чекає наступного оператора введення. Якщо їм виявиться оператор уведення рядкової змінної чи просто readln; то рядковій змінний буде присвоєне значення порожнього рядка, а readln без параметрів не стане чекати, поки користувач натисне Enter, а зреагує на уже введений.
Приклад. Програма просить користувача ввести з клавіатури два цілих числа і друкує на екрані їхню суму:
program PrintSum;
var a,b: integer;
begin
write('Уведіть два числа:');
readln(a,b);
writeln('Сума a і b дорівнює ',a+b);
readln;
end.
Функції числових параметрів.
Назва |
Значення |
abs(x) |
модуль x |
cos(x) |
косинус x |
frac(x) |
дробова частина x |
int(x) |
ціла частина x (тобто найближче ціле, що не перевершує x) |
pi |
число |
round(x) |
x, округлене до цілого |
sin(x) |
синус x |
sqr(x) |
квадрат x |
sqrt(x) |
квадратний корінь з x |
trunc(x) |
число, отримане з x відкиданням дробової частини |