ну например внутри программы есть функция, к примеру, для вычисления квадратного корня. а тут задали "напишите программу вычисления квадратного корня". Так если я возьму функцию вычисления этого корня, уберу слово Function, напишу вместо нее Program. Скатит ли это на отдельную программу?
в некоторых случаях может скатить, но, во-первых, функции что-то возвращают, а программы - нет, во-вторых, если в функции была рекурсия, то в программу ты её не впихнёшь, а в третьих... зачем?
Так функции надо давать какие-то исходные параметры и выводить полученные ею результаты. В принципе можно внести всё это в функцию, тогда она может быть использована как программа. В С и C++ программа - это и есть функция с названием main