написать код к двум задачам по си шарп 1.4 Постановка задачи
Одноканальная система (СМО) с отказами
Одноканальная СМО с отказами представляет собой одну теле-фонную линию. Заявка – вызов, пришедший в момент, когда линия занята, получает отказ. Интенсивность потока вызовов λ = 0,8 (вызовов в минуту). Средняя продолжительность разговора tоб = 1,5 мин. Все потоки событий – про¬стейшие. Определить предельные (при t→∞) значения:
1) относительной пропускной абсолютной пропускной А;
3) вероятности отказа Ротк.
Сравнить фактическую пропускную СМО с номинальной, ко¬торая была бы, если бы каждый разговор длился в точности 1,5 мин, и разгово¬ры следовали бы один за другим без перерыва.
Многоканальная СМО с отказами
Контроль готовой продукции фирмы осуществляют три контролера. Если изделие поступает на контроль, когда все контролеры заняты проверкой готовых изделий, то оно остается непроверенным. Среднее число изделий, выпускаемых фирмой, составляет 20 изд./ч. Среднее время на проверку одного изделия - 7 мин.
Определить показатели эффективности отдела технического контроля. Сколько контролеров необходимо поставить, чтобы вероятность обслуживания составила не менее 97%?
1.5 Решения задачи
1) Решения задачи одноканальной системы (СМО) с отказами
Определяем параметр μ потока обслуживаний:
μ =1/ tоб = 1/1,5 = 0,667.
Получаем относительную пропускную СМО:
q = 0,667/█(0,8+0,667) = 0,455.
Таким образом, в установившемся режиме система будет обслуживать около 45% поступающих вызовов.
Находим абсолютную пропускную А = λq = 0,8•0,455 » 0,364,
т. е. линия осуществить в среднем 0,364 разговора в минуту. Вероятность отказа: Ротк= 1 – q = 0,545,
значит около 55% поступивших вызовов будет получать отказ.
Номинальная пропускная канала:
Aном = 1/tоб = 0,667 (разговора в минуту),
что почти вдвое больше, чем фактическая пропускная получаемая с учетом случайного характера потока заявок и случайности времени обслужи¬вания.
2) Решения задачи многоканальной СМО с отказами
Контроль представляет собой открытую многоканальную систему массового обслуживания с отказом в обслуживании.
За единицу измерения времени выберем час. Будем считать, что контроль работает в установившемся режиме.
По условию задачи
n=3 –число каналов обслуживания
изделий в час –интенсивность потока заявок
изделий в час –интенсивность потока обслуживания
Вычислим –относительные интенсивности переходов из состояние в состояние:
Вычислим p0 :
Вероятность отказа:
Вероятность обслуживания:
Абсолютная пропускная системы:
–среднее число заявок, обслуживаемых системой в единицу времени.
Среднее число каналов, занятых обслуживанием заявки:
Вычислим, сколько контролеров нужно поставить, чтобы вероятность обслуживания составила не менее 97%:
Таким образом, чтобы вероятность обслуживания составляла не менее 97%, необходимо иметь 6 контролеров.
Так как язык не указан, приведу пример на SWI-Prolog.
Код:
read_int(Int) :- read(Int), integer(Int).split_int_by_numbers(0, []) :- !.split_int_by_numbers(N, [Number|Ints]) :- Number is mod(N, 10), RestN is div(N, 10), split_int_by_numbers(RestN, Ints).test_to_div(_, []).test_to_div(N, [Number|Ints]) :- mod(N, Number) =:= 0, test_to_div(N, Ints). test(Int) :- split_int_by_numbers(Int, Numbers), test_to_div(Int, Numbers), write(Int), write(" - Yes!"), nl.test(Int) :- write(Int), write(" - No!"), nl.?- read_int(Int), test(Int).// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
begin
var a:=ArrRandom(ReadInteger('n='),0,2); a.Println;
a.Sorted.Println
end.
Тестовое решение:
n= 15
1 2 0 2 2 0 2 0 2 0 0 1 0 0 2
0 0 0 0 0 0 0 1 1 2 2 2 2 2 2
2. Но, поскольку считается, что школьникам больше заняться нечем, их заставляют писать примерно в таком стиле (и время займет, и ощибок понаделают):
// PascalABC.NET 3.1, сборка 1198 от 11.03.2016
const
nn=100;
var
i,j,n,t:integer;
a:array[1..nn] of integer;
begin
Write('n='); Read(n);
Randomize;
for i:=1 to n do begin
a[i]:=Random(3);
Write(a[i],' ')
end;
Writeln;
for i:=1 to n-1 do
for j:=1 to n-1 do
if a[j]>a[j+1] then begin
t:=a[j]; a[j]:=a[j+1]; a[j+1]:=t
end;
for i:=1 to n do Write(a[i],' ');
Writeln;
end.
Тестовое решение:
n=15
0 1 1 0 2 1 0 2 1 2 1 0 0 2 0
0 0 0 0 0 0 1 1 1 1 1 2 2 2 2