almazsit85
?>

Буфер состоит из 31 ячейки памяти. в память последовательно записываются пронумерованные блоки данных из 10 ячеек каждый. алгоритм записи реализован следующим образом: определяется, есть ли хотя бы одна последовательность из 10 идущих подряд пустых ячеек. если таких последовательностей нет, то выполнение алгоритма завершается. если есть одна или несколько таких последовательностей, то из всех вариантов таких последовательностей с равной вероятностью выбирается одна, и в нее записывается очередной блок данных. после этого осуществляется переход к шагу 1. запустив многократно этот алгоритм, петя понял, что после завершения алгоритма есть только два возможных варианта: в буфере оказываются записанными 2 или 3 блока данных. будем называть состоянием буфера после завершения алгоритма совокупность данных о том, какой по порядку записи блок в каких ячейках записан. важно отметить, что состояния, при которых в буфере заняты одни и те же ячейки, но разными по порядку записи блоками – различаются. для ускорения работы с буфером петя решил проиндексировать отдельно все возможные состояния буфера после завершения алгоритма, при которых в буфере оказались записанными ровно 2 блока (индекс типа a) и отдельно все возможные состояния буфера после завершения алгоритма, при которых в буфере оказались записанными ровно 3 блока (индекс типа b каждый индекс – целое число, уникально идентифицирующее соответствующее состояние. для хранения каждого индекса типа a петя решил выделить в памяти минимально возможное, одинаковое для всех индексов типа a количество бит x. для хранения каждого индекса типа b петя решил выделить в памяти минимально возможное, одинаковое для всех индексов типа b количество бит y. найдите x и y и запишите в ответе через пробел два целых числа – сначала значение x, затем значение y.

Информатика

Ответы

ribanina
Const n=20;
type omas=array[1..n] of integer;
Procedure Del (var z:omas; k:byte); 
var i:byte; 
begin 
for i:=k to n-1 do z[i]:=z[i+1]; 
z[n]:=0; 
end; 
var a:omas; i,b:integer;
begin
Randomize;
for i:=1 to n do
 begin
 a[i]:=random(20);
 write(a[i]:4);
 end;
writeln;
b:=6;
i:=1;
while (i<=n)and(a[i]<>b) do i:=i+1;
if i<=n then
  begin
  Del(a,i);
 writeln('Размерность массива = ',n-1);
 for i:=1 to n-1 do write(a[i]:4);
 writeln;
 end  else writeln('Массив не изменился');
end.
Пример:
  12  13   6   7  17   1  18  17   3   2  12   3  16   6   7  13   0   2   5  18
Размерность массива = 19
  12  13   7  17   1  18  17   3   2  12   3  16   6   7  13   0   2   5  18
konstantin0112
Таблицы позволяют объединить однотипные данные в более-менее читабельную структуру, чего не делает словесное описание (как, например, приятней читать таблицу с датами и описанием исторических событий в таблице, чем читать словесную демагогию в учебиках). Таблицы позволяют ужать данные в размере, читателю сосредоточиться на главном. Они позволяют операторам обрабатывать её без каких-либо затруднений.

Еще пример: магазинные чеки. Не будет же машина (из-за технической сложности) или человек (из-за лени) писать на чеке: "продано столько-то столько-то того-то того-то ... пакет апельсинов весил шестьсот пядесят три грамма ... итд". На чеке будет табличка, где четко и точно будет написано то, что человек приобрел.
Вот. Так что табличные модели, несомненно, лучше словесных.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Буфер состоит из 31 ячейки памяти. в память последовательно записываются пронумерованные блоки данных из 10 ячеек каждый. алгоритм записи реализован следующим образом: определяется, есть ли хотя бы одна последовательность из 10 идущих подряд пустых ячеек. если таких последовательностей нет, то выполнение алгоритма завершается. если есть одна или несколько таких последовательностей, то из всех вариантов таких последовательностей с равной вероятностью выбирается одна, и в нее записывается очередной блок данных. после этого осуществляется переход к шагу 1. запустив многократно этот алгоритм, петя понял, что после завершения алгоритма есть только два возможных варианта: в буфере оказываются записанными 2 или 3 блока данных. будем называть состоянием буфера после завершения алгоритма совокупность данных о том, какой по порядку записи блок в каких ячейках записан. важно отметить, что состояния, при которых в буфере заняты одни и те же ячейки, но разными по порядку записи блоками – различаются. для ускорения работы с буфером петя решил проиндексировать отдельно все возможные состояния буфера после завершения алгоритма, при которых в буфере оказались записанными ровно 2 блока (индекс типа a) и отдельно все возможные состояния буфера после завершения алгоритма, при которых в буфере оказались записанными ровно 3 блока (индекс типа b каждый индекс – целое число, уникально идентифицирующее соответствующее состояние. для хранения каждого индекса типа a петя решил выделить в памяти минимально возможное, одинаковое для всех индексов типа a количество бит x. для хранения каждого индекса типа b петя решил выделить в памяти минимально возможное, одинаковое для всех индексов типа b количество бит y. найдите x и y и запишите в ответе через пробел два целых числа – сначала значение x, затем значение y.
Ваше имя (никнейм)*
Email*
Комментарий*