Explicit algorithms and algorithms involving unknowns
Personally, I would call the first one an algorithm, and I would call the second a non-constructive proof of the existence of an algorithm.  But it probably doesn't matter all that much what you call it, exactly, as long as you are explicit and clear about what you mean.

Related: https://en.wikipedia.org/wiki/Non-constructive_algorithm_existence_proofs, https://cstheory.stackexchange.com/q/12162/5038.