Тема: Строковые процедуры и функции
Цель: Приобретение практических навыков составления и отладки программ с использованием процедур и функций работы со строковыми данными.
Задание:Написать программу демонстрации работы процедур и функций работы со строками.
Операции работы со строками:
1. присваивание;
2. конкатенации (знак +);
3. сравнения.
Процедуры и функции для работы со строками:
1. Функция Concat(si, s2,..,sn) возвращает строку, являющуюся слиянием строк s1, s2, ..., sn.
2. Функция Copy(s, start, len) возвращает подстроку длиной len, начинающуюся с позиции start строки s. Параметры len и start должны быть целого типа.
3. Процедура Delete(s, start, len) удаляет из строки s, начиная с позиции start, подстроку длиной 1en.
4. Процедура Insert(subs, s, start) вставляет в строку s подстроку subs, начиная с позиции start.
5. Функция Length(s) возвращает фактическую длину строки s, результат имеет тип byte.
6. Функция Pos(subs, s) ищет вхождение подстроки subs в строку s и возвращает номер первого символа subs в s или нуль, если subs не содержится в s.
7. Процедура Str(x, s) преобразует числовое значение х в строку s, при этом для х может быть задан формат, как в процедурах вывода write и write!п, например Str(x:6:2, s).
8. Процедура Val (s, x, errcode) преобразует строку s в значение числовой переменной х, при этом строка s должна содержать символьное представление числа. В случае успешного преобразования переменная errcode равна нулю. Если же обнаружена ошибка, то errcode будет содержать номер позиции первого ошибочного символа, а значение х не определено.
Лабораторная работа №19
Тема: Обработка текстовых данных
Цели:
1. Формирование навыков и умений работы с текстовыми данными.
2. Приобретение практических навыков использования стандартных функции и процедур при решении задач.
3. Закрепление знаний по обработке массивов-символов и массивов-строк.
4. Закрепление знания по использованию собственных процедур и
алгоритма сортировки.
Задание:Написать программы для обработки текстовых данных.
Задание №1.
Варианты:
Даны натуральное число п, символы S1,.., Sn. Преобразовать последовательность Si,..., Sn, заменив в ней:
1) все восклицательные знаки точками;
2) каждую точку многоточием (т.е. тремя точками);
3) каждую из групп стоящих рядом точек одной точкой;
Даны символы SI, S2, ... Известно, что символ S1 отличен от восклицательного знака и что среди S2, S3,.., есть по крайней мере один восклицательный знак.
Пусть S1,.... Sn — символы данной последовательности, предшествующие первому восклицательному знаку (п заранее неизвестно).
4) Определить количество пробелов среди S1,...., Sn
5) Выяснить, входит ли в последовательность S1,..., Sn буква ю.
6) Выяснить, верно ли, что среди S1,..., Sn имеются все буквы, входящие в
слово шина.
7) Выяснить, имеется ли среди S1,..., Sn пара соседствующих букв но или он.
8) Выяснить, имеется ли среди S1,..., Sn пара соседствующих одинаковых
символов.
9) Даны натуральное число п, символы S1,..., Sn. Удалить из данной
последовательности все группы букв вида abed
Даны натуральное число п, символы S1 .,., Sn.
Определить число вхождений В последовательность S1,..., Sn группы
букв:
10) аЬс;
11) aba.
Даны натуральное число п, символы S1,..., Sn.
12) Подсчитать наибольшее количество идущих подряд пробелов.
13) Выяснить, верно ли, что в последовательности S1,...., Sn имеются
пять идущих подряд букв е.
14) Даны натуральное число п, символы S1, ..„ Sn. Преобразовать последовательность SI..., Sn: если нет символа *, то оставить ее без изменения, иначе заменить каждый символ, встречающийся после первого вхожденияхимвола *, на символ —.
Даны натуральное число п, символы S1,..., Sn.
Группы символов, разделенные пробелами (одним или несколькими)
и не содержащие пробелов внутри себя, будем называть словами.
15) Подсчитать количество букв а в последнем слове данной
последовательности.
16) Преобразовать данную последовательность, заменяя всякое
вхождение слова это на слово то.
Задание №2.
Варианты:
1) В заданном тексте везде заменить слово А1 на слово А2 (длины слов не
совпадают).
2) В заданном тексте удалить часть текста, заключенную в скобки (вместе со
скобками).
3) Указать минимальное количество первых букв, по которым можно
различить слова из заданного набора (слова разделены запятыми).
4) Текст задан следующим образом: первый символ - цифра, указывающая
длину первого слова, за первым словом - вновь цифра, указывающая
длину второго слова (длина каждого слова <=9) и т.д.
Выписать К-е слово из текста.
5) Текст задан способом, указанным в задаче варианта 4. Вместо цифр,
указывающих длину слова, вставить числа, указывающие координату
начала следующего слова.
6) Напечатать самое длинное слово из заданного текста.
7) Определить, какой процент слов в тексте содержит удвоенную согласную
(слова разделены пробелами).
8) Сколько раз в тексте встречается заданное слово (слова разделены
пробелами).
9) В тексте убрать лишние пробелы между словами, оставив по одному.
10) В тексте вставить между словами вместо одного пробела запятую
и пробел.
11) Разделить заданный текст на строки. В качестве разделителя в тексте
используется символ %.
12) Определить, какой процент слов в тексте начинается на букву К (слова
разделены пробелами). .
13) Задан текст, содержащий не более 255 символов. Определить частоту, с
которой встречаются в тексте различные буквы русского алфавита
( в долях от общего количества букв).
14) Ученики зашифровывают свои записки, записывая все слова наоборот.
Составить программу, зашифровывающую и расшифровывающую
сообщение.
15) Назовем сложностью предложения сумму количества слов и знаков
препинания. Определить сложность заданного предложения.
16) Определить, какие символы и сколько раз встречаются в тексте.
Литература
1. Аляев А.Ю., Гладков В.П., Козлов О.А. «Практикум по алгоритмизации и программированию на языке Паскаль» -Москва: Финансы и статистика, 2004г.
2. Зубов В.С. «Практикум на Паскале» – Москва: «Мир», 1998 г.
3. Фаронов В.В. Turbo Pascal 7.0 – начальный курс – М.: Налидж, 1999 г.
4. Попов В.Б. Turbo Pascal для школьников – М.: Финансы и статистика, 2001 г.
5. Семакин И.Г., Шестаков А.П. «Основы программирования», - М.: Мастерство, 2001 г.