Похоже, что проблема, с которой вы столкнулись, не обязательно "каково определение подпрограммы / функции". Может быть, я неправильно истолковываю вещи, но истинная проблема заключается в том, что вы не можете определить из контекста разговора, просили ли вас написать рабочий код (например, «функцию») или какой-то алгоритмический макет (например, «псевдокод» «). Если это так, ваш лучший способ действий, вероятно, состоит в том, чтобы попросить больше ясности о том, что вас просят.