Помощь в написании студенческих работ
Антистрессовый сервис

Додаток А. Проектування системи масового обслуговування

РефератПомощь в написанииУзнать стоимостьмоей работы

AverageEmptySectionOne += ((Convert.ToDouble (this.emptySectionOne) * 100) / (Convert.ToDouble (timeHours) * 60)); Int sectionOne, sectionTwo, assembledDetails, emptySectionOne, emptySectionTwo, emptyConveyor, emptyError; //. If (busy == false && sectionOne > needGoodsToCompilation && sectionTwo > needGoodsToCompilation) emptyError++; EmptySectionOne = 0; emptySectionTwo = 0; emptyConveyor = 0… Читать ещё >

Додаток А. Проектування системи масового обслуговування (реферат, курсовая, диплом, контрольная)

Малюнок 2 Звіт GPSS World.

Додаток Б

Малюнок 3 Діаграма класів.

Малюнок 4 Діаграма послідовності.

Малюнок 5 Діаграма варіантів.

Малюнок 6 Діаграма станів.

Малюнок 7 Діаграма компонентів.

Малюнок 8 Діаграма розгортання.

Додаток В

using System;

using System.Collections.Generic;

using System. Linq;

using System. Text;

using System.Threading.Tasks;

namespace ConsoleApplication1.

{.

class ClassConveyor.

{.

private.

int timeHours, needGoodsToCompilation; byte timeCompilation; //условие.

int sectionOne, sectionTwo, assembledDetails, emptySectionOne, emptySectionTwo, emptyConveyor, emptyError; //.

ClassProduct first = new ClassProduct (), second = new ClassProduct ();

//timeFirstStep = 5, timeSecondStep = 20, rangeFirstStep = 1, rangeSecondStep = 7.

public ClassConveyor () //консттруктор

{.

timeHours = 8;

timeCompilation = 10;

needGoodsToCompilation = 10;

}.

private void Compilation ().

{.

ClassProduct first = new ClassProduct (5, 5, 1);

ClassProduct second = new ClassProduct (20, 20, 7);

bool busy = false; //занятость конвейера.

byte counterBusy=0; //счетчик занятости конвейера.

assembledDetails = 0; //собранно деталей.

sectionOne = 0; sectionTwo = 0; //накопитель изделий перед сборкой.

emptySectionOne = 0; emptySectionTwo = 0; emptyConveyor = 0; emptyError = 0; //счетчик простоя.

int counterBusyFirst = first. TimeToSupply (), counterBusySecond = second. TimeToSupply ();//время поступления изделий 1и2 типа.

for (int i = 0; i < timeHours * 60; i++)//время.

{.

if (counterBusyFirst > 0)//поступает изделий 1 типа.

{.

counterBusyFirst—;

if (counterBusyFirst == 0).

{.

sectionOne += first. ProductGet ();

counterBusyFirst = first. TimeToSupply ();

}.

}.

if (counterBusySecond > 0)//поступает изделий 2 типа.

{.

counterBusySecond—;

if (counterBusySecond == 0).

{.

sectionTwo += second. ProductGet ();

counterBusySecond = second. TimeToSupply ();

}.

}.

if (sectionOne >= needGoodsToCompilation && sectionTwo >= needGoodsToCompilation && busy==false).

{.

busy = true; counterBusy = timeCompilation;

sectionOne -= needGoodsToCompilation;

sectionTwo -= needGoodsToCompilation;

}.

if (busy == false && sectionOne < needGoodsToCompilation) emptySectionOne++;

if (busy == false && sectionTwo < needGoodsToCompilation) emptySectionTwo++;

if (busy == false && sectionOne > needGoodsToCompilation && sectionTwo > needGoodsToCompilation) emptyError++;

if (busy == false) emptyConveyor++;

if (busy && counterBusy ≠ 0).

{.

counterBusy—;

if (counterBusy == 0).

{.

busy = false;

assembledDetails++;

}.

}.

}.

}.

private void Result (int x, double y, double a, double b).

{.

Console.Clear ();

Console.Write («Зроблених деталей = «); Console. WriteLine (x);

Console.WriteLine («Вiдсоток простою конвеєра = {0:f3}», y," %");

Console.WriteLine («Вiдсоток простою конвеєра через секцiї № 1 = {0:f3}», a," %");

Console.WriteLine («Вiдсоток простою конвеєра через секцiї № 2 = {0:f3}», b," %");

}.

public void Analysis ().

{.

int averageAssembledDetails = 0, quantity = 10 000;

double averageEmptyConveyor = 0, averageEmptySectionOne = 0, averageEmptySectionTwo = 0;

for (int j = 0; j < quantity; j++).

{.

this.Compilation ();

averageAssembledDetails += this. assembledDetails;

averageEmptyConveyor += ((Convert.ToDouble (this.emptyConveyor)*100)/(Convert.ToDouble (timeHours)*60));

averageEmptySectionOne += ((Convert.ToDouble (this.emptySectionOne) * 100) / (Convert.ToDouble (timeHours) * 60));

averageEmptySectionTwo += ((Convert.ToDouble (this.emptySectionTwo) * 100) / (Convert.ToDouble (timeHours) * 60));

}.

averageAssembledDetails /= quantity;

averageEmptyConveyor /= quantity;

averageEmptySectionOne /= quantity;

averageEmptySectionTwo /= quantity;

Result (averageAssembledDetails, averageEmptyConveyor, averageEmptySectionOne, averageEmptySectionTwo);

}.

}.

class ClassProduct.

{.

private int product, timeStep, rangeTime;

public ClassProduct () { }.

public ClassProduct (int c, int t, int r).

{.

product = c;

timeStep = t;

rangeTime = r;

}.

public int TimeToSupply ().

{.

Random r= new Random ();

if (r.Next (2) == 0) return timeStep + r. Next (rangeTime + 1);

else return timeStep — r. Next (rangeTime + 1);

}.

public int ProductGet ().

{.

return product;

}.

}.

class Program.

{.

static void Main (string[] args).

{.

ClassConveyor x = new ClassConveyor ();

x.Analysis ();

Console.ReadKey ();

}.

}.

}.

Показать весь текст
Заполнить форму текущей работой