阿摩線上測驗 登入

申論題資訊

試卷:99年 - 99 地方政府特種考試_三等_資訊處理:程式語言#27551
科目:程式語言
年份:99年
排序:0

申論題內容

請說明上述程式之功能。

詳解 (共 1 筆)

詳解 提供者:114年高考上榜

上述程式是一個使用 Scheme functional language 寫成的程式,其功能是對一個列表 L 進行過濾,如果相鄰的元素值相同,則只保留一個,其餘刪除,最後返回過濾後的列表。

 
程式中定義了一個 lambda 函數 unknown,它接受一個列表 L 作為參數。在函數內部使用了 cond 關鍵字對 L 進行判斷:
 
如果 L 是空列表,則直接返回 L。
 
如果 L 的下一個元素是空列表,也直接返回 L。
 
如果 L 的第一個元素與第二個元素相同,則遞歸調用 unknown 函數,傳入 L 的 cdr(即去掉第一個元素後的列表)作為參數。
 
如果 L 的第一個元素與第二個元素不相同,則將第一個元素添加到結果列表中,然後遞歸調用 unknown 函數,傳入 L 的 cdr 作為參數,繼續對剩餘的元素進行過濾。
 
最終,函數返回過濾後的列表。