- •Основи програмування методичні вказівки та індивідуальні завдання
- •В ступ
- •Порядок виконання лабораторних робіт
- •Завдання до лабораторних робіт Лабораторна робота № 1
- •Лабораторна робота № 2
- •Лабораторна робота № 3
- •Int SumaCyfr(long c); /* оголошення функцій */
- •Лабораторна робота № 4
- •Лабораторна робота № 5
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 6
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 7
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 8
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 9
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 10
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 11
- •Варіанти індивідуальних завдань
- •Лабораторна робота № 12
- •Варіанти індивідуальних завдань
- •Література
Лабораторна робота № 9
Тема роботи: Опрацювання символьних рядків
Мета роботи: здобути практичні навики роботи із символами та текстовою інформацією з урахуванням особливостей організації символьних рядків у мові С.
Завдання лабораторної роботи: 1. Прочитати умову задачі індивідуального завдання. Розробити алгоритм її розв’язування і накреслити його блок-схему.
2. Скласти програму, стараючись не застосовувати бібліотечних функції із заголовних файлів <ctype.h>, <string.h> чи <stdlib.h>.
3. Для звертання до окремих символів або частин рядка необхідно використовувати як вказівникову так індексну форму виділення елементів. У процесах (циклах) опрацювання символьних рядків треба обов’язково враховувати їхню основну властивість – закінчення рядка нуль-символом.
4. Для організації введення-виведення символьних рядків і окремих символів вибрати найбільш відповідні бібліотечні функції із <stdio.h>. Обов’язково супроводити кожну операцію введення-виведення відповідною підказкою або заголовком.
5. Перевірити коректність роботи програми для різних прикладів вхідних даних.
6. У звіті до лабораторної роботи вказати: • задачу індивідуального завдання; • блок-схему алгоритму розв’язування задачі; • текст розробленої програми; • результати виконання програми; • висновок.
Варіанти індивідуальних завдань
Перевірити, чи введений з клавіатури символьний рядок є правильним записом беззнакового цілого числа у системі числення з основою 5 (з можливими символами пропуску перед числом і після нього). Якщо так, то визначити і надрукувати десяткове значення цього числа.
З клавіатури ввести символьний рядок, який задає повне ім’я файла (із зазначенням шляху до цього файла). Замінити розширення файла на *.new (якщо файл не мав розширення, то додати його). Надрукувати нове ім’я, вказавши шлях великими літерами, а саме ім’я файлу – малими літерами.
Ввести українське речення (крім літер у реченні можуть бути й інші символи). Надрукувати введене речення у двох формах: 1) великими літерами; 2) великою літерою починати кожне слово. Підказка: скористатись масивами (рядками) великих і малих літер української абетки.
З клавіатури ввести речення. Вилучити з нього всі слова, які містять задану двосимвольну комбінацію. Надрукувати скорочене речення і вказати, скільки слів вилучено.
З клавіатури ввести речення. Сформувати нове речення з тих слів введеного речення, в яких немає заданої літери. Врахувати, що задана літера в слові може бути як малою, так і великою.
З клавіатури ввести символьний рядок з 2-10-им кодом цілого числа (між тетрадами має бути записаний один символ пробілу). Обчислити й надрукувати десяткове значення цього числа.
З клавіатури ввести речення. Замінити в ньому слово, порядковий номер якого задає користувач, відповідною кількістю символів * ("закрити" слово зірочками). Якщо номер слова перевищує реальну кількість слів у реченні, то вивести відповідне повідомлення.
З клавіатури ввести символьний рядок, в якому крім тексту можуть бути також числа: цілі та дійсні, в яких дробова частина відокремлюється комою. Знайти і надрукувати всі числа, які є у цьому рядку або вказати, що чисел немає.
З клавіатури ввести речення. Надрукувати ті слова з введеного речення, в яких є подвоєння літер (наприклад, слово подвоєння), або вивести повідомлення про відсутність таких слів.
З клавіатури ввести символьний рядок, який задає арифметичний вираз: А В, де А та В – два довільні цілі трицифрові числа, знак арифметичної операції: + або - , яку треба виконати над цими числами (перед знаком і за ним може бути записаний пробіл). Виділити з введеного рядка операнди і знак операції та обчислити й надрукувати значення виразу.
З клавіатури ввести довге ціле беззнакове число. Сформувати символьний рядок, у який занести цифри 16-го коду цього числа. Надрукувати рядок із 16-м кодом і перевірити його правильність надрукувавши значення введеного числа у 16-му форматі. Підказка: 16-ві цифри заносити у рядок, починаючи від наймолодшої, а потім виконати реверсування рядка.
З клавіатури ввести речення. Поміняти місцями друге слова цього речення з передостаннім. Надрукувати результат заміни. Підказка: для обміну словами найкраще сформувати додатковий рядок (нове речення), вміст якого потім переписати на місце введеного речення.
З клавіатури ввести речення і слово. Вставити введене слово в речення, зробивши його п’ятим за порядком. Якщо в реченні менше, ніж чотири слова, то додаткове слово має стати останнім у реченні. Надрукувати доповнене речення. Підказка: скористатись додатковим рядком, вміст якого потім переписати на місце введеного рядка.
З клавіатури ввести два символьні рядки, у кожному з яких записано 8-розрядний двійковий код цілого беззнакового числа. Сформувати третій рядок, у який занести двійковий код суми цих чисел. Урахувати, що сума може бути на один розряд довшою. Надрукувати у стовпчик введені числа та їхню суму.
З клавіатури ввести символьний рядок, що має форму a3b4c2… . Сформувати новий рядок, що матиме вигляд aaabbbbcc… (цифра після символа у базовому рядку задає кількість повторень цього символа). Скопіювати новий рядок на місце введеного і надрукувати його.
З клавіатури ввести речення. Сформувати нове речення зі зворотним порядком слів, при цьому замінити у першому й останньому словах велику літеру на малу та навпаки. Надрукувати створене речення.
З клавіатури ввести ціле беззнакове число. Сформувати символьний рядок, у який занести цифри трійкового коду цього числа. Надрукувати рядок із трійковим кодом і зазначити, скільки разів у ньому повторюється кожна з цифр. Підказка: трійкові цифри заносити у рядок, починаючи від наймолодшої, а потім виконати реверсування рядка.
З клавіатури ввести речення. Замінити в ньому k-те слово на задане (значення k задає користувач) Передбачити, що в реченні може бути менше, ніж k слів. Надрукувати змінене речення. Підказка: скористатись додатковим рядком, вміст якого потім переписати на місце введеного рядка.
З клавіатури ввести речення. Видалити найдовше слово з введеного речення, посунувши всі наступні слова ліворуч. Надрукувати скорочене речення.
З клавіатури ввести символьний рядок та кодову трилітерну комбінацію символів. Визначити, скільки разів ця комбінація повторюється у введеному рядку або вивести повідомлення про її відсутність. Одночасно замінити всі входження заданої комбінації одним символом Х. Надрукувати рядок після заміни. Підказка: скористатись додатковим рядком, вміст якого потім переписати на місце введеного рядка.
З клавіатури ввести символьний рядок, у якому записано 8-розрядний двійковий код цілого числа зі знаком (найстарший біт задає знак числа, від’ємні числа подаються у доповнювальному коді). Обчислити й надрукувати десяткове значення цього числа.
З клавіатури ввести символьний рядок, в якому крім слів повинні бути цілі числа. Вилучити з цього рядка всі числа. Надрукувати скорочений рядок. Підказка: для видалення чисел треба зсувати всі наступні символи ліворуч.
З клавіатури ввести речення. Визначити і надрукувати слово з цього речення, в якому найбільше разів зустрічається задана літера (враховувати малі й великі літери).
З клавіатури ввести символьний рядок. Перевірити, чи він є паліндромом, тобто однаково читається зліва направо та справа наліво (великі й малі літери у паліндромах не розрізняються, пробіли пропускаються).
З клавіатури ввести символьний рядок, в якому записано 2-10-й код цілого беззнакового числа (між тетрадами не повинно бути пробілів). Створити новий рядок, у який занести десятковий код (значення) цього числа. Надрукувати цей рядок.
З клавіатури ввести символьний рядок, який задає арифметичний вираз у такій формі:
число 1 число 2
де число 1 та число 2 – два два довільні цілі двоцифрові числа, – знак арифметичної операції: × або / , яку треба виконати над цими числами (перед знаком і після нього може бути записаний пробіл). Виділити з введеного рядка обидва операнди і знак операції та обчислити й надрукувати значення виразу.
З клавіатури ввести символьний рядок. Перевірити, чи збігається третє слово цього рядка з його останнім словом. Якщо так, то вилучити з рядка третє слово (якщо третє слово останнє у рядку, то воно не видаляється). Надрукувати відповідне повідомлення, а в разі вилучення додатково вивести скорочений рядок.
З клавіатури ввести два символьні рядки, у кожному з яких записано чотирирозрядний код цілого п’ятіркового числа. Сформувати третій рядок, у який занести код суми цих чисел у п’ятірковій системі. Врахувати, що сума може бути на один розряд довшою. Надрукувати у стовпчик введені числа та їхню п’ятіркову суму.
З клавіатури ввести українське речення. Надрукувати всі слова введеного речення, які містять задану літеру. Врахувати, що ця літера в слові може бути як малою, так і великою. Підказка: скористатись масивом великих і малих літер української абетки.
Ввести символьний рядок, який містить 16-й код довгого цілого числа (перед числом і за ним можуть бути записані пробіли). Визначити і надрукувати десяткове значення цього числа. Якщо в рядку помилково записані символи, що не є 16-ми цифрами, то вивести повідомлення про помилку в коді.
