Рядковий тип (string)
У Турбо Паскалі реалізований рядковий тип, що є узагальненням символьних масивів, який дає змогу, на відміну від них, динамічно змінювати довжину рядка. Загальний вигляд опису рядкового типу такий:
type
<ім'я>=string[<максимальний розмір>];
Наприклад:
type
Line=string[80];
var
R: Line;
Тепер змінна R типу Line може набувати значення будь-якої послідовності символів (типу char) завдовжки від 0 до 80. Це значення може бути присвоєне або введене. Наприклад:
R:=’Гpyna КТ-14’; або readln(R); (3 клавіатури вводять Група КТ-14 <Enter>).
Як і для символьних масивів, тут використовується операція конкатенації. Наприклад:
writeln(R+'складає іспит 20-го січня');
Максимальну довжину в описі рядкового типу зазначають цілим числом або не зазначають, за замовчуванням приймається 255.
Під змінну рядкового типу відводиться N+1 байтів пам'яті, де N- максимальна довжина.
Для визначення довжини поточного значення рядка використовують нульовий елемент
writeln(ord(R[0]))
З іншого боку, якщо спочатку присвоїти R[0]:=5;
то writeln(R) виведе "Група", тобто тільки п'ять елементів.
Частіше для визначення довжини рядка використовують функцію Length, параметром якої є вираз рядкового типу. Наприклад:
writeln(Length(R+'складає іспит 20-го січня'));
виведе число 33 - цілого типу.
Крім операції конкатенації, над змінними рядкового типу визначені операції порівняння, у разі використання яких діють такі правила:
а) коротший рядок завжди менший від довшого;
б) якщо довжини однакові, то поелементно порівнюються символи порівнюваних рядків з урахуванням лексикографічної впорядкованості значень стандартного символьного типу char.
Присвоєння змінній рядкового типу виразу з довжиною, більшою від максимально допустимої, зумовлює до обрізання рядка до максимальної довжини. Наприклад:
var
st: string [5];
.......................
st:='Програма';
writeln(st);
Буде виведене слово Прогр.
Доступ до окремих елементів рядкових типів такий самий, як і до елементів звичайних одновимірних масивів - за допомогою індексів у квадратних дужках. Наприклад:
R[5]; st[2].
У процесі поелементного опрацювання рядкових типів треба враховувати їхню поточну довжину.
У Турбо Паскалі з рядковими типами використовують низку функцій:
1) concat([s1 ,s2,…,sn]: string): string – злиття довільної кількості рядків. Якщо довжина вислідного >255, то він буде обрізаний;
copy(s: string; Index: integer; Count: integer): string - повертає частину рядкам довжиною Count, починаючи від символу з но мером Index;
delete(var s: string; Index, Count: integer) - вилучає з рядка s частину цього рядка довжиною Count, починаючи з Index;
lnsert(Source: string; var s: string; Index: integer) - вставляє рядок Source в рядок s, починаючи з Index;
Length(s: string): integer - повертає довжину рядка s;
Pos(Substr, s: string): byte - результатом цієї функції є номер позиції, з якої в рядку 5 розміщений рядок Substr.
- Інформація та інформаційні процеси Поняття інформації.
- Одиниці вимірювання інформації.
- Подання інформації та типи комп'ютерів.
- Способи пересилання інформації.
- Будова комп'ютера
- Пристрої введення-виведення інформації.
- Процесор
- Принципи функціонування комп'ютера Фізичні принципи
- Програмний принцип
- Поняття про середовища програмування
- Загальна характеристика мови паскаль
- Поняття інтегрованого середовища
- Команда New
- Команда Open
- Основи алгоритмізації Алгоритми та їх властивості
- Блок-схеми
- Загальна характеристика Паскаль-програми
- Структура Паскаль-програми
- Елементи мови Паскаль
- Прості типи даних
- Стандартні типи даних
- Дійсний тип
- Логічний тип
- Символьний тип
- Конструйовані типи
- Перелічуваний тип
- Оператори надання значень змінним Оператор присвоєння
- Уведення-виведення
- Порядок виконання операцій
- Складений оператор
- Стиль запису програми
- Структури керування
- Структура послідовного виконання
- Структура розгалуження
- Умовний оператор
- Оператор варіанта
- Оператор безумовного переходу
- Структура повторення
- Цикл з параметром
- Цикл з передумовою
- Цикл з післяумовою
- Ітераційні цикли
- Обчислення суми знакозмінного ряду із заданою точністю
- Процедури і функції
- Процедури з параметрами. Параметри-значення
- Одномірні масиви
- Поняття масиву. Одномірний масив та його опис в програмі
- Обчислення скалярного добутку двох векторів
- Знаходження найбільшого (найменшого) значень серед елементів масиву
- Обчислення суми та добутку елементів масиву
- Перетворення масиву по заданому закону
- Впорядкування одномірних масивів
- Впорядкування шляхом вибору
- Впорядкування обмінами
- Впорядкування вставками
- Зливання впорядкованих масивів
- Двомірні масиви Поняття двомірного масиву та його опис у програмі
- Ввід та вивід значень елементів двомірного масиву Ввід значень елементів двомірного масиву
- Вивід значень елементів двомірного масиву a[m,n]
- Рядковий тип (string)
- Комбіновані типи Організація комбінованих типів у Паскалі
- Оператор приєднання
- Множинні типи Організація множин
- Файлові типи Організація файлів
- Підготовчі та завершальні операції
- Операції уведення-виведення
- Стандартні файли input і output
- Модулі Модуль і його структура
- Стандартні модулі
- Наближене знаходження коренів рівнянь Дослідження рівняння. Відокремлення коренів
- Метод поділу проміжку пополам
- Метод хорд
- Метод дотичних
- Чисельне інтегрування
- Квадратурні формули прямокутників
- Загальні формули прямокутників
- Квадратурна формула трапецій
- Практичні оцінки точності квадратурних формул. Вибір кроку інтегрування
- Список літератури