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

Trabalhando com Condições

No vídeo 05 da aula 06 o Flavio informa que o If deve estar em um bloco para ser executado somente aquele If, porém testei os If's sem blocos e funcionam como deveria, escrevendo na tela se o time foi melhor, pior ou igual ao ano passado, dependendo do input do usuário.

É necessário mesmo colocar o If em blocos ou somente a indentação já resolveria?

<meta charset='utf-8'>

<script>

var pontospassados = parseInt(prompt('Quanto pontos seu time fez no ano passado?'));
var vitorias = parseInt(prompt('Entre com o número de vitórias: '));
var empates = parseInt(prompt('Entre com o número de empates: '));

var pontos = vitorias * 3 + empates;
document.write('Seu time fez ' + pontospassados + ' pontos no passado e tem ' + pontos + ' pontos atualmente.<br>');

if (pontos > pontospassados)
    document.write('Seu time está melhor do que o ano passado.<br>');
if (pontos < pontospassados)
    document.write('Seu time está pior do que o ano passado.<br>');
if (pontos == pontospassados)
    document.write('Seu time está igual ao ano passado.<br><br>');

document.write('Obrigado por usar nossos serviços.');

</script>
3 respostas

Código sem indentação não é legal de se ler, mas tem uma coisa um pouco pior que isso, ou tão ruim quanto, que é a falta de um padrão na indentação do projeto. Por exemplo, eu uso tab pois consigo ajustar meu editor para que ele exiba a quantidade que eu julgue necessária de espaços, mas pode ser que alguém da minha equipe use os próprios espaços, e ai já imagina a beleza que vai ficar o código? Se vc trabalha em equipe e não tem um padrão definido a bagunça e o retrabalho irão ser uma constante.

Caso você tenha apenas uma instrução em um if ou for, as chaves não são obrigatórias em JAVASCRIPT, porem, mesmo que sejam opcionais é importante sempre usa-las. Isto faz com que seu código seja mais fácil de dar manutenção pois outras pessoas vão entende-lo melhor.

Outras linguagem fazem o uso intensivo de indentação então é bom usa-las.

solução!

Oi Thiago, funciona, mas você forçará o JavaScript a entrar em todas as condições toda vez que seu programa rodar. Quando usar o else if, se ele já encontra a condição necessária, ele não continuará a testar as demais condições.

Não queremos dar trabalho ao interpretador do JavaScript, certo? :)

Tranquilo meu aluno?

Boa tarde, Welton, talvez eu tenha me feito claro.

A indentação é necessária, não há dúvidas e eu sempre coloco, até porque tenho um pouco de toque com organização do código.

O que eu quis dizer é separar por blocos colocando entre {} da seguinte forma abaixo:

if (pontos > pontospassados) {
    document.write('Seu time está melhor do que o ano passado.<br>');
}
if (pontos < pontospassados){
    document.write('Seu time está pior do que o ano passado.<br>');
}

if (pontos == pontospassados){
    document.write('Seu time está igual ao ano passado.<br><br>');
}

document.write('Obrigado por usar nossos serviços.');

O Flavio esclareceu a minha dúvida.

Flavio, muito obrigado!