- •Лабораторна робота №1
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Теоретичні відомості Масиви динамічної пам'яті
- •Приклад виконання завдання 1
- •Лістинг програми
- •Приклад виконання завдання 2
- •Лістинг програми
- •Приклад виконання завдання 3
- •Лістинг програми
- •Контрольні запитання
- •Лабораторна робота №2
- •Порядок виконання роботи
- •Ознайомитися з теоретичними відомостями.
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Читання і запис текстових файлів
- •Читання і запис бінарних файлів
- •Відкриття бінарних файлів
- •Файли з послідовним доступом
- •Запис даних у файл з послідовним доступом
- •Файли з довільним доступом
- •Приклад виконання завдання 1
- •Приклад виконання завдання 2
- •Контрольні запитання
- •Лабораторна робота №3
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Теоретичні відомості
- •Обмеження доступу до членів класу Клас
- •Вбудовані функції-члени
- •Приклад виконання завдання 1.
- •Приклад виконання завдання 2.
- •Приклад виконання завдання 3.
- •Контрольні запитання
- •Лабораторна робота №4
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Конструктори і деструктори
- •Правила роботи з конструкторами і деструкторами
- •Варіант 10. Розробити описовий алгоритм, схему алгоритму і написати метод для підрахування кількості слів в текстовому файлі.
- •Приклад виконання завдання 2
- •Контрольні запитання
- •Лабораторна робота №5
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Принципи спадкування в ооп
- •Оголошення похідних класів
- •Приклади специфікаторів доступу
- •Конструктори похідного класу
- •Функції члени похідного класу
- •Заборонені члени класу (Protected)
- •Приклад виконання Завдання 1
- •Контрольні запитання
- •Лабораторна робота №6
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Перевантаження операторів
- •Приклад виконання завдання
- •Приклад виконання завдання
- •Приклад виконання завдання
- •Приклад виконання завдання
- •Контрольні запитання
- •Лабораторна робота №7
- •Порядок виконання роботи
- •Завдання 1.
- •Завдання 2.
- •Теоретичні відомості
- •Контрольні запитання
- •Лабораторна робота №8
- •Порядок виконання роботи
- •Завдання 1
- •Контрольні запитання
- •Лабораторна робота №9
- •Порядок виконання роботи
- •Завдання 1.
- •Теоретичні відомості Множинне спадкування
- •Контрольні запитання
- •Лабораторна робота №10
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Шаблони
- •Параметризовані класи
- •Визначені об’єкти-потоки
- •Операції поміщення та вилучення
- •Приклад виконання Завдання з варіанту 2
- •Контрольні запитання.
- •Лабораторна робота №11
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Приклад виконання Завдання 1
- •Приклад виконання Завдання 2
- •Контрольні запитання
- •Лабораторна робота №12
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Вставити Таблицю !!!!!! Приклад розробки програми
- •Контрольні запитання
Контрольні запитання
Для чого було створено STL?
Що таке контейнери, алгоритми, ітератори?
Види контейнерів.
Як працюють алгоритми?
Види ітераторів.
Що таке VECTOR?
Назвіть відомі вам функції-члени класу VECTOR.
Основні операції, які можна виконувати з VECTOR.
Що таке LIST?
Назвіть відомі вам функції-члени класу LIST.
Наведіть приклад простого списку.
Лабораторна робота №12
Тема: Особливості створення програми обробки списків з використанням контейнера LIST стандартної бібліотеки шаблонів STL.
Мета: Набуття навичок студентами в розробці программ з використанням контейнера LIST (STL).
Порядок виконання роботи
1. Ознайомитись з теоретичною частиною даної теми.
2. Розробити структуру класу, який використовує дані та методи контейнера LIST стандартної бібліотеки шаблонів STL для обробки даних, що задані в Завданні 1відповідного варіанту.
3. Розробити функції класу, структура якого розроблена в п.2 для виконання Завдання 1.
4. Розробити програму, яка використовує розроблену в п.2,3 шаблонів класів для виконання Завдання 1.
5. Розробити 2-3 теста для перевірки правильності роботи даної програми.
6. Оформити звіт до лабораторної роботи.
Завдання 1
Варіант 1. Задача “Банківське переведення” (дата, час, № рахунку, розмір рахунку).
Варіант 2. Задача “Студент” (прізвище, вік).
Варіант 3. Задача “Медична картка” (прізвище, вага).
Варіант 4. Задача “Результати хімічного досліду” (float, float).
Варіант 5. Задача “Результати хімічного досліду” (час, кількість
речовини).
Варіант 6. Задача “Розклад” (№ рейсу та час відправлення).
Варіант 7. Задача. “Успішність” (предмет, оцінка).
Варіант 8. Задача “Мобільний телефон” (час розмови, кількість грошей, № телефону).
Варіант 9. Задача “Мешканці” (прізвище, № квартири).
Клас повинен містити методи обробки списку:
- вставка;
- сортування по полю;
- сумування;
- видалення.
Варіант 10. Задача “Кабельне телебачення” (кількість каналів, вартість, назва пакету).
Теоретичні відомості Вставити Таблицю !!!!!! Приклад розробки програми
// Templates.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include <stdlib.h>
template <class T>
class List
{
private:
T *v;
int size;
public:
List(int);
T& operator[](int i) {return v[i];}
T& operator=(T * arr) {return arr;}
print_array(void);
sort_array(void);
};
template <class T>
List<T>::List(int n)
{
v = new T[n];
size = n;
}
template <class T>
List<T>::print_array()
{
int i;
for (i=0;i<size;i++)
{
printf (" %d |", v[i]);
}
}
template <class T>
List<T>::sort_array()
{
int i, n=1;
T temp;
while (n<size)
{
for (i=0;i<size-n;i++)
{
if (v[i]>v[i+1])
{
temp = v[i];
v[i]=v[i+1];
v[i+1]=temp;
}
}
n++;
}
}
void main()
{
const num = 10;
int i;
List<int> integer(num);
for (i=0;i<num;i++)
{
integer[i]=(int)(rand()/1000)+60;
}
List<int> character(num);
for (i=0;i<num;i++)
{
character[i]=(char)(rand()/1000)+60;
}
printf("\nInteger before sorting:\n");
integer.print_array();
printf("\nChar before sorting:\n");
character.print_array();
// sorting
integer.sort_array();
character.sort_array();
printf("\nInteger after sorting:\n");
integer.print_array();
printf("\nChar after sorting:\n");
character.print_array();
printf("\ndone\n");