![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 | |
Пользователь
Регистрация: 18.10.2007
Сообщений: 12
|
![]()
Задача у меня не зачтена, здесь требуется использовать рекурсивную функцию, которая в своем теле вызывает сама себя. Надо рекурсией заменить цикл. А то сын родился времени нет читать что такое рекурсия итд.
Цитата:
Код:
Последний раз редактировалось Alex21; 11.11.2007 в 10:48. Причина: оформляем код с использованием тегов code |
|
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 440
|
![]()
Во первых, лучше обьявлять раздел const до раздела var.
1. Рекурсивным вызовом называется ситуация, когда подпрограмма (процедура или функция) вызывает сама себя. 2.При вызове любой (в том числе и рекурсивной) процедуры или функции происходит следующее: 1.Сохраняется адрес возврата, то есть команда, с которой продолжится выполнение программы после того, как процедура или функция закончит работать. 2.Вместе с адресом сохраняются значения всех параметров и локальных переменных. После окончания работы подпрограммы выполнение продолжается со строки, следующей за ее вызовом. Теперь еще одна тонкость. Просто так передавать массив в качестве параметра функции нельзя, т.к. программа считает, что это разные типы. Поэтому необходимо обьявить в разделе type уникальный тип, который можно будет передавать нашей функции. Вот код: Код:
Последний раз редактировалось bill; 11.11.2007 в 11:02. |
![]() |
![]() |
![]() |
#3 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Этот пример с контролем от переполнения стека
Код:
|
![]() |
![]() |
![]() |
#4 |
Пользователь
Регистрация: 18.10.2007
Сообщений: 12
|
![]()
Господа ваши программы работают неправильно Bill что это за команда Result? Мой Паскаль ее не воспринимает!
|
![]() |
![]() |
![]() |
#5 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Что значит неправильно? Считает то, что записано в условии
|
![]() |
![]() |
![]() |
#6 |
Участник клуба
Регистрация: 02.09.2007
Сообщений: 1,193
|
![]()
Судя по вашему алгоритму считать нужно это
Код:
|
![]() |
![]() |
![]() |
#7 |
Пользователь
Регистрация: 18.10.2007
Сообщений: 12
|
![]()
Дмитрий ты сделал не через рекурсию, цикла не должно быть!
У тебя сделано тоже самое что у меня но через функцию. |
![]() |
![]() |
![]() |
#8 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
Код:
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 440
|
![]()
Я свой код в компиляторе проверял- работает. Вам надо заменить result на название функции- summ. Все будет работать!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Рекурсия. | p@ul | Помощь студентам | 4 | 30.12.2009 14:46 |
Паскаль. Рекурсия. | Лёха | Помощь студентам | 2 | 20.03.2008 22:54 |
рекурсия | Vital_k | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 08.02.2008 13:09 |
Рекурсия | АнНютик | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 29.01.2008 22:50 |
Рекурсия | Pravednik | Помощь студентам | 3 | 21.01.2008 14:18 |