for( var i = 0; i < 10; i++ ) {
alert( "O resultado é " + (2 * i) );
}
<script>
var i = 0;
while(i < 10){
alert( "O resultado é " + (2 * i) );
i++;
}
</script>
for( var i = 0; i < 10; i++ ) {
alert( "O resultado é " + (2 * i) );
}
<script>
var i = 0;
while(i < 10){
alert( "O resultado é " + (2 * i) );
i++;
}
</script>
Fala, Bruno!!! Tudo bem? Espero que sim!
Perfeito! Tanto o for como while possui o mesmo resultado nesse caso, mas é bom guardar suas estruturas na mente, pois haverá situações em que um será melhor que outro e vice-versa.
Bons estudos e vamos em frente!!!
Fiz o mesmo procedimento mas com while o resultado "20" não foi impresso, testei alterando o while para "while(i<=10)" e desta forma imprime o "O resultado é 20". Reescrevi varias vezes e não localizei a falha.
<meta charset="UTF-8">
<script>
function mostra (frase){
document.write(frase);
document.write("<br>");
}
var i = 0;
while(i<10){
mostra ("O resultado é " + (2*i));
i++;
}
</script>
Fala, Weslley! Como vai? Tudo bom?
É isso mesmo! Quando colocamos <= vai nos mostrar o valor 20
while (i <= 10) {
mostra("O resultado é " + (2 * i));
i++;
}
for (var i = 0; i <= 10; i++) {
mostra("O resultado é " + (2 * i));
}
Agora se retirarmos o sinal de igual (=) ele entende que você quer multiplicar todos os números menores que 10
Espero ter ajudado, Weslley!
Qualquer dúvida estamos por aqui!!! ;-)
Olá Cassio, grato pelo suporte. Contudo restou uma dúvida na aula 7, item "11 - Do for para o while!" O texto diz: "Mas preste atenção, quando usamos o zero para iniciar uma repetição, precisamos substituir o sinal do limitador (espaco2), de <= (menor igual) para apenas < (menor), pois o zero conta como primeiro elemento dentro do laço."
No exercício em questão, que é similar a tabuada do 2, eu notei que nas as condições de repetição "i <= 10" ou "i <10" tanto na função "for" quanto na "while" e "i" valendo "0", o programa executa normalmente a multiplicação por 2 * 0 e mostra o resultado. No entanto quando "i" valer 10 será o "i<10" é false, e consequentemente o laço de repetição é interrompido após o 9.
Esse processo está claro para mim, o que está confuso é o que o texto diz "quando usamos o zero para iniciar uma repetição, precisamos substituir o sinal do limitador (espaco2), de <= (menor igual) para apenas < (menor)", sendo que caso seja o objetivo do programa apresentar o resultado "20" será necessário usar "i <=10".
É isso mesmo, Weslley! Você está no caminho certo.
Vou colocar alguns exemplos de testes aqui. Dê uma olha e faça alguns testes no seu código:
Temos o seguinte código:
<meta charset="UTF-8">
<script>
function mostra(frase) {
document.write(frase);
document.write("<br>");
}
var i = 0;
while (i <= 10) {
mostra("O resultado é " + (2 * i));
i++;
}
for (var i = 0; i <= 10; i++) {
mostra("O resultado é " + (2 * i));
}
</script>
Esse é o que já estamos vendo. Vai apresentar a multiplicação de 0 a 10. Ok!!!
<script>
function mostra(frase) {
document.write(frase);
document.write("<br>");
}
var i = 0;
while (i < 10) {
mostra("O resultado é " + (2 * i));
i++;
}
for (var i = 0; i < 10; i++) {
mostra("O resultado é " + (2 * i));
}
</script>
Agora limitamos a multiplicação até o 9 retirando o simbolo de igual. Sem segredo!!!
Agora vamos realizar testes ;-)
var i = 1; // Quero começar pelo número 1
while (i < 10) {
mostra("O resultado é " + (2 * i));
i++;
}
for (var i = 1; i < 10; i++) { // Aqui também altero para começar com 1
mostra("O resultado é " + (2 * i));
}
</script>
Posso também querer começar com qualquer número, tudo bem, Weslley? Até 10 rs
Agora um que é muito usado por aí, (e confesso que não gosto muito de usar, mas vai de cada um).
var i = 1;
while (i < 11) {
mostra("O resultado é " + (2 * i));
i++;
}
for (var i = 1; i < 11; i++) {
mostra("O resultado é " + (2 * i));
}
</script>
Quis comeaçar com 1 e que minha tabuada vá até 10, só que utilizando o sinal < tenho que colocar o 11, pois ele chegar até o 10 e para ;-)
Isso você vai ver muito por aí!!!
Faça vários testes em cima disso, Weslley!!! É bem interessante!
Estamos aqui p/ ajudar!!!
É só chamar!!!
Um abraço e vamos em frente!!!