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

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

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

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

Звіт по лабораторній роботі № 2 з курсу «Алгоритмічні мови і програмування ч. 2»

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

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

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

Рік:
2010
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Алгоритмічні мови та програмування
Група:
СІ-1
Коротко про документ

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

Звіт з лабораторної роботи присвячено програмуванню класів та об'єктів на мові C++. Реалізовано роботу з трикутником, перевантаження операторів та дружні функції.

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

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

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

  1. Завдання
  2. Блок-схема алгоритму
  3. Остаточна версія програми
  4. Результат роботи програми
Для кого:Студенти технічних спеціальностей та викладачі дисципліни програмування.
Викладачі:Лагун І. І.

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

класперевантаження операторівдружня функціятрикутникплощаC++об'єктно-орієнтоване програмування

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  Звіт по лабораторній роботі №2 з курсу “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ ч.2” Семенов О.О. Прийняв: Лагун І. І. Львів-2010 Завдання № п/п Класовий тип Методи класу  21 Трикутник із основою a , висотою h та кутами при основі a1 і a2 Конструктор повинен дозволяти спрощену ініціалізацію прямокутного та рівностороннього трикутників. Визначення площі, визначення периметра. Перевантажити операції ==, <, >, виводу <<, вводу >>, а також дружню операцію /=<тип>.   Блок-схема алгоритму Остаточна версія програми #include <iostream> #include <conio.h> #include <math.h> using namespace std; class Mas { private: float a; float h; float x1; float x2; public: void SetX1(float a); void SetX2(float a); void SetA(float b); void SetH(float a); float GetX1() const; float GetX2() const; float GetA() const; float GetH() const; int operator ==(Mas a2); float Perymetr(Mas); float Ploscha (Mas); friend void operator >>(istream&, Mas &a1); friend void operator <<(ostream&, Mas &a1); friend void operator /= (Mas&, int a); }; //----------------------------------------- float Mas::GetX1() const { return x1; } //----------------------------------------- float Mas::GetX2() const { return x2; } //----------------------------------------- float Mas::GetA() const { return a; } //----------------------------------------- float Mas::GetH() const { return h; } //----------------------------------------- int Mas::operator ==( Mas a2) { Mas a1; if((a1.GetA()*a1.GetH())==(a2.GetH()*a2.GetA())) return 0; else return 1; } //----------------------------------------- void operator <<(ostream &out, Mas &a1) { out << a1.GetA() << " "; out << a1.GetH() << " "; out << a1.GetX1() << " "; out << a1.GetX2() << " "; out << endl; } //----------------------------------------- void operator >>(istream &in, Mas &a1) { int b; float c; printf("Vvedit osnovy\na="); in >> b; a1.SetA(b); printf("Vvedit vusoty\nh="); in >> b; a1.SetH(b); printf("Vvedit kyt 1 "); in >> b; a1.SetX1(b); printf("Vvedit kyt 2 "); in >> b; a1.SetX2(b); } //----------------------------------------- void Mas::SetX1(float b) { x1=b; } //------------------------------------------ void Mas::SetX2(float b) { x2=b; } //------------------------------------------ void Mas::SetH(float b) { h=b; } //------------------------------------------ void Mas::SetA(float b) { a=b; } //------------------------------------------ void operator /= (Mas &x, int a) { x.SetA(x.GetA()/a); x.SetH(x.GetH()/a); x.SetX1(x.GetX1()/a); x.SetX2(x.GetX2()/a); } float Ploscha (Mas t) { return ((t.GetA()*t.GetH())/2); } float Perymetr(Mas t) { return (t.GetA()+t.GetH()*(cos(t.GetX2())+cos(t.GetX2() ))); } int main() { Mas t1,t2; int a; cout << "Vveditj dani trykutnyka : " << endl; cin >> t1; cout << "Perymetr cyogo trykutnyka: " << Perymetr(t1) << endl; cout << "Ploscha cyogo trykutnyka: " << Ploscha(t1) << endl; cout << "Vukorustannya peregryzenogo operatora << dlya ms1 " << endl; cout << t1; cout << endl << "Vukorustannya operatora >> dlya vvedennya danuh v t2" << endl << endl; cout << "Vveditj koordynaty tochok drygogo trykutnyka:" << endl; cin >> t2; cout << endl << "Vu vvelu elementu : "<<endl; cout << t2; cout << endl << "Porivnyajemo t1 ta t2 ... " <<endl; if(Ploscha(t1)==Ploscha(t2)) printf("Trukytnuku rivni!\n"); else printf("Trukytnuku ne rivni!\n"); cout << endl << "Poprobyem dryzhnyu funkciyu /=2 dlya t1 "<<endl; t1/=2; cout << endl << "Teper t1 = "<<endl<<endl; cout << t1; getch(); return 0; } Результат роботи програми При однакових введених даних для трикутників програма визначає що вони рівні:  При різних введених даних трикутників програма визначає що вони різні: 
Допоможи студентському архіву

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

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

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

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

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

Admin

26.02.2023 12:38

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