Студопедия

КАТЕГОРИИ:

АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Тема 6. Обробка символьних даних.




 

Запитання до теми

1) В умові задачі обговорено, що перший символ рядка - не пробіл. На що впливає це обмеження і як його зняти?

2) У програмі зустрівся оператор: str =”string”;

Як повинна бути описана змінна str, щоб присвоювання було вірним?

3) Рядок описаний і обробляється в такий спосіб: char *ptr; gets(ptr);

Чи вірно це?

4) Чим відрізняється тип string мови Pascal від реалізації типу в мові С у вигляді символьного масиву?

5) Який результат одержимо у випадку порівняння:

6) Якщо рядок формується з символів, обробляючись як масив, що необхідно зробити для коректної роботи стандартних функцій обробки рядка?

7) Який розмір необхідно зарезервувати для рядка довжиною 128 символів і чому?

8) Чим відрізняється зарезервована довжина від значущої?

9) Як знайти значущу довжину?

10) Як обнулити рядок?

11) При організації діалогу з користувачем, програма задає питання на яке користувач повинен відповісти так/ні (Y/N або y/n), як правильно організувати перевірку введеного користувачем параметра?

12) Часто в задачах виникає необхідність обробляти число як рядок, яку функцію необхідно використати для конвертації числової змінної в рядкову?

13) Які функції можуть використовуватися для зчитування рядкових змінних з клавіатури? В чому полягає різниця між ними?

14) Для чого призначена функція strcmp(sl, s2), я вона працює?

15) Для чого призначена функція strcat(sl, s2), як вона працює?



Завдання для практичних робіт

1. Написати програму, що для заданого слова будує безпосередньо наступне за ним за алфавітом слово.

2. З клавіатури вводиться деякий текст англійською мовою, що закінчується крапкою. Роздрукувати зведення про те, скільки англійських букв у тексті. Врахувати, що в тексті можуть зустрічатися символи, відмінні від латинських букв. Прописні і малі літери при підрахунку не розрізняти. Вивести на екран 26 чисел, кожне в новому рядку, перше з який відповідає кількості букв a у тексті, друге — букв b і т.д.

3. У заданому діапазоні натуральних чисел підрахувати кількість таких чисел, у запису яких останні цифри квадратів чисел співпадають з самим числом (6 і 36, 25 і 125).

4. У введеному тексті замінити всі пропуски, що йдуть підряд одним єдиним пропуском

5. Скільки різних “слів” можна утворити з слова “ПЕОМ”. Літери дозволяється використовувати стільки разів, скільки вони є у даному слові. Вивести всі слова на екран.

6. Дано два слова. Скільки разів в другому слові зустрічається літера, яка в першому слові зустрічається найбільшу кількість разів. Якщо декілька літер зустрічаються однакову кількість разів, то за літеру, що зустрічається найбільшу кількість разів прийняти першу літеру.

7. Підрахувати кількість різних цифр у введеному рядку.

8. Знайти, в якому місці введеного речення вперше зустрілась літера “я”.

9. У заданому рядку поміняти всі коми на крапки, а крапки на знаки оклику.

10. У введеному рядку видалити всі розділові знаки (крапки, коми, знаки оклику і знаки питання).

11. У введеному тексті знайти довжину найкоротшого та найдовшого слова.

12. У введеному тексті замінити всі маленькі літери на великі.

13. Замініть у введеному тексті всі групи літер «абв» на «абвг».

14. Підрахуйте, яка з голосних літер зустрічається у тексті найбільшу кількість разів.

15. Знайдіть, одно–, дво– чи трискладних слів у введеному реченні більше.

16. Знайдіть у введеному реченні найдовше слово і підрахуйте, скільки у ньому різних літер.

17. Ввести речення і перевірити, чи є в ньому задане слово.

18. З даного тексту видалити всі фрагменти, що знаходяться у фігурних дужках.

19. Підрахувати, який процент слів у реченні починається на задану літеру.

20. У реченні всі фрагменти «і так далі» замінити на «і т. д.».

21. Складіть програму «Словарний диктант». Програма повинна перевіряти правильність написання відомих слів. Невідомих для програми слів у тексті диктанту використовувати не слід.

22. Скласти гру «Відгадай столицю». Назви країн та їх столиць занесіть у відповідні символьні масиви. Програма повинна зменшувати оцінку на 1 за кожну помилку і після трьох помилок припиняти роботу, видаючи відповідне повідомлення.

23. Дано рядок, що складається зі слів і пропусків. Перевернути кожне слово, зберігши незмінним їх порядок в рядку.

24. В символьному рядку є круглі дужки. Перевірити, чи вірно вони розташовані.

25. В арифметичному виразі, записану в один рядок, є круглі, квадратні та фігурні дужки. Чи вірно записано вираз?

 



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

Тема: Складні типи даних в мові С: рядки. Обробка символів та символьних рядків.

Завдання

1. Ввести з клавіатури текстовий рядок.

2. Виконати вказані в завданні перетворення.

3. Вивести вхідні та перетворені данні, надав їм відповідні коментарі.

4. Оформити звіт.

Примітка: Слова у текстовому рядку відділені пробілами або групами пробілів.

 

Варіант Індивідуальне завдання
1. Визначити найдовше слово в рядку і переставити його на початок рядка.
2. У введеному рядку видалити всі коми, що передують першій крапці, та замінити знаком “+” всі цифри “3”, що зустрічаються після першої крапки.
3. У введеному рядку підрахувати кількість слів, що однаково починаються і закінчуються
4. Вивести найкоротше слова введеного текстового рядка.
5. Підрахувати кількість слів, що містять непарну кількістю букв.
6. Дзеркально відбити всі слова текстового рядка
7. Знайти в рядку слово максимально схоже із даним
8. Виключити з речення групи символів, розташованих між дужками “( )”. Самі дужки також повинні бути виключені.
9. Вивести слова текстового рядка, що містять хоча б один раз групу символів “оро” та визначити їх кількість..
10. Вивести всі слова речення, які містять останню букву попереднього слова не менше 2 раз.
11. Вибрати з рядка всі слова паліндроми (слова, які однаково в обох напрямках).
12. Вивести всі слова речення, в яких перша літера входить в нього ще раз.
13. Вивести слово речення, в якому сума символів-цифр найбільша.
14. В реченні відобразити дзеркально всі слова, які містять парну кількість символів.
15. Видалити перше слово речення, якщо загальна кількість слів більше одиниці і є числом непарним.
16. Видалити з рядка всі символи, що не є літерами. Результат вивести на екран.
17. Замінити перші літери слів на верхній регістр.
18 Вставити між двома великими літерами, що йдуть підряд, рядок ‘._’.
19 Підрахувати кількість слів, в яких є підряд 2 однакові символи.
20 Підрахувати число входжень в рядок кожної з букв А, В, С, D, Е, F та вивести результати на екран у вигляді таблиці.
21 Вивести всі слова речення, в яких немає літер, що повторюються.
22 Визначити відношення кількості голосних букв в реченні до приголосних.
23 Видалити останнє слово речення, якщо загальна кількість слів більше одиниці і є числом парним.
24 Вивести слово речення, в якому сума символів-цифр найменша.
25 Знайти перше входження заданого символу в рядок та перевірити, чи є слово, якому належить символ, – паліндромом.

 


 


Тестові завдання

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

 



Тема 7. Структури. Масиви структур. ФАЙЛИ

 

 

Запитання до теми

 

 

Завдання для практичних робіт

 



Лабораторна робота №7

Тема:Складання програм із використанням масиву структур.

 

Завдання

Скласти програму, що формує масив структур і обробляє його згідно відповідної умови .

 

Варіант 1.

Інформація про деталь складається з назви, ваги екземпляру(в кг) , кількості екземплярів, які є на складі(в шт.) та статусу (замовлено або ні). Ввести інформацію про 15 різних найменувань деталей. Знайти:

а) загальну кількість екземплярів всіх деталей;

б) загальну вагу всіх екземплярів;

в) назву деталі, вага екземплярів якої найбільша;

г) назви замовлених деталей.

 

Варіант 2.

Інформація про студента складається з його прізвища , зросту (в см), статі, успішності (середня оцінка по 5 предметам, отримана на останній сесії). Дана інформація про групу з 12 студентів. Знайти:

1) кількість студентів, зріст яких 170-175 см;

2) кількість чоловіків – відмінників;

3) прізвища студентів, середній бал яких нижче 3.0;

4) успішність студента із заданим прізвищем.

 

Варіант 3.

Відомості про книгу складаються з прізвища автора, назви та року видання. Ввести набір з 12 таких відомостей. Знайти назву книг даного автора, виданих з 1970 по 1990 рік. Впорядкувати відомості по першій літері прізвища автора. Замінити старий рік видання на 1992р., передбачаючи, що одна з книг перевидана.

 

Варіант 4.

Відомості про автомобілі складаються з марки, номера (4-ризначне число), прізвища власника. Ввести набір з 10 таких відомостей. Знайти:

1) номера та прізвище власника автомобілів даної марки;

2) кількість автомобілів кожної марки.

Перевірити, чи є Петров власником автомобілю. Якщо так, то вказати марку та номер автомобіля.

 

Варіант 5.

Відомості про видачу екземпляра журналу читачу складаються з назви журналу, номера та прізвища читача. Ввести набір з 10 таких відомостей. Знайти:

1) по даній назві журналу номера, що видавались та прізвища читачів, що їх брали;

2) для кожного номера заданого журналу кількість його видач.

3) визначити, чи є Сидоров читачем, перерахувати видані йому журнали.

 

Варіант 6.

Ввести інформацію про групу туристів в кількості 10 чоловік, складається з прізвища, віку, статі кожного.

Знайти:

а) кількість чоловіків;

б) середній вік;

в) прізвище молодшої з жінок;

г) прізвище найстаршого чоловіка;

д) максимальний вік.

Варіант 7.

Інформація про співробітника складається з прізвища, ім’я , по-батькові, посади, номера службового телефону (три цифри). Ввести дані про 10-ть співробітників відділу:

а) вивести інформацію про всіх інженерів відділу;

б) з’ясувати, чи є Іванов Юрій Іванович співробітником даного відділу;

в) замінити номер телефону на 324 співробітнику Петрову Миколаю Миколайовичу.

 

Варіант 8.

Відомості про книгу складаються з прізвища автора, назви року видання, бібліотечного шифру. Ввести набір з 10-ти відомостей. Визначити:

а) за введеним автором список книг та відповідні шифри до них;

б) за введеним шифром автора та назву книги;

в) за введеним роком видання кількість книг.

Впорядкувати відомості про книги по першій літері прізвища автора.

 

Варіант 9.

Відомості про студента включають в себе: прізвище, групу, вік, стать, розмір стипендії, місце проживання(гуртожиток, квартира). Дана інформація про 10-ть студентів. Знайти:

а) кількість чоловіків, старше 20 років, що проживають в гуртожитку;

б) алфавітний список за групою у вигляді таблиці:

Група Прізвище Стипендія Вік Стат

 

Варіант 10.

Відомості про багаж пасажирів включають в себе кількість речей та загальну вагу. Організувати масив записів, якій містить інформацію про багаж 15 пасажирів. Знайти:

а) кількість пасажирів, які мають більше двох речей;

б) кількість пасажирів, кількість речей яких перевищує середню кількість речей;

Визначити, чи є два пасажира, багаж яких співпадає по кількості речей та відрізняється за вагою не більш чим на 0.5 кг.

З’ясувати, чи є пасажири, багаж яких складається з однієї речі, вагою менше 30 кг.

 

Варіант 11.

Відомості про студента складаються з прізвища, імені, по-батькові, номера групи, курсу. Організувати масив структур, який містить відомості про 14 студентів факультету. З’ясувати:

а) чи є на факультеті студенти з однаковими прізвищами;

б) чи є студенти з однаковими прізвищами в будь-якій групі;

в) на скільки чоловік на першому курсі, більш ніж на третьому.

Впорядкувати відомості про студентів за прізвищами та іменами.

 

Варіант 12.

Дана послідовність 16 звітів про складання студентами екзаменів. Кожний звіт містить прізвище студента та оцінки по 5 предметам. Знайти послідовність студентів, які є:

а) відмінниками;

б) студентами(які не мають погані оцінки);

в) встигаючими, які мають середній бал за сесію не менше 4.0

Впорядкувати звіти за прізвищами студентів.

 

Варіант 13.

Сформувати масив структур, який містить номера телефонів співробітників установи: вказується прізвище співробітника, його ініціали, номер телефону, домашня адреса. Знайти:

а)телефон співробітника за його прізвищем та ініціалами;

б) домашню адресу співробітника за його номером телефону;

в) домашню адресу співробітника за його прізвищем та ініціалами.

Впорядкувати інформацію за прізвищами та ініціалами співробітників.

 

Варіант 14.

Організувати масив, який містить відомості про 16 речовин: вказати назву речовини, її питому вагу та провідність(провідник, напівпровідник, ізолятор).

а) знайти питому вагу та назву всіх напівпровідників.

б) вибрати дані про провідники і впорядкувати їх за зменшенням питомої ваги;

в) вивести на екран назви речовин, які є ізоляторами із з’ясуванням питомої ваги.

Варіант 15.

Сформувати масив структур, який містить відомості про 15 іграшок: вказується назва іграшки (лялька, кубик, м’яч, конструктор і т.д.), її ціна(в грн.) та вікові границі дітей(від 2 до 5 років). Отримати :

а) назву іграшки, ціна якої не перевищує 40 гривен та призначена для дітей до 5 років;

б) ціна самого дорожчого конструктора;

в) ціна самої дешевої іграшки та її назва.

Впорядкувати назви іграшок для дітей до 7 років.

 

Варіант 16.

Ввести інформацію про селище міського типу: список 20 вулиць, кількість будинків на кожній вулиці.

а) визначити вулицю з найбільшою кількістю будинків;

б) вивести на екран назви вулиць в порядку зменшення кількості будинків;

в) вказати вулиці з кількістю будинків від 10 до 40;

 

Варіант 17.

Дана послідовність з 15 анкет , кожна з яких містить прізвище, стать, рік народження. Задана поточна дата – 1992 рік. Знайти:

а) анкетні відомості про людей , які мають до поточної дати повні 17 років;

б) анкетні відомості про чоловіків, які мають до поточної дати від 20 до 29 років;

Впорядкувати за алфавітом прізвища жінок віком від 30 до 39 років. Вивести на екран їх анкетні данні.

 

Варіант 18.

Кожна квартира характеризується наступними відомостями: поверх, кількість кімнат, чоловіків, жінок, дітей. Ввести інформація про 16 квартир. Знайти:

а) кількість мешканців на 4 поверсі та на першому;

б) номер поверху, в квартирах яких мешкає найбільша кількість дітей;

в) число мешканців, які мешкають в 2-ох кімнатних квартирах;

г) номер поверху, в квартирах якого мешкає найбільша кількість жінок.

 

Варіант 19.

Інформація про абонента включає в себе: прізвище, ініціали, адресу, номер телефону, відомості про сплату за телефонні послуги. Ввести з екрану список 10 абонентів з вказаною інформацією:

а) визначити абонентів(ПІП), номера телефонів яких починаються з 44;

б) з’ясувати відомості про абонента, вказавши визначений номер телефону;

в) вивести на екран відомості про боржників за 1 місяць, за 2 місяці, а потім за 3 місяці.

Примітка: В відомостях про сплату за телефонні послуги вказуються: немає заборгованості – 0, заборгованість за 1 місяць – 1, і т. д.

Варіант 20.

Організувати масив структур в кількості 12-и, який містить відомості про кубики: розмір кожного кубика(довжина ребра в см), його колір(червоний, жовтий, зелений або синій), речовина(дерев’яний, металевий, картонний). Знайти:

а) кількість кубиків кожного з перелічених кольорів та їх сумарний об’єм;

б) кількість дерев’яних кубиків з ребрами 3 см та кількість металевих кубиків з ребрами більше 5 см.

З’ясувати, чи є червоний картонний кубик. Якщо є – з’ясувати розмір його ребра (найменше значення, якщо таких кубиків декілька).

 

Варіант 21.

Створити масив зі структур що містять відомості про базу відпочинку (дані про клієнтів, номер кімнати, категорію кімнати /Люкс, І, ІІ/, рік народження, стать, номер паспорта клієнтів). Вивести на екран:

а) За введеним номером кімнати список клієнтів, що в ньому проживають /прізвище, ім’я, номер паспорта/;

б) список жінок віком від 25 до 40 років, що проживають в люксах;

Визначити середній вік чоловіків;

 

Варіант 22.

Створити масив зі структур що містять відомості про 10 газет (найменування, індекс, ціна, тираж, кількість випусків на місяць). Вивести:

а) окремо найменування щоденних газет, щотижневиків, щомісячників;

б) список щотижневиків, тираж яких перевищує 100 000 екземплярів, а ціна менше 1 грн.;

в) у видань, вартістю більше за 1 грн., змінити ціну на 0,8 грн.

 

Варіант 23.

Створити масив зі структур, що містять відомості про 11 учнів ( прізвище, ім'я, по батькові, оцінки з математики, інформатики та фізики).

Вивести:

а) прізвища та ініціали учнів, що мають більше половини п'ятірок по даному предмету;

б) оцінки вказаного учня:

в) середній бал успішності учнів.

 

Варіант 24.

Створити масив зі структур що містять відомості про 15 співробітників (прізвище, ім'я, по батькові, оклад, стаж роботи, сума до видачі). Розрахувати і вивести на екран суму до видачі для кожного працівника, якщо за кожний рік роботи додається 1% від окладу.

а) Вивести список співробітників, стаж яких перевищує 10 років і оклад не перевищує 180 грн.

б) Вивести інформацію про всіх співробітників, прізвища яких починаються на голосну.

 

Варіант 25.

Створити масив зі структур що містять відомості про студентів коледжу ( прізвище, ім'я, по батькові, дата народження (число, місяць, рік), факультет, група).

а) Вивести кількість студентів по групах, що народилися в даний місяць в другій декаді;

б) Знайти кількість студентів із вказаним ім’ям;

в) Вивести інформацію по групі, яка має найбільшу кількість студентів.

 



Лабораторна робота №8

Завдання: Виконати над файлом дії, вказані в умові відповідного завдання. Оформити звіт.

 

Варіант Завдання
1 Перетворити великі букви у малі і навпаки.
2 Порахувати кількість абзаців.
3 Порахувати суму цифр.
4 Порахувати відношення літер до інших символів
5 Порівняти кількість цифр і літер верхнього регістру.
6 Замінити всі пробіли символом ’*’.
7 Визначити слово з максимальною кількістю букв ’о’
8 Підрахувати кількість слів, що однаково починаються і закінчуються
9 Знайти найдовше слова.
10 Підрахувати кількість слів, що містять непарну кількістю букв.
11 Знайти слово, в якому сума символів-цифр найбільша.
12 Визначити відношення кількості голосних букв в реченні до приголосних
13 Підрахувати число входжень кожної з букв А, В, С, D, Е, F та вивести результати на екран у вигляді таблиці.
14 Замінити перші літери слів на верхній регістр.
15 Знайти кількість слів і якщо вона непарна, то подати звуковий сигнал
16 Дзеркально відобразити символи.
17 Перевести всі літери у нижній регістр.
18 Порівняти кількість голосних і приголосних літер.
19 Обчислити середнє арифметичне цифр.
20 Замінити ’+’ на ’-’ і навпаки.
21 Дзеркально відобразити слова.
22 Зашифрувати, а потім розшифрувати файл.
23 Визначити кількість дволітерних слів.
24 Визначити відношення кількості слів, що закінчуються голосною літерою до тих, що закінчуються приголосною.
25 Визначити кількість слів, що закінчуються на ’ити’.

 

Тестові завдання

1. Запис в мові С – це: а) фрагмент інформації, що зберігається в зовнішній пам’яті ПК під певним ім’ям; б) набір однотипних логічно зв’язаних один з одним об’єктів; в) структура даних, яка складається із фіксованої кількості (можливо різнотипних ) компонентів – полів запису.
2. Запис sizeof указує на: а) виділення пам'яті під змінну; б) визначення розмірів змінної даного типу; в) звільнення пам'яті. г) обмеження пам’яті.
3. Текстовий файл відкривається чи створюється для додавання у нього нової інформації в кінець файлу. Запис режиму: а) "r" б) "w" в) "a"
4. Дозволяє читати і записувати в будь-якім місці файлу, але не допускає додавання в кінець файлу. Запис цього режиму: а) "r+" б) "w+" в) "a+"

 


 










Последнее изменение этой страницы: 2018-05-29; просмотров: 265.

stydopedya.ru не претендует на авторское право материалов, которые вылажены, но предоставляет бесплатный доступ к ним. В случае нарушения авторского права или персональных данных напишите сюда...