Well procedures do a certain task, it does blah blah and that's it, then returns control back to the caller, for functions, they provide a return value generally, just like maths, you know f(x) is a function, and when you sub in x, you'd get y, right?
hmmm i'm not sure about the higher-level...