1.Какой обхода данных в памяти является самым медленным? Почему? 2.Для каких программ наличие кэш-памяти дает выигрыш во времени работы?
3.Назовите две основных причины, по которым случайный обход массива дольше, чем прямой и обратный.
4.Почему тип обхода не сказывается на времени доступа к памяти, если массив умещается в кэш-памяти первого уровня?
5.Чем отличаются программная и аппаратная предвыборка данных?
var r_1,r_2,r_3,ch : integer;
begin
writeln('ch = ');
readln(ch);
r_1 = random(50) - 25; {рандомные числа в районе от -25 до 25}
r_2 = random(50) - 25;
r_3 = random(50) - 25;
writeln('r_1 = ',r_1);
writeln('r_2 = ',r_2);
writeln('r_3 = ',r_3);
if r_1 < ch then
begin
writeln('r_1 < ch');
end;
if r_1 = ch then
begin
writeln('r_1 = ch');
end;
if r_1 > ch then
begin
writeln('r_1 > ch');
end;
if r_2 < ch then
begin
writeln('r_2 < ch');
end;
if r_2 = ch then
begin
writeln('r_2 = ch');
end;
if r_2 > ch then
begin
writeln('r_2 > ch');
end;
if r_3 < ch then
begin
writeln('r_3 < ch');
end;
if r_3 = ch then
begin
writeln('r_3 = ch');
end;
if r_3 > ch then
begin
writeln('r_3 > ch');
end;
end.
С++
#include <iostream>
void main()
{
int mass [5][5];
for (int i=0; i<5;i++)
for(int j=0; j<5l; j++)
mass[i][j]=rand()*20-10;
int pn [2];
int nn [2];
for(int i=0; i<5; i++)
for(int j=i+1; j<5; j++)
if (mass[i][j]>0)
{
pn[0]=i;
pn[1]=j;
break();
}
for(int i=4; i>=0; i--)
for(int j=i-1; j>=0; j--)
if(mass[i][j]<0)
{
nn[0]=i;
nn[i]=j;
break();
}
swap(mass[pn[0]] [pn[1]], mass [nn[0]] [nn[1]]);
}