One way to calculate square root of a number (n), is to use pen & paper (or a calculator ) and that gets the job done.
Bright light of soldering iron ,however, illuminates linear systems with parabolic graphs ,e.g. string-ball system in horizontal uniform circular motion, one can tie a ball to a string as long (on table ) as mass of the ball instead & rotate, till the tension in string becomes (n) and find out how fast the ball is moving ,by counting the number of seconds it takes to complete a rotation.
There ! we just devised a machine that calculates square roots.
One can go on devising similar machines that calculate log(n),e^n,|n|,sin(n),[n],fib(n)… or a combination of these functions, as long as one can measure the corresponding physical quantity with reasonable accuracy.
The former approach is better till these naive machines are not significantly developed from their nascent phase ,in order to address the difficulties in using them for practical purposes.
One can see a long way in to this simple idea(you can start guessing).
developing for utility :
You may have to wait for days of counting rotations to find square root of sufficiently large (n).
Even setting up a separate facility, where square roots(output) of n (input) are calculated,read and recorded ,is
useless without a practical method to store and look up these results as and when required.
Moreover as the n outgrows the elastic limit , the string breaks ,the connection is gone ,motion is not in a circular loop anymore and relation between speed and tension stops holding.i.e. the machine stops functioning.
In abstract terms , the instruction to find square roots of the input variable was stored in the connection made (constraint imposed) by the string, connection is gone and instruction is lost.
Now the machine can’t process the input variable as expected ,as it does not know the expectation anymore.
Thus, the machine will not work for large values of n without an alternate way to store the instructions.
In practical contexts we calculate square roots(or other functions) in combination of many other functions ,in more than one steps .
This means that we ll need another machine that interprets such instances,chooses the required machines ,instruct the machines to start(switch on), feed them the input,fetch there results,stop the machine and combine the results throughout the sequence of such instances .
Unlike the elementary machines above that , such a machine need behave as per the prepositional statements that describe the logic and sequence of the operations (reading, switching, combining etc) in as efficient a manner as possible . Of course the physics of this machine too is expressed by algebraic equations.But in this context the prepositional statement corresponding to this machines are clearly of more interest.
This machine issues instructions the conditions and order in which instructions of the elementary machines to take effect.
Length of this post does not allow to get in in to details of the prepositional statements involved . May be next time. Your reactions are welcome @sigma_0.
Reader might have guessed that we are getting in to programming our meta machine and elementary machines.