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

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

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

Рік:
2009
Тип роботи:
Звіт до лабораторної роботи
Предмет:
Об’єктно-орієнтоване програмування

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

МІНІСТЕРСТВО ОСВІТИ ТА НАУКИ УКРАЇНИ Національний університет “Львівська політехніка” Кафедра САПР ЗВІТ до лабораторноі работи № 1 Особливості мови об’єктно-орiєнтованого програмування С++. з курсу " Методи та засоби об’єктно-орієнтованого проектування " 1. МЕТА РОБОТИ Мета роботи - ознайомлення з особливостями мови об’єктно-орiєнтованого програмування С++. 2. ТЕОРЕТИЧНА ЧАСТИНА 2.1. Основнi вiдмiнностi С++ вiд С. С++ - унiверсальна мова програмування, яка задумана так, щоб зробити програмування бiльш приємним для серйозного програмiста. С++ була розроблена так, щоб дати можливiсть однiй людинi без надмiрних зусиль написати програму в 2500 стрiчок. За базову мову для С++ була вибрана мова С, тому що: вона вiдносно низького рiвня.; вiдповiдає бiльшостi задач системного програмування; вже створено мiльони стрiчок бiблiотечних функцiй i сервiсних програм, написаних на С; iснують сотнi тисяч програмiстiв, якi знають С. До ключових слiв визначених в С у мову С++ дано такі ключовi слова: overload delete friend protected  catch new inline public  try this operator template  throw class private virtual   Основна рiзниця мiж цими мовами полягає у методi побудови програм: мова С - модульна мова i внаслiдок цього парадигма програмування звучить так “Визначте, якi модулi вам потрiбно; розчленiть програму так, щоб данi були захованi в модулях”; мова С++ - об’єктно-орiєнтована мова i внаслiдок цього парадигма програмування звучить так “Визначте, якi класи вам потрiбно; пiдготуйте повний набiр операцiй для кожного класу”. Об’єктно орiєнтоване програмування (ООП) включає в собi найкраще з структурного програмування i, використовуючи новi концепцiї дозволяє програмiсту набагато простiше розбити задачу на пiдзадачi, якi пiддаються керуванню. Цi концепцiї називаються: об’єкти, полiморфiзм, успадкування. Розглянемо їх детальніше. Об’єкти Об’єкт це логiчна одиниця, яка мiстить данi i код, що манiпулює цими даними. Всерединi об’єкту, код i/або данi можуть бути приватнi до об’єкту i недосяжнi будь-де за межами об’єкту. Таким чином об’єкт забезпечує певний рiвень захищеностi вiд iншої частини програми, що може випадково змiнити або некоректно використати цi данi. Об’єкт - це змiнна визначена самим користувачем. Коли ви визначаєте об’єкт ви неявно створюєте новий тип даних. Полiморфiзм ООП пiдримує полiморфiзм який означає що одне iм’я може бути використане для декiлькох зв’язаних, але дещо рiзних застосувань. Наприклад, ви можете мати програму, що визначає три рiзних типу стека. Один стек застосовується для типу integer, iнший для float а наступний для long. Завдяки полiморфiзму ви створюєте три функцiї для стеку push(), pop(), а компiлятор сам вибере потрiбну функцiю в залежностi вiд типу виклику. Успадкування За допомогою успадкування програмiст може виразити iєрархiчну класифiкацiю. Наприклад принтер “Epson LX 1050” є частиною матричних принтерiв, якi в свою чергу є частиною класу принтерiв, який також є частиною ширшого класу оргтехнiка. Без використання класифiкацiї, кожний об’єкт повинен явно визначити всi свої характеристики. З використанням успадкування кожному об’єкту потрiбно визначити тi особливостi, якi властивi саме цьому класу. Завдяки цим механiзмам акценти програмування в С++ змiщенi на проектування класiв, вiдносин мiж ними i лише потiм власне саме кодування. Треба пiдкреслити, що при правильному проектуванню проект легше пiддається контролю, що дозволяє писати великi i складнi проекти за коротший час з коротшим кодом, залучати велику кiлькiсть програмiстiв, вiдносно легко вносити змiни у програму. Це також зменшує кiлькiсть помилок, а отже i вартiсть програмного забезпечення, але водночас мова С++ не звiльняє програмiста вiд кодування i алгоритмiв. Коротко про деякі технічні відмінності у мовах С++ і ANSI C: Операція розширення області видимості (::) В межах класу заміняє глобальні змінні та глобальні функції. Посилання (&) Розглянемо відому функцію swap(), яка служить для обміну значеннями між аргументами. С-програма С++-програма  void swap(int*a, int*b) { int t; t=*a; *a=*b; *b=t; } void swap(int&a, int&b) { int t; t=a; a=b; b=t; }     Приклад наглядно ілюструє застосування операції посилання. Бiблiотечнi функцiї malloc i free є стандартними С - функцiями, які використовують для видiлення i вивiльнення пам’ятi. Робота з пам’ятю в С++ набагато гнучкiша. Два оператора new i delete забезпечують роботу з пам’ятю. Вони автоматично викликаються при створеннi, знищеннi і копіюванні об’єкта без участi програмiста, при умові їх визначення. Зникла необхiднiсть у препроцесорi #define, його з успiхом замiняють inline пiдстановки, та const. Довжина змінних в С може бути до 32 знаків, в С++ на довжину не має обмежень. Приведення до явного типу в С++ у визначених типів може відбуватися двояко. Наприклад: (float) t; float (t); В ANSI С оголошення функцiї funct(void), визначає що виклик функцiї вiдбувається без аргументiв. Це допустимо для С++, але ключове слово void можна опустити без втрати змiсту виклику. В С++ при оголошенннi функцiй написаних на мовi С, додається надпис extern “C”. Наприклад extern “C” puts(const char* s); main() { puts(“hello, world”); } В С++ на відміну від С існує виклик функцій по замовчуванню: Наприклад: int funct (double t = 5.7 ); виклик може відбувається таким чином: int a = funct(); // виклик функції з аргументом t = 5.7 int a = funct(7.8); // виклик функції з аргументом t = 7.8 Змінні в С++ можуть оголошуватись будь-де в програмі Наприклад: for(int i = 0; i < 20; i++) { ... } Робота з потоками. Мова С++ не забезпечує засоби для вводу/виводу. Цього йому і не потрібно: такі засоби легко і елегантно можна створити з допомогою самої мови. Традиційно засоби вводу/виводу розроблялися для невеликого числа вбудованих типів даних. Але, в програмах на С++ як правило використовуються багато типів даних, визначених користувачем і тому потрібно також обробляти ввід і вивід значень цих типів. Очевидно, що засоби вводу/виводу повинні бути простими, зручними, надійними в керуванні, ефективними і гнучкими і до всього іншого повними. С++ містить декілька визначених потоків, що автоматично відкриваються коли починається виконання С++ програми. Це стандартний ввід (cin), стандартний вивід (cout), вивід помилки (cerr). Індивідуальне завдання: Скласти програму на С++, яка дозволяє визначити скільки біт використовується для представлення і діапазон значень типу double. Текст програми: #include "stdafx.h" #include "iostream" #include "conio.h" #include "_DEFS.H" #include "values.h" using namespace std; void main(){ double myVar = 5.55; float size = sizeof(myVar); cout << "byte:" << size <<endl; cout << "bit:" << size*8 <<endl; cout << "min value:" << MINDOUBLE <<endl; cout << "max value:" << MAXDOUBLE <<endl; getch(); } Результат роботи програми:  Висновок: На даній лабораторній роботі я ознайомився з особливостями мови об’єктно-орiєнтованого програмування С++, написав программу, яка дозволяє визначити скільки біт використовується для представлення і діапазон значень типу double.
Антиботан аватар за замовчуванням

20.07.2020 13:07-

Коментарі

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

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

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

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

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

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

Admin

26.02.2023 12:38

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