Лабораторная работа №6

Обработка символьных строк

Цель работы: получение навыков работы со строками. Закрепление навыков работы с подпрограммами.

Задания для подготовки к работе

1. Изучите строковый тип, организацию работы со строками в Паскале; стандартные строковые функции.

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

3. Опишите блок-схему алгоритма решения задачи в укрупненных блоках.

4. Для каждой подзадачи опишите используемые структуры данных, спецификацию и блок-схему алгоритма

5. Опишите блок-схему алгоритма решения задачи с использованием блоков «предопределенный процесс».

6. Закодируйте алгоритм, не используя подпрограммы стандартной библиотеки для обработки строк. Если в библиотеке есть подпрограмма для решения выделенной подзадачи, то следует описать ее самостоятельно, сохранив название, назначение и список параметров стандартной.

7. Подберите наборы тестовых данных с обоснованием их выбора.

Задания к работе

1. Наберите программу, отладьте ее и протестируйте.

2. Выполните анализ ошибок, выявленных при отладке программы.

Содержание отчет а

1. Формулировка задачи.

2. Ответы на пункты 3 – 7 заданий для подготовки к работе.

3. Описание ошибок, выявленных при отладке программы с указанием вида ошибки, и почему она была сделана.

Варианты заданий

1. Определить, есть ли в данной строке слова, множества символов которых равны.

2. В строке соседние слова разделены запятыми и пробелами. Определить количество слов-палиндромов, которые начинаются с буквы “а”.

3. Даны две строки. Получить строку, в которой чередуются слова первой и второй строки. Если в одной из строк число слов больше, чем в другой, то оставшиеся слова этой строки должны быть дописаны в строку-результат.

4. Преобразовать строку, заменяя каждое слово “this” словом “the”.

5. Даны две строки. Пусть n 1 – число слов в первой строке, а n 2 – во второй(n 1< n 2). Добавить в конец первой строки, последние n 2- n 1 слов второй строки.

6. Даны две строки s 1 и s 2. Пусть w – первое из слов строки s 1, которое есть и в строке s 2. Найти слово, предшествующее первому вхождению w в s 1.

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

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

9. Вывести слова данной строки в обратном порядке по одному в строке экрана.

10. Вывести слова данной строки, отличные от последнего слова.

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

12. Удалить из данной строки слова, содержащие заданную последовательность символов.

13. Определить, упорядочены ли лексикографически слова данной строки.

14. Преобразовать строку таким образом, чтобы после каждого заданного символа sym 1 был вставлен символ sym 2, если sym 2 не следует за sym 1 в исходной строке.

15. Определить, входит ли в данную строку каждая буква слова “key”.

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

17. Определить, есть ли в данной строке одинаковые слова.

18. Даны две строки. Определить последнее из слов первой строки, которое есть во второй строке.

19. Преобразовать строку, изменив порядок следования слов в строке на обратный.

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

21. Преобразовать строку, заменяя каждое слово “this” словом “that”.

22. Вывести первое из слов данной строки, содержащее букву “а”, или сообщить о том, что “а” нет в строке.

23. Вывести слова-палиндромы данной строки.

24. Удалить из строки слова, содержащие повторяющиеся символы.

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

26. Преобразовать строку, обратив каждое слово этой строки.

27. Сократить количество пробелов между словами данной строки до одного.

28. Из данной строки удалить все последовательности символов “ abcd ”.

29. Удалить из строки слова, совпадающие с последним словом.

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

Контрольные вопросы

1. Дайте характеристику строкового типа языка Паскаль.

2. Что представляет собой выражение строкового типа?

3. Опишите заголовки основных стандартных строковых подпрограмм.

4. Перечислите операции, определенные над данными строкового типа. Какие типы при этом являются совместимыми со строковым?

5. Изобразите синтаксическую диаграмму структуры описания функции.

6. Перечислите все отличия в описании функции и процедуры.

7. В каких случаях для решения подзадачи следует использовать функции, а в каких - процедуры?

8. Чем отличается обращение к функции от обращения к процедуре?

9. В чем заключается побочный эффект функций?


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: