Помощь - Поиск - Пользователи - Календарь
Полная версия: Помогите с функциями и процедурами
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
microbe
Вычислить
1.Изображение

2.Изображение

Используя функции и процедуры
TarasBer
И что сложного? Сам пробовал что?
microbe
Цитата(TarasBer @ 12.10.2010 19:08) *

И что сложного? Сам пробовал что?

первое решил, а вот второе в голове не укладывается. длинные корни эти.
TarasBer
Второе с конца решай.
Сначала
sqrt(50)
затем
sqrt(49+sqrt(50))
ну и так далее
volvo
Это стандартная задача на использование рекурсии, если что:
function f(n: integer): real;
begin
if n = 51 then f := 0
else f := sqrt(n + f(n + 1));
end;

// вызывать f(1)

TarasBer
Если они рекурсию не проходили, то лучше циклом с конца.
Дадут задание сделать через рекурсию - будет такое решение.
А пока что это "предварительная пессимизация"
volvo
Циклом - это значит "процедуры/функции нафиг не нужны, но мы будем их втыкать, потому что задание такое" - еще большая пессимизация. Кстати, не надо думать, что все компиляторы одинаковые. Если компилятор умеет оптимизировать хвостовую рекурсию - то работать будет быстрее (по крайней мере, не медленнее) того цикла, который ты будешь выдумывать. А выглядит - приятнее.
TarasBer
> Если компилятор умеет оптимизировать хвостовую рекурсию

Ну вообще да, я просто забыл, что кроме ботланда есть и другие производители сред разработки...
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.