47406 (597337), страница 9

Файл №597337 47406 (Компьютерное моделирование технологических процессов) 9 страница47406 (597337) страница 92016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 9)

Рис. 23. Оптимизация по методу крутого восхождения

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

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

1.4 Среда для моделирования технологических процессов Visual Studio.NET

Из чего состоит .NET Framework, NET Framework состоит прежде всего из огромной библиотеки программ, к которой можно обращаться из различных языков программирования (например из С#) с помощью различных технологий объектно-ориентированного программирования (ООП, object-oriented programming). Эта библиотека разбита на несколько различных модулей таким образом, что имеется возможность использовать ту или иную ее часть в зависимости от требуемых результатов. Так, например, в одном из модулей содержатся "кирпичики", из которых можно построить Windows-приложения, в другом — "кирпичики", необходимые для организации работы в сети, в третьем — все необходимое для развития Всемирной паутины (Web). Некоторые из этих модулей подразделяются на более специфические подмодули: к примеру, в состав модуля для развития Паутины входит подмодуль, предназначенный для создания web-служб.

Основная идея в данном случае заключается в том, что различные операционные системы могут поддерживать некоторые или все из этих модулей (что зависит от характеристик этих операционных систем). Так, PDA потенциально мог бы поддерживать все основные функциональные возможности .NET, однако маловероятно, чтобы ему потребовались какие-либо более хитрые модули.

Часть библиотеки .NET Framework посвящена описанию некоторых базисных типов. Тип — это способ представления данных; определение наиболее фундаментальных из них (например 32-разрядного целого со знаком) облегчает совместное использование языков программирования с помощью .NET Framework. Все вместе это называется Common Type System (CTS — единая система типов)

Кроме вындописанной библиотеки, в состав системы входит также NET Common Language Runtime (CLR — единая система выполнения программ), которая ответственна за поддержку выполнения всех приложении, разработанных с использованием библиотеки .NET,

Как можно создавать приложения с помощью .NET Framework

Создание приложений с помощью .NET Framework означает написание программы (на любом из языков программирования, поддерживаемых системой) посредством использования библиотеки программ. В этой книге для наших разработок мы будем использовать VS, который представляет собой мощную интегрированную среду разработки, поддерживающую С# (а также управляемый и не управляемый

С+ + , Visual Basic.NET и некоторые другие языки программирования). Преимуществом данной среды является та простота, с которой возможности .NET могут быть интегрированы в наши программы. Код, который мы будем создавать, будет целиком написан на С#, однако в нем повсеместно будут использоваться возможности .NET Framework, а там, где возникнет необходимость, мы будем применять в VS дополнительные инструменты.

Для того чтобы написанная на С# программа могла быть выполнена, ее необходимо преобразовать в язык, понятный операционной системе, на которой эта программа будет выполняться; такой язык известен под названием родного кода. Подобное преобразование называется компиляцией программы н выполняется компилятором. Однако в .NET этот процесс состоит нз двух этапов.

MSIL и ЛТ

При компиляции кода, в котором используется библиотека .NET Framework, мы не получаем сразу родной код для конкретной операционной системы. Напротив, наша программа будет откомпилирована в программу на языке Microsoft Intermediate Language (MSIL — промежуточный язык компании Microsoft). Этот код не является специфическим ни для какой операционной системы и так же точно не является специфическим для С#. Компиляция с других языков программирования .NET — например с Visual Basic.NET — на первом этапе тоже происходит на этот язык. Данный этап компиляции выполняется VS в тех случаях, когда мы используем его для разработки приложений на С#,

Очевидно, что для запуска приложения потребуется сделать некоторую дополнительную работу. Эта работа возлагается на ЛТ-компилятор (Just-In-Time, своевременный), который осуществляет компиляцию MSIL-кода на код, специфический для ОС и архитектуры используемого компьютера. Только после этого операционная система может выполнить приложение.

В прошлом часто возникала необходимость транслировать написанную программу в несколько различных приложении, каждое нз которых предназначалось для конкретной операционной системы и архитектуры центрального процессора, Нередко это был один нз способов оптимизации (направленной на то, чтобы программа, к примеру, быстрее выполнялась на AMD-чнпах), но иногда это оказывалось критичным (например, когда приходилось использовать некоторые приложения одновременно и в среде Win9x, и в среде WinNt/2000). Теперь такая необходимость исчезла, поскольку ЛТ-компнляторы (как и предполагает их название) используют код на языке MSIL, который совершенно независим от компьютера, операционной системы н центрального процессора. Существует несколько различных JIT-компиляторов, каждый нз которых предназначается для некоторой конкретной архитектуры, поэтому для создания родного кода, необходимого в том или ином случае, будет использоваться соответствующий ЛТ-компилятор.

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

Модули

Когда выполняется компилирование приложения, создаваемый MSIL-код сохраняется в некотором модуле (assembly). В состав таких модулей входят как выполняемые файлы приложений, которые могут быть запущены из Windows напрямую и которым для работы не требуется никаких других программ (такие файлы имеют расширение .ехе), так и библиотеки, предназначенные для использования другими приложениями (они имеют расширение .dil).

Кроме данных на языке MSIL, в модулях хранятся метаннформацня (т. е. информация об информации, хранящейся в данном модуле, иначе известная под названием метаданных) и дополнительные ресурсы (дополнительные данные, используемые MSIL, например звуковые и графические файлы). Метаинформация делает модули полностью самоописательными. Для использования модуля не требуется никакой дополнительной информации; другими словами, исключается ситуация, когда не удается добавить необходимые данные в системный регистр, и все подобные ей, что составляло серьезную проблему прн разработке приложений на других платформах.

Отсюда следует, что установка приложений зачастую сводится к простому копированию файлов в директорию удаленного компьютера. Поскольку системам, под управлением которых будет выполняться приложение, не требуется никакой дополнительной информации, мы получаем возможность просто запускать выполняемый файл из этой директории (при условии, что на данном компьютере инсталлирована CLR.NET) без каких-либо дополнительных действий,

Естественно, размещать все необходимое для выполнения приложения в одном месте не обязательно. Существует возможность создавать код, выполняющий задачи, которые могут потребоваться нескольким приложениям. В подобных ситуациях полезно располагать такой многократно используемый код в месте, доступном всем приложениям. В .NET Framework таким местом является Global Assembly Cache (GAC — кэш глобальных модулей). Разместить код в таком кэше очень просто: для этого необходимо просто поместить модуль, содержащий соответствующую программу, в директорию, содержащую этот кэш.

Управляемый код

Использование CLR не ограничивается тем моментом, когда мы откомпилировали программу на MSIL, а некоторый ЛТ-компнлятор откомпилировал MSIL в родной код. Код, написанный с помощью .NET Framework, является управляемым на этапе выполнения (данный этап зачастую называется временем выполнения (runtime)). Это означает, что CLR отслеживает выполнение приложений, управляя памятью, межъязыковой отладкой, обеспечением безопасности и т. п.

Напротив, приложения, которые выполняются не под контролем CLR, называются неуправляемыми, и в них можно использовать определенные языки программирования, такие как С + + , для получения, например доступа к функциям нижнего уровня операционной системы. Однако на С# можно писать только код, который выполняется в управляемой среде. Мы будем использовать возможности CLR по управлению кодом и возложим осуществление любых взаимодействий с операционной системой на .NET.

Сборка мусора

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

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

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

Связывание

Существует еще одни момент, который необходимо учитывать в вышеприведенном процессе. Код на С#, который компилируется иа MSIL на шаге 2, совсем не обязательно должен находиться в одном файле. Имеется возможность разнести код приложения по нескольким исходным файлам, которые затем будут скомпилированы в единый модуль. Этот процесс известен под названием "связывание" н является чрезвычайно полезным. Причина такого положения дел заключается в том, что работать с несколькими не очень большими файлами намного легче, чем с одним огромным. Можно выделить логически связанный код в отдельный файл, работа иад которым будет вестись совершенно независимо и о котором можно забыть после того, как произойдет компиляция. Такой подход существенно упрощает выявление конкретных сегментов кода, когда они оказываются нужными, а заодно позволяет командам разработчиков разделить бремя программирования на отдельные куски, которые затем можно выверять без риска повредить правильно работающие сегменты и те части кода, иад которыми трудятся другие программисты.

Что такое С#

Как отмечалось выше, С# — один нз языков программирования, который может использоваться для создания приложений, выполняемых в среде .NET CLR. Этот язык — результат эволюции языков С и C#, созданный компанией Microsoft специально для использования на платформе .NET, Являясь новейшей разработкой, С# конструировался очень тщательно, с учетом наилучших возможностей других языков, предназначенных для решения специфических проблем.

Создавать приложения на С# легче, чем на C#, поскольку синтаксис языка С# более простой, чем синтаксис C#. Тем не менее С# является мощным языком программирования, и имеется мало вещей, которые можно сослать на C# и нельзя на С#. Однако необходимо помнить, что возможности С#, соответствующие наиболее продвинутым возможностям C# (например непосредственный доступ и внесение изменений в системную память), могут быть осуществлены только с помощью кода, помеченного как unsafe (небезопасный). Эти продвинутые способы программирования, как следует уже нз их названия, представляют потенциальную опасность, поскольку они позволяют записывать информацию в критические системные участки памяти с потенциально катастрофическими результатами. Именно по этой причине, а также нз некоторых других соображений мы не будем рассматривать данную тему в этой книге.

Иногда код на С# оказывается более объемным, чем на C#. Это следствие того, что в С# (в отличие от С+ + ) осуществляется контроль безопасности использования типов. С точки зрения непрофессионала это означает, что если некоторые данные отнесены к определенному типу, то впоследствии они не могут самостоятельно преобразовываться в другие типы, Поэтому, существуют строгие правила, которым необходимо следовать при выполнении преобразования из одного типа в другой. Это часто приводит к необходимости писать на С# больший объем кода, чем на C#. Однако взамен мы получаем то преимущество, что программа становится более надежной и ее отладка упрощается, поскольку .NET постоянно следит за тем, к какому типу относится данная переменная в каждый конкретный момент времени, К примеру, в С# мы не можем дать задание: "Возьми 4 банта памяти из этих данных и 10 байтов нз других данных и рассматривай эту область памяти как X", но это не обязательно является недостатком.

С# является всего лишь одним из языков, позволяющих работать в .NET, но на взгляд автора он безусловно лучший. Его главное преимущество заключается в том, что С# — единственный язык, разработанный для .NET Framework "с нуля", н он может использоваться в качестве основного языка для различных версий .NET, которые предназначаются для переноса на другие операционные системы. Для того чтобы некоторые языки — вроде VB.NET — в максимальной степени соответствовали своим предшественникам и прн этом могли работать с CLR, приходится отказываться от поддержки отдельных возможностей библиотеки программ .NET. Напротив, С# позволяет использовать любые возможности, предоставляемые библиотекой программ .NET Framework,

Характеристики

Тип файла
Документ
Размер
70,53 Mb
Тип материала
Учебное заведение
Неизвестно

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6374
Авторов
на СтудИзбе
309
Средний доход
с одного платного файла
Обучение Подробнее