// PascalABC.NET 3.2, сборка 1416 от 26.03.2017 // Внимание! Если программа не работает, обновите версию!
begin var n:=ReadInteger('Количество строк в массиве:'); var m:=ReadInteger('Количество столбцов в массиве:'); Writeln('*** Исходный массив [',n,',',m,'] ***'); var a:=MatrRandom(n,m,-99,99); a.Println(4); Writeln(4*a.ColCount*'-'); a:=a.ConvertAll(x->x.IsEven?x-2:6); a.Println(4) end.
Пример Количество строк в массиве: 4 Количество столбцов в массиве: 7 *** Исходный массив [4,7] *** 54 -66 74 72 19 58 32 -84 -51 20 62 -8 -1 -2 77 44 95 -26 -36 79 32 14 9 -14 -87 -18 -23 96
16 цветов кодируются 4 битами (2^4=16), т. е. при 256 Кб (килобит) может быть адресовано 256/16=16 К 16-цветных пикселей. Количество пикселей в экране будет В*Г (В - вертикальное разрешение, Г-горизонтальное) . При указанном соотношении 1,33 (4:3) будет верным равенство В*Г=(4/3)*В^2. Тогда В=Кв. Корень [(3/4)*16384/C] (16К=16384, С-количество страниц) . При С=1 выходит В=110.85... Ясное дело, вертикальное разрешение должно быть целым, т. е. это будет 110 или 111. Поскольку Г=В*4/3=147.8...,и горизонтальное разрешение тоже должно быть целым, выходит 147 или 148. Т. е. возможны разрешения 147*111 (всего 16317 пикселей из 16384 возможных) либо 148*110 (16280 пикселей) При С=2 выйдет В=78.38...,Г=104.51...,т. е. возможно разрешение 105*78 (всего 8190 пикселей из 8192 возможных) . Для разрешения 104*79 не хватит памяти, поскольку 8216>8192. При С=4 выйдет В=55.42...,Г=73.9...,т. е. возможны разрешения 74*55 (всего 4070 пикселей из 4096 возможных) или 73*56 (4088 из 4096).
// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadInteger('Количество строк в массиве:');
var m:=ReadInteger('Количество столбцов в массиве:');
Writeln('*** Исходный массив [',n,',',m,'] ***');
var a:=MatrRandom(n,m,-99,99);
a.Println(4); Writeln(4*a.ColCount*'-');
a:=a.ConvertAll(x->x.IsEven?x-2:6);
a.Println(4)
end.
Пример
Количество строк в массиве: 4
Количество столбцов в массиве: 7
*** Исходный массив [4,7] ***
54 -66 74 72 19 58 32
-84 -51 20 62 -8 -1 -2
77 44 95 -26 -36 79 32
14 9 -14 -87 -18 -23 96
52 -68 72 70 6 56 30
-86 6 18 60 -10 6 -4
6 42 6 -28 -38 6 30
12 6 -16 6 -20 6 94