Для перевода в двоичную систем счисления последовательно делим число на два нацело до получения в ответе нуля или единицы и выписываем остатки. 512/2=256, остаток 0 256/2=128, остаток 0 128/2=64, остаток 0 64/2=32, остаток 0 32/2=16, остаток 0 16/2=8, остаток 0 8/2=4, остаток 0 4/2=2, остаток 0 2/2=1, остаток 0 А теперь записываем частное и приписываем к нему справа в обратном порядке все остатки. Получаем 1000000000(2). Можно было всего этого и не делать, если мы помним, что 512 - это два в ДЕВЯТОЙ степени. Тогда сразу можно написать единицу и ДЕВЯТЬ нулей.
Для перевода числа из двоичной системы в восьмеричную следует разбить в направлении справа налево двоичное число по три разряда (получая так называемые триАды). А затем каждую триаду заменить соответствующей восьмеричной цифрой. Самую левую триаду, если она неполная, дополняют слева незначащими нулями. В основе такого перевода лежит то, что восемь - это третья степень числа два. 1000000000(2)=001 000 000 000(2)=1000(8)
Для перевода числа из двоичной системы в шестнадцатиричную следует разбить в направлении справа налево двоичное число по четыре разряда (получая так называемые тетрАды). А затем каждую тетраду заменить соответствующей шестнадцатиричной цифрой. Самую левую тетраду, если она неполная, дополняют слева незначащими нулями. В основе такого перевода лежит то, что шестнадцать - это четвертая степень числа два. 1000000000(2)=0010 0000 0000(2)=200(16)
var a: array[1..n] of integer; i, k, min, max: integer;
begin randomize; min := 100; max := -100; Writeln('исходный массив'); for i := 1 to n do begin k := random(40) - 20; a[i] := n; if max < k then max := k else if min > k then min := k; Write(k, ' ') end; Writeln; Writeln('min=', min, ', max=', max) end.
begin randomize; s := 0; Writeln('исходный массив'); for i := 1 to n do begin k := random(40) - 20; a[i] := n; s := s + k; Write(k, ' ') end; Writeln; Writeln('Среднее арифметическое равно ', s / k) end.
512/2=256, остаток 0
256/2=128, остаток 0
128/2=64, остаток 0
64/2=32, остаток 0
32/2=16, остаток 0
16/2=8, остаток 0
8/2=4, остаток 0
4/2=2, остаток 0
2/2=1, остаток 0
А теперь записываем частное и приписываем к нему справа в обратном порядке все остатки. Получаем 1000000000(2).
Можно было всего этого и не делать, если мы помним, что 512 - это два в ДЕВЯТОЙ степени. Тогда сразу можно написать единицу и ДЕВЯТЬ нулей.
Для перевода числа из двоичной системы в восьмеричную следует разбить в направлении справа налево двоичное число по три разряда (получая так называемые триАды). А затем каждую триаду заменить соответствующей восьмеричной цифрой. Самую левую триаду, если она неполная, дополняют слева незначащими нулями. В основе такого перевода лежит то, что восемь - это третья степень числа два.
1000000000(2)=001 000 000 000(2)=1000(8)
Для перевода числа из двоичной системы в шестнадцатиричную следует разбить в направлении справа налево двоичное число по четыре разряда (получая так называемые тетрАды). А затем каждую тетраду заменить соответствующей шестнадцатиричной цифрой. Самую левую тетраду, если она неполная, дополняют слева незначащими нулями. В основе такого перевода лежит то, что шестнадцать - это четвертая степень числа два.
1000000000(2)=0010 0000 0000(2)=200(16)
n = 10;
var
a: array[1..n] of integer;
i, k, min, max: integer;
begin
randomize;
min := 100; max := -100;
Writeln('исходный массив');
for i := 1 to n do
begin
k := random(40) - 20;
a[i] := n;
if max < k then max := k
else if min > k then min := k;
Write(k, ' ')
end;
Writeln;
Writeln('min=', min, ', max=', max)
end.
Тестовое решение:
исходный массив
-8 3 19 -14 19 13 -17 -2 8 8
min=-17, max=19
const
n = 10;
var
a: array[1..n] of integer;
i, k, s: integer;
begin
randomize;
s := 0;
Writeln('исходный массив');
for i := 1 to n do
begin
k := random(40) - 20;
a[i] := n; s := s + k;
Write(k, ' ')
end;
Writeln;
Writeln('Среднее арифметическое равно ', s / k)
end.
Тестовое решение:
исходный массив
19 11 -1 1 -4 -6 -2 18 3 8
Среднее арифметическое равно 5.875