- •Методичні вказівки
- •5.05010301 – Розробка програмного забезпечення
- •2.1 Основні форми представлення алгоритмів:
- •2.2 Блок-схеми
- •2.3 Основні структури алгоритмів
- •Лінійний алгоритм
- •3. Постановка задачі
- •4. Варіанти
- •5. Методичні вказівки
- •3. Постановка задачі
- •4. Варіанти
- •5. Методичні вказівки
- •Цикли з відомим числом повторень
- •Цикли з невідомим числом повторень
- •Вкладені цикли
- •3. Постановка задачі
- •4. Варіанти
- •5. Методичні вказівки
- •5. Методичні вказівки
- •Приклад
- •5. Методичні вказівки
- •2. Введення даних організувати з клавіатури.
- •3. Висновок результатів для завдання організувати на монітор.
- •Практична робота № 6
- •3. Постановка завдання
- •4. Варіанти
- •5. Методичні вказівки
- •2. Введення даних для завдань а і б організувати з клавіатури.
- •4. Висновок результатів для завдання а організувати у вигляді:
- •7. Контрольні питання
- •Практична робота № 7
- •3. Постановка завдання.
- •5. Методичні вказівки
- •2.3 Цикл типу do — while
- •2.4 Керуючі оператори в циклах
- •3. Постановка завдання.
- •5. Методичні вказівки
- •7. Контрольні питання
- •2.5 Області дії змінних
- •Приклад
- •3. Постановка завдання
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні запитання
- •2.5. Поиск в отсортированном массиве
- •3. Постановка завдання
- •5. Методичні вказівки
- •7. Контрольні питання
- •3. Постановка завдання
- •4. Варіанти завдань
- •5. Методичні вказівки
- •5. Методичні вказівки
- •7. Контрольні питання
- •Практична робота № 13
- •1. Мета роботи:
- •2. Теоретичні відомості
- •3. Постановка завдання
- •1. Використовуючи функції сформувати за допомогою дсч одновимірний масив і вивести його на друк.
- •2. Виконати обробку одновимірного масиву у відповідності з варіантом, використовуючи функції, результат вивести на друк.
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні питання
- •2.3 Швидке сортування
- •Алгоритм
- •Швидкість
- •2.4 Модифіковані методи сортування
- •2.4.1 Метод Шелла
- •2.4.2 Швидке сортування
- •3. Постановна задачі
- •4. Варіанти
- •5. Методичні вказівки
- •Приклад
- •3. Постановка завдання
- •1. Ввести з клавіатури рядок символів і обробити її у відповідності зі своїм варіантом, використовуючи функції.
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні питання
- •5. Методичні вказівки
- •7. Контрольні питання
- •Практична робота № 17
- •1. Мета роботи:
- •2. Теоретичні відомості
- •2.5. Численные методы решения уравнений
- •2.5.1. Метод итераций
- •2.5.2. Метод Ньютона
- •2.5.3. Метод половинного деления
- •3. Постановка завдання
- •1. Написати функцію з замовчує параметрами відповідно до варіанта, продемонструвати різні способи виклику функції: • з параметрами заданими явно, • з опущеними параметрами
- •4. Варіанти
- •5. Методичні вказівки
- •3. Постановка задачі
- •На цьому дереві можна визначити три методи упорядкування:
- •5. Методичні вказівки
- •7. Контрольні питання
- •Практична робота № 20
- •1. Мета роботи:
- •2. Короткі теоретичні відомості
- •3. Постановка завдання
- •4. Варіанти
- •5. Методичні вказівки
- •7. Контрольні питання
5. Методичні вказівки
1. Формування, друк і обробку рядків оформити у вигляді функції. Рядки передавати як параметри функцій.
2. Введення / виведення рядків організувати за допомогою функцій:
• char * gets (char * s)
• int puts (char * s)
3. Для обробки рядків використовувати стандартні функції з бібліотечного файлу <string.h>
4. Функція main () повинна містити тільки опис рядків і виклики функцій для формування, друку та обробки рядків.
6. Зміст звіту
1. Постановка завдання (загальна і для конкретного варіанту).
2. Визначення функцій, використовуваних для формування, друку та обробки рядків (для кожного завдання).
3. Визначення функції main ().
4. Результати тестів.
7. Контрольні питання
Як представлен рядок в С
Назвіть основні функції роботи з рядками
Наведіть прикладь функції модуля string
Наведіть команди введення/виведення рядка
Практична робота № 16
Тема: Створення та обробка структур
1. Мета роботи:
1. Отримати практичні навички роботи з динамічними рядковими даними.
2. Отримати практичні навички роботи зі структурами.
3. Отримати практичні навички організації динамічних масивів з елементами складної структури.
2. Теоретичні відомості
2.1. Структури
Структура - це об'єднане в єдине ціле безліч пойменованих елементів даних. Елементи структури (поля) можуть бути різного типу, вони всі повинні мати різні імена.
struct Date / / визначення структури
{
int day;
int month;
int year;
};
Date birthday; / / змінна типу Date
Для змінних одного і того ж структурного типу визначена операція присвоювання. При цьому відбувається поелементне копіювання.
Доступ до елементів структур забезпечується за допомогою уточнених імен:
імя_структури.імя_елемента
/ / Присвоювання значень полях змінної birthday
birthday.day = 11; birthday.month = 3; birthday.year = 1993;
Date Data;
/ / Присвоювання значення змінної birthday змінної Data
Data = birthday;
З елементів структурного типу можна організовувати масиви також як з елементів стандартних типів.
Date mas [15]; / / масив структур
/ / Введення значень масиву
for (int i = 0; i <15; i + +)
{
cout << "\ nEnter day:"; cin >> mas [i]. day;
cout << "\ nEnter month:"; cin >> mas [i]. month;
cout << "\ nEnter year:"; cin >> mas [i]. year;
}
3. Постановка завдання
1. Сформувати динамічний масив з елементів структурного типу. Структурний тип визначений у варіанті.
2. Роздрукувати сформований масив.
3. Виконати пошук елементів у масиві, що задовольняють заданій у варіанті умові і сформувати з них новий масив.
4. Роздрукувати отриманий масив.
5. Сформувати динамічний масив, що складається з динамічних рядків.
6. Роздрукувати сформований масив.
7. Виконати обробку цього масиву.
8. Роздрукувати отриманий масив.
4 Варіанти
Завдання 16.1
Таблиця 21 – Вихідні данні для завдання 16.1
№ варианта |
Структура |
Критерій для пошуку в масиві структур |
Завдання для обробки масиву рядків |
1 |
struct person { char*name; char *adres; int age; }; |
Імена починаються на лiтеру 'A' |
Додати рядок із заданим номером |
2 |
struct date { int day; char*month; int year; }; |
Дати з літніми місяцями |
Видалити рядок із заданим номером |
3 |
struct student { char*name; int kurs; float rating }; |
Студенти першого курсу |
Додати рядок в кінець масиву |
4 |
struct employee { char*name; float salary; int stage }; |
Співробітники зі стажем більше 10 років |
Видалити рядок з кінця матриці |
5 |
struct pupil { char*name; int age; float rating }; |
Учні з середнім балом більше 4 |
Додати рядок в початок масиву |
6 |
struct person { char*name; int age; }; |
Вік більше 25 років |
Видалити рядок з початку масиву |
7 |
struct date { int day; char*month; int year; }; |
Дати після 2000 року |
Додати К рядків у кінець масиву |
8 |
struct student { char*name; int kurs; float rating }; |
Студенти, у яких рейтинг менше 3 |
Видалити К рядків з кінця матриці |
9 |
struct employee { char*name; float salary; int stage }; |
Співробітники, у яких ім'я починається на букву 'Л' |
Додати К рядків в початок масиву |
10 |
struct pupil { char*name; int age; float rating }; |
Учні, у яких прізвище "Іванов" |
Видалити К рядків з початку масиву |
11 |
struct person { char*name; int age; }; |
Вік менше 18 |
Видалити рядок з номером К |
12 |
struct date { int day; char*month; int year; }; |
Дата належить першій декаді місяця |
Додати рядок з номером К |
13 |
struct student { char*name; int kurs; float rating }; |
Студенти п'ятого курсу |
Видалити рядки, починаючи з рядка К1 і до рядка К2 |
14 |
struct employee { char*name; float salary; int stage }; |
Співробітники зі стажем менше 3 років |
Додати рядка, починаючи з рядка К1 і до рядка К2 |
15 |
struct pupil { char*name; int age; float rating }; |
Учні з середнім балом рівним 4.5 |
Видалити всі рядки, які починаються на лiтеру 'F' |
16 |
struct person { char*name; int age; }; |
Імена починаються на лiтеру 'A' |
Видалити всі парні рядки |
17 |
struct date { int day; char*month; int year; }; |
Дати із зимовими місяцями |
Видалити всі рядки, в яких є хоча б одна цифра |
18 |
struct student { char*name; int kurs; float rating }; |
Студенти першого курсу у яких рейтинг менше 3 |
Видалити всі стовпці, в яких є хоча б одна буква 'A' |
19 |
struct employee { char*name; float salary; int stage }; |
Співробітники зі стажем більше 10 років і заробітною платою більше 15000 |
Видалити найдовшу рядок масиву |
20 |
struct pupil { char*name; int age; float rating }; |
Учні 13 років з середнім балом більше 4 |
Додати рядки після кожної парної рядка масиву |
21 |
struct person { char*name; int age; }; |
Вік більше 25 років і прізвище починається на букву 'C' |
Видалити кожну непарного рядок масиву |
22 |
struct date { int day; char*month; int year; }; |
Зимові дати після 2000 року |
Додати К рядків, починаючи з рядка з номером N |
23 |
struct student { char*name; int kurs; float rating }; |
Студенти 1 та 2 курсу, у яких рейтинг менше 3 |
Видалити К рядків, починаючи з рядка з номером N |
24 |
struct employee { char*name; float salary; int stage }; |
Співробітники, у яких ім'я починається на букву 'Л' і заробітна плата менше 6000 |
Додати рядок після найдовшої рядка масиву |
25 |
struct pupil { char*name; int age; float rating }; |
Учні, у яких прізвище "Іванов" і рейтинг більше 4 |
Додати рядок після найкоротшої рядка масиву |