для машин информатики. оформите программу на неизвестном языке программирования, обеспечивающую: - заполнение одномерного массива в с клавиатуры n вещественными значениями; - за минимальное число проходов по массиву в без использования дополнительных массивов последовательное (а-б-в-г) заполнение одномерного массива z значениями элементов массива в в указанном порядке их сходного расположения в массиве в а) сначала неотрицательные элементы на чётных позициях в исходном порядке б) потом неотрицательные элементы на нечётных позициях в порядке, обратном исходному в) затем отрицательные элементы на четных позициях в порядке, обратном исходному с) потом отрицательные элементы на нечётных позициях в исходном порядке -вывод элементов массива z
Дурацкая по своей трудоемкости задача, если делать её вручную. А если написать полную программу и вставить туда счетчик вызовов F(n), то окажется, что для вызова F(6) процедура будет вызвана 97 раз. При каждом вызове выводится звездочка, поэтому их будет выведено тоже 97.
Проверка выполнялась по следующей программе: var k:integer;
procedure F(n: integer); begin writeln('*'); k:=k+1; if n > 0 then begin F(n - 3); F(n - 2); F(n div 2); F(n div 2); end end;
для машин информатики. оформите программу на неизвестном языке программирования, обеспечивающую: - заполнение одномерного массива в с клавиатуры n вещественными значениями; - за минимальное число проходов по массиву в без использования дополнительных массивов последовательное (а-б-в-г) заполнение одномерного массива z значениями элементов массива в в указанном порядке их сходного расположения в массиве в а) сначала неотрицательные элементы на чётных позициях в исходном порядке б) потом неотрицательные элементы на нечётных позициях в порядке, обратном исходному в) затем отрицательные элементы на четных позициях в порядке, обратном исходному с) потом отрицательные элементы на нечётных позициях в исходном порядке -вывод элементов массива z
А если написать полную программу и вставить туда счетчик вызовов F(n), то окажется, что для вызова F(6) процедура будет вызвана 97 раз. При каждом вызове выводится звездочка, поэтому их будет выведено тоже 97.
Проверка выполнялась по следующей программе:
var
k:integer;
procedure F(n: integer);
begin
writeln('*');
k:=k+1;
if n > 0 then begin
F(n - 3);
F(n - 2);
F(n div 2);
F(n div 2);
end
end;
begin
k:=0;
F(6);
Writeln(k)
end.