Informática, perguntado por karynascp, 10 meses atrás

Usando funções - deixaEntrar Uma rede de cinemas quer implementar um sistema para controlar a entrada nas suas salas. Os clientes, antes de entrar na sala, devem apresentar o RG em uma câmera. A câmera seria capaz de ler a data de nascimento do cliente e, caso ele não tenha idade suficiente para assistir a sessão, o acesso dele não seria autorizado. Um dos programadores já fez uma função que calcula a idade com base na data de nascimento. Ela recebe como parâmetro uma data de nascimento no formato dd/mm/aaaa (dia com dois dígitos, mês com dois dígitos e ano com quatro dígitos) e retorna idade da pessoa hoje. Precisamos agora que você escreva a função deixaEntrar(dataDeNascimento, censura). A função deve receber dois parâmetros: O primeiro deve representar a data de nascimento do cliente no formato dd/mm/aaaa O segundo deve representar a censura da sessão, ou seja, a idade mínima do cliente para que ele possa acessar a sala. A função deve retornar true caso o cliente tenha idade maior ou igual a censura e false caso contrário. Dica: A função calcularIdade não precisa ser alterada Você deve utilizar a função calcularIdade dentro da função deixaEntrar // A função a seguir (calculaIdade) não precisa ser alterada // A sua função deve ser escrita logo abaixo desta function calcularIdadeB(dataDeNascimento) { if(!/^\d{2}\/\d{2}\/\d{4}$/.test(dataDeNascimento)) throw("Formato de data inválido"); var [dia, mes, ano] = dataDeNascimento.split('/'); var d = new Date(); var anoAtual = d.getFullYear(); var mesAtual = d.getMonth() + 1; var diaAtual = d.getDate(); ano = +ano; mes = +mes; dia = +dia; var quantosAnos = anoAtual - ano; if (mesAtual < mes || mesAtual == mes && diaAtual < dia) { quantosAnos--; } return quantosAnos < 0 ? 0 : quantosAnos; }

Soluções para a tarefa

Respondido por diotattoo
2

Resposta:

function deixaEntrar(dataDeNascimento, censura) {

 var idade = calcularIdade(dataDeNascimento)

  if (idade > censura) {

   return true

 }else{

    return false

 }  

}

Explicação:

Essa eu apanhei. usei os dados abaixo como teste.

dataDeNascimento = "11/05/1999"

censura = 22

console.log(deixaEntrar(dataDeNascimento, censura))

Mesmo assim, a função 'calcularIdade' está com nome errado na atividade proposta do Programa bolsas Santander Mobile 2020 - T02 da Digital House.

No código está 'calcularIdadeB()' e apesar de informarem que nada deve ser alterado, quando voce tenta rodar o programa ele gera erro dizendo que voce deve usar a funcao com o nome correto 'calcularIdade()'


karynascp81: Para dar certo tive que tirar o if (idade > censura) {

return true

}else{

return false

}

}
karynascp81: e deixar: return true; false
karynascp81: Você conseguiu fazer o do CPF? Não consegui...
diotattoo: Esse estava com erro no sistema, corrigiram. Resete o código e tente outra vez. O que eu ainda nao consegui foi o desafio do Cinema, pra verificar o ID de a cordo com o filme e personagem... tá travado.
theZord: Felizmente anularam esse desafio do deixaEntrar( )
elizangelapimenta: Esse é o único exercício que falta para mim e não consigo o fazer...
Respondido por cmsardi
9

Resposta:

function deixaEntrar(dataDeNascimento, censura) {

   dataDeNascimento = calcularIdade(dataDeNascimento)

       return dataDeNascimento >= censura

}

//Caso queira testar  

console.log(deixaEntrar("11/11/1111", 11))

//console.log(deixaEntrar(dataDeNascimento, censura))

Explicação:

Não necessita do if pode colocar a direto no return


Mbwolney: function deixaEntrar(dataDeNascimento, censura) {

*var* dataDeNascimento = calcularIdade(dataDeNascimento)

return dataDeNascimento >= censura

}
Mbwolney: Só esqueceu de colocar o VAR
theZord: É isso mesmo Mbwolney!
angeloroncalli: Não precisa do "var", pois não precisa criar a variável. Ele está como parâmetro que nesse caso funciona igual. Eu não consegui fazer a questão sem recorrer a respostas dos colegas, pois não consegui estabelecer a igualdade entre o parâmetro e a função calcularIdade de maneira apropriada.
fidizila: não precisa de variável:

function deixaEntrar(dataDeNascimento, censura){
return calcularIdade(dataDeNascimento)>=censura
}
Perguntas interessantes