Размеры сканируемого изображения 10х12 дюйма (поделили размеры 25 х 30 см на 2.54 см ) Размеры изображения K= 300 х 300 х10 х12= 10800000 пикселей
Информационный объем равен J=K*i
глубина цвета равна 3 байта =3*8=24 бит
J=24 бит * 10800000=2.592*10^8 бит =32400000 байт =31640.6 кБайт=30.9 Mб
Var a:array[1..10] of integer;
k,n,i:integer;
min:INTEGER;
begin
randomize; N:=10; k:=0 {кол-во отрицательных элементов};
writeln ('исходный массив');
for i:=1 to N do
begin
if random(2) =1 then a[i]:=random(100)
else begin k:=k+1; a[i]:=-random(100); min:=a[I] end;
write(a[i]:5);
end;
writeln;
{поиск минимального положительного}
if (k<>0) or (k<>N) then {есть отрицательные или не все отрицательные}
begin
for i:=1 to N do
if (a[i]>0) and (a[i]<min) then min:=a[i];
{замена}
for i:=1 to N do
if (a[i]<0) then a[i]:=min;
end;
writeln('Новый массив')
for i:=1 to N do write(a[i]:5);
end.
Это определение стандартной неэлементарной кусочно-постоянной математической функции sgn(x) - сигнум От латинского signum - знак).
В языке Паскаль эта функция уже определена.
// PascalABC.NET 3.1, сборка 1239 от 08.05.2016
// Также проверено в WDE: http://pascalabc.net/WDE
begin
Writeln('y=',Sign(ReadReal('x=')))
end.
<u><em>Тестовое решение</em></u>
x= 4.564
y=1
Program pr;
uses crt;
Var x, y, buf:integer;
Begin
Write('Введите x ');
readln(x);
Write('Введите y ');
readln(y);
if x>y then
Begin
buf:=x;
x:=y;
y:=buf;
end;
Writeln('x = ',x);
Write('y = ',y);
readln;
<span>end.</span>