Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

AlgStr / Библиотека / Разные источники / СД - Строки (метод ук-ия)

.pdf
Скачиваний:
37
Добавлен:
23.03.2015
Размер:
371.93 Кб
Скачать

5.Дана строка S и символ C. Удалить из нее все символы, расположенные ме-

жду первым и последним вхождением заданного символа C.

6.Дана строка S и символ C. Удалить из нее все символы, расположенные ме-

жду предпоследним и последним вхождением заданного символа C.

7.Дана строка. Преобразовать строку, удалив из нее все символы, не являющиеся цифрами.

8.Дана строка. Преобразовать строку, удалив из нее все символы, не являющиеся латинскими буквами, и заменив каждую прописную букву одноименной строчной.

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

10.Дан строка S и символ C. Утроить каждое вхождение символа C в строку S.

11.Даны строки S, S1, S2. Вставить в строку S перед первым и последним вхо-

ждением строки S1 строку S2.

12.Даны строки S, S1, S2. Вставить в строку S после первого и последнего вхождения строки S1 строку S2.

13.Даны строки S, S1, S2. Вставить в строку S перед k-м вхождением строки S1

строку S2. Если k-ое вхождение не обнаружено, то оставить строку без из-

менений.

14.Даны строки S, S1, S2. Вставить в строку S после k-го вхождения строки S1

строку S2. Если k-ое вхождение не обнаружено, то оставить строку без из-

менений.

15.Даны строки S, S1, S2. Заменить в строке S последнее вхождение строки S1

строкой S2.

16.Даны строки S, S1. Удвоить каждое вхождение строки S1 в строке S.

33

17.Дана строка. Заменить каждую точку многоточием.

18.Дана строка. Заменить каждую из групп стоящих подряд точек одной точкой.

19.Дана строка. Удалить символы, заключенные между первой и последней группами цифр.

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

21.Дана строка, содержащая слова из латинских букв, соседние слова отделены друг от друга запятой, за последним словом – точка. Заменить слова, в которых заданная буква встречается заданное число раз, этой буквой.

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

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

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

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

34

Задание 3

Словом будем называть последовательность символов, отличных от про-

бела и разделённых произвольным количеством пробелов. В начале и в конце строки, состоящей из слов, может быть произвольное количество пробелов.

Дана строка, состоящая из слов.

1.Выдать слова, имеющие заданную длину, и посчитать их количество.

2.Выдать слова, состоящие из нечетного количества символов, и посчитать их количество.

3.Выдать слова, начинающиеся и оканчивающиеся одним и тем же символом,

ипосчитать их количество.

4.Выдать слова, содержащие указанное количество заданных символов, и посчитать их количество.

5.Выдать слова, начинающиеся и оканчивающиеся строчными русскими буквами, и посчитать их количество.

6.Выдать слова, начинающиеся двумя любыми латинскими буквами, и посчитать их количество.

7.Выдать слова, содержащие максимальное количество цифр, и посчитать их количество.

8.Выдать слова, в которых доля цифр максимальна, и посчитать их количество.

9.Выдать слова, которые заканчиваются тем же символом, что и первое слово,

ипосчитать их количество.

10.Выдать все слова максимальной длины.

11.Выдать все слова минимальной длины.

12.Найти первое из слов, содержащих не более заданного количества символов.

13.Найти последнее из слов, содержащих не менее заданного количества символов.

35

14.Выдать все слова, поменяв в каждом порядок следования символов на обратный.

15.Выдать слова, в которых буквы упорядочены по алфавиту.

16.Выдать слова, в которых латинские буквы чередуются с цифрами.

17.Преобразовать в строке все слова по правилу: перенести последний символ в начало слова.

18.Преобразовать в строке все слова по правилу: если слово нечетной длины, то удалить его первый символ.

19.Преобразовать в строке все слова по правилу: удалить из слова k-ый по счету символ.

20.Преобразовать в строке все слова по правилу: удалить из слова все последующие вхождения первого символа.

21.Преобразовать в строке все слова по правилу: удалить из слова все предыдущие вхождения k-ого по счету символа.

22.Преобразовать в строке все слова по правилу: оставить в слове только первые вхождения каждого символа.

23.Преобразовать в строке все слова по правилу: оставить в слове только последние вхождения каждого символа.

24.Удалить в строке каждое четное слово.

25.Удалить в строке все вхождения первого слова.

36

ПРИЛОЖЕНИЕ

Процедуры и функции обработки строк Процедуры

Процедура Delete

procedure Delete(var S:string; p,k:integer);

Удаляет из строки S подстроку из k символов, начиная с позиции p. Если номер первого удаляемого символа p больше длины строки, то символы не удаляются. Если символов в строке недостаточно, удаляется остаток символов.

Процедура Insert

procedure Insert(S1:string; var S:string; p:integer);

Вставляет подстроку S1 в строку S, начиная с позиции p. Если получается строка слишком большой длины, то она усекается до 255 символов.

Процедура Str

procedure Str(X[:M[:N]]; var S:string);

Преобразует выражение X вещественного или целого типа в строку S. Необязательные параметры M и N – форматы вывода целого типа.

Процедура Val

procedure Val(S:string; var X; var code:integer);

Преобразует символьное представление числа ( строку S ) в значение переменной X вещественного или целого типа. В случае правильного представления числа в строке S параметр code принимает значение 0. Если представление числа в строке S неправильное, то параметр code принимает значение номера (позиции) неправильного символа в строке S; в этом случае содержимое X не меняется.

37

Функции

Функция Concat

function Concat (S1 [,S2,…,Sn]):string;

Объединяет несколько строк в одну строку (при необходимости усекает строку до 255 символов).

Функция Copy

function Copy (S:string; p:integer; k:integer):string;

Выделяет из строки S, начиная с позиции p, подстроку из k символов. Если номер первого удаляемого символа p больше длины строки, то возвращается пустая строка. Если символов в строке недостаточно, возвращается остаток строки.

Функция Length

function Length (S:string):integer;

Возвращает текущую длину строки S.

Функция Pos

function Pos (S1,S:string):byte;

Возвращает позицию первого вхождения подстроки S1 в строку S (номер первого символа строки S, с которого начинается последовательность символов S1) или 0, если подстрока S1 не входит в строку S.

Функции для работы с символами:

Функция UpCase

function UpCase (C:char):char;

Преобразует строчную латинскую букву в прописную. Если значением C является любой другой символ, то преобразования не происходит.

function ord(C: char): byte

Возвращает код символа C. function chr(X: byte): char

Возвращает символ c кодом X.

38

ЛИТЕРАТУРА

1Джонс Ж., Харроу К. Решение задач в системе Турбо Паскаль. – М.: Финансы и статистика, 1991. – 720с.

2Задачи по программированию. / Абрамов С.А. и др. – М.: Наука, 1988. –

224 с.

3Задачи по программированию. / Амелина Н.И. и др. – М.: Вузовская книга, 2000. – 104 с.

4Касьянов В.Н., Сабельфельд В.К. Сборник заданий по практикуму на ЭВМ. Учебное пособие для вузов. – М.: Наука, 1988. – 272 с.

5Методы программирования. Учебное пособие / Минакова Н.И., Невская Е.С., Угольницкий Г.А., Чекулаева А.А., Чердынцева М.И. – М.: Вузовская книга, 1999. – 280 с.

6Пильщиков В.Н. Сборник упражнений по языку Паскаль. – М.: Наука, 1989. – 160 с.

39