Что такое рутина и подпрограмма в программе?

Я изучаю стек и слишком часто слышу слово «подпрограмма». Я сбит с толку: что такое «рутина» и «подпрограмма»?

Предположим, у меня есть программа:

def tav(x):
    if x==0:
       return 19
    else:
       u=1
       tav(x-1)
       u+=1
tav(4)

Итак, что такое рутина и подпрограмма в этой программе? Я где-то читал, что подпрограмма ничего не возвращает, поэтому, если я правильно понимаю, внутренняя часть основной функции называется подпрограммой, или мы можем сказать, что подпрограмма является подпрограммой, поэтому в приведенной выше программе подпрограмма должна быть:

if x==0:
    return 19
else:
    u=1
    tav(x-1)
    u+=1

Я правильно понимаю?


person Community    schedule 16.10.2016    source источник


Ответы (1)


Подпрограммы и подпрограммы одинаковы. В старых языках, таких как Фортран, приходилось различать подпрограммы и функции. Последний что-то вернул, первый изменил какое-то состояние.

person Niclas M    schedule 16.10.2016