1. Определим размер записи.
Трехзначное десятичное число - это число от 100 до 999. Таких чисел может быть 900. Поскольку 2⁹<900<2¹⁰, то для кодирования нам потребуется 10 бит. По условию числа кодируются неким целым число байт. В байте 8 бит, поэтому для представления 10 бит потребуется 2 байта.
Итого, длина записи составит 12+2=14 байт.
2. Определим возможное количество записей.
2 Кбайта = 2×1024 байта = 2048 байт.
Количество записей равно 2048/14 =146.3 записи.
Отбрасывая дробную часть, получим 146 записей.
1) 250 * 55 * 40 = 550000 всего символов в книге
2) В стандартной кодировке 1 символ кодируется 1 байтом, значит
550000 * 1 = 550000 байт = 537,1 Кб объем информации в книге
3) 2ГБ = 2048 МБ = 2097152 КБ
4) 2097152 / 537,1 = 3904 книги поместится на флешке
var
a: array [1..16] of integer; //Массив из 16 целых чисел
i: integer;
begin
randomize;
write('Исходный массив: ');
for i:= 1 to 16 do {Заполняем массив случайными целыми числами от -20 до 20 и распечатываем его}
begin
a[i]:= random(40) - 20;
write(a[i], ' ');
end;
writeln;
write('Элементы с нулевыми значениями: ');
for i:= 1 to 16 do {Распечатываем элементы с нулевыми значениями через точку с запятой}
if a[i] = 0 then write('a[', i, '] = ', a[i], '; ');
writeln;
end.
Если все правильно, отметь решение как лучшее)
1)
const n=5; m=4;
var
a:array[1..n,1..m] of integer;
i,j:integer;
b1,b2:boolean;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
for i:=1 to n do
begin
b1:=true; b2:=true;
for j:=2 to m do
begin
if a[i,j-1]>=a[i,j] then b1:=false;
if a[i,j-1]<=a[i,j] then b2:=false;
end;
if b1 then writeln('В(о) ',i,' строке последовательность возрастающая');
if b2 then writeln('В(о) ',i,' строке последовательность убывающая');
end;
end.
Пример:
Исходный массив:
59 91 71 89
89 65 40 31
51 62 97 61
88 25 87 11
8 9 12 80
В(о) 2 строке последовательность убывающая
В(о) 5 строке последовательность возрастающая
2)
В постановке задачи есть неопределенность. Какой (какие) индекс (ы) должен быть степенью двойки - хотя бы один или оба?
3)
const n=5; m=4;
var
a:array[1..n,1..m] of integer;
i,j,k:integer;
begin
Randomize;
writeln('Исходный массив:');
for i:=1 to n do
begin
for j:=1 to m do
begin
a[i,j]:=random(100);
write(a[i,j]:4);
end;
writeln;
end;
k:=0;
for i:=1 to n do
for j:=1 to m do
if a[i,j] mod 7 = 0 then k:=k+1;
writeln('k = ',k);
end.
Пример:
Исходный массив:
63 19 86 92
23 9 62 3
89 56 54 46
77 89 70 41
60 1 63 82
k = 5