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

delphi / задания к лабораторным / задание по лабораторной работе 05

.doc
Скачиваний:
61
Добавлен:
26.03.2016
Размер:
37.38 Кб
Скачать

Лабораторная работа 5

Программирование с использованием строк

Цель работы: познакомить с понятием строка и выработать навыки работы с символьной информацией в языке программирования Pascal научиться использовать строки символов при решении задач.

Общие сведения

Переменные типа string аналогичны массивам типа char. Их отличием является то, что число символов (длина строки) может динамически меняться в интервале от единицы до заданного верхнего значения.

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

Задания

Обработка текста: В следующих заданиях под словом "текст" понимается строка символов, слова в которой, разделены пробелами, специальными символами .,:;?!.

  1. Дан текст. Требуется напечатать все слова с удвоенной буквой "н". Вывести самое длинное и короткое слово из строки.

  2. Дан текст. а) Подсчитать количество слов в данной строке. б) Подсчитать количество букв "а" в последнем слове данной строки. в) Найти количество слов, начинающихся с буквы "б". г) Найти количество слов, у которых первый и последний символы совпадают между собой.

  3. Составить программу циклической перестановки букв в словах текста так, что i-я буква слова становится i+1-ой, а последняя - первой.

  4. В каждом слове текста замените "а" на букву "е", если "а" стоит на четном месте, и заменить букву "б" на сочетание "ак", если "б" стоит на нечетном месте.

  5. Дан текст, содержащий от 2 до 30 слов, в каждом из которых от 2 до 10 латинских букв; между соседними словами - не менее одного пробела. Вывести все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: 1) перенести первую букву в конец слова; 2) перенести последнюю букву в начало слова.

  6. Отредактировать заданное предложения текста, удаляя из него все слова с нечетными номерами и переворачивая слова с четными номерами. Например, HOW DO YOU DO -> OD OD

  7. Дан текст. Напечатать все слова, отличные от последнего слова, предварительно преобразовав каждое из них по следующему правилу: 1) оставить в слове только первые вхождения каждой буквы; 2) если слово нечетной длины, то удалить его среднюю букву

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

  9. Составить программу для вычеркивания из слов текста всех букв, стоящих на нечетных местах после буквы "а".

  10. Посчитать количество английских букв a и b в слове. В случае если a>b, то необходимо удалить все b. Перевести строчные буквы в заглавные.

  11. Вывести из строки все слова, где количество гласных букв равно согласным. Найти длину самого короткого слова.

  12. Вывести из строки слова, которые являются числами, кратными заданному числу m.

  13. В тексте все повторяющиеся рядом стоящие символы удалить. Подсчитать количества вхождений каждого символа в строку.

  14. Изменить строку таким образом, чтобы все различные символы остались по одному разу, причем остаются последние вхождения этих символов в строку.

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

  16. Даны два числа: N1 и N2, и две строки: s1 и s2. Получить из этих строк новую строку, объединив N1 первых символов строки s1 и N2 последних символов строки s2.

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

  1. Как описываются строковые переменные?

  2. Какая максимальная длина строки допустима в Pascal?

  3. Какие операции допустимы над строковыми данными?

  4. В чем отличие строковой переменной от массива символов?

  5. Какие стандартные процедуры и функции для работы со строками вы знаете?