Laços de Repetição (Parte 1)
Tags: javascript, loops, for, while
Published: 2021-09-10 14:57:58

## Definição
Laços de repetição são comandos que permitem que um bloco de código se repita muitas vezes. Enquanto uma condição for verdadeira, um ***loop*** é executado. Quando essa mesma condição atinge o resultado desejado, o ***loop*** se interrompe.

```javascript
while (condição) {
  // bloco de código que será executado
}
```
## `while`

Essa estrutura realiza um teste lógico no começo do ***loop***. Cada vez que a condição é verdadeira, o bloco de código associado ao laço é executado. Se a condição é falsa, o laço é encerrado e o processamento volta ao fluxo inicial do programa. Vamos ver um exemplo:

## Exemplo 1

### Mostrar na tela os números de 0 até 10 usando o laço de repetição `while`.

```javascript
// Criar a variável com a responsabilidade de fazer as contagens
let contador = 0;

// Laço que verifica se a condição dada é verdadeira ou falsa
while(contador <= 10) {
	console.log(contador);
  contador++;
}
```

Vejamos como o laço entra em ação:

| Condição      | Verdadeiro ou Falso?        | Status  |
| ------------- |:---------------------:        | -----:|
| 0 <= 10      | Verdadeiro | Começo do ***loop*** |
| 1 <= 10      | Verdadeiro      |   Continua o ***loop*** |
| 2 <= 10      | Verdadeiro      |   Continua o ***loop*** |
| 3 <= 10      | Verdadeiro      |   Continua o ***loop*** |
| 4 <= 10      | Verdadeiro      |   Continua o ***loop*** |
| 5 <= 10      | Verdadeiro      |   Continua o ***loop*** |
| 6 <= 10      | Verdadeiro      |   Continua o ***loop*** |
| 7 <= 10      | Verdadeiro      |   Continua o ***loop*** |
| 8 <= 10      | Verdadeiro      |   Continua o ***loop*** |
| 9 <= 10      | Verdadeiro      |   Continua o ***loop*** |
| 10 <= 10      | Verdadeiro      |   Continua o ***loop*** |
| 11 <= 10      | Falso     |   Fim do ***loop*** |

Vamos ver outro exemplo, só que ao contrário

## Exemplo 2

### Mostrar na tela os números de 10 até 0 usando o laço de repetição `while`.

```javascript
// Criar a variável com a responsabilidade de fazer as contagens
let contador = 10;

// Laço que verifica se a condição dada é verdadeira ou falsa
while(contador >= 0) {
	console.log(contador);
  contador--;
}
```

Vejamos como o laço entra em ação:

| Condição      | Verdadeiro ou Falso?        | Status  |
| ------------- |:---------------------:        | -----:|
| 10 >= 0      | Verdadeiro | Começo do ***loop*** |
| 9 >= 0      | Verdadeiro      |   Continua o ***loop*** |
| 8 >= 0      | Verdadeiro      |   Continua o ***loop*** |
| 7 >= 0     | Verdadeiro      |   Continua o ***loop*** |
| 6 >= 0     | Verdadeiro      |   Continua o ***loop*** |
| 5 >= 0   | Verdadeiro      |   Continua o ***loop*** |
| 4 >= 0      | Verdadeiro      |   Continua o ***loop*** |
| 3 >= 0     | Verdadeiro      |   Continua o ***loop*** |
| 2 >= 0      | Verdadeiro      |   Continua o ***loop*** |
| 1 >= 0    | Verdadeiro      |   Continua o ***loop*** |
| 0 >= 0    | Verdadeiro      |   Continua o ***loop*** |
| -1 >= 0      | Falso     |   Fim do ***loop*** |



Vamos fazer os mesmos exemplos com `do while` e `for`

## `do... while`

Estrutura que tem a mesma função de `while`, com a diferença de que um bloco de código é executado enquanto a condição aparece no fim do laço.

## Exemplo 3

### Mostrar na tela os números de 0 até 10 usando o laço de repetição `do while`.

```javascript
let contador = 0;

do {
	console.log(contador);
  contador++;
} while (contador <= 10);
```

## Exemplo 4

### Mostrar na tela os números de 10 até 0 usando o laço de repetição ` do while`.

```javascript
let contador = 10;

do {
	console.log(contador);
  contador--;
} while (contador >= 0);
```

## `for`

Permite construir laços nos quais se sabe de antemão o número de repetições que devem ser realizadas (número limitado de laços).

## Está bem, mas qual é a diferença entre `while` e `for`?!

Com o laço de repetição `while`, não é possível prever o número de repetições, ao contrário do `for`.

## Exemplo 5

### Mostrar na tela os números de 0 até 10 usando o laço de repetição ` for`.

```javascript
for(let i = 0; i <= 10; i++) {
	console.log(i);
}
```

## Exemplo 6

### Mostrar na tela os números de 0 até 10 usando o laço de repetição ` for`.

```javascript
for(let i = 10; i >= 0; i--) {
	console.log(i);
}
```

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