Уровня 2 #6 преобразовать одномерный массив вещественных чисел, занеся в каждый элемент сумму всех предыдущих элементов(в первый элемент при этом необходимо поместить значение 0). (pascal turbo/abc)
Так как на большинстве версий "Паскаля" мы не можем установить шаг цикла в for, будем использовать цикл while для решения данной задачи.
Возьмём переменную i для хранения нужных нам значений, дадим ей значение равное 1001, запустим цикл while, который будет выполняться пока наша i <= 1025, в цикле у нас будет выводиться на экран значение переменной i, а затем переменная увеличиваться на 3.
Начиная с левого верхнего угла начнем кодировать клетки, двигаясь в верхнем ряду слева направо, в следующем в обратную сторону (т.е. справа налево) и так до конца.
Так как на большинстве версий "Паскаля" мы не можем установить шаг цикла в for, будем использовать цикл while для решения данной задачи.
Возьмём переменную i для хранения нужных нам значений, дадим ей значение равное 1001, запустим цикл while, который будет выполняться пока наша i <= 1025, в цикле у нас будет выводиться на экран значение переменной i, а затем переменная увеличиваться на 3.
Алгоритм на языке Паскаль:
var
i : integer;
begin
i := 1001;
while i <= 1025 do
begin
write(i,' ');
i := i + 3;
end;
end.
8288A7F₁₆
Объяснение:
1 - черная клетка;
0 - белая клетка.
Начиная с левого верхнего угла начнем кодировать клетки, двигаясь в верхнем ряду слева направо, в следующем в обратную сторону (т.е. справа налево) и так до конца.
Будет получен код в двоичной системе:
1000001010001000101001111111
Переведем в десятичную систему:
1000001010001000101001111111₂ =
= 1∙2²⁷+0∙2²⁶+0∙2²⁵+0∙2²⁴+0∙2²³+0∙2²²+1∙2²¹+0∙2²⁰+1∙2¹⁹+
+0∙2¹⁸+0∙2¹⁷+0∙2¹⁶+1∙2¹⁵+0∙2¹⁴+0∙2¹³+0∙2¹²+1∙2¹¹+0∙2¹⁰+
+1∙2⁹+0∙2⁸+0∙2⁷+1∙2⁶+1∙2⁵+1∙2⁴+1∙2³+1∙2²+1∙2¹+1∙2⁰ =
= 134217728+0+0+0+0+0+2097152+0+524288+0+0+0+
+32768+0+0+0+2048+0+512+0+0+64+32+16+8+4+2+1 =
= 136874623₁₀
136874623₁₀ переведем в шестнадцатиричную систему:
136874623₁₀ = 8288A7F₁₆
Перевод из десятичной системы в шестнадцатеричную подробнее на фото.