Лабораторна робота №7
Лабораторна робота №7
Тема: «Робота з рядками»
Мета завдання:
- Отримання практичних навиків при роботі з рядковим та символьним типами даних, введенням та виведенням рядків.
- Закріплення вмінь та навичок по організації програм з використанням стандартних функцій та процедур обробки рядків і символів.
Теоретична частина:
Операції, вбудовані функції для роботи з символьним типом даних.
Постановка завдання:
- Виконати завдання, пов’язане з посимвольною обробкою масиву символів. .
2. Виконати завдання на обробку елементів рядка відповідно до свого варіанту.
3. Організувати функцію для пословної обробки рядка відповідно до завдання свого варіанту.
Зміст звіту:
- Постановка завдання для конкретного варіанту.
- Блок-схема алгоритму рішення задачі.
- Текст програми.
- Результати тестів.
5. Роздрук результатів роботи програми.
Варіанти завдань
Завдання №1
- Скласти програму, яка в даному рядку замінює всі символи «-» і «;» на «_» і підраховує кількість замінених символів.
- У рядку замінити всі крапки «.» на коми, а двокрапки «:» на крапку з комою «;». Підрахувати кількість замін.
- У рядку замінити всі коми на крапки «.». Вважати, що слова в тексті записані рядковими лытерами і відокремлені один від одного одним пропуском.
- Даний рядок. Перетворити її, видаливши кожен символ «*» і повторивши кожен символ, відмінний від «*».
- Скласти програму, яка замінює в заданому тексті сполучення літер «abc» на «klm».
- У рядку замінити всі символи «+» і «-» на «*» і підрахувати кількість замінених символів.
- У введеному реченні визначити кількість розділових знаків.
- У рядку видалити введене сполучення здвоєнних літер.
- Дано рядок. Подвоїти кожну «о» і «а», що зустрічаються, .
- Дано рядок, що складається із слів, розділених пропусками. Порахувати кількість здвоєних літер у веденном тексті.
- Введене слово. Скласти програму, перевіряючу, чи є дане слово паліндромом, тобто чи читається воно зліва направо і справа наліво однаково.
- Скласти програму, яка всі цифри, що зустрічаються в тексті, замінює на «0».
- Визначити, чи вірно, що у введеному рядку зустрічаються всі букви зі слова «step».
Завдання №2
- Визначити кількість повторень в тексті заданого слова. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- Дано рядок, вказати ті слова, які містять хоч би одну літеру «k». Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- З тексту вибрати числа і записати в масив. Передбачається, що кількість чисел, що зустрічаються, не більше 10.
- Дано рядок, що закінчується крапкою. Підрахувати, скільки в ній слів. Вважати, що слова в тексті відокремлені один від одного пропусками.
- Дано рядок. Визначити, скільки разів в рядку зустрічається задане слово. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- Відредагувати речення, замінюючи сполучення символів «…» однією крапкою.
- Дано рядок. Знайти слова, які закінчуються і починаються однією і тією ж літерою. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- Визначити кількість повторень в тексті заданого слова. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- Визначити кількість слів у введеному тексті, що починаються із заданої літери. Вважати, що слова в тексті розділені пропусками.
- У заданому тексті видалити з тексту пропуски і підрахувати довжину сформованого тексту.
- Дано рядок, що містить текст, що закінчується крапкою. Порахувати кількість слів, що містять 4 символи.
- Відредагувати речення, видаляючи з нього зайві пропуски, залишаючи тільки по одному пропуску між словами. Пропозиція закінчується крапкою.
- Видалити в заданому тексті частину тексту, взяту в дужки (разом з дужками).
Завдання №3
- У заданому реченні поміняти місцями щонайдовше і найкоротше слова. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- У заданій реченні вказати слово, в якому кількість приголосних максимальна. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- У заданому реченні вказати слово, в якому частка голосних максимальна. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- У заданій реченні видалити найкоротше слово. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- Перетворити рядок так, щоб літери кожного слова в ній були відсортовані за абеткою.
- Введений рядок є формулою. Визначити, чи є формула коректною щодо використаних в її записі дужок.
- Знайти найкоротше слово в тексті. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- Зашифрувати текст (не більше 255 символів), записуючи всі слова навпаки. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- Зашифрувати текст (не більше 255 символів), помінявши порядок розташування слів.
- Визначити щонайдовше слово в тексті. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- Знайти у введеному тексті щонайдовше симетричне слово, тобто слово, яке зліва направо і справа наліво читається однаково. Вважати, що слова в тексті відокремлені один від одного одним пропуском.
- Поміняти місцями в рядку перше і останнє слова. Вважати, що слова відокремлені один від одного одним пропуском.
- Всі слова в тексті відсортувати в алфавітному порядку. Вважати, що слова відокремлені один від одного одним пропуском.
Контрольні питання:
1. Яка множина значень літерного типу?
2. Що таке код символу?
3. Які особливості кодування цифр, латинських та російських літер?
4. Яке функціональне призначення типу string?
5. Чи завжди довжина рядка дорівнює тій, що об’явлена при описі?
6. Яким чином можна ініціалізувати рядки?
7. Яким чином відбувається порівняння рядків?
8. Чим відрізняється тип string від одновимірного масиву символів array [1..n] of char?
Література:
[1] Г.Г.Рапаков, С.Ю.Ржеуцкая. Turbo Pascal для студентов и школьников - СПб: БХВ-Петербург, 2004.
[2] В.С.Новичков, Н.И.Парфилова, А.Н.Пылькин Алгоритмизация и программирование на Турбо Паскале: Учебное пособие. – М.: Горячая линия – Телеком, 2005.
[3] Попов В.Б. Turbo Pascal для школьников: Учеб. пособие. – М.: Финансы и статистика, 2002.
|