mirror of
https://github.com/microsoft/Web-Dev-For-Beginners.git
synced 2025-08-11 01:04:08 +02:00
feat: Add js-basics making decision pt translate
This commit is contained in:
176
2-js-basics/3-making-decisions/translations/README.pt.md
Normal file
176
2-js-basics/3-making-decisions/translations/README.pt.md
Normal file
@@ -0,0 +1,176 @@
|
||||
# Noções básicas de JavaScript: Tomando Decisões
|
||||

|
||||
> Sketchnote by [Tomomi Imura](https://twitter.com/girlie_mac)
|
||||
|
||||
## Quiz Pré-Aula
|
||||
[Quiz Pré-Aula](https://nice-beach-0fe9e9d0f.azurestaticapps.net/quiz/11)
|
||||
|
||||
Tomar decisões e controlar a ordem do que é executado no seu código o torna recusável e robusto. Essa seção cobre a sintaxe para controle do fluxo de dados no JavaScript e sua significância quando usada com tipos Booleanos.
|
||||
|
||||
[](https://youtube.com/watch?v=SxTp8j-fMMY "Making Decisions")
|
||||
|
||||
> 🎥 Clique na imagem acima para ver um video sobre tomada de decisões (Em Inglês)
|
||||
|
||||
> Você pode fazer essa aula em [Microsoft Learn](https://docs.microsoft.com/en-us/learn/modules/web-development-101-if-else/?WT.mc_id=academic-13441-cxa)! (Em Inglês)
|
||||
## Uma breve recapitulação sobre Booleanos
|
||||
|
||||
Booleanos podem ter apenas dois valores `true` ou `false` (Verdadeiro ou falso). Os booleanos ajudam a tomar decisões sobre quais linhas de código devem ser executadas quando certas condições são atendidas.
|
||||
|
||||
Atribua valores verdadeiro ou falso no seu booleano da seguinte forma:
|
||||
|
||||
`let meuBooleanoVerdadeiro = true`
|
||||
`let meuBooleanoFalso = false`
|
||||
|
||||
✅ Os booleanos receberam o nome do matemático, filósofo e lógico inglês George Boole (1815–1864).
|
||||
|
||||
## Operadores de comparação e booleanos
|
||||
|
||||
Os operadores são usados para avaliar as condições fazendo comparações que criarão um valor booleano. A seguir está uma lista de operadores que são usados com frequência
|
||||
|
||||
| Simbolo | Descrição | Exemplo |
|
||||
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------ |
|
||||
| `<` | **Menor que**: Compara dois valores e retorna o tipo de dados Booleano `true` se o valor do lado esquerdo for menor que o direito | `5 < 6 // true` |
|
||||
| `<=` | **Menor ou igual**: Compara dois valores e retorna o tipo de dados Booleano `true` se o valor à esquerda for menor ou igual à direita | `5 <= 6 // true` |
|
||||
| `>` | **Maior que**: Compara dois valores e retorna o tipo de dados Booleano `true` se o valor à esquerda for menor ou igual à direita | `5 > 6 // false` |
|
||||
| `>=` | **Maior ou igual**: Compara dois valores e retorna o tipo de dados Booleano `true` se o valor à esquerda for maior ou igual à direita | `5 >= 6 // false` |
|
||||
| `===` | **Igualdade estrita**: Compara dois valores e retorna o tipo de dados booleano `true` se os valores à direita e à esquerda forem iguais E forem do mesmo tipo de dados. | `5 === 6 // false` |
|
||||
| `!==` | **Desigualdade**: Compara dois valores e retorna o valor booleano oposto ao que um operador de igualdade estrita retornaria | `5 !== 6 // true` |
|
||||
|
||||
✅ Verifique seu conhecimento escrevendo algumas comparações no console do seu navegador. Algum dado retornado o surpreende?
|
||||
|
||||
## Instrução If
|
||||
|
||||
A instrução if executará o código entre seus blocos se a condição for verdadeira.
|
||||
|
||||
```javascript
|
||||
if (condição){
|
||||
// A condição era verdadeira. O código neste bloco será executado.
|
||||
}
|
||||
```
|
||||
|
||||
Os operadores lógicos são freqüentemente usados para formar a condição.
|
||||
|
||||
```javascript
|
||||
let dinheiroAtual;
|
||||
let precoLaptop;
|
||||
|
||||
if (dinheiroAtual >= precoLaptop){
|
||||
// A condição era verdadeira. O código neste bloco será executado.
|
||||
console.log("Comprando um novo laptop!");
|
||||
}
|
||||
```
|
||||
|
||||
## Instrução IF..Else
|
||||
|
||||
A instrução `else` executará o código entre seus blocos quando a condição for falsa. É opcional com uma instrução `if`.
|
||||
|
||||
```javascript
|
||||
let dinheiroAtual;
|
||||
let precoLaptop;
|
||||
|
||||
if (dinheiroAtual >= precoLaptop){
|
||||
// A condição era verdadeira. O código neste bloco será executado.
|
||||
console.log("Comprando um novo laptop!");
|
||||
}
|
||||
else{
|
||||
// A condição era verdadeira. O código neste bloco será executado.
|
||||
console.log("Ainda não posso comprar um novo laptop!");
|
||||
}
|
||||
```
|
||||
|
||||
✅ Teste sua compreensão deste código e do código a seguir, executando-o em um console de navegador. Altere os valores das variáveis dinheiroAtual e precoLaptop para alterar os retornos do `console.log ()`.
|
||||
|
||||
## Operadores Lógicos e Booleanos
|
||||
|
||||
As decisões podem exigir mais de uma comparação e podem ser combinadas com operadores lógicos para produzir um valor booleano.
|
||||
|
||||
| Simbolo | Descrição | Exemplo |
|
||||
| ------ | ----------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
||||
| `&&` | **AND Lógico**: Compara duas expressões booleanas. Retorna verdadeiro ** apenas ** se ambos os lados forem verdadeiros | `(5 > 6) && (5 < 6 ) //// Um lado é falso, o outro é verdadeiro. Retorna falso` |
|
||||
| `\|\|` | **OR Lógico**: Compara duas expressões booleanas. Retorna verdadeiro se pelo menos um lado for verdadeiro | `(5> 6) \ | \ | (5 <6) // Um lado é falso, o outro é verdadeiro. Retorna verdadeiro` |
|
||||
| `!` | **NOT Lógico**: Retorna o valor oposto de uma expressão booleana | `! (5> 6) // 5 não é maior que 6, mas"! " retornará verdadeiro` |
|
||||
|
||||
## Codições e Decisões com Operadores Lógicos
|
||||
|
||||
Operadores lógicos podem ser usados para formar condições em instruções if..else.
|
||||
|
||||
```javascript
|
||||
let dinheiroAtual;
|
||||
let precoLaptop;
|
||||
let laptopComDesconto = precoLaptop - (precoLaptop * .20) //Laptop com desconto de 20%
|
||||
|
||||
if (dinheiroAtual >= precoLaptop || dinheiroAtual >= laptopComDesconto){
|
||||
// A condição era verdadeira. O código neste bloco será executado.
|
||||
console.log("Comprando um novo laptop!");
|
||||
}
|
||||
else {
|
||||
// A condição era verdadeira. O código neste bloco será executado.
|
||||
console.log("Ainda não posso comprar um novo laptop!");
|
||||
}
|
||||
```
|
||||
|
||||
### Operador de negação
|
||||
|
||||
Você viu até agora como se pode usar uma instrução `if ... else` para criar lógica condicional. Tudo o que entra em um `if` precisa ser avaliado como verdadeiro / falso. Usando o operador `!` Você pode _negar_ a expressão. Seria assim:
|
||||
|
||||
```javascript
|
||||
if (!condicao) {
|
||||
// é executado se a condição for falsa
|
||||
} else {
|
||||
// é executado se a condição for verdadeira
|
||||
}
|
||||
```
|
||||
|
||||
### Expressões ternárias
|
||||
|
||||
`if ... else` não é a única maneira de expressar a lógica de decisão. Você também pode usar algo chamado operador ternário. A sintaxe é assim:
|
||||
|
||||
```javascript
|
||||
let variavel = condicao ? <retorne isso se verdadeiro> : <retorne isso se falso>
|
||||
```
|
||||
|
||||
Abaixo está um exemplo mais tangível:
|
||||
|
||||
```javascript
|
||||
let primeiroNumero = 20;
|
||||
let segundoNumero = 10
|
||||
let maiorNumero = primeiroNumero > segundoNumero ? primeiroNumero: segundoNumero;
|
||||
```
|
||||
|
||||
✅ Reserve um minuto para ler este código algumas vezes. Você entende como esses operadores estão trabalhando?
|
||||
|
||||
O código acima afirma que
|
||||
- Se `primeiroNumero` for maior que o `segundoNumero`
|
||||
- então atribua `primeiroNumero` a `maiorNumero`
|
||||
- Senão atribua `segundoNumero`.
|
||||
|
||||
A expressão ternária é apenas uma forma compacta de escrever o código abaixo:
|
||||
|
||||
```javascript
|
||||
let maiorNumero;
|
||||
if (primeiroNumero > segundoNumero) {
|
||||
maiorNumero = primeiroNumero;
|
||||
} else {
|
||||
maiorNumero = segundoNumero;
|
||||
}
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Desafio
|
||||
|
||||
Crie um programa que seja escrito primeiro com operadores lógicos e, em seguida, reescreva-o usando uma expressão ternária. Qual é a sua sintaxe preferida?
|
||||
|
||||
---
|
||||
## Quiz Pós-Aula
|
||||
[Quiz Pós Aula](https://nice-beach-0fe9e9d0f.azurestaticapps.net/quiz/12)
|
||||
|
||||
## Revisão e autoestudo
|
||||
|
||||
Leia mais sobre os vários operadores disponíveis para o usuário [no MDN](https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Operators).
|
||||
|
||||
Vá até a maravilhosa [pesquisa de operador](https://joshwcomeau.com/operator-lookup/)! de Josh Comeau
|
||||
|
||||
## Tarefa
|
||||
|
||||
[Operadores](assignment.pt.md)
|
40
2-js-basics/3-making-decisions/translations/assignment.pt.md
Normal file
40
2-js-basics/3-making-decisions/translations/assignment.pt.md
Normal file
@@ -0,0 +1,40 @@
|
||||
# Operadores
|
||||
|
||||
## Instruções
|
||||
|
||||
Brinque com os operadores. Aqui está uma sugestão para um programa que você pode implementar:
|
||||
|
||||
Você tem um conjunto de alunos de dois sistemas de notas diferentes.
|
||||
|
||||
### Primeiro sistema de notas
|
||||
|
||||
Um sistema de notas é definido como notas de 1 a 5, onde 3 e acima significa que você passou no curso.
|
||||
|
||||
### Segundo sistema de notas
|
||||
|
||||
O outro sistema de notas tem as seguintes notas `A, A-, B, B-, C, C-` onde `A` é a nota mais alta e` C` é a nota mais baixa para passar.
|
||||
|
||||
### A tarefa
|
||||
|
||||
Dado o seguinte array `allStudents` representando todos os alunos e suas notas, construa um novo array` studentsWhoPass` contendo todos os alunos que passam.
|
||||
|
||||
> DICA, use um loop for e if ... else e operadores de comparação:
|
||||
|
||||
```javascript
|
||||
let allStudents = [
|
||||
'A',
|
||||
'B-',
|
||||
1,
|
||||
4,
|
||||
5,
|
||||
2
|
||||
]
|
||||
|
||||
let studentsWhoPass = [];
|
||||
```
|
||||
|
||||
## Rubrica
|
||||
|
||||
| Critério | Exemplar | Adequada | Precisa de melhorias |
|
||||
| -------- | ------------------------------ | ----------------------------- | ------------------------------- |
|
||||
| | A solução completa foi apresentada | A solução parcial foi apresentada | A solução foi apresentada com bugs |
|
Reference in New Issue
Block a user