Laços de Repetição: Exemplos com while (Parte 2)
Tags: while, javascript, loops
Published: 2021-09-11 11:51:36

Vamos ver alguns exemplos dos usos dos laços de repetição. Começaremos com o laço `while`.

## Exemplo 1

### Contar de 0 até onde o usuário quiser

Aqui é bem simples: criar um laço que conte de 0 até o número que o usuário determinar. Vou começar criando duas variáveis: uma para o contador e outra para o valor que o usuário digitar.

```javascript
let contador = 0;
let valor = Number(prompt("Você quer contar até que número?"));
```

Agora é só usar o laço `while` para verificar a condição e fazer a contagem.

```javascript
while(contador <= valor) {
	console.log(contador);
    contador++;
}
```

Ah! Tem algo que esqueci de contar: se você não colocar `contador++` dentro desse laço, vai causar um loop infinito (é um problema)! 

## Exemplo 2

### Contar de 0 até onde o usuário quiser (com salto)

Aqui é bem simples: criar um laço que conte de 0 até o número que o usuário digitar, com um valor de salto também determinado pelo usuário. Vou começar criando três variáveis: uma para o contador, outra para o valor que o usuário digitar e outra variável para o valor de salto que o usuário também vai determinar.

```javascript
let contador = 0;
let valor = Number(prompt("Você quer contar até que número?"));
let salto = Number(prompt("Qual será o valor do salto?"));
```

## Espera... O que é esse salto?!

Esse salto é o intervalo de contagem, ou seja, vai contar de tantos em tantos números até o valor desejado. Para facilitar: digamos que o usuário queira contar de 0 até 200 e o valor do salto será 5. Então o contador vai achar todos os valores contados de 5 em 5 até o número desejado.

```javascript
// 0, 5, 10, 15, 20, 25, 30, 35, 40... 200
```

Vou usar o laço `while` para fazer a contagem.

```javascript
while(contador <= valor) {
  console.log(contador);
  contador += salto;
}
```

## Exemplo 3

### Ler 10 valores inteiros, somá-los e mostrar o maior valor digitado

Já temos um exemplo um pouco mais complexo. Tenho que fazer a contagem dos valores, somá-los e ainda mostrar qual foi o maior número digitado. Vou criar três variáveis: uma para o contador, outra para a soma e outra variável para colocar o maior valor.

```javascript
let contador = 0;
let soma = 0;
let maior = 0;
```

Agora vem a parte complexa. Enquanto o contador for menor do que 10, precisa fazer o laço com a contagem. Dentro do laço vou criar uma variável para ler esses números que o usuário vai digitar.

```javascript
let num = Number(prompt(`Digite o ${contador + 1}o. valor`));
```

Em seguida vou incluir a condição para mostrar o maior número da soma. Se um dos números digitados for maior o que maior número, esse número digitado será o maior valor.

```javascript
if(num > maior) {
  maior = num;
}
```

Agora vou fazer a soma de todos os valores digitados.

```javascript
soma += num;
```

Eis a condição completa:

```javascript
 while(contador < 10) {
  let num = Number(prompt(`Digite o ${contador + 1}o. valor`));
  if(num > maior) {
  	maior = num;
  }
  soma += num;
  contador++;
}

console.log(`Soma de todos os valores: ${soma}`);
console.log(`Maior valor digitado: ${maior}`);
```

E aí? Gostaram? Até a próxima anotação! 😊