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

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

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

> рекурсивные процедуры
neualena
сообщение 16.11.2004 18:38
Сообщение #1


Гость






задача. Вычисление целой степени вещественного числа а sad.gif пожалуйста, помогите решить
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
Altair
сообщение 16.11.2004 18:45
Сообщение #2


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


УРА!
neualena, вам неслыханно повезло!
Вы первая, кому понадобилась написанная мной проуцедура, я выложил ее в FAQ. вот она:
Код

Procedure S(Var p,n,r : Integer);
Begin
IF r=0 Then r:=1;
IF n=0 Then Exit;
r:=r*p;
Dec(n);
S(p,n,r)
End;

Var
a,b,c:Integer;
Begin
ReadLn(a,b);
S(a,b,c);
WriteLn(c);
End.

Это процедура возведения в степень и пример использования.
Считайте, что я писал ее для Вас!
заходите к нам еще, спрашивайте!
и не грустите впредь, любые задачи решаемы! smile.gif ;)


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
APAL
сообщение 16.11.2004 19:11
Сообщение #3


Смотрю...
*****

Группа: Модераторы
Сообщений: 1 055
Пол: Мужской
Реальное имя: Пшеничный Алексей Анатольевич

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


Oleg_Z
Вещественного числа!
А у тебя целого...


--------------------
Если что-то не делает того, что вы запланировали ему делать - это еще не означает, что оно бесполезно.
--------------------
Прежде, чем задать вопрос - Правила :: FAQ :: Поиск
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 16.11.2004 19:15
Сообщение #4


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


Без разницы, поменять-то в одном месте только smile.gif
Тогда так (то было демоверсией :D )
Код
Procedure S(p:real; var  n:integer; var r :real);
Begin
IF r=0 Then r:=1;
IF n=0 Then Exit;
r:=r*p;
Dec(n);
S(p,n,r)
End;

Var
b:Integer;
a,c:real;
Begin
ReadLn(a,b);
S(a,b,c);
WriteLn(c:8:2);
End.

Зы: заходите к нам еще ! ;) smile.gif

ЗЫЫ (после совещания с APAL'ом smile.gif)
Параметры в рекурсивной процедуре передаются по ссылке а не по значению, так что следите заданными, параметр n после выполнения процедуры изменится.!!!


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
zx1024
сообщение 16.11.2004 19:39
Сообщение #5


Пионер
**

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

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


Код
function POW (p : real; n : integer) : real;
var q : real;
begin
 if n = 0 then POW := 1
 else
 if n = 1 then POW := p
 else
 if n and 1 = 1 then
 begin
   q := POW (p, n shr 1);
   POW := q*q*p
 end
 else
 begin
   q := POW (p, n shr 1);
   POW := q*q
 end
end;
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 16.11.2004 19:44
Сообщение #6


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

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


Моя короче и понятнее smile.gif :yes:


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Гость_neualena
сообщение 6.12.2004 20:35
Сообщение #7


Гость






ОГРОМНОЕ СПАСИБО ВАМ OLEG_Z И ZX1024 :flowers: Я ВАМ ОЧЕНЬ БЛАГОДАРНА :P :rose:
 К началу страницы 
+ Ответить 

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

 



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