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

Duvida aula 7 - Desafio Fianal

Boa tarde

Vejam meu código abaixo, consegui fazer o exercicio final apenas consultando a duvida de outros colegas no forum, ate entendi grande parte do codigo , com ele funciona porem não consigo conectar a logica. Alguem poderia indentificar pra mim cada trecho do codigo resumindo sua função?(pois não encontrei no livro e no curso) Obrigado.

''' var numeroSorteados= [12, 22, 26, 31, 6, 10]; var numeroApostado = [];

for (i = 0; i < 6;i++){ numeroApostado[i] = parseInt(prompt("Qual sua aposta?")); } var numerosAcertados = 0; for (j = 0; j < 6; j++) { for (l = 0; l < 6; l++) { if (numeroApostado[j] == numeroSorteados[l]) { numerosAcertados++; } } } alert("Voce acertou: " + numerosAcertados); '''

5 respostas

´´´

var numeroSorteados= [12, 22, 26, 31, 6, 10]; var numeroApostado = [];

for (i = 0; i < 6;i++){ numeroApostado[i] = parseInt(prompt("Qual sua aposta?")); } var numerosAcertados = 0; for (j = 0; j < 6; j++) { for (l = 0; l < 6; l++) { if (numeroApostado[j] == numeroSorteados[l]) { numerosAcertados++; } } } alert("Voce acertou: " + numerosAcertados);

´´´

<meta charset = 'UTF-8'>

<script>

   var numeroSorteados= [12, 22, 26, 31, 6, 10];
   var numeroApostado = [];

   for (i = 0; i < 6;i++){
        numeroApostado[i] = parseInt(prompt("Qual sua aposta?"));
   }
  var numerosAcertados = 0;
    for (j = 0; j < 6; j++) {
        for (l = 0; l < 6; l++) {
            if (numeroApostado[j] == numeroSorteados[l]) {
                numerosAcertados++;
            }
        }
    }
    alert("Voce acertou: " + numerosAcertados);
</script>

Bom vamos lá pelo o que eu entendi:

var numeroSorteados= [12, 22, 26, 31, 6, 10]; <--- Numeros ja determinados pelo programador ( voce )

var numeroApostado = []; <--- Array vazia ou seja , vai ser preenchida mais pra frente , provavelmente pelo usuario ou programa , nesse caso pelo usuario.

for (i = 0; i < 6;i++){ numeroApostado[i] = parseInt(prompt("Qual sua aposta?")); }

Aqui ele ta fazendo um prompt ( popup que aparece no navegador ) pro usuario inserir 6 numeros que vão ser colocados dentro da arrays , sendo que vai começar da posição 0 e vai até a posição 5 ,

Pois esta delimitado que i < 6 ( o i só pode ter 6 numeros. ) E o i++ fala que quando ele colocar um numero no prompt ele preencher a primeira casa que seria a 0 , e depois começar o loop dinovo porem apartir da casa 1. depois 2 depois 3 depois 4 depois 5.

parseInt pois o numero deve ser Numero e não Texto.

var numerosAcertados = 0;

for (j = 0; j < 6; j++) {

for (l = 0; l < 6; l++) {

if (numeroApostado[j] == numeroSorteados[l]) {

numerosAcertados++; } } }

Aqui ele ta falando que se o Numero J for igual ao numero L , sendo L sorteados e J apostados , Então adicionar um ponto no numerosacertados.

Ja que numerosacertado++ = 1 depois 2 depois 3 depois 4 depois bla bla bla bla até o loop rodar.

o FOR ta falando até onde ele tem que contar dentro do arrays , entao ele ta falando pro programa usar como base todos os 6 numeros dentro da array, começando pela casa 0 e indo ate a casa 5.

alert("Voce acertou: " + numerosAcertados);

Simples , mostra um alerta contendo quantos numeros acertados voce acertou.

Então, ficou restando uma duvida, essas letras para indentificar o array:

for (j = 0; j < 6; j++)

for (l = 0; l < 6; l++)

Como isso e definido? não entendi essa sintaxe. posso utilizar qualquer letra para diferenciar?

solução!

Estas letras j e l você pode configurar elas como variável para ter um padrão.

for (var j = 0; j < 6; j++)

E estas variáveis são utilizadas no caso somente dentro da chaves do for, caso queira utilizar elas fora terão que inicializar elas novamente como var j.

E sim pode utilizar o nome que quiser desde que não iniciem com caracteres especiais e nem números

for (var contador = 0; contador < 6; contador++)
for (var temp = 0; temp < 6; temp ++)
for (var temp2 = 0; temp2 < 6; temp2 ++)
for (var contadorLinha = 0; contadorLinha < 6; contadorLinha ++)