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.
Рис. р.1.1 Создание нового проекта
2. В окне создания проекта выберите консольное приложение и задайте ему имя например «Project1» рис. p.1.2.
Рис. р.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§ion=3 – Архив скриншотов Linux 1999 ноябрь
рсового проектирования__________ . Компьютерное моделирование технологических процессов на основе выбранных актуальных моделей пищевой промышленности Технологическая система представляет собой совокупность функционально связанных средств технологического оснащения, предметов производства и исполнителей для выполнения в регламентированных условиях производства заданных технологических ...
... к сложной формообразующей оснастке и инструменту. Еще одна важная задача ТПП - управление процессами ТПП. Автоматизация управления процессами ТПП позволяет обеспечить эффективное комплексное решение всех задач подготовки производства. Работы по технологической подготовке производства выполняются соответствующими подразделениями и службами предприятия. Как правило, наибольший объем работ и общее ...
... БИОРЕАКТОРА Лист 90 Доклад. Уважаемые члены государственной экзаменационной комиссии разрешите представить вашему вниманию дипломный проект на тему: «Система автоматизированного управления процесса стерилизации биореактора» Процесс стерилизации биореактора (или ферментера) является важной стадией процесса биосинтеза антибиотика эритромицина. Суть процесса стерилизации состоит в ...
... Современные информационные технологии позволяют оперативно и оптимальным образом принимать решение по управлению технологическим процессом. 1. Оптимизация производственных затрат пивоваренного производства и моделирование расхода сырья Основное пивоваренное сырье – это пивоваренный солод с добавкой несоложенных материалов (ячменя, рисовой сечки, обезжиренной кукурузы, сахара), вода, хмель ...
0 комментариев