![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() ![]() |
![]() |
Lostsage |
![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Реальное имя: Влад Репутация: ![]() ![]() ![]() |
Нужно описать по какому принципу работает программа(разложить натуральное число в виде суммы натуральных чисел)
Program lab_4; заранее благодарен |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата Нужно описать по какому принципу работает программа Ну, так описывай. Ты ж сумел поменять все имена переменных с нормальных (типа num, len, print) на ничего не значащие (x, y, a), и переформатировать программу так, что она вообще уже ни на что не похожа? Вот теперь сам и разбирайся, что это за рекурсия, и как она работает...Особенно порадовал меня фрагмент Цитата a:=true; |
Lostsage |
![]()
Сообщение
#3
|
Группа: Пользователи Сообщений: 2 Пол: Мужской Реальное имя: Влад Репутация: ![]() ![]() ![]() |
Программу писал не я и понятия не имею о значении num, len, print, мне нужно только разобраться каков алгоритм чтобы можно было объяснить математически
думаю что переменная i отнимается от n, затем от разницы между n и i опять отнимается i до тех пор пока разница >=0, и значения i заносятся в матрицу. В первом цикле i=1 и результат состоит из единиц. Мне не понятно как присваиваются значения i в следующих циклах Если не сложно, направьте на путь истинный ![]() |
ammaximus |
![]()
Сообщение
#4
|
![]() Ночной волк ![]() ![]() Группа: Пользователи Сообщений: 103 Пол: Мужской Репутация: ![]() ![]() ![]() |
Program lab_4; 1.Это нормальный вид 2. предположим у нас число 4 Первым шагом будет строка из единиц 1 1 1 1 - программа входит сама в себя вглубь 4 раза Затем одно из чисел 2 (последняя подпрограмма вылетает, срабатывает условие, программа выходит на один уровень выше, благодаря циклу for третье число - 2) 1 1 2 1 1 3 - нельзя, поэтому 1 2 и у нас остается еще 1 входим на 3 уровень т.е. 1 2 1 И так далее, программа перебирает все возможные варианты разложения. Советую запустить отладчик и пронаблюдать процесс самостоятельно -------------------- Не думай о белой обезьяне.
|
![]() ![]() |
![]() |
Текстовая версия | 23.06.2025 18:56 |