diff --git a/curriculum/challenges/chinese-traditional/01-responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default.md b/curriculum/challenges/chinese-traditional/01-responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default.md index d43ad28869..12d5ae0017 100644 --- a/curriculum/challenges/chinese-traditional/01-responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default.md +++ b/curriculum/challenges/chinese-traditional/01-responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default.md @@ -23,7 +23,7 @@ dashedName: check-radio-buttons-and-checkboxes-by-default # --hints-- -表單的第一個多選按鈕應被默認選中。 +表單的第一個單選按鈕應被默認選中。 ```js assert($('input[type="radio"]').prop('checked')); diff --git a/curriculum/challenges/chinese/01-responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default.md b/curriculum/challenges/chinese/01-responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default.md index 86ba598725..5d15026e9b 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/basic-html-and-html5/check-radio-buttons-and-checkboxes-by-default.md @@ -23,7 +23,7 @@ dashedName: check-radio-buttons-and-checkboxes-by-default # --hints-- -表单的第一个多选按钮应被默认选中。 +表单的第一个单选按钮应被默认选中。 ```js assert($('input[type="radio"]').prop('checked')); diff --git a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/es6/prevent-object-mutation.md b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/es6/prevent-object-mutation.md index c51987f7f0..5e2f73642a 100644 --- a/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/es6/prevent-object-mutation.md +++ b/curriculum/challenges/espanol/02-javascript-algorithms-and-data-structures/es6/prevent-object-mutation.md @@ -10,7 +10,7 @@ dashedName: prevent-object-mutation Como se vio en el desafío anterior, la declaración `const` por sí sola no protege la información de la mutación. Para asegurar que tu información no cambie, JavaScript provee una función `Object.freeze` para prevenir la mutación de datos. -Una vez que el objeto está congelado, ya no puedes agregar, actualizar o borrar propiedades alojadas en él. Cualquier intento de cambiar el objeto será rechazado sin ningún error. +Cualquier intento de cambiar el objeto será rechazado, lanzando un error si el script se ejecuta en modo estricto (strict mode). ```js let obj = { @@ -23,7 +23,7 @@ obj.newProp = "Test"; console.log(obj); ``` -Las asignaciones `obj.review` y `obj.newProp` provocarán errores y la consola mostrará el valor `{ name: "FreeCodeCamp", review: "Awesome" }`. +Las asignaciones `obj.review` y `obj.newProp` provocarán errores, porque nuestro editor se ejecuta en modo estricto por defecto, y la consola mostrará el valor `{ name: "FreeCodeCamp", review: "Awesome" }`. # --instructions-- diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine.md b/curriculum/challenges/espanol/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine.md index 16892d8c92..6c9f475acc 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/front-end-development-libraries-projects/build-a-drum-machine.md @@ -10,15 +10,15 @@ dashedName: build-a-drum-machine **Objetivo:** Construye una aplicación en [CodePen.io](https://codepen.io) que funcionalmente sea similar a esta: . -Completa las siguientes [historias de usuario](https://en.wikipedia.org/wiki/User_story) y consigue que se aprueben todas las pruebas. Dale tu estilo personal. +Completa las siguientes [historias de usuario](https://en.wikipedia.org/wiki/User_story) y consigue que pasen todas las pruebas. Dale tu propio estilo personal. -Puede utilizar cualquier mezcla de HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux, y jQuery para completar este proyecto. Debe usar un framework de frontend (como React por ejemplo). Porque esta sección trata sobre el aprendizaje de frameworks frontend. No se recomienda utilizar tecnologías adicionales a las indicadas anteriormente, su utilización, corre bajo tu propio riesgo. Estamos buscando dar soporte a otros frameworks de frontend como Angular y Vue, pero actualmente no están soportados. Aceptaremos e intentaremos solucionar todos los informes de incidencias que utilicen el conjunto de tecnologías sugeridas para este proyecto. ¡Feliz programación! +Puedes utilizar cualquier combinación de HTML, JavaScript, CSS, Bootstrap, SASS, React, Redux y jQuery para completar este proyecto. Debe usar un framework frontend (como React por ejemplo), ya que esta sección trata sobre el aprendizaje de frameworks frontend. No se recomienda utilizar tecnologías adicionales que no estén enlistadas, su uso corre bajo tu propio riesgo. Estamos buscando apoyar otros frameworks de frontend como Angular y Vue, pero actualmente no están soportados. Aceptaremos e intentaremos arreglar todos los informes de problemas que utilicen el stack de tecnologías sugeridas para este proyecto. ¡Feliz codificación! **Historia de usuario #1:** Debe ser capaz de ver un contenedor externo con un correspondiente `id="drum-machine"` que contiene todos los demás elementos. **Historia de usuario #2:** Dentro de `#drum-machine` Puedo ver un elemento con un `id="display"` correspondiente. -**Historia de usuario #3:** Dentro de `#drum-machine` Puedo ver 9 elementos del panel de tambores clickables, cada una con un nombre de clase de `drum-pad`, un identificador único que describe el clip de audio que el pad de tambor será configurado para activar, y un texto interno que corresponde a una de las siguientes teclas del teclado: `Q`, `W`, `E`, `A`, `S`, `D`, `Z`, `X`, `C`. Los pads de la batería DEBEN estar en este orden. +**Historia de usuario #3:** Dentro de `#drum-machine`Puedo ver 9 elementos de drum pad en los que se puede hacer clic, cada uno con un nombre de clase de `drum-pad`, un identificador único que describe el clip de audio que el pad de tambor será configurado para activar, y un texto interno que corresponde a una de las siguientes teclas del teclado: `Q`, `W`, `E`, `A`, `S`, `D`, `Z`, `X`, `C`. Los pads de la batería DEBEN estar en este orden. **Historia de usuario #4:** Dentro de cada `.drum-pad`, debe haber un elemento HTML5 `audio` que tenga un atributo `src` apuntando a un clip de audio, un nombre de clase `clip`, y un id correspondiente al texto interno de su padre `.drum-pad` (e.g. `id="Q"`, `id="W"`, `id="E"` etc.). @@ -28,7 +28,7 @@ Puede utilizar cualquier mezcla de HTML, JavaScript, CSS, Bootstrap, SASS, React **Historia de usuario #7:** Cuando es un `.drum-pad` es activado, una cadena que describe el clip de audio asociado se muestra como el texto interior del elemento `#display` (cada cadena debe ser única). -Puedes construir tu proyecto usando esta plantilla CodePen y haciendo clic en `Save` para crear tu propio pen. O puedes utilizar este enlace CDN para ejecutar las pruebas en cualquier entorno que desees: `https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js` +Puedes construir tu proyecto con usando esta plantilla CodePen y haciendo clic en `Save` para crear tu propio entorno. O puedes usar este enlace CDN(Red de distribución de contenidos) para ejecutar las pruebas en cualquier entorno de tu preferencia: `https://cdn.freecodecamp.org/testable-projects-fcc/v1/bundle.js` Una vez que hayas terminado, envía la URL de tu proyecto funcional con todas las pruebas aprobadas. diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app.md index 52be7d936a..6daf5d2f1f 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app.md @@ -10,7 +10,7 @@ dashedName: connect-redux-to-the-messages-app Ahora que entiendes cómo usar `connect` para conectar React a Redux, puedes aplicar lo que has aprendido a tu componente React que maneja mensajes. -En la última lección, el componente que conectaste a Redux se llamó `Presentational`, y esto no fue arbitrario. Este término *generalmente* se refiere a componentes React que no están directamente conectados a Redux. Ellos simplemente son responsables de la presentación de la interfaz de usuario y lo hacen en función de las props que reciben. Por el contrario, los contenedores componentes están conectados a Redux. Estos son típicamente responsables de enviar acciones al store y a menudo pasan el estado del store a componentes secundarios como props. +En la última lección, el componente que conectaste a Redux se llamó `Presentational`, y esto no fue arbitrario. Este término *generalmente* se refiere a componentes React que no están directamente conectados a Redux. Ellos simplemente son responsables de la presentación de la interfaz de usuario y lo hacen en función de las props que reciben. Por el contrario, los componentes contenedores están conectados a Redux. Estos son típicamente responsables de enviar acciones al store (almacén) y a menudo pasan el estado del store a componentes secundarios como props. # --instructions-- diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react-and-redux/extract-local-state-into-redux.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react-and-redux/extract-local-state-into-redux.md index 33acd012b5..0975438e45 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/react-and-redux/extract-local-state-into-redux.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react-and-redux/extract-local-state-into-redux.md @@ -18,7 +18,7 @@ Una vez realizados estos cambios, la aplicación seguirá funcionando igual, sal # --hints-- -`AppWrapper` debe renderizarse. +El `AppWrapper` debe renderizarse. ```js assert( @@ -40,7 +40,7 @@ assert( ); ``` -El componente `Presentational` debe renderizar los siguientes elementos: `h2`, `input`, `button` y `ul`. +El componente `Presentational` debe renderizar los siguientes elementos: un `h2`, `input`, `button`, y `ul`. ```js assert( @@ -57,7 +57,7 @@ assert( ); ``` -El componente `Presentational` debe recibir `messages` desde el almacenamiento de Redux como una propiedad. +El componente `Presentational` debe recibir `messages` desde el store Redux como una prop. ```js assert( @@ -70,7 +70,7 @@ assert( ); ``` -El componente `Presentational` debe recibir `submitMessage` como una propiedad. +El componente `Presentational` debe recibir la acción `submitMessage` como una prop. ```js assert( diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/add-event-listeners.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/add-event-listeners.md index cf816bf8c6..26939ac272 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/add-event-listeners.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/add-event-listeners.md @@ -1,6 +1,6 @@ --- id: 5a24c314108439a4d403617e -title: Agrega detector de eventos (Event Listeners) +title: Agrega detectores de eventos (Event Listeners) challengeType: 6 forumTopicId: 301377 dashedName: add-event-listeners diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/add-inline-styles-in-react.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/add-inline-styles-in-react.md index f1c81f2fca..20a771482d 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/add-inline-styles-in-react.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/add-inline-styles-in-react.md @@ -8,7 +8,7 @@ dashedName: add-inline-styles-in-react # --description-- -Es posible que hayas notado en el último desafío que había otras diferencias de sintaxis con respecto a los "inline styles" de HTML, además del atributo `style` establecido en un objeto de JavaScript. En primer lugar, los nombres de ciertas propiedades de estilo CSS utilizan camel case. Por ejemplo, el último desafío establece el tamaño de la fuente con `fontSize` en lugar de `font-size`. Palabras que incluyen guion como `font-size` son sintaxis inválidas para propiedades de objetos de JavaScript, por lo que React utiliza camel case. Como regla, cualquier propiedad de estilo que usa guion se escribe usando camel case en JSX. +Es posible que hayas notado en el último desafío que había otras diferencias de sintaxis con respecto a los "inline styles" (estilos en línea) de HTML, además del atributo `style` establecido en un objeto de JavaScript. En primer lugar, los nombres de ciertas propiedades de estilo CSS utilizan camel case. Por ejemplo, el último desafío establece el tamaño de la fuente con `fontSize` en lugar de `font-size`. Palabras que incluyen guion como `font-size` son sintaxis inválidas para propiedades de objetos de JavaScript, por lo que React utiliza camel case. Como regla, cualquier propiedad de estilo que usa guion se escribe usando camel case en JSX. Todas las unidades de longitud del valor de la propiedad (como `height`, `width`, y `fontSize`) se supone que están en `px` a menos que se especifique lo contrario. Si quieres utilizar `em`, por ejemplo, debes envolver el valor y las unidades entre comillas, como `{fontSize: "4em"}`. Aparte de los valores de longitud que por defecto son `px`, todos los demás valores de las propiedades deben estar envueltos entre comillas. diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/change-inline-css-conditionally-based-on-component-state.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/change-inline-css-conditionally-based-on-component-state.md index 9029807fb3..dba12dd2ca 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/change-inline-css-conditionally-based-on-component-state.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/change-inline-css-conditionally-based-on-component-state.md @@ -10,7 +10,7 @@ dashedName: change-inline-css-conditionally-based-on-component-state Hasta ahora has visto varias aplicaciones de renderizado condicional y el uso de inline styles. Aquí va un ejemplo más que combina los dos temas. También puedes renderizar CSS condicionalmente según el estado de un componente de React. Para hacer esto, tienes que verificar una condición, y si esa condición se cumple, modificas el objeto de estilos que está asignado a los elementos JSX del método render. -Este paradigma es importante entenderlo porque es un cambio dramático del enfoque más tradicional de aplicar estilos modificando elementos del DOM directamente (muy común con jQuery, por ejemplo). Con ese enfoque, debes hacer un seguimiento de cuándo cambian los elementos y también hacer una manipulación real directa. Puede resultar difícil hacer un seguimiento de los cambios, lo que podría hacer que tu interfaz de usuario sea impredecible. Cuando configuras un objeto de estilo en función de una condición, estás describiendo cómo debería verse la interfaz de usuario en función del estado de la aplicación. Existe un flujo claro de información que sólo se mueve en una dirección. Este es el método preferido para escribir aplicaciones con React. +Este paradigma es importante entenderlo porque es un cambio dramático del enfoque más tradicional de aplicar estilos modificando elementos del DOM directamente (muy común con jQuery, por ejemplo). Con ese enfoque, debes hacer un seguimiento de cuándo cambian los elementos y también manejar directamente la manipulación. Puede resultar difícil hacer un seguimiento de los cambios, lo que podría hacer que tu interfaz de usuario sea impredecible. Cuando configuras un objeto de estilo en función de una condición, estás describiendo cómo debería verse la interfaz de usuario en función del estado de la aplicación. Existe un flujo claro de información que sólo se mueve en una dirección. Este es el método preferido para escribir aplicaciones con React. # --instructions-- diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/compose-react-components.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/compose-react-components.md index b7389189cc..1a0b31f41b 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/compose-react-components.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/compose-react-components.md @@ -14,7 +14,7 @@ A medida que los desafíos continúan utilizando composiciones más complejas co En el editor de código, el componente `TypesOfFood` ya está incluyendo (renderizando) un componente llamado `Vegetables`. Además, también está el componente `Fruits` del último desafío. -Anida dos componentes dentro de `Fruits` - primero `NonCitrus` y luego `Citrus`. Ambos componentes se te proporcionan en segundo plano. A continuación, anida el componente de clase `Fruits` en el componente `TypesOfFood`, debajo del encabezado (header) `h1` y encima de `Vegetables`. El resultado debe ser una serie de componentes anidados, que utiliza dos tipos de componentes diferentes. +Anida dos componentes dentro de `Fruits`: primero `NonCitrus` y luego `Citrus`. Ambos componentes se te proporcionan en segundo plano. A continuación, anida el componente de clase `Fruits` en el componente `TypesOfFood`, debajo del encabezado (header) `h1` y encima de `Vegetables`. El resultado debe ser una serie de componentes anidados, que utiliza dos tipos de componentes diferentes. # --hints-- diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-complex-jsx-element.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-complex-jsx-element.md index 55653ae2e8..f6df3175af 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-complex-jsx-element.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-complex-jsx-element.md @@ -42,7 +42,7 @@ Define una nueva constante `JSX` que renderice un `div` que contenga los siguien Un `h1`, un `p` y una lista desordenada que contiene tres elementos `li`. Puedes incluir cualquier texto que desees dentro de cada elemento. -**Nota: **Al renderizar varios elementos de esta forma, puedes envolverlos todos entre paréntesis, pero no es estrictamente necesario. Observa también que este desafío usa una etiqueta `div` para envolver a todos los elementos hijos dentro de un solo elemento principal. Si eliminas el `div`, JSX ya no se podrá transpilar. Ten esto en cuenta, ya que también será así cuando devuelvas elementos JSX en los componentes de React. +**Nota: ** Al renderizar varios elementos de esta forma, puedes envolverlos todos entre paréntesis, pero no es estrictamente necesario. Observa también que este desafío usa una etiqueta `div` para envolver a todos los elementos hijos dentro de un solo elemento principal. Si eliminas el `div`, JSX ya no se podrá transpilar. Ten esto en cuenta, ya que también será así cuando devuelvas elementos JSX en los componentes de React. # --hints-- diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-controlled-form.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-controlled-form.md index bdea284f21..477d2a6e0d 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-controlled-form.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-controlled-form.md @@ -22,7 +22,7 @@ Por último, crea una etiqueta `h1` después del `form` que renderiza el valor d # --hints-- -`MyForm` debe retornar un elemento `div` que contiene un `form` y una etiqueta `h1`. El formulario debe incluir un `input` y un `button`. +`MyForm` debe devolver un elemento `div` que contiene un `form` y una etiqueta `h1`. El formulario debe incluir un `input` y un `button`. ```js assert( diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-react-component.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-react-component.md index b5867d7178..c4120466ba 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-react-component.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-react-component.md @@ -38,7 +38,7 @@ El componente React debe devolver un único elemento `div`. assert(Enzyme.shallow(React.createElement(MyComponent)).type() === 'div'); ``` -El `div` retornado debe renderizar un encabezado `h1` dentro de él. +El `div` devuelto debe renderizar un encabezado `h1` dentro de él. ```js assert( diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-stateless-functional-component.md b/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-stateless-functional-component.md index 0fc9f3d477..bf3dcfb994 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-stateless-functional-component.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/react/create-a-stateless-functional-component.md @@ -1,6 +1,6 @@ --- id: 5a24c314108439a4d4036162 -title: Crear un componente funcional sin estado +title: Crea un componente funcional sin estado challengeType: 6 forumTopicId: 301392 dashedName: create-a-stateless-functional-component @@ -34,7 +34,7 @@ El editor de código tiene una función llamada `MyComponent`. Completa esta fun # --hints-- -`MyComponent` debe retornar JSX. +`MyComponent` debe devolver JSX. ```js assert( diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/redux/copy-an-object-with-object.assign.md b/curriculum/challenges/espanol/03-front-end-development-libraries/redux/copy-an-object-with-object.assign.md index 28c1d22359..982eee7859 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/redux/copy-an-object-with-object.assign.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/redux/copy-an-object-with-object.assign.md @@ -8,7 +8,7 @@ dashedName: copy-an-object-with-object-assign # --description-- -Los últimos desafíos trabajaron con arreglos, pero hay maneras de ayudar a reforzar la inmutabilidad del estado cuando el estado es también un `object`. Una herramienta útil para el manejo de objetos es la utilidad `Object.assign()`. `Object.assign()` toma un objeto de destino y objetos de origen y asigna propiedades de los objetos de origen al objeto de destino. Las propiedades que coinciden se sobrescriben con las propiedades de los objetos de origen. Este comportamiento se utiliza comúnmente para hacer copias superficiales de objetos pasando un objeto vacío como primer argumento seguido por el/los objeto(s) que se desea(n) copiar. Aquí hay un ejemplo: +Los últimos desafíos trabajaron con arreglos, pero hay maneras de ayudar a reforzar la inmutabilidad del estado cuando el estado es también un `object`. Una herramienta útil para el manejo de objetos es la utilidad `Object.assign()`. `Object.assign()` toma un objeto de destino y objetos de origen y asigna propiedades de los objetos de origen al objeto de destino. Las propiedades que coinciden se sobrescriben con las propiedades de los objetos de origen. Este comportamiento se utiliza comúnmente para hacer copias superficiales de objetos pasando un objeto vacío como primer argumento seguido por el/los objeto(s) que se desea(n) copiar. A continuación un ejemplo: ```js const newObject = Object.assign({}, obj1, obj2); diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/redux/create-a-redux-store.md b/curriculum/challenges/espanol/03-front-end-development-libraries/redux/create-a-redux-store.md index f5dda0295d..43fcc0276d 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/redux/create-a-redux-store.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/redux/create-a-redux-store.md @@ -16,7 +16,7 @@ Esto también significa que cada vez que cualquier pieza de tu aplicación quier # --instructions-- -El `store` de Redux es un objeto que guarda y gestiona el `state` de la aplicación. Hay un método llamado `createStore()` en el objeto Redux, que se utiliza para crear el `store` Redux. Este método toma una función `reducer` como argumento obligatorio. La función `reducer` se trata en un desafío posterior, y ya está definida para ti en el editor de código. Simplemente toma `state` como argumento y devuelve `state`. +El `store` (almacén) de Redux es un objeto que guarda y gestiona el `state` (estado) de la aplicación. Hay un método llamado `createStore()` en el objeto Redux, que se utiliza para crear el `store` Redux. Este método toma una función `reducer` como argumento obligatorio. La función `reducer` se trata en un desafío posterior, y ya está definida para ti en el editor de código. Simplemente toma `state` como argumento y devuelve `state`. Declara una variable `store` y asígnala al método `createStore()`, pasando el `reducer` como argumento. diff --git a/curriculum/challenges/espanol/03-front-end-development-libraries/redux/use-middleware-to-handle-asynchronous-actions.md b/curriculum/challenges/espanol/03-front-end-development-libraries/redux/use-middleware-to-handle-asynchronous-actions.md index 139a8af7d9..a8de796e80 100644 --- a/curriculum/challenges/espanol/03-front-end-development-libraries/redux/use-middleware-to-handle-asynchronous-actions.md +++ b/curriculum/challenges/espanol/03-front-end-development-libraries/redux/use-middleware-to-handle-asynchronous-actions.md @@ -18,7 +18,7 @@ Recuerda que estás pasando `dispatch` como parámetro a este creador de accione # --instructions-- -Escribe ambos envíos en el creador de acción `handleAsync()`. Envía `requestingData()` antes del `setTimeout()` (la llamada a la API simulada). A continuación, después de recibir los datos (fingidos), envía la acción `receivedData()`, pasando estos datos. Ahora ya sabes cómo manejar las acciones asíncronas en Redux. Todo lo demás sigue comportándose como antes. +Escribe ambos envíos en el creador de acción `handleAsync()`. Envía `requestingData()` antes del `setTimeout()` (la llamada al API simulada). A continuación, después de recibir los datos (fingidos), envía la acción `receivedData()`, pasando estos datos. Ahora ya sabes cómo manejar las acciones asíncronas en Redux. Todo lo demás sigue comportándose como antes. # --hints-- diff --git a/curriculum/challenges/italian/10-coding-interview-prep/algorithms/implement-insertion-sort.md b/curriculum/challenges/italian/10-coding-interview-prep/algorithms/implement-insertion-sort.md index d6e356f3b4..a562dba99f 100644 --- a/curriculum/challenges/italian/10-coding-interview-prep/algorithms/implement-insertion-sort.md +++ b/curriculum/challenges/italian/10-coding-interview-prep/algorithms/implement-insertion-sort.md @@ -75,6 +75,12 @@ assert.sameMembers( ); ``` +`insertionSort([5, 4, 33, 2, 8])` dovrebbe restituire `[2, 4, 5, 8, 33]`. + +```js +assert.deepEqual(insertionSort([5, 4, 33, 2, 8]), [2, 4, 5, 8, 33]) +``` + `insertionSort` non deve usare il metodo integrato `.sort()`. ```js diff --git a/curriculum/challenges/italian/10-coding-interview-prep/data-structures/create-a-map-data-structure.md b/curriculum/challenges/italian/10-coding-interview-prep/data-structures/create-a-map-data-structure.md index 0c32270e72..7901131133 100644 --- a/curriculum/challenges/italian/10-coding-interview-prep/data-structures/create-a-map-data-structure.md +++ b/curriculum/challenges/italian/10-coding-interview-prep/data-structures/create-a-map-data-structure.md @@ -1,6 +1,6 @@ --- id: 8d5823c8c441eddfaeb5bdef -title: Create a Map Data Structure +title: Crea una struttura dati Mappa challengeType: 1 forumTopicId: 301629 dashedName: create-a-map-data-structure @@ -8,25 +8,25 @@ dashedName: create-a-map-data-structure # --description-- -The next few challenges will cover maps and hash tables. Maps are data structures that store key-value pairs. In JavaScript, these are available to us as objects. Maps provide rapid lookup of stored items based on key values and are very common and useful data structures. +Le prossime sfide riguarderanno mappe e tabelle di hash. Le mappe sono strutture dati che memorizzano coppie chiave-valore. In JavaScript, questi sono disponibili per noi come oggetti. Le mappe forniscono una rapida ricerca degli elementi memorizzati in base ai valori delle chiavi (key) e sono strutture di dati molto comuni e utili. # --instructions-- -Let's get some practice creating our own map. Because JavaScript objects provide a much more efficient map structure than anything we could write here, this is intended primarily as a learning exercise. However, JavaScript objects only provide us with certain operations. What if we wanted to define custom operations? Use the `Map` object provided here as a wrapper around a JavaScript `object`. Create the following methods and operations on the Map object: +Facciamo un po' di pratica nel creare la nostra mappa. Poiché gli oggetti JavaScript forniscono una struttura di mappa molto più efficiente di qualsiasi cosa potremmo scrivere qui, questo è inteso principalmente come un esercizio di apprendimento. Tuttavia, gli oggetti JavaScript ci forniscono solo determinate operazioni. E se volessimo definire operazioni personalizzate? Utilizzare l'oggetto `Map` fornito qui come un wrapper intorno a un `object` di JavaScript. Creare i seguenti metodi e operazioni sull'oggetto mappa: # --hints-- -The Map data structure should exist. +La struttura di dati Mappa dovrebbe esistere. ```js assert( @@ -40,7 +40,7 @@ assert( ); ``` -The Map object should have the following methods: add, remove, get, has, values, clear, and size. +L'oggetto Map dovrebbe avere i seguenti metodi: add, remove, get, has, values, clear e size. ```js assert( @@ -62,7 +62,7 @@ assert( ); ``` -The add method should add items to the map. +Il metodo add dovrebbe aggiungere oggetti alla mappa. ```js assert( @@ -79,7 +79,7 @@ assert( ); ``` -The has method should return true for added items and false for absent items. +Il metodo has dovrebbe restituire true per elementi esistenti e false per oggetti non esistenti. ```js assert( @@ -94,7 +94,7 @@ assert( ); ``` -The get method should accept keys as input and should return the associated values. +Il metodo get dovrebbe accettare delle chiavi come input e dovrebbe restituire i valori associati. ```js assert( @@ -109,7 +109,7 @@ assert( ); ``` -The values method should return all the values stored in the map as strings in an array. +Il metodo values dovrebbe restituire tutti i valori immagazzinati nella mappa come stringhe in un array. ```js assert( @@ -131,7 +131,7 @@ assert( ); ``` -The clear method should empty the map and the size method should return the number of items present in the map. +Il metodo clear dovrebbe svuotare la mappa e il metodo size dovrebbe restituire il numeri di oggetti presenti nella mappa. ```js assert( diff --git a/curriculum/challenges/italian/10-coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data.md b/curriculum/challenges/italian/10-coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data.md index ea0caa1b3e..e4336b1c3f 100644 --- a/curriculum/challenges/italian/10-coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data.md +++ b/curriculum/challenges/italian/10-coding-interview-prep/data-structures/perform-a-subset-check-on-two-sets-of-data.md @@ -1,6 +1,6 @@ --- id: 587d8254367417b2b2512c6f -title: Perform a Subset Check on Two Sets of Data +title: Eseguire un controllo di sottoinsieme su due insiemi di dati challengeType: 1 forumTopicId: 301707 dashedName: perform-a-subset-check-on-two-sets-of-data @@ -8,13 +8,13 @@ dashedName: perform-a-subset-check-on-two-sets-of-data # --description-- -In this exercise, we are going to perform a subset test on 2 sets of data. We will create a method on our `Set` data structure called `isSubsetOf`. This will compare the first set against the second, and if the first set is fully contained within the second, it will return `true`. +In questo esercizio, eseguiremo un test subset su 2 set di dati. Creeremo un metodo sulla nostra struttura di dati `Set` chiamato `isSubsetOf`. Questo confronterà il primo set con il secondo, e se il primo set è pienamente contenuto nel secondo, restituirà `true`. -For example, if `setA = ['a','b']` and `setB = ['a','b','c','d']`, then `setA` is a subset of `setB`, so `setA.isSubsetOf(setB)` should return `true`. +Per esempio, se `setA = ['a','b']` e `setB = ['a','b','c','d']`, allora `setA` è un subset di `setB`, quindi `setA.isSubsetOf(setB)` dovrebbe restituire `true`. # --hints-- -Your `Set` class should have a `isSubsetOf` method. +La tua classe `Set` dovrebbe avere un metodo `isSubsetOf`. ```js assert( @@ -25,7 +25,7 @@ assert( ); ``` -The first Set() should be contained in the second Set +Il primo Set() dovrebbe essere contenuto nel secondo Set ```js assert( @@ -43,7 +43,7 @@ assert( ); ``` -`['a', 'b'].isSubsetOf(['a', 'b', 'c', 'd'])` should return `true` +`['a', 'b'].isSubsetOf(['a', 'b', 'c', 'd'])` dovrebbe restituire `true` ```js assert( @@ -62,7 +62,7 @@ assert( ); ``` -`['a', 'b', 'c'].isSubsetOf(['a', 'b'])` should return `false` +`['a', 'b', 'c'].isSubsetOf(['a', 'b'])` dovrebbe restituire `false` ```js assert( @@ -80,7 +80,7 @@ assert( ); ``` -`[].isSubsetOf([])` should return `true` +`[].isSubsetOf([])` dovrebbe restituire `true` ```js assert( @@ -93,7 +93,7 @@ assert( ); ``` -`['a', 'b'].isSubsetOf(['c', 'd'])` should return `false` +`['a', 'b'].isSubsetOf(['c', 'd'])` dovrebbe restituire `false` ```js assert( diff --git a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/prevent-object-mutation.md b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/prevent-object-mutation.md index 4f55ce8658..e83d155541 100644 --- a/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/prevent-object-mutation.md +++ b/curriculum/challenges/portuguese/02-javascript-algorithms-and-data-structures/es6/prevent-object-mutation.md @@ -10,7 +10,7 @@ dashedName: prevent-object-mutation Como visto no desafio anterior, a declaração `const` sozinha, na verdade, não protege a mutação de seus dados. Para garantir que seus dados não mudem, o JavaScript fornece a função `Object.freeze` que previne os dados de serem modificados. -Ao congelar o objeto, você não pode mais adicionar, atualizar ou deletar as propriedades dele. Qualquer tentativa de mudar o objeto será rejeitada. Observe que nenhum erro é lançado. +Qualquer tentativa de alterar o objeto será rejeitada, com um erro sendo lançado se o script estiver executando em modo estrito. ```js let obj = { @@ -23,7 +23,7 @@ obj.newProp = "Test"; console.log(obj); ``` -As atribuições `obj.review` e `obj.newProp` não vão funcionar e o console vai exibir o valor `{ name: "FreeCodeCamp", review: "Awesome" }`. +As atribuições `obj.review` e `obj.newProp` vão resultar em erros, pois nosso editor executa em modo estrito por padrão. O console vai exibir o valor `{ name: "FreeCodeCamp", review: "Awesome" }`. # --instructions-- diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-111-primes-with-runs.md b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-111-primes-with-runs.md index a6a9958de7..45171ca340 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-111-primes-with-runs.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-111-primes-with-runs.md @@ -1,6 +1,6 @@ --- id: 5900f3db1000cf542c50feee -title: 'Problem 111: Primes with runs' +title: 'Problema 111: Primos com execuções' challengeType: 5 forumTopicId: 301736 dashedName: problem-111-primes-with-runs @@ -8,34 +8,34 @@ dashedName: problem-111-primes-with-runs # --description-- -Considering 4-digit primes containing repeated digits it is clear that they cannot all be the same: 1111 is divisible by 11, 2222 is divisible by 22, and so on. But there are nine 4-digit primes containing three ones: +Considerando primos de 4 algarismos contendo dígitos repetidos, é claro que eles não podem ser todos iguais: 1111 é divisível por 11, 2222 é divisível por 22, e assim por diante. Mas há nove primos de 4 algarismos que contêm três números 1: $$1117, 1151, 1171, 1181, 1511, 1811, 2111, 4111, 8111$$ -We shall say that $M(n, d)$ represents the maximum number of repeated digits for an n-digit prime where d is the repeated digit, $N(n, d)$ represents the number of such primes, and $S(n, d)$ represents the sum of these primes. +Vamos dizer que $M(n, d)$ representa o número máximo de dígitos repetidos para um primo de n algarismos, onde d é o dígito repetido, $N(n, d)$ representa quantos desses primos existem, e $S(n, d)$ representa a soma desses primos. -So $M(4, 1) = 3$ is the maximum number of repeated digits for a 4-digit prime where one is the repeated digit, there are $N(4, 1) = 9$ such primes, and the sum of these primes is $S(4, 1) = 22275$. It turns out that for d = 0, it is only possible to have $M(4, 0) = 2$ repeated digits, but there are $N(4, 0) = 13$ such cases. +Então $M(4, 1) = 3$ é o número máximo de dígitos repetidos para um primo de 4 algarismos, onde 1 é o dígito repetido, há $N(4, 1) = 9$ primos desses, e a soma desses primos é $S(4, 1) = 22275$. Acontece que, para d = 0, só é possível ter $M(4, 0) = 2$ dígitos repetidos, mas há $N(4, 0) = 13$ desses casos. -In the same way we obtain the following results for 4-digit primes. +Da mesma forma, obtemos os seguintes resultados para primos de 4 algarismos. -| Digit, d | $M(4, d)$ | $N(4, d)$ | $S(4, d)$ | -| -------- | --------- | --------- | --------- | -| 0 | 2 | 13 | 67061 | -| 1 | 3 | 9 | 22275 | -| 2 | 3 | 1 | 2221 | -| 3 | 3 | 12 | 46214 | -| 4 | 3 | 2 | 8888 | -| 5 | 3 | 1 | 5557 | -| 6 | 3 | 1 | 6661 | -| 7 | 3 | 9 | 57863 | -| 8 | 3 | 1 | 8887 | -| 9 | 3 | 7 | 48073 | +| Dígito, d | $M(4, d)$ | $N(4, d)$ | $S(4, d)$ | +| --------- | --------- | --------- | --------- | +| 0 | 2 | 13 | 67061 | +| 1 | 3 | 9 | 22275 | +| 2 | 3 | 1 | 2221 | +| 3 | 3 | 12 | 46214 | +| 4 | 3 | 2 | 8888 | +| 5 | 3 | 1 | 5557 | +| 6 | 3 | 1 | 6661 | +| 7 | 3 | 9 | 57863 | +| 8 | 3 | 1 | 8887 | +| 9 | 3 | 7 | 48073 | -For d = 0 to 9, the sum of all $S(4, d)$ is 273700. Find the sum of all $S(10, d)$. +Para d = 0 até 9, a soma de todos $S(4, d)$ é 273700. Calcule a soma de todos os $S(10, d)$. # --hints-- -`primesWithRuns()` should return `612407567715`. +`primesWithRuns()` deve retornar `612407567715`. ```js assert.strictEqual(primesWithRuns(), 612407567715); diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-112-bouncy-numbers.md b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-112-bouncy-numbers.md index d2b8f07198..a643e96aab 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-112-bouncy-numbers.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-112-bouncy-numbers.md @@ -1,6 +1,6 @@ --- id: 5900f3dd1000cf542c50feef -title: 'Problem 112: Bouncy numbers' +title: 'Problema 112: Números saltitantes' challengeType: 5 forumTopicId: 301738 dashedName: problem-112-bouncy-numbers @@ -8,21 +8,21 @@ dashedName: problem-112-bouncy-numbers # --description-- -Working from left-to-right if no digit is exceeded by the digit to its left it is called an increasing number; for example, 134468. +Trabalhando da esquerda para a direita, se nenhum algarismo for excedido pelo algarismo à sua esquerda, chamamos isso de um número crescente; por exemplo, 134468. -Similarly if no digit is exceeded by the digit to its right it is called a decreasing number; for example, 66420. +De igual modo, se nenhum algarismo for excedido pelo algarismo à sua direita, chamamos de número decrescente; por exemplo, 66420. -We shall call a positive integer that is neither increasing nor decreasing a "bouncy" number; for example, 155349. +Vamos chamar um inteiro positivo que não aumenta nem diminui de número "saltitante"; por exemplo, 155349. -Clearly there cannot be any bouncy numbers below one-hundred, but just over half of the numbers below one-thousand (525) are bouncy. In fact, the least number for which the proportion of bouncy numbers first reaches 50% is 538. +Claramente, não pode haver números saltitantes abaixo de cem, mas apenas pouco mais da metade dos números abaixo de mil (525) são saltitantes. Na verdade, o menor número para o qual a proporção de números saltitantes atinge primeiro os 50% é 538. -Surprisingly, bouncy numbers become more and more common and by the time we reach 21780 the proportion of bouncy numbers is equal to 90%. +Surpreendentemente, os números saltitantes tornam-se cada vez mais comuns e, quando atingimos 21780, a proporção de números saltitantes equivalerá a 90%. -Find the least number for which the proportion of bouncy numbers is exactly 99%. +Encontre o número mínimo para o qual a proporção de números saltitantes é exatamente 99%. # --hints-- -`bouncyNumbers()` should return `1587000`. +`bouncyNumbers()` deve retornar `1587000`. ```js assert.strictEqual(bouncyNumbers(), 1587000); diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-113-non-bouncy-numbers.md b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-113-non-bouncy-numbers.md index a06f41a9a5..b8293d1199 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-113-non-bouncy-numbers.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-113-non-bouncy-numbers.md @@ -1,6 +1,6 @@ --- id: 5900f3dd1000cf542c50fef0 -title: 'Problem 113: Non-bouncy numbers' +title: 'Problema 113: Números não saltitantes' challengeType: 5 forumTopicId: 301739 dashedName: problem-113-non-bouncy-numbers @@ -8,19 +8,19 @@ dashedName: problem-113-non-bouncy-numbers # --description-- -Working from left-to-right if no digit is exceeded by the digit to its left it is called an increasing number; for example, 134468. +Trabalhando da esquerda para a direita, se nenhum dígito for excedido pelo dígito à sua esquerda, é chamado de número crescente. Por exemplo, 134468. -Similarly if no digit is exceeded by the digit to its right it is called a decreasing number; for example, 66420. +Da mesma forma, se nenhum dígito for excedido pelo dígito à sua direita, é chamado de número decrescente. Por exemplo, 66420. -We shall call a positive integer that is neither increasing nor decreasing a "bouncy" number; for example, 155349. +Chamaremos um número inteiro positivo que não aumenta nem diminui um número "saltitante"; por exemplo, 155349. -As n increases, the proportion of bouncy numbers below n increases such that there are only 12951 numbers below one-million that are not bouncy and only 277032 non-bouncy numbers below ${10}^{10}$. +À medida que n aumenta, a proporção de números saltitantes abaixo de n aumenta de tal forma que há apenas 12951 números abaixo de um milhão que não são saltitantes, e apenas 277032 números não saltitantes abaixo de ${10}^{10}$. -How many numbers below a googol (${10}^{100}$) are not bouncy? +Quantos números abaixo de um googol (${10}^{100}$) não são saltitantes? # --hints-- -`nonBouncyNumbers()` should return `51161058134250`. +`nonBouncyNumbers()` deve retornar `51161058134250`. ```js assert.strictEqual(nonBouncyNumbers(), 51161058134250); diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-114-counting-block-combinations-i.md b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-114-counting-block-combinations-i.md index c6690bddf5..72f7f23d3a 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-114-counting-block-combinations-i.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-114-counting-block-combinations-i.md @@ -1,6 +1,6 @@ --- id: 5900f3e01000cf542c50fef2 -title: 'Problem 114: Counting block combinations I' +title: 'Problema 114: Contando combinações de blocos I' challengeType: 5 forumTopicId: 301740 dashedName: problem-114-counting-block-combinations-i @@ -8,17 +8,17 @@ dashedName: problem-114-counting-block-combinations-i # --description-- -A row measuring seven units in length has red blocks with a minimum length of three units placed on it, such that any two red blocks (which are allowed to be different lengths) are separated by at least one black square. There are exactly seventeen ways of doing this. +Uma linha de sete unidades de comprimento tem blocos vermelhos com um comprimento mínimo de três unidades colocados nela, de tal forma que dois blocos vermelhos (que podem ter comprimentos diferentes) são separados por pelo menos um quadrado preto. Há exatamente dezessete maneiras de se fazer isso. -Possible ways of placing block with a minimum length of three units, on a row with length of seven units +Formas possíveis de se colocar um bloco, com um comprimento mínimo de três unidades, em uma fileira com comprimento de sete unidades -How many ways can a row measuring fifty units in length be filled? +De quantas maneiras uma fileira de cinquenta unidades de comprimento pode ser preenchida? -**Note:** Although the example above does not lend itself to the possibility, in general it is permitted to mix block sizes. For example, on a row measuring eight units in length you could use red (3), black (1), and red (4). +**Observação:** embora o exemplo acima não se preste a essa possibilidade, em geral é permitido misturar tamanhos de bloco. Por exemplo, em uma fileira com oito unidades de comprimento, você poderia usar vermelho (3), preto (1), e vermelho (4). # --hints-- -`countingBlockOne()` should return `16475640049`. +`countingBlockOne()` deve retornar `16475640049`. ```js assert.strictEqual(countingBlockOne(), 16475640049); diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-115-counting-block-combinations-ii.md b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-115-counting-block-combinations-ii.md index 1e65da5610..570b5fc28f 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-115-counting-block-combinations-ii.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-115-counting-block-combinations-ii.md @@ -1,6 +1,6 @@ --- id: 5900f3df1000cf542c50fef1 -title: 'Problem 115: Counting block combinations II' +title: 'Problema 115: Contando combinações de blocos II' challengeType: 5 forumTopicId: 301741 dashedName: problem-115-counting-block-combinations-ii @@ -8,23 +8,23 @@ dashedName: problem-115-counting-block-combinations-ii # --description-- -A row measuring `n` units in length has red blocks with a minimum length of `m` units placed on it, such that any two red blocks (which are allowed to be different lengths) are separated by at least one black square. +Uma linha medindo `n` unidades de comprimento tem blocos vermelhos com um comprimento mínimo de `m` unidades colocadas nele, de tal forma que dois blocos vermelhos (que podem ter comprimentos diferentes) são separados por pelo menos um quadrado preto. -Let the fill-count function, $F(m, n)$, represent the number of ways that a row can be filled. +Deixe a função de preenchimento, $F(m, n)$, representar o número de formas que uma fila pode ser preenchida. -For example, $F(3, 29) = 673135$ and $F(3, 30) = 1089155$. +Por exemplo, $F(3, 29) = 673135$ e $F(3, 30) = 1089155$. -That is, for m = 3, it can be seen that n = 30 is the smallest value for which the fill-count function first exceeds one million. +Ou seja, para m = 3, pode ser visto que n = 30 é o menor valor para o qual a função de contagem de preenchimento excede primeiro um milhão. -In the same way, for m = 10, it can be verified that $F(10, 56) = 880711$ and $F(10, 57) = 1148904$, so n = 57 is the least value for which the fill-count function first exceeds one million. +Da mesma maneira, para m = 10, pode ser verificado que $F(10, 56) = 880711$ e $F(10, 57) = 1148904$, então n = 57 é o menor valor para o qual a função de contagem de preenchimento excede primeiro um milhão. -For m = 50, find the least value of `n` for which the fill-count function first exceeds one million. +Para m = 50, encontre o menor valor de `n` para o qual a função de contagem de preenchimento excede primeiro um milhão. -**Note:** This is a more difficult version of Problem 114. +**Observação:** esta é uma versão mais difícil do Problema 114. # --hints-- -`countingBlockTwo()` should return `168`. +`countingBlockTwo()` deve retornar `168`. ```js assert.strictEqual(countingBlockTwo(), 168); diff --git a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-116-red-green-or-blue-tiles.md b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-116-red-green-or-blue-tiles.md index a88bc07a34..ff404ac1ed 100644 --- a/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-116-red-green-or-blue-tiles.md +++ b/curriculum/challenges/portuguese/10-coding-interview-prep/project-euler/problem-116-red-green-or-blue-tiles.md @@ -1,6 +1,6 @@ --- id: 5900f3e01000cf542c50fef3 -title: 'Problem 116: Red, green or blue tiles' +title: 'Problema 116: Azulejos vermelhos, verdes ou azuis' challengeType: 5 forumTopicId: 301742 dashedName: problem-116-red-green-or-blue-tiles @@ -8,27 +8,27 @@ dashedName: problem-116-red-green-or-blue-tiles # --description-- -A row of five black square tiles is to have a number of its tiles replaced with coloured oblong tiles chosen from red (length two), green (length three), or blue (length four). +Uma fileira de cinco azulejos quadrados pretos deve ser substituída por azulejos oblongos coloridos, escolhidos entre vermelho (comprimento dois), verde (comprimento três), ou azul (comprimento quatro). -If red tiles are chosen there are exactly seven ways this can be done. +Se forem escolhidos os azulejos vermelhos, haverá exatamente sete maneiras de fazer isso. -Possible ways to placing red oblong on a row with length of five units +Formas possíveis de colocar um oblongo vermelho em uma linha com comprimento de cinco unidades -If green tiles are chosen there are three ways. +Se escolhermos os blocos verdes, há três maneiras de fazer isso. -Possible ways of placing green oblong on a row with length of five units +Formas possíveis de colocar um oblongo verde em uma linha com comprimento de cinco unidades -And if blue tiles are chosen there are two ways. +E se os blocos azuis forem escolhidos, há duas maneiras de fazer isso. -Possible ways of placing blue oblong on a row with length of five units +Formas possíveis de colocar um oblongo azul em uma linha com comprimento de cinco unidades -Assuming that colors cannot be mixed there are 7 + 3 + 2 = 12 ways of replacing the black tiles in a row measuring five units in length. How many different ways can the black tiles in a row measuring fifty units in length be replaced if colors cannot be mixed and at least one colored tile must be used? +Assumindo que as cores não podem ser misturadas, há 7 + 3 + 2 = 12 maneiras de substituir os blocos pretos em sequência, medindo cinco unidades de comprimento. De quantas maneiras diferentes os azulejos pretos em uma fileira medindo cinquenta unidades de comprimento podem ser substituídos, se as cores não podem ser misturadas e pelo menos um azulejo colorido deve ser usado? -**Note:** This is related to Problem 117. +**Observação:** este problema está relacionado ao Problema 117. # --hints-- -`redGreenBlueOne()` should return `20492570929`. +`redGreenBlueOne()` deve retornar `20492570929`. ```js assert.strictEqual(redGreenBlueOne(), 20492570929);