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

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

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

> Рекурсия, рекурсиваная процедура....
Миклашевский Денис
сообщение 20.03.2008 9:24
Сообщение #1


Гость






Доброго времени суток! Если кто может помогите с задачкой...:


Написать рекурсивную процедуру, которая считывает вводимые с клавиатуры числа до тех пор, пока не будет обнаружен 0.Затем введенные числа распечатываются в обратном порядке.0 Не печатать.


спасибо заранее!
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 21.03.2008 23:01
Сообщение #2


Гость






Да не выбивает оно ничего (если ты используешь TP, конечно) - я на TP7 проверял - все прекрасно работает. А вот если у тебя ABC - это надо говорить сразу. Этим поделием я не пользуюсь, и что там и как - не знаю... Можешь попробовать поменять Const на Var, если PascalABC вообще умеет работать с открытыми массивами.

Цитата
А вот без exit я вот уже час думаю как сделать
Бред какой-то несет твой преподаватель... Если б Exit и ему подобные делали программистов менее опытными, неужели ж их не вывели из состава языка? Ан нет, в любом языке присутствуют аналоги... Здесь проблема решается просто:

function mat(const a: array of real; n: integer;
var sum: real): integer;
begin
if (a[0] < 0) or (n = 0) then mat := 0
else begin
sum := sum + a[0];
mat := 1 + mat(a[1], n - 1, sum);
end;
end;

, но в другом месте потребуется наворотить еще столько же кода. Это кому-то надо?
 К началу страницы 
+ Ответить 

Сообщений в этой теме
Миклашевский Денис   Рекурсия   20.03.2008 9:24
spill   Procedure ReadInt; Var X: Integer; Begin Read...   20.03.2008 12:22
Гость   А можно для "тупых" с телом программы :)...   20.03.2008 21:27
klem4   begin ReadInt end.   20.03.2008 21:32
vRs   В люом случае, это ведь не рекурсия...   21.03.2008 12:28
volvo   Ну да, конечно... Только ReadInt сама себя вызывае...   21.03.2008 12:45
Michael_Rybak   Действительно. Это не рекурсия. Это рекурсивная ...   21.03.2008 14:10
sintanial   Не хотел создавать новую тему, так что спрошу тута...   21.03.2008 20:07
volvo   Для начала вынеси собственно решение в отдельную п...   21.03.2008 20:16
sintanial   ну воть Забыл сказать, что нельзя использовать ци...   21.03.2008 20:40
sintanial   Вот написал но оно не пашет =). Пишет ошибку ти...   21.03.2008 21:47
volvo   В принципе, рекурсия и будет заменять цикл... Смо...   21.03.2008 21:58
sintanial   Спасибо огромное, щас буду разбираться что да как ...   21.03.2008 22:01
sintanial   Уже появились вопросы =) const a: array of real в...   21.03.2008 22:22
andriano   И еще volvo наш учитель почему то не разрешает пол...   21.03.2008 22:55
volvo   Да не выбивает оно ничего (если ты используешь TP,...   21.03.2008 23:01
sintanial   Ясно =). Спасибо огромное. А на счет ABC - просто ...   21.03.2008 23:22
volvo   PascalABC workaround: type arrtype = array[1 .. 10...   21.03.2008 23:22


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

 



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