Ou Isso ou Aquilo: Exemplos com Desvios Condicionais Compostos e Encadeados (Parte 3)
Tags: javascript, algorithms
Published: 2021-09-07 14:52:57

Vamos ver exemplos de lógica com as estruturas condicionais compostas e encadeadas.

## Exemplo 1

### Construa um algoritmo que determine se um número inteiro é par ou ímpar. Mostrar o número na tela.

O usuário vai digitar um número inteiro. Um programa vai determinar se esse valor é par ou ímpar e o mostrará na tela. Vou criar uma variável para esse número:

```javascript
const valor = Number(prompt("Digite um número inteiro qualquer:"));
```

Agora vou criar uma condição para verificar se o número digitado pelo usuário é par ou ímpar. O número aparecerá na tela de qualquer forma.

```javascript
if (valor % 2 === 0) {
    console.log(`O número ${valor} é par`);
} else {
    console.log(`O número ${valor} é ímpar`);
}
```

## Exemplo 2

### Construa um algoritmo que indique se um número digitado está compreendido entre 20 e 90 ou não (20 e 90 não estão na faixa de valores).

O mesmo procedimento do exemplo anterior. O usuário vai digitar um número inteiro. Um programa vai determinar se esse valor está compreendido entre 20 e 90 e o mostrará na tela. Lembrando que nem 20 nem 90 fazem parte desse intervalo numérico. Vou criar uma variável para esse número:

```javascript
const valor = Number(prompt("Digite um número inteiro qualquer:"));
```

Agora vou criar uma condição para verificar se o número digitado pelo usuário se encontra entre 20 e 90. Se sim, mostrar a mensagem "O valor digitado está no intervalo entre 20 e 90". Caso contrário, mostrar a mensagem "O valor digitado não está nessa faixa de valores".

```javascript
if(valor > 20 && valor < 90) {
    console.log(`O valor digitado está no intervalo entre 20 e 90.`);
} else {
    console.log(`O valor digitado não está nessa faixa de valores`);
}
```

## Exemplo 3

### Construa um algoritmo para verificar, a partir da idade do usuário, se pode tirar a carteira de motorista ou não.

Vou criar uma variável para guardar o ano de nascimento do usuário.

```javascript
const anoDeNascimento = Number(prompt("Digite o ano de nascimento"));
```

Vou criar outra variável para guardar o ano atual. Nesse caso, vou usar o método `getFullYear()` para mostrar o ano em que estamos (olha que legal!).

```javascript
const anoAtual = new Date().getFullYear();
```

Vou criar uma variável para calcular a idade do usuário e uma condição. Se a idade for maior ou igual a 18, mostrar a mensagem "Você já pode tirar a carteira de motorista". Caso contrário, mostrar a mensagem "Você ainda não pode tirar a carteira de motorista".

```javascript
const idade = anoAtual - anoDeNascimento;

if(idade >= 18) {
    console.log(`Você já pode tirar a carteira de motorista`);
} else {
    console.log(`Você ainda não pode tirar a carteira de motorista`);
}
```

Vamos ver mais um exemplo com condicionais encadeadas.

## Exemplo 4

### Construa um algoritmo que leia duas notas de um aluno e verifique se ele foi aprovado, reprovado ou está de recuperação.

Vou criar duas variáveis para receber as notas que o usuário vai inserir.

```javascript
const nota1 = Number(prompt("Digite a primeira nota:"));
const nota2 = Number(prompt("Digite a segunda nota:"));
```

Vou criar uma variável para calcular a média. Se a média for igual ou maior do que 7, exibir a mensagem "Passou de ano". Caso esteja entre 5 e 7, exibir a mensagem "Está de recuperação". Se nenhuma dessas condições for verdadeira, exibir a mensagem "Repetiu de ano".

```javascript
const media = (nota1 + nota2) / 2;

if (media >= 7) {
    console.log(`Passou de ano`);
} else {
    if(media >= 5 && media < 7) {
        console.log(`Está de recuperação`);
    } else {
        console.log(`Repetiu de ano`);
    }
}
```

Poderia ter utilizado também `else if`:

```javascript
const media = (nota1 + nota2) / 2;

if(media >= 7) {
    console.log(`Passou de ano`);
} else if(media >= 5 && media < 7) {
    console.log(`Está de recuperação`);
} else {
    console.log(`Repetiu de ano`);
}
```

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