Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Atividade confusa!

Gente, na minha humilde opinião, uma atividade serve para avalia e consolidar nosso conhecimento, as vezes até instigando que voltemos a explicação para tentar captar melhor o conteúdo. O exercício abaixo eu acho que não foi bem elaborado, vou detalhar meu entendimento e pedir ajudar se estiver errado.

Então: "No sistema de RH do banco Finanção, as informações dos funcionários de uma determinada área são acessíveis somente aos gerentes daquela área. Um código Javascript que verifica se um funcionário do setor de TI poderia ou não ter acesso aos dados funciona como consta abaixo:

var setorTI = true;
var gerente = false;
if(setorTI == true || gerente == true){
    console.log("Acesso permitido");
}else{
    console.log("Acesso negado")
}

Com o tempo, os funcionários observaram que a validação continha falhas, pois pessoas que não deveriam ter acesso aos dados do setor TI estavam conseguindo mesmo assim.

Com base em seus conhecimentos de Javascript e Lógica de programação, marque todas as opções abaixo que indicam quais funcionários têm acesso às informações do setor de TI." Foi indicado como correta as alternativas A e C:

A) Todos os funcionários do setor de TI. e C) Qualquer funcionário que fosse gerente no banco. O que não bate com o enunciado: "as informações dos funcionários de uma determinada área são acessíveis somente aos gerentes daquela área." Percebi que existem outros posts no fórum para esta mesma atividade. :(

2 respostas
solução!

Opa Felipe, acho que é bem uma pegadinha, por que veja, em um momento dizemos o seguinte: "No sistema de RH do banco Finanção, as informações dos funcionários de uma determinada área são acessíveis somente aos gerentes daquela área"

Mas depois dizemos que: "Um código Javascript que verifica se um funcionário do setor de TI poderia ou não ter acesso aos dados funciona como consta abaixo".

Aqui tá o detalhe. A regra diz que os dados deveriam ser acessados pelos gerentes, certo? Mas no outro momento ele mostra como o código está implementado. Não há frase dizendo que o código implementa exatamente a regra.

Neste caso, todos os gerentes e funcionários do TI acessariam os dados.

É questão de atenção mesmo. Com essa explicação na mão, faz sentido agora?

Basicamente Felipe o problema diz que apenas gerentes do setor de TI deveriam ter acesso as informações referentes ao setor de TI, porém observando o código vemos que:

if(setorTI == true || gerente == true){
    console.log("Acesso permitido");

O If está validando se a pessoa acessando a aplicação é realmente um funcionário do setor de TI OU um gerente do banco, pensando assim qualquer pessoa que fosse gerente do banco, independente de qual setor fosse teria acesso a esses dados que seriam restritos aos gerentes do setor de TI, ou até mesmo se o funcionário fosse do setor de TI também teriam acesso a esses dados restritos aos gerentes do setor, sendo que a forma correta deveria ser:

if(setorTI == true && gerente == true){
    console.log("Acesso permitido");

Colocando o '&&' testamos se o usuário acessando a aplicação é funcionário do setor de TI E gerente deste setor em questão para assim ter acesso aos dados do setor de TI como descrito no enunciado.