|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.01.2020, 12:53 | #1 |
Новичок
Джуниор
Регистрация: 28.09.2019
Сообщений: 3
|
вопрос по работе программы с рекурсией
Добрый день! Подскажите, пожалуйста, почему не работает программа. Пишет, что неизвестное имя G. Хотя функция прописана?
procedure F(n: integer); begin if n mod 5=0 then G(n-50) else F(n-3); end; procedure G(n: integer); begin writeln('*'); if n > 0 then F(n-1) end; begin F(51); end. |
12.01.2020, 13:46 | #2 |
Высокая репутация
СуперМодератор
Регистрация: 27.07.2008
Сообщений: 15,648
|
Потому что видна она только ниже объявления, а вы пытаетесь к ней обратиться выше. В вашем случае это взаимная рекурсия (функции вызывают друг друга). Для того, чтобы обратиться к процедуре G, ее заголовок надо описать выше процедуры F:
Код:
E-Mail: arigato.freelance@gmail.com
|
12.01.2020, 13:55 | #3 |
Новичок
Джуниор
Регистрация: 28.09.2019
Сообщений: 3
|
Cпасибо, благодарю!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вопрос по работе с потоками | donich.aleksei | Общие вопросы Delphi | 6 | 14.09.2017 20:08 |
Вопрос о работе | Questionier | Свободное общение | 15 | 19.01.2015 07:17 |
СИ, вопрос по работе цикла... | Immoralist | Помощь студентам | 10 | 25.04.2012 16:06 |
Вопрос по работе с Qt | CarmaC | Общие вопросы C/C++ | 3 | 16.07.2011 13:52 |
Объясните алгоритм программы с рекурсией на паскале | Lostsage | Помощь студентам | 4 | 20.01.2009 20:10 |