1. Объявлен целочисленный массив из 100 элементов, проиндексированных от 0 до 99.
2. Будет выведено p=2s=0
В параметрах процедуры Incr отсутствует var перед q, поэтому значение параметра при выходе из процедуры не изменится. Процедура увеличивает на 1 значение глобальной переменной p. Первоначально р=0 и два вызова процедуры сделают р=2. Значения s, как было выше пояснено, процедура не изменит, поэтому оно так и останется нулевым.
25 Гбайт = 214748364800бит
2048Кбайт = 2Мбайт
140 Мбайт = 1174405120
2028 Кбайт = 15,84 Мбит
5 Гбайт = 42949672960 бит
Const
n = 100;
var
a: array[1..n] of integer;
i: integer;
begin
//заполняем массив случайными значениями в диапазоне [0;100]
Randomize; //инициализация датчика случайных чисел
for i := 1 to n do a[i] := random(100);
i := 1; //1 - это два в нулевой степени
while i < n do
begin
writeln('a(', i, ')=', a[i]);
i := 2 * i; //удваиваем индекс, чтобы получить очередную степень двойки
end
end.
Результат работы программы:
a(1)=26
a(2)=21
a(4)=29
a(8)=74
a(16)=23
a(32)=44
a(64)=20