2010-11-23 7 views
-2

Vous devez définir une fonction (disons add-y) d'un argument y qui renvoie une procédure qui prend un argument x et renvoie la somme des deux arguments, soit y et x. En utilisant le l'add-y fonction définie, écrire une mul procédure qui prend deux arguments entiers d et e et retourne leur produitune fonction qui renvoie une procédure dans le schéma

+1

à savoir « faire mes devoirs pour moi. » – erjiang

+0

"Whaaaat ... est la vélocité de la vitesse de l'air d'une grue volante?" – ikdc

Répondre

3
(define (add-y y) 
    (lambda (x) (+ x y))) 

(define add-5 (add-y 5)) 

(add-5 2) 

Résultat: 7

+2

Quand la question est à la maison, il vaut mieux les guider vers la solution que de la donner carrément. Alors qu'ils obtiennent une réponse (et vous obtenez votre représentant), ils n'entendent rien. – Paul

+2

À tout le moins, vous devriez expliquer la réponse. –

0
(define (add-y y) (lambda (x) (+ x y))) 

(define (mul d e) 
(if (= e 0) 
    0 
    ((add-y d) (mul d (- e 1)))))
+0

Quand la question est à la maison, il vaut mieux les guider vers la solution que de la donner carrément. Alors qu'ils obtiennent une réponse (et vous obtenez votre représentant), ils n'entendent rien. – Paul

+1

@Paul, personnellement, je ne pense pas que les gens devraient publier des questions de devoirs ici, sauf si on leur a donné un vrai coup eux-mêmes. une telle personne afficherait alors ce qu'ils ont essayé et/ou ce qu'ils n'ont pas compris, auquel la communauté pourrait utilement répondre. ce poste n'a aucun de ces signes. vous ne pouvez aider que ceux qui s'aident eux-mêmes ... – davin

+0

Ensuite, au lieu de promouvoir ce comportement, vous ne devez pas fournir de réponse et de commentaire sur _why_ si vous n'avez pas fourni de réponse. S'ils insistent encore pour ne rien y faire, alors ne répondez toujours pas. Je sais que je ne le ferai pas; Je ne veux pas que quelqu'un comme lui obtienne son diplôme, car je pourrais peut-être travailler avec eux dans le futur. Effrayant. – Paul