From b553adff52eb79f3eb2bb79da2050f447aed1735 Mon Sep 17 00:00:00 2001 From: odsantos Date: Tue, 18 Feb 2020 21:18:56 +0100 Subject: [PATCH 01/12] add switch directory files translation --- .../13-switch/1-rewrite-switch-if-else/solution.md | 14 +++++++------- .../13-switch/1-rewrite-switch-if-else/task.md | 13 ++++++------- .../13-switch/2-rewrite-if-switch/solution.md | 6 +++--- .../13-switch/2-rewrite-if-switch/task.md | 7 +++---- 1-js/02-first-steps/13-switch/article.md | 14 +++++++------- 5 files changed, 26 insertions(+), 28 deletions(-) diff --git a/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/solution.md b/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/solution.md index d3e397434..e9d636180 100644 --- a/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/solution.md +++ b/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/solution.md @@ -1,20 +1,20 @@ -To precisely match the functionality of `switch`, the `if` must use a strict comparison `'==='`. +Para executar precisamente a funcionalidade do `switch`, o `if` deve empregar uma comparação exata (*strict comparison*) `'==='`. -For given strings though, a simple `'=='` works too. +Contudo, para certas *strings* um simples `'=='` tanbém serve. ```js no-beautify if(browser == 'Edge') { - alert("You've got the Edge!"); + alert("Você usa o Edge!"); } else if (browser == 'Chrome' || browser == 'Firefox' || browser == 'Safari' || browser == 'Opera') { - alert( 'Okay we support these browsers too' ); + alert( 'Esta bem, também suportamos esse navegador (browser).' ); } else { - alert( 'We hope that this page looks ok!' ); + alert( 'Esperamos que esta página tenha uma boa apresentação!' ); } ``` -Please note: the construct `browser == 'Chrome' || browser == 'Firefox' …` is split into multiple lines for better readability. +Por favor, note: a construção `browser == 'Chrome' || browser == 'Firefox' …` está repartida por múltiplas linhas para melhor leitura. -But the `switch` construct is still cleaner and more descriptive. +Mas, a construção `switch` ainda é mais simples e mais descritiva. diff --git a/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/task.md b/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/task.md index f4dc0e5f1..1617f7b88 100644 --- a/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/task.md +++ b/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/task.md @@ -1,26 +1,25 @@ -importance: 5 +importância: 5 --- -# Rewrite the "switch" into an "if" +# Transforme o "*switch*" num "*if*" -Write the code using `if..else` which would correspond to the following `switch`: +Escreva o código empregando `if..else`, que corresponda ao seguinte `switch`: ```js switch (browser) { case 'Edge': - alert( "You've got the Edge!" ); + alert( "Você usa o Edge!" ); break; case 'Chrome': case 'Firefox': case 'Safari': case 'Opera': - alert( 'Okay we support these browsers too' ); + alert( 'Esta bem, também suportamos esse navegador (browser).' ); break; default: - alert( 'We hope that this page looks ok!' ); + alert( 'Esperamos que esta página tenha uma boa apresentação!' ); } ``` - diff --git a/1-js/02-first-steps/13-switch/2-rewrite-if-switch/solution.md b/1-js/02-first-steps/13-switch/2-rewrite-if-switch/solution.md index ed87dd94b..d9c1e23cf 100644 --- a/1-js/02-first-steps/13-switch/2-rewrite-if-switch/solution.md +++ b/1-js/02-first-steps/13-switch/2-rewrite-if-switch/solution.md @@ -1,4 +1,4 @@ -The first two checks turn into two `case`. The third check is split into two cases: +As duas primeiras verificações se tornam em dois `case`. A terceira verificação está dividida em dois casos (*cases*): ```js run let a = +prompt('a?', ''); @@ -21,6 +21,6 @@ switch (a) { } ``` -Please note: the `break` at the bottom is not required. But we put it to make the code future-proof. +Por favor, note: o `break` no final não é necessário. Mas o colocamos para salvaguardar futuro código. -In the future, there is a chance that we'd want to add one more `case`, for example `case 4`. And if we forget to add a break before it, at the end of `case 3`, there will be an error. So that's a kind of self-insurance. +No futuro, pode existir a chance de querermos adicionar mais um `case`, por exemplo `case 4`. E, se nos esquecermos de adicionar um *break* antes dele, no fim de `case 3`, haverá um erro. Assim, é uma espécie precaução pessoal. diff --git a/1-js/02-first-steps/13-switch/2-rewrite-if-switch/task.md b/1-js/02-first-steps/13-switch/2-rewrite-if-switch/task.md index ec99d098d..a6e5192b8 100644 --- a/1-js/02-first-steps/13-switch/2-rewrite-if-switch/task.md +++ b/1-js/02-first-steps/13-switch/2-rewrite-if-switch/task.md @@ -1,10 +1,10 @@ -importance: 4 +importância: 4 --- -# Rewrite "if" into "switch" +# Transforme o "if" num "switch" -Rewrite the code below using a single `switch` statement: +Reescreva o código abaixo empregando uma única instrução `switch`: ```js run let a = +prompt('a?', ''); @@ -20,4 +20,3 @@ if (a == 2 || a == 3) { alert( '2,3' ); } ``` - diff --git a/1-js/02-first-steps/13-switch/article.md b/1-js/02-first-steps/13-switch/article.md index 873699feb..4dfefbdb7 100644 --- a/1-js/02-first-steps/13-switch/article.md +++ b/1-js/02-first-steps/13-switch/article.md @@ -1,6 +1,6 @@ # A instrução "switch" -Uma instrução `switch` pode substituir muitas comparações `se`. +Uma instrução `switch` pode substituir muitas comparações `if` (se). Ela é uma forma mais descritiva de comparar um valor com múltiplas variantes. @@ -50,7 +50,7 @@ switch (a) { alert( 'Muito alto' ); break; default: - alert( "Não conheço tais valores" ); + alert( "Não conheço tal valor" ); } ``` @@ -74,7 +74,7 @@ switch (a) { case 5: alert( 'Muito alto' ); default: - alert( "Não conheço tais valores" ); + alert( "Não conheço tal valor" ); */!* } ``` @@ -84,10 +84,10 @@ No exemplo acima, vemos uma execução sequential de três `alert`'s: ```js alert( 'Exacto!' ); alert( 'Muito alto' ); -alert( "Não conheço tais valores" ); +alert( "Não conheço tal valor" ); ``` -````smart header="Any expression can be a switch/case argument" +````smart header="Quaquer expressão pode servir de argumento para switch/case" Ambos `switch` e `case` permitem expressões arbitrárias. Por exemplo: @@ -133,7 +133,7 @@ switch (a) { */!* default: - alert('O resultado é stranho. Realmente.'); + alert('O resultado é estranho. Realmente.'); } ``` @@ -143,7 +143,7 @@ A habilidade para "agrupar" cases é um efeito secundário de como `switch/case` ## O tipo importa -Vamos emfatizar que a verificação da igualdade é sempre exata. Os valores devem também ser do mesmo tipo para existir correspondência. +Vamos enfatizar que a verificação da igualdade é sempre exata. Os valores também devem ser do mesmo tipo para existir correspondência. Por exemplo, consideremos o código: From 89ead440b08471cf243bdccc998556dd816b12c2 Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Tue, 17 Mar 2020 23:13:34 +0100 Subject: [PATCH 02/12] Update article.md Add corrections to translation. --- 1-js/02-first-steps/13-switch/article.md | 27 ++++++++++++------------ 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/1-js/02-first-steps/13-switch/article.md b/1-js/02-first-steps/13-switch/article.md index 4dfefbdb7..bb5bb0679 100644 --- a/1-js/02-first-steps/13-switch/article.md +++ b/1-js/02-first-steps/13-switch/article.md @@ -2,13 +2,13 @@ Uma instrução `switch` pode substituir muitas comparações `if` (se). -Ela é uma forma mais descritiva de comparar um valor com múltiplas variantes. +Ela é uma forma mais descritiva de comparar um valor a múltiplas variantes. ## A sintaxe O `switch` tem um ou mais blocos `case` (caso) e um `default` (padrão) opcional. -Tem uma apresentação similar a: +Tem um aspeto semelhante a: ```js no-beautify switch(x) { @@ -27,8 +27,8 @@ switch(x) { ``` - O valor de `x` é comparado por meio de uma igualdade exata ao valor do primeiro `case` (isto é, ao `valor1`), a seguir ao do segundo (`valor2`) e assim sucessivamente. -- Se uma igualdade é encontrada, o `switch` começa a executar o código a partir do início do `case` correspondente, até ao próximo `break` (ou até ao fim do `switch`). -- Se nenhum `case` é equiparado então o código em `default` é executado (se existir). +- Se uma igualdade for encontrada, o `switch` começa a executar o código a partir do início do `case` correspondente, até ao próximo `break` (ou até ao fim do `switch`). +- Se nenhum `case` for igual então o código em `default` é executado (se existir). ## Um exemplo @@ -58,7 +58,7 @@ Aqui o `switch` começa por comparar `a` à variante no primeiro `case`, que é Então a `4`. Existe uma correspondência, e assim a execução começa a partir do `case 4` até ao próximo `break`. -**Se não existir um `break` então a execução continua pelo próximo `case` sem quaisquer verificações.** +**Se não existir um `break` então a execução continua pelo próximo `case` sem adicionais verificações.** Um exemplo sem `break`: @@ -99,22 +99,22 @@ let b = 0; switch (+a) { *!* case b + 1: - alert("isto executa, porque +a é 1, e é exatamente igual a b+1"); + alert("isto é executado, porque +a é 1, e é exatamente igual a b+1"); break; */!* default: - alert("isto não executa"); + alert("isto não é executado"); } ``` -Aqui `+a` dá `1`, o que é comparado a `b + 1` no `case`, e o código correspondente é executado. +Aqui `+a` dá `1`, que é comparado a `b + 1` no `case`, e o código correspondente é executado. ```` ## Grupos de "case" Múltiplas variantes de `case` que partihem o mesmo código podem ser agrupadas. -Por exemplo, se quisermos que o mesmo código corra por `case 3` e `case 5`: +Por exemplo, se quisermos que o mesmo código corra para `case 3` e `case 5`: ```js run no-beautify let a = 2 + 2; @@ -125,7 +125,7 @@ switch (a) { break; *!* - case 3: // (*) dois cases agrupados + case 3: // (*) dois 'cases' agrupados case 5: alert('Errado!'); alert("Porque não tem aulas de matemática?"); @@ -139,7 +139,7 @@ switch (a) { Agora ambos `3` e `5` mostram a mesma mensagem. -A habilidade para "agrupar" cases é um efeito secundário de como `switch/case` funciona sem `break`. Aqui a execução do `case 3` começa pela linha `(*)` e prossegue pelo `case 5`, por não existir `break`. +A habilidade para "agrupar" cases é um efeito secundário de como o `switch/case` funciona sem `break`. Aqui a execução do `case 3` começa pela linha `(*)` e prossegue pelo `case 5`, por não existir `break`. ## O tipo importa @@ -167,7 +167,6 @@ switch (arg) { } ``` -1. Para `0`, `1`, o primeiro `alert` executa. +1. Para `0`, `1`, o primeiro `alert` é executado. 2. Para `2` o segundo `alert` corre. -3. Mas para `3`, o resultado do `prompt` á a string `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código não -executável em `case 3`! A variante `default` será executada. +3. Mas para `3`, o resultado do `prompt` á a string `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código sem efeito em `case 3`! A variante `default` será executada. From 87215a5afeee8ed4ee08114b5ae601824057ac99 Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Thu, 19 Mar 2020 19:37:22 +0100 Subject: [PATCH 03/12] Update solution.md Add corrections to translation. --- .../13-switch/1-rewrite-switch-if-else/solution.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/solution.md b/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/solution.md index e9d636180..ee1bc53d0 100644 --- a/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/solution.md +++ b/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/solution.md @@ -1,4 +1,4 @@ -Para executar precisamente a funcionalidade do `switch`, o `if` deve empregar uma comparação exata (*strict comparison*) `'==='`. +Para precisamente se equiparar à funcionalidade do `switch`, o `if` deve empregar uma comparação exata (*strict comparison*) `'==='`. Contudo, para certas *strings* um simples `'=='` tanbém serve. @@ -9,7 +9,7 @@ if(browser == 'Edge') { || browser == 'Firefox' || browser == 'Safari' || browser == 'Opera') { - alert( 'Esta bem, também suportamos esse navegador (browser).' ); + alert( 'Está bem, também suportamos esse navegador (browser).' ); } else { alert( 'Esperamos que esta página tenha uma boa apresentação!' ); } From 988ea12c268d3b5c6f972d63d3945295893d10a1 Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Thu, 19 Mar 2020 19:45:17 +0100 Subject: [PATCH 04/12] Update task.md Add corrections to translation. --- .../02-first-steps/13-switch/1-rewrite-switch-if-else/task.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/task.md b/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/task.md index 1617f7b88..7af02ba4d 100644 --- a/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/task.md +++ b/1-js/02-first-steps/13-switch/1-rewrite-switch-if-else/task.md @@ -4,7 +4,7 @@ importância: 5 # Transforme o "*switch*" num "*if*" -Escreva o código empregando `if..else`, que corresponda ao seguinte `switch`: +Escreva o código empregando `if..else` que corresponda ao seguinte `switch`: ```js switch (browser) { @@ -16,7 +16,7 @@ switch (browser) { case 'Firefox': case 'Safari': case 'Opera': - alert( 'Esta bem, também suportamos esse navegador (browser).' ); + alert( 'Está bem, também suportamos esse navegador (browser).' ); break; default: From c8e18cee8d9ecbdaa5e7049201746edcf46f423c Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Thu, 19 Mar 2020 19:56:35 +0100 Subject: [PATCH 05/12] Update solution.md --- 1-js/02-first-steps/13-switch/2-rewrite-if-switch/solution.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/13-switch/2-rewrite-if-switch/solution.md b/1-js/02-first-steps/13-switch/2-rewrite-if-switch/solution.md index d9c1e23cf..e64a1493c 100644 --- a/1-js/02-first-steps/13-switch/2-rewrite-if-switch/solution.md +++ b/1-js/02-first-steps/13-switch/2-rewrite-if-switch/solution.md @@ -23,4 +23,4 @@ switch (a) { Por favor, note: o `break` no final não é necessário. Mas o colocamos para salvaguardar futuro código. -No futuro, pode existir a chance de querermos adicionar mais um `case`, por exemplo `case 4`. E, se nos esquecermos de adicionar um *break* antes dele, no fim de `case 3`, haverá um erro. Assim, é uma espécie precaução pessoal. +No futuro, pode existir a chance de querermos adicionar mais um `case`, por exemplo `case 4`. E, se nos esquecermos de adicionar um *break* antes dele, no final de `case 3`, então haverá um erro. Assim, é uma espécie de precaução prévia. From 95fa690786ceb3bfdcff6e1ac4daecf6260a4842 Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Sun, 26 Jul 2020 01:34:04 +0100 Subject: [PATCH 06/12] Update 'switch' files. --- .../1-rewrite-switch-if-else/solution.md | 14 +++++++------- .../14-switch/1-rewrite-switch-if-else/task.md | 13 ++++++------- .../14-switch/2-rewrite-if-switch/solution.md | 6 +++--- .../14-switch/2-rewrite-if-switch/task.md | 7 +++---- 1-js/02-first-steps/14-switch/article.md | 18 +++++++++--------- 5 files changed, 28 insertions(+), 30 deletions(-) diff --git a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md index d3e397434..e417a9ec2 100644 --- a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md +++ b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md @@ -1,20 +1,20 @@ -To precisely match the functionality of `switch`, the `if` must use a strict comparison `'==='`. +Para precisamente se equiparar à funcionalidade do `switch`, o `if` deve utilizar uma comparação exata `'==='`. -For given strings though, a simple `'=='` works too. +Contudo, para certas *strings*, um simples `'=='` também funciona. ```js no-beautify if(browser == 'Edge') { - alert("You've got the Edge!"); + alert("Você tem o Edge!"); } else if (browser == 'Chrome' || browser == 'Firefox' || browser == 'Safari' || browser == 'Opera') { - alert( 'Okay we support these browsers too' ); + alert( 'Okay, também suportamos esse navegador.' ); } else { - alert( 'We hope that this page looks ok!' ); + alert( 'Esperamos que esta página tenha uma boa apresentação!' ); } ``` -Please note: the construct `browser == 'Chrome' || browser == 'Firefox' …` is split into multiple lines for better readability. +Por favor, note: a construção `browser == 'Chrome' || browser == 'Firefox' …` está repartida por múltiplas linhas para melhor leitura. -But the `switch` construct is still cleaner and more descriptive. +Mas a construção `switch` ainda é mais clara e mais descritiva. diff --git a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md index f4dc0e5f1..0d50bdbdf 100644 --- a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md +++ b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md @@ -1,26 +1,25 @@ -importance: 5 +importância: 5 --- -# Rewrite the "switch" into an "if" +# Transforme o "switch" num "if" -Write the code using `if..else` which would correspond to the following `switch`: +Escreva empregando `if..else` o código que corresponda ao seguinte `switch`: ```js switch (browser) { case 'Edge': - alert( "You've got the Edge!" ); + alert( "Você tem o Edge!" ); break; case 'Chrome': case 'Firefox': case 'Safari': case 'Opera': - alert( 'Okay we support these browsers too' ); + alert( 'Okay, também suportamos esse navegador' ); break; default: - alert( 'We hope that this page looks ok!' ); + alert( 'Esperamos que esta página tenha uma boa apresentação!' ); } ``` - diff --git a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/solution.md b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/solution.md index ed87dd94b..427e274af 100644 --- a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/solution.md +++ b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/solution.md @@ -1,4 +1,4 @@ -The first two checks turn into two `case`. The third check is split into two cases: +As duas primeiras comparações transformam-se em dois `case`. A terceira comparação está divida em dois casos: ```js run let a = +prompt('a?', ''); @@ -21,6 +21,6 @@ switch (a) { } ``` -Please note: the `break` at the bottom is not required. But we put it to make the code future-proof. +Pr favor, note: o `break` no final não é necessário. Mas o colocamos como segurança no código. -In the future, there is a chance that we'd want to add one more `case`, for example `case 4`. And if we forget to add a break before it, at the end of `case 3`, there will be an error. So that's a kind of self-insurance. +No futuro, poderemos querer colocar mais um `case`, por exemplo `case 4`. E se nos esquecermos de adicionar um break antes dele, no final de `case 3`, ocorrerá um erro. Assim, é uma espécie de prevenção. diff --git a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md index ec99d098d..a6e5192b8 100644 --- a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md +++ b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md @@ -1,10 +1,10 @@ -importance: 4 +importância: 4 --- -# Rewrite "if" into "switch" +# Transforme o "if" num "switch" -Rewrite the code below using a single `switch` statement: +Reescreva o código abaixo empregando uma única instrução `switch`: ```js run let a = +prompt('a?', ''); @@ -20,4 +20,3 @@ if (a == 2 || a == 3) { alert( '2,3' ); } ``` - diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 873699feb..a11eeaac7 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -1,8 +1,8 @@ # A instrução "switch" -Uma instrução `switch` pode substituir muitas comparações `se`. +Uma instrução `switch` pode substituir muitas comparações `if` (se). -Ela é uma forma mais descritiva de comparar um valor com múltiplas variantes. +Ela fornece uma forma mais descritiva para comparar um valor a múltiplas variantes. ## A sintaxe @@ -27,7 +27,7 @@ switch(x) { ``` - O valor de `x` é comparado por meio de uma igualdade exata ao valor do primeiro `case` (isto é, ao `valor1`), a seguir ao do segundo (`valor2`) e assim sucessivamente. -- Se uma igualdade é encontrada, o `switch` começa a executar o código a partir do início do `case` correspondente, até ao próximo `break` (ou até ao fim do `switch`). +- Se uma igualdade for encontrada, o `switch` começa a executar o código a partir do início do `case` correspondente, até ao próximo `break` (ou até ao fim do `switch`). - Se nenhum `case` é equiparado então o código em `default` é executado (se existir). ## Um exemplo @@ -58,7 +58,7 @@ Aqui o `switch` começa por comparar `a` à variante no primeiro `case`, que é Então a `4`. Existe uma correspondência, e assim a execução começa a partir do `case 4` até ao próximo `break`. -**Se não existir um `break` então a execução continua pelo próximo `case` sem quaisquer verificações.** +**Se não existir um `break` então a execução continua pelo próximo `case` sem quaisquer comparações.** Um exemplo sem `break`: @@ -87,7 +87,7 @@ alert( 'Muito alto' ); alert( "Não conheço tais valores" ); ``` -````smart header="Any expression can be a switch/case argument" +````smart header="Qualquer expressão pode servir de argumento a switch/case" Ambos `switch` e `case` permitem expressões arbitrárias. Por exemplo: @@ -99,12 +99,12 @@ let b = 0; switch (+a) { *!* case b + 1: - alert("isto executa, porque +a é 1, e é exatamente igual a b+1"); + alert("isto é executado, porque +a é 1, e é exatamente igual a b+1"); break; */!* default: - alert("isto não executa"); + alert("isto não é executado"); } ``` Aqui `+a` dá `1`, o que é comparado a `b + 1` no `case`, e o código correspondente é executado. @@ -133,7 +133,7 @@ switch (a) { */!* default: - alert('O resultado é stranho. Realmente.'); + alert('O resultado é estranho. Realmente.'); } ``` @@ -167,7 +167,7 @@ switch (arg) { } ``` -1. Para `0`, `1`, o primeiro `alert` executa. +1. Para `0`, `1`, o primeiro `alert` é executado. 2. Para `2` o segundo `alert` corre. 3. Mas para `3`, o resultado do `prompt` á a string `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código não executável em `case 3`! A variante `default` será executada. From ce03665eeaaa02a9471a6eafe264250e8e9288ce Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Wed, 5 Aug 2020 22:24:12 +0100 Subject: [PATCH 07/12] Update 'switch'. --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index a11eeaac7..7b9bfce59 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -87,7 +87,7 @@ alert( 'Muito alto' ); alert( "Não conheço tais valores" ); ``` -````smart header="Qualquer expressão pode servir de argumento a switch/case" +````smart header="Qualquer expressão pode servir de argumento a `switch/case`" Ambos `switch` e `case` permitem expressões arbitrárias. Por exemplo: From 42286569efd2fe21d42d5a21a44d9198a1d6aedc Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Sun, 6 Dec 2020 19:49:42 +0100 Subject: [PATCH 08/12] Update "switch" translation files. --- .../14-switch/1-rewrite-switch-if-else/solution.md | 2 +- .../14-switch/1-rewrite-switch-if-else/task.md | 5 +++-- .../02-first-steps/14-switch/2-rewrite-if-switch/task.md | 1 + 1-js/02-first-steps/14-switch/article.md | 9 ++++----- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md index e417a9ec2..e87bc7a07 100644 --- a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md +++ b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md @@ -17,4 +17,4 @@ if(browser == 'Edge') { Por favor, note: a construção `browser == 'Chrome' || browser == 'Firefox' …` está repartida por múltiplas linhas para melhor leitura. -Mas a construção `switch` ainda é mais clara e mais descritiva. +Mas a construção `switch` ainda é mais clara e descritiva. diff --git a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md index 0d50bdbdf..0dc88bc86 100644 --- a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md +++ b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md @@ -1,10 +1,10 @@ -importância: 5 +importance: 5 --- # Transforme o "switch" num "if" -Escreva empregando `if..else` o código que corresponda ao seguinte `switch`: +Escreva empregando `if..else` código que corresponda ao seguinte `switch`: ```js switch (browser) { @@ -23,3 +23,4 @@ switch (browser) { alert( 'Esperamos que esta página tenha uma boa apresentação!' ); } ``` + diff --git a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md index a6e5192b8..acfe28000 100644 --- a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md +++ b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md @@ -20,3 +20,4 @@ if (a == 2 || a == 3) { alert( '2,3' ); } ``` + diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 7b9bfce59..8f87d213e 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -8,7 +8,7 @@ Ela fornece uma forma mais descritiva para comparar um valor a múltiplas varian O `switch` tem um ou mais blocos `case` (caso) e um `default` (padrão) opcional. -Tem uma apresentação similar a: +Tem uma apresentação semelhante a: ```js no-beautify switch(x) { @@ -112,7 +112,7 @@ Aqui `+a` dá `1`, o que é comparado a `b + 1` no `case`, e o código correspon ## Grupos de "case" -Múltiplas variantes de `case` que partihem o mesmo código podem ser agrupadas. +Múltiplas variantes de `case` que partilhem o mesmo código podem ser agrupadas. Por exemplo, se quisermos que o mesmo código corra por `case 3` e `case 5`: @@ -139,7 +139,7 @@ switch (a) { Agora ambos `3` e `5` mostram a mesma mensagem. -A habilidade para "agrupar" cases é um efeito secundário de como `switch/case` funciona sem `break`. Aqui a execução do `case 3` começa pela linha `(*)` e prossegue pelo `case 5`, por não existir `break`. +A habilidade para "agrupar" cases é um efeito secundário de como o `switch/case` funciona sem `break`. Aqui a execução do `case 3` começa pela linha `(*)` e prossegue pelo `case 5`, por não existir `break`. ## O tipo importa @@ -169,5 +169,4 @@ switch (arg) { 1. Para `0`, `1`, o primeiro `alert` é executado. 2. Para `2` o segundo `alert` corre. -3. Mas para `3`, o resultado do `prompt` á a string `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código não -executável em `case 3`! A variante `default` será executada. +3. Mas para `3`, o resultado do `prompt` á a string `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código inútil em `case 3`! A variante `default` será executada. From caa6bcd777846c1e6886e15a36f88f00defbdd6d Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Sat, 22 May 2021 11:07:19 +0100 Subject: [PATCH 09/12] Update translation --- 1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md | 2 +- 1-js/02-first-steps/14-switch/article.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md index 0dc88bc86..6bdb52072 100644 --- a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md +++ b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md @@ -4,7 +4,7 @@ importance: 5 # Transforme o "switch" num "if" -Escreva empregando `if..else` código que corresponda ao seguinte `switch`: +Escreva o código empregando `if..else` que corresponda ao seguinte `switch`: ```js switch (browser) { diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 8f87d213e..daa865568 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -87,7 +87,7 @@ alert( 'Muito alto' ); alert( "Não conheço tais valores" ); ``` -````smart header="Qualquer expressão pode servir de argumento a `switch/case`" +````smart header="Qualquer expressão pode servir de argumento a 'switch/case'" Ambos `switch` e `case` permitem expressões arbitrárias. Por exemplo: From aee68c6c528bea4c6026cff1fe28ba53bf86376a Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Sun, 4 Dec 2022 23:51:02 +0100 Subject: [PATCH 10/12] Address @jonnathan-ls requested changes --- .../14-switch/2-rewrite-if-switch/solution.md | 2 +- .../14-switch/2-rewrite-if-switch/task.md | 1 - 1-js/02-first-steps/14-switch/article.md | 18 +++++++++--------- 3 files changed, 10 insertions(+), 11 deletions(-) diff --git a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/solution.md b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/solution.md index 427e274af..1aada50f9 100644 --- a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/solution.md +++ b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/solution.md @@ -21,6 +21,6 @@ switch (a) { } ``` -Pr favor, note: o `break` no final não é necessário. Mas o colocamos como segurança no código. +Por favor, note: o `break` no final não é necessário. Mas o colocamos como segurança no código. No futuro, poderemos querer colocar mais um `case`, por exemplo `case 4`. E se nos esquecermos de adicionar um break antes dele, no final de `case 3`, ocorrerá um erro. Assim, é uma espécie de prevenção. diff --git a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md index acfe28000..97d466948 100644 --- a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md +++ b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md @@ -1,4 +1,3 @@ -importância: 4 --- diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index daa865568..ae29089f6 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -26,7 +26,7 @@ switch(x) { } ``` -- O valor de `x` é comparado por meio de uma igualdade exata ao valor do primeiro `case` (isto é, ao `valor1`), a seguir ao do segundo (`valor2`) e assim sucessivamente. +- O valor de `x` é comparado através de uma igualdade exata ao valor do primeiro `case` (isto é, ao `valor1`), a seguir ao do segundo (`valor2`) e assim sucessivamente. - Se uma igualdade for encontrada, o `switch` começa a executar o código a partir do início do `case` correspondente, até ao próximo `break` (ou até ao fim do `switch`). - Se nenhum `case` é equiparado então o código em `default` é executado (se existir). @@ -43,7 +43,7 @@ switch (a) { break; *!* case 4: - alert( 'Exacto!' ); + alert( 'Exato!' ); break; */!* case 5: @@ -54,9 +54,9 @@ switch (a) { } ``` -Aqui o `switch` começa por comparar `a` à variante no primeiro `case`, que é `3`. A correspondência falha. +Aqui o `switch` começa por comparar `a` à variante no primeiro `case`, sendo `3`. A correspondência falha. -Então a `4`. Existe uma correspondência, e assim a execução começa a partir do `case 4` até ao próximo `break`. +A seguir a `4`. Existe uma correspondência, e assim a execução começa a partir do `case 4` até ao próximo `break`. **Se não existir um `break` então a execução continua pelo próximo `case` sem quaisquer comparações.** @@ -70,7 +70,7 @@ switch (a) { alert( 'Muito baixo' ); *!* case 4: - alert( 'Exacto!' ); + alert( 'Exato!' ); case 5: alert( 'Muito alto' ); default: @@ -82,7 +82,7 @@ switch (a) { No exemplo acima, vemos uma execução sequential de três `alert`'s: ```js -alert( 'Exacto!' ); +alert( 'Exato!' ); alert( 'Muito alto' ); alert( "Não conheço tais valores" ); ``` @@ -125,7 +125,7 @@ switch (a) { break; *!* - case 3: // (*) dois cases agrupados + case 3: // (*) dois cases agrupados case 5: alert('Errado!'); alert("Porque não tem aulas de matemática?"); @@ -143,7 +143,7 @@ A habilidade para "agrupar" cases é um efeito secundário de como o `switch/cas ## O tipo importa -Vamos emfatizar que a verificação da igualdade é sempre exata. Os valores devem também ser do mesmo tipo para existir correspondência. +Vamos enfatizar que a verificação da igualdade é sempre exata. Os valores devem também ser do mesmo tipo para existir correspondência. Por exemplo, consideremos o código: @@ -169,4 +169,4 @@ switch (arg) { 1. Para `0`, `1`, o primeiro `alert` é executado. 2. Para `2` o segundo `alert` corre. -3. Mas para `3`, o resultado do `prompt` á a string `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código inútil em `case 3`! A variante `default` será executada. +3. Mas para `3`, o resultado do `prompt` é uma string com o valor `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código inútil em `case 3`! A variante `default` será executada. From 41862265c7124d9c08515b4c24f7172ce47615fe Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Mon, 30 Jan 2023 20:23:35 +0100 Subject: [PATCH 11/12] Update '"switch statement" translation --- .../1-rewrite-switch-if-else/solution.md | 2 +- .../14-switch/1-rewrite-switch-if-else/task.md | 2 +- .../14-switch/2-rewrite-if-switch/task.md | 1 + 1-js/02-first-steps/14-switch/article.md | 18 +++++++++--------- 4 files changed, 12 insertions(+), 11 deletions(-) diff --git a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md index e87bc7a07..6237c4183 100644 --- a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md +++ b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/solution.md @@ -4,7 +4,7 @@ Contudo, para certas *strings*, um simples `'=='` também funciona. ```js no-beautify if(browser == 'Edge') { - alert("Você tem o Edge!"); + alert("Você usa o Edge!"); } else if (browser == 'Chrome' || browser == 'Firefox' || browser == 'Safari' diff --git a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md index 6bdb52072..e3ecae15a 100644 --- a/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md +++ b/1-js/02-first-steps/14-switch/1-rewrite-switch-if-else/task.md @@ -9,7 +9,7 @@ Escreva o código empregando `if..else` que corresponda ao seguinte `switch`: ```js switch (browser) { case 'Edge': - alert( "Você tem o Edge!" ); + alert( "Você usa o Edge!" ); break; case 'Chrome': diff --git a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md index 97d466948..3da68982e 100644 --- a/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md +++ b/1-js/02-first-steps/14-switch/2-rewrite-if-switch/task.md @@ -1,3 +1,4 @@ +importance: 4 --- diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index ae29089f6..5f35035b9 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -8,7 +8,7 @@ Ela fornece uma forma mais descritiva para comparar um valor a múltiplas varian O `switch` tem um ou mais blocos `case` (caso) e um `default` (padrão) opcional. -Tem uma apresentação semelhante a: +Ele se parece com: ```js no-beautify switch(x) { @@ -26,9 +26,9 @@ switch(x) { } ``` -- O valor de `x` é comparado através de uma igualdade exata ao valor do primeiro `case` (isto é, ao `valor1`), a seguir ao do segundo (`valor2`) e assim sucessivamente. +- O valor de `x` é comparado através de uma igualdade exata ao valor do primeiro `case` (isto é, ao `valor1`), a seguir ao do segundo (`valor2`), e assim sucessivamente. - Se uma igualdade for encontrada, o `switch` começa a executar o código a partir do início do `case` correspondente, até ao próximo `break` (ou até ao fim do `switch`). -- Se nenhum `case` é equiparado então o código em `default` é executado (se existir). +- Se nenhum `case` tem uma correspondência, então o código em `default` é executado (se existir). ## Um exemplo @@ -54,11 +54,11 @@ switch (a) { } ``` -Aqui o `switch` começa por comparar `a` à variante no primeiro `case`, sendo `3`. A correspondência falha. +Aqui o `switch` começa por comparar `a` ao valor no primeiro `case`, isto é `3`. A correspondência falha. A seguir a `4`. Existe uma correspondência, e assim a execução começa a partir do `case 4` até ao próximo `break`. -**Se não existir um `break` então a execução continua pelo próximo `case` sem quaisquer comparações.** +**Se não existir um `break` então a execução continua pelo próximo `case`, sem mais comparações.** Um exemplo sem `break`: @@ -107,14 +107,14 @@ switch (+a) { alert("isto não é executado"); } ``` -Aqui `+a` dá `1`, o que é comparado a `b + 1` no `case`, e o código correspondente é executado. +Aqui `+a` dá `1`, que é comparado no `case` a `b + 1`, e o código correspondente é executado. ```` ## Grupos de "case" Múltiplas variantes de `case` que partilhem o mesmo código podem ser agrupadas. -Por exemplo, se quisermos que o mesmo código corra por `case 3` e `case 5`: +Por exemplo, se quisermos que o mesmo código corra para `case 3` e `case 5`: ```js run no-beautify let a = 2 + 2; @@ -141,7 +141,7 @@ Agora ambos `3` e `5` mostram a mesma mensagem. A habilidade para "agrupar" cases é um efeito secundário de como o `switch/case` funciona sem `break`. Aqui a execução do `case 3` começa pela linha `(*)` e prossegue pelo `case 5`, por não existir `break`. -## O tipo importa +## O tipo de dados importa Vamos enfatizar que a verificação da igualdade é sempre exata. Os valores devem também ser do mesmo tipo para existir correspondência. @@ -169,4 +169,4 @@ switch (arg) { 1. Para `0`, `1`, o primeiro `alert` é executado. 2. Para `2` o segundo `alert` corre. -3. Mas para `3`, o resultado do `prompt` é uma string com o valor `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código inútil em `case 3`! A variante `default` será executada. +3. Mas para `3`, o resultado do `prompt` é uma string com o valor `"3"`, que não é estritamente igual `===` ao número `3`. Assim temos código ignorado em `case 3`! A variante `default` será executada. From 565eed4c165f4bc78845f897623ed3a66d16e7b1 Mon Sep 17 00:00:00 2001 From: Osvaldo Dias dos Santos Date: Sun, 26 Mar 2023 23:50:22 +0100 Subject: [PATCH 12/12] Update article.md --- 1-js/02-first-steps/14-switch/article.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/1-js/02-first-steps/14-switch/article.md b/1-js/02-first-steps/14-switch/article.md index 5f35035b9..a661d7d0a 100644 --- a/1-js/02-first-steps/14-switch/article.md +++ b/1-js/02-first-steps/14-switch/article.md @@ -2,7 +2,7 @@ Uma instrução `switch` pode substituir muitas comparações `if` (se). -Ela fornece uma forma mais descritiva para comparar um valor a múltiplas variantes. +Ela fornece uma maneira mais descritiva de comparar um valor a múltiplas variantes. ## A sintaxe