Узел a передает файл, размером 544 кбайт узлу с через буферный узел b в соответствии со следующими правилами: файл разбивается на пакеты, размером 32 кбайт. узел a передает пакеты буферному узлу b по одному со скоростью 65536 бит в секунду. узел a начинает передавать следующий пакет сразу же после
окончания передачи предыдущего пакета, пока не закончится передача всех пакетов. на буферном узле b имеется изначально пустой буфер размером x пакетов, в который записываются пакеты, передаваемые узлом a. место для очередного передаваемого пакета резервируется в момент начала передачи целиком под
один пакет. как только в буфере появился целиком пакет, узел c начинает его скачивать из буфера со скоростью 32768 бит в секунду. одновременно может скачиваться только один пакет. если узел c скачал целиком пакет и в этот момент времени в буфере есть еще пакет, то узел c незамедлительно начнет его
скачивать. как только узел c закончил скачивать пакет, он удаляется из буфера, освобождая место. если узел a пытается передать буферному узлу b пакет, но в буфере не осталось свободного места, происходит ошибка и передача файла считается неуспешной. при каком минимальном размере буфера x возможна
успешная передача указанного файла? в ответе укажите целое число пакетов – требуемый размер буфера.
DIM a(10) AS SINGLE, b(10) AS SINGLE, x(10) AS SINGLE
RANDOMIZE TIMER
FOR i = 1 TO 10
a(i) = 30 * RND - 15
NEXT i
FOR i = 1 TO 10
b(i) = 40 * RND - 20
NEXT i
CLS
PRINT "A", "B", "X"
FOR i = 1 TO 10
IF a(i) = 0 THEN
x(i) = 1E+10
ELSE
x(i) = b(i) / a(i)
END IF
PRINT a(i), b(i), x(i)
NEXT i
Тестовое решение:
A B X
-5.504717 19.41665 -3.527274
-5.233851 -11.24631 2.148764
-5.154725 2.927625 -.5679499
5.057724 -8.649354 -1.710128
-6.304109 -19.25289 3.054023
-1.920151 6.061134 -3.156593
-10.34241 17.10881 -1.654238
13.86053 .4965448 3.582438E-02
-4.931755 8.241055 -1.671019
8.120502 8.78438 1.081753