А) Для списков с большим числом элементов лучше всего использовать нерекурсивный подход.
рекурсия действительно жрет много памяти и цпу, вообщем тормозит и все такое, особенно при больших объемах и лучше ее конечно разворачивать в цикл
<span />
Номер 6.
-121 т.к.
n<3, выводится -1. Переноса на следующую строку нет.
Процедура вызывает себя с аргументом n+3. n+3<3 (2<3) - выводится 2. Данная процедура (вызванная первой) вызывает себя также с аргументами n+3 и n+2. Но они будут не меньше 3 и ничего не произойдет.
Процедура вызывает себя с аргументом n+2. n+2<3 (1<3) - выводится 1. Данная процедура (вызванная первой) вызывает себя также с аргументами n+3 и n+2. Но они будут не меньше 3 и ничего не произойдет.
Номер 7.
1392613
Рассуждения полностью аналогичны предыдущему номеру. Проще всего нарисовать дерево со всеми вызовами процедуры либо просто написать программу.
Program n1;
var a,b,i: integer;
sum,k: real;
begin
sum:=0;
k:=0;
readln(a,b);
for i:=a to b do
begin
sum:=sum+i*i;
k:=k+1;
end;
writeln(sum/k:6:2);
end.
Ну тут всё надо перемножить и перевести в кБ.
30 с * 16000 Гц * 16 бит = 7 680 000 бит ( сек * 1/сек * бит = бит)
7 680 000 / 8 = 960 000 Байт (1 Байт = 8 бит)
960 000 / 1024 = 937,5 кБайт (1 кБайт = 1024 Байт, т.е. 2 в степени 10)
<span>
</span>