Oi, Samantha! Tudo bem?
O código funciona muito bem. A utilização do operador OR (||
) foi inserida nesse contexto de forma correta.
Algumas sugestões de melhoria podem ser aplicadas. Observe que dentro do laço while
, tanto na condição de if
quanto else
nós temos a linha cont = cont + 1
. Se essa linha ocorre independentemente da condição ser verdadeira ou falsa, nós podemos colocá-la fora do bloco de if-else. Então nós tinhamos esse código:
while (cont <= 40) {
if (cont == 33 || cont == 37) {
cont = cont + 1;
}
else {
mostra(cont);
cont = cont + 1;
}
}
E podemos transformar nesse:
while (cont <= 40) {
if (cont == 33 || cont == 37) {
}
else {
mostra(cont);
}
cont = cont + 1
}
Mas podemos observar que o bloco de código dentro do if
é vazio, e é somente é executada a ação para as condições dentro do bloco else
. E não tem nenhum problema isso ocorrer, mas também pode ser feita a troca da condição para que só utilizemos apenas o if
.
O cenário do código é descrito como: "Para todos os números diferente de 33 (E) diferente 37, printe-os", então podemos montar uma condição utilizando operador lógico and, tal que if(cont != 33 && cont != 37)
, e teremos:
while (cont <= 40) {
if (cont != 33 || cont != 37) {
mostra(cont);
}
else {
}
cont = cont + 1
}
E por fim, podemos remover o bloco de else{}
vazio, já que ele não
executa nenhuma ação.
while (cont <= 40) {
if (cont != 33 && cont != 37) {
mostra(cont);
}
cont = cont + 1
}
Se você tiver alguma dúvida, estou por aqui. Ótimos estudos e grande abraço!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!