GPAを計算できる関数を書こうとしています。今では限られた計算(3つだけ)を行うことができますが、ループや再帰(サブジェクトの要件)を使用せずに、n番目の関数を消費する方法を使用せずにさらに計算する方法に固執しましたか?のように:(n番目のn)、もしそうなら、それは私がラムダ式を書く必要があることを意味しますか?初心者として、私は質問を明確に説明できないかもしれません、本当にいくつかの助けが必要です。
Glistは成績ポイントですClistは単位時間です。
GPA =(gradepoint * credithour + gradepoint * credithour)/(credithourの合計)like:(3 * 1 + 3 * 2 + 4 * 1)/(1 + 2 + 1)
これが私のコードです:
(defun gpa (Glist Clist)
(format t "~3,2f~%"
(/
(+(nth 0 (mapcar #' * Glist Clist))
(nth 1 (mapcar #' * Glist Clist))
(nth 2 (mapcar #' * Glist Clist)))
(+ (nth 0 Clist)
(nth 1 Clist)
(nth 2 Clist))
);end "/"
);end "format"
(values) );end