Федеральное агентство по рыболовству
Дальневосточный государственный технический
рыбохозяйственный университет
КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ ТЕХНОЛОГИЧЕСКИХ ПРОЦЕССОВ
Рекомендовано Дальневосточным региональным учебно-методическим центром (ДВ РУМЦ) в качестве учебного пособия для студентов по направлению 260500 «Технология продовольственных продуктов специального назначения и общественного питания» для специальности 260505 «Технология детского и функционального питания», 260303 «Технология молока и молочных продуктов», 260202 «Технология хлеба, кондитерских и макаронных изделий», 260302 «Технология мяса и мясных продуктов», 260100 «Технология продуктов питания», 260602 «Пищевая инженерия малых предприятий», 260601 «Машины и аппараты пищевых производств» и направлению подготовки магистров 260100 «Технология продуктов питания» по специальности 260100.62 «Технология продуктов из водного сырья»
Владивосток 2009УДК ББК Авторский знак
Утверждено учебно-методическим советом Дальневосточного государственного технического рыбохозяйственного университета.
Компьютерное моделирование технологических процессов : учебное пособие / авторы: А. А. Мисаковский, А. В. Перебейнос – Владивосток : изд во Дальрыбвтуз, 2009.
Первые пять глав знакомят с основами компьютеров, программированием и языком программирования C#. Используя этот учебник, вы научитесь управлять компьютером, заставлять его делать то, что вам нужно…
В учебном пособие приводится описание различных операционных систем но моделирование ведется в среде Windows.
Рецензенты - к. т. н., доцент Дальрубвтуза, кафедры «Технологии продуктов питания» Н. Г. Тунгусов, к. т. н., доцент Дальрубвтуза, кафедры «Прикладной математикии» Немцев.
© Мисаковский А. А., Перебейнос А. В., 2009
© Дальневосточный государственный технический рыбохозяйственный университет, 2009
Предисловие
Использование компьютерного моделирования в технологии производства рыбных, мясных, хлебных и молочных продуктов позволяет быстро вычислить на каждом этапе технологические процесса расход сырья, задать режимы и получить с заданными характеристиками готовый продукт.
Поэтому в учебном пособие рассказано не только о способе программирования, но и сделан уклон как применить выбранный язык к технологическому процессу.
В было решено выбрать в качестве языка программирования C# (Си Шарп) так он начинает заменять С как один из языков разработки систем в промышленности и есть основания считать, что C# станет доминирующим языком.
Цель создать учебник по компьютерному моделированию технологических процессов сделан с уклоном на программированию C# для дисциплине по выбору у пищевых технологов, студентам без опыта программирования.
Учебное пособи имеет водный курс в операционных системах (ОС), основы программирования на С# и методы компьютерного моделирования технологических. В конце лекционного материала приводятся практические работы для закрепления курса. В написание учебного пособия использовались знания крупных зарубежных и русских программистов.
Добро пожаловать в первую главу этой книги — "Введение в С#"! Здесь рассматриваются основополагающие вопросы, необходимые для качала работы на С#. В первой главе дается общий обзор С# и .NET Framework, рассказывается, что представляют собой эти технологии, какие причины побуждают ими пользоваться и каким образом эти технологии соотносятся между собой.
Начнем мы с самого общего рассмотрения .NET Framework. Это новая технология, и она включает множество понятий, которые на первый взгляд кажутся хитроумными (так как .NET Framework использует принципиально новый подход к разработке приложений). Отсюда следует, что при обсуждении этой темы вам за короткий промежуток времени придется столкнуться с большим количеством новых понятий. Однако это неизбежно, поскольку знание основ крайне важно для понимания программирования на С#. В последующих главах многие из этих тем будут рассмотрены повторно и более детально,
Далее приводится упрощенное описание собственно языка С#; среди прочего будут рассмотрены его корни и черты сходства с C#.
Наконец, вы познакомитесь с основным инструментом, который будет использоваться на протяжении всей книги,— Visual Studio.NET (VS).
NET Framework — это новая и революционная платформа, созданная компанией Microsoft для разработки приложений.
Самым интересным в этом утверждении является его неопределенность, однако для этого имеются достаточно веские основания. Для начала обратите внимание на то, что в нем не говорится: "для разработки приложений в операционной среде Windows". И хотя первая версия .NET Framework работает под управлением операционной системы Windows, а дальнейшие планы компании входит создание версий, которые будут работать с другими операционными системами, такими как FreeBSD, Linux, Macintosh, и даже на устройствах, относящихся к классу персональных цифровых устройств (personal digital assistant, PDA). Один из основных мотивов создания данной технологии — то, что она предназначается для объединения разнородных операционных систем.
Более того, приведенное выше определение .NET Framework не содержит никаких ограничений относительно типов приложений, создание которых она поддерживает. Причина в том, что никаких ограничений не существует: .NET Framework допускает создание Windows-приложений, web-приложений, web-служб и многого-многого другого, что только можно себе представить.
Технология .NET Framework разрабатывалась таким образом, чтобы ее можно было использовать из любого языка программирования. Это справедливо и по отношению к предмету настоящей книги — С#, а также в отношении С+ + , Visual Basic, JScript и даже более старых языков, таких как COBOL. Для того чтобы добиться такого результата, пришлось создать специальные версии соответствующих языков: Managed C# (управляемый C#), Visual Basic.NET, JScript.NET и т. д.— с течением времени появляются все новые и новые. Но все эти языки обладают не только доступом к .NET Framework, но и возможностью взаимодействовать друг с другом. Совершенно нормальной является ситуация, когда разработчики используют в С# код, написанный на Visual Basic.NET, и наоборот,
Все это обеспечивает немыслимый доселе уровень гибкости и является одной из причин, по которой использование .NET Framework представляется таким перспективным.
Почему C #?
Эта книга будет занимательной для вас по нескольким причинам. Ваши сверстники за последние несколько лет, возможно, изучили С или Паскаль в качестве своих первых языков программирования. Вы же изучите и С, и C#! Как? Да просто потому, что C# включает в себя стандарт ANSI для С и добавляет к нему много нового.
Ваши сверстники, возможно, изучали методологию программирования, называемую структурным программированием. Вы изучите как структурное программирование, так и современную новейшую методологию — объектно-ориентированное программирование. Зачем надо изучать обе эти методологии? Мы определенно предвидим, что объектно-ориентированный подход будет ключевой методологией программирования во второй половине 90-х годов. В этом курсе вы построите многие объекты и будете с ними работать. При этом вы обнаружите, что внутреннюю структуру этих объектов часто лучше создавать с помощью техники структурного программирования. И логика оперирования объектами в ряде случаев выражается лучше с помощью структурного программирования.
Другая причина, по которой мы представляем здесь обе методологии, состоит в том, что в предстоящее десятилетие будет происходить массовый переход от систем, основанных на С, к системам, основанным на C#. На местах существует огромное так называемое «наследие программ на С». С использовался почти четверть столетия и в последние годы его применение стремительно росло. Но те, кто изучил C#, обнаруживают, что его возможности гораздо более мощные, чем у С, и они часто предпочитают переходить на C#. Они начинают переводить свои системы на C# и этот процесс достаточно ярко выражен. Затем они начинают использовать различные свойства C#, известные как «усовершенствования C# по сравнению с С», чтобы улучшить свой стиль написания своих С-подобных программ. Наконец, они начинают пользоваться возможностями объектно-ориентированного программирования на C#, чтобы в полном объеме реализовать преимущества этого языка.
Интересный феномен, наблюдаемый на рынке языков программирования, состоит в том, что многие из основных продавцов продают теперь комбинированный C/C++ продукт охотнее, чем предлагаемые отдельные продукты. Это предоставляет пользователям возможность продолжать программировать на С, если они того пожелают, а затем постепенно продвигаться в сторону C#.
C# имеет шансы стать основным языком разработки программ 90-х годов. Но может ли он быть объектом изучения в начальном курсе программирования — именно для такого курса предназначена эта книга? Мы думаем, что может. Два года назад мы приняли подобный вызов, когда Паскаль являлся основным языком в начальных курсах по вычислительной технике. Мы написали книгу «Как программировать на С» — родную сестру данной книги. Сотни университетов во всем мире используют теперь второе издание «Как программировать на С». Курсы, основанные на этой книге, доказали, что они столь же эффективны, как их предшественники, основанные на языке Паскаль. Между ними не наблюдалось никаких существенных различий, за исключением того, что студенты были более заинтересованы в изучении С, поскольку они знали, что предпочтительнее использовать С, чем Паскаль, и в последующих курсах, и для их будущей карьеры. Студенты, изучающие С, знали также, что они будут лучше подготовлены к изучению C#.
История
Язык C# развился из С, который в свою очередь был создан на основе двух предшествующих языков — BCPL и В. Язык BCPL был создан в 1967 году Мартином Ричардом как язык для написания компиляторов и программного обеспечения операционных систем. Кен Томпсон предусмотрел много возможностей в своем языке В — дубликате BCPL и использовал В для создания ранних версий операционной системы UNIX в Bell Laboratories в 1970 году на компьютере DEC PDP-7. И BCPL, и В были «нетипичными» языками — каждый элемент данных занимал одно «слово» в памяти и бремя обработки элемента данных, например, как целого или действительного числа падало на плечи программиста.
Язык С был развит из В Деннисом Ритчи в Bell Laboratories и первоначально реализован на компьютере DEC PDP-11 в 1972 году. С использует многие важные концепции BCPL и В, а также добавляет типы данных и другие свойства. Первоначально С приобрел широкую известность как язык разработки операционной системы UNIX. Сегодня фактически все новые операционные системы написаны на С или на C#. В течение двух последних десятилетий С стал доступным для большинства компьютеров. С независим от аппаратных средств. При тщательной разработке на С можно написать мобильные программы, переносимые на большинство компьютеров.
В конце 70-х годов С развился в то, что теперь относят к «традиционному С», «классическому С» или «С Кернигана и Ритчи». Публикация издательством Prentice-Hall книги Кернигана и Ритчи «Язык программирования Со привлекла широкое внимание к этому языку. Эта публикация стала одной из наиболее удачных книг по вычислительной технике за все время.
Широкое распространение С на различных типах компьютеров (иногда называемых аппаратными платформами) привело, к сожалению, ко многим вариациям языка. Они были похожи, но несовместимы друг с другом. Это было серьезной проблемой для разработчиков программ, нуждавшихся в написании совместимых программ, которые можно было бы выполнять на нескольких платформах. Стало ясно, что необходима стандартная версия С. В 1983 году при Американском Национальном Комитете Стандартов в области вычислительной техники и обработки информации был создан технический комитет X3J11, чтобы «обеспечить недвусмысленное и машинно-независимое определение языка». В 1989 году стандарт был утвержден. ANSI скооперировался с Международной Организацией Стандартов (International Standards Organizations — ISO), чтобы стандартизировать С в мировом масштабе; совместный стандарт был опубликован в 1990 году и назван ANSI/ISO 9899: 1990. Копии этого документа можно заказать в ANSI. Второе издание книги Кернигана и Ритчи, вышедшее в 1988 году, отражает эту версию, называемую ANSI С; эта версия языка используется теперь повсеместно.
Visual Studio.NET
В данной книге для разработки всех программ на С#, начиная от самых простых примеров использования командной строки и заканчивая более сложными типами создаваемых проектов, мы будем применять Visual Studio.NET (VS),
VS не является обязательным для создания приложений на С#, однако эта система существенно упрощает жизнь программиста. Конечно, мы можем (при желании) производить манипуляции над файлами с исходным кодом на С# с помощью обычного текстового редактора (вроде широко распространенного приложения Notepad) и компилировать код в модули с помощью компилятора командной строки, который является составной частью .NET Framework. Но зачем это делать, если имеется такой мощный инструмент, как VS?
Ниже приводится краткий перечень возможностейч УБ, благодаря которым эта система является наиболее привлекательным средством разработки в .NET;
□ VS автоматически выполняет все шаги, необходимые для компиляции исходного кода, и одновременно позволяет управлять всеми используемыми опциями, если мы пожелаем их переопределить,
□ Текстовый редактор VS настроен для работы с теми языками, которые поддерживаются VS (включая С#), поэтому он может интеллектуально обнаруживать ошибки и подсказывать в процессе ввода, какой именно код необходим,
□ В состав VS входят программы, позволяющие создавать приложения
в Windows Forms и Web Forms путем простого перетаскивания мышью элементов пользовательского интерфейса.
□ Многие типы проектов, создание которых возможно на С#, могут разрабатываться на основе "каркасного" кода, заранее включаемого в программу. Вместо того чтобы каждый раз начинать с нуля,
VS позволяет использовать уже имеющиеся файлы с исходным кодом, что уменьшает временные затраты на создание проекта.
□ В состав VS входит несколько вспомогательных программ, которые позволяют автоматизировать выполнение наиболее распространенных задач; причем многие из этих программ могут добавлять необходимый код в уже существующие файлы, так что программисту не придется беспокоиться (а в некоторых случаях н вообще вспоминать) о соблюдении синтаксических правил.
□ VS имеет большое количество мощных инструментов, благодаря которым можно просматривать отдельные элементы проекта или осуществлять
в них поиск, независимо от того, являются ли эти элементы файлами
с кодами на языке С# или представляют собой какие-либо иные ресурсы,
например, двоичные графические или звуковые файлы,
□ Распространять приложения в VS столь же просто, как и писать их:
VS облегчает передачу кода клиентам и позволяет им инсталлировать его без каких-либо проблем.
□ VS допускает использование совершенных методов отладки при разработке проектов: например, пошаговое выполнение кода, когда выполняется один оператор за раз, что дает возможность следить за текущим состоянием приложения.
И это далеко не все преимущества VS!
Решения VS
Когда мы используем VS для разработки приложений, то мы делаем это через создание решений. В терминах VS решение — это нечто большее, чем просто приложение. Решения состоят из проектов, среди которых могут быть "проекты Windows Forms", "проекты Web Forms" и т. д. Решения могут включать несколько проектов, что позволяет группировать логически взаимосвязанные части кода в одном месте, даже если они в действительности компилируются в разные модули, расположенные в различных местах на жестком диске. Такая возможность оказывается очень полезной, поскольку она позволяет работать над "разделяемым" кодом (который может быть помещен в кэш глобальных модулей) одновременно с приложениями, использующими этот код. Отладка программ оказывается намного легче, когда имеется единая среда разработки, в которой применяется пошаговое выполнение операторов в различных модулях,
Итоги
В данной главе было дано общее описание .NET Framework н рассмотрено, каким образом эта система упрощает разработку эффективных н гибких приложений, Вы познакомились с процессом превращения программ, написанных на таких языках, как С#, в работающие приложения, и узнали, выгоды можно извлечь из использования управляемого кода, запускаемого под управлением единой системы выполнения программ CLR.NET.
Также было рассказано, что представляет собой С#, какое отношение он имеет к .NET Framework, и дано описание инструмента, который будет использоваться для выполнения разработок на С#,— Visual Studio.NET.
В следующей главе мы с помощью VS создадим работающий код на С#; полученные при этом знания в дальнейшем позволят нам сконцентрироваться собственно на языке С# и не уделять излишнего внимания работе VS.
Введение в объектное ориентирование начинается с главы 1!
Большинство вузовских профессоров, которые будут учить по этой книге, преподавали процедурное программирование много лет (вероятно, на С или Паскале) и имеют, возможно, некоторый опыт преподавания объектно-ориентированного программирования. C# сам по себе не является чисто объектно-ориентированным языком. Скорее он является гибридным языком, дающим возможность и процедурного, и объектно-ориентированного программирования.
Так что мы выбрали следующий подход. Первые пять глав книги знакомят с процедурным программированием на C#. Они описывают принципы программирования, управляющие структуры, функции, массивы, указатели и строки. Эти главы освещают компоненты С ANSI в C# и усовершенствования С, сделанные в C#.
В главе 1 раздел «Размышления об объектах» знакомит с концепциями и терминологией объектной ориентации. Соответствующие разделы глав 2-5 представляют набор требований для создания серьезного проекта объектно-ориентированной системы, а именно — программы моделирования лифта, и проводят студента через типичные этапы процесса объектно-ориентированного проектирования. В этих параграфах рассматривается, как идентифицировать объекты в задаче, как определить атрибуты и функции объекта и как определить взаимодействия объектов. К тому времени, когда студент завершил главу 5, он (или она) уже провел тщательное объектно-ориентированное проектирование модели лифта и готов, если не жаждет, начать программирование лифта на C#.
Об этой книге
Книга «Как программировать на C#» содержит богатый набор примеров, упражнений и проектов, взятых из различных областей, чтобы дать студенту возможность решать действительно интересные и жизненные задачи.
Книга решает прежде всего задачи обучения. Например, фактически по каждой новой теме как C#, так и объектно-ориентированного программирования, приводится законченная рабочая программа на C# и тут же показывается результат ее выполнения. Чтение этих программ весьма похоже на их ввод в компьютер с последующим прогоном.
Упражнения варьируются от простых вопросов на повторение пройденного до серьезных задач программирования и крупных проектов. Преподаватели, ищущие темы для курсовых проектов, найдут много подходящих задач в упражнениях глав 3-18.
Имеется пособие для преподавателя на дискетах в форматах PC и Макинтош с программами, встречающимися в основном тексте, и ответами на почти все вопросы, помещенные в конце глав (к данному изданию эти дискеты не прилагаются — прим. ред.).
При написании этой книги мы использовали варианты компиляторов C#, работающие на рабочих станциях Sun SPARCstation, компьютерах Apple Macintosh (Symantech Си++), IBM PC (Turbo C#, Borland C#, CSET++ фирмы IBM и Microsoft C/C++ версии 7 и Visual C#) и DEC VAX/VMS (DEC C#). Большая часть программ из текста книги будут работать на всех этих компиляторах при незначительной их модификации или вовсе без таковой. Мы публикуем версии, разработанные нами на Borland C#.
План
План главы помогает студенту обозреть весь изучаемый материал. Это также помогает студенту знать, что будет далее, и выбрать удобный и эффективный темп обучения. [Мелочи: книга содержит 2132722 печатных символа и 342980 слов.]
Возможности C# иллюстрируются рядом законченных рабочих программ на C#. Тут же показываются результаты выполнения этих программ. Это позволяет студенту убедиться, что программы работают, как ожидалось. Сопоставление результатов с операторами программы, дающими эти результаты, является отличным путем изучения и укрепления знаний. Наши программы демонстрируют различные особенности C#. Внимательное чтение книги во многом похоже на набор и прогон этих программ на компьютере.
По нашему опыту, научить студентов написанию ясных, понятных программ — это едва ли не наиболее важная задача первого курса программирования.
Так что сегодня делается большой упор на мобильность, то есть на способность программного обеспечения работать на разнообразных компьютерных системах при незначительном его изменении или даже вообще без изменений. Многие рекламируют C# как язык, подходящий для разработки мобильного программного обеспечения, основываясь на том, что C# тесно связан с С ANSI, и на том, что скоро появится стандартная версия C# ANSI. Некоторые считают, что если они разработали прикладную программу на C#, то она автоматически будет мобильной. Это просто не соответствует действительности. Достижение мобильности требует аккуратного и осторожного проектирования. На этом пути есть много «подводных камней».
Резюме
Каждая глава заканчивается дополнительным педагогическим приемом резюме. Мы представляем в виде списка основные итоги главы. Это помогает студентам просмотреть и закрепить ключевые вопросы данной главы.
Терминология
Мы включаем в каждую главу раздел «Терминология» с алфавитным списком важных терминов, определения которых даны в главе, для их дальнейшего закрепления.
рсового проектирования__________ . Компьютерное моделирование технологических процессов на основе выбранных актуальных моделей пищевой промышленности Технологическая система представляет собой совокупность функционально связанных средств технологического оснащения, предметов производства и исполнителей для выполнения в регламентированных условиях производства заданных технологических ...
... к сложной формообразующей оснастке и инструменту. Еще одна важная задача ТПП - управление процессами ТПП. Автоматизация управления процессами ТПП позволяет обеспечить эффективное комплексное решение всех задач подготовки производства. Работы по технологической подготовке производства выполняются соответствующими подразделениями и службами предприятия. Как правило, наибольший объем работ и общее ...
... БИОРЕАКТОРА Лист 90 Доклад. Уважаемые члены государственной экзаменационной комиссии разрешите представить вашему вниманию дипломный проект на тему: «Система автоматизированного управления процесса стерилизации биореактора» Процесс стерилизации биореактора (или ферментера) является важной стадией процесса биосинтеза антибиотика эритромицина. Суть процесса стерилизации состоит в ...
... Современные информационные технологии позволяют оперативно и оптимальным образом принимать решение по управлению технологическим процессом. 1. Оптимизация производственных затрат пивоваренного производства и моделирование расхода сырья Основное пивоваренное сырье – это пивоваренный солод с добавкой несоложенных материалов (ячменя, рисовой сечки, обезжиренной кукурузы, сахара), вода, хмель ...
0 комментариев