2.1 Структура кода в моделирование

Код на С# представляет собой последовательность операторов, каждый из которых оканчивается точкой с запятой. С# — язык, обладающий блочной структурой; другими словами, каждый оператор является частью некоторого блока кода. Эти блоки, для обозначения начала и конца которых используются фигурные скобки { и }, могут содержать произвольное количество операторов или не содержать их вовсе. Обратите внимание, что фигурные скобки не сопровождаются точками с запятой. Итак, простой блок программы на С# может иметь следующий вид:

{

Строка кода 1, оператор 1;

Строка кода х, оператор y;

}

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

Блоки могут быть вложены друг в друга (т. е. блоки могут содержать в себе другие блоки), и в таком случае величина отступа у вложенных блоков должна быть больше:

{

Строка кода 1, оператор 1;

{

Строка кода 2, оператор 2;

Строка кода 3, оператор 3;

}

Строка кода 4, оператор 4;

}

В коде на С# необходимо использовать комментарии. Для того чтобы обозначить комментарии по первому способу, используют сочетания символов /* в начале комментария, и */ в конце комментария. Другой подход к оформлению комментария состоит в использовании в качестве его начала символов //.

/* Длинный комментарии */

// Короткие комментарии

Переменные

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

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

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

Объявления переменных:

{

тип переменной, её имя;

}

В табл. 2.1 приводятся некоторые имена типов и указывается, какому типу в библиотеке .NET Framework они соответствуют.

Таблица 2.1 Имена некоторых типов переменных

Тип Тип .NET Framework Допустимые значения
sbусе System.SByte Целое в диапазоне от -128 до 127
byte System.Byte Целое в диапазоне от 0 до 255
short System.Int16 Целое в диапазоне от -32 768 до 32 767
uahort System.UInt16 Целое в диапазоне от 0 до 65 535
int System.Int32 Целое в диапазоне от -2 147 483 648 до 2 147 483 647
uint System.UInt32 Целое в диапазоне от 0 до 4 294 967 295

Буква "u", встречающаяся перед некоторыми из имен, является сокращением от слова "unsigned" ("без знака"). Это говорит о том, что в переменных соответствующего типа не могут храниться отрицательные значения.

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

Таблица 2.2 Имена некоторых типов переменных с плавающей запятой

Тип Тип .NET Framework Допустимые значения
float System.Single

от 1,5х10-45 до 3,4х1038

double System.Double

от 5,0х10-324 до 1,7х10308

Кроме численных типов, существует еще простые типы переменных табл. 2.3.

Таблица 2.2 Имена простых типов переменных

Тип Тип .NET Framework Допустимые значения
string System.String Последовательность символов
bool System.Boolean Логическое значение (Boolean), которое может принимать значения true (истина) или false (ложь)

Логический тип bool — один из наиболее часто используемых в С# типов переменной; аналогичные типы часто встречаются в кодах на других языках программирования. Использование переменной, которая может принимать только два значения — либо true, либо false,— создает очень важную возможность ветвления логики приложения. В качестве простого примера представьте себе, какое огромное количество вопросов допускают d качестве ответа true или false ("да" или "нет"). Сравнение значений переменных и проверка допустимости введенной информации как раз представляют собой примеры программного использования логических переменных (эти примеры вскоре станут предметом нашего изучения). Пример использования переменных:

Имена переменные. В качестве имени переменной можно использовать произвольную последовательность символов.

Основные правила при именовании переменных следующие:

·          Первый символ в имени переменной должен быть либо буквой, либо символом подчеркивания _;

·          Последующими символами могут быть буквы, символ подчеркивания или цифры.

Кроме того, существуют определенные ключевые слова, которые обладают особым смыслом с точки зрения компилятора С#, например, waste или raw, Если по ошибке используется одно из них, компилятор выразит свое недовольство.

Следующие имена переменных являются правильными:

myRawGOST

GOST1

_waste

Не правильные имена переменных:

usernamespace

56Raw

I’ go-All-Over

Пример использование имент переменных:

Код программы:

static void Main(string[] args)

{

int myNumber;

string myRaw;

MyNumber = 320;

MyRaw = "Количество горбуши на складе";

Console.WriteLine("{0} {1} кг.", MyRaw, MyNumber);

}

Результат выполнения:

Количество горбуши на складе 320 кг.

Для продолжения нажмите любую клавишу…

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

Объявление переменных осуществляет следующий код:

int MyNumber;

string MyRaw;

Следующие присваиваем им значения:

MyNumber = 320;

MyRaw = "Количество горбуши на складе;

Переменные выводятся с помощью следующей строки:

Console.WriteLine("{0} {1} кг.", MyRaw, MyNumber);

Это простой метод вывода текста на консоль, которым приводился в первом примере, но на этот раз выводим переменные. Строка, которую выводим - "{0} {1} кг.", - в примере, приведенном выше, значение {0} принадлежит переменной MyRaw, а значение {1} соответсвенно MyNumber. Этим методом пользуются для вывода на консоль.


Практическая часть

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

Перечень практических работ

1. Моделирование процесса приема сырья

2. Моделирование продуктового расчета

3. Совершенствование существующих программ (tex, исследователь, и др.)

4. Моделирование технологических режимов

5. Моделирование качество готового сырья

6. Моделирование (рыбо- мясо- молоко- перерабатывающего) производства

Цель практических работ

Научится применять компьютерное моделирование на практике своего направления

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


Практическая работа 1

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

Задачи

- изучить нормативную документацию согласна выбранного варианта

- использую операторы из первой главы спроектировать модель приема сырья

Варианты работы

Вариант Наименование сырья Способ обработки
1 Горбуша сырец, мороженая, охлажденная
2 Минтай тоже
3 Треска тоже
4 Навага тоже
5 Камбала тоже
6 Креветка живая, охлажденная
7 Еж морской тоже

Пример выполнения работы

1. Создайте новый проект консольного приложения, выбрав пункт файл создать проект рис. р.1.1.

menu.tif

Рис. р.1.1 Создание нового проекта

2. В окне создания проекта выберите консольное приложение и задайте ему имя например «Project1» рис. p.1.2.

create.tif

Рис. р.1.2. Выбор шаблона и задание имя проекта

3.Нажмите на кнопку ОК.

4. После того как проект будет инициализирован добавляете в файл свои строки. Ниже приведен пример модели приема сырья карася и сазана мороженого код. p.1.1.

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Rabota1

{

class Program

{

static void Main(string[] args)

{

* программа модели приема сырья */

Console.WriteLine("Программа для моделирования приема сырья \n");

Console.WriteLine("Прием сырья:");

Console.WriteLine("1. Крась мороженый (ГОСТ 1168-86)");

Console.WriteLine("2. Сазан мороженый (ГОСТ 1168-86)");

Console.Write("Выбирите принятую рыбу на производство, 1 или 2: ");

int var = Convert.ToInt16(Console.ReadLine());

if (var == 1)

{

//код программы карась

Console.WriteLine("Выбрано сырье карась мороженый");

half:

Console.WriteLine("----------------------------------------");

Console.WriteLine("1. Инвормацию о нормативном докумете");

Console.WriteLine("2. Принять сырье");

Console.Write("Выберите пункт: ");

int var1 = Convert.ToInt16(Console.ReadLine());

if (var1 == 1)

{

Console.WriteLine("----------------ГОСТ 1168-86 - Рыба мороженая---------------");

Console.WriteLine("------------------------------------------------------------");

Console.WriteLine("| Наименование | Характеристика и норма для сортов |");

Console.WriteLine("| показателя | первого | второго |");

Console.WriteLine("------------------------------------------------------------");

Console.WriteLine("| Внешний вид |Поверхность рыбы чистая, естественной |");

Console.WriteLine("|(после размо- | окраски, присущей рыбе данного вида |");

Console.WriteLine("| раживания) | | |");

Console.WriteLine("| | | потускневшая |");

Console.WriteLine("| | | поверхность |");

Console.WriteLine("------------------------------------------------------------");

Console.WriteLine("| Разделка | | |");

Console.WriteLine("| | отклонение не более чем на: |");

Console.WriteLine("| | 1 см | 2 см |");

Console.WriteLine("------------------------------------------------------------");

Console.WriteLine("| Консистенция |Плотная, присущая рыбе данного вида. |");

Console.WriteLine("|(после размо- | |Допускается ослабе-|");

Console.WriteLine("| раживания) | |вшая, но не дряблая|");

Console.WriteLine("------------------------------------------------------------");

Console.WriteLine("| Запах | Свойственный свежей рыбе, |");

Console.WriteLine("|(после размо- | без порочащих признаков |");

Console.WriteLine("| раживания или | | кисловатый запах |");

Console.WriteLine("| варки) | | в жабрах |");

Console.WriteLine("------------------------------------------------------------");

goto half;

}

else

{

int indic1, indic2, indic3, indic4; //объявим переменные

int indic11, indic12, indic13, indic14;

Console.Write("Поверхность рыбы чистая, естественной окраски? 0-НЕТ 1-ДА ");

indic1 = Convert.ToInt16(Console.ReadLine());

if (indic1 == 1)

{

Console.Write("Поверхность потускневшая? 0-НЕТ 1-ДА");

indic11 = Convert.ToInt16(Console.ReadLine());

if (indic11 == 1)

{

Console.WriteLine("Сырье второго сорта");

}

else

{

}

}

else

{

Console.WriteLine("Разделка 2 см? 0-НЕТ 1-ДА");

Console.WriteLine("Консистенция плотная? 0-НЕТ 1-ДА");

Console.WriteLine("Консистенция ослабевшая? 0-НЕТ 1-ДА");

Console.WriteLine("Запах свойственный свежей рыбе? 0-НЕТ 1-ДА");

Console.WriteLine("Кисловатый запах в жабрах? 0-НЕТ 1-ДА");

}

}

// ввывод данных о сырье

Console.WriteLine("Сырье первого сорта");

Console.WriteLine("Сырье второго сорта");

Console.WriteLine("Сырье на кормовую муку");

}

else

{

//код тот же что и у карася

}

}

}

}

Код. p.1.1. Модель приема сырья карася и сазана мороженого

Для наглядности моделирования приема сырья приведен алгоритм построения программы рис.p.1.3.

Рис. р.1.3 Алгоритм компьютерной модели приема сырья


Компьютерное моделирование

Цель работы: рассчитать воспроизводимость опыта

Термины

Машинный язык — это «природный язык» определенного компьютера.

Язык ассемблера - аббревиатуры, напоминающие английский язык

Компиляторы - программы трансляции, которые преобразуют программы на языках высокого уровня в машинные коды, называются

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

C# — разработан Бьерном Строустропом в начале 80-х годов в Bell Laboratories. Это гибридный язык, он предоставляет возможность программировать и в стиле структурного программирования, и в объектно-ориентированном стиле, и в обоих стилях сразу

Литеральная строка - содержит информацию, без изменения выводимую в отчет.

Язык Smalltalk - разработанный в Центре Исследований Palo Alto компании Xerox. Это чистый объектно-ориентированный язык.

Microsoft Visual Studio (по-русски обычно произносится [майкрософт ви́зуал сту́дио]) — линейка продуктов компании Майкрософт, включающих интегрированную среду разработки программного обеспечения и ряд других инструментальных средств.

C# (произносится си-шарп) — язык программирования, сочетающий объектно-ориентированные и аспектно-ориентированные концепции. Разработан в 1998—2001 годах группой инженеров под руководством Андерсa Хейлсбергa в компании Microsoft как основной язык разработки приложений для платформы Microsoft .NET. Компилятор с C# входит в стандартную установку самой .NET, поэтому программы на нём можно создавать и компилировать даже без инструментальных средств вроде Visual Studio.

Linux (полное название GNU/Linux, произносится «гну слэш ли́нукс») общее название UNIX-подобных операционных систем на основе одноимённого ядра и собранных для него библиотек и системных программ, разработанных в рамках проекта GNU. Краткое название Linux распространено потому, что первой, наиболее популярной и единственной системной библиотекой, использовавшейся в системах на базе ядра Linux, была GNU C Library (glibc).

Microsoft Windows (произносится /ˈwɪndoʊz/) — семейство проприетарных операционных систем компании Майкрософт (Microsoft).

Microsoft .NET Framework — программная технология, предназначенная для создания как обычных программ, так и веб-приложений (в качестве платформы для разработок впервые предложена корпорацией Microsoft).

Стьюдент - это псевдоним английского математика и химика Госсета


Приложение2

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace проверка_воспроизводимости

class Program

{

static void Main(string[] args)

{

*Пример эксперимента выхода вареной рыбы y(%), зависячая от

двух факторов: тепературы и времени запекания*/

int temp1=60, temp2=70, temp3=80, temp4=90;

int time1=15, time2=18, time3=10, time4=12;

double make1 = 95.5, make2 = 96.8;

double make3 = 98.8, make4 = 96.1;

double make5 = 75.4, make6 = 76.1;

double make7 = 65.5, make8 = 74.1;

double yi1 = (make1 + make2) / 2;

double yi2 = (make3 + make4) / 2;

double yi3 = (make5 + make6) / 2;

double yi4 = (make7 + make8) / 2;

double s1 = System.Math.Round((1 / 2 - 1) * System.Math.Pow((make1 - yi1), 2) * System.Math.Pow((make2 - yi1), 2), 2);

double s2 = System.Math.Round((1 / 2 - 1) * System.Math.Pow((make3 - yi2), 2) * System.Math.Pow((make4 - yi2), 2), 2);

double s3 = System.Math.Round((1 / 2 - 1) * System.Math.Pow((make5 - yi3), 2) * System.Math.Pow((make6 - yi3), 2), 2);

double s4 = System.Math.Round((1 / 2 - 1) * System.Math.Pow((make7 - yi4), 2) * System.Math.Pow((make8 - yi4), 2), 2);

double s1b = s1 - s1 - s1;

double s2b = s2 - s2 - s2;

double s3b = s3 - s3 - s3;

double s4b = s4 - s4 - s4;

таблица для вывода результатов

Console.WriteLine("-------------------------------------------------------");

Console.WriteLine("| Номер | Условия | Результаты | _ | |");

Console.WriteLine("| серии | опытов | измерений | уi,% | Si^2 |");

Console.WriteLine("| опытов|------|------ |------|------| | |");

Console.WriteLine("| | Темп | Время | 1 | 2 | | |");

Console.WriteLine("-------------------------------------------------------");

Console.WriteLine("| 1 | {0} | {1} | {2} | {3} | {4} | {5} |", +

temp1, time1, make1, make2, yi1, s1b);

Console.WriteLine("| 2 | {0} | {1} | {2} | {3} | {4} | {5} |", +

temp2, time2, make3, make4, yi2, s2b);

Console.WriteLine("| 3 | {0} | {1} | {2} | {3} | {4} | {5} |", +

temp3, time3, make5, make6, yi3, s3b);

Console.WriteLine("| 4 | {0} | {1} | {2} | {3} | {4} | {5} |", +

temp4, time4, make7, make8, yi4, s4b);

Console.WriteLine("-------------------------------------------------------");

double MaxS1 = System.Math.Max(s1b, s2b);

double MaxS2 = System.Math.Max(s3b, s4b);

double MaxS0 = System.Math.Max(MaxS1, MaxS2);

double Gp = System.Math.Round(MaxS0 / (s1b + s2b + s3b + s4b),3);

if (Gp <= 0.907)

{

Console.WriteLine("Эксперимент воспроизводим {0}<0.907",Gp);

}

else

{

Console.WriteLine("Эксперимент не воспроизводим {0}>0.907", Gp);

}

}

}


Литература

·   Эндрю Троелсен Язык программирования C# 2005 (Си Шарп) и платформа .NET 2.0 = Pro C# 2005 and the .NET 2.0 Platform. — 3-е изд. — М.: «Вильямс», 2007. — С. 1168. — ISBN 1-59059-419-3

·   Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер C# 2008 и платформа .NET 3.5 для профессионалов = Professional C# 2008. — М.: «Диалектика», 2008. — ISBN 978-5-8459-1458-3

·   Робинсон С., Корнес О. и др. C# для профессионалов//М., Лори, 2005 - С.123. ISBN 1-86100-499-0

·   Гордон Хогенсон C++/CLI: язык Visual C++ для среды .NET = C++/CLI Primer. — М.: «Вильямс», 2007. — С. 464. — ISBN 1-59059-705-2

·   http://ru.wikipedia.org/wiki/Ubuntu - Ubuntu Linux

·   http://ru.wikipedia.org/wiki/Windows_7 - Microsoft Windows 7

·   http://ru.wikipedia.org/wiki/Microsoft_Windows - Microsoft Windows

·   http://ru.wikipedia.org/wiki/.NET_Framework - .NET Framework

·   http://customize.ru/ themes_stylexp4.html - Скриншоты Windows Vista

·   http://www.linux.org.ru/view-news.jsp?year=1999&month=11&section=3 – Архив скриншотов Linux 1999 ноябрь


Информация о работе «Компьютерное моделирование технологических процессов»
Раздел: Информатика, программирование
Количество знаков с пробелами: 145835
Количество таблиц: 10
Количество изображений: 19

Похожие работы

Скачать
16838
12
0

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

Скачать
41412
1
8

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

Скачать
183168
7
85

... БИОРЕАКТОРА Лист 90 Доклад. Уважаемые члены государственной экзаменационной комиссии разрешите представить вашему вниманию дипломный проект на тему: «Система автоматизированного управления процесса стерилизации биореактора» Процесс стерилизации биореактора (или ферментера) является важной стадией процесса биосинтеза антибиотика эритромицина. Суть процесса стерилизации состоит в ...

Скачать
15417
11
0

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

0 комментариев


Наверх