русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Строка – конечная последовательность символов.


Дата добавления: 2014-02-04; просмотров: 1002; Нарушение авторских прав


СТРОКИ. ПОНЯТИЕ СТРОКИ И ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ СТРОКОВОГО ТИПА

Один символ считают больше второго, если его код больше.

Символы считаются равными, если равные их коды.

Например:

'A'<'B', '9'<'A', 'A'<'a'.


 

Для отображения множества символов в подмножество натуральных чисел и обратно есть две стандартных функции:

ord(i) – возвращает порядковый номер (код) символа (i – переменная типа Char);

chr(i) – возвращает символ с порядковым номером i (i – выражение типа byte).

Например,

var k:byte;

c:char;

то истинны операторы

k:=ord('A'); //k=65

c:=chr(65); //c='A'

Вместо функции chr возможно использовать префикс #, который также возвратит символ, код которого указан после него.

c:= #65; //c='A'

Для преобразования маленьких букв на большие используют функцию Upcase(символ), где символ маленькая латинская буква. Функция Upcase не обрабатывает кириллицу.

Поскольку символьные типы принадлежат к порядковым типам, для них определенные такие функции, как Pred, Succ

c:= Pred('B'); // c ® 'A',

c:=Succ('B'); //c ®'C'


В тексте программы последовательность символов, являющаяся строкой, помещается в одинарные кавычки.

Типы строк которые используются в ОР предоставлены в таблицы

Тип строки Максимальная длина
ShortString 255 байт
String 255 байт/ 2 Гб
AnsiString 2Гб
WideString 2Гб

Значение типа 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];

// резервируется 16 байт – общая длина 15

name1 : ShortString;

// резервируется 256 байт – общая длина 255


 

Например, предположим что в переменную name ввели строку символов 'Object Pascal'.

Изображение name у оперативной памяти будет таким:

#13 O b j e c t   P a s c a l    

В элементе с индексом 0 хранится символ ♪, код которого равен текущей длине строки 'Object Pascal', т.е. 13. (#12=♀ #1=☺, #2=☻ #3=♥ #11=♂ (Alt+ …))

Элементам с индексами 14, 15 можно со временем присвоить любые символы или прочитать их с клавиатуры. Но на данный момент они не будут отображаться.




<== предыдущая лекция | следующая лекция ==>
При вводе символов в строку символ пробел не пропускается. | Для ввода символьных строк необходимо использовать процедуру readln, а не read.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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