0

私は、プログラミング言語コースで使用する plai-typed 言語に慣れるためのプロジェクトに取り組んでいます。私は本当に私を悩ませている 1 つの質問に行き詰まっています (残りはすべて問題なく終了しました)。このデータ型定義を使用します。

(define-type Tree
[leaf (val number?)]
[node (val number?)
(left Tree?)
(right Tree? ) ] ) 

次に、「関数 'scaled' を実装します。この関数は、ツリーを受け取り、同じ形状を持つツリーを返しますが、すべての値が指定されたスケールで乗算されます。

例: (scaled (node -5 (leaf 6) (leaf -7)) 2) should Produce (node -10 (leaf 12) (leaf -14))"

したがって、基本的には、これらすべての値を特定の値 (この例では 2) で乗算する必要があります。

さまざまな方法を試した後、これまでのところ私が持っているものは次のとおりです。

(define (scaled [ t Tree?] [n  number?] )  
(type-case Tree t  
[leaf (val) val] 
[node (val left right) ( * val (scaled left) (scaled right)  n  ) ] ) )    

私は、割り当ての他の部分のために作成した以前のコードに基づいて、正しく理解しました。問題は、各値を個別に乗算するのではなく、すべての数値と結果を 420 の解で「正常に」乗算することです。これは「n」の配置に関係していることはわかっていますが、運が悪く、さまざまな方法を試しました。誰かに役立つヒント/ヒント/解決策があれば、大歓迎です。

ありがとう!

4

1 に答える 1