русс | укр

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

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

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

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


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

Сцепка строк

Сцепка строк — построение такой их комбинации, которая представляет еди­ную результирующую строку. Операцией сцепления является знак '+'. Иногда эту операцию называют конкатенацией строк.

Пример 39. Ввести строку ST символов. Построить три строки: SR – содержа­щую все символы русского алфавита исходной строки в порядке их следования; SL – содержащую латинские символы исходной строки; SP – содержащую все ос­тальные символы. Указать количество символов в каждой из строк.

При решении задач со строками часто пользуются функциями. В рассматрива­емой задаче введем пользовательскую функцию UST(X). На вход этой функции подается литера, а на выходе число 1, 2, или 3. Число идентифицирует символ на принадлежность одной из строк латинской, русской или прочих символов соответ­ственно. Поскольку порядок следования символов в выходных строках соответству­ет исходной строке, то можно организовать арифметический цикл от 1 до N, где N — длина введенной строки текста. На каждом шаге цикла следует классифицировать текущую литеру с помощью функции UST(ST[I]). По результатам анализа опера­тор CASE направляет вычислительный процесс по одной из трех ветвей, в которых путем сцепки формируются выходные строки SL, SR, SP. Программа завершается выводом на экран каждой строки и ее размера.

PROGRAM PR39;

VAR ST, SL, SR, SP: STRING; I, N: BYTE;

FUNCTION UST(X: GHAR): BYTE; {1 - лат., 2 – рус., 3 - остальные}

CONST AL: SET OF CHAR = ['A'.. "Z", 'a'.. 'z'];

AR: SET OF CHAR = ['A'.. 'Я', 'a'.. 'п' 'p'.. 'я'];

BEGIN

UST := 3;

IF X IN AL THEN UST := 1;

IF X IN AR THEN UST := 2;

END;

BEGIN

WRITELN('Введите строку не более 255 символов');

READLN(ST);

N:= ORD(ST[0]); {Длина исходной строки}

WRITELN('B исходной строке', N:l,' символов');

SR:= ";

SL:= ";

SP:= "; {Инициализация создаваемых строк}

FOR I := 1 ТО N {Просмотр исходной строки}

DO CASE UST(ST[I]) OF

1: SL:= SL + ST[I]; {Формирование латинской строки}

2: SR:= SR + ST[I] {Формирование русской строки}

ELSE SP:= SP + ST[I] {Формирование строки прочих литер}

END; {CASE, FOR}

WRITELN('B латинской строке ', ORD(SL[0]): 1,' символов, текст строки:'); WRITELN(SL);

WRITELN('B русской строке', ORD(SR[0]): 1,' символов, текст строки:'); WRITELN(SR);

WRITELN('B строке прочих литер', ORD(SP[0]): 1,' символов, текст строки:');

WRITELN(SP)

END.

Строки

AL: SET OF CHAR = ['A'.. "Z", 'a'.. 'z'];

AR: SET OF CHAR = ['A'.. 'Я', 'a'.. 'п' 'p'.. 'я'];

описывают AL и AR как (SET OF) множества всех возможных подмножеств элементов исходного множества, включая пустое множество. Например, такое множество, состоящее из трех элементов [A,B,C] включает в себя следующие подмножества: [A,B,C], [A,B], [B,C],[A,C],[A],[B],[C],[]. Соответственно запись 'a'.. 'п' эквивалентна 'а', 'б', 'в', 'г', 'д', 'е', 'ж', 'з', 'и', 'й', 'к', 'л', 'м', 'н', 'о', 'п'.

Проверка IF X IN AL определяет наличие переменной X, в множестве AL.

Просмотров: 492


Вернуться в оглавление



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


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

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

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


 


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

 
 

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