Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Варіанти індивідуальних завдань. 1. Виконати парне порівняння двох бінарних файлів, які створюють масиви з 20



1. Виконати парне порівняння двох бінарних файлів, які створюють масиви з 20 компонентів. Більші з пар елементів записуються у третій файл.

 

2. Для двох файлів, які включають по 15 елементів знайти парні суми цих елементів та записати до третього файлу.

 

3. Для двох файлів, які включають по 21 елементу знайти парні різниці цих елементів та записати до третього файлу.

 

4. Для двох файлів А та В, які включають по 17 елементів: , необхідно виконати наступні дії та отримані значення записати до файлу .

 

5. Для двох файлів А та В, які включають по 20 елементів:

 

необхідно виконати наступні дії: та отримані значення записати до файлу

 

6. Для двох файлів А та В, які включають по 25 елементів: необхідно виконати наступні дії та отримані значення записати до файлу , .

 

7. Для двох файлів А та В, які включають по 20 елементів: необхідно виконати наступні дії: та отриманні значення записати до файлу .

 

8. Для двох файлів А та В, які включають по 17 елементів: необхідно виконати наступні дії із елементами та : та записати отримані значення до файлу .

 

9. Для двох файлів А та В, які складаються з 18 елементів: необхідно обчислити значення та записати їх до файлу . .

 

10. Для двох файлів А та В, які складаються з 20 елементів: необхідно обчислити значення та записати їх до файлу .

 

3.4 Контрольні питання та завдання

1. Яким чином представляються матриці та багатовимірні масиви у С++?

2. Як виконується робота з файлами у Сі.

3. Яким чином виконується відкриття файла: функція fopen?

4. Як використовується у програмах константа null?

5. Як виконується діагностування помилок: функція perror?

6. Назвіть особливості функцій бінарного зчитування та запису fread та fwrite.

7. Яким чином виконується функція закриття файлу fclose?

8. Чим відрізняються функції форматного введення-виведення: fscanf та fprintf від функцій scanf та printf?

9. Надайте характеристику поняттям потоку введення та виведення.

10. Яким чином використовуються функції scanf та printf введення та виведення до стандартних потоків?

11. Наведіть приклади використання функцій текстового перетворення sscanf та sprintf/.

12. Які додаткові функції введення-виведення ви знаєте. Опишіть дії, які вони виконують та наведіть приклади.

13. Яким чином у програмах виконується робота з текстами та текстовими строками.

14. Для якої мети використовуються аргументи командного рядка?

15. Надайте характеристику додатковим можливостям інструментального засобу Borland C++ Builder.

16. Які програмні документи входять до складу ЄСПД? З яких частин вони складаються?

 

 

4 ВИВЧЕННЯ МОЖЛИВОСТЕЙ МОВИ С++ ПРИ РОБОТІ ІЗ ТЕКСТОВИМИ ФАЙЛАМИ

 

Мета роботи

 

Вивчення можливостей мови С++ при роботі із текстовими файлами. Отримання практичних навичок використання текстових файлів при вирішенні практичних задач.

4.2 Організація самостійної роботи студентів

 

Під час підготовки до виконання лабораторної роботи необхідно вивчити індивідуальне завдання (п. 4.3), виконати розробку алгоритму вирішення задачі та підготовити текст програми щодо реалізації розробленого алгоритму, підготовити відповідні розділи звіту та вивчити відповідний теоретичний матеріал, який викладено у лекціях: „Типи даних мови С++”, „Символьні та логічні змінні і вирази. Масиви та текстові строки”, та у наступних підручниках і навчальних посібниках [1, 4, 5, 7, 8].

Стандартна бібліотека Сі надає набір функцій для роботи з текстами. Більша частина з них орієнтована на представлені символів у вигляді одного байта. Функції можна розділити на дві групи:

1. Функції, що визначають тип символу, – чи є він буквою, цифрою, пробілом, розділовим знаком та інше. Це функції описані в стандартному заголовному файлі "ctype.h". Функції, що стосуються букв, працюють тільки для латинського алфавіту;

2. Функції для роботи з текстовими рядками. Рядком у Сі вважається послідовність байтів, обмежена наприкінці нульовим байтом. Функції роботи з рядками описані в стандартному заголовному файлі "string.h".

Бібліотека Сі надає наступні функції для визначення типу символів, описаних в стандартному заголовному файлі "ctype.h":

int isdigit(int c); символ c – цифра;
int isalpha(int c); c – латинська буква;
int isspace(int c); c – пробіл, переклад рядка й т.п.;
int ispunkt(int c); c – розділовий знак;
int isupper(int c); c – прописна латинська буква;
int islower(int c); c – рядкова латинська буква;
int toupper(int c); якщо c – латинська буква, то перетворити c у прописну букву;
int tolower(int c); якщо c – латинська буква, то перетворити c у малу літеру.

 

Функції, що починаються із префікса is, повертають ненульове значення (тобто істину), якщо символ з кодом c належить зазначеному класу, і нульове значення у протилежному випадку. Функції toupper та tolower перетворюють латинські букви до верхнього або нижнього регістра, на інших символах вони діють тотожно.

Прототипи найбільше часто використовуваних функцій для роботи з текстовими рядками наведені нижче:

- визначення довжини рядка:

 

size_t strlen(const char *s); довжина рядка.

- копіювання рядків:

 

char *strcpy(char *dst, const char *src); копіювати рядок src у рядок dst;

char *strncpy(char *dst, const char *src, size_t maxlen); копіювати рядок src в dst, не більше maxlen символів;

char *strcat(char *dst, const char *src); копіювати рядок src у кінець dst (конкатенація рядків);

- робота з довільними масивами байтів:

 

void *memmove(void *dst, const void *src, size_t len); копіювати область пам'яті з адресою src розміром len байтів в область пам'яті з адресою dst;

void *memset(void *dst, int value, size_t len); записати значення value у кожний з len байтів, починаючи з адреси dst;

- порівняння рядків:

 

int strcmp(const char *s1, const char *s2);

лексикографічне порівняння рядків s1 та s2. Результат нульовий, якщо рядки рівні, негативний, якщо перший рядок менше ніж другий, і позитивний, якщо перший рядок більше другого;

 

int strncmp(const char *s1, const char *s2, size_t maxlen);

 

порівняння рядків s1 та s2. Порівнюються не більше maxlen символів;

 

int memcmp(const void *m1, const void *m2, size_t len);

 

порівняння областей пам'яті з адресами m1 та m2 розміром len кожна.

- пошук:

 

char *strchr(const char *s, int c);

 

знайти перше входження символу c у рядок s. Функція повертає покажчик на знайдений символ або нуль у випадку невдачі;

 

char *strstr(const char *s1, const char *s2);

 

знайти перше входження рядка s2 у рядок s1. Функція повертає покажчик на знайдену підстроку в s1, яка дорівнює рядку s2, або нуль у випадку невдачі.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.