Функции (и выражения) возвращают / формулируют / доставляют ответы на вопросы.Если вы хотите узнать «Что такое сумма 5 и 3», вы пишете выражение «5 + 3» или вызываете функцию «add (5, 3)».Аргументы, которые вы передаете функции (или операндам, которые вы пишете в выражении), задают вопрос и тем самым определяют ответ.
Но программисты тоже должны изменить мир - по крайней мере, содержимое окна консоли ив конце долгого дня они хотят выключить компьютер.Таким образом, операторы (и подпрограммы, то есть именованные / вызываемые фрагменты кода) являются средством " делать что-то".Оператор печати / подпрограмма просто изменит пиксель монитора, но не ответит на вопрос;функция печати сделает это (побочный эффект) и ответ «Сколько символов было написано?».То, будет ли If переходить сюда или туда или же остановится или будет продолжаться, определяется выражениями / функциями (= информация), которые вы помещаете в синтаксически правильные места.Эти аргументы к утверждениям определяют, что должно быть сделано (а не то, что должно быть известно).
Технически разница между знанием и делом размыта.У вас могут быть операторы присваивания, которые возвращают / доставляют назначенное значение (чтобы сделать возможным «a = b = c = 5;» или «while (line = getNextLine ()) {}») или троичный оператор, который позволяет использовать If ввыражение.
Но во всех случаях: информация (аргументы / параметры / операнды), которую вы передаете «знающим» или «исполнителям», определяет результаты - так что будьте осторожны!