- •Тема №1. Склад програмування pascal Лекція 1: Інформаційні моделі і алгоритми. Програми . Програмування. План
- •1. Етапи розв'язування задач з використанням комп'ютера
- •2 Моделювання. Класифікація моделей.
- •3 Алгоритми.
- •4 Запис програм.
- •5.Програми-посередники
- •Лекція №2: Основні поняття та елементи мови Turbo Pascal План
- •Опис мови.
- •Структура програми.
- •Ідентифікатори.
- •Розділи оголошення сталих і змінних.
- •Перша програма.
- •Лекція №3 Типи даних. Лінійні програми План
- •Типи даних
- •Стандартні типи даних.
- •Нестандартні прості типи.
- •Типовані сталі.
- •Команда присвоєння має вигляд
- •5. Основні операції, стандартні функції та деякі процедури
- •6. Команди введення, виведення даних. Форматний вивід.
- •Тема №2. Оператори мови програмування Turbo Pascal Лекція №1 Розгалуження. Оператор безумовного переходу. Умовний оператор. Зображення в блок-схемах План
- •Складена команда (складний оператор)
- •Команда розгалуження if (умовна команда)
- •4. Команда goto
- •Лекція №2 Програмування циклічних алгоритмів план
- •1.Цикл з параметром. Зображення в блок-схемах.
- •2. Цикл з передумовою (while), зображення в блок-схемі.
- •3. Цикл з післяумовою (repet-until), зображення в блок-схемах.
- •Тема №3. Структури даних. Процедури та функції Лекція №1 Функції. Процедури. Опис та виклик.
- •1.Визначеня поняття функції
- •2.Стандартні функції.
- •3. Визначення поняття процедури.
- •Стандартні процедури.
- •Лекція №2 Масиви. Запис та реалізація в мові програмування Turbo Pascal План
- •Масиви. Запис та реалізація.
- •Основні дії з елементами масивів.
- •Текст програми
- •Двовимірні масиви.
- •Лекція №3 Сортування масивів
- •2. Сортування бульбашкою.
- •4,2,7,9,1. Упорядкуємо його методом обміну.
- •3. Сортування вставкою.
- •4. Сортування злиттям.
- •Лекція №4 Рядкові величини у мові Pascal. План
- •1. Введення і виведення строкових даних
- •2. Операції порівняння строкових даних
- •3. Операція присвоювання для рядків
- •4. Стандартні функції і процедури для роботи з рядками
- •Write(copy('трансформатор',6,5))
2. Операції порівняння строкових даних
Строкові дані можна порівнювати, використовуючи операції відносини:
=, <> (не дорівнює), >, >=, <, <=.
Так, наприклад, у результаті виконання операції порівняння S=P двох строкових величин S і P виходить логічне значення TRUE, якщо тексти S і P цілком збігаються, інакше виходить логічне значення FALSE. Аналогічно виконується операція порівняння S<>P, що є запереченням операції S=P. Операція порівняння S<P виконується посимвольно (як і інші операції порівняння строкових величин). У результаті виконання операції S<P виходить значення TRUE, якщо для першої ж пари незбіжних символів відповідний символ з тексту P має більший порядковий номер в алфавіті (старший код у ASCII), чим символ у тексті S. У противному випадку виходить значення FALSE. Аналогічно виконуються й інші операції порівняння.
Наприклад, що випливають логічні вираження мають значення TRUE:
'FATHER' < 'MOTHER', 'PI' > 'PEACE', 'HELLO ' > 'HELLO',
а вираження
'CAT'='DOG', 'BETA'<>'BETA', 'TABLE' < 'CHIAR'
мають значення FALSE.
При порівнянні рядків різної довжини, якщо перший рядок коротше другої і всі її символи збігаються з відповідними символами другого рядка, те більшої вважається друга, більш довга рядок.
3. Операція присвоювання для рядків
У мові Turbo-Pascal використовуються два підходи для обробки змінних типу String. Перший припускає обробку всього рядка як єдиного цілого (єдиного об'єкта). Другий розглядає рядок як складений об'єкт, що складається з окремих символів, тобто елементів типу Char, доступних при обробці кожний окремо.
Перший підхід надає можливість присвоювання строкової змінної за одну операцію значення цілого рядка символів, наприклад:
line1:='Це-рядок!';
Другий підхід забезпечує доступ до окремих символів рядка по номері позиції для їхнього читання і запису. Для доступу необхідно вказати ім'я рядка й у квадратних дужках номер позиції елемента в рядку, наприклад:
line2[1] :='А'; line2[26]:='Z';
при цьому стосовно окремого символу рядка можна застосовувати ті ж операції, що і до змінного типу Char, наприклад оператор
write(ord(line2[1]);
видасть на екран ASCII-код першого символу в рядку line2.
4. Стандартні функції і процедури для роботи з рядками
У мові Pascal для роботи з рядками мається ряд стандартних (убудованих) функцій.
Функція LENGTH (довжина) – для заданого значення типу String видає ціле число, рівне кількості символів у рядку.
Вона має вигляд
length('текст'); або length(<ім'я зміною типу string>);
Наприклад, після виконання програми:
program txt;
var a,b:string[20];
begin
a:= 'Привіт!'; b:='';
write(length(a));
write(length(b));
write(length(a);length(b);length('Комп'ютер!'))
end.
на екран буде виведено три числа: 7, 0, 10.
Функція CONCAT (конкатенація або склейка) виконує операцію з'єднання (склеювання) рядків, що є аргументами функції.
Вона має вигляд
concat(S1,S2,...,Sn),
де S1,S2,...,Sn – строкові константи, змінні типу Char або/і String. Результатом операції буде рядок, отримана конкатенацією значень величин S1,S2,...,Sn. Якщо довжина результату виявиться більше 255, то виникає помилка часу виконання (run time error).
Наприклад, результатом програми
program world;
var a:char;
b:string[20];
begin
a:='І';
b:='форма';
write(concat(a,'н',b,'тика'))
end.
буде рядок 'Інформатика'.
Помітимо, що в даній версії мови PASCAL операцію конкатенації записану у виді S:=CONCAT(S1,S2,...,Sn) можна замінити еквівалентним записом
S:=S1+S2+...+Sn.
Функція POS(P,S) (P,S-рядка) визначає, чи утримується перший рядок P у другому рядку S. Результатом функції є ціле число, що показує номер символу, починаючи з якого перший рядок входить у другу. Якщо перший рядок не утримується в другий, то функція видає значення 0.
Наприклад, значення функції
pos('трон','електроніка') дорівнює 5;
pos('град','електроніка') дорівнює 0;
pos('електрон','електроніка') дорівнює 1.
Функція COPY(S,P,L) (вирізка) формує подстроку довжиною в L символів, починаючи з позиції P вихідного рядка S.
Наприклад, оператор
