Производственная (технологическая) практика - отчет
Оценка 4.7

Производственная (технологическая) практика - отчет

Оценка 4.7
doc
09.04.2022
Производственная (технологическая) практика - отчет
практика.doc

СОДЕРЖАНИЕ

 

1. Актуальность темы диссертационного исследования………………

4

2. Основные определения и положения в магистерской диссертации..

6

3. Дерево целей…………………………………………………………..

9

4. Метод анализа иерархий………………………………………..…….

11

5. Описание исследований и результатов…………….……………..…

20

Выводы…………………………………………………………..……….

25

Список использованных источников…………………………..….……

27

Приложение 1………………………………………………………...…..

32

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

СПИСОК УСЛОВНЫХ СОКРАЩЕНИЙ

 

ПК

– персональный компьютер;

ЭВМ

– электронно-вычислительная машина;

ИТ

– информационные технологии;

ИС

– информационные системы;

СИПИМ

– Стахановский инженерно-педагогический институт менеджмента;

МАИ

– метод анализа иерархий;

ЯВУ

– язык высокого уровня;

ООП

– объектно-ориентированное программирование;

СУБД

– система управления базами данных;

АСУ

– автоматизированные системы управления;

ПО

– программное обеспечение;

ООПТРПО

– объектно-ориентированное программирование и технологии разработки программного обеспечения;

VB.NET

Visual Basic.Net.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. АКТУАЛЬНОСТЬ ТЕМЫ ДИССЕРТАЦИОННОГО ИССЛЕДОВАНИЯ

 

Объектно-ориентированное программирование (ООП) – парадигма программирования, где реализация программного продукта осуществляется за счёт оперирования иерархиями классов и объектов, базируется на таких подходах, как полиморфизм, инкапсуляция, абстракция и наследование [1].

ООП используется при написании операционных систем, СУБД, компиляторов, драйверов, множества прикладных программ. Например, браузеры, пакет Microsoft Office, графические редакторы Adobe Photoshop и Illustrator – продукты объектно-ориентированного программирования [2].

Сегодня достаточно часто для разработки сайтов, приложений используются объектно-ориентированные языки. Многие программисты при создании сайтов используют лишь возможности ООП, например, инкапсуляцию данных. Безусловно, такое применение ООП делает код более качественным. Применяя другие принципы ООП можно добиться большего эффекта. Например, применение полиморфизма и наследования позволяет значительно сократить код, одновременно делая его более надежным [3].

Объектно-ориентированное программирование применяется для проектирования любых математических или имитационных моделей. Однако в большинстве таких средств объектно-ориентированным является только внешнее представление элементов модели, которое перед началом расчётов компилируется в код процедурно-ориентированного языка программирования или просто преобразуется в параметры готового кода.

Такой подход решает часть проблем стандартных моделей, связанных с их недостаточной наглядностью и с негибкостью по отношению к изменениям структуры. В частности, в моделях появляются чётко ограниченные блоки, которые можно быстро удалять, добавлять и использовать в совершенно других моделях [4].

Среда программирования Delphi, построена на основе теории объектно-ориентированного программирования. Это означает, что функциональность приложения определяется набором взаимосвязанных задач, каждая из которых становится самостоятельным объектом [5].

В Delphi можно составлять проекты для задач любого типа:  расчетные задачи, задачи работы с файлами, обработка баз данных, и другие. Наиболее эффектными и интересными являются задачи моделирования различных логических игр  [6].

С помощью Delphi создаются программы самых разных классов, например: Total Commander или System Mechanic, а также сложные автоматизированные системы управления (АСУ) предприятий и банков, например, бухгалтерский пакет «Анжелика», экономическая платформа «Гедимин» [7].

На сегодня существует множество известных программ, написанных в Delphi с применением объектно-ориентированного подхода, среди них:  

– программы мгновенного обмена сообщениями: Skype (до покупки Microsoft), QIP 2012, R&Q, The Bat!, PopTray, FeedDemon, MyChat;

видео- и аудиопроигрыватели: Light Alloy, The KMPlayer, AIMP, X-Amp;

– программы для сжатия данных: PowerArchiver, ALZip, IZArc;

– учёт и налогообложение: Меркурий-ERP, Бюджет 21, Парус, AVARDA (до версии 6.x включительно), r_keeper, Traider Alpha, Tillypad;

– администрирование и разработка баз данных: MySQL Tools, IBExpert, Open Server, EMS SQL Manager for MySQL;

текстовые редакторы: Sublimetext, Bred (до версии Bred 3), Notepad GNU, BirEdit, PSPad;

– программы для создания музыки: Guitar Pro (до версии 6.0), FL Studio;

компьютерные игры: Venom. Codename: Outbreak, Space Empires V, Age of Wonders, Космические рейнджеры [8].

2. ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ И ПОЛОЖЕНИЯ В МАГИСТЕРСКОЙ ДИССЕРТАЦИИ

 

Разработка программного обеспечения – деятельность по созданию нового программного обеспечения [9].

Трансляция программы – преобразование программы, представленной на одном из языков программирования, в программу на другом языке [10].

Транслятор – программа, предназначенная для преобразования кода между языками программирования, обычно выполняющая также диагностику ошибок, формирование словарей идентификаторов и прочее [10].

Компилятор – это транслятор, который осуществляет перевод исходной программы в эквивалентную ей объектную программу на языке машинных команд или языке ассемблера [11].

Компиляция – трансляция программы, составленной на исходном языке высокого уровня, в эквивалентную программу на низкоуровневом языке, близком машинному коду [11].

Delphi- это: 1) среда разработки программ, ориентированных на работу в операционных системах семейства Windows;  2) объектно-ориентированный язык высокого уровня [12].

C# - современный объектно-ориентированный и типобезопасный язык программирования, являющийся языком разработки приложений для платформы Microsoft .NET Framework [13].

Многоугольник – геометрическая фигура, обычно определяемая как часть плоскости, ограниченная замкнутой ломаной линией [14].

Триангуляция – разбиение сложного геометрического объекта на более простые [15].

Объектно-ориентированное программирование – технология программирования, при которой программа рассматривается как набор объектов, содержащих, в свою очередь, наборы структур данных и процедур, взаимодействующих с другими объектами [16].

Объект – программный модуль,  объединяющий в себе данные (свойства) и операции над ними (методы) [17].

Класс – множество объектов, которые обладают одинаковой структурой, поведением и отношением с объектами из других классов [17].

Инкапсуляция - сокрытие внутренней структуры данных и реализации методов объекта от остальной программы [18].

Наследование – свойство объекта, заключающееся в том, что характеристики одного объекта (объекта-предка) могут передаваться другому объекту (объекту-потомку) без их повторного описания [19].

Полиморфизм – способность объекта выбирать правильный метод в зависимости от типа данных, полученных в сообщении [20].

Абстракция – процесс изменения уровня детализации программы [20].

Диаграмма классов – методология объектно-ориентированного проектирования, предназначенная для представления статической структуры модели системы в терминологии классов объектно-ориентированного программирования [21].

Экземпляр объекта – конкретный объект из набора объектов данного класса [22].

Тип данных – определение области допустимых значений, которые может принимать объект, и множества операций, которые могут выполняться над объектом [23].

Среда разработки  – набор классов, предоставляющих некоторые базовые услуги в определенной области [24].

Событие – член класса, позволяющий классу или объекту класса послать другим объектам сообщение об изменении своего состояния, или получении сообщения от других объектов [25].

Реализация – внутреннее представление класса, объекта или модуля, включая секреты его поведения [26].

Объектно-ориентированное проектирование – методология проектирования, соединяющая процесс объектно-ориентированной декомпозиции и систему обозначений для представления логической и физической, статической и динамической моделей проектируемой системы [26].

Объектная модель – совокупность основополагающих принципов, лежащих в основе объектно-ориентированного проектирования [27].

Модуль – программный блок, который содержит объявления, выраженные в соответствии с требованиями языка и образующие физическую реализацию части или всех классов и объектов логического проекта системы [28].

Конструктор – операция, создающая объект и/или инициализирующая его состояние [29].

Деструктор – специальный метод класса, служащий для деинициализации объекта (например, освобождения памяти) [29].

Интерфейс пользователя – форма с элементами управления [30].

Форма – это важнейший визуальный компонент, который представляет собой видимое окно Windows [30].

Атрибут – поименованное свойство класса, определяющее диапазон допустимых значений, которые могут принимать экземпляры данного свойства [31].

Устойчивость – способность объекта сохранять свое существование во времени и/или пространстве (адресном, в частности при перемещении между узлами вычислительной системы) [32].

Приложение  (прикладное программное обеспечение) – это программы для обработки информации без использования программирования [33].

Проанализированы основные определения, связанные с магистерской диссертацией, а также структурированы по мере разработки программного обеспечения.

 

3. ДЕРЕВО ЦЕЛЕЙ ИССЛЕДОВАНИЯ

 

Дерево целей – это структурированная, построенная по иерархическому принципу (распределенная по уровням, ранжированная) совокупность целей системы, в которой выделены генеральная цель («вершина дерева»); подчиненные ей подцели первого, второго и последующего уровней («ветви дерева»). Термин «дерево» предполагает использование иерархической структуры (от старшей к младшей), полученной путем разделения общей цели на подцели. Название «дерево целей» связано с тем, что схематически представленная совокупность распределенных по уровням целей напоминает по виду перевернутое дерево. Концепция «дерева целей» впервые была предложена Чарльзом Черчменом и Расселом Акоффом  в 1957году. Дерево целей  позволяет выявить, какие возможные комбинации обеспечат наилучшую отдачу [35].

Специальный вид дерева, в котором одна или несколько вершин соответствуют целям, а остальные вершины подцелями этих целей. Дуги показывают, как декомпозируются цели в подцелях.

Метод дерева целей ориентирован на получение относительно устойчивой структуры целей, проблем, направлений. Этот метод широко применяется для прогнозирования возможных направлений развития науки, техники, технологий, а также для составления личных целей, профессиональных, целей любой компании.

Один из основных принципов построения дерева целей – каждая цель данного уровня должна быть представлена в виде подцелей следующего уровня таким образом, чтобы их совокупность полностью определяла понятие исходной цели. Исключение хотя бы одной подцели лишает полноты или меняет само понятие исходной цели [36].

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


Рисунок 3.1 – Дерево целей

Результатом применения дерева целей является создание программы для вычисления площади многоугольника, дидактический проект по теме: «Разработка проекта с использованием ООП в Delphi», составление заявки для получения патента на программу для ЭВМ.

4. МЕТОД АНАЛИЗА ИЕРАРХИЙ

 

Метод Саати - это особый способ системного анализа. Также этот способ направлен на помощь в принятии решений. Метод анализа иерархий Томаса Саати является крайне популярным в криминалистике, особенно на Западе, бизнесе, государственном управлении. Также его часто называют методом анализа иерархий (МАИ).

Ценность метода Саати признана в развитых и развивающихся странах по всему миру. Например, в Китае было опубликовано более 900 статей по этому вопросу, также существует китайский научный журнал, посвященный исключительно методу анализа иерархий Саати [37].

Метод анализа иерархий является систематической процедурой для иерархического представления элементов, определяющих суть проблемы. Метод состоит в декомпозиции проблемы на все более простые составляющие части и дальнейшей обработке последовательности суждений лица, принимающего решения, по парным сравнениям [38].  

В МАИ основная цель исследования и все факторы, в той или иной степени, влияющие на достижение цели, распределяются по уровням в зависимости от степени и характера влияния [39].

На первом уровне иерархии всегда находится одна вершина – цель проводимого исследования.

Второй уровень иерархии составляют факторы, непосредственно влияющие на достижение цели - критерии. При этом каждый фактор представляется в строящейся иерархии вершиной, соединенной с вершиной 1-го уровня. Третий уровень составляют факторы, от которых зависят вершины 2-го уровня. И так далее. Этот процесс построения иерархии продолжается до тех, пока в иерархию не включены все основные факторы или хотя бы для одного из факторов последнего уровня невозможно непосредственно получить необходимую информацию.

По окончании построения иерархии для каждой материнской вершины проводится оценка весовых коэффициентов, определяющих степень ее зависимости от влияющих на нее вершин более низкого уровня. При этом используется метод попарных сравнений [40].

Рассмотрим иерархическую структуру для магистерской диссертации  «Разработка проекта с использованием объектно-ориентированного программирования. Исследование трансляции программных кодов между языками программирования».

 

 

 

 

 


Надпись: Доступность учебной литературы об особенностях языка программированияНадпись: Скорость выполнения программыНадпись: Гибкость языка программированияНадпись: Кроссплатформенность                          

 

 

 

 

 

 

 

 

 

 

 


Рисунок 4.1 – Иерархическая структура

 

Иерархическая двухуровневая структура включает:

0-й уровень – уровень постановки цели.

1-й уровень – уровень критериев.

В качестве критериев выберем:

1) кроссплатформенность;

2) гибкость языка программирования;

3) скорость выполнения программы;

4) доступность учебной литературы об особенностях языка программирования.

2-й уровень –  уровень альтернатив.

Будем считать, что задачу возможно решить с помощью следующих языков программирования:

1) VB.NET;

 2) С#;

3) Delphi;

4) Python;

Таблица 4.1 – Критерии языков программирования

№ п/п

Название

Описание

1

Кроссплатформенность

Кроссплатформенноcть программного обеспечения –  способность программного обеспечения, работать более чем на одной аппаратной платформе и/или операционной системе [41].

2

Гибкость языка программирования

Гибкость языка программирования проявляется в том, сколько возможностей он предоставляет программисту для выражения всех операций, которые требуются в программе. Простота языка обеспечивает лёгкость понимания семантики языковых конструкций и запоминания их синтаксиса [42].

3

Скорость

выполнения

программы

Скорость выполнения программы – это время, затрачиваемое на компиляцию программы. Скорость выполнения программ, составленных на языках высокого уровня, обычно не является неразрешимой проблемой, однако требует внимания. Если значение этого параметра окажется слишком низким, то в

 

 

Продолжение таблицы 4.1

 

 

 большинстве случаев его можно повысить, не изменяя большей части программы. Обычно на реализацию 10 % объема программы расходуется до 90 % общего времени ее выполнения [43].

4

Доступность учебной литературы об особенностях языка программирования.

Доступность учебной литературы в электронных источниках является важным критерием, поскольку некоторые особенности языков программирования изучены в недостаточной степени для реализации задачи диссертационного исследования и требуют дополнительного изучения.

 

Visual Basic .NET (VB.NET) – это объектно-ориентированный язык программирования, реализованный на .NET Framework [37].

C# –  современный объектно-ориентированный и типобезопасный язык программирования, являющийся языком разработки приложений для платформы Microsoft .NET Framework [38].

Delphi – это среда разработки программ, ориентированных на работу в операционных системах семейства Windows. Программы в Delphi создаются на основе современной технологии визуального проектирования, которая, в свою очередь, базируется на идеях объектно-ориентированного программирования [39].

Python – это высокоуровневый язык программирования, который используется в различных сферах IT, таких как машинное обучение, разработка приложений, web, и другие [40].

Итак:

Q1 – кроссплатформенность;

Q2 – гибкость языка программирования;

Q3 – скорость выполнения программы;

Q4 – доступность учебной литературы об особенностях языка программирования;

A1 – VB.NET;

А2 – С#;

А3 – Delphi;

А4 – Python.

Для анализа ситуации возможно считать себя экспертом и построить следующие матрицы попарных сравнений с использованием шкалы Саати.

 

Таблица 4.2. – Матрица попарных сравнений критериев разработки

K

Q1

Q2

Q3

Q4

Q1

1

3

 1/9

 1/5

Q2

 1/3

1

 1/8

 1/5

Q3

9

8

1

3

Q4

5

5

 1/3

1

 

Таблица 4.3 − Попарное сравнение альтернатив по критерию Q1

Q1

A1

A2

A3

A4

A1

1

3

3

9

A2

 1/3

1

 1/5

7

A3

 1/3

5

1

9

A4

 1/9

 1/7

 1/9

1

 

Таблица 4.4 − Попарное сравнение альтернатив по критерию Q2

Q2

A1

A2

A3

A4

A1

1

5

3

9

A2

 1/5

1

 1/2

7

A3

 1/3

2

1

9

A4

 1/9

 1/7

 1/9

1

 

Таблица 4.5 − Попарное сравнение альтернатив по критерию Q3

Q3

A1

A2

A3

A4

A1

1

 1/7

 1/9

1   

A2

7

1

3

9

A3

9

 1/3

1

9

A4

1

 1/9

 1/9

1

 

Таблица 4.6 − Попарное сравнение альтернатив по критерию Q4

Q4

A1

A2

A3

A4

A1

1

3

 1/9

 1/5

A2

 1/3

1

 1/8

 1/5

A3

9

8

1

3

A4

5

5

 1/3

1

 

 

Расчет векторов приоритетов производится по формуле:

 

             (4.1)

Расчет уровня согласованности:

 

                                       (4.2)

 

Расчет индекса согласованности:

 

            (4.3)

Расчет отношения согласованности:

            (4.4)

Таблица 4.7 – Векторы приоритетов, индекс и отношение согласованности критериев разработки

K

Q1

Q2

Q3

Q4

Рi

Xi

Q1

1

3

 1/9

 1/5

0,508

0,08

Q2

 1/3

1

 1/8

 1/5

0,302

0,048

Q3

9

8

1

3

3,834

0,604

Q4

5

5

 1/3

1

1,699

0,268

 

6,343

1

 

λmax

4,17

 

Iu

2,085

 

Io

2,317

 

в %

2

 

Согласовано

 

Таблица 4.8 – Векторы приоритетов, индекс и отношение согласованности альтернатив по критерию Q1

 

Q1

A1

A2

A3

A4

Рi

Xi

A1

1

3

3

9

3

0,5

A2

 1/3

1

 1/5

7

0,827

0,138

A3

 1/3

5

1

9

1,968

0,328

A4

 1/9

 1/7

 1/9

1

0,205

0,034

 

5,999

1

 

λmax

4,449

 

Iu

2,224

 

Io

2,471

 

В %

2

 

Согласовано

 

        

Таблица 4.9 – Векторы приоритетов, индекс и отношение согласованности альтернатив по критерию Q2

 

Q2

A1

A2

A3

A4

Рi

Xi

A1

1

5

3

9

3,409

0,559

A2

 1/5

1

 1/2

7

0,915

0,15

A3

 1/3

2

1

9

1,565

0,257

A4

 1/9

 1/7

 1/9

1

0,205

0,034

 

6,093

1

 

λmax

4,21

 

Iu

2,105

 

Io

2,339

 

В %

2

 

Согласовано

 

Таблица 4.10 – Векторы приоритетов, индекс и отношение согласованности альтернатив по критерию Q3

 

Q3

A1

A2

A3

A4

Рi

Xi

A1

1

 1/7

 1/9

1   

0,355

0,053

A2

7

1

3

9

3,708

0,555

A3

9

 1/3

1

9

2,28

0,341

A4

1

 1/9

 1/9

1

0,333

0,05

 

6,676

0,999

 

λmax

4,275

 

Iu

2,137

 

Io

2,375

 

В %

2

 

 

Согласовано

 

 

Таблица 4.11 – Векторы приоритетов, индекс и отношение согласованности альтернатив по критерию Q4

 

Q4

A1

A2

A3

A4

Рi

Xi

A1

1

3

 1/9

 1/5

0,508

0,08

A2

 1/3

1

 1/8

 1/5

0,302

0,048

A3

9

8

1

3

3,834

0,604

A4

5

5

 1/3

1

1,699

0,268

 

6,347

1

 

λmax

4,17

 

Iu

2,085

 

Io

2,317

 

В %

2

 

Согласовано

 

Далее рассчитывается вектор глобальных приоритетов. Для этого соберем матрицу с векторов локальных приоритетов альтернатив по критериям:

Эту матрицу умножим на векторы локальных приоритетов:

Таким образом, на основе проведенных расчетов можно сделать вывод, что лучшим выбором при данном распределении оценок будет выбор программы Delphi. Данные расчеты были произведены в программе Mathcad. Экранные копии приведены в приложении 1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


5. ОПИСАНИЕ ИССЛЕДОВАНИЙ И РЕЗУЛЬТАТОВ

 

В результате прохождения практики разработана программа с использованием объектно-ориентированного программирования для построения шестиугольника в интегрированной среде разработки Delphi, а также ее упрощенная трансляция в C#.

Листинг программы Delphi:

unit Unit1;

interface

uses

  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls;

type

  TForm1 = class(TForm)

    Image1: TImage;

    Button1: TButton;

    Button2: TButton;

    procedure Button2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

type Tfigure = class

       private

        xc,yc:integer;

public

       Image:Timage;

       stepX,stepy:integer;

       r:Integer;

      Constructor Create(aImage:Timage;ax,ay:Integer;ar:Integer);

        Procedure Draw;virtual;abstract;

end;

 

type TMnogougolnik = class(Tfigure)

       public

       x1,y1:Integer;

       stepx1,stepy1:integer;

       procedure Draw;override;

end;

var

  Form1: TForm1;

  move:boolean;

  height,widtch,shx1,shy1,shx2,shy2,

  shx3,shy3,xp,yp,xp2,yp2,yp3,xp3,i,i1,q:integer;

 

implementation

 

Constructor Tfigure.Create;

begin

  Inherited Create;

  Image:=aImage;

  xc:=60;

  yc:=170;

  r:=30;

end;

 

procedure TMnogougolnik.draw;

begin

   x1:=xc;

   y1:=yc;

   image.Canvas.moveto(x1,y1);

   image.Canvas.lineto(x1+100,y1-50);

   image.Canvas.lineto(x1+200,y1);

   image.Canvas.lineto(x1+200,y1+50);

   image.Canvas.lineto(x1+100,y1+100);

    image.Canvas.lineto(x1,y1+50);

     image.Canvas.lineto(x1,y1);

      image. canvas.Brush.Style:= bsSolid;

      image.canvas.Pen.Color:=ClGreen;

      image.canvas.Brush.Color:=ClRed;

   image.canvas.FloodFill(x1+50,y1+50,Image.

Canvas.Pixels[x1,y1],fsBorder);

    image.Canvas.Brush.Bitmap := nil;

 

end;

 

{$R *.dfm}

procedure Tform1.Button1Click ;

var

    Mnogougolnik:tMnogougolnik;

    figure:tfigure;

begin

   xp:=30;

   xp2:= 30;

   xp3:= 30;

   yp:=30;

   yp3:= 30;

   yp2:= 30;

   shx1:=-1;

   shy1:=1;

   shx2:=1;

   shy2:=-1;

   shx3:=1;

   shy3:=1;

   Move:=true;

   Mnogougolnik:= unit Unit1;

 

interface

 

uses

  Windows, Messages, SysUtils, Variants, Classes,

 Graphics, Controls, Forms,

  Dialogs, StdCtrls, ExtCtrls;

 

type

  TForm1 = class(TForm)

    Image1: TImage;

    Button1: TButton;

    Button2: TButton;

    procedure Button2Click(Sender: TObject);

    procedure Button1Click(Sender: TObject);

    procedure FormCreate(Sender: TObject);

  private

    { Private declarations }

  public

    { Public declarations }

  end;

 

type Tfigure = class

       private

        xc,yc:integer;

public

       Image:Timage;

       stepX,stepy:integer;

       r:Integer;

      Constructor Create(aImage:Timage;ax,ay:Integer;ar:Integer);

        Procedure Draw;virtual;abstract;

end;

 

type TMnogougolnik = class(Tfigure)

       public

       x1,y1:Integer;

       stepx1,stepy1:integer;

       procedure Draw;override;

end;

var

  Form1: TForm1;

  move:boolean;

  height,widtch,shx1,shy1,shx2,shy2,

  shx3,shy3,xp,yp,xp2,yp2,yp3,xp3,i,i1,q:integer;

 

implementation

Constructor Tfigure.Create;

begin

  Inherited Create;

  Image:=aImage;

  xc:=60;

  yc:=170;

  r:=30;

end;

 

procedure TMnogougolnik.draw;

begin

   x1:=xc;

   y1:=yc;

   image.Canvas.moveto(x1,y1);

   image.Canvas.lineto(x1+100,y1-50);

   image.Canvas.lineto(x1+200,y1);

   image.Canvas.lineto(x1+200,y1+50);

   image.Canvas.lineto(x1+100,y1+100);

   image.Canvas.lineto(x1,y1+50);

   image.Canvas.lineto(x1,y1);

   image. canvas.Brush.Style:= bsSolid;

   image.canvas.Pen.Color:=ClGreen;

   image.canvas.Brush.Color:=ClRed;

   image.canvas.FloodFill(x1+50,y1+50,Image.Canvas.Pixels[x1,y1],fsBorder);

    image.Canvas.Brush.Bitmap := nil;

end;

 

{$R *.dfm}

procedure Tform1.Button1Click ;

var

    Mnogougolnik:tMnogougolnik;

    figure:tfigure;

begin

   xp:=30;

   xp2:= 30;

   xp3:= 30;

   yp:=30;

   yp3:= 30;

   yp2:= 30;

   shx1:=-1;

   shy1:=1;

   shx2:=1;

   shy2:=-1;

   shx3:=1;

   shy3:=1;

   Move:=true;   Mnogougolnik:=tMnogougolnik.Create(form1.image1,150,200,60);

   Mnogougolnik.draw;

 Repeat

 Image1.Canvas.Pen.Color:=clBtnFace;

 Image1.Canvas.Brush.Color:=clBtnFace;

 Image1.Canvas.FillRect(REct(0,0,Image1.Width,Image1.Height));

  Mnogougolnik.draw;

  Mnogougolnik.draw;

  sleep(10);

  application.ProcessMessages;

  q:=0;

 

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

   move:=false;

   close;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

   Image1.Canvas.Brush.Color:=clwhite;

end;

end.

tMnogougolnik.Create(form1.image1,150,200,60);

   Mnogougolnik.draw;

 repeat

 Image1.Canvas.Pen.Color:=clBtnFace;

 Image1.Canvas.Brush.Color:=clBtnFace;

 Image1.Canvas.FillRect(REct(0,0,Image1.Width,Image1.Height));

 

  Mnogougolnik.draw;

  Mnogougolnik.draw;

  sleep(10);

  application.ProcessMessages;

  q:=0;

 

end;

 

procedure TForm1.Button2Click(Sender: TObject);

begin

   move:=false;

   close;

end;

 

procedure TForm1.FormCreate(Sender: TObject);

begin

   Image1.Canvas.Brush.Color:=clwhite;

end;

end.

 

Рисунок 5.1– Результат работы программы

Листинг программы C#:

Program.cs:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace шестиугольник

{

    static class Program

    {

        /// <summary>

        /// Главная точка входа для приложения.

        /// </summary>

        [STAThread]

        static void Main()

        {

            Application.EnableVisualStyles();

            Application.SetCompatibleTextRenderingDefault(false);

            Application.Run(new Form1());

        }

    }

}

 

Form1.cs:

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace шестиугольник

{

    public partial class Form1 : Form

    {

        public Form1()

        {

            InitializeComponent();

        }

        private void Form1_Load(object sender, EventArgs e)

        {

            Paint += new PaintEventHandler(Form1_Paint);

        }

        void Form1_Paint(object sender, PaintEventArgs e)

        {

            SolidBrush blueBrush = new SolidBrush(Color.Blue);

            // Create points that define polygon.

            Point point1 = new Point(50, 50);

            Point point2 = new Point(150, 0);

            Point point3 = new Point(250, 50);

            Point point4 = new Point(250, 50);

            Point point5 = new Point(250, 100);

            Point point6 = new Point(150, 150);

            Point point7 = new Point(50, 100);

            Point[] curvePoints = { point1, point2, point3, point4, point5, point6, point7 };

            // Draw polygon to screen.

            e.Graphics.FillPolygon(blueBrush, curvePoints);

        }

    }

}

 

Рисунок 5.2 – Результат работы программы


Embarcadero Delphi, ранее Borland Delphi и CodeGear Delphi –  интегрированная среда разработки ПО для Microsoft Windows, Mac OS, iOS и Android на языке Delphi (ранее носившем название Object Pascal), созданная первоначально фирмой Borland и на данный момент принадлежащая и разрабатываемая Embarcadero Technologies [44].

Рисунок 5.3 – Вид среды Embarcadero Delphi

 

Интегрированная среда разработки Visual Studio –  это стартовая площадка для написания, отладки и сборки кода, а также последующей публикации приложений. Помимо стандартного редактора и отладчика, которые есть в большинстве сред, Visual Studio включает в себя компиляторы, средства автозавершения кода, графические конструкторы и многие другие функции для улучшения процесса разработки [45].

http://www.bikmeyev-at.ugatu.su/students/CPP/Lab100/Pics/MSVis.jpg

Рисунок 5.4 – Вид среды Visual Studio

 

ВЫВОДЫ

 

В результате прохождения практики изучена и проанализирована актуальность темы диссертационного исследования, определено, что на сегодняшний день количество прикладных языков программирования, реализующих объектно-ориентированную парадигму, является наибольшим по отношению к другим парадигмам программирования.

Многие широко используемые языки являются объектно-ориентированными, развивая и совершенствуя прикладные средства реализации объектно-ориентированных возможностей. В образовательном процессе в силу ограниченности времени при изучении объектно-ориентированного программирования рассматриваются, как правило, возможности какого-либо одного языка, что приводит к игнорированию полезных и эффективных механизмов ООП в других языках. Таким образом, является актуальной систематизация знаний об объектно-ориентированном подходе к программированию и его реализации в различных языках программирования.

Изучен метод дерева целей для магистерской диссертации, приобретен опыт его использования при моделировании поведения системы.

Проведен метод анализа иерархий экспертных оценок сложных систем для определения языка программирования для решения задачи магистерской диссертации, из полученных данных выходит, что подавляющим по совокупности всех критериев является среда Delphi, на втором месте – С#, на третьем – VB.Net на четвертом – Python.

разработана программа с использованием объектно-ориентированного программирования для построения шестиугольника в интегрированной среде разработки Delphi, а также ее трансляция в C#.

Размер программы Delphi–853 КБ;

Размер программы C# – 150 КБ.

 

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

 

1.        Новикова Н.В. Тематический урок-конференция «Объектно-ориентированное программирование» [Электронный ресурс] // Инфоунок. Ведущий общеобразовательный портал России. – URL: https://infourok.ru/tematicheskiy-urokkonferenciya-na-temu-obektnoorientirovannoe-programmirovanie-2144685.html. (дата обращения: 07.12.2021).

2. Буслов И. Плюсы, минусы и перспективы ООП в современной разработке [Электронный ресурс] //  Tproger. – URL:  https://tproger.ru/articles/pljusy-minusy-i-perspektivy-oop-v-sovremennoj-razrabotke/. (дата обращения: 07.12.2021).

3. Интернет технологии.ру. Практическое применение ООП в PHP5[Электронный ресурс]. – URL: https://www.internet-technologies.ru/articles/prakticheskoe-primenenie-oop-v-php5.html (дата обращения: 07.12.2021).

4. Евдокимов А.В. Объектно-ориентированный подход в вычислительной математике и имитационном моделировании[Электронный ресурс] // Bestreferat.– URL:  https://www.bestreferat.ru/referat-398364.html (дата обращения: 08.12.2021).

5. Progi.pro. Практическое использование ООП [Электронный ресурс]. – URL:  https://progi.pro/prakticheskoe-ispolzovanie-oop-10028336 (дата обращения: 08.12.2021).

6. Xreferat.com.  «Моделирование игровых программ средствами Delphi» [Электронный ресурс]. – URL: https://xreferat.com/33/7256-1-modelirovanie-igrovyh-programm.html (дата обращения: 08.12.2021).

7. Станкевич В. Пару слов о книгах по Delphi [Электронный ресурс] // KV.by High-Tech Club. – URL:  https://www.kv.by/archive/index2006032301.htm  (дата обращения: 09.12.2021).

8. Симагин А. Все известные программы на Delphi[Электронный ресурс] // Delphi sources.– URL: https://delphisources.ru/pages/articles/2019/programmi-napisannie-na-delphi.html (дата обращения: 10.12.2021).

9. Картаслов.ру — Карта слов и выражений русского языка [Электронный ресурс]. – URL: https://kartaslov.ru/карта-знаний/Разработка+программного+обеспечения (дата обращения: 10.12.2021).

10. Студопедия. [Электронный ресурс]. – URL: https://studopedia.ru/3_211543_translyatsiya-programm.html (дата обращения: 11.12.2021).

11. Stack Overflow. Разница между компилятором и интерпретатором [Электронный ресурс]. – URL:   https://ru.stackoverflow.com/questions/606941/Разница-между-компилятором-и-интерпретатором (дата обращения: 11.12.2021).

12. Садовская О.Б. Программирование в среде Delphi .Часть I. Object Pascal. Создание консольных приложений [Электронный ресурс]. – URL:  https://nenuda.ru/программирование-в-среде-delphi-часть-i-object-pascal-созд.html (дата обращения: 12.12.2021).

13. Microsoft. Краткий обзор языка C# [Электронный ресурс]. – URL:   https://docs.microsoft.com/ru-ru/dotnet/csharp/tour-of-csharp/ (дата обращения: 12.12.2021).

14. Знания. Краткий конспект на тему многоугольники [Электронный ресурс]. – URL: https://znanija.com/task/44215129 (дата обращения: 13.12.2021).

15.Академик.ру. [Электронный ресурс]. – URL:  https://dic.academic.ru/dic.nsf/ruwiki/994412https://dic.academic.ru/dic.nsf/ruwiki/1652287 (дата обращения: 13.12.2021).

16. Проектирование ис на основе объектно-ориентированного подхода [Электронный ресурс]. – URL:  http://inftis.narod.ru/pis/pis-p4-4.htm (дата обращения: 14.12.2021).

17. StudFiles. Понятие объекта в объектно-ориентированном программировании [Электронный ресурс]. – URL: https://studfile.net/preview/1478437/page:9/ (дата обращения: 15.12.2021).

18. Skillbox Media [Электронный ресурс]. – URL:   https://skillbox.ru/media/code/oop_chast_3_modifikatory_dostupa_inkapsulyatsiya/ (дата обращения: 15.12.2021).

19. Объектно-ориентированное программирование. Глоссарий [Электронный ресурс]. – URL:  http://bourabai.kz/alg/oop-glossary.htm (дата обращения: 16.12.2021).

20. Flagman.top. Понятие объектно-ориентированного программирования [Электронный ресурс]. – URL:   https://flagman.top/about-business/php-i-t-p-uzelki/obektno-orientirovannoe-programmirovanie (дата обращения: 16.12.2021).

21. Интуит. Национальный открытый университет. Элементы графической нотации диаграммы классов [Электронный ресурс]. – URL: https://intuit.ru/studies/courses/32/32/lecture/1008?page=1 (дата обращения: 17.12.2021).

22. Хабр. ООП с примерами (часть 1) [Электронный ресурс]. – URL:   https://habr.com/ru/post/87119/ (дата обращения: 17.12.2021).

23. Студопедия[Электронный ресурс]. – URL:    https://studopedia.ru/7_164072_tipi-dannih.html (дата обращения: 18.12.2021).

24. Рrogramming Lang. Среда разработки: библиотека базовых классов [Электронный ресурс]. – URL: http://programming-lang.com/ru/comp_programming/buch/0/j147.html (дата обращения: 19.12.2021).

25. StudRef.com. События — члены класса [Электронный ресурс]. – URL:   https://studref.com/610505/informatika/sobytiya_chleny_klassa (дата обращения: 20.12.2021).

26. Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++ [Электронный ресурс] // Booksonline.com.ua. URLhttps://booksonline.com.ua/view.php?book=140875&page=150 (дата обращения: 20.12.2021).

27. ЛитВек. Время электронных книг [Электронный ресурс]. – URL:   https://litvek.com/book-read/198321-kniga-gradi-buch-obektno-orientirovannyiy-analiz-i-proektirovanie-s-primerami-prilozheniy-na-s-chitat-online?p=170 (дата обращения: 20.12.2021).

28. Студопедия. Информационный студенческий ресурс. Декомпозиция в программировании [Электронный ресурс]. – URL:   https://studopedia.net/16_49963_dekompozitsiya-v-programmirovanii.html (дата обращения: 20.12.2021).

29. Skillbox Media. Создание объектов и конструкторы [Электронный ресурс].–URL:   https://skillbox.ru/media/base/sozdanie_obektov_i_konstruktory/ (дата обращения: 20.12.2021).

30. Жизненный цикл информационной системы. Принципы организации пользовательского графического интерфейса [Электронный ресурс]. – URL: https://www.sites.google.com/site/metodsybd/blok-3/3-1-principy-organizacii-polzovatelskogo-graficeskogo-interfejsa (дата обращения: 20.12.2021).

31. Череншикова А. Основные понятия в объектно-ориентированном программировании [Электронный ресурс]. – URL:  https://medium.com/@annacherenshchykova/-98ffef738f1d (дата обращения: 21.12.2021).

32. Pandia. Конспект лекций по курсу «Объектно-ориентированный анализ и проектирование» [Электронный ресурс]. – URL:   https://pandia.org/text/82/002/83395-6.php (дата обращения: 21.12.2021).

33. Videouroki.net. Системы программирования. Прикладное программное обеспечение [Электронный ресурс]. – URL:   https://videouroki.net/video/15-sistemy-programmirovaniya-prikladnoe-programmnoe-obespechenie.html (дата обращения: 21.12.2021).

34. PVS Studio. Тестирование [Электронный ресурс]. – URL:   https://pvs-studio.com/ru/blog/terms/0093/ (дата обращения: 21.12.2021).

35. like. Дерево целей [Электронный ресурс]. – URL:   https://blog.likecentre.ru/razvitie-biznesa/derevo-celej/ (дата обращения: 21.12.2021).

36. Сенькин В. Дерево целей: как построить и пользоваться [Электронный ресурс] // Headlife. – URL: https://headlife.ru/derevo-celej/ (дата обращения: 21.12.2021).

37. INF-W. Общие сведения о языке программирования С# [Электронный ресурс]. – URL:  http://inf-w.ru/?page_id=8655 (дата обращения: 21.12.2021).

38. Аcademic.ru [Электронный ресурс]. – URL: https://dic.academic.ru/dic.nsf/ruwiki/989953 (дата обращения: 21.12.2021).

39. Евкова А. Классификация языков программирования высокого уровня (Языки программирования высокого уровня: общие сведения) [Электронный ресурс]. – URL: https://www.evkova.org/kursovye-raboty/klassifikatsiya-yazyikov-programmirovaniya-vyisokogo-urovnya-yazyiki-programmirovaniya-vyisokogo-urovnya-obschie-svedeniya (дата обращения: 22.12.2021).

40. Большая энциклопедия нефти и газа  [Электронный ресурс]. – URL:  https://www.ngpedia.ru/id435112p1.html (дата обращения: 22.12.2021).

41. Metanit.com. Введение в VB.NET [Электронный ресурс]. – URL:   https://metanit.com/visualbasic/tutorial/1.1.php(дата обращения: 22.12.2021).

42. Allbest. Описание среды Delphi [Электронный ресурс]. – URL:   https://revolution.allbest.ru/programming/00499809_0.html (дата обращения: 22.12.2021).

43. Все о Python. Что такое Python и для чего он используется [Электронный ресурс]. – URL: https://all-python.ru/osnovy/yazyk-programmirovaniya.html (дата обращения: 23.12.2021).

44. Bourabai.ru. Среда визуального программирования Delphi [Электронный ресурс]. – URL: http://bourabai.ru/einf/Delphi/index.htm (дата обращения: 25.12.2021).

45. Docs.microsoft.com. Добро пожаловать в интегрированную среду разработки Visual Studio [Электронный ресурс]. – URL: https://docs.microsoft.com/ru-ru/visualstudio/get-started/visual-studio-ide?view=vs-2019 (дата обращения: 25.12.2021).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ПРИЛОЖЕНИЕ 1

Попарное сравнение критериев и альтернатив. Расчет вектора глобальных приоритетов

 

Векторы приоритетов, индекс и отношение согласованности критериев:

 

 

 

Характеристики для множества следующего уровня – оценивания альтернатив:

 

 

 


 


                                                                  

                    

 

 

 

 

 


 

                                                             

 

 

 

 

 

 

 


                              

 

 

Расчет глобального вектора приоритетов:

 


Скачано с www.znanio.ru

СОДЕРЖАНИЕ 1. Актуальность темы диссертационного исследования……………… 4 2

СОДЕРЖАНИЕ 1. Актуальность темы диссертационного исследования……………… 4 2

СПИСОК УСЛОВНЫХ СОКРАЩЕНИЙ

СПИСОК УСЛОВНЫХ СОКРАЩЕНИЙ

АКТУАЛЬНОСТЬ ТЕМЫ ДИССЕРТАЦИОННОГО

АКТУАЛЬНОСТЬ ТЕМЫ ДИССЕРТАЦИОННОГО

Среда программирования Delphi, построена на основе теории объектно-ориентированного программирования

Среда программирования Delphi, построена на основе теории объектно-ориентированного программирования

ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ И ПОЛОЖЕНИЯ

ОСНОВНЫЕ ОПРЕДЕЛЕНИЯ И ПОЛОЖЕНИЯ

Объект – программный модуль, объединяющий в себе данные (свойства) и операции над ними (методы) [17]

Объект – программный модуль, объединяющий в себе данные (свойства) и операции над ними (методы) [17]

Объектно-ориентированное проектирование – методология проектирования, соединяющая процесс объектно-ориентированной декомпозиции и систему обозначений для представления логической и физической, статической и динамической моделей проектируемой системы [26]

Объектно-ориентированное проектирование – методология проектирования, соединяющая процесс объектно-ориентированной декомпозиции и систему обозначений для представления логической и физической, статической и динамической моделей проектируемой системы [26]

ДЕРЕВО ЦЕЛЕЙ ИССЛЕДОВАНИЯ Дерево целей – это структурированная, построенная по иерархическому принципу (распределенная по уровням, ранжированная) совокупность целей системы , в которой выделены генеральная цель…

ДЕРЕВО ЦЕЛЕЙ ИССЛЕДОВАНИЯ Дерево целей – это структурированная, построенная по иерархическому принципу (распределенная по уровням, ранжированная) совокупность целей системы , в которой выделены генеральная цель…

Рисунок 3.1 – Дерево целей Результатом применения дерева целей является создание программы для вычисления площади многоугольника, дидактический проект по теме: «Разработка проекта с использованием

Рисунок 3.1 – Дерево целей Результатом применения дерева целей является создание программы для вычисления площади многоугольника, дидактический проект по теме: «Разработка проекта с использованием

МЕТОД АНАЛИЗА ИЕРАРХИЙ Метод

МЕТОД АНАЛИЗА ИЕРАРХИЙ Метод

По окончании построения иерархии для каждой материнской вершины проводится оценка весовых коэффициентов, определяющих степень ее зависимости от влияющих на нее вершин более низкого уровня

По окончании построения иерархии для каждой материнской вершины проводится оценка весовых коэффициентов, определяющих степень ее зависимости от влияющих на нее вершин более низкого уровня

Иерархическая двухуровневая структура включает: 0-й уровень – уровень постановки цели

Иерархическая двухуровневая структура включает: 0-й уровень – уровень постановки цели

Продолжение таблицы 4.1 большинстве случаев его можно повысить, не изменяя большей части программы

Продолжение таблицы 4.1 большинстве случаев его можно повысить, не изменяя большей части программы

А4 – Python . Для анализа ситуации возможно считать себя экспертом и построить следующие матрицы попарных сравнений с использованием шкалы

А4 – Python . Для анализа ситуации возможно считать себя экспертом и построить следующие матрицы попарных сравнений с использованием шкалы

Расчет векторов приоритетов производится по формуле: (4

Расчет векторов приоритетов производится по формуле: (4

Таблица 4.8 – Векторы приоритетов, индекс и отношение согласованности альтернатив по критерию

Таблица 4.8 – Векторы приоритетов, индекс и отношение согласованности альтернатив по критерию

Таблица 4.10 – Векторы приоритетов, индекс и отношение согласованности альтернатив по критерию

Таблица 4.10 – Векторы приоритетов, индекс и отношение согласованности альтернатив по критерию

Далее рассчитывается вектор глобальных приоритетов

Далее рассчитывается вектор глобальных приоритетов

ОПИСАНИЕ ИССЛЕДОВАНИЙ И РЕЗУЛЬТАТОВ

ОПИСАНИЕ ИССЛЕДОВАНИЙ И РЕЗУЛЬТАТОВ

Constructor Tfigure.Create; begin

Constructor Tfigure.Create; begin

TForm1 = class(TForm) Image1:

TForm1 = class(TForm) Image1:

Program.cs: using System; using

Program.cs: using System; using

Embarcadero Delphi, ранее Borland

Embarcadero Delphi, ранее Borland

ВЫВОДЫ В результате прохождения практики изучена и проанализирована актуальность темы диссертационного исследования, определено, что на сегодняшний день количество прикладных языков программирования, реализующих объектно-ориентированную парадигму, является…

ВЫВОДЫ В результате прохождения практики изучена и проанализирована актуальность темы диссертационного исследования, определено, что на сегодняшний день количество прикладных языков программирования, реализующих объектно-ориентированную парадигму, является…

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 1

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 1

Симагин А. Все известные программы на

Симагин А. Все известные программы на

Проектирование ис на основе объектно-ориентированного подхода [Электронный ресурс]

Проектирование ис на основе объектно-ориентированного подхода [Электронный ресурс]

Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на

Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на

PVS Studio . Тестирование [Электронный ресурс]

PVS Studio . Тестирование [Электронный ресурс]

Все о Python. Что такое Python и для чего он используется [Электронный ресурс]

Все о Python. Что такое Python и для чего он используется [Электронный ресурс]

ПРИЛОЖЕНИЕ 1 Попарное сравнение критериев и альтернатив

ПРИЛОЖЕНИЕ 1 Попарное сравнение критериев и альтернатив

Характеристики для множества следующего уровня – оценивания альтернатив:

Характеристики для множества следующего уровня – оценивания альтернатив:

Производственная (технологическая) практика - отчет

Производственная (технологическая) практика - отчет

Производственная (технологическая) практика - отчет

Производственная (технологическая) практика - отчет

Производственная (технологическая) практика - отчет

Производственная (технологическая) практика - отчет

Расчет глобального вектора приоритетов:

Расчет глобального вектора приоритетов:
Материалы на данной страницы взяты из открытых истончиков либо размещены пользователем в соответствии с договором-офертой сайта. Вы можете сообщить о нарушении.
09.04.2022