Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
4 / 4 / 4
Регистрация: 03.01.2015
Сообщений: 449
1

Система передачи данных

06.10.2017, 18:12. Показов 971. Ответов 2
Метки нет (Все метки)

Добрый день!
Помогите, пожалуйста, реализовать данную систему
"Система передачи данных обеспечивает передачу пакетов данных из пункта А в пункт С через транзитный пункт В. В пункт А пакеты поступают с интервалом 10 мс. Здесь они буферизируются в накопители емкостью 20 пакетов и передаются в пункт В по любой из двух линий АБ1 за время 20 мс или АВ2 за время 20 мс. В пункте В они снова буферизируются в накопителе емкостью 25 пакетов и далее передаются в пункт С по любой из двух линий: ВС1 за время 25 мс или ВС2 за время 25 мс. Причем пакеты из АВ1 поступают в ВС1, а из АВ2 в ВС2. Чтобы не было переполнения накопителя в пункте В, при достижении очередью порогового значения 20 происходит подключение резервной аппаратуры и время передачи снижается для линий ВС1 и ВС2 до 15 мс. При передаче пакета по любой из линий происходит 0 сбоев. Если количество сбоев превысило три, то пакет передается заново. Смоделировать прохождение через систему передачи данных 1000 пакетов."
0

Помощь в написании контрольных, курсовых и дипломных работ здесь.

Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.10.2017, 18:12
Ответы с готовыми решениями:

Типы данных С# для передачи данных через TCP
подскажите пожалуйста какой тип переменной лучше всего использовать в C# для передачи данных через...

Система передачи данных
Система передачи данных обеспечивает передачу пакетов дан*ных из пункта А в пункт C через...

Система передачи данных. Ограничение размера очереди (накопителя)
Нужно выполнить вот такую задачу:"Система передачи данных обеспечивает передачу пакетов данных из...

Задача "система передачи данных"
Программа работает, но почему-то 6 транзактов остаются в блоке ТРАНСФЕР, и 19 в блоке ТЕСТ. Что не...

2
Эксперт .NET
9194 / 6551 / 1071
Регистрация: 21.01.2016
Сообщений: 24,791
06.10.2017, 19:22 2
Maray, выкладывайте код и развёрнутое описание того, что у вас не получилось.
1
4 / 4 / 4
Регистрация: 03.01.2015
Сообщений: 449
08.10.2017, 20:59  [ТС] 3
Лучший ответ Сообщение было отмечено Maray как решение

Решение

Правильно ли я поняла задание и выполнила его?
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
 
namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            int PunktA = 0;
            bool LineAB1 = true;
            bool LineAB2 = true;
            int PunktB1 = 0;
            int PunktB2 = 0;
            bool LineBC1 = true;
            bool LineBC2 = true;
            int PunktC = 0;
            int Time = 0;
            int TimeA = 0;
            int TimeAB1 = 0;
            int TimeAB2 = 0;
            int TimeBC1 = 0;
            int TimeBC2 = 0;
            int TiBC = 20;
 
            Console.Write("Введите количество передаваемых пакетов: ");
            int Package = Convert.ToInt32(Console.ReadLine());
            do
            {
                Time = Time + 5;
                TimeA = TimeA + 5;
                if (LineAB1 == false)
                {
                    TimeAB1 = TimeAB1 + 5;
                    if (TimeAB1 == 20)
                    {
                        LineAB1 = true;
                        PunktB1 = PunktB1 + 20;
                        TimeAB1 = 0;
                    }
                }
                else
                if (LineAB2 == false)
                {
                    TimeAB2 = TimeAB2 + 5;
                    if (TimeAB2 == 20)
                    {
                        LineAB2 = true;
                        PunktB2 = PunktB2 + 20;
                        TimeAB2 = 0;
                    }
                }
                if (PunktB1+PunktB2 >= 20)
                {
                    TiBC = 15;
                }
                if (LineBC1 == false)
                {
                    TimeBC1 = TimeBC1 + 5;
                    if (TimeBC1 == TiBC)
                    {
                        LineBC1 = true;
                        PunktC = PunktC + 25;
                        TimeBC1 = 0;
                    }
                }
                else
                if (LineAB2 == false)
                {
                    TimeBC2 = TimeBC2 + 5;
                    if (TimeBC2 == TiBC)
                    {
                        LineBC2 = true;
                        PunktC = PunktC + 25;
                        TimeBC2 = 0;
                    }
                }
                if(TimeA == 10)
                {
                    PunktA = PunktA + 1;
                    TimeA = 0;
                }
                if(PunktA>20)
                {
                    if (LineAB1 == true)
                    {
                        LineAB1 = false;
                        PunktA = PunktA - 20;
                    }
                    else
                    {
                        LineAB2 = false;
                        PunktA = PunktA - 20;
                    }
                }
                if(PunktB1>25)
                {
                    if (LineBC1 == true)
                    {
                        LineBC1 = false;
                        PunktB1 = PunktB1 - 25;
                    }
                }
                if (PunktB2 > 25)
                {
                   if(LineBC2==true)
                   {
                        LineBC2 = false;
                        PunktB2 = PunktB2 - 25;
                    }
                }
                if(Time%15==0)
                {
                Console.WriteLine("Время: {0}мс. Количество пакетов в пунктах: A: {1}, B: {2}, C: {3}.", Time, PunktA, PunktB1+PunktB2, PunktC);
                }
            }
            while(PunktC<Package);
            Console.ReadLine();
        }
    }
}
Добавлено через 5 часов 23 минуты
И нужно чтобы еще выводилась вероятность подключения резервной аппаратуры и время работы резервной аппаратуры. Помогите, пожалуйста
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2017, 20:59

Слияние с WORD базы данных ACCESS (изменение вида передачи данных)
Уважаемые знатоки! В VBA новичок, прошу помощи, очень надо.

Модель "Система передачи цифровой информации". Отчет в GPSS
Друзья, помогите разобраться с отчетом, который выдает GPSS после моделирования, никак не понимаю....

Передачи данных в функцию
Здравствуйте проблема вот в чем. После оформления части программы в прототип функции (scan_name)...

Безопасность передачи данных
Здравствуйте форумчане! Я тут пишу клиент-серверную программку, общение клиента и сервера...

Режимы передачи данных
Здравствуйте! Проблемка с винчестером У меня почему-то винчестер стал работать медленнее,...

Реализация передачи данных
Добрый день форумчане. Мучает такой вопрос. Можно ли реализовать передачу (копирование) данных с ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.