) от единиц, справа налево отсчитывать разряды - единицы, десятки, сотни... и выясняем, что 6 - это десятки миллионов. И говорим: "шесть/десят семь миллионов...". Переходя к математической записи можно заметить, что 67453422 = 6 × 10⁷ + 7 × 10⁶ + 4 × 10⁵ + 5 × 10⁴ + 3 × 10³ + 4 × 10² + 2 × 10¹ + 2 × 10⁰ Если число не целое, то десятичную дробь мы тоже может записать по разрядам. Рассмотрим пример. 0.384 - это ноль целых и триста (три сотни) восемьдесят (восемь десятков) четыре тысячных. Но это число можно представить и иначе:
И теперь пример нецелого числа. 192.64 = 1 × 10² + 9 × 10¹ + 2 × 10⁰ + 6 × 10⁻¹ + 4 × 10⁻² Мы проставляем степени десяти начиная с нулевой для позиции единиц влево с нарастанием на единицу и вправо с уменьшением на единицу. Это и есть расширенная запись числа. Но её можно проводить по любому основанию, а не только по основанию 10. В частности, для двоичной системы мы будем записывать степени уже не десятки. а двойки. 11.101₂ = 1 × 2¹ + 1 × 2⁰ + 1 × 2⁻¹ + 0 × 2⁻² + 1 × 2⁻² И останется только выполнить нужные действия. На единицу можно не умножать, достаточно просто брать сами значения степеней двойки, а на ноль тоже незачем умножать - просто отбрасывать соответствующие слагаемые. Получаем 2¹ + 2⁰ + 2⁻¹ + 2⁻³ = 2 + 1 + 1/2 + 1/8 = 3 + 0.5 + 0.125 = 3.625 Вот и все! Так же поступаем и с прочими примерами. 101.1₂ = 2² + 2⁰ + 2⁻¹ = 4 + 1 + 1/2 = 5.5 1101.1101₂ = 2³ + 2² + 2⁰ + 2⁻¹ + 2⁻² + 2⁻⁴ = 8 + 4 + 1 + 1/2 + 1/4 + 1/16 = 13 + (8+4+1)/16 = 13 + 13/16 = 13.8125
Var a: array[1..8] of integer; i, b, min: integer; begin b := 1; for i := 1 to 8 do begin write('Введите ', i, '-ый элемент массива '); Readln(a[i]); //Вводим число if i = 1 then min := a[i] else // Если это первое число то min:= это число if min > a[i] then begin //Если min оказывается больше введённого числа min := a[i]; //то min:= это чило b := i; //и переменной b := номер этого числа в массиве end; end; Write('Первоначальный массив | '); for i := 1 to 8 do write(a[i], ' '); // Выводим этот массив Writeln('| Индекс минимального элемента ', b, '. Число ', a[b]); // Переменную b и элемент стоящий на месте b Write('Преобразованный массив| '); for i := 1 to 8 do begin a[i] := a[i] - min; //Преобразуем массив вычитая из элемента i - min write(a[i], ' '); // И сразу выводим преобразованное число end; write('|'); end. //конец
Переходя к математической записи можно заметить, что
67453422 = 6 × 10⁷ + 7 × 10⁶ + 4 × 10⁵ + 5 × 10⁴ + 3 × 10³ + 4 × 10² + 2 × 10¹ + 2 × 10⁰
Если число не целое, то десятичную дробь мы тоже может записать по разрядам. Рассмотрим пример.
0.384 - это ноль целых и триста (три сотни) восемьдесят (восемь десятков) четыре тысячных. Но это число можно представить и иначе:
И теперь пример нецелого числа.
192.64 = 1 × 10² + 9 × 10¹ + 2 × 10⁰ + 6 × 10⁻¹ + 4 × 10⁻²
Мы проставляем степени десяти начиная с нулевой для позиции единиц влево с нарастанием на единицу и вправо с уменьшением на единицу.
Это и есть расширенная запись числа. Но её можно проводить по любому основанию, а не только по основанию 10.
В частности, для двоичной системы мы будем записывать степени уже не десятки. а двойки.
11.101₂ = 1 × 2¹ + 1 × 2⁰ + 1 × 2⁻¹ + 0 × 2⁻² + 1 × 2⁻²
И останется только выполнить нужные действия. На единицу можно не умножать, достаточно просто брать сами значения степеней двойки, а на ноль тоже незачем умножать - просто отбрасывать соответствующие слагаемые.
Получаем 2¹ + 2⁰ + 2⁻¹ + 2⁻³ = 2 + 1 + 1/2 + 1/8 = 3 + 0.5 + 0.125 = 3.625
Вот и все!
Так же поступаем и с прочими примерами.
101.1₂ = 2² + 2⁰ + 2⁻¹ = 4 + 1 + 1/2 = 5.5
1101.1101₂ = 2³ + 2² + 2⁰ + 2⁻¹ + 2⁻² + 2⁻⁴ = 8 + 4 + 1 + 1/2 + 1/4 + 1/16 = 13 + (8+4+1)/16 = 13 + 13/16 = 13.8125
a: array[1..8] of integer;
i, b, min: integer;
begin
b := 1;
for i := 1 to 8 do begin
write('Введите ', i, '-ый элемент массива ');
Readln(a[i]); //Вводим число
if i = 1 then min := a[i] else // Если это первое число то min:= это число
if min > a[i] then begin //Если min оказывается больше введённого числа
min := a[i]; //то min:= это чило
b := i; //и переменной b := номер этого числа в массиве
end;
end;
Write('Первоначальный массив | ');
for i := 1 to 8 do write(a[i], ' '); // Выводим этот массив
Writeln('| Индекс минимального элемента ', b, '. Число ', a[b]); // Переменную b и элемент стоящий на месте b
Write('Преобразованный массив| ');
for i := 1 to 8 do begin
a[i] := a[i] - min; //Преобразуем массив вычитая из элемента i - min
write(a[i], ' '); // И сразу выводим преобразованное число
end;
write('|');
end. //конец