四、函數(Function)讓程式更容易維護和重複使用。請說明:1.什麼是「函 數」?使用函數有那些優點?2.解釋「參數」 (Parameter)和「回傳值」 (Return Value)的意義,並舉例說明。3.什麼是「遞迴」 (Recursion)? 寫出計算階乘(如 5! = 5 × 4 × 3 × 2 × 1)的遞迴函數虛擬碼。4.遞迴和迴 圈(Loop)都可以重複執行,它們有何不同?在什麼情況下遞迴比較適 合?(20 分)