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.")))