Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Введення рядків




Процедури та функції обробки рядків

Порівняння рядків

Операції над рядками

У мові Pascal рядкові змінні типу можна обробляти двома способами.

Перший спосіб дає можливість розглядати рядок як цілісний об’єкт, другий – обробляти його як об’єкт, що складається з окремих символів.

Перший спосіб надає можливість за одну операцію присвоювати рядковій змінній значення рядка символів, виконувати об’єднання декількох рядків тощо.

Другий спосіб забезпечує доступ до окремих символів рядка за їх індексами. Для доступу до символу рядка застосовують операцію індексування:

ім’я[індекс]

По номеру символу можна одержати доступ до його значення.

name [2] ® 'b'

Присвоєння рядків

У тексті програми послідовність символів, що є рядком, міститься в одинарні лапки.

Вираз рядкового типу можна присвоїти змінній рядкового типу.

Якщо довжина рядкового виразу більше загальної довжини змінної, присвоюються лише перші в межах означеної кількості.

Наприклад:

var name, stroka, stroka1, stroka2: string[4];

 

name:= ‘Ivan’;

stroka:=’2005’;

stroka1:=2005; // несоответствие типов Incompatible Types: ‘String’ and ‘Integer’

stroka2:=’Desember’; // stroka2Ü’Dese’

Рядки рівні, якщо мають однакову довжину та символи рядків з однаковим індексами рівні.

‘abcd’=’abcd’ Þ true

‘abcd’<>’abcde’ Þ true

‘abcd’<>’Èabcd’ Þ true (Èсхематичне позначення пробілу)

Якщо в однакових позиціях рядків знаходяться різні символи, більшим вважають той рядок, у якого в цій позиції знаходиться символ з більшим кодом. Залишки рядків і їхньої довжини не грають ролі. Будь-який символ завжди більше порожнього місця.

‘abcd’ > ’abcD’

‘abcd’>’abc’

‘aBcd’<’ab’

‘È’ >’’

 

Слід зазначити, що для введення символьних рядків необхідно використовувати процедуру readln, а не read. Це пояснюється тим, що наприкінці кожного символьного рядка, що вводиться із клавіатури, стоїть так званий роздільник рядків (маркер кінця) Eoln (end of line) – послідовність кодів #13 і #10. Роздільник рядків вставляється у текст, що вводиться, при натисканні на клавішу Enter. У результаті кожний символьний рядок відображається в окремому рядку дисплея. Процедура Read може зчитувати дані тільки до символу Eoln. Дані, розташовані в наступному символьному рядку, тобто за роздільником рядків Eoln, для неї недоступні.

Процедура Readln зчитує всі символи, розташовані до роздільника рядків, а потім і сам роздільник. Оскільки символи #13 (переведення каретки) і #10 (перехід у початок рядка) є керуючими, то в результаті їхнього зчитування курсор дисплея переходить у початок наступного рядка. Розташований в новому рядку дисплея символьний рядок може бути зчитаний наступною процедурою Readln. Із сказаного випливає, зокрема, що, якщо змінна Х має тип ShortString, те процедура

Readln(Х);

еквівалентна послідовності процедур

Read(Х);

Readln;

 




Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 424; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.