Scheme (prática)
Exercícios
Agora é com você. Defina as funções a seguir.
A função (teste esperado obtido)
já foi definida para sua conveniência. Essa função compara o resultado esperado
com o resultado obtido
e mostra o resultado da comparação no console do navegador (Ctrl+Shift+I
> Console
).
Função maior-de-idade
Função (maior-de-idade idade)
, que indica se um indivíduo com determinada idade
já atingiu ou não a maioridade penal no Brasil.
Função IMC
Função (imc peso altura)
, que calcula o IMC de uma pessoa, igual ao seu peso dividido pelo quadrado de sua altura.
Função obesidade
Função (obesidade peso altura)
, que retorna 'abaixoDoPeso
se o IMC é menor que 20, 'neutro
se o IMC está entre 20 e 30, e 'obeso
se o IMC é maior que 30.
Funções recursivas
Função fib
Função (fib n)
(retorna o n-ésimo elemento da sequência de Fibonacci). Use recursão.
Função compr
Função (compr l)
(retorna o comprimento da lista l, isto é, seu número de elementos). Use recursão.
Função member
Função (member x l)
(indica se o elemento x está presente na lista l):
Função is-set
Função (is-set l)
(indica se l é um conjunto, isto é, uma lista na qual todos os elementos são distintos) – use a função member:
Função freq
Função (freq x l)
(indica quantas vezes o elemento x aparece na lista l):
Mais funções
Função qtd-pares
A função (qtd-pares l)
retorna a quantidade de elementos pares na lista l
.
Função dobra-tudo
Função (dobra-tudo l)
retorna uma lista em que cada elemento é o dobro do elemento correspondente da lista l
:
Função filtra-pares
A função (filtra-pares l)
retorna uma lista igual à lista l
removendo-se os elementos ímpares:
Função todos-pares
A função (todos-pares l)
retorna verdadeiro se e somente se todos os elementos da lista l
são números pares.