русс | укр

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

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

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

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


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

Конкатенация


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


Обращение к компонентам строки

Сравнения

Операции со строками

 

 

Строки - это единственный структурированный тип данных, для элементов которого определен порядок и, следовательно, возможны операции сравнения (=, >, <).

 

На строках определен так называемый лексикографический порядок: из двух строк меньшей считается та, у которой первый различный символ меньше. Считается, что пустая строка меньше любой другой строки.

 

Таким образом, если начальные символы двух сравниваемых строк совпадают, то эта совпадающая часть никак не повлияет на отношение порядка между строками, поэтому ее можно откинуть и сравнивать только первые символы оставшихся подстрок. Если одна из строк полностью совпадает с началом другой, то после удаления совпадающих частей она превратится в пустую строку. Это с очевидностью будет свидетельствовать о том, что начало слова всегда меньше, чем все слово.

 

Итак,

'abc' < 'xyz'

'a' < 'abc'

'1200' < '45'

'Anny' < 'anny'

 

 

Строка – это одномерный массив символов. Доступ к символу строки осуществляется как к элементу (компоненте) одномерного массива.

 

<имя_строки>[<индекс>]

 

Например:

 

{s = '15.47'}

c:= s[3];

{c = '.'}

 

Однако, в отличие от массива, нельзя напрямую заменять символы в строке, то есть действие

 

s[i]:= 'a';

 

не вызовет ошибки при компиляции, но, скорее всего, не станет работать во время выполнения программы. Для того чтобы изменить символ в строке, нужно воспользоваться стандартными функциями length(), concat() и copy(). В этом случае простое, казалось бы, действие приходится представлять как последовательность четырех операций:

 

В качестве первой подстроки взять из строки s символы с 1-го по (k-1)-й:



 

s1:= copy(s,1,k-1);

 

В качестве второй подстроки взять новое значение заменяемого символа:

 

s2:= new_char;

 

В качестве третьей подстроки взять оставшуюся часть строки s:

 

s3:= copy(s,k+1,length(s)-k);

 

Слить эти строки воедино, а результат записать вместо исходной строки s:

 

s:= concat(s1,s2,s3);

 

Или можно объединить все четыре действия в одном операторе:

 

s:= concat(copy(s,1,k-1), new_char, copy(s,k+1,length(s)-k));

 

 

Единственная операция, которую разрешается производить с переменными строкового типа, - это слияние строк или символов (конкатенация). Она полностью эквивалентна функции concat() и записывается при помощи знака "+". Таким образом, предыдущий оператор можно сделать более простым:

s:= copy(s,1,k-1) + new_char + copy(s,k+1,length(s)-k);

 

Пример. Программа подсчитывает количество сочетаний “ая” в строковой переменной.

 

program ST;

var t :string;

i,k:integer;

begin

k:=0;

t:=’Красная прекрасная ужасная’;

for i:=1 to length (t)-1 do

if copy(t,i,2)=’aя’

then k:=k+1;

writeln (k);

end.

 



<== предыдущая лекция | следующая лекция ==>
Стандартные функции и процедуры обработки строк | Операции с множествами


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


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

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

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


 


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

 
 

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

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