Курс: “Засоби Системного Програмування”
Лабораторна робота № 4
Назва роботи: Опрацювання рядків символів. Динамічний розподіл пам’яті.
Мета роботи: Закріпити теоретичні знання та оволодіти практичними навиками опрацювання символьних рядків. Засвоїти методику роботи з символьними рядками за допомогою стандартних функцій бібліотеки Сі.
Завдання на лабораторну роботу
Розробити програмне забезпечення для опрацювання символьних рядків відповідно до заданого варіанту.
Під словом, слід розуміти послідовність алфавітних символів, що належать множині {’А’, ’Б’, …, ’Я’, ’а’, ’б’, …, ’я’, ’A’, ’B’, …, ’Z’, ’a’, ’b’, …, ’z’}. Речення, це послідовність слів розділених пропуском (пробілом). Кожне слово чи речення повинно представлятися в пам’яті машини окремою символьною змінною. При реалізації програм, максимально використати стандартні (бібліотечні) функції обробки символьних рядків. Ці функції описані в заголовковому файлі string.h, а їх імена починаються з префіксу “str…”.
Програма повинна обробляти слова та речення довільної довжини. Для цього використати механізм динамічного розподілу пам’яті. При реалізації механізму динамічного розподілу пам’яті використати стандартні Сі – функції malloc(), calloc() realloc() та free().
При вирішенні задач забезпечити дружній інтерфейс з користувачем.
Варіант 1. Ввести зі стандартного пристрою вводу речення. Виділити в реченні окремі слова та вивести їх на стандартний пристрій виводу. Виділені слова взяти в дужки.
Варіант 2. Ввести зі стандартного пристрою вводу окремі слова. Виконати контрольний друк слів. Об’єднати слова в речення та вивести його на стандартний пристрій виводу.
Варіант 3. Ввести зі стандартного пристрою вводу речення. Виділити в реченні окремі слова та вивести їх на стандартний пристрій виводу в зворотному порядку. Виділені слова взяти в дужки.
Варіант 4. Ввести зі стандартного пристрою вводу окремі слова. Виконати контрольний друк слів. Об’єднати слова в речення в зворотному порядку та вивести його на стандартний пристрій виводу.
Варіант 5. Ввести зі стандартного пристрою вводу речення. Вибрати з речення слова, що починаються з літери ’x’, де ’x’ – довільний алфавітний символ, та вивести їх на стандартний пристрій виводу.
Варіант 6. Ввести зі стандартного пристрою вводу окремі слова. Вибрати слова, що починаються з літери ’x’, де ’x’ – довільний алфавітний символ. Об’єднати вибрані слова в речення та вивести його на стандартний пристрій виводу.
Варіант 7. Ввести зі стандартного пристрою вводу речення. Вибрати з речення слова, що закінчуються літерою ’x’, де ’x’ – довільний алфавітний символ, та вивести їх на стандартний пристрій виводу.
Варіант 8. Ввести зі стандартного пристрою вводу окремі слова. Вибрати слова, що закінчуються літерою ’x’, де ’x’ – довільний алфавітний символ. Об’єднати вибрані слова в речення та вивести його на стандартний пристрій виводу.
Варіант 9. Ввести зі стандартного пристрою вводу речення. Вибрати з речення слова, що містять літеру ’x’, де ’x’ – довільний алфавітний символ, та вивести їх на стандартний пристрій виводу.
Варіант 10. Ввести зі стандартного пристрою вводу окремі слова. Вибрати слова, що містять літеру ’x’, де ’x’ – довільний алфавітний символ. Об’єднати вибрані слова в речення та вивести його на стандартний пристрій виводу.
Варіант 11. Ввести зі стандартного пристрою вводу речення. Вибрати з речення слова, що не містять літери ’x’, де ’x’ – довільний алфавітний символ, та вивести їх на стандартний пристрій виводу.
Варіант 12. Ввести зі стандартного пристрою вводу окремі слова. Вибрати слова, що не містять літери ’x’, де ’x’ – довільний алфавітний символ. Об’єднати слова в речення та вивести його на стандартний пристрій виводу.
Варіант 13. Ввести зі стандартного пристрою вводу речення. Розділити речення на окремі слова, переписати їх літери в зворотному порядку (польський запис). Вивести отримані слова на стандартний пристрій виводу.
Варіант 14. Ввести зі стандартного пристрою вводу окремі слова. Переписати літери слів у зворотному порядку (польський запис). Об’єднати слова в речення та вивести його на стандартний пристрій виводу.
Варіант 15. Ввести зі стандартного пристрою вводу речення. Вибрати з речення слова, що містять буквосполучення ’x…z’, де ’x’, …, ’z’ – довільні алфавітні символи, та вивести їх на стандартний пристрій виводу.
Варіант 16. Ввести зі стандартного пристрою вводу окремі слова. Вибрати слова, що містять буквосполучення ’x…z’, де ’x’, …, ’z’ – довільні алфавітні символи. Об’єднати вибрані слова в речення та вивести його на стандартний пристрій виводу.
Варіант 17. Ввести зі стандартного пристрою вводу речення. Вибрати з речення слова, що не містять буквосполучення ’x…z’, де ’x’, …, ’z’ – довільні алфавітні символи, та вивести їх на стандартний пристрій виводу.
Варіант 18. Ввести зі стандартного пристрою вводу окремі слова. Вибрати слова, що не містять буквосполучення ’x…z’, де ’x’, …, ’z’ – довільні алфавітні символи. Об’єднати слова в речення та вивести його на стандартний пристрій виводу.
Варіант 19. Ввести зі стандартного пристрою вводу речення. Видалити зі слів літеру ’x’, де ’x’– довільний алфавітний символ, та вивести їх на стандартний пристрій виводу.
Варіант 20. Ввести зі стандартного пристрою вводу окремі слова. Видалити зі слів літеру ’x’, де ’x’– довільний алфавітний символ. Об’єднати слова в речення та вивести його на стандартний пристрій виводу.
Варіант 21. Ввести зі стандартного пристрою вводу речення. Замінити в словах символ ’x’ на символ ’y’, де ’x’ та ’y’ – довільні алфавітні символи, та вивести їх на стандартний пристрій виводу. Підрахувати кількість замін.
Варіант 22. Ввести зі стандартного пристрою вводу окремі слова. Замінити в словах символ ’x’ символом ’y’, де ’x’ та ’y’ – довільні алфавітні символи. Об’єднати слова в речення та вивести його на стандартний пристрій виводу. Підрахувати кількість замін.
Варіант 23. Ввести зі стандартного пристрою вводу речення. Замінити в словах буквосполучення ’x…z’ буквосполученням ’s…q’, де ’s’, …, ’z’ – довільні алфавітні символи, а довжини буквосполучень різні, та вивести їх (слова) на стандартний пристрій виводу.
Варіант 24. Ввести зі стандартного пристрою вводу окремі слова. Замінити в словах буквосполучення ’x…z’ буквосполученням ’s…q’, де ’s’, …, ’z’ – довільні алфавітні символи, а довжини буквосполучень різні. Об’єднати отримані слова в речення та вивести його на стандартний пристрій виводу.
Варіант 25. Ввести зі стандартного пристрою вводу речення. Вибрати з речення слова, що починаються буквосполученням ’x…z’, де ’x’, …, ’z’ – довільні алфавітні символи, та вивести їх на стандартний пристрій виводу.
Варіант 26. Ввести зі стандартного пристрою вводу окремі слова. Вибрати слова, що починаються буквосполученням ’x…z’, де ’x’, …, ’z’ – довільні алфавітні символи. Об’єднати вибрані слова в речення та вивести його на стандартний пристрій виводу.
Варіант 27. Ввести зі стандартного пристрою вводу речення. Вибрати з речення слова, що закінчуються буквосполученням ’x…z’, де ’x’, …, ’z’ – довільні алфавітні символи, та вивести їх на стандартний пристрій виводу.
Варіант 28. Ввести зі стандартного пристрою вводу окремі слова. Вибрати слова, що закінчуються буквосполученням ’x…z’, де ’x’, …, ’z’ – довільні алфавітні символи. Об’єднати вибрані слова в речення та вивести його на стандартний пристрій виводу.
Варіант 29. Ввести зі стандартного пристрою вводу речення. Розбити речення на словосполучення за розділовими знаками ’,’, ’-’ ’:’, ’;’, та ’.’. Вивести словосполучення на стандартний пристрій виводу.
Зміст звіту
Титульна сторінка.
Мета роботи.
Завдання (індивідуальне) на лабораторну роботу.
Аналіз завдання та опис алгоритму вирішення задачі. Блок-схема алгоритму.
Текст програми (в електронному вигляді).
Описання результатів тестування.
Висновки.
Література
Керниган Б., Ритчи Д. Язык программирования СИ:Пер. с англ..- М.: Финансы и статистика, 1992. -271с.
Бочков С. О., Субботин Д. М. Язык программирования для персонального компьютера. -М.: Радио и связь, 1990. -384с.
Уинер Р. Язык Турбо СИ: Пер. с англ. -М.: Мир, 1991. -384с.
Касаткин А. И. Профессиональное программирование на языке СИ: Системное программрование - Мн.: Выш. шк. 1993. -301с.
Касаткина А. И., Вальвачев А. Н. Профессиональное программирование на языке СИ: От Turbo C к Borland C++: Справочноэ пособие, Мн.:Выш. шк.,1992.-240с.
Проценко В. С. та ін. Техніка програмування мовою СІ: Навчальний посібник -К.:Либідь, 1993, -224с.
Уэйт М., Прата С., Мартин Д. Язык СИ: Пер. с англ. -М.:Мир, 1988. -512с.
Березко Л. О., Троценко В. В., Камінський Е. А., Мархивка В. С. Інструкція до циклу лабораторних робіт з дисципліни "Програмування на мові СІ". -Львів:ЛПІ,1991.
Прата С. Язык программирования С. Лекции и упражнения. Учебник: Пер. С англ – СПб.: ООО «ДиаСофтЮП», 2002. – 896 с.