
- •Лабораторна робота №1
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Теоретичні відомості Масиви динамічної пам'яті
- •Приклад виконання завдання 1
- •Лістинг програми
- •Приклад виконання завдання 2
- •Лістинг програми
- •Приклад виконання завдання 3
- •Лістинг програми
- •Контрольні запитання
- •Лабораторна робота №2
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Читання і запис текстових файлів
- •Читання і запис бінарних файлів
- •Відкриття бінарних файлів
- •Файли з послідовним доступом
- •Запис даних у файл з послідовним доступом
- •Файли з довільним доступом
- •Приклад виконання завдання 1
- •Приклад виконання завдання 2
- •Контрольні запитання
- •Лабораторна робота №3
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Завдання 3
- •Теоретичні відомості
- •Обмеження доступу до членів класу
- •Специфікатори доступу
- •Вбудовані функції-члени
- •Приклад виконання завдання 1.
- •Приклад виконання завдання 2.
- •Приклад виконання завдання 3.
- •Контрольні запитання
- •Лабораторна робота №4
- •Порядок виконання роботи
- •Завдання 2
- •Теоретичні відомості Конструктори і деструктори
- •Правила роботи з конструкторами і деструкторами
- •Варіант 10. Розробити описовий алгоритм, схему алгоритму і написати метод для підрахування кількості слів в текстовому файлі.
- •Приклад виконання завдання 2
- •Контрольні запитання
- •Лабораторна робота №5
- •Порядок виконання роботи
- •Завдання 1
- •Завдання 2
- •Теоретичні відомості Принципи спадкування в ооп
- •Оголошення похідних класів
- •Конструктори похідного класу
- •Функції члени похідного класу
- •Заборонені члени класу (Protected)
- •Приклад виконання Завдання 1
- •Контрольні запитання
- •Лабораторна робота №6
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Перевантаження операторів
- •Приклад виконання завдання 1
- •Приклад виконання завдання 2
- •Приклад виконання завдання 3
- •Приклад виконання завдання 4
- •Контрольні запитання
- •Лабораторна робота №7
- •Порядок виконання роботи
- •Завдання 1.
- •Завдання 2.
- •Теоретичні відомості
- •Структура наслідування класів
- •Постановка задачі
- •Розробити клас трикутника, чотирикутника, кола, точки
- •Контрольні запитання
- •Лабораторна робота №8
- •Порядок виконання роботи
- •Завдання 1
- •Контрольні запитання
- •Лабораторна робота №9
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Множинне спадкування
- •Контрольні запитання
- •Лабораторна робота №10
- •Порядок виконання роботи
- •Завдання 1
- •Теоретичні відомості Шаблони
- •Параметризовані класи
- •Визначені об’єкти-потоки
- •Операції поміщення та вилучення
- •Приклад виконання Завдання з варіанту 2
- •Контрольні запитання.
- •Лабораторна робота №11
- •Порядок виконання
- •Завдання 1
- •Завдання 2
- •Завдання 3 Варіант 1. Задача “Банківське переведення” (дата, час, № рахунку, розмір рахунку).
- •Ітератори
- •Для роботи з вектором необхідно:
- •Приклад роботи з вектором
- •Алгоритми
- •Застосування алгоритмів до вектора
- •Приклад 1 виконання Завдання 1
- •Приклад 2 виконання Завдання 2
- •Приклад 3 виконання завдання №3
- •Контрольні запитання
- •Завдання 1
- •Теоретичні відомості Приклад розробки програми
- •Контрольні запитання
- •Лабораторна робота №13
- •Порядок виконання
- •Завдання 2.
- •Теоретичні відомості
- •Стандартні потоки для базових класів
- •Форматування даних при обмінах з потоками
- •Маніпулятори
- •Приклад розробки програми
- •Контрольні запитання
- •Лабораторна робота №14
- •Порядок виконання
- •Завдання
- •Теоретичні відомості
- •Контрольні запитання
Приклад виконання завдання 3.
Варіант 2. Розробити метод (функцію) визначення члена кратного 7 і метод, що використовує цю функцію для визначення кількості і суми елементів даного одномірного динамічного масиву, кратних 7.
Дана програма буде складатися з одного класу, що містить конструктор – для виділення пам’яті під масив, деструктора – для звільнення пам'яті, функцію вводу даних, функцію для знаходження елементів кратних 7 і функцію для виводу результатів на екран.
Клас буде мати наступну структуру:
class CKratn_7{
float *masiv;
int kol;
int i,j;
int k,s;
public:
CKratn_7();
~CKratn_7();
void Vvod();
void Kratn_7();
void Print();
};
Лістинг програми:
#include<stdio.h>
#include<iostream.h>
#include<conio.h>
#include<malloc.h>
#include<math.h>
class CKratn_7{
float *masiv;
int kol;
int i,j;
int k,s;
public:
CKratn_7();
~CKratn_7();
void Vvod();
void Kratn_7();
void Print();
};
CKratn_7::CKratn_7()
{
cout<<"vvedite kilkist elementov masiva\nk= ";
cin>>k;
masiv=new float[k];
}
CKratn_7::~CKratn_7()
{
free(masiv);
}
void CKratn_7::Vvod()
{
cout <<"vvedite element masiva\n";
for(i=0;i<k;i++)
{
cout<<"a["<<i<<"]=";
cin >>masiv[i];
}
}
void CKratn_7::Kratn_7()
{
j=0;
for(i=0;i<k;i++)
if(fmod(masiv[i],7)==0)
{
masiv[j]=masiv[i];
j++;
}
}
void CKratn_7::Print()
{
s=0;
cout<<"\nelement kratny 7\n";
for(i=0;i<j;i++)
{
s=s+masiv[i];
cout<<"\na["<<i<<"]="<<masiv[i];
}
cout<<"\n\nsuma="<<s;
cout<<"\nkolichestvo elementov kratnih 7="<<j;
}
void main()
{
clrscr();
CKratn_7 obj;
obj.Vvod();
obj.Kratn_7();
obj.Print();
getch();
}
Тестування:
Для перевірки правильності роботи програми введемо в неї дані при введені, яких результат заздалегідь відомий.
Наприклад сформуємо масив з 8 елементів такого виду:
21 -63 1 5 15 7 49 40
З введених даних наочно видно, що кратними 7 є 1,2,6 і 7 елемент.
Сума їх =14. Кількість 4.
Тепер введемо ці ж дані в програму і перевіримо результат.
vvedite kilkist elementov masiva
k= 8
vvedite element masiva
a[0]=21
a[1]=-63
a[2]=1
a[3]=5
a[4]=15
a[5]=7
a[6]=49
a[7]=40
element kratny 7
a[0]=21
a[1]=-63
a[2]=7
a[3]=49
suma=14
kolichestvo elementov kratnih 7= 4
Контрольні запитання
Що таке клас?
Формат типу CLASS.
Для чого використовують інкапсуляцію?
Специфікатори доступу.
Як описуються функції-члени класу?
Що таке екземпляр класу?
Що відносять до даних-членів класу?
Як здійснюється ініціалізація даних-членів класу?
Які специфікатори доступу використовують для даних-членів класу?
Що таке об’єкт класу?
Наведіть приклад об’єкту класу.
Вкажіть способи опису класів.
Що таке закриті члени класу?
Що таке відкриті члени класу?
Як організувати доступ до закритих членів класу?
Як задати початкові значення даним-членам класу (всі способи)?
Скільки об'єктів класу може бути використано в програмі, яка застосовує клас?
Лабораторна робота №4
Тема: Розробка програм з використанням класів з конструктором і деструктором.
Мета: Набуття навиків в проектуванні найпростіших класів, розробка найпростіших програм їх використання.