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

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

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

Рік:
2010
Тип роботи:
Звіт
Предмет:
Алгоритмічні мови та програмування

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  Звіт по лабораторній роботі №2 з курсу “АЛГОРИТМІЧНІ МОВИ І ПРОГРАМУВАННЯ ч.2” Підготував: ст. гр. СІ- 12 Семенов О.О. Прийняв: Лагун І. І. Львів-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; } Результат роботи програми При однакових введених даних для трикутників програма визначає що вони рівні:  При різних введених даних трикутників програма визначає що вони різні: 
Антиботан аватар за замовчуванням

28.01.2013 17:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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