IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Помогите с функциями и процедурами
microbe
сообщение 12.10.2010 18:29
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Вычислить
1.Изображение

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

Используя функции и процедуры

Сообщение отредактировано: microbe - 12.10.2010 18:30
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 7)
TarasBer
сообщение 12.10.2010 19:08
Сообщение #2


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


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


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
microbe
сообщение 12.10.2010 19:40
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Цитата(TarasBer @ 12.10.2010 19:08) *

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

первое решил, а вот второе в голове не укладывается. длинные корни эти.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
TarasBer
сообщение 12.10.2010 19:48
Сообщение #4


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Второе с конца решай.
Сначала
sqrt(50)
затем
sqrt(49+sqrt(50))
ну и так далее


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.10.2010 19:50
Сообщение #5


Гость






Это стандартная задача на использование рекурсии, если что:
function f(n: integer): real;
begin
if n = 51 then f := 0
else f := sqrt(n + f(n + 1));
end;

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

 К началу страницы 
+ Ответить 
TarasBer
сообщение 12.10.2010 19:53
Сообщение #6


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Если они рекурсию не проходили, то лучше циклом с конца.
Дадут задание сделать через рекурсию - будет такое решение.
А пока что это "предварительная пессимизация"


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
volvo
сообщение 12.10.2010 20:00
Сообщение #7


Гость






Циклом - это значит "процедуры/функции нафиг не нужны, но мы будем их втыкать, потому что задание такое" - еще большая пессимизация. Кстати, не надо думать, что все компиляторы одинаковые. Если компилятор умеет оптимизировать хвостовую рекурсию - то работать будет быстрее (по крайней мере, не медленнее) того цикла, который ты будешь выдумывать. А выглядит - приятнее.
 К началу страницы 
+ Ответить 
TarasBer
сообщение 12.10.2010 20:20
Сообщение #8


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


> Если компилятор умеет оптимизировать хвостовую рекурсию

Ну вообще да, я просто забыл, что кроме ботланда есть и другие производители сред разработки...


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 18.06.2025 10:13
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"