// PascalABC.NET 3.0, сборка 1144 от 16.01.2016 begin var a:array[1..2,1..6] of integer:= ((12,32,41,3,4,7),(9,19,23,24,27,39)); Writeln(a); var b:=MatrixRandom(10,10,6,43); Writeln(b) end.
Если каждая цифра и каждая буква кодируются независимо и минимально-возможным число бит, то используются два различных алфавита: 64 символа для букв и 10 символов для цифр. 64 = 2⁶, поэтому символы буквенного алфавита кодируется 6 битами. 2³ ≤ 10 ≤ 2⁴, поэтому символы цифрового алфавита кодируются 4 битами. - код региона (2 цифры) кодируется 2×4=8 битами; - код образовательной организации (4 буквенных символа, за которыми следуют 2 цифры) кодируется 4×6+2×4 = 32 битами; - номер класса (2 цифры) кодируется 2×4 = 8 битами; - буква класса (1 буква) кодируется 6 битами; - код предмета (2 буквенных символа) кодируется 2×6 = 12 битами; - фамилия участника (12 буквенных символов) кодируется 12×6 = 72 битами. Итого, бланк кодируется 8+32+8+6+12+72 = 138 битами. Известно, что бланк кодируется целым числом байт. В байте 8 бит, тогда бланк будет занимать 138/8 = 17.25 с округлением в большую сторону до 18 байт. 100 участников от каждой школы - это 100 бланков или 100×18 = 1800 байт. Для 20 школ это значение увеличится в 20 раз: 20×1800 = 36000 байт. В килобайте 1024 байта и окончательно получаем 36000/1024 = 35.15625 т.е. 36 Кбайт для хранения. ответ: 36 Кбайт.
begin
var a:array[1..2,1..6] of integer:=
((12,32,41,3,4,7),(9,19,23,24,27,39));
Writeln(a);
var b:=MatrixRandom(10,10,6,43);
Writeln(b)
end.
Тестовое решение:
[[12,32,41,3,4,7],[9,19,23,24,27,39]]
[[29,39,20,21,36,34,10,25,32,40],[35,12,21,17,32,7,38,25,41,29],[6,33,17,19,30,25,34,37,21,23],[11,36,12,14,36,39,14,26,33,33],[17,34,39,30,14,34,29,19,20,26],[31,11,23,43,14,39,28,6,34,17],[43,17,10,15,35,42,6,13,25,36],[37,18,35,13,18,15,38,31,11,40],[39,21,22,38,36,43,18,12,43,40],[17,13,35,22,34,43,30,29,38,15]]
64 = 2⁶, поэтому символы буквенного алфавита кодируется 6 битами.
2³ ≤ 10 ≤ 2⁴, поэтому символы цифрового алфавита кодируются 4 битами.
- код региона (2 цифры) кодируется 2×4=8 битами;
- код образовательной организации (4 буквенных символа, за которыми следуют 2 цифры) кодируется 4×6+2×4 = 32 битами;
- номер класса (2 цифры) кодируется 2×4 = 8 битами;
- буква класса (1 буква) кодируется 6 битами;
- код предмета (2 буквенных символа) кодируется 2×6 = 12 битами;
- фамилия участника (12 буквенных символов) кодируется 12×6 = 72 битами.
Итого, бланк кодируется 8+32+8+6+12+72 = 138 битами.
Известно, что бланк кодируется целым числом байт. В байте 8 бит, тогда бланк будет занимать 138/8 = 17.25 с округлением в большую сторону до 18 байт.
100 участников от каждой школы - это 100 бланков или 100×18 = 1800 байт.
Для 20 школ это значение увеличится в 20 раз: 20×1800 = 36000 байт.
В килобайте 1024 байта и окончательно получаем 36000/1024 = 35.15625 т.е. 36 Кбайт для хранения.
ответ: 36 Кбайт.