Представим гипотетический формат представления чисел с плавающей точкой, где под нормализованную мантиссу числа отводится 7 бит, а под порядок( без знака, со смещением 2³-1 ) отводится 3 бита. Чему равно максимальное точно представитель число в этом формате. ответ запишите в обычном десятичном представлении.
var
x:array[1..100]of integer;
i,max,min,n,t,buf,k:integer;
begin
write('Введите кол-во эл-тов n:');readln(n);
for i:=1 to n do x[i]:=random(151)-70;
writeln('вывод сген. массива');
for i:=1 to n do write (x[i],' ');
writeln;
writeln;
//1
writeln('Поиск max и min: ');
max:=1; min:=1;
for i:=2 to n do
begin
if (x[max]<x[i])then max:=i;
if (x[min]>x[i])then min:=i;
end;
writeln('min=',x[min]);
writeln('max=',x[max]);
t:=x[max];
x[max]:=x[min];
x[min]:=t;
//2
for i:=1 to n-1 do
for k:=1 to n-i do
if x[k] < x[k+1] then
begin
buf:=x[k];
x[k]:=x[k+1];
x[k+1]:=buf;
end;
writeln;
writeln('Массив отсортирован');
for i:=1 to n do write(x[i],' ');
writeln;
end.
Пример:
Введите кол-во эл-тов n:15
вывод сген. массива
32 -38 -35 53 -50 31 66 16 5 28 64 -11 20 -43 -1
Поиск max и min:
min=-50
max=66
Массив отсортирован
66 64 53 32 31 28 20 16 5 -1 -11 -35 -38 -43 -50
var
n:integer;
begin
repeat
textcolor(15);
Write('n='); Read(n);
if n=0 then begin
textcolor(LightGreen);
Writeln('Работа завершена');
textcolor(15);
end
else
if (n>9) and (n<100) then begin
n:=n-10;
Writeln('Результат: ',n)
end
else
if (n>99) and (n<1000) then begin
n:=n-100;
Writeln('Результат: ',n)
end
else begin
textcolor(LightRed);
Writeln('Недопустимое значение');
end;
until n=0;
ReadKey { для PascalABC.NET можно удалить эту строку }
end.