- •Тема 1. Основи алгоритмізації процесів оброблення інформації
- •Алгоритм і його властивості
- •Схеми алгоритмів
- •Графічне зображення різних видів обчислювальних процесів
- •Тема 2. Інстрментальні мови та системи програмування
- •Покоління та класифікація мов програмування
- •Компоненти інструментальних систем
- •Історія розвитку мови програмування Паскаль
- •Інтегрована інструментальна оболонка Турбо Паскаль 7.0
- •Етапи створення програми
- •Тема 3. Мова програмування Турбо Паскаль 7.0
- •Алфавіт мови Турбо Паскаль 7.0
- •Структура Паскаль-програми
- •Система типів даних мови програмування Паскаль
- •Тема 4. Лінійні програми в мові Паскаль
- •Оператор присвоєння
- •Оператор введення
- •Оператор виведення
- •Операції та вирази в мові паскаль
- •Стандартні функції мови Паскаль
- •Тема 5. Умовний оператор в мові паскаль
- •Умовний оператор
- •Оператор варіанту
- •Тема 6. Оператори Циклу в мові паскаль
- •Оператор безумовного переходу
- •Оператор_циклу «з передумовою»
- •Оператори циклу « з післяумовою»
- •Оператор циклу «з параметром»
- •Тема 7. Обробка масивів у Турбо Паскалі
- •Одновимірні масиви
- •Багатовимірні масиви
- •Тема 8. Підпрограми в мові Турбо Паскаль
- •Процедури
- •Функції
- •Тема 8. Стандартні засоби обробки файлів
- •Обробка типізованих файлів
- •Послідовний та прямий доступ до файлу
- •Робота з текстовими файлами
- •Обробка безтипових файлів
- •Тема 9. Робота з рядковими типами даних в середовищі Турбо Паскаль
- •Тема 10. Множини в мові паскаль
- •Тема 11. Записи в мові Паскаль
- •Тема 12. Комп'ютерна графіка
- •ЛАБОРАТОРНИЙ ПРАКТИКУМ
- •Лабораторна робота №1
- •Лабораторна робота №9
- •ДОВІДНИК
- •Типові помилки компіляції та виконання програми
- •Процедури модуля Graph
- •функції модуля Graph
- •Кольори модуля Graph
«Turbo Pascal » |
Значенко О.П. |
ТЕМА 9. РОБОТА З РЯДКОВИМИ ТИПАМИ ДАНИХ В СЕРЕДОВИЩІ ТУРБО ПАСКАЛЬ
У кожному комп’ютері можуть зберігатися числа та символьні данні. Кожен символ займає один байт пам’яті. Для даного, значення якого є одиничний символ, використовується тип даних CHAR. У Мові Турбо Паскаль існує тип даних, призначений для обробки ряду символів STRING. Рядок може містити ві 0 до 255 символів.
Змінна типу STRING складається з ланцюжка символів, тобто елементів типу CHAR. Рядки виводяться на екран монітора стандартними процедурами WRITE, WRITELN та вводяться в пам’ять комп’ютера стандартними процедурами READ,
READLN.
Оголошення рядкових типів та рядкових змінних.
Змінна типу STRING можн бути оголошена наступним чином.
Var <змінна> : string [n];
Приклад:
VAR
A:STRING;
B:STRING [45]; {довжина рядка повинна не перевищувати 45
символів + 1 байт для зберігання довжини рядка}
Де в дужках зазначається максимальна довжина рядка, якщо розмір не вказано то розмір рядка береться максимальною 255.
Операції над рядками
Присвоювання. Оператор присвоювання має такий вигляд:
<ім’я змінної>:=<рядковий вираз>
Об’єднання рядків. Ця операція дозволяє з’єднати два рядки в один, приєднавши початок другого рядка до кінця першого. Операція позначається символом „+”.
Приклад:
x:=’тепло’;
y:=’хід’; z:= x+y;
Порівняння рядків. (=, <>, <=, >=, >, < ). Де (=) „рівність” означає посимвольний збіг рядків, а (<>) „не дорівнює” означає, що рядки не збігаються. При застосуванні
51
«Turbo Pascal » |
Значенко О.П. |
решти операторів порівняння рядків відбувається зліва на право до першого не співпадаючого символу. Довшим вважається той рядок, в якого перший не співпадаючий символ має більший номер у таблиці кодів (‘abd’>’abc’). Якщо рядки різної довжини то коротший рядок вважається меншим.
Процедури та функції обробки рядків
ФУНКЦІЇ
1.LENGTH (х) - (довжина). Вбудована функція, що дозволяє визначити фактичну довжину рядка, який зберігається у вказаній змінній.
Приклад: Визначити довжину двох рядків та їх об’єднання.
Program p2;
Var x, y : string [10]; l, k, n : integer;
Begin
Writeln (‘введіть два рядка’);
Readln (x);
Readln (y); k:=Length (x); l:= Length (y); n:= Length (x+y); Writeln (k, l,n);
Readln; End.
2. COPY (R, N, K) - (копіювання). Функція дозволяє копіювати фрагмент рядка
зодної змінної в іншу. Викликаючи дану функцію необхідно вказати такі параметри: R -ім’я рядка, з якого береться фрагмент;
N -позиція у рядку, починаючи з якого буде копіюватися фрагмент; K - кількість копіюємих символів.
Приклад: |
|
Program p3; |
|
Var x, y : string [10]; |
|
Begin |
|
x:=’інформатика’; |
|
y:= Copy (x, 3, 5); |
|
Writeln (y); |
{результат - форма} |
Readln; |
|
End. |
|
52
«Turbo Pascal » |
Значенко О.П. |
3. POS(<фрагмент>,<рядок>) - (пошук). За допомогою даної функції здійснюється пошук певного фрагменту. Якщо заданий фрагмент у рядку існує, то функція повертає номер позиції в рядку з якої цей фрагмент починається. У випадку якщо фрагмент не знайдено то функція повертає „0”. Функція вимагає повного спів падання фрагменту в рядку та фрагменту який шукається. Причому великі та маленькі літери вважаються різними.
Приклад.
Program p4;
Var x, y : string [10]; i: integer;
Begin x:=’ай’;
y:=’файл’; i:= Pos (x, y);
If i<>0 then
Writeln (‘фрагмент знаходиться у слові в позиції’, і);
Readln;
End.
4. UPCASE (x[i]) - (перетворення літери в прописну). Дозволяє перетворювати символ-якої літери в прописну. Ця функція розрахована на обробку окремого символу, тому для обробки рядку символів за допомогою даної функції необхідно організувати цикл.
Приклад.
Program p5;
Var x : string [10]; i: integer;
Begin
x:=’Турбо Pascal’;
For i:=1 to length (x) do
x[i]:= UpCase (x[i]); |
|
Writeln (x); |
{ результат - Турбо PASCAL} |
Readln; |
|
End.
{ В результаті роботи даної програми на екран монітора буде виведено рядок, який містить великі англійські та маленькі російські }
53
«Turbo Pascal » |
Значенко О.П. |
ПРОЦЕДУРИ
1.INSERT(F, R, N) - (вставка). За допомогою даної процедури можна вставити фрагмент з вказаної позиції.
INSERT (<фрагмент>, <рядок> , <позиція з якої вставлено фрагмент в рядок>)
2. DELETE(R, N, K) (видалення). Процедура знищує у визначеному рядку фрагмент, визначеної довжини починаючи з вказаної позиції.
DELETE ( <рядок>, <позиція>, <кількість символів які буде видалено>)
Приклад: Програма трансформації слова.
Program p6;
Var x : string [10];
Begin x:=’форма’;
Insert(‘i’,x, 2); {фіорма} Delete(x, 3,1); {фірма}
Writeln (х); Readln;
End.
3.STR(<число>, <змінна>) Процедура переводить числове дане в дане типу рядок.
Приклад програми. З двох слів обрати найбільше та обернути його.
Program p7;
Var x, y, n, z : string [30]; i, k, l: integer;
Begin
Writeln (‘введіть перше слово’);
Readln (x);
Writeln (‘введіть друге слово’);
Readln (y); k:=length(x); l:= length(y);
If k>l then n:=x else n:=y; for i:=1 to length (n) do z:= Copy(n, i, 1)+z;
Writeln (z); Readln;
End.
54