Is the mathematical concept of an "operation" necessarily deterministic? Does the mathematical concept of an operation require that the process is deterministic?  
If not, what are some example cases for non-deterministic operations?
Motivation: I am coming from a software background and want to reconcile the subtle distinctions between the semantic intention of operators/operations in software and in pure math.  Obviously, operations in software applications can be non-deterministic, but I don't think this carries over to pure math.

An operation in mathematics as well as in computer science is an algorithm that produces, given some input data of specified type (numbers, vectors, functions, etc.), some output data of specified type. As such it is deterministic: At each instant of the execution process you know exactly what to do next; but dependent on the environment, the algorithm could ask for a random number or even for an oracle, in which case the outcome is not "deterministic" as a function of the input. (Using a "pseudo random number" generator the process is of course still completely deterministic, but this is not the idea when the "operation" you are considering is asking for a radom number.)
