Основы объектно-ориентированного программирования

Автор работы: Пользователь скрыл имя, 18 Сентября 2017 в 19:46, контрольная работа

Описание работы

В процессе развития вычислительной техники было создано множество языков и технологий программирования, практически несовместимых между собой. Конечно, при разработке программ, работающих автономно, можно обойтись одним языком, одной технологией программирования и не иметь никаких проблем с совместимостью, но приложения для Интернета требуют использования разных языков и разных технологий.
Разработчики из Microsoft поставили перед собой задачу кардинально решить эту проблему. В 2000г был представлен первый вариант новой технологии, получившей название Microsoft .NET (.NET — по-русски произносится «Дот-Нэт»).

Содержание работы

Преимущества и недостатки платформы Microsoft.NET.
Сравнение технологий .NET и Java…………………………………………3
Работа с одномерным числовым массивом ………………………………..8
Построение блок-схемы выполнения операций в рассматриваемой предметной области …………………………………………………….…..24

Файлы: 1 файл

проект.docx

— 593.54 Кб (Скачать файл)

Министерство образования и науки РФ

ФГАОУ ВО «УрФУ имени первого Президента России Б.Н.Ельцина»

Институт Высшая школа экономики и менеджмента

Кафедра анализа систем и принятия решений

 

 

 

 

Утверждаю:

Зав.кафедрой

Медведева М.А.

_________________

«____»___________

 

 

 

Проект по модулю

Основы объектно-ориентированного программирования

Вариант №8

 

 

Руководитель Чернильцев А. Г.

Нормоконтролер Медведева М. А.

Студент гр. ЭМЗ-163402у Чеснокова Т. Н.

 

Оценка

Дата защиты

Члены комиссии 

Екатеринбург

2017

 

СОДЕРЖАНИЕ

  1. Преимущества и недостатки платформы Microsoft.NET.

Сравнение технологий .NET и Java…………………………………………3

  1. Работа с одномерным числовым массивом ………………………………..8
  2. Построение блок-схемы выполнения операций в рассматриваемой предметной области …………………………………………………….…..24

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  1. Преимущества и недостатки платформы Microsoft.NET. Сравнение технологий .NET и Java.

Платформа Microsoft .NET

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

Разработчики из Microsoft поставили перед собой задачу кардинально решить эту проблему. В 2000г был представлен первый вариант новой технологии, получившей название Microsoft .NET (.NET — по-русски произносится «Дот-Нэт»).

Microsoft .NET — это новая технология, ориентированная на разработку обычных (автономных) приложений и приложений для Интернета. В рамках Microsoft .NET первоначально были доступны всего несколько языков программирования:

  • Microsoft C#;
  • Managed C++;
  • MicrosoftVisualBasic .NET;
  • MicrosoftVisual J# .NET;
  • JScript .NET.

Сейчас число таких языков исчисляется десятками. Но основным языком считается язык C# (по-русски читается «Си-Шарп»), разработанный специально для Microsoft .NET. Именно на C# доступны все возможности новой технологии от Microsoft.

В рамках Microsoft .NET создана весьма удобная интегрированная среда разработки приложений MicrosoftVisualStudio .NET, а также среда выполнения программ Microsoft .NET Framework.

Достоинства и недостатки технологии Microsoft .NET

Относительно недавно появившаяся технология Microsoft .NET имеет много достоинств по сравнению с более ранними технологиями. Но ничего не дается даром, новая технология имеет и ряд недостатков. Рассмотрим и то, и другое немного подробнее.

Достоинства:

  1. Единые средства API для разработки программ на разных языках.
  2. Простота стыковки разноязыковых модулей.
  3. Многие тысячи готовых к употреблению классов, реализующие различные алгоритмы, сокращают сроки разработки новых программ и повышают надежность этих программ.
  4. Установка программ под .NET не требует программ-инсталляторов, делается простое копирование программы в нужную папку. Как следствие, при установке не вносятся ни какие записи в реестр Windows, поэтому после удаления таких программ в реестре не остается «мусор».

Недостатки:

  1. Заметно снижается скорость работы программ. По моим наблюдениям, процентов на 40-50 даже для чисто счётных алгоритмов. Это немало. Но с учетом постоянного роста производительности новых образцов вычислительной техники это не смертельно. Хотя на старенькой технике такие программы могут очень медленно работать.
  2. Требуется больше оперативной памяти. Программы под .NET обычно невелики, самые простые имеют размер в несколько килобайт. Но при запуске таких программ запускаются и средства Microsoft .NET Framework, а это «весит» порядка 20 Мбайт в зависимости от версии Framework.
  3. На компьютере должна быть установлена среда выполнения программ Microsoft .NET Framework. В операционных системах WindowsVista и Windows 7 эта среда имеется по-умолчанию, но в предшествующих операционных системах Framework необходимо устанавливать самим. Кроме того, возможно, потребуется обновить операционную систему Windows. Для Windows 2000 нужен четвертый сервис-пак, для Windows XP — второй. А о линейке Windows 95/98 нужно забыть.

Сравнительная характеристика технологий .NET и Java.

Подобно технологии Java, среда разработки .NET создаёт байт-код, предназначенный для исполнения виртуальной машиной. Входной язык этой машины в .NET называется MSIL (MicrosoftIntermediateLanguage), или CIL (CommonIntermediateLanguage, более поздний вариант), или просто IL. Применение байт-кода позволяет получить кроссплатформенность на уровне скомпилированного проекта (в терминах .NET: сборка), а не только на уровне исходного текста, как, например, в С. перед запуском сборки в среде исполнения CLR байт-код преобразуется встроенным в среду JIT-компилятором (justintime, компиляция на лету) в машинные коды целевого процессора. Также существует возможность скомпилировать сборку в родной (native) код для выбранной платформы с помощью поставляемой вместе с .NET Framework утилиты NGen.exe.

Следует отметить, что один из первых JIT-компиляторов для Java был также разработан фирмой Microsoft. Современная технология динамической компиляции позволяет достигнуть уровня быстродействия, аналогичного традиционным «статическим» компиляторам (например, C++), и вопрос быстродействия зачастую зависит от качества того или иного компилятора.

1) Вся платформа .NET основана на  единой объектно-ориентированной  модели. Что это значит? Дело в  том, что все сервисы, интерфейсы  и объекты, которые платформа  предоставляет разработчику объединены  в единую иерархию классов. Другими  словами, все, что может вам потребоваться  при создании приложений под платформу .NET будет всегда у вас под рукой. Причем, все это сгруппировано очень удобно и интуитивно понятно.

2) Приложение, написанное на любом .NET-совместимом языке является  межплатформенным (в идеале). Почему  в идеале? Дело в том, что приложение, написанное, скажем, на том же C#, не  зависит от платформы, на которой  будет выполняться, но зато зависит  от наличия платформы .NET. Но согласитесь, что намного легче один раз  портировать архитектуру .NET под  какую-либо систему, после чего  без проблем запускать абсолютно  любое .NET приложение. В настоящий  момент платформа .NET портирована  на большинство популярных систем, в том числе и на мобильные  системы, такие как MS Windowsmobile.

3) В состав платформы .NET входит  т.н. "сборщик мусора", который  освобождает ресурсы. Таким образом, приложения защищены от утечки  памяти и от необходимости  освобождать ресурсы. Это делает  программирование более легким  и более безопасным.

4) Приложения .NET используют метаданные, что позволяет им не пользоваться  системным реестром Windows.

5) Любое .NET приложение является  автономным, в том смысле, что  не зависит от других программ, в частности от ОС. Установка  приложения написанного на одном  из .NET языках может быть произведена  обычным копированием файлов (исключение  составляет создание ярлыков  в меню "Пуск" и др. местах).

6) Приложения .NET используют безопасные  типы, что повышает их надежность, совместимость и межплатформенность.

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

8) Приложения написанные на разных языках могут легко взаимодействовать. Например, серверная часть может быть написана на C#, а клиентская на VisualBasic.

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

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

11) Повторное использование кода  стало еще удобнее. Это связано  с тем, что промежуточный язык MSIL не зависит от языка программирования. Например, вы можете написать  программу на C#, а патч к ней  писать уже, скажем, на J#.

Недостатки платформы .NET

1) Как это часто бывает, за  удобство нужно платить скоростью, так и случилось с .NET. Приложения, написанные под платформу .NET работают  медленнее, это факт. В некоторых  случаях скорость может упасть  на 15%, что иногда является неприемлемым (например, при создании 3D приложений, где бьются за каждый FPS). Задержки в выполнении связаны с промежуточным языком MSIL, ведь для того чтобы его скомпилировать в выполняемый файл тоже нужно время. Разумеется, что приложение компилируется не все сразу, а по частям, равномерно при работе программы.

2) Не на любом языке можно  создавать .NET приложения. Дело в  том, что первоначально .NET "затачивался" под C/JAVA-подобные языки. Это породило  некоторые трудности с созданием .NET компиляторов для других языков (особенно экзотических и узкоспециализированных). В результате этого некоторые  функции пришлось решать нетривиальными  способами, что отрицательно сказалось  на производительности. Но постепенно  данный недостаток сходит на  нет, т.к. разработчики компиляторов  поняли важность платформы .NET и  стараются сделать для своих  языков достойные инструменты.

3) Необходимо наличие библиотеки FrameWork. Данный недостаток будет  полностью устранен с выходом WindowsVista, т.к. данная библиотека будет  встроена в систему по умолчанию. Сейчас же наличие FrameWork на компьютерах  обычных пользователей являются  редкостью. Они попросту не знают, что это такое.

Java — объектно-ориентированный  язык программирования, разработанный  компанией SunMicrosystems. Программы на Java транслируются в байт-код, выполняемый  виртуальной машиной Java (JVM) — программой, обрабатывающей байтовый код  и передающей инструкции оборудованию  как интерпретатор, но с тем  отличием, что байтовый код, в  отличие от текста, обрабатывается  значительно быстрее.

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

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

Этому способствовал ряд усовершенствований:

- применение технологии трансляции  байт-кода в машинный код непосредственно  во время работы программы (JIT-технология) с возможностью сохранения версий  класса в машинном коде,

- широкое использование платформенно-ориентированного  кода (native-код) в стандартных библиотеках,

- аппаратные средства, обеспечивающие  ускоренную обработку байт-кода (например, технология Jazelle, поддерживаемая  некоторыми процессорами фирмы ARM).

Основные возможности:

- автоматическое управление памятью;

- расширенные возможности обработки  исключительных ситуаций;

- богатый набор средств фильтрации  ввода/вывода;

- набор стандартных коллекций, таких как массив, список, стек  и т. п.;

- наличие простых средств создания  сетевых приложений (в том числе  с использованием протокола RMI);

- наличие классов, позволяющих  выполнять HTTP-запросы и обрабатывать  ответы;

- встроенные в язык средства  создания многопоточных приложений;

- унифицированный доступ к базам  данных:

- на уровне отдельных SQL-запросов  — на основе JDBC, SQLJ;

- на уровне концепции объектов, обладающих способностью к хранению  в базе данных — на основе JavaDataObjects (англ.) и JavaPersistence API (англ.);

- поддержка шаблонов (начиная с  версии 1.5);

- параллельное выполнение программ.

 

 

2. Работа с одномерным числовым массивом.

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

1. Создаем форму приложения (вид), для этого нам необходимы слейдующие элементы:

Button(кнопки)

Label(для подписи элементов)

TextBox(для вывода значений)

NumericUpDown(для выбора значений)

RadioButton(кнопки выбора)

RichTextBox(поле для вывода значений)

 

Начальный вид приложения:

Информация о работе Основы объектно-ориентированного программирования