TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Exercícios Escheme

Dissertações: Exercícios Escheme. Pesquise 862.000+ trabalhos acadêmicos

Por:   •  4/10/2014  •  4.718 Palavras (19 Páginas)  •  232 Visualizações

Página 1 de 19

Lista 4 - SCHEME

1.Escreva um procedimento em Scheme maior? que recebe dois números inteiros n e m, e

retorna #t se o n for maior do que m e #f no caso contrário.

> (maior? 8 2)

#t

> (maior? 8 8)

#f

> (maior? 2 8)

#f

(define (maior n m)

(if (> n m) #t

#f

))

2. Escreva um procedimento em Scheme igual? que recebe dois números inteiros n e m, e

retorna #t se o n for igual a m e #f no caso contrário.

> (igual? 8 2)

#f

> (igual? 8 8)

#t

> (igual? 2 8)

#f

(define (igual? n m)

(if (= n m)

#t

#f

)

)

3. Escreva um procedimento em Scheme menor? que recebe dois números inteiros n e m, e

retorna #t se o n for menor do que m e #f no caso contrário.

> (menor? 8 2)

#f

> (menor? 8 8)

#f

> (menor? 2 8)

#t

(define (menor n m)

(if (< n m) #t

#f ))

4. Escreva um procedimento em Scheme quociente que recebe dois números inteiros positivos

n e m, e devolve o quociente da divisão de n por m. No caso de m ser 0 deverá devolver 0.

> (quociente 8 2)

4

> (quociente 10 3)

4

(define (quociente n m)

(ceiling (/ n m) ))

5. Escreva um procedimento em Scheme resto que recebe dois números inteiros positivos n e

m, e devolve o resto da divisão de n por m.

> (resto 8 2)

0

> (resto 10 3)

1

(define (resto n m)

(remainder n m))

6. Escreva um procedimento em Scheme somatorio que recebe um número inteiro positivo n,

e devolve a soma de todos os números até n.

> (somatorio 3)

6

> (somatorio 6)

21

(define (somatorio n)

(if (= n 1)

1

(+ n (somatorio (- n 1)))))

7. Escreva um procedimento em Scheme soma-quadrados que recebe um número inteiro posi-

tivo n, e devolve a soma do quadrado de todos os números até n.

> (soma-quadrados 3)

14

> (soma-quadrados 5)

65

(define (soma-quadrados n)

(if (= n 0) 0

(+ (* n n) (soma-quadrados (- n 1)))))

8. Escreva um procedimento em Scheme fatorial que recebe um número inteiro positivo n,

e devolve o fatorial desse número.

> (fatorial 0)

1

> (fatorial 5)

120

(define factorial(lambda (n)

(if (= n 0) 1

(* n (factorial (- n 1))))))

9. Um número diz-se primo se os seus únicos divisores são o 1 e o próprio . O número 1 não é primo. Escreva um procedimento em Scheme primo? que recebe um número inteiro positivo n, e retorna #t se o número for primo e #f no caso contrário.

> (primo? 53)

#t

> (primo? 21)

#f

(define (primo? n)

(cond

((= n 2) #t)

((or (= n 1) (= (resto n 2) 0)) #f)

(else (primo-aux n 3))

)

)

10. Um número é quadrado perfeito se existir um tal que . Escreva um procedimento

em Scheme quadrados-perfeito? que recebe um número n, e retorna #t se n for um quadrado perfeito e #f no caso contrário.

...

Baixar como (para membros premium)  txt (15.8 Kb)  
Continuar por mais 18 páginas »
Disponível apenas no TrabalhosGratuitos.com