Função Árvores genealógica
12/11/2019
0
Boa tarde!
Eu sou iniciante em javascript, e estou montando um programa que diz se 2 filhos são meio irmão ou não.
Poderiam me ajudar?
function temAMesmaMae(filho1, filho2){
return maeDe(filho1) == maeDe(filho2);
}
function temOMesmoPai(filho1, filho2){
return paiDe(filho1) == paiDe(filho2);
}
function saoMeioIrmaos(filho1, filho2){
if (temAMesmaMae(filho1, filho2) && !temOMesmoPai(filho1, filho2){
return (''São meio-irmãos'');
}
}
Não estou conseguindo, não executa.
Eu sou iniciante em javascript, e estou montando um programa que diz se 2 filhos são meio irmão ou não.
Poderiam me ajudar?
function temAMesmaMae(filho1, filho2){
return maeDe(filho1) == maeDe(filho2);
}
function temOMesmoPai(filho1, filho2){
return paiDe(filho1) == paiDe(filho2);
}
function saoMeioIrmaos(filho1, filho2){
if (temAMesmaMae(filho1, filho2) && !temOMesmoPai(filho1, filho2){
return (''São meio-irmãos'');
}
}
Não estou conseguindo, não executa.
Bianca Paula
Curtir tópico
+ 0
Responder
Posts
13/11/2019
Jorge Pinto
Olá Bianca !! Tudo bem com vc?
Vou tentar lhe ajudar, e para isso precisamos primeiro definir bem aqui o conceito de meio-irmão. Considerei que meio-irmão é todo filho que possui a mesma mãe OU o mesmo pai, mas não ambos. Ok?
Me baseei no wiki abaixo para definir isso:
Observe o código abaixo:
Analise e execute ele, está bem comentado, observe bem a utilização dos operadores lógicos em conjunto com a definição do que se quer...
acho que era isso que vc precisava, mas qualquer dúvida é só falar.
Espero ter ajudado !
Abraço e bons códigos !
Vou tentar lhe ajudar, e para isso precisamos primeiro definir bem aqui o conceito de meio-irmão. Considerei que meio-irmão é todo filho que possui a mesma mãe OU o mesmo pai, mas não ambos. Ok?
Me baseei no wiki abaixo para definir isso:
https://pt.wikipedia.org/wiki/Meios-irmãos
Observe o código abaixo:
<!DOCTYPE html> <!-- To change this license header, choose License Headers in Project Properties. To change this template file, choose Tools | Templates and open the template in the editor. --> <html> <head> <title>TODO supply a title</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <script type="text/javascript"> // ======================================================================= // Funções para simular o comportamento das funções ou métodos reais maeDe // e paiDe. // Para conseguir simular seu programa criei o cenário abaixo, observe: // // Pais João Pedro Maria Ana // Filhos Roberto Roberto // Rafaela Rafaela // André André // Cristiane // Luis // // Meio-irmãos são filhos que possuem o mesmo pai OU a mesma mãe, entretanto // não podem ter ambos, ou seja, não podem ter o mesmo pai E a mesma mãe. // Assim sendo temos no cenário acima os seguintes meio-irmãos: // // 1 - Roberto e Cristiane -> Mesmo pai (consanguineos) // 2 - Rafaela e Cristiane -> Mesmo pai (consanguineos) // 3 - André e Luis -> Mesma mãe (uterinos) // // Note que Roberto e Rafaela tem o mesmo pai E a mesma mãe, portanto não // são meio-irmãos e sim irmãos. // // As funções abaixo irão simular de forma "burra" o cenário acima. function maeDe(filho) { var ret = ""; if (filho == "Roberto" || filho == "Rafaela") { ret = "Maria"; } if (filho == "André" || filho == "Luis") { ret = "Ana"; } return ret; } function paiDe(filho) { var ret = ""; if (filho == "Roberto" || filho == "Rafaela" || filho == "Cristiane") { ret = "João"; } if (filho == "André") { ret = "Pedro"; } return ret; } // ====================================================================== function temAMesmaMae(filho1, filho2) { return maeDe(filho1) == maeDe(filho2); } function temOMesmoPai(filho1, filho2) { return paiDe(filho1) == paiDe(filho2); } function saoMeioIrmaos(filho1, filho2) { //Essas condições trazem todos os meio-irmãos e também os irmãos if(temAMesmaMae(filho1, filho2) || temOMesmoPai(filho1,filho2)) { //Essas condições retiram os irmãos do resultado sobrando apenas //os meio-irmãos if(!(temAMesmaMae(filho1, filho2) && temOMesmoPai(filho1,filho2))) { alert(filho1+" e "+filho2+" são meio-irmãos."); } else { alert(filho1+" e "+filho2+" são irmãos."); } } else { alert(filho1+" e "+filho2+" não são irmãos nem meio-irmãos."); } } saoMeioIrmaos("Roberto","Cristiane"); saoMeioIrmaos("Roberto","Rafaela"); saoMeioIrmaos("André","Rafaela"); saoMeioIrmaos("André","Luis"); saoMeioIrmaos("Roberto","Luis"); </script> </body> </html>
Analise e execute ele, está bem comentado, observe bem a utilização dos operadores lógicos em conjunto com a definição do que se quer...
acho que era isso que vc precisava, mas qualquer dúvida é só falar.
Espero ter ajudado !
Abraço e bons códigos !
Responder
Clique aqui para fazer login e interagir na Comunidade :)