<human>:  Explain the differences between function and procedure.
<bot>: A function is a set of instructions that manipulates data and returns a value, while a procedure is a set of instructions that performs a specific task but does not return a value. Functions use parameters to accept arguments, while procedures do not. Functions return a single value, while procedures can return multiple values. Finally, functions are typically used in mathematical processes or operations, while procedures are generally used to implement logic flows.