Camila,
Os códigos são executados na sequência em que foram explicitados.
1) Inicialmente, você define 3 funções: pulaLinha(), mostra(frase) e calculaImc(altura, peso).
2) Depois chama a função calculaImc(altura, peso) e joga o valor realizado dentro dessa função na variável imcCalculado.
3) Ou seja, quando você chama o 2) você realiza todos os passos dentro de calculaImc() que é:
- 1º calcula o peso e armazena na variável imc;
- chama a função mostra ("teste1"), que basicamente imprime a frase "teste1" e chama outra função que pulaLinha;
- retorna o valor "teste2"
4) E por último, você chama novamente o mostra("O meu IMC é : " + imcCalculado). Onde é impresso "O meu IMC é : teste"
A saída do seu código sempre vai ser teste1 O meu IMC é : teste2, porque :
"teste1" --> saída realizada dentro da função calculaImc() -- mostra("teste1")
para depois
realizar
return "teste2";
que é atribuído à variável imcCalculado --> "teste2"
que posteriormente você chama novamente dentro
mostra ("O meu IMC é : " +** imcCalculado**);
teste1 O meu IMC é : teste2
Aí para sair como você quer "O meu IMC é : teste1 teste2" existem várias possibilidades.
Tirar o mostra("teste1) do imc, retornar o "teste 1" ao inves do teste 2 e concatenar "teste2" na sua chamada final do mostra.. E por aí vai..
....
return "teste1";
}
mostra("O meu IMC é : " + imcCalculado + "teste2");
Espero ter ajudado, bons estudos.