русс | укр

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

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

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

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


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

Строковые функции


Дата добавления: 2015-06-12; просмотров: 1177; Нарушение авторских прав


Пусть S, S1, S2, sk - выражения строкового типа; poz, n, code - целого типа.

1. Length(S): integer; - вычисляет длину строки S в символах;

2. Concat(s1, s2,…,sk):string; - выполняет объединение строк s1, s2, …sk;

3. Copy(s, poz, n):string: - выделяет из строки S подстроку , начиная с позиции pozл длиной n;

4. Pos(s1, s2):byte; - отыскивает первое появление в строке s2 подстроки s1. Результатом работы этой функции становится номер (индекс) позиции в строке s2, с которой начинается строка s1. Если результат равен 0, то подстрока не найдена.

Строковые процедуры

1. Delete(S, poz, n); - удаляет из строки S n символов, начиная с позиции poz;

2. Insert(S1, S2, poz): - вставляет строку S1 в строку S2, начиная с позиции poz;

3. Str(v, S):- преобразует числовое значение v в строковое представление; если v – целое число, то может быть указано общее число символов 1, например str(v:1:s); если v принимает вещественное значение, то дополнительно может быть указано число m символов после десятичной точки, например str(v:1:m:s);

4. Val(S,v,code); - преобразует строку S в число, и переменной v присваивается это числоn; тип числа зависит от типа переменной v – целый или вещественный. Если такое преобразование выполнено успешно, то переменной code присваивается значение 0, в противном случае code содержит номер позиции первого ошибочного символа.

Пример.

Пусть st - строка типа string[6] и st=’klmn’, S – строка string[5]. x - переменная целого типа, fs – строкового типа.

Функция Результат
X:=Leght(st)
Fs:=copy(st,2,2) ‘lm’
X:=pos(‘mn’,st)
Процедура Результат
Delete(st,1,1) ‘lmn’
Insert(‘ab’,st,1) ‘abklm’
Str(15,s) ‘15’
Val(‘-3’, x, code) -3 0

Пример.Дано слово ’золотопромышленник’, из которого постройте слова ’золото’, ’промышленник’, ’пленник’, ’мышление’, используя процедуры и функции обработки строк.



Var S, rs1, rs2, rs3, rs4, temp:string;

Begin

S:= ’золотопромышленник’;

Rs1:=Copy(s,1,6); {выделим слово ‘золото’}

Rs2:=Copy(s,length(rsl)+1,length(s)-length(rsl));{слово ‘промышленник’}

Temp:=S;

Delete(temp,1,12); {оставим часть слова ’ленник’}

Rs3:=S[7]+temp; {построим слово ‘пленник’}

Rs4:=S;

Delete(rs4,1,9); {оставим часть слова ‘мышленник’)

Delete(rs4,7,1); {оставим часть слова ‘мышленик’}

Rs4[length(rs4)]:=rs4[5]; {заменим ‘к’ на ‘е’, получим ‘мышление’}

Writeln(rs1,’’,rs2,’’,rs3,’’,rs4,);

End.

Пример.Дан текст, состоящий из слов, разделенных одним пробелом. Удалите все вхождения данного слова в строку.

Var K, M:byte; Sl, Wr:string;

Begin

Writeln(‘введите строку текста из слов’); Readln(Sl);

Sl:=’ ’+ Sl +’ ’;

Writeln(‘введите удаляемое слово’); Readln(Wr);

Wr:=’ ‘ + Wr + ‘ ‘ ;

K:=length(Wr); {определяем длину слова}

Repeat

M:=pos(Wr,Sl); {номер позиции удаляемого слова}

If (M<>0) then delete(Sl,M + 1,K-1) {удаляем слово из текста}

Until M:=0

Writeln(Sl)

End.

Пример.Дана слово. Необходимо определить, является ли это слово палиндромом. (потоп, Анна)

Var D, G:byte; Tet:string; F:boolean;

Begin

Writeln(‘введите слово’); Readln(Tet);

D:=length(Tet); {определим длину слова}

F:=true; {признак, фиксирующий, что слово является палиндромом}

G:= D div 2;

While G>=1 do Begin

If Tet[G]<>Tet[d – G + 1] then F:=false;

G:=G – 1

End;

If F Then Writeln(‘ слово является палиндромом’)

Else Writeln(‘слово не является палиндромом’)

End.

Задания для практической работы.

Составить программы на языке Pascal.

1. Подсчитать, сколько раз в заданном тексте встречается заданный символ.

2. Заменить в заданном тексте буквосочетание "min" на "ma".

3. В заданном тексте подсчитать общее количество букв "x" и "y".

4. Удвоить каждую букву в заданном тексте.

5. Вычеркнуть из заданного слова все буквы "а".

6. Заданную строку А переписать в обратном порядке в строку В.

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

8. Найти самое длинное и самое короткое слово в заданном предложении.

9. В заданном тексте подсчитать наибольшее количество подряд идущих пробелов.

 



<== предыдущая лекция | следующая лекция ==>
Обработка символьной и строковой информации | Использование графических возможностей языка программирования


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


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

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

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


 


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

 
 

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

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