DevioLabавтоматичне керування капіталом
ПРАЦЮЄ 24/7
КРИПТОВАЛЮТИ · АКЦІЇ · 10 БІРЖ

Портфель, який керується автоматично

DevioLab підбирає стратегії, відстежує ринки та автоматизує купівлю і продаж активів. Кількість доступних криптовалют, акцій і торгових можливостей зростає щодня.

10підключених біржCrypto + Stocksв одному портфелі24/7автоматичний контроль

Лабораторна робота №1 з дисципліни «Об’єктно-орієнтоване програмування» на тему «Оголошення та структура класу»

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Інститут комп’ютерних наук та інформаційних технологій
Факультет:
КН
Кафедра:
Кафедра автоматизованих систем управління

Інформація про роботу

Рік:
2012
Тип роботи:
Лабораторна робота
Предмет:
Об’єктно-орієнтоване програмування
Група:
КН-11
Коротко про документ

Про що ця робота

Звіт до лабораторної роботи №1 з об’єктно-орієнтованого програмування на тему оголошення та структури класу. Робота містить реалізацію класу раціональних чисел (дробів) мовою C++ з базовими арифметичними операціями.

У роботі розглядаються

  • Об'єктно-орієнтоване програмування
  • Класи та об'єкти
  • Мова програмування C++
  • Конструктори та деструктори
  • Арифметичні операції з дробами
  • Перевантаження та методи класів

Зміст і розділи

  1. Мета роботи
  2. Послідовність роботи
  3. Текст індивідуального завдання
  4. Текст програми
  5. Реалізації програми
  6. Висновок
Для кого:Студенти технічних спеціальностей вищих навчальних закладів, що вивчають об'єктно-орієнтоване програмування.
Викладачі:Викладач кафедри АСУ

Ключові поняття

класоб'єктінтегроване середовищеC++раціональне числодрібметоди класуіндивідуальне завдання

Частина тексту файла (без зображень, графіків і формул):

Міністерство освіти і науки, молоді та спорту України НУ «ЛП» Кафедра АСУ Лабораторна робота №1 із об’єктно-орієнтованого програмування не тему: “Оголошення та структура класу” Львів 2012 Мета роботи: ознайомитись з основними компонентами інтегрованого середовища програмування, навчитись створювати, відлагоджувати і виконувати програмні проекти; вивчити оголошення класу та рівні захисту його елементів. Послідовність роботи: Ознайомитись зі складом та режимами роботи обраного інтегрованого середовища. Ознайомитись зі структурою програми мовою С++. Побудувати та виконати програмний проект мовою С++. Ознайомитись з особливостями оголошення класу та його об’єктів. Відповідно до завдання написати програму мовою С++ та реалізувати її на комп’ютері. Оформити звіт про роботу. Текст індивідуального завдання: Створити клас – дріб (раціональне число, що є відношенням двох цілих чисел). Визначити конструктор, деструктор, функції додавання, віднімання, множення і ділення дробів. Текст програми #include <iostream> using namespace std; class frac { int num; int den; int gcd(int a, int b) { return (!b) ? a : gcd(b, a % b); } public: frac() { num=den=1; } frac(int a, int b) { num=a; den=b; } int GetNum() { return num; } int GetDen() { return den; } double GetRes() { return double(num)/den; } void SetNum(int a) { num=a; } void SetDen(int a) { den=a; } frac Add(frac obj); frac Sub(frac obj); frac Mul(frac obj); frac Div(frac obj); }; frac frac::Add(frac obj) { int a=num*obj.den+obj.num*den, b=den*obj.den; int n=(a>b)?gcd(a,b):gcd(b,a); frac obj1(a/n,b/n); return obj1; } frac frac::Sub(frac obj) { int a=num*obj.den-obj.num*den, b=den*obj.den; int n=abs((a>b)?gcd(a,b):gcd(b,a)); frac obj1(a/n,b/n); return obj1; } frac frac::Mul(frac obj) { int a=num*obj.num, b=den*obj.den; int n=(a>b)?gcd(a,b):gcd(b,a); frac obj1(a/n,b/n); return obj1; } frac frac::Div(frac obj) { int a=num*obj.den, b=den*obj.num; int n=(a>b)?gcd(a,b):gcd(b,a); frac obj1(a/n,b/n); return obj1; } int main() { int a, b; cout <<"a/b = "; cin >> a >> b; frac obj1(a,b); cout <<"d/c = "; cin >> a >> b; frac obj2(a,b); frac sum=obj1.Add(obj2), riz=obj1.Sub(obj2), dob=obj1.Mul(obj2), chs=obj1.Div(obj2); cout <<obj1.GetNum()<<"/"<<obj1.GetDen()<<" + "<<obj2.GetNum()<<"/"<<obj2.GetDen(); cout <<" = "<<sum.GetNum()<<"/"<<sum.GetDen()<<" = "<<sum.GetRes()<<endl; cout <<obj1.GetNum()<<"/"<<obj1.GetDen()<<" - "<<obj2.GetNum()<<"/"<<obj2.GetDen(); cout <<" = "<<riz.GetNum()<<"/"<<riz.GetDen()<<" = "<<riz.GetRes()<<endl; cout <<obj1.GetNum()<<"/"<<obj1.GetDen()<<" * "<<obj2.GetNum()<<"/"<<obj2.GetDen(); cout <<" = "<<dob.GetNum()<<"/"<<dob.GetDen()<<" = "<<dob.GetRes()<<endl; cout <<obj1.GetNum()<<"/"<<obj1.GetDen()<<" / "<<obj2.GetNum()<<"/"<<obj2.GetDen(); cout <<" = "<<chs.GetNum()<<"/"<<chs.GetDen()<<" = "<<chs.GetRes()<<endl; system("PAUSE"); return 0; } Реалізації програми Реалізація 1:  Реалізація 2:  Висновок: під час виконання цієї лабораторної роботи я ознайомився із поняттям класу, освоїв середовище компілятора DevC++ та реалізував на практиці програму, яка описує клас – дріб з функціями додавання, віднімання, ділення та множення дробів.
Допоможи студентському архіву

Ми допомогли тобі — допоможи наступному студенту

Файл ще не обрано

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!