How to do a function to calculate and alert the number of lamps needed to illuminate a particular room

Asked

Viewed 111 times

-5

function alertarNumeroDeLampadas(){
              var potencia = prompt ("Digite o valor da potência da lâmpada em watts: ");
              var largura = prompt ("Digite o valor da largura do local(Metros): ");
              var comprimento = prompt ("Digite o valor do comprimento do local(Metros): ");
              resultado = (largura*comprimento)/potencia;
              return resultado;
            }
            alert(alertarNumeroDeLampadas());

I’m not getting the result. Can someone help me ? inserir a descrição da imagem aqui

  • What’s the problem? What’s happening and what’s supposed to happen?

  • What math I have to do to get to the bulb number ?

  • 2

    you need to consider your constant which is at least 18W per m², then you will know how many bulbs are needed.

  • Although the way the question was asked is in the mathematical operation, there is no doubt that it is a good exercise of functions in javascript (input via prompt and not numerical)

3 answers

4


The calculation should be done in this way:

var potenciaTotal = (largura * comprimento) * 18;
var resultado = potenciaTotal / potencia;

Following example:

function alertarNumeroDeLampadas(){
  var potencia = prompt("Digite o valor da potência da lâmpada em watts:");
  var largura = prompt("Digite o valor da largura do local(Metros):");
  var comprimento = prompt ("Digite o valor do comprimento do local(Metros):");
  
  var potenciaTotal = (largura * comprimento) * 18;
  var resultado = potenciaTotal / potencia;

  return resultado;
}
console.log(alertarNumeroDeLampadas());

  • That part I already had in mind of how to do.

1

Following an example, it would still be necessary to put the treatments for validation of inputs, but as the question should be to validate the logic... this example meets the requirements.

function alertarNumeroDeLampadas() {

  //potência mínima requisitada por m²
  var potenciaMinima = 18;

  var potencia = prompt("Digite o valor da potência da lâmpada em watts: ");
  var largura = prompt("Digite o valor da largura do local(Metros): ");
  var comprimento = prompt("Digite o valor do comprimento do local(Metros): ");

  //resultado total da potência por m² obtida com a parametrização
  resultado = (largura * comprimento) / potencia;

  //Math.ceil() para arrendondar para cima, porque não existe meia lâmpada...
  return Math.ceil(resultado * potenciaMinima);
}

alert(alertarNumeroDeLampadas());

  • Entries shall not accept non-numerical values

  • @Leocaracciolo, good observation, post the response with treatment of inputs, including validation and flow deviations for treatment.

1

Last modified on 19/03/2018 11:19:00

  • With treatments for validation of inputs
  • With alert warning if entry is invalid
  • In case any prompt is clicked the canceled button the operation is canceled

	function numLampadas() {
	
		function alerta(){
		   alert("entrada invalida!");
		}
		
		var larg = (function l() {
		  largura = prompt('Digite o valor da largura do local(Metros):');
		  if (isNaN(largura)||largura==""){ 
		    alerta();
		  	l();
		  }
		}());
		
		if (largura == null){
		  alert("operação cancelada");
		}else{
		  var comp = (function c() { 
		    comprimento = prompt ("Digite o valor do comprimento do local(Metros): ");
		    if (isNaN(comprimento)||comprimento==""){ 
		      alerta();
		  	  c();
		    }
		  }());
		
		  if (comprimento == null){
		    alert("operação cancelada");
		  }else{
		    var pot = (function p() {  
		      potenciaLampada = prompt ("Digite o valor da potência da lâmpada em watts: ");
		      if (isNaN(potenciaLampada)||potenciaLampada==""){ 
		  	    alerta();
		  	    p();
		      }
		    }());
		
		    if (potenciaLampada == null){
		      alert("operação cancelada");
		    }else{
		      resultado = "Numero de lampadas necessárias = "+(largura*comprimento*18)/potenciaLampada;
		      alert(resultado);
		      var labe1= document.getElementById('labe1');
	
	          labe1.innerText  = "Novo cálculo";
		  
		    }
		  
		  }
		
		}
	}
<button id="labe1" onclick="numLampadas()">Iniciar cálculo</button>

  • +1, has how to add a alert() to inform the user that the entry was invalid and so he needs to inform again?

  • @Leandroangelo, make a warning function and call it before the functions l() c() and p()

  • Good! , if I could give +1 again :)

Browser other questions tagged

You are not signed in. Login or sign up in order to post.