а) Если адрессация 32-х разрядная, то число ячеек - .
б) Максимальный объмем адрессуемой памяти - = 4гб. Вспомните траблу с тем, что на 32-х разрядных ОС (которые задействуют проц в виртуальном режиме - могут использовать его как 32-х разрядный, если он даже 64-х) видимый максимальный объмем ОЗУ не больше этого предела, хоть пусть стоят плашки по 32гб.
в) Ну, если считать, что первый адрес - 0, то последний - 1
П.С. Число ячеек = объему памяти в байтах, так как можно адрессовать каждый байт - было сказано, что "при каждой операции... 32 бита данных", это говорит, что регистры тоже 32-х разрядные, но если вы видели какой-нибудь из языков ассемблера, то там можно обращаться к частям регистров, вплоть до размера части в 8 бит. Это на практике.
П.С.С. Сказано что проц теоретический, возможно, подразумевается, что ячейки не 1 байт, а 4 байта, т.е число ячеек в 4 раза меньше - . Выбирайте, что вам кажется более подходящим, препод вам известнее :)
а) Если адрессация 32-х разрядная, то число ячеек - .
б) Максимальный объмем адрессуемой памяти - = 4гб. Вспомните траблу с тем, что на 32-х разрядных ОС (которые задействуют проц в виртуальном режиме - могут использовать его как 32-х разрядный, если он даже 64-х) видимый максимальный объмем ОЗУ не больше этого предела, хоть пусть стоят плашки по 32гб.
в) Ну, если считать, что первый адрес - 0, то последний - 1
П.С. Число ячеек = объему памяти в байтах, так как можно адрессовать каждый байт - было сказано, что "при каждой операции... 32 бита данных", это говорит, что регистры тоже 32-х разрядные, но если вы видели какой-нибудь из языков ассемблера, то там можно обращаться к частям регистров, вплоть до размера части в 8 бит. Это на практике.
П.С.С. Сказано что проц теоретический, возможно, подразумевается, что ячейки не 1 байт, а 4 байта, т.е число ячеек в 4 раза меньше - . Выбирайте, что вам кажется более подходящим, препод вам известнее :)
const n=30;
var k:array[1..n] of integer; i,t,p:integer;
begin
randomize;
for i:=1 to n do begin
k[i]:=random(100);
if (k[i]>0) then p:=p+1;
if (i=3) and (k[3]>0) then t:=k[3];
end;
if (p<3) then write('В массиве меньше трех положительных элементов') else writeln('Третий элемент массива равен ', t);
end.
Отрицательного значения в массиве не будет, напиши формулу к массиву k[i]:=твоя формула. Формула должна быть такой, чтобы попадались и отрицательные элементы, а так, программа рабочая