/cpp-laboratory

C++ Laboratory Exercises in IT STEP University

Primary LanguageC++

С++ Laboratory

C++ Laboratory Works in IT STEP University
Лабораторні роботи з вступу до програмування ч. 1

Варіант 4

Лабораторна робота 1. Програмування розгалужених та циклічних процесів.

Блок завдань 1

Обчислити і вивести на екран у вигляді таблиці значення функції, заданої за допомогою ряду Тейлора, на інтервалі від x поч до x кін кроком dx з точністю ε. Таблицю забезпечити заголовком і шапкою. Кожен рядок повинен містити значення аргументу, значення функції та кількість підсумувати членів ряду.

Блок завдань 2

Написати програму, яка введе 5 значень змінної n та виведе ряд чисел n, n+3, n+6, n+9, ... , n+ 5*3.


Лабораторна робота 2. Масиви даних та використання вказівників для роботи з масивами.

Блок завдань 1

Початкові дані для всіх варіантів -n дійсних величин. При написанні програм можна використовувати як динамічні,так і не динамічні масиви. Розмірність останні з задавати іметонованою константою.

  1. Знайти суму елементів масиву з непарними номерами.
  2. Знайти суму елементів масиву,щорозташованіміж першим і останнім від’ємнимиелементами.
  3. Стиснути масив, видаливши з нього всі елементи, модуль яких не перевищує 1. Вивільнені в кінці масиву елементи заповнити нулями.

Блок завдань 2

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

Дана цілочисленапрямокутна матриця. Визначити:

  1. добутокелементів в тих рядках, які не містять від’ємнихелементів;
  2. максимум середсум елементів діагоналей, паралельних головній діагоналі матриці.

Лабораторна робота 3. Технології програмування структур та розміщення структур у пам’яті.

Описати структуру з ім'ям KYIVAVIA, що містить наступні поля: назва пункту призначення рейсу; номер рейсу; тип літака.
Написати програму, що виконує наступні дії:

  • введення з клавіатури даних в масив, що складається з семи елементів типу KYIVAVIA; записи повинні бути впорядковані за зростанням номера рейсу;
  • виведення на екран номерів рейсів і типів літаків, що вилітають в пункт призначення, назва якого співпало з назвою, введеним з клавіатури;
  • якщо таких рейсів немає, видати на дисплей відповідне повідомлення.

Лабораторна робота 4. Технології програмування функцій та їхвикористання.

Для зберігання даних про планшетні сканери описати структуру виду:

struct scan_info
{
	char model [25];// найменування моделі
	int price; // ціна
	double x_size; // горизонтальний розмір області сканування
	double y_size;// вертикальний розмір області сканування
	int optr;// оптична роздільна здатність
	int grey;// число градацій сірого
}

Написати функцію, яка динамічно виділяє пам'ять під масив структур (не менш шести елементів), заповнює йогоданими в режимі діалогу і записуємасив в бінарний файл. Структура файлу: в перших двох байтах розміщуєзначення типу int, що визначає кількість зроблених в файл записів; далі без пропусків розміщуються записи про сканерах.

Написати функцію, яка отримує даніпро сканер з описаного вище бінарного файлу в структуру типу scanjnfo. Обов'язковийпараметр -номер необхідного запису. Функція повинна повертати нульове значення, якщо читання пройшло успішно, і -1 в іншому випадку.

Привести приклад програми, що створює файл з даними про сканери(дані вводяться з клавіатури) з не менше восьми записамиі здійснює виведенняна дисплей даних про необхідної записи.

Всі необхідні дані для функцій повинні передаватися їм в якості параметрів. Використання глобальних змінних у функціях не допускається.


Лабораторна робота 5. Перевантаження та шаблони функцій.

Виконати варіант завдання з лабораторної роботи 2, ,лок завдань 1, оформивши кожен пункт варіанту завдання у вигляді шаблону функції. Всі необхідні дані для функцій повинні передаватися їм в якості параметрів. Використання глобальних змінних у функціях не допускається. Привести приклади програм, що використовують ці шаблони для типів int, float і double.


Лабораторна робота 6. Засоби мови C для опрацювання стрінгів та файлів.

Блок завдань 1

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

Блок завдань 2

За допомогою текстового редактора створити файл, що містить текст, довжина якого не перевищує 1000 символів. Текст має складатися з трьох пропозицій (довжина рядка тексту не повинна перевищувати 70 символів). Назва файлу повинна мати розширення DAT. Написати програму, яка:

  • виводить текстна екран дисплея;
  • після натискання довільної клавіші по черзі виділяє кожне речення тексту в послідовності 2, 1, 3.

Лабораторна робота 7. Динамічні структури даних.

Скласти програму, яка містить поточну інформацію про заявки на авіаквитки
Кожна заявка включає:

  • пункт призначення;
  • номер рейсу;
  • прізвище та ініціали пасажира;
  • бажану дату вильоту.

Програма повинна забезпечувати:

  • зберігання всіх заявок у вигляді двійкового дерева;
  • додавання і видалення заявок;
  • по заданому номеру рейсу і дату вильоту виведеннязаявок з їх подальшим видаленням;
  • виведення всіх заявок.

Лабораторна робота 8. Використання чисельних бібліотек мови С/С++для вирішення практичних задач.

Блок завдань 1

Вважайте десять чисел з плаваючою точкою з потоку введенняі запишіть їх у матрицю Мatrix<double>. Клас Мatrix не має функції push_back(), тому будьте обережні і передбачте реакцію на спробу ввести невірне кількість чисел типу double. Виведіть цю матрицю на екран.

Блок завдань 2

Вивчити алгоритм і реалізувати інтерполяційний поліном Лагранжа.