Dúvida incomodativa

2 views
Skip to first unread message

eduardo malaguti

unread,
Apr 6, 2009, 3:57:23 PM4/6/09
to htdp-...@googlegroups.com
;;Exercise 11.4.3.   Develop product-from-minus-11. The function consumes an integer n greater or equal to -11 and produces the product of all the integers between -11 (exclusive) and n (inclusive).

;; prdct-minus-11 : n (>= -11) = number

;; data :
; é menor que 11?
; é zero?
; é maior que 11?
; else

;; Example :
;(prdct-minus-11 2)

;; Definition :
(define (prdct-minus-11 N)
  (cond
    [(< N -11) 0]
    [(zero? N) 1]
    [(= N -11) 1]
    [else (* (prdct-minus-11 (sub1 N)) N)]))
 


;; Tests :
(equal? (prdct-minus-11 -12) 0)
(equal? (prdct-minus-11 -11) 1)
(equal? (prdct-minus-11 -9) 90)
(equal? (prdct-minus-11 -1) 3628800)
(equal? (prdct-minus-11 0) 1)
(equal? (prdct-minus-11 2) 7257600) (ESSE FILHA DA PUTA QUE TA DANDO ERRADO, o resultado que o scheme dá aqui é 2, pois ele chega ao zero e diz que é obrigatoriamente 1 e daí fode a porra toda)

--
Eduardo "Barbosa" Santaella Malaguti

jack burton

unread,
Apr 6, 2009, 4:20:38 PM4/6/09
to htdp-...@googlegroups.com
Robin , vamos parar com esse xingamento aih !


Date: Mon, 6 Apr 2009 16:57:23 -0300
Subject: Dúvida incomodativa
From: eduardo....@gmail.com
To: htdp-...@googlegroups.com

Turbine seu Messenger com emoticons! Clique já, é GRÁTIS!

eduardo malaguti

unread,
Apr 6, 2009, 4:25:40 PM4/6/09
to htdp-...@googlegroups.com
consegui gente, precisa mais não.

taí:

(define (prdct-minus-11 N)
  (cond
    [(< N -11) 0]
    [(= N -11) 1]
    [(zero? N) (* (prdct-minus-11 (sub1 N)) 1)]

    [else (* (prdct-minus-11 (sub1 N)) N)]))

Acho que tá enjambrado, mas deu o resultado esperado.

2009/4/6 jack burton <bresol...@hotmail.com>

ebel...@gmail.com

unread,
Apr 6, 2009, 4:57:05 PM4/6/09
to htdp-...@googlegroups.com
Eduardo, teu programa esta quase certo.
Pensa o que você poderia fazer pra "pular" o 0.
Seu programa pode também ficar um pouco mais simples.

Uma dica, aqui vai uma versão um pouco mais incrementada do seu Data Definition
;; data definition:
; é menor ou igual que 11?
; é zero? **** Você precisa realmente voltar 1 aqui? ****
; else
signature.asc

ebel...@gmail.com

unread,
Apr 6, 2009, 5:13:13 PM4/6/09
to htdp-...@googlegroups.com
Booooaaaa!

--
Eduardo Bellani

www.cnxs.com.br

“What is hateful to you, do not to your fellow men. That is the entire Law; all the rest is commentary.” The Talmud

signature.asc
Reply all
Reply to author
Forward
0 new messages