КАТЕГОРИИ: Архитектура-(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) |
Поняття рядка та оголошення змінних рядкового типу
Рядки Рядок – скінченна послідовність символів. У тексті програми послідовність символів, що є рядком, міститься в одинарні лапки. Типи рядків які використовуються в ОР надані в таблиці
Значення типу ShortString – це так звані короткі рядки, довжина яких не перевищує 255 символів. Обсяг пам’яті, що виділяється для збереження значення рядкової змінної, буде на один байт більшим від вказаної в оголошення загальної довжини рядка. Кожний символ у рядку займає 1 байт. Кожен байт має свій порядковий номер. Найперший байт має номер, рівний 0 і містить символ, код якого відповідає довжині рядка. При виведенні рядка користувач не побачить цього символу, але в програмі можна прочитати або змінити його значення. Нульовий символ рядка це не число а символ, і тому для отримання числового значення довжини рядка слід застосовувати вбудовану функцію ord, а для запису довжини – вбудовану функцію chr. Також як тип короткого рядка можливо використовувати тип String. Тип String інтерпретується компілятором ОР по різному, в залежності від значення директиви {$H}. Якщо вона увімкнена – {$H+} – то тип String інтерпретується як AnsiString, якщо ні – {$H–} – то як ShortString. Тип String був першим рядковім типом в ТР. Первісно цей тип був реалізований як короткий рядок. Короткі рядки розташовуються в пам’яті комп’ютера до початку виконання програми (статично). AnsiString, WideString – представляють собою динамічно розташовані в пам’яті комп’ютера рядки. Надалі ми будемо розглядати тільки короткі рядки. Інструкція оголошення var имя1: String; имя2: String[довжина]; имя1: ShortString; Наприклад: var stroka: String[30]; stroka1: String[255]; //Еквівалентно ShortString name: String[15]; name1: ShortString;
Рядок фактично є масивом символів. Одна з характеристик масиву – це кількість його елементів. Але рядок має два різновиди довжини: ü загальна довжина рядка, що характеризує розмір оперативної пам'яті, який надається рядку під час його оголошення; ü поточна довжина рядка (завжди менше або дорівнює загальній довжині), що показує кількість значеннєвих символів рядка в кожний конкретний момент виконання програми.
Як і елементи будь-якого масиву, символи рядка зберігаються у поряд розташованих комірках оперативної пам’яті. Обсяг пам’яті, що виділяється для збереження значення рядкової змінної, буде на один байт більше від вказаної в оголошення загальної довжини рядка. Наприклад: var stroka: String[30]; //резервується 31 байт – загальна довжина 30 stroka1: String[255]; // резервується 256 байт – загальна довжина 255 name: String[15]; // резервується 15 байт – загальна довжина 15 name1: ShortString; // резервується 256 байт – загальна довжина 256 Наприклад, припустимо що в змінну name ввели рядок символів ‘Object Pascal’. Зображення name в оперативної пам’яті буде таким, як зображено на рис.:
В елементі з індексом 0 зберігається символ ♪, код якого дорівнює поточній довжині рядка ‘Object Pascal’, тобто 13. (#12=♀ #1=☺, #2=☻ #3=♥ #11=♂ (Alt+ …)) Елементам з індексами 14, 15 можна згодом присвоїти будь які символи або прочитати їх. Але на даний момент вони не відображатимуться.
Дата добавления: 2014-01-07; Просмотров: 1270; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |