Mini-teste 1-X, Duração: 45 min, Com Consulta
RESOLUÇÃO
1.A
O resultado de (x 5 2) é 5.
Em geral o procedimento devolve n1.
1.B
Para n1<n2 o procedimento x tem ordem constante
(um) de crescimento espacial e temporal uma vez que devolve
imediatamente o resultado, seja qual for o valor de n1 e
n2.
Para n1>=n2 o procedimento x tem ordem linear
(n1-n2+1) de crescimento espacial e temporal uma vez que se chama,
recursivamente, até que o valor de n1 seja menor do que
n2, deixando operações suspensas para serem efectuadas após
ter sido atingido o caso base.
Considerando o pior caso, para um n muito elevado, o procedimento tem O(n) em tempo e espaço, relativamente a n1.
1.C
(define x-iter (lambda (n1 n2) (x-aux n1 n2 0))) (define x-aux (lambda (n1 n2 acc) (if (< n1 n2) (+ acc n1) (x-aux (sub1 n1) n2 (add1 acc)))))
2.
(define quad? (lambda (l1 l2 l3 l4) (let ((o-maior (max l1 l2 l3 l4))) (< o-maior (- (+ l1 l2 l3 l4) o-maior)))))