Olá! Não entendi direito a necessidade de bolenos que validassem a impressão do imc. Fiz de outra forma e gostaria de saber se é importante ter os bolenos pesoEhValido e alturaEhValida para se ter um código mais bonito, organizado ou lógico. Segue abaixo minha solução:
var paciente = document.querySelectorAll(".paciente");
var tdNome = paciente.querySelector(".info-nome");
var tdPeso = paciente.querySelector(".info-peso");
var tdAltura = paciente.querySelector (".info-altura");
var tdImc = paciente.querySelector(".info-imc");
var nome = tdNome.textContent;
var peso = tdPeso.textContent;
var altura = tdAltura.textContent;
var imc = peso/(altura*altura);
tdImc.textContent = imc;
if (peso >= 500 || peso <= 0 || isNaN(peso)){
tdImc.textContent = "peso inválido";
paciente.style.backgroundColor = "orange";
}
if (altura >= 3.00 || altura <= 0 || isNaN(altura)){
tdImc.textContent = "altura inválida";
paciente.style.backgroundColor = "orange";
}