diff --git a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions.md b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions.md index 354056a8c00..63bc09dabc8 100644 --- a/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions.md +++ b/curriculum/challenges/japanese/02-javascript-algorithms-and-data-structures/basic-javascript/global-scope-and-functions.md @@ -11,13 +11,13 @@ dashedName: global-scope-and-functions JavaScript では、変数の効力の及ぶ範囲のことをスコープと呼びます。 関数ブロックの外側で定義された変数は、グローバルのスコープを持ちます。 つまり、JavaScript コードのどこからでもその変数を参照することができます。 -`let` キーワードまたは `const` キーワードを使用せずに宣言された変数は、自動的に `global` スコープで作成されます。 これは、コード内の他の場所で、または関数を再び実行するときに、意図しない結果を引き起こす可能性があります。 変数は常に `let` または `const` で宣言するようにしてください。 +`let` キーワードまたは `const` キーワードを使用せずに宣言された変数は、自動的に `global` スコープで作成されます。 これは、コード内の他の場所や、関数を複数回実行する場合に、意図しない結果を引き起こす可能性があります。 変数は常に `let` または `const` を使用して宣言するようにしましょう。 # --instructions-- `let` または `const`を使用して、関数の外部で `myGlobal` という名前のグローバル変数を宣言し、 値 `10` で初期化してください。 -関数 `fun1` の内側で、`let` キーワードまたは `const` キーワードを***使用せずに***、`oopsGlobal` に `5` を代入してください。 +関数 `fun1` の内側で、キーワード `var`、`let`、`const` のいずれも***使用せずに***、`oopsGlobal` に `5` を代入してください。 # --hints-- diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings.md index f3094105286..8f69291841e 100644 --- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings.md +++ b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings.md @@ -39,7 +39,7 @@ Você deve usar aspas duplas (`"`) e quatro aspas duplas escapadas (`\"`). assert(code.match(/\\"/g).length === 4 && code.match(/[^\\]"/g).length === 2); ``` -Variável myStr deve conter a string: `I am a "double quoted" string inside "double quotes".` +Variável `myStr` deve conter a string: `I am a "double quoted" string inside "double quotes".` ```js assert(/I am a "double quoted" string inside "double quotes(\."|"\.)$/.test(myStr)); diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do...while-loops.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do...while-loops.md index d1d0271330f..92f79d3b1b3 100644 --- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do...while-loops.md +++ b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-with-javascript-do...while-loops.md @@ -21,7 +21,7 @@ do { } while (i < 5); ``` -O exemplo acima se comporta de forma similar a outros tipos de laços, e o array resultante se parecerá com `[0,1,2,3,4]`. No entanto, o que torna o laço `do...while` diferente de outros laços é como ele se comporta quando uma condição falha na primeira verificação. Vamos ver isso na prática: Aqui está um laço comum `while` que rodará o código no laço enquanto `i < 5`: +O exemplo acima se comporta de forma similar a outros tipos de laços, e o array resultante se parecerá com `[0,1,2,3,4]`. No entanto, o que torna o laço `do...while` diferente de outros laços é como ele se comporta quando uma condição falha na primeira verificação. Vamos ver isso na prática. Aqui está um laço comum `while` que rodará o código no laço enquanto `i < 5`: ```js const ourArray = []; diff --git a/curriculum/challenges/portuguese/04-data-visualization/json-apis-and-ajax/access-the-json-data-from-an-api.md b/curriculum/challenges/portuguese/04-data-visualization/json-apis-and-ajax/access-the-json-data-from-an-api.md index 6d4a9454f98..265d7ad094e 100644 --- a/curriculum/challenges/portuguese/04-data-visualization/json-apis-and-ajax/access-the-json-data-from-an-api.md +++ b/curriculum/challenges/portuguese/04-data-visualization/json-apis-and-ajax/access-the-json-data-from-an-api.md @@ -12,7 +12,7 @@ No desafio anterior, você viu como obter dados de JSON da API de fotos de gatos Agora, dê uma olhada nos dados retornados para entender melhor o formato JSON. Vamos relembrar um pouco da notação do JavaScript: -
[ ] -> colchetes representam um array
{ } -> chaves representam um objeto
" " -> aspas duplas representam uma string. Elas também são usadas para nomes de chaves em JSON
+
[ ] -> colchetes representam um array
{ } -> chaves representam um objeto.
" " -> aspas duplas representam uma string. Elas também são usadas para nomes de chaves em JSON.
Entender a estrutura dos dados que uma API retorna é importante, pois influencia a forma como você obtém os valores de que necessita. diff --git a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/authentication-with-socket.io.md b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/authentication-with-socket.io.md index d20bd205e9b..488a44ba7cf 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/authentication-with-socket.io.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/authentication-with-socket.io.md @@ -64,7 +64,8 @@ console.log('user ' + socket.request.user.name + ' connected'); ``` Ele vai logar no console do servidor que está conectado! -Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto até este momento em https://gist.github.com/camperbot/1414cc9433044e306dd7fd0caa1c6254). + +Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto até este momento em https://gist.github.com/camperbot/1414cc9433044e306dd7fd0caa1c6254. # --hints-- diff --git a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/communicate-by-emitting.md b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/communicate-by-emitting.md index 0ed2f64c583..bc80f63c9e8 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/communicate-by-emitting.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/communicate-by-emitting.md @@ -37,7 +37,8 @@ socket.on('user count', function(data) { ``` Agora, tente carregar o seu aplicativo, autentique-se e você deve ver no console do client '1', representando a contagem de usuários no momento! Tente carregar mais clients, e autenticar para ver o número subir. -Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/28ef7f1078f56eb48c7b1aeea35ba1f5). + +Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/28ef7f1078f56eb48c7b1aeea35ba1f5. # --hints-- diff --git a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/handle-a-disconnect.md b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/handle-a-disconnect.md index aa4ce9be3a8..f7576b296c3 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/handle-a-disconnect.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/handle-a-disconnect.md @@ -21,7 +21,8 @@ socket.on('disconnect', () => { Para garantir que os clients tenham a contagem atualizada dos usuários atuais continuamente, você deve diminuir os currentUsers em 1 quando a desconexão acontece, emitindo o evento 'user count' com a contagem atualizada! **Observação:** assim como ocorre com `'disconnect'`, todos os outros eventos que um socket pode emitir para o servidor devem ser tratados dentro do listener que estiver conectando, onde 'socket' está definido. -Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/ab1007b76069884fb45b215d3c4496fa). + +Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/ab1007b76069884fb45b215d3c4496fa. # --hints-- diff --git a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/how-to-put-a-profile-together.md b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/how-to-put-a-profile-together.md index 26491d69a4c..418cacd21e6 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/how-to-put-a-profile-together.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/how-to-put-a-profile-together.md @@ -23,7 +23,8 @@ Além disso, em `profile.pug`, adicione um link referindo-se à rota `/logout`, ```pug a(href='/logout') Logout ``` -Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/136b3ad611cc80b41cab6f74bb460f6a). + +Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/136b3ad611cc80b41cab6f74bb460f6a. # --hints-- diff --git a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user.md b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user.md index 8ee5625b7e7..199b760e4c9 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/implement-the-serialization-of-a-passport-user.md @@ -39,7 +39,8 @@ myDB(async client => { ``` Certifique-se de descomentar o código `myDataBase` em `deserializeUser` e de editar o seu `done(null, null)` para incluir o `doc`. -Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/175f2f585a2d8034044c7e8857d5add7). + +Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/175f2f585a2d8034044c7e8857d5add7. # --hints-- diff --git a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/implementation-of-social-authentication.md b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/implementation-of-social-authentication.md index cecd377a9e8..7029c1bf26f 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/implementation-of-social-authentication.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/implementation-of-social-authentication.md @@ -30,7 +30,8 @@ app.route('/login') res.redirect('/profile'); }); ``` -Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto até este momento em https://gist.github.com/camperbot/1f7f6f76adb178680246989612bea21e). + +Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto até este momento em https://gist.github.com/camperbot/1f7f6f76adb178680246989612bea21e. # --hints-- diff --git a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/registration-of-new-users.md b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/registration-of-new-users.md index b833bba92d5..f8926ac01d8 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/registration-of-new-users.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/registration-of-new-users.md @@ -46,7 +46,8 @@ app.route('/register') } ); ``` -Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/b230a5b3bbc89b1fa0ce32a2aa7b083e). + +Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/b230a5b3bbc89b1fa0ce32a2aa7b083e. **OBSERVAÇÃO:** a partir deste ponto, podem surgir problemas relacionados com o uso do navegador *picture-in-picture*. Se você estiver usando uma IDE on-line que oferece uma pré-visualização do aplicativo dentro do editor, é recomendável abrir esta pré-visualização em uma nova aba. diff --git a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md index 5e008009527..8593f3e5016 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/serialization-of-a-user-object.md @@ -27,7 +27,8 @@ passport.deserializeUser((id, done) => { ``` OBSERVAÇÃO: `deserializeUser` vai lançar um erro até que tenhamos definido o banco de dados na próxima etapa. Portanto, por enquanto, comente todo o bloco e apenas chame `done(null, null)` na função `deserializeUser`. -Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/7068a0d09e61ec7424572b366751f048). + +Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/7068a0d09e61ec7424572b366751f048. # --hints-- diff --git a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md index f332306f2c1..f4d3061bf7e 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/set-up-a-template-engine.md @@ -27,7 +27,8 @@ A página não será carregada até que você renderize corretamente o arquivo d Altere o argumento da declaração `res.render()` na rota `/` para que seja o caminho de arquivo para o diretório `views/pug`. O caminho pode ser um caminho relativo (relativo às visualizações) ou um caminho absoluto e não necessita de uma extensão de arquivo. Se tudo correu como planejado, sua página inicial vai parar de mostrar a mensagem "`Pug template is not defined.`" e agora exibirá uma mensagem indicando que você renderizou com sucesso o modelo do Pug! -Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/3515cd676ea4dfceab4e322f59a37791). + +Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/3515cd676ea4dfceab4e322f59a37791. # --hints-- diff --git a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/set-up-the-environment.md b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/set-up-the-environment.md index 464df876360..088458774bd 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/set-up-the-environment.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/advanced-node-and-express/set-up-the-environment.md @@ -41,7 +41,8 @@ O comentário suprime o erro que você normalmente veria, já que 'io' não est Agora, tente carregar o aplicativo e autentique-se. Você deve ver no console do servidor a frase 'A user has connected'! **Observação:** `io()` só funciona ao se conectar a um socket hospedado no mesmo url/servidor. Para se conectar a um socket externo hospedado em outro lugar, você usaria `io.connect('URL');`. -Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/aae41cf59debc1a4755c9a00ee3859d1). + +Envie sua página quando você achar que ela está certa. Se você encontrar erros, pode conferir o projeto concluído até este momento em https://gist.github.com/camperbot/aae41cf59debc1a4755c9a00ee3859d1. # --hints-- diff --git a/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-and-testing-with-chai/compare-the-properties-of-two-elements.md b/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-and-testing-with-chai/compare-the-properties-of-two-elements.md index f2d80e6e94e..2e23e150239 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-and-testing-with-chai/compare-the-properties-of-two-elements.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-and-testing-with-chai/compare-the-properties-of-two-elements.md @@ -7,11 +7,12 @@ dashedName: compare-the-properties-of-two-elements --- # --description-- -Como lembrete, este projeto está sendo criado a partir do projeto inicial seguinte, no Replit ou pode ser clonado do GitHub. + +Lembrando que este projeto está sendo construído a partir do Replit, ou pode ser clonado no GitHub. # --instructions-- -Dentro de `tests/1_unit-tests.js` no teste `#8` na suite `Comparisons`, altere todos os `assert` para `assert.isAbove` ou `assert.isAtMost` para fazer com que o teste passe (seja avaliado como `true`). Não altere os argumentos passados para os asserts. +Em `tests/1_unit-tests.js`, no teste classificado como `#8` e na suíte `Comparisons`, modifique cada `assert` para `assert.isAbove` ou para `assert.isAtMost`, de maneira que cada teste passe (seja avaliado como `true`). Não altere os argumentos passados para as assertivas. # --hints-- @@ -29,7 +30,7 @@ Todos os testes devem passar. ); ``` -Você deve selecionar o método correto para a primeira asserção - `isAbove` x `isAtMost`. +Você deve escolher o método correto para a primeira afirmação - `isAbove` ou `isAtMost`. ```js (getUserInput) => @@ -47,7 +48,7 @@ Você deve selecionar o método correto para a primeira asserção - `isAbove` x ); ``` -Você deve selecionar o método correto para a segunda asserção - `isAbove` x `isAtMost`. +Você deve escolher o método correto para a segunda afirmação - `isAbove` ou `isAtMost`. ```js (getUserInput) => @@ -61,7 +62,7 @@ Você deve selecionar o método correto para a segunda asserção - `isAbove` x ); ``` -Você deve selecionar o método correto para a terceira asserção - `isAbove` x `isAtMost`. +Você deve escolher o método correto para a terceira afirmação - `isAbove` ou `isAtMost`. ```js (getUserInput) => @@ -79,7 +80,7 @@ Você deve selecionar o método correto para a terceira asserção - `isAbove` x ); ``` -Você deve selecionar o método correto para a quarta asserção - `isAbove` x `isAtMost`. +Você deve escolher o método correto para a quarta afirmação - `isAbove` ou `isAtMost`. ```js (getUserInput) => @@ -88,7 +89,7 @@ Você deve selecionar o método correto para a quarta asserção - `isAbove` x ` assert.equal( data.assertions[3].method, 'isAtMost', - '1 - Math.random() is > 0 and <= 1. É atMost 1 !' + '1 - Math.random() is > 0 and <= 1. It is atMost 1 !' ); }, (xhr) => { @@ -101,8 +102,8 @@ Você deve selecionar o método correto para a quarta asserção - `isAbove` x ` ```js /** - Desafios de back-end não precisam de solução, - pois precisariam ser testados contra o projeto funcional completo. - Confira nossas diretrizes de contribuição para saber mais. + Backend challenges don't need solutions, + because they would need to be tested against a full working project. + Please check our contributing guidelines to learn more. */ ``` diff --git a/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-projects/sudoku-solver.md b/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-projects/sudoku-solver.md index 46715c21d9c..d04b1f218ce 100644 --- a/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-projects/sudoku-solver.md +++ b/curriculum/challenges/portuguese/06-quality-assurance/quality-assurance-projects/sudoku-solver.md @@ -324,7 +324,7 @@ async (getUserInput) => { }; ``` -Se o `value` enviado à `/api/check` não for um número entre 1 e 9, os valores retornados serão `{ error: 'Invalid value' }` +Se o `value` enviado à `/api/check` não for um número entre 1 e 9, o valor retornado será `{ error: 'Invalid value' }` ```js async (getUserInput) => { @@ -369,7 +369,7 @@ async (getUserInput) => { }; ``` -Todos os 14 testes funcionais foram concluídos e deram aprovação. Veja `/tests/2_functional-tests.js` para o comportamento esperado para o qual você deve escrever os testes. +Todos os 14 testes funcionais foram concluídos e deram aprovação. Veja `/tests/2_functional-tests.js` para a funcionalidade esperada para o qual você deve escrever os testes. ```js async (getUserInput) => { diff --git a/curriculum/challenges/portuguese/08-data-analysis-with-python/data-analysis-with-python-projects/page-view-time-series-visualizer.md b/curriculum/challenges/portuguese/08-data-analysis-with-python/data-analysis-with-python-projects/page-view-time-series-visualizer.md index 6b3028b9ef5..cdd0013a392 100644 --- a/curriculum/challenges/portuguese/08-data-analysis-with-python/data-analysis-with-python-projects/page-view-time-series-visualizer.md +++ b/curriculum/challenges/portuguese/08-data-analysis-with-python/data-analysis-with-python-projects/page-view-time-series-visualizer.md @@ -21,11 +21,11 @@ Para este projeto, você vai visualizar dados de série de tempo usando um gráf Use os dados para completar as seguintes tarefas: -- Use o Pandas para importar os dados de "fcc-forum-pageviews.csv". Define o índice para que seja a coluna "date". +- Use o Pandas para importar os dados de "fcc-forum-pageviews.csv". Define o índice para que seja a coluna `date`. - Limpe os dados filtrando os dias em que as visualizações de página estavam nos 2,5% maiores ou nos 2,5% menores do dataset. -- Crie uma função `draw_line_plot` que use o Matplotlib para desenhar um gráfico de linhas semelhante a "examples/Figure_1.png". O título deve ser "Daily freeCodeCamp Forum Page Views 5/2016-12/2019". O rótulo no eixo x deve ser "Date" e o rótulo no eixo y deve ser "Page Views". -- Crie uma função `draw_bar_plot` para desenhar um gráfico de barras semelhante a "examples/Figure_2.png". Ele deve mostrar as médias de visualizações de página diárias para cada mês agrupadas por ano. A legenda deve mostrar os rótulos dos meses e ter o título "Months". No gráfico, o rótulo no eixo x deve ser "Years" e o rótulo no eixo y deve ser "Average Page Views". -- Crie uma função `draw_box_plot` que use o Seaborn para desenhar um diagrama de 2 caixas adjacentes similar a "examples/Figure_3.png". Esses diagramas de caixa devem mostrar como os valores são distribuídos dentro de um determinado ano ou mês e como são comparados ao longo do tempo. O título do primeiro diagrama deve ser "Year-wise Box Plot (Trend)" (Diagrama de caixas do ano (Tendência)) e o título do segundo gráfico deve ser "Month-wise Box Plot (Seasonality)" (Diagrama de caixas do mês (Sazonalidade)). Certifique-se de que as etiquetas do mês na parte inferior comecem em "Jan" e que o eixos x e y estejam rotulados corretamente. O boilerplate inclui comandos para preparar os dados. +- Crie uma função `draw_line_plot` que use o Matplotlib para desenhar um gráfico de linhas semelhante a "examples/Figure_1.png". O título deve ser `Daily freeCodeCamp Forum Page Views 5/2016-12/2019`. O rótulo no eixo x deve ser `Date` e o rótulo no eixo y deve ser `Page Views`. +- Crie uma função `draw_bar_plot` para desenhar um gráfico de barras semelhante a "examples/Figure_2.png". Ele deve mostrar as médias de visualizações de página diárias para cada mês agrupadas por ano. A legenda deve mostrar os rótulos dos meses e ter o título `Months`. No gráfico, o rótulo no eixo x deve ser `Years` e o rótulo no eixo y deve ser `Average Page Views`. +- Crie uma função `draw_box_plot` que use o Seaborn para desenhar um diagrama de 2 caixas adjacentes similar a "examples/Figure_3.png". Esses diagramas de caixa devem mostrar como os valores são distribuídos dentro de um determinado ano ou mês e como são comparados ao longo do tempo. O título do primeiro diagrama deve ser `Year-wise Box Plot (Trend)` (Diagrama de caixas do ano (Tendência)) e o título do segundo gráfico deve ser `Month-wise Box Plot (Seasonality)` (Diagrama de caixas do mês (Sazonalidade)). Certifique-se de que as etiquetas do mês na parte inferior comecem em `Jan` e que o eixos x e y estejam rotulados corretamente. O boilerplate inclui comandos para preparar os dados. Para cada gráfico, certifique-se de usar uma cópia do data frame. Os testes unitários foram escritos para você no `test_module.py`. diff --git a/curriculum/challenges/portuguese/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md b/curriculum/challenges/portuguese/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md index 17619ea6a47..55cf63f4ad1 100644 --- a/curriculum/challenges/portuguese/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md +++ b/curriculum/challenges/portuguese/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md @@ -22,10 +22,10 @@ Você analisará um dataset da mudança média do nível do mar global desde 188 Use os dados para completar as seguintes tarefas: - Use o Pandas para importar os dados de `epa-sea-level.csv`. -- Use a matplotlib para criar um diagrama de dispersão usando a coluna "Year" como eixo x e a coluna "CSIRO Adjusted Sea Level" (Nível do mar ajustado) como o eixo y. +- Use a matplotlib para criar um diagrama de dispersão usando a coluna `Year` como eixo x e a coluna `CSIRO Adjusted Sea Level` (Nível do mar ajustado) como o eixo y. - Use a função `linregress` do `scipy.stats` para obter o coeficiente angular e o ponto de interceptação da linha de y do melhor ajuste. Trace a linha de melhor ajuste na parte superior do diagrama de dispersão. Faça a linha passar pelo ano 2050 para prever o aumento do nível do mar em 2050. - Trace uma nova linha do melhor ajuste utilizando apenas os dados do ano 2000 ao longo do último ano no dataset. Faça com que a linha passe também pelo ano 2050 para prever o aumento do nível do mar em 2050 se a taxa de crescimento continuar como está desde o ano 2000. -- O rótulo de x deve ser "Year" e o rótulo de y deve ser "Sea Level (inches)" (Nível do mar, em polegadas), e o título deve ser "Rise in Sea Level" (Aumento do nível do mar). +- O rótulo de x deve ser `Year` e o rótulo de y deve ser `Sea Level (inches)` (Nível do mar, em polegadas), e o título deve ser `Rise in Sea Level` (Aumento do nível do mar). Os testes unitários foram escritos para você no `test_module.py`. diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/algorithms/find-the-symmetric-difference.md b/curriculum/challenges/portuguese/10-coding-interview-prep/algorithms/find-the-symmetric-difference.md index 91c6997f181..cd3edaec226 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/algorithms/find-the-symmetric-difference.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/algorithms/find-the-symmetric-difference.md @@ -54,7 +54,7 @@ assert.sameMembers(sym([1, 2, 3], [5, 2, 1, 4, 5]), [3, 4, 5]); assert.equal(sym([1, 2, 3], [5, 2, 1, 4, 5]).length, 3); ``` -`sym([1, 2, 5], [2, 3, 5], [3, 4, 5])` deve retornar `[1, 4, 5]` +`sym([1, 2, 5], [2, 3, 5], [3, 4, 5])` deve retornar `[1, 4, 5]`. ```js assert.sameMembers(sym([1, 2, 5], [2, 3, 5], [3, 4, 5]), [1, 4, 5]); diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/data-structures/search-within-a-linked-list.md b/curriculum/challenges/portuguese/10-coding-interview-prep/data-structures/search-within-a-linked-list.md index da6b32c47b4..c7ed91d9282 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/data-structures/search-within-a-linked-list.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/data-structures/search-within-a-linked-list.md @@ -16,7 +16,7 @@ Vamos também implementar um método que faz o oposto: um método `elementAt`, q # --instructions-- -Escreva um método `isEmpty`, que verifique se a lista está vazia, um método `indexOf`, que retorna o `index` de um determinado elemento, e um método `elementAt`, que retorna um `element` em um dado `index.` +Escreva um método `isEmpty`, que verifique se a lista está vazia, um método `indexOf`, que retorna o `index` de um determinado elemento, e um método `elementAt`, que retorna um `element` em um dado `index`. # --hints-- diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-414-kaprekar-constant.md b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-414-kaprekar-constant.md index 25f6f2fec46..4e20d0a7c4e 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-414-kaprekar-constant.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-414-kaprekar-constant.md @@ -23,7 +23,7 @@ $$\begin{align} & 8730 - 0378 = 8352 \\\\ Podemos considerar a rotina de Kaprekar para outras bases e quantidades de algarismos. Infelizmente, não é garantido que uma constante de Kaprekar exista em todos os casos; ou a rotina pode terminar em um ciclo para alguns números de entrada ou a constante a qual a rotina chega pode diferir para números de entrada diversos. Podemos, no entanto, mostrar que, para 5 algarismos e uma base $b = 6t + 3 ≠ 9$, existe uma constante de Kaprekar. -Ex: base 15: ${(10, 4, 14, 9, 5)}\_{15}$ base 21: $(14, 6, 20, 13, 7)_{21}$ +Ex: base 15: ${(10, 4, 14, 9, 5)}\_{15}$ base 21: $(14, 6, 20, 13, 7)\_{21}$ Defina $C_b$ como a constante de Kaprekar na base $b$ para 5 algarismos. Defina a função $sb(i)$ como: diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/amicable-pairs.md b/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/amicable-pairs.md index c78340e1881..a559e3d9e51 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/amicable-pairs.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/amicable-pairs.md @@ -19,7 +19,7 @@ Dizemos que dois números inteiros, $N$ e $M$, são pares amigáveis se $N \\neq
  • 1, 2, 5, 10, 11, 22, 55, 110, 121, 242, 605, respectivamente.
  • -A soma dos divisores pelo primeiro valor, **1184**, é **1210** e a soma dos divisores pelo segundo valor, **1210**', é **1184**. +A soma dos divisores pelo primeiro valor, **1184**, é **1210** e a soma dos divisores pelo segundo valor, **1210**, é **1184**. # --instructions-- diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/comma-quibbling.md b/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/comma-quibbling.md index 52be0d2098f..43eefac991a 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/comma-quibbling.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/comma-quibbling.md @@ -8,7 +8,7 @@ dashedName: comma-quibbling # --description-- -Entre vírgulas é uma tarefa originalmente criada por Eric Lippert em seu [blog](https://blogs.msdn.com/b/ericlippert/archive/2009/04/15/comma-quibbling.aspx). +[Comma quibbling](https://rosettacode.org/wiki/Comma_quibbling) é uma tarefa originalmente definida por Eric Lippert em seu blog de 2009. Neste desafio, você criará uma `string` a partir de um `array`. Você precisa informar se o `array` não tem itens, se tem um único item ou vários itens nele. # --instructions-- @@ -52,19 +52,19 @@ assert(typeof quibble(['ABC']) === 'string'); assert.equal(quibble(testCases[0]), results[0]); ``` -`quibble(["ABC"])` deve retornar "{ABC}". +`quibble(["ABC"])` deve retornar `"{ABC}"`. ```js assert.equal(quibble(testCases[1]), results[1]); ``` -`quibble(["ABC", "DEF"])` deve retornar "{ABC and DEF}". +`quibble(["ABC", "DEF"])` deve retornar `"{ABC and DEF}"`. ```js assert.equal(quibble(testCases[2]), results[2]); ``` -`quibble(["ABC", "DEF", "G", "H"])` deve retornar "{ABC,DEF,G and H}". +`quibble(["ABC", "DEF", "G", "H"])` deve retornar `"{ABC, DEF, G and H}"`. ```js assert.equal(quibble(testCases[3]), results[3]); @@ -76,7 +76,7 @@ assert.equal(quibble(testCases[3]), results[3]); ```js const testCases = [[], ["ABC"], ["ABC", "DEF"], ["ABC", "DEF", "G", "H"]]; -const results = ["{}", "{ABC}", "{ABC and DEF}", "{ABC,DEF,G and H}"]; +const results = ["{}", "{ABC}", "{ABC and DEF}", "{ABC, DEF, G and H}"]; ``` ## --seed-contents-- @@ -93,7 +93,7 @@ function quibble(words) { ```js function quibble(words) { return "{" + - words.slice(0, words.length - 1).join(",") + + words.slice(0, words.length - 1).join(", ") + (words.length > 1 ? " and " : "") + (words[words.length - 1] || '') + "}"; diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/execute-a-markov-algorithm.md b/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/execute-a-markov-algorithm.md index c3e2461c1c7..02647ec7944 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/execute-a-markov-algorithm.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/execute-a-markov-algorithm.md @@ -12,7 +12,7 @@ Os conceitos de Markov são utilizados na aprendizagem de máquina, devido à ab Adicionamos em segundo plano: -As regras (`rules`) no formato de array aninhado (`nested array`), e os dados (`data`) também na forma de um `array`.E as saídas (`outputs`) desejadas. +As regras (`rules`) no formato de array aninhado e os dados (`data`) também na forma de um array.E as saídas (`outputs`) desejadas. As regras (`rules`): @@ -82,31 +82,31 @@ Usando o algoritmo de Markov, altere os dados (`data`) para que as saídas (`out assert(typeof markov === 'function'); ``` -`markov(["A -> apple","B -> bag","S -> shop","T -> the","the shop -> my brother","a never used -> .terminating rule"],"I bought a B of As from T S.")` deve retornar "I bought a bag of apples from my brother.". +`markov(["A -> apple","B -> bag","S -> shop","T -> the","the shop -> my brother","a never used -> .terminating rule"],"I bought a B of As from T S.")` deve retornar a string `I bought a bag of apples from my brother.`. ```js assert.deepEqual(markov(rules[0], datas[0]), outputs[0]); ``` -`markov(["A -> apple","B -> bag","S -> .shop","T -> the","the shop -> my brother","a never used -> .terminating rule"],"I bought a B of As from T S.")` deve retornar "I bought a bag of apples from T shop.". +`markov(["A -> apple","B -> bag","S -> .shop","T -> the","the shop -> my brother","a never used -> .terminating rule"],"I bought a B of As from T S.")` deve retornar a string `I bought a bag of apples from T shop.`. ```js assert.deepEqual(markov(rules[1], datas[1]), outputs[1]); ``` -`markov(["A -> apple","WWWW -> with","Bgage -> ->.*","B -> bag","->.* -> money","W -> WW","S -> .shop","T -> the","the shop -> my brother","a never used -> .terminating rule"],"I bought a B of As W my Bgage from T S.")` deve retornar "I bought a bag of apples with my money from T shop.". +`markov(["A -> apple","WWWW -> with","Bgage -> ->.*","B -> bag","->.* -> money","W -> WW","S -> .shop","T -> the","the shop -> my brother","a never used -> .terminating rule"],"I bought a B of As W my Bgage from T S.")` deve retornar a string `I bought a bag of apples with my money from T shop.`. ```js assert.deepEqual(markov(rules[2], datas[2]), outputs[2]); ``` -`markov(["_+1 -> _1+","1+1 -> 11+","1! -> !1",",! -> !+","_! -> _","1*1 -> x,@y","1x -> xX","X, -> 1,1","X1 -> 1X","_x -> _X",",x -> ,X","y1 -> 1y","y_ -> _","1@1 -> x,@y","1@_ -> @_",",@_ -> !_","++ -> +","_1 -> 1","1+_ -> 1","_+_ -> "],"_1111*11111_")` deve retornar "11111111111111111111". +`markov(["_+1 -> _1+","1+1 -> 11+","1! -> !1",",! -> !+","_! -> _","1*1 -> x,@y","1x -> xX","X, -> 1,1","X1 -> 1X","_x -> _X",",x -> ,X","y1 -> 1y","y_ -> _","1@1 -> x,@y","1@_ -> @_",",@_ -> !_","++ -> +","_1 -> 1","1+_ -> 1","_+_ -> "],"_1111*11111_")` deve retornar a string `11111111111111111111`. ```js assert.deepEqual(markov(rules[3], datas[3]), outputs[3]); ``` -`markov(["A0 -> 1B","0A1 -> C01","1A1 -> C11","0B0 -> A01","1B0 -> A11","B1 -> 1B","0C0 -> B01","1C0 -> B11","0C1 -> H01","1C1 -> H11"],"")` deve retornar "00011H1111000". +`markov(["A0 -> 1B","0A1 -> C01","1A1 -> C11","0B0 -> A01","1B0 -> A11","B1 -> 1B","0C0 -> B01","1C0 -> B11","0C1 -> H01","1C1 -> H11"],"")` deve retornar a string `00011H1111000`. ```js assert.deepEqual(markov(rules[4], datas[4]), outputs[4]); diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/s-expressions.md b/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/s-expressions.md index 235fde4cdb5..28fb3e517ba 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/s-expressions.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/rosetta-code/s-expressions.md @@ -8,7 +8,7 @@ dashedName: s-expressions # --description-- -[Expressões S](https://en.wikipedia.org/wiki/S-Expression "wp: S-Expression") são uma maneira conveniente de analisar e armazenar dados. +Expressões S apresentam dados como uma estrutura de árvore binária, tornando possível a referência de parte dos dados facilmente. Isto também torna conveniente analisar e armazenar dados. # --instructions-- @@ -32,7 +32,7 @@ O leitor deve poder ler a entrada a seguir (data (!@# (4.5) "(more" "data)"))) -e transformá-la em uma estrutura de dados nativa. (veja as implementações em [Pike](https://rosettacode.org/wiki/S-Expressions#Pike "\#Pike"), [Python](https://rosettacode.org/wiki/S-Expressions#Python "\#Python") e [Ruby](https://rosettacode.org/wiki/S-Expressions#Ruby "\#Ruby") para obter exemplos de estruturas de dados nativas.) +e transformá-la em uma estrutura de dados nativa. # --hints-- diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md index c2f46e47dc4..9c6aec91f2c 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb2e27333b1ab2b955.md @@ -7,7 +7,7 @@ dashedName: step-17 # --description-- -Agora você precisa vincular o arquivo `styles.css` para que os estilos sejam aplicados novamente. Adicione um elemento `link` de fechamento automático ao elemento `head`. Dê a ele um atributo `rel` com o valor `stylesheet`, um atributo `type` com o valor `text/css` e um atributo `href` com o valor `styles.css`. +Agora você precisa vincular o arquivo `styles.css` para que os estilos sejam aplicados novamente. Adicione um elemento `link` de fechamento automático ao elemento `head`. Dê a ele o valor do atributo `rel` de `stylesheet` e o valor do atributo `href` de `styles.css`. # --hints-- @@ -43,12 +43,6 @@ O elemento `link` deve ter o atributo `rel` com o valor `stylesheet`. assert(code.match(/rel\s*=\s*('|")stylesheet\1/i)); ``` -O elemento `link` deve ter o atributo `type` com o valor `text/css`. - -```js -assert(code.match(/type\s*=\s*('|")text\/css\1/i)); -``` - O elemento `link` deve ter o atributo `href` com o valor `styles.css`. ```js diff --git a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dbf362f99b9a0c6d0.md b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dbf362f99b9a0c6d0.md index 0dd426b68dc..ad689989d01 100644 --- a/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dbf362f99b9a0c6d0.md +++ b/curriculum/challenges/portuguese/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3c866dbf362f99b9a0c6d0.md @@ -13,7 +13,7 @@ Os elementos `p` estão aninhados em um elemento `article` com o atributo de cla .item p { } ``` -Usando o seletor acima, adicione uma propriedade `display` com valor `inline-block` para que os elementos `p` se comportem mais como elementos `inline`. +Usando o seletor acima, adicione uma propriedade `display` com valor `inline-block` para que os elementos `p` se comportem mais como elementos em linha. # --hints-- @@ -49,7 +49,7 @@ assert(itemPDisplay === 'inline-block'); Cafe Menu - +