DevioLab CRYPTO TRADING AUTOMATION
LIVE
AUTOMATED CRYPTO TRADING • BINANCE
Автоматизуйте свій криптопортфель
Торгові боти DevioLab аналізують крипторинок, автоматично відкривають і закривають позиції та керують вашим портфелем на Binance 24/7.
CRYPTO 80 Bots
BINANCE Spot Trading
TRADING 24 / 7
Спробувати DevioLab
deviolab.com

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

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

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

Рік:
2013
Тип роботи:
Лекція
Предмет:
Об’єктно-орієнтоване програмування

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

Міністерство освіти та науки України НУ „Львівська політехніка” Лекція №2 з курсу: «Застосування засобів об’єктно-орієнтованого програмування в лінгвістичних задачах» Львів - 2010 1.6. Основні положення об’єктної моделі Методи структурного проектування допомогає зпростити процес розробки складних систем за рахунок використання алгоритмів як готових будівельних блоків. Аналогічно, методи об’єктно-орієнтованого проектування створенні, щоб допомогти розробникам застосовувати потужні засоби об’єктного і об’єктно-орієнтованого програмування, що використовує в якості блоків класи и об’єкти. Але в об’єктній моделі відображається і множина іншіх факторів. Як показано нижче, об’єктний підхід зарекомендували себе як уніфікуюча ідея всієї компьютерної науки, що використовується не тільки в програмуванні, але також в проектуванні інтерфейса користувача, баз даних і навіть архітектури компьютерів. Причина такой широти в тому, що орієнтація на объекти дозволяє нам справлятися з складністю систем самой разної природи. Об’єктно-орієнтований аналіз і проектування відображають эволюційне, а не революційний развиток проектування; нова методологія не пориває з попередніми методами, а будується з врахуванням попереднього досвіду. 2. Етапи розробки ПЗ 2.1. Об’єктно-орієнтоване програмування. Що таке об’єктне-орієнтоване програмування (object-oriented programming, OOP)? Ми визначаємо його наступним чином: Об’єктно-орієтоване програмування - це методологія програмування, яка базується на представленні програми у вигляді сукупності об’єктів, кожен з яких є екземпляром визначеного класу, а класи утворюють ієрархію спадкування. В даному визначенні можна виділити три частини: 1) OOП використовує в якості базових елементів об’єкти, а не алгоритми; 2) кожен об’єкт є екземпляром деякого визначеного класу; 3) класи організовані ієрархічно. Програма буде об’єктно-орієнтованою тільки при дотриманні всіх трьох вказаних вимог. Програмування, яке не базується на ієрархічних відносинах, не відноситься до OOП, а називаеться програмуванням на основі абстрактних типів даних. У відповідності з цим визначенням не всі мови програмування є об’єктно-орієнтованими. Теоретично можлива можлива імітація об’єктно- орієнтованого програмування на звичайних мовах, таких, як Pascal і навіть COBOL або асемблер, але досить важко. Можна сказати що: "мова програмування є об’єктно-орієнтованою тільки тоді, коли виконуються наступні умови: • Підтримуються об’єкти, абстракції даних, що мають інтерфейс у вигляді операцій з іменами і власні дані, з обмеженням доступу до них. • Об’єкти відносяться до відповідних типів (класам). • Типи (класи) можут спадковувати атрибути супертипів (суперкласів)". 2.2. Об’єктно-орієнтоване проектування. Програмування насамперед розуміється як правильне і ефективне використання механізмів конкретних мов програмування. Проектування, навпаки, основна увага приділяється правильному і эфективному структуруванню складних систем. Ми визначаемо об’єктно-орієнтоване проектування наступним чином: Об’єктно-орієнтоване проектування - це методологія проектування, яка об’єднує в собі процес об’єктної декомпозиції і прийоми представлення логічної і фізичної, а також статичної і динамічної моделей системи що проектується. В даному визначені є дві важливі частини: об’єктно-орієнтоване проектування 1) базується на об’єктно-орієнтваній декомпозиції; 2) використовується різноманіття прийомів представленя моделей, які відображають логічну (класи і об’єкти) і физичну (модулі и процеси) структуру системи, а також її статичні і динамічні аспекти. Саме об’єктно-орієнтована декомпозиція відрізняє об’єктно-орієнтоване проектування від структурного; в першому випадку логічна структура системи відображається абстракціями у вигляді класів і об’єктів, в другому - алгоритмами. Для ОО проектування використовується абревіатура OOD (object-oriented design), для позначення метода об’єктно-орієтованого проектування. 2.3. Об’єктно-орієнтований аналіз. На об’єктну модель вплинула більш ранішня модель життєвого циклу програмного забезпечення. Об’єктно-орієнтований анализ (або OOA, object-oriented analysis) направлений на створення моделей реальної дійсності на основі об’єктно-орієтованого світогляду. Об’єктно-орієнтований аналіз - це методологія, при якій вимоги до системи сприймаються з точки зору класів і об’єктів, які визначаються (выявленных) в предметній області. OOA(Object-oriented analysis) OOD(Object-oriented design) OOP(Object-oriented programming) Як співвідносяться ООА, OOD и OOP? На результатах ООА формується моделі, на яких базуються OOD; OOD в свою чергу створює фундамент для остаточної реализації системи з використання методології OOP. 2.4. Складові частини об’єктного підходу Парадігми програмування Існує п’ять основних різновидів стиля програмування, які перераховані нижче разом з видами абстракцій: • процедурно-орієнтовані Алгоритми • об’єктно-орієнтовані класи і об’єкти • логіко-орієнтовані мета, часто представлена в термінах обчисленя предикатів • орієнтований на правила правила "якщо-то" • орієнтовани на обмеження інваріантні співвідношення Кожен стиль програмування має свою концептуальну базу. Кожен стиль вимагає свого способа сприйняття задачі що вирішується. Для об’єктно- орієнтованого стиля концептуальна база - це об’єктна модель. Вона має чотири головних елемента: • абстрагування; • інкапсуляція; • модульність; • ієрархія. Ці елементи є головними в тому розумінні, що без будь якого з них модель не буде об’єктно-орієнтованою. Окрім головних, є ще три додаткових елементи: • типизація; • паралелізм; • сохраняемость. Називаючи їх додатковими, ми маємо на увазі, що вони корисні в об’єктній моделі, але не є обов’язковими. 2.4.0. Структура проекта в середовиші Delphi Проект - сукупність файлів з яких Delphi створює програму для виконання. В склад кожного проекту обов’язково входять: Файл проекту - *.dpr *.dfm, *.pas, *.res, *.cfg, *.dof, *.dcu ФормаФормаОписОписМодульМодульМодульМодульПараметриПроектРесурсиЗастосуванняКомпіляція(сборка) *.pas*.pas*.pas*.pas*.dfmProject1.dpr*.res*.dfm*.cfg Рис.2.4. Зв’язок між файлами проекту. 2.4.1. Головний модуль - *.dpr В головному модулі містяться інструкції, які забезчують запуск(виконання) програми. В якості прикладу в лістінгу наведемо головний текст файла головного модуля нашої програми(файл буде створений, як тільки ми виконаємо збереження проекту) Лістінг 2.4.1 program Project1; uses Forms, Unit1 in ‘Unit1.pas’ {Form1}; {$R *.res} begin Application.Initialize; Application.CreateForm(TForm1, Form1); Application.Run; end. В заголовку модуля вказано ім’я програми, далі йдуть команди, які містять інформацію про те, що (які модулі) знадобляться компілятору Delphi для створення кінцевого exe – файлу. 2.4.2. Модуль форми - *.dfm Модуль форми містить тільки інформацію про її налаштування і компонентах які на ній присутні. Модуль форми формується автоматично при виконанні налаштування форми, перенесені на неї і настойки компонентів. При цьому необхідно знати де зберігаються процедури обробки подій для цих компонентів. Процедури обробки подій зберігаються в файлі реалізації. В лістінгу наведений текст модуля форми програми яку розглядаємо. Лістінг 2.4.2 Модуль форми програми object Form1: TForm1 Left = О Top = О Borderlcons = [biSystemMenu, biMinimize] BorderStyle = bsSingle Caption = #1042#1099#1095#1080#1089#1083#1077#1085#1080#1077' '#1082#1086#1088#1085#1077#1081' #1082#1074#1072#1076#1088#1072#1090#1085#1086#1075#1086' #1091#1088#1072#1074#1085#1077#1085#1080#1103 ClientHeight = 152 ClientWidth = 386 Color = clBtnFace - Font.Charset = RUSSIAN_CHARSET Font.Color = clWindowText Font.Height = -11 Font.Name = 'MS Sans Serif Font.Style = [] OldCreateOrder = False Position = poScreenCenter PixelsPerlnch = 96 TextHeight = 13 object Label1: TLabel Left = 24 Тор = 16 Width = 299 Height = 13 Caption = #1042#1074#1077#1076#1080#1090#10771 '#1079#1085#1072#1095#1077#1085#1080#1103' '#1082#1086#1101#1092#1092#1080#1094#1080#1077#1085#1090#1086#1074' 1 #1082#1074#1072#1076#1088#1072 #1090 #1085 #1086 #1075#1086' '#1091#1088#1072#1074#1085#1077#1085#1080#1103 end object Label2: TLabel Left = 24 Top = 55 Width = 10 Height = 13 Caption = 'A:' end object Label3:.TLabel Left = 24 Top = 83 Width =10 Height = 13 Caption = 'B:' end object Label4: TLabel Left = 24 Top = 111 Width = 10 Height =13 Caption = 'C:' end object Label5: TLabel Left = 104 Top = 48 Width = 120 Height = 80 AutoSize = False Wordwrap = True end object Editl: TEdit Left = 40 Top = 48 Width =48 Height = 21 TabOrder = О end object Edit2: TEdit Left = 40 Top =76 Width = 48 Height =21 TabOrder = 1 end object Edit3: TEdit Left = 40 Top = 104 Width = 48 Height = 21 TabOrder = 2 end object Buttonl: TButton Left = 240 Top =48 Width = 120 Height = 32 Caption = #1042#1099#1095#1080#1089#1083#1080#1090#1100 TabOrder = 3 OnClick = ButtonlClick end object Button2: TButton Left = 240 Top = 96 Width = 120 Height =32 Caption = #1047#1072#1074#1077#1088#1096#1077#1085#1080#1077' #1088#1072#1073#1086#1090#1099 TabOrder = 4 end end 2.4.3. Модуль реализации - *.pas В модулі реалізації міститься інформація тілько про присутні на формі компоненти і процедури обробки подій на цих компонентах. Модуль форми можна умовно розділити разділити на дві частини - секцію опису і власне розділ реалізації. Секція опису (починається з службового слова interface) містить автоматично зформоване Delphi – оголошення типа форми. Цей розділ також містить перелік компонентів, які знаходяться на формі. Секція реалізації починається з службового слова implementation. Вона містить оголошення локальних процедур і функцій, в тому числі і процедур обробки подій. Розглянемо текст модуля реалізації проекта для Windows. Лістінг 2.4.3 Текст модуля реалізації unit Unit1; interface {В цьому розділі описується взаємодія даного модуля з іншими користувацькими і стандартними модулями, а також з головною програмою. Іншими словами – взаємодія модуля з зовнішнім світом} uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; { В цьому списку через коми перераховуються ідентифікатори модулів, інформація інтерфейсних частин яких повинна бути доступна в даному модулі } type TForml = class(TForm) Editl: TEdit; Edit2: TEdit; Edit3: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Button1: TButton; Button2: TButton; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Implementation { В цьому розділі вказується реалізаційна частина опису даного модуля, яка недоступна для інших модулів і програм} {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var А,В,С:single; D:real; XI,Х2:real; begin // Введення початкових даних. A: =StrToInt(Edit1.Text); B:=StrToInt(Edit2.Text); C:FStrToInt(Edit3.Text); // Обчислення дискримінанта. . . D:=B*B-4*A*C; if D<0 then // Якщо дискримінант від’ємний, то виводиться повідомлення //про те, що рівняння немає коренів. begin Label5.Caption:='Рівняння немає дійсних коренів'; end // Якщо дискримінант більше або дорівнює 0, то // обчислюємо корені рівняння. else begin X1:=(-B-sgrt(D))/(2*A); X2:=(-B+sqrt(D))/(2*А); // Виводимо розрахованне значення коренів. Label5.Caption:='X1 = '+FloatToStr(XI)+ Chr(13)+ // Перевід на наступну стрічку. ‘Х2 = '+FloatToStr(X2); end; end; procedure TForm1.Button2Click(Sender: TObject); begin Close; end; end. Питання: Література: 1. Архангельский А.Я. Программирование в Delphi. Учебник по классическим версиям Delphi. 2006 г. - 1152 с. 2. Архангельский А.Я. Delphi 2006. Справочное пособие: язык Delphi, классы, функции Win32 и .NET, 2006 г. - 1152 с. 3. Архангельский А.Я. Приемы программирования в Delphi на основе VCL, 2006 г. - 944 с. 4. Архангельский А.Я. Программирование в Delphi для Windows. Версии 2006, 2007, Turbo Delphi, 2007 г. - 1248 с.
Антиботан аватар за замовчуванням

17.02.2013 23:22

Коментарі

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

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

Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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