Para que você possa resolver este exercício, definimos para você as funções maeDe e paiDe, que, recebendo um filho (string), retorna o nome (string) da mãe ou pai conforme apropriado. Exemplo:
paiDe(cleoPires) "Fábio Júnior" maeDe(cleoPires) "Glória Pires"
Agora é a sua vez de criar as funções: temAMesmaMae que tem dois filhos por parâmetro e retornará true oufalse se eles realmente compartilharem a mesma mãe. Sabendo disso você pode usar a função que nós lhe damos maeDe.
temOMesmoPai que como o anterior, pega dois filhos por parâmetro e retorne true oufalse se eles compartilharem o mesmo pai. Sabendo disso você pode usar a função que nós lhe damos paiDe.
E saoMeioIrmaos, que, recebendo dois filhos por parâmetro, nos diga se de fato são meio-irmãos. Você deve usar as duas funções anteriores aqui. Lembre-se que os meios irmãos são dados quando, dois filhos compartilham a mesma mãe, mas NÃO o mesmo pai ou vice-versa. Bem, se ambos têm a mesma mãe e o mesmo pai, nesse caso eles seriam irmãos!
O teste me da esse resultado e não estou conseguindo entender o porque minha lógica está errada quero ajuda para entender não solução por favor, obrigado.
Sua solução não passou as provas
Resultados do teste:
cleoPires e fiuk são meio irmãos Ver detalhes
sandy e junior não são meio irmãos
sandy e fiuk não são meio irmãos
junior e fiuk não são meio irmãos
Ok, vamos a minha solução!
function maeDe(filho){
return "Glória Pires"
}
function paiDe(filho){
return "Fábio Júnior"
}
function temAMesmaMae(filho1, filho2){
return maeDe(filho1) == maeDe(filho2);
}
function temOMesmoPai(filho1, filho2){
return paiDe(filho1) == paiDe(filho2);
}
function saoMeioIrmaos(filho1, filho2){
return temAMesmaMae(filho1, filho2) != temOMesmoPai(filho1, filho2);
}