All pastes #826699 Raw Edit

Something

public text v1 · immutable
#826699 ·published 2007-12-21 11:24 UTC
rendered paste body
(define (aplica_margarida t planeta posicao n limite_vm probab_muta planeta_futuro)
  (define efeito 0)
  (define (aplica_margarida_aux t planeta posicao n limite_vm probab_muta planeta_futuro)
    (cond((string=? "morre" efeito) (morre_margarida planeta posicao))
         ((string=? "nada" efeito) planeta_futuro)
         ((posicao? efeito) (nasce_margarida planeta_futuro
                                             efeito
                                             (nova_margarida
                                               (novo_albedo (albedo_margarida (obtem_margarida planeta posicao))  probab_muta NPA)
                                              (tempmin_margarida (obtem_margarida planeta posicao))
                                              (tempmax_margarida (obtem_margarida planeta posicao)))))
         (else "Erro de input.")))
  
  (if (and (integer? t) (>= t 0) (planeta? planeta) (posicao? posicao) (linhas_planeta planeta) (colunas_planeta planeta)
           (integer? n) (>= n 0) (integer? limite_vm) (>= limite_vm 0) (rational? probab_muta) (<= 0 probab_muta 1) (planeta? planeta_futuro))
      (if (posicao_valida? posicao (linhas_planeta planeta) (colunas_planeta planeta))
          (begin
            (set! efeito (efeito_margarida t planeta posicao n limite_vm))
            (aplica_margarida_aux t planeta posicao n limite_vm probab_muta planeta)
            "Erro de consistência.")
          "Erro de input.")))