Help 2: Estudando programação

5 respostas
G

Pessoal,

Estou estudando sozinho programação e por isso agradeço quem pode me ajudar.

No javascprit eu consigo usar FUNÇÃO e IF ao mesmo tempo ?

Por exemplo:

function sexo (masculino) {
	if (imc <= 20.7){
	mostra ("Você está abaixo do peso ideal.")
	}
	if (imc >=20.7 && imc <=26.4){
	mostra ("Você está no peso ideal.")
	}
	if (imc >=26.7 && imc<=27.8){
	mostra ("Você está um pouco acima do peso.")
	}
	if (imc >= 27.8 && imc <=31.1){
	mostra ("Você está acima do peso.")
	}
	if (imc >= 31.3) {
	mostra ("Você está obeso.")
    }
}

Agradeço de alguém puder me ajudar !!!

5 Respostas

Lucas_Camara

Consegue sim.

Fefo80

De forma simplista, você pode usar qualquer função dentro de qualquer outra. Só precisa ter cuidado pro seu código não ficar confuso.

hugokotsubo

E por que não conseguiria? Uma função é “apenas” uma sequência de comandos que pode ser reaproveitada (resumindo bem porcamente). E dentro dela você pode ter qualquer código válido.

Mas só pra constar, sua função não faz sentido. Ela se chama sexo, recebe um parâmetro chamado masculino, mas o código dela verifica o IMC, o que é bem confuso. O parâmetro masculino não está sendo usado pra nada, e de onde vem o IMC? Ele também deveria ser um parâmetro.

Sem contar que se o IMC for exatamente 20.7 ele entra em dois if's (no abaixo do peso e no peso ideal).

Enfim, usando os mesmos valores, a ideia seria fazer algo assim:

function mostraResultado(imc) {
    if (imc <= 20.7) {
        mostra ("Você está abaixo do peso ideal.")
    } else if (imc <= 26.4) {
        mostra ("Você está no peso ideal.")
    } else if (imc <= 27.8) {
        mostra ("Você está um pouco acima do peso.")
    } else if (imc <= 31.1) {
        mostra ("Você está acima do peso.")
    } else {
        mostra ("Você está obeso.")
    }
}

Repare que não precisa testar o mesmo valor duas vezes. Se o IMC for menor ou igual a 20,7 ele entra no primeiro if. Se não entrou nesse if é porque é maior, então não precisa testar isso de novo no else.

Depois, se for menor ou igual a 26,4 vai entrar no segundo if. Se não entrar ali é porque é maior e não precisa testar de novo no próximo e assim por diante.

Se não entrar em nenhum if é porque é maior que 31,1 e entra no último else.

G

Obrigado.

G

Hugo,

Cara. VALEU MESMO !!!
Entendi e ficou muito mais claro o que é FUNÇÃO.
Já li umas 03 vezes para gravar a ideia de como usar função.
Excelente sua explicação.

Criado 4 de junho de 2021
Ultima resposta 5 de jun. de 2021
Respostas 5
Participantes 4