What is the difference between one Algorithm and one Implementation

Hello everyone ! I am thinking about the general concept of one ALgorithm.

Does exist real separation between algorithm and code in C (which is an implementation of algorithm)???

We can call one program as algorithm? Or only as "Implementation in C of C algorithm"

For Instance , We assume that we have the simple algorithm (comparison of 2 integers) :

Figure A (Algorithm in Pseudo-Code):

if a is higher from b

Put higher=a;

otherwise

if a is less from b

Put higher=b;

Figure B ( Implementation in C ) :

Code:

` `

...

if(a>b)

higher=a;

else

higher=b;

printf("%d",higher);

Now... We can call A as "basic algorithm" and B as "implementation in C of this algorithm" or also we can call B as algorithm in C? or (both of them? Implementation and algorithm????)

thank you in advance :)