From 7478f7ded6b6ab13d0488ea3ff65e359b6c0af21 Mon Sep 17 00:00:00 2001 From: camperbot Date: Wed, 9 Oct 2024 14:13:28 +0000 Subject: [PATCH] chore(i18n,learn): processed translations --- ...end-development-and-apis-certification.yml | 12 +- ...ata-analysis-with-python-certification.yml | 13 +- .../data-visualization-certification.yml | 13 +- ...nd-development-libraries-certification.yml | 12 +- .../information-security-certification.yml | 13 +- ...thms-and-data-structures-certification.yml | 13 +- .../legacy-back-end-certification.yml | 23 +- ...egacy-data-visualization-certification.yml | 23 +- .../legacy-front-end-certification.yml | 23 +- .../legacy-full-stack-certification.yml | 15 +- ...ty-and-quality-assurance-certification.yml | 13 +- ...ine-learning-with-python-certification.yml | 13 +- .../quality-assurance-certification.yml | 13 +- .../relational-database-certification.yml | 13 +- .../responsive-web-design-certification.yml | 13 +- ...ic-computing-with-python-certification.yml | 13 +- .../add-an-accessible-date-picker.md | 20 +- ...igation-easier-with-the-header-landmark.md | 18 +- ...navigation-easier-with-the-nav-landmark.md | 2 +- ...dex-to-add-keyboard-focus-to-an-element.md | 2 +- .../confirm-the-ending.md | 28 +- .../falsy-bouncer.md | 18 +- ...the-presence-of-an-element-with-indexof.md | 22 +- ...-an-array-to-store-a-collection-of-data.md | 20 +- ...g-a-default-option-in-switch-statements.md | 24 +- .../build-javascript-objects.md | 28 +- ...comparison-with-the-inequality-operator.md | 2 +- .../escaping-literal-quotes-in-strings.md | 14 +- .../find-the-length-of-a-string.md | 16 +- ...-variables-with-the-assignment-operator.md | 10 +- .../iterate-odd-numbers-with-a-for-loop.md | 14 +- ...terate-through-an-array-with-a-for-loop.md | 16 +- .../logical-order-in-if-else-statements.md | 24 +- .../nest-one-array-within-another-array.md | 10 +- .../basic-javascript/shopping-list.md | 16 +- ...ing-values-with-the-assignment-operator.md | 16 +- ...ndefined-value-returned-from-a-function.md | 18 +- .../understanding-uninitialized-variables.md | 14 +- .../use-recursion-to-create-a-countdown.md | 26 +- ...-recursion-to-create-a-range-of-numbers.md | 20 +- .../using-objects-for-lookups.md | 28 +- ...en-the-freecodecamp-and-browser-console.md | 16 +- ...pare-scopes-of-the-var-and-let-keywords.md | 36 +-- .../create-strings-using-template-literals.md | 24 +- ...gnment-to-assign-variables-from-objects.md | 18 +- .../write-arrow-functions-with-parameters.md | 24 +- ...lement-the-filter-method-on-a-prototype.md | 12 +- ...ion-to-currying-and-partial-application.md | 22 +- .../learn-about-functional-programming.md | 20 +- ...er-method-to-extract-data-from-an-array.md | 22 +- .../arguments-optional.md | 12 +- .../make-a-person.md | 6 +- .../search-and-replace.md | 24 +- .../sorted-union.md | 20 +- .../sum-all-numbers-in-a-range.md | 16 +- .../roman-numeral-converter.md | 58 ++-- .../understand-the-prototype-chain.md | 12 +- ...ype-properties-to-reduce-duplicate-code.md | 18 +- .../find-characters-with-lazy-matching.md | 18 +- .../match-all-letters-and-numbers.md | 24 +- .../bootstrap/create-a-bootstrap-row.md | 14 +- .../bootstrap/create-a-custom-heading.md | 18 +- .../ditch-custom-css-for-bootstrap.md | 22 +- .../give-each-element-a-unique-id.md | 20 +- .../responsively-style-radio-buttons.md | 14 +- ...how-script-tags-and-document-ready-work.md | 22 +- .../target-elements-by-id-using-jquery.md | 18 +- .../connect-redux-to-the-messages-app.md | 18 +- .../extract-local-state-into-redux.md | 26 +- .../moving-forward-from-here.md | 12 +- .../create-a-component-with-composition.md | 16 +- .../react/pass-an-array-as-props.md | 6 +- .../render-a-class-component-to-the-dom.md | 18 +- .../react/render-conditionally-from-props.md | 26 +- .../sass/create-reusable-css-with-mixins.md | 2 +- .../use-each-to-map-over-items-in-a-list.md | 16 +- .../sass/use-for-to-create-a-sass-loop.md | 28 +- ...if-and-else-to-add-logic-to-your-styles.md | 16 +- .../visualize-data-with-a-treemap-diagram.md | 2 +- .../add-keywords-to-your-package.json.md | 16 +- .../sudoku-solver.md | 4 +- .../probability-calculator.md | 4 +- .../65796fac81f983127558f3f4.md | 2 +- .../65797670e0c0d016f17e7660.md | 2 +- .../656680b0fc79f2c38a34d90e.md | 2 +- .../65670d1ef177e7e2b76d9528.md | 2 +- .../656710d1e0ec62253426db24.md | 2 +- .../6569b20f829b7e69d43c232a.md | 2 +- .../6569b6be44940a8e2a469c31.md | 2 +- .../6577562501feabdf0984a184.md | 2 +- .../65687a005aba3ea815b84e68.md | 2 +- .../65687a923dd792ad339f9c09.md | 2 +- .../65687e294ef2bdca637fb213.md | 2 +- .../656880227dab4bd8fbc02d41.md | 2 +- .../657ed53c19461d4b95c4757a.md | 2 +- .../657ef2a86d4e545cec9a85fb.md | 2 +- .../657efdcf7fe23b76c0cff9ec.md | 2 +- .../64dc90949ff85e3b37be40d0.md | 2 +- .../64dc922df2919e3c38cead61.md | 2 +- .../64dc92a9718fb53ca3d1bad7.md | 2 +- .../64dc963d866fff3dd0329993.md | 2 +- .../64de6c8a5305d8173a3a9e09.md | 2 +- .../64de73f6c2486518e3064fec.md | 2 +- .../64de7662244db513d7b673ec.md | 2 +- .../64de7be06eb689161dd63cf0.md | 2 +- .../64df202aa1342114cd077920.md | 2 +- .../64df353d7ae6dc148fd64f53.md | 2 +- .../64df3f1011888113fbd3d81b.md | 2 +- .../64df45a3ad4f8719e5355244.md | 2 +- .../64df496c6a8ddf1b38db1ed6.md | 2 +- .../64e337e3096b7c1739d934e6.md | 2 +- .../64e340ecee18af1430939018.md | 2 +- .../64e34146860065146733883b.md | 2 +- .../65782342850feb3b8d62f936.md | 2 +- .../65646ffeaed2d238c562a014.md | 2 +- .../65648e4c5b316c4ec5e4fddc.md | 2 +- .../656490295d346850a4c4f2b5.md | 2 +- .../6564d096a55d707bd77ab67b.md | 2 +- .../6564daa2725b9b8420141b1c.md | 2 +- .../6564eebf0d2d6390b9377197.md | 2 +- .../6564f32b18480893cf7799fd.md | 2 +- .../6564fd78ffff909b1531d3c3.md | 2 +- .../6565c084627071646f94c4b0.md | 2 +- .../6565c13fdb798865c161d8f8.md | 2 +- .../656ef7f792734072dedd8319.md | 2 +- .../657dadf4d8b93c1704f3a57c.md | 4 +- .../657db4cb77190e33a20e852a.md | 2 +- .../numpy-introduction-a.md | 4 +- .../pandas-creating-columns.md | 4 +- .../python-functions-and-collections.md | 4 +- .../reading-data-introduction.md | 4 +- .../demographic-data-analyzer.md | 6 +- .../sea-level-predictor.md | 8 +- .../install-and-require-helmet.md | 4 +- ...rks-rnn-and-long-short-term-memory-lstm.md | 2 +- ...neural-networks-the-convolutional-layer.md | 2 +- .../tensorflow/introduction-to-tensorflow.md | 2 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 6 +- .../614202874ca576084fca625f.md | 32 +-- .../614396f7ae83f20ea6f9f4b3.md | 2 +- .../6145e8b5080a5f06bb0223d0.md | 42 +-- .../6145f02240ff8f09f7ec913c.md | 10 +- .../614796cb8086be482d60e0ac.md | 8 +- .../614878f7a412310647873015.md | 14 +- .../614883b6fa720e09fb167de9.md | 14 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 14 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 28 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../614ccc21ea91ef1736b9b578.md | 8 +- .../5f332b23c2045fb843337579.md | 14 +- .../5f344fad8bf01691e71a30eb.md | 10 +- .../5f3477cb303c5cb61b43aa9b.md | 10 +- .../5f35e5c44359872a137bd98f.md | 14 +- .../5f3cade99dda4e6071a85dfd.md | 12 +- .../5f3ef6e01f288a026d709587.md | 6 +- .../5f3ef6e056bdde6ae6892ba2.md | 12 +- .../5f3ef6e0f8c230bdd2349716.md | 14 +- .../5f459225127805351a6ad057.md | 8 +- .../5f4701b942c824109626c3d8.md | 8 +- .../5f47fe7e31980053a8d4403b.md | 10 +- .../6140cbeec34e970dfe75e710.md | 12 +- .../617ace7d831f9c16a569b38a.md | 8 +- .../616d47bc9eedc4bc7f621bec.md | 10 +- .../61764f7e5240eb7ccc7f6a0a.md | 8 +- .../617b65579ce424bf5f02ca73.md | 12 +- .../617b8b38f32bf2080a140675.md | 12 +- .../617b8e0d93a8d10d9a90e720.md | 16 +- .../617b954d9f4f6217a749380e.md | 10 +- .../617bb5624a75e86463b7e638.md | 8 +- .../618a16873520a8d088ffdf44.md | 4 +- .../619b7424f43ec9215e538afe.md | 12 +- .../619b761916dac02643940022.md | 8 +- .../61a489b8579e87364b2d2cdb.md | 12 +- .../61a5ca57f50ded36d33eef96.md | 8 +- .../61b092eb9e7fc020b43b1bb2.md | 8 +- .../61b093219e7fc020b43b1bb4.md | 10 +- .../61b09f739aa6572d2064f9b8.md | 8 +- .../61b0a1b2af494934b7ec1a72.md | 14 +- .../61b3183655ec10efd8c0bb07.md | 10 +- .../61537d86bdc3dd343688fceb.md | 24 +- .../6153893900438b4643590367.md | 22 +- .../6153938dce8b294ff8f5a4e9.md | 8 +- .../6143a778bffc206ac6b1dbe3.md | 8 +- .../6143b9e1f5035c6e5f2a8231.md | 36 +-- .../6143c2a363865c715f1a3f72.md | 16 +- .../6144de308591ec10e27d5383.md | 8 +- .../6148b185ef37522f688316b0.md | 10 +- .../6148c5036ddad94692a66230.md | 8 +- .../6148d94fdf6a5d6899f8ff15.md | 6 +- .../614e0e588f0e8a772a8a81a6.md | 8 +- .../6196928658b6010f28c39484.md | 6 +- .../6199429802b7c10dc79ff871.md | 12 +- .../619be73b3c806006ccc00bb0.md | 10 +- .../619c155df0063a0a3fec0e32.md | 18 +- .../619d05c54dabca0b10058235.md | 12 +- .../619d1e7a8e81a61c5a819dc4.md | 6 +- .../619d237a107c10221ed743fa.md | 18 +- .../619d2b7a84e78b246f2d17a2.md | 16 +- .../619d30350883802921bfcccc.md | 2 +- .../619d333b738e3c2b5d58b095.md | 6 +- .../5d822fd413a79914d39e98ca.md | 14 +- .../5d822fd413a79914d39e98d7.md | 10 +- .../5d822fd413a79914d39e98dc.md | 10 +- .../5d822fd413a79914d39e98e9.md | 16 +- .../5d822fd413a79914d39e98ee.md | 8 +- .../5d822fd413a79914d39e98f0.md | 10 +- .../5d822fd413a79914d39e98f5.md | 6 +- .../5d822fd413a79914d39e9903.md | 8 +- .../5d822fd413a79914d39e9915.md | 6 +- .../5d822fd413a79914d39e991a.md | 10 +- .../5d822fd413a79914d39e9927.md | 6 +- .../5d822fd413a79914d39e992c.md | 8 +- .../5d822fd413a79914d39e9939.md | 6 +- .../5d822fd413a79914d39e993e.md | 14 +- .../5dc174fcf86c76b9248c6eb2.md | 2 +- .../5dc23991f86c76b9248c6eb8.md | 24 +- .../5dc23f9bf86c76b9248c6eba.md | 12 +- .../5dfa22d1b521be39a3de7be0.md | 8 +- .../5dfa30b9eacea3f48c6300ad.md | 20 +- .../5ef9b03c81a63668521804d8.md | 18 +- .../5ef9b03c81a63668521804dd.md | 14 +- .../5efc518e8d6a74d05e68af75.md | 12 +- .../5f0d4d04b435f13ab6550053.md | 12 +- .../60f027c87bc98f050395c139.md | 18 +- .../60f8618d191b940d62038513.md | 10 +- .../60fac4095512d3066053d73c.md | 8 +- .../60fc219d333e37046f474a6e.md | 8 +- .../60fc22d1e64d1b04cdd4e602.md | 12 +- .../60ffe1bc30415f042faea936.md | 10 +- .../60ffefd6479a3d084fb77cbc.md | 2 +- .../646c586be7180e40ddf74ff6.md | 4 +- .../646c5ffef5598d449b52ec12.md | 2 +- .../646ce9d790d2a44de5f99e04.md | 2 +- .../647d855ac12cd436059acd39.md | 2 +- .../61fd6343fb42013d99bcd7f3.md | 8 +- .../61fd9b7285bde783ad5b8aac.md | 28 +- .../6201995d9ab88e80f1989dce.md | 8 +- .../612e813b3ba67633222cbe54.md | 18 +- .../612e8279827a28352ce83a72.md | 12 +- .../612e9f1e7e5ccd4fa9ada0be.md | 8 +- .../612ebedec97e096c8bf64999.md | 8 +- .../60a3e3396c7b40068ad6996b.md | 18 +- .../60a3e3396c7b40068ad69973.md | 8 +- .../60a3e3396c7b40068ad69978.md | 10 +- .../60a3e3396c7b40068ad6997d.md | 10 +- .../60a3e3396c7b40068ad6998a.md | 8 +- .../60a3e3396c7b40068ad6998f.md | 10 +- .../60a3e3396c7b40068ad69991.md | 8 +- .../60a3e3396c7b40068ad69997.md | 10 +- .../615f34ecc1091b4fd5a8a484.md | 12 +- .../615f4ce9d877b668417c0c42.md | 10 +- .../615f51257a8a516d80b6c743.md | 10 +- .../615f7c71eab8218f846e4503.md | 16 +- .../615f7ecb09de9a938ef94756.md | 20 +- .../615f887466db4ba14b5342cc.md | 12 +- .../the-cascade-of-css-lesson-f.md | 4 +- .../spreadsheets-and-additional-resources.md | 2 +- .../problem-253-tidying-up.md | 2 +- .../problem-461-almost-pi.md | 109 +++---- ...mooth-divisors-of-binomial-coefficients.md | 2 +- ...ng-the-switch-case-construct-in-c-sharp.md | 2 +- .../5daa813381b9e3db6c126b43.md | 2 +- .../657b11f87368cf463ea4fe46.md | 2 +- .../655b67f02eecf57fa75ceecf.md | 2 +- .../6557d782bc7613c06aa7dafd.md | 4 +- .../655a54506b259313b2d59577.md | 2 +- .../655b39e59c29d16d64a2ce8e.md | 4 +- .../hash-from-two-arrays.md | 2 +- .../knapsack-problem-0-1.md | 2 +- .../comparing-and-sorting-tuples.md | 6 +- .../introduction-hardware-achitecture.md | 10 +- .../66a207974c806a19d6607073.md | 2 +- .../aa2e6f85cab2ab736c9a9b24.md | 2 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 2 +- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 2 +- .../66be24cb4144f955b6bcc550.md | 2 +- .../66b62d0ad68488dd76228d6c.md | 2 +- .../668f08ea07b99b1f4a91acab.md | 18 +- .../66c057041df6394ca796bf33.md | 2 +- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 200 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../66ad8294a0ad902f1b31b612.md | 2 +- ...2-english-for-developers-certification.yml | 4 +- ...1-english-for-developers-certification.yml | 4 +- ...end-development-and-apis-certification.yml | 12 +- ...lege-algebra-with-python-certification.yml | 12 +- ...ata-analysis-with-python-certification.yml | 13 +- .../data-visualization-certification.yml | 13 +- .../foundational-c-sharp-with-microsoft.yml | 4 +- .../front-end-development.yml | 4 +- ...nd-development-libraries-certification.yml | 12 +- .../information-security-certification.yml | 13 +- ...thms-and-data-structures-certification.yml | 13 +- ...s-and-data-structures-certification-v8.yml | 12 +- .../legacy-back-end-certification.yml | 23 +- ...egacy-data-visualization-certification.yml | 23 +- .../legacy-front-end-certification.yml | 23 +- .../legacy-full-stack-certification.yml | 15 +- ...ty-and-quality-assurance-certification.yml | 13 +- ...ine-learning-with-python-certification.yml | 13 +- .../quality-assurance-certification.yml | 13 +- .../relational-database-certification.yml | 13 +- .../responsive-web-design-certification.yml | 13 +- ...ic-computing-with-python-certification.yml | 13 +- .../upcoming-python-certification.yml | 4 +- .../add-an-accessible-date-picker.md | 20 +- ...igation-easier-with-the-header-landmark.md | 18 +- ...navigation-easier-with-the-nav-landmark.md | 16 +- ...dex-to-add-keyboard-focus-to-an-element.md | 14 +- ...t-the-background-color-property-of-text.md | 20 +- ...of-an-element-using-the-height-property.md | 10 +- .../adjust-the-tone-of-a-color.md | 8 +- .../animate-elements-at-variable-rates.md | 10 +- ...ate-multiple-elements-at-variable-rates.md | 14 +- ...-horizontally-using-the-margin-property.md | 10 +- .../learn-how-bezier-curves-work.md | 16 +- ...otion-more-natural-using-a-bezier-curve.md | 14 +- ...nt-weight-for-multiple-heading-elements.md | 20 +- .../use-the-strong-tag-to-make-text-bold.md | 12 +- ...ansform-property-to-make-text-uppercase.md | 14 +- .../use-the-u-tag-to-underline-text.md | 12 +- .../add-borders-around-your-elements.md | 20 +- ...tach-a-fallback-value-to-a-css-variable.md | 16 +- .../basic-css/change-the-color-of-text.md | 20 +- ...ve-compatibility-with-browser-fallbacks.md | 12 +- .../set-the-font-family-of-an-element.md | 10 +- .../basic-css/use-a-custom-css-variable.md | 16 +- ...ion-to-specify-the-margin-of-an-element.md | 20 +- .../use-rgb-values-to-color-elements.md | 20 +- .../add-a-submit-button-to-a-form.md | 16 +- .../create-a-set-of-radio-buttons.md | 32 +-- .../basic-html-and-html5/uncomment-html.md | 18 +- ...add-flex-superpowers-to-the-tweet-embed.md | 24 +- ...elements-using-the-align-items-property.md | 19 +- .../use-display-flex-to-position-two-boxes.md | 10 +- ...x-wrap-property-to-wrap-a-row-or-column.md | 14 +- .../confirm-the-ending.md | 28 +- .../falsy-bouncer.md | 18 +- ...the-presence-of-an-element-with-indexof.md | 22 +- ...-an-array-to-store-a-collection-of-data.md | 20 +- ...g-a-default-option-in-switch-statements.md | 24 +- .../build-javascript-objects.md | 28 +- ...comparison-with-the-inequality-operator.md | 2 +- .../escaping-literal-quotes-in-strings.md | 14 +- .../find-the-length-of-a-string.md | 16 +- ...-variables-with-the-assignment-operator.md | 10 +- .../iterate-odd-numbers-with-a-for-loop.md | 14 +- ...terate-through-an-array-with-a-for-loop.md | 16 +- .../logical-order-in-if-else-statements.md | 24 +- .../nest-one-array-within-another-array.md | 10 +- .../basic-javascript/shopping-list.md | 16 +- ...ing-values-with-the-assignment-operator.md | 16 +- ...ndefined-value-returned-from-a-function.md | 18 +- .../understanding-uninitialized-variables.md | 14 +- .../use-recursion-to-create-a-countdown.md | 26 +- ...-recursion-to-create-a-range-of-numbers.md | 20 +- .../using-objects-for-lookups.md | 28 +- ...en-the-freecodecamp-and-browser-console.md | 16 +- ...pare-scopes-of-the-var-and-let-keywords.md | 36 +-- .../create-strings-using-template-literals.md | 24 +- ...gnment-to-assign-variables-from-objects.md | 20 +- .../write-arrow-functions-with-parameters.md | 24 +- ...lement-the-filter-method-on-a-prototype.md | 14 +- ...ion-to-currying-and-partial-application.md | 24 +- .../learn-about-functional-programming.md | 20 +- ...er-method-to-extract-data-from-an-array.md | 22 +- .../arguments-optional.md | 30 +- .../make-a-person.md | 6 +- .../search-and-replace.md | 24 +- .../sorted-union.md | 20 +- .../sum-all-numbers-in-a-range.md | 16 +- .../roman-numeral-converter.md | 92 +++--- .../understand-the-prototype-chain.md | 14 +- ...ype-properties-to-reduce-duplicate-code.md | 20 +- .../find-characters-with-lazy-matching.md | 20 +- .../match-all-letters-and-numbers.md | 24 +- .../bootstrap/create-a-bootstrap-row.md | 14 +- .../bootstrap/create-a-custom-heading.md | 18 +- .../ditch-custom-css-for-bootstrap.md | 22 +- .../give-each-element-a-unique-id.md | 20 +- .../responsively-style-radio-buttons.md | 14 +- ...how-script-tags-and-document-ready-work.md | 22 +- .../target-elements-by-id-using-jquery.md | 18 +- .../connect-redux-to-the-messages-app.md | 18 +- .../extract-local-state-into-redux.md | 26 +- .../moving-forward-from-here.md | 12 +- .../create-a-component-with-composition.md | 16 +- .../react/pass-an-array-as-props.md | 6 +- .../render-a-class-component-to-the-dom.md | 18 +- .../react/render-conditionally-from-props.md | 26 +- .../sass/create-reusable-css-with-mixins.md | 2 +- .../use-each-to-map-over-items-in-a-list.md | 18 +- .../sass/use-for-to-create-a-sass-loop.md | 28 +- ...if-and-else-to-add-logic-to-your-styles.md | 20 +- .../visualize-data-with-a-treemap-diagram.md | 42 +-- .../add-classes-with-d3.md | 14 +- .../create-a-scatterplot-with-svg-circles.md | 12 +- ...minimum-and-maximum-values-in-a-dataset.md | 18 +- .../add-keywords-to-your-package.json.md | 16 +- .../create-and-save-a-record-of-a-model.md | 8 +- ...a-document-using-model.findoneandupdate.md | 10 +- .../announce-new-users.md | 14 +- .../authentication-strategies.md | 20 +- .../clean-up-your-project-with-modules.md | 18 +- .../hashing-your-passwords.md | 18 +- ...nt-the-serialization-of-a-passport-user.md | 16 +- .../send-and-display-chat-messages.md | 18 +- ...nctional-tests-using-a-headless-browser.md | 52 ++-- ...s-below-or-at-least-as-large-as-another.md | 14 +- .../sudoku-solver.md | 120 ++++---- .../probability-calculator.md | 4 +- .../65796fac81f983127558f3f4.md | 2 +- .../65797670e0c0d016f17e7660.md | 2 +- .../656680b0fc79f2c38a34d90e.md | 2 +- .../656710d1e0ec62253426db24.md | 2 +- .../6569b20f829b7e69d43c232a.md | 2 +- .../6569b6be44940a8e2a469c31.md | 2 +- .../6577562501feabdf0984a184.md | 2 +- .../65687a005aba3ea815b84e68.md | 2 +- .../65687a923dd792ad339f9c09.md | 2 +- .../65687e294ef2bdca637fb213.md | 2 +- .../656880227dab4bd8fbc02d41.md | 2 +- .../657ed53c19461d4b95c4757a.md | 2 +- .../657ef2a86d4e545cec9a85fb.md | 2 +- .../657efdcf7fe23b76c0cff9ec.md | 2 +- .../64dc90949ff85e3b37be40d0.md | 2 +- .../64dc922df2919e3c38cead61.md | 2 +- .../64dc92a9718fb53ca3d1bad7.md | 2 +- .../64dc963d866fff3dd0329993.md | 2 +- .../64de6c8a5305d8173a3a9e09.md | 2 +- .../64de73f6c2486518e3064fec.md | 2 +- .../64de7662244db513d7b673ec.md | 2 +- .../64de7be06eb689161dd63cf0.md | 2 +- .../64df202aa1342114cd077920.md | 2 +- .../64df353d7ae6dc148fd64f53.md | 2 +- .../64df3f1011888113fbd3d81b.md | 2 +- .../64df45a3ad4f8719e5355244.md | 2 +- .../64df496c6a8ddf1b38db1ed6.md | 2 +- .../64e337e3096b7c1739d934e6.md | 2 +- .../64e340ecee18af1430939018.md | 2 +- .../64e34146860065146733883b.md | 2 +- .../65782342850feb3b8d62f936.md | 2 +- .../65646ffeaed2d238c562a014.md | 2 +- .../65648e4c5b316c4ec5e4fddc.md | 2 +- .../656490295d346850a4c4f2b5.md | 2 +- .../6564d096a55d707bd77ab67b.md | 2 +- .../6564daa2725b9b8420141b1c.md | 2 +- .../6564eebf0d2d6390b9377197.md | 2 +- .../6564f32b18480893cf7799fd.md | 2 +- .../6564fd78ffff909b1531d3c3.md | 2 +- .../6565c084627071646f94c4b0.md | 2 +- .../6565c13fdb798865c161d8f8.md | 2 +- .../656ef7f792734072dedd8319.md | 2 +- .../657dadf4d8b93c1704f3a57c.md | 4 +- .../657db4cb77190e33a20e852a.md | 2 +- .../6551f22653e6ce6e4f1d1370.md | 10 +- .../6551f4259d66026ee28cb205.md | 2 +- .../6551f5756c20146fc94f8675.md | 2 +- .../6552008c0d9d9075cbec9772.md | 10 +- .../655220953ba90d80514d7ee2.md | 4 +- .../6553f6b4ec51112d44d737c8.md | 2 +- .../6554930320d70414e7b6acc6.md | 2 +- .../65549f90cf78131c96ebcf28.md | 8 +- .../6554a334a40edb1fb4eff827.md | 8 +- .../6554d25dc5ceaa354307a77e.md | 4 +- .../6554e2ee23bfd93f2c83640f.md | 2 +- .../6554e343caea913ffba7bec6.md | 2 +- .../6555db4a7b788e15795674e5.md | 2 +- .../6555e5991af57d1ae0e35f0a.md | 4 +- .../655a2a7210094920069b117c.md | 16 +- .../65688a50e6c998a21d8e41d3.md | 2 +- .../666064e915eba7aa1de03f6b.md | 2 +- .../numpy-introduction-a.md | 18 +- .../pandas-creating-columns.md | 12 +- .../python-functions-and-collections.md | 18 +- .../reading-data-introduction.md | 14 +- .../demographic-data-analyzer.md | 46 +-- .../sea-level-predictor.md | 40 +-- .../install-and-require-helmet.md | 16 +- .../creating-a-tcp-client.md | 4 +- ...ts-at-a-specific-index-in-a-linked-list.md | 2 +- .../deep-learning-demystified.md | 12 +- ...rks-rnn-and-long-short-term-memory-lstm.md | 10 +- .../book-recommendation-engine-using-knn.md | 28 +- ...ral-networks-picking-a-pretrained-model.md | 4 +- ...neural-networks-the-convolutional-layer.md | 10 +- .../tensorflow/introduction-to-tensorflow.md | 12 +- .../build-a-celestial-bodies-database.md | 8 +- .../build-a-student-database-part-1.md | 4 +- .../build-a-student-database-part-2.md | 4 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 14 +- .../614202874ca576084fca625f.md | 32 +-- .../614396f7ae83f20ea6f9f4b3.md | 28 +- .../6145e8b5080a5f06bb0223d0.md | 42 +-- .../6145f02240ff8f09f7ec913c.md | 12 +- .../614796cb8086be482d60e0ac.md | 14 +- .../614878f7a412310647873015.md | 14 +- .../614883b6fa720e09fb167de9.md | 14 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 14 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 28 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../614ccc21ea91ef1736b9b578.md | 8 +- .../5f332b23c2045fb843337579.md | 14 +- .../5f344fad8bf01691e71a30eb.md | 10 +- .../5f3477cb303c5cb61b43aa9b.md | 10 +- .../5f35e5c44359872a137bd98f.md | 14 +- .../5f3cade99dda4e6071a85dfd.md | 12 +- .../5f3ef6e01f288a026d709587.md | 16 +- .../5f3ef6e056bdde6ae6892ba2.md | 14 +- .../5f3ef6e0f8c230bdd2349716.md | 14 +- .../5f459225127805351a6ad057.md | 8 +- .../5f4701b942c824109626c3d8.md | 8 +- .../5f47fe7e31980053a8d4403b.md | 10 +- .../6140cbeec34e970dfe75e710.md | 12 +- .../617ace7d831f9c16a569b38a.md | 8 +- .../616d47bc9eedc4bc7f621bec.md | 12 +- .../61764f7e5240eb7ccc7f6a0a.md | 8 +- .../617b65579ce424bf5f02ca73.md | 12 +- .../617b8b38f32bf2080a140675.md | 12 +- .../617b8e0d93a8d10d9a90e720.md | 16 +- .../617b954d9f4f6217a749380e.md | 10 +- .../617bb5624a75e86463b7e638.md | 8 +- .../618a16873520a8d088ffdf44.md | 6 +- .../619b7424f43ec9215e538afe.md | 12 +- .../619b761916dac02643940022.md | 10 +- .../61a489b8579e87364b2d2cdb.md | 12 +- .../61a5ca57f50ded36d33eef96.md | 8 +- .../61b092eb9e7fc020b43b1bb2.md | 8 +- .../61b093219e7fc020b43b1bb4.md | 10 +- .../61b09f739aa6572d2064f9b8.md | 8 +- .../61b0a1b2af494934b7ec1a72.md | 14 +- .../61b3183655ec10efd8c0bb07.md | 10 +- .../61537d86bdc3dd343688fceb.md | 24 +- .../6153893900438b4643590367.md | 22 +- .../6153938dce8b294ff8f5a4e9.md | 8 +- .../6143a778bffc206ac6b1dbe3.md | 8 +- .../6143b9e1f5035c6e5f2a8231.md | 48 ++-- .../6143c2a363865c715f1a3f72.md | 16 +- .../6144de308591ec10e27d5383.md | 8 +- .../6148b185ef37522f688316b0.md | 10 +- .../6148c5036ddad94692a66230.md | 8 +- .../6148d94fdf6a5d6899f8ff15.md | 6 +- .../614e0e588f0e8a772a8a81a6.md | 8 +- .../6196928658b6010f28c39484.md | 6 +- .../6199429802b7c10dc79ff871.md | 12 +- .../619be73b3c806006ccc00bb0.md | 10 +- .../619c155df0063a0a3fec0e32.md | 18 +- .../619d05c54dabca0b10058235.md | 12 +- .../619d1e7a8e81a61c5a819dc4.md | 6 +- .../619d237a107c10221ed743fa.md | 18 +- .../619d2b7a84e78b246f2d17a2.md | 16 +- .../619d30350883802921bfcccc.md | 2 +- .../619d333b738e3c2b5d58b095.md | 6 +- .../5d822fd413a79914d39e98ca.md | 14 +- .../5d822fd413a79914d39e98d7.md | 10 +- .../5d822fd413a79914d39e98dc.md | 10 +- .../5d822fd413a79914d39e98e9.md | 16 +- .../5d822fd413a79914d39e98ee.md | 8 +- .../5d822fd413a79914d39e98f0.md | 14 +- .../5d822fd413a79914d39e98f5.md | 6 +- .../5d822fd413a79914d39e9903.md | 8 +- .../5d822fd413a79914d39e9915.md | 6 +- .../5d822fd413a79914d39e991a.md | 10 +- .../5d822fd413a79914d39e9927.md | 6 +- .../5d822fd413a79914d39e992c.md | 8 +- .../5d822fd413a79914d39e9939.md | 6 +- .../5d822fd413a79914d39e993e.md | 14 +- .../5dc174fcf86c76b9248c6eb2.md | 24 +- .../5dc23991f86c76b9248c6eb8.md | 26 +- .../5dc23f9bf86c76b9248c6eba.md | 14 +- .../5dfa22d1b521be39a3de7be0.md | 16 +- .../5dfa30b9eacea3f48c6300ad.md | 24 +- .../5ef9b03c81a63668521804d8.md | 18 +- .../5ef9b03c81a63668521804dd.md | 20 +- .../5efc518e8d6a74d05e68af75.md | 12 +- .../5f0d4d04b435f13ab6550053.md | 12 +- .../60f027c87bc98f050395c139.md | 18 +- .../60f8618d191b940d62038513.md | 10 +- .../60fac4095512d3066053d73c.md | 10 +- .../60fc219d333e37046f474a6e.md | 8 +- .../60fc22d1e64d1b04cdd4e602.md | 12 +- .../60ffe1bc30415f042faea936.md | 10 +- .../60ffefd6479a3d084fb77cbc.md | 6 +- .../646c586be7180e40ddf74ff6.md | 8 +- .../646c5ffef5598d449b52ec12.md | 12 +- .../646ce9d790d2a44de5f99e04.md | 16 +- .../646dd6f9caa862627dd87772.md | 10 +- .../646dec359bef3b7811fba5a6.md | 14 +- .../646df0cf26413a7b35e4b8b3.md | 14 +- .../646f0ef13604420a8744f7d4.md | 12 +- .../646f107abb89d00bb99f387a.md | 12 +- .../647d855ac12cd436059acd39.md | 8 +- .../61fd6343fb42013d99bcd7f3.md | 8 +- .../61fd9b7285bde783ad5b8aac.md | 28 +- .../6201995d9ab88e80f1989dce.md | 8 +- .../612e813b3ba67633222cbe54.md | 18 +- .../612e8279827a28352ce83a72.md | 12 +- .../612e9f1e7e5ccd4fa9ada0be.md | 8 +- .../612ebedec97e096c8bf64999.md | 8 +- .../60a3e3396c7b40068ad6996b.md | 18 +- .../60a3e3396c7b40068ad69973.md | 8 +- .../60a3e3396c7b40068ad69978.md | 10 +- .../60a3e3396c7b40068ad6997d.md | 10 +- .../60a3e3396c7b40068ad6998a.md | 8 +- .../60a3e3396c7b40068ad6998f.md | 10 +- .../60a3e3396c7b40068ad69991.md | 8 +- .../60a3e3396c7b40068ad69997.md | 10 +- .../615f34ecc1091b4fd5a8a484.md | 18 +- .../615f4ce9d877b668417c0c42.md | 10 +- .../615f51257a8a516d80b6c743.md | 10 +- .../615f7c71eab8218f846e4503.md | 18 +- .../615f7ecb09de9a938ef94756.md | 22 +- .../615f887466db4ba14b5342cc.md | 18 +- .../the-cascade-of-css-lesson-f.md | 4 +- .../build-a-graphing-calculator.md | 24 +- .../build-a-multi-function-calculator.md | 24 +- .../spreadsheets-and-additional-resources.md | 6 +- .../fractions-and-decimals-extra.md | 18 +- .../problem-47-distinct-primes-factors.md | 4 +- .../problem-56-powerful-digit-sum.md | 2 +- .../problem-88-product-sum-numbers.md | 2 +- ...problem-105-special-subset-sums-testing.md | 12 +- .../problem-109-darts.md | 16 +- .../problem-124-ordered-radicals.md | 8 +- .../problem-133-repunit-nonfactors.md | 10 +- ...m-140-modified-fibonacci-golden-nuggets.md | 10 +- .../problem-148-exploring-pascals-triangle.md | 8 +- .../problem-154-exploring-pascals-pyramid.md | 12 +- ...roblem-167-investigating-ulam-sequences.md | 6 +- .../problem-168-number-rotations.md | 10 +- ...ent-hollow-square-laminae-can-be-formed.md | 2 +- .../problem-178-step-numbers.md | 4 +- .../problem-182-rsa-encryption.md | 24 +- .../problem-186-connectedness-of-a-network.md | 18 +- .../problem-213-flea-circus.md | 6 +- .../problem-253-tidying-up.md | 6 +- ...ur-distinct-prime-factors-less-than-100.md | 2 +- .../problem-295-lenticular-holes.md | 6 +- ...em-311-biclinic-integral-quadrilaterals.md | 2 +- .../problem-313-sliding-game.md | 2 +- ...-factorials-divisible-by-a-huge-integer.md | 10 +- ...itwise-or-operations-on-random-integers.md | 2 +- ...em-341-golombs-self-describing-sequence.md | 2 +- .../problem-344-silver-dollar-game.md | 10 +- ...-356-largest-roots-of-cubic-polynomials.md | 2 +- ...-361-subsequence-of-thue-morse-sequence.md | 2 +- .../problem-368-a-kempner-like-series.md | 6 +- .../problem-380-amazing-mazes.md | 4 +- .../problem-405-a-rectangular-tiling.md | 2 +- .../problem-416-a-frogs-trip.md | 2 +- .../problem-434-rigid-graphs.md | 10 +- .../problem-436-unfair-wager.md | 6 +- ...oblem-448-average-least-common-multiple.md | 2 +- .../problem-461-almost-pi.md | 109 +++---- .../problem-467-superinteger.md | 4 +- ...mooth-divisors-of-binomial-coefficients.md | 6 +- ...ng-the-switch-case-construct-in-c-sharp.md | 20 +- ...-and-logic-using-code-blocks-in-c-sharp.md | 20 +- ...ching-and-looping-structures-in-c-sharp.md | 20 +- .../5daa813381b9e3db6c126b43.md | 2 +- .../657dcafa1e1a4a62dc03cb76.md | 2 +- .../656d23d22a488510bca0e418.md | 2 +- .../657b11f87368cf463ea4fe46.md | 2 +- .../657b1d4ec0e2587e8bcc95f7.md | 2 +- .../657b227f7ad32ea17e2cdf28.md | 2 +- .../655b67f02eecf57fa75ceecf.md | 2 +- .../656a46e84a0ad845901ea907.md | 2 +- .../6557d782bc7613c06aa7dafd.md | 4 +- .../655a54506b259313b2d59577.md | 2 +- .../655b39e59c29d16d64a2ce8e.md | 4 +- .../ackermann-function.md | 18 +- ...cles-of-given-radius-through-two-points.md | 26 +- .../rosetta-code-challenges/combinations.md | 12 +- .../convert-seconds-to-compound-duration.md | 20 +- .../factors-of-a-mersenne-number.md | 42 +-- .../rosetta-code-challenges/gamma-function.md | 4 +- .../generate-lower-case-ascii-alphabet.md | 16 +- .../hash-from-two-arrays.md | 4 +- .../rosetta-code-challenges/k-d-tree.md | 20 +- .../knapsack-problem-0-1.md | 18 +- .../least-common-multiple.md | 2 +- .../long-multiplication.md | 22 +- .../lucas-lehmer-test.md | 20 +- .../luhn-test-of-credit-card-numbers.md | 32 +-- .../sorting-algorithms-stooge-sort.md | 18 +- .../taxicab-numbers.md | 30 +- .../tokenize-a-string-with-escaping.md | 30 +- .../vector-cross-product.md | 10 +- .../rosetta-code-challenges/word-wrap.md | 14 +- .../comparing-and-sorting-tuples.md | 6 +- .../introduction-hardware-achitecture.md | 8 +- .../66a207974c806a19d6607073.md | 2 +- .../aa2e6f85cab2ab736c9a9b24.md | 2 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 2 +- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 2 +- .../66be24cb4144f955b6bcc550.md | 2 +- .../66b62d0ad68488dd76228d6c.md | 2 +- .../668f08ea07b99b1f4a91acab.md | 18 +- .../66c057041df6394ca796bf33.md | 2 +- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 200 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../66ad8294a0ad902f1b31b612.md | 2 +- ...2-english-for-developers-certification.yml | 4 +- ...1-english-for-developers-certification.yml | 4 +- ...end-development-and-apis-certification.yml | 12 +- ...lege-algebra-with-python-certification.yml | 12 +- ...ata-analysis-with-python-certification.yml | 13 +- .../data-visualization-certification.yml | 13 +- .../foundational-c-sharp-with-microsoft.yml | 4 +- .../front-end-development.yml | 4 +- ...nd-development-libraries-certification.yml | 12 +- .../information-security-certification.yml | 13 +- ...thms-and-data-structures-certification.yml | 13 +- ...s-and-data-structures-certification-v8.yml | 12 +- .../legacy-back-end-certification.yml | 23 +- ...egacy-data-visualization-certification.yml | 23 +- .../legacy-front-end-certification.yml | 23 +- .../legacy-full-stack-certification.yml | 15 +- ...ty-and-quality-assurance-certification.yml | 13 +- ...ine-learning-with-python-certification.yml | 13 +- .../quality-assurance-certification.yml | 13 +- .../relational-database-certification.yml | 13 +- .../responsive-web-design-certification.yml | 13 +- ...ic-computing-with-python-certification.yml | 13 +- .../upcoming-python-certification.yml | 4 +- .../add-an-accessible-date-picker.md | 20 +- ...igation-easier-with-the-header-landmark.md | 18 +- ...navigation-easier-with-the-nav-landmark.md | 16 +- ...dex-to-add-keyboard-focus-to-an-element.md | 14 +- ...t-the-background-color-property-of-text.md | 20 +- ...of-an-element-using-the-height-property.md | 10 +- .../adjust-the-tone-of-a-color.md | 8 +- .../animate-elements-at-variable-rates.md | 10 +- ...ate-multiple-elements-at-variable-rates.md | 14 +- ...-horizontally-using-the-margin-property.md | 10 +- .../learn-how-bezier-curves-work.md | 16 +- ...otion-more-natural-using-a-bezier-curve.md | 14 +- ...nt-weight-for-multiple-heading-elements.md | 20 +- .../use-the-strong-tag-to-make-text-bold.md | 12 +- ...ansform-property-to-make-text-uppercase.md | 14 +- .../use-the-u-tag-to-underline-text.md | 12 +- .../add-borders-around-your-elements.md | 20 +- ...tach-a-fallback-value-to-a-css-variable.md | 16 +- .../basic-css/change-the-color-of-text.md | 20 +- ...ve-compatibility-with-browser-fallbacks.md | 12 +- .../set-the-font-family-of-an-element.md | 10 +- .../basic-css/use-a-custom-css-variable.md | 16 +- ...ion-to-specify-the-margin-of-an-element.md | 20 +- .../use-rgb-values-to-color-elements.md | 20 +- .../add-a-submit-button-to-a-form.md | 16 +- .../create-a-set-of-radio-buttons.md | 32 +-- .../basic-html-and-html5/uncomment-html.md | 18 +- ...add-flex-superpowers-to-the-tweet-embed.md | 24 +- ...elements-using-the-align-items-property.md | 19 +- .../use-display-flex-to-position-two-boxes.md | 10 +- ...x-wrap-property-to-wrap-a-row-or-column.md | 14 +- .../confirm-the-ending.md | 28 +- .../falsy-bouncer.md | 18 +- ...the-presence-of-an-element-with-indexof.md | 22 +- ...-an-array-to-store-a-collection-of-data.md | 20 +- ...g-a-default-option-in-switch-statements.md | 24 +- .../build-javascript-objects.md | 28 +- ...comparison-with-the-inequality-operator.md | 2 +- .../escaping-literal-quotes-in-strings.md | 14 +- .../find-the-length-of-a-string.md | 16 +- ...-variables-with-the-assignment-operator.md | 10 +- .../iterate-odd-numbers-with-a-for-loop.md | 14 +- ...terate-through-an-array-with-a-for-loop.md | 16 +- .../logical-order-in-if-else-statements.md | 24 +- .../nest-one-array-within-another-array.md | 10 +- .../basic-javascript/shopping-list.md | 16 +- ...ing-values-with-the-assignment-operator.md | 16 +- ...ndefined-value-returned-from-a-function.md | 18 +- .../understanding-uninitialized-variables.md | 14 +- .../use-recursion-to-create-a-countdown.md | 26 +- ...-recursion-to-create-a-range-of-numbers.md | 20 +- .../using-objects-for-lookups.md | 28 +- ...en-the-freecodecamp-and-browser-console.md | 16 +- ...pare-scopes-of-the-var-and-let-keywords.md | 36 +-- .../create-strings-using-template-literals.md | 24 +- ...gnment-to-assign-variables-from-objects.md | 20 +- .../write-arrow-functions-with-parameters.md | 24 +- ...lement-the-filter-method-on-a-prototype.md | 14 +- ...ion-to-currying-and-partial-application.md | 24 +- .../learn-about-functional-programming.md | 20 +- ...er-method-to-extract-data-from-an-array.md | 22 +- .../arguments-optional.md | 30 +- .../make-a-person.md | 6 +- .../search-and-replace.md | 24 +- .../sorted-union.md | 20 +- .../sum-all-numbers-in-a-range.md | 16 +- .../roman-numeral-converter.md | 92 +++--- .../understand-the-prototype-chain.md | 14 +- ...ype-properties-to-reduce-duplicate-code.md | 20 +- .../find-characters-with-lazy-matching.md | 20 +- .../match-all-letters-and-numbers.md | 24 +- .../bootstrap/create-a-bootstrap-row.md | 14 +- .../bootstrap/create-a-custom-heading.md | 18 +- .../ditch-custom-css-for-bootstrap.md | 22 +- .../give-each-element-a-unique-id.md | 20 +- .../responsively-style-radio-buttons.md | 14 +- ...how-script-tags-and-document-ready-work.md | 22 +- .../target-elements-by-id-using-jquery.md | 18 +- .../connect-redux-to-the-messages-app.md | 18 +- .../extract-local-state-into-redux.md | 26 +- .../moving-forward-from-here.md | 12 +- .../create-a-component-with-composition.md | 16 +- .../react/pass-an-array-as-props.md | 6 +- .../render-a-class-component-to-the-dom.md | 18 +- .../react/render-conditionally-from-props.md | 26 +- .../sass/create-reusable-css-with-mixins.md | 2 +- .../use-each-to-map-over-items-in-a-list.md | 18 +- .../sass/use-for-to-create-a-sass-loop.md | 28 +- ...if-and-else-to-add-logic-to-your-styles.md | 20 +- .../visualize-data-with-a-treemap-diagram.md | 42 +-- .../add-classes-with-d3.md | 14 +- .../create-a-scatterplot-with-svg-circles.md | 12 +- ...minimum-and-maximum-values-in-a-dataset.md | 18 +- .../add-keywords-to-your-package.json.md | 16 +- .../create-and-save-a-record-of-a-model.md | 8 +- ...a-document-using-model.findoneandupdate.md | 10 +- .../announce-new-users.md | 14 +- .../authentication-strategies.md | 20 +- .../clean-up-your-project-with-modules.md | 18 +- .../hashing-your-passwords.md | 18 +- ...nt-the-serialization-of-a-passport-user.md | 16 +- .../send-and-display-chat-messages.md | 18 +- ...nctional-tests-using-a-headless-browser.md | 52 ++-- ...s-below-or-at-least-as-large-as-another.md | 14 +- .../sudoku-solver.md | 120 ++++---- .../probability-calculator.md | 4 +- .../65796fac81f983127558f3f4.md | 2 +- .../65797670e0c0d016f17e7660.md | 2 +- .../656680b0fc79f2c38a34d90e.md | 2 +- .../656710d1e0ec62253426db24.md | 2 +- .../6569b20f829b7e69d43c232a.md | 2 +- .../6569b6be44940a8e2a469c31.md | 2 +- .../6577562501feabdf0984a184.md | 2 +- .../65687a005aba3ea815b84e68.md | 2 +- .../65687a923dd792ad339f9c09.md | 2 +- .../65687e294ef2bdca637fb213.md | 2 +- .../656880227dab4bd8fbc02d41.md | 2 +- .../657ed53c19461d4b95c4757a.md | 2 +- .../657ef2a86d4e545cec9a85fb.md | 2 +- .../657efdcf7fe23b76c0cff9ec.md | 2 +- .../64dc90949ff85e3b37be40d0.md | 2 +- .../64dc922df2919e3c38cead61.md | 2 +- .../64dc92a9718fb53ca3d1bad7.md | 2 +- .../64dc963d866fff3dd0329993.md | 2 +- .../64de6c8a5305d8173a3a9e09.md | 2 +- .../64de73f6c2486518e3064fec.md | 2 +- .../64de7662244db513d7b673ec.md | 2 +- .../64de7be06eb689161dd63cf0.md | 2 +- .../64df202aa1342114cd077920.md | 2 +- .../64df353d7ae6dc148fd64f53.md | 2 +- .../64df3f1011888113fbd3d81b.md | 2 +- .../64df45a3ad4f8719e5355244.md | 2 +- .../64df496c6a8ddf1b38db1ed6.md | 2 +- .../64e337e3096b7c1739d934e6.md | 2 +- .../64e340ecee18af1430939018.md | 2 +- .../64e34146860065146733883b.md | 2 +- .../65782342850feb3b8d62f936.md | 2 +- .../65646ffeaed2d238c562a014.md | 2 +- .../65648e4c5b316c4ec5e4fddc.md | 2 +- .../656490295d346850a4c4f2b5.md | 2 +- .../6564d096a55d707bd77ab67b.md | 2 +- .../6564daa2725b9b8420141b1c.md | 2 +- .../6564eebf0d2d6390b9377197.md | 2 +- .../6564f32b18480893cf7799fd.md | 2 +- .../6564fd78ffff909b1531d3c3.md | 2 +- .../6565c084627071646f94c4b0.md | 2 +- .../6565c13fdb798865c161d8f8.md | 2 +- .../656ef7f792734072dedd8319.md | 2 +- .../657dadf4d8b93c1704f3a57c.md | 4 +- .../657db4cb77190e33a20e852a.md | 2 +- .../6551f22653e6ce6e4f1d1370.md | 10 +- .../6551f4259d66026ee28cb205.md | 2 +- .../6551f5756c20146fc94f8675.md | 2 +- .../6552008c0d9d9075cbec9772.md | 10 +- .../655220953ba90d80514d7ee2.md | 4 +- .../6553f6b4ec51112d44d737c8.md | 2 +- .../6554930320d70414e7b6acc6.md | 2 +- .../65549f90cf78131c96ebcf28.md | 8 +- .../6554a334a40edb1fb4eff827.md | 8 +- .../6554d25dc5ceaa354307a77e.md | 4 +- .../6554e2ee23bfd93f2c83640f.md | 2 +- .../6554e343caea913ffba7bec6.md | 2 +- .../6555db4a7b788e15795674e5.md | 2 +- .../6555e5991af57d1ae0e35f0a.md | 4 +- .../655a2a7210094920069b117c.md | 16 +- .../65688a50e6c998a21d8e41d3.md | 2 +- .../666064e915eba7aa1de03f6b.md | 2 +- .../numpy-introduction-a.md | 18 +- .../pandas-creating-columns.md | 12 +- .../python-functions-and-collections.md | 18 +- .../reading-data-introduction.md | 14 +- .../demographic-data-analyzer.md | 46 +-- .../sea-level-predictor.md | 40 +-- .../install-and-require-helmet.md | 16 +- .../creating-a-tcp-client.md | 4 +- ...ts-at-a-specific-index-in-a-linked-list.md | 2 +- .../deep-learning-demystified.md | 12 +- ...rks-rnn-and-long-short-term-memory-lstm.md | 10 +- .../book-recommendation-engine-using-knn.md | 28 +- ...ral-networks-picking-a-pretrained-model.md | 4 +- ...neural-networks-the-convolutional-layer.md | 10 +- .../tensorflow/introduction-to-tensorflow.md | 12 +- .../build-a-celestial-bodies-database.md | 8 +- .../build-a-student-database-part-1.md | 4 +- .../build-a-student-database-part-2.md | 4 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 14 +- .../614202874ca576084fca625f.md | 32 +-- .../614396f7ae83f20ea6f9f4b3.md | 28 +- .../6145e8b5080a5f06bb0223d0.md | 42 +-- .../6145f02240ff8f09f7ec913c.md | 12 +- .../614796cb8086be482d60e0ac.md | 14 +- .../614878f7a412310647873015.md | 14 +- .../614883b6fa720e09fb167de9.md | 14 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 14 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 28 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../614ccc21ea91ef1736b9b578.md | 8 +- .../5f332b23c2045fb843337579.md | 14 +- .../5f344fad8bf01691e71a30eb.md | 10 +- .../5f3477cb303c5cb61b43aa9b.md | 10 +- .../5f35e5c44359872a137bd98f.md | 14 +- .../5f3cade99dda4e6071a85dfd.md | 12 +- .../5f3ef6e01f288a026d709587.md | 16 +- .../5f3ef6e056bdde6ae6892ba2.md | 14 +- .../5f3ef6e0f8c230bdd2349716.md | 14 +- .../5f459225127805351a6ad057.md | 8 +- .../5f4701b942c824109626c3d8.md | 8 +- .../5f47fe7e31980053a8d4403b.md | 10 +- .../6140cbeec34e970dfe75e710.md | 12 +- .../617ace7d831f9c16a569b38a.md | 8 +- .../616d47bc9eedc4bc7f621bec.md | 12 +- .../61764f7e5240eb7ccc7f6a0a.md | 8 +- .../617b65579ce424bf5f02ca73.md | 12 +- .../617b8b38f32bf2080a140675.md | 12 +- .../617b8e0d93a8d10d9a90e720.md | 16 +- .../617b954d9f4f6217a749380e.md | 10 +- .../617bb5624a75e86463b7e638.md | 8 +- .../618a16873520a8d088ffdf44.md | 6 +- .../619b7424f43ec9215e538afe.md | 12 +- .../619b761916dac02643940022.md | 10 +- .../61a489b8579e87364b2d2cdb.md | 12 +- .../61a5ca57f50ded36d33eef96.md | 8 +- .../61b092eb9e7fc020b43b1bb2.md | 8 +- .../61b093219e7fc020b43b1bb4.md | 10 +- .../61b09f739aa6572d2064f9b8.md | 8 +- .../61b0a1b2af494934b7ec1a72.md | 14 +- .../61b3183655ec10efd8c0bb07.md | 10 +- .../61537d86bdc3dd343688fceb.md | 24 +- .../6153893900438b4643590367.md | 22 +- .../6153938dce8b294ff8f5a4e9.md | 8 +- .../6143a778bffc206ac6b1dbe3.md | 8 +- .../6143b9e1f5035c6e5f2a8231.md | 48 ++-- .../6143c2a363865c715f1a3f72.md | 16 +- .../6144de308591ec10e27d5383.md | 8 +- .../6148b185ef37522f688316b0.md | 10 +- .../6148c5036ddad94692a66230.md | 8 +- .../6148d94fdf6a5d6899f8ff15.md | 6 +- .../614e0e588f0e8a772a8a81a6.md | 8 +- .../6196928658b6010f28c39484.md | 6 +- .../6199429802b7c10dc79ff871.md | 12 +- .../619be73b3c806006ccc00bb0.md | 10 +- .../619c155df0063a0a3fec0e32.md | 18 +- .../619d05c54dabca0b10058235.md | 12 +- .../619d1e7a8e81a61c5a819dc4.md | 6 +- .../619d237a107c10221ed743fa.md | 18 +- .../619d2b7a84e78b246f2d17a2.md | 16 +- .../619d30350883802921bfcccc.md | 2 +- .../619d333b738e3c2b5d58b095.md | 6 +- .../5d822fd413a79914d39e98ca.md | 14 +- .../5d822fd413a79914d39e98d7.md | 10 +- .../5d822fd413a79914d39e98dc.md | 10 +- .../5d822fd413a79914d39e98e9.md | 16 +- .../5d822fd413a79914d39e98ee.md | 8 +- .../5d822fd413a79914d39e98f0.md | 14 +- .../5d822fd413a79914d39e98f5.md | 6 +- .../5d822fd413a79914d39e9903.md | 8 +- .../5d822fd413a79914d39e9915.md | 6 +- .../5d822fd413a79914d39e991a.md | 10 +- .../5d822fd413a79914d39e9927.md | 6 +- .../5d822fd413a79914d39e992c.md | 8 +- .../5d822fd413a79914d39e9939.md | 6 +- .../5d822fd413a79914d39e993e.md | 14 +- .../5dc174fcf86c76b9248c6eb2.md | 24 +- .../5dc23991f86c76b9248c6eb8.md | 26 +- .../5dc23f9bf86c76b9248c6eba.md | 14 +- .../5dfa22d1b521be39a3de7be0.md | 16 +- .../5dfa30b9eacea3f48c6300ad.md | 24 +- .../5ef9b03c81a63668521804d8.md | 18 +- .../5ef9b03c81a63668521804dd.md | 20 +- .../5efc518e8d6a74d05e68af75.md | 12 +- .../5f0d4d04b435f13ab6550053.md | 12 +- .../60f027c87bc98f050395c139.md | 18 +- .../60f8618d191b940d62038513.md | 10 +- .../60fac4095512d3066053d73c.md | 10 +- .../60fc219d333e37046f474a6e.md | 8 +- .../60fc22d1e64d1b04cdd4e602.md | 12 +- .../60ffe1bc30415f042faea936.md | 10 +- .../60ffefd6479a3d084fb77cbc.md | 6 +- .../646c586be7180e40ddf74ff6.md | 8 +- .../646c5ffef5598d449b52ec12.md | 12 +- .../646ce9d790d2a44de5f99e04.md | 16 +- .../646dd6f9caa862627dd87772.md | 10 +- .../646dec359bef3b7811fba5a6.md | 14 +- .../646df0cf26413a7b35e4b8b3.md | 14 +- .../646f0ef13604420a8744f7d4.md | 12 +- .../646f107abb89d00bb99f387a.md | 12 +- .../647d855ac12cd436059acd39.md | 8 +- .../61fd6343fb42013d99bcd7f3.md | 8 +- .../61fd9b7285bde783ad5b8aac.md | 28 +- .../6201995d9ab88e80f1989dce.md | 8 +- .../612e813b3ba67633222cbe54.md | 18 +- .../612e8279827a28352ce83a72.md | 12 +- .../612e9f1e7e5ccd4fa9ada0be.md | 8 +- .../612ebedec97e096c8bf64999.md | 8 +- .../60a3e3396c7b40068ad6996b.md | 18 +- .../60a3e3396c7b40068ad69973.md | 8 +- .../60a3e3396c7b40068ad69978.md | 10 +- .../60a3e3396c7b40068ad6997d.md | 10 +- .../60a3e3396c7b40068ad6998a.md | 8 +- .../60a3e3396c7b40068ad6998f.md | 10 +- .../60a3e3396c7b40068ad69991.md | 8 +- .../60a3e3396c7b40068ad69997.md | 10 +- .../615f34ecc1091b4fd5a8a484.md | 18 +- .../615f4ce9d877b668417c0c42.md | 10 +- .../615f51257a8a516d80b6c743.md | 10 +- .../615f7c71eab8218f846e4503.md | 18 +- .../615f7ecb09de9a938ef94756.md | 22 +- .../615f887466db4ba14b5342cc.md | 18 +- .../the-cascade-of-css-lesson-f.md | 4 +- .../build-a-graphing-calculator.md | 24 +- .../build-a-multi-function-calculator.md | 24 +- .../spreadsheets-and-additional-resources.md | 6 +- .../fractions-and-decimals-extra.md | 18 +- .../problem-47-distinct-primes-factors.md | 4 +- .../problem-56-powerful-digit-sum.md | 2 +- .../problem-88-product-sum-numbers.md | 2 +- ...problem-105-special-subset-sums-testing.md | 12 +- .../problem-109-darts.md | 16 +- .../problem-124-ordered-radicals.md | 8 +- .../problem-133-repunit-nonfactors.md | 10 +- ...m-140-modified-fibonacci-golden-nuggets.md | 10 +- .../problem-148-exploring-pascals-triangle.md | 8 +- .../problem-154-exploring-pascals-pyramid.md | 12 +- ...roblem-167-investigating-ulam-sequences.md | 6 +- .../problem-168-number-rotations.md | 10 +- ...ent-hollow-square-laminae-can-be-formed.md | 2 +- .../problem-178-step-numbers.md | 4 +- .../problem-182-rsa-encryption.md | 24 +- .../problem-186-connectedness-of-a-network.md | 18 +- .../problem-213-flea-circus.md | 6 +- .../problem-253-tidying-up.md | 6 +- ...ur-distinct-prime-factors-less-than-100.md | 2 +- .../problem-295-lenticular-holes.md | 6 +- ...em-311-biclinic-integral-quadrilaterals.md | 2 +- .../problem-313-sliding-game.md | 2 +- ...-factorials-divisible-by-a-huge-integer.md | 10 +- ...itwise-or-operations-on-random-integers.md | 2 +- ...em-341-golombs-self-describing-sequence.md | 2 +- .../problem-344-silver-dollar-game.md | 10 +- ...-356-largest-roots-of-cubic-polynomials.md | 2 +- ...-361-subsequence-of-thue-morse-sequence.md | 2 +- .../problem-368-a-kempner-like-series.md | 6 +- .../problem-380-amazing-mazes.md | 4 +- .../problem-405-a-rectangular-tiling.md | 2 +- .../problem-416-a-frogs-trip.md | 2 +- .../problem-434-rigid-graphs.md | 10 +- .../problem-436-unfair-wager.md | 6 +- ...oblem-448-average-least-common-multiple.md | 2 +- .../problem-461-almost-pi.md | 109 +++---- .../problem-467-superinteger.md | 4 +- ...mooth-divisors-of-binomial-coefficients.md | 6 +- ...ng-the-switch-case-construct-in-c-sharp.md | 20 +- ...-and-logic-using-code-blocks-in-c-sharp.md | 20 +- ...ching-and-looping-structures-in-c-sharp.md | 20 +- .../5daa813381b9e3db6c126b43.md | 2 +- .../657dcafa1e1a4a62dc03cb76.md | 2 +- .../656d23d22a488510bca0e418.md | 2 +- .../657b11f87368cf463ea4fe46.md | 2 +- .../657b1d4ec0e2587e8bcc95f7.md | 2 +- .../657b227f7ad32ea17e2cdf28.md | 2 +- .../655b67f02eecf57fa75ceecf.md | 2 +- .../656a46e84a0ad845901ea907.md | 2 +- .../6557d782bc7613c06aa7dafd.md | 4 +- .../655a54506b259313b2d59577.md | 2 +- .../655b39e59c29d16d64a2ce8e.md | 4 +- .../ackermann-function.md | 18 +- ...cles-of-given-radius-through-two-points.md | 26 +- .../rosetta-code-challenges/combinations.md | 12 +- .../convert-seconds-to-compound-duration.md | 20 +- .../factors-of-a-mersenne-number.md | 42 +-- .../rosetta-code-challenges/gamma-function.md | 4 +- .../generate-lower-case-ascii-alphabet.md | 16 +- .../hash-from-two-arrays.md | 4 +- .../rosetta-code-challenges/k-d-tree.md | 20 +- .../knapsack-problem-0-1.md | 18 +- .../least-common-multiple.md | 2 +- .../long-multiplication.md | 22 +- .../lucas-lehmer-test.md | 20 +- .../luhn-test-of-credit-card-numbers.md | 32 +-- .../sorting-algorithms-stooge-sort.md | 18 +- .../taxicab-numbers.md | 30 +- .../tokenize-a-string-with-escaping.md | 30 +- .../vector-cross-product.md | 10 +- .../rosetta-code-challenges/word-wrap.md | 14 +- .../comparing-and-sorting-tuples.md | 6 +- .../introduction-hardware-achitecture.md | 8 +- .../66a207974c806a19d6607073.md | 2 +- .../aa2e6f85cab2ab736c9a9b24.md | 2 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 2 +- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 2 +- .../66be24cb4144f955b6bcc550.md | 2 +- .../66b62d0ad68488dd76228d6c.md | 2 +- .../668f08ea07b99b1f4a91acab.md | 18 +- .../66c057041df6394ca796bf33.md | 2 +- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 200 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../66ad8294a0ad902f1b31b612.md | 2 +- ...2-english-for-developers-certification.yml | 4 +- ...1-english-for-developers-certification.yml | 2 +- ...end-development-and-apis-certification.yml | 12 +- ...lege-algebra-with-python-certification.yml | 12 +- ...ata-analysis-with-python-certification.yml | 13 +- .../data-visualization-certification.yml | 13 +- .../foundational-c-sharp-with-microsoft.yml | 4 +- .../front-end-development.yml | 4 +- ...nd-development-libraries-certification.yml | 12 +- .../information-security-certification.yml | 13 +- ...thms-and-data-structures-certification.yml | 13 +- ...s-and-data-structures-certification-v8.yml | 12 +- .../legacy-back-end-certification.yml | 23 +- ...egacy-data-visualization-certification.yml | 23 +- .../legacy-front-end-certification.yml | 23 +- .../legacy-full-stack-certification.yml | 15 +- ...ty-and-quality-assurance-certification.yml | 13 +- ...ine-learning-with-python-certification.yml | 13 +- .../quality-assurance-certification.yml | 13 +- .../relational-database-certification.yml | 13 +- .../responsive-web-design-certification.yml | 13 +- ...ic-computing-with-python-certification.yml | 13 +- .../upcoming-python-certification.yml | 4 +- .../add-an-accessible-date-picker.md | 20 +- ...igation-easier-with-the-header-landmark.md | 18 +- ...navigation-easier-with-the-nav-landmark.md | 16 +- ...dex-to-add-keyboard-focus-to-an-element.md | 14 +- ...t-the-background-color-property-of-text.md | 20 +- ...of-an-element-using-the-height-property.md | 10 +- .../adjust-the-tone-of-a-color.md | 8 +- .../animate-elements-at-variable-rates.md | 10 +- ...ate-multiple-elements-at-variable-rates.md | 14 +- ...-horizontally-using-the-margin-property.md | 10 +- .../learn-how-bezier-curves-work.md | 16 +- ...otion-more-natural-using-a-bezier-curve.md | 14 +- ...nt-weight-for-multiple-heading-elements.md | 20 +- .../use-the-strong-tag-to-make-text-bold.md | 12 +- ...ansform-property-to-make-text-uppercase.md | 14 +- .../use-the-u-tag-to-underline-text.md | 12 +- .../add-borders-around-your-elements.md | 20 +- ...tach-a-fallback-value-to-a-css-variable.md | 16 +- .../basic-css/change-the-color-of-text.md | 20 +- ...ve-compatibility-with-browser-fallbacks.md | 12 +- .../set-the-font-family-of-an-element.md | 10 +- .../basic-css/use-a-custom-css-variable.md | 16 +- ...ion-to-specify-the-margin-of-an-element.md | 20 +- .../use-rgb-values-to-color-elements.md | 20 +- .../add-a-submit-button-to-a-form.md | 16 +- .../create-a-set-of-radio-buttons.md | 32 +-- .../basic-html-and-html5/uncomment-html.md | 18 +- ...add-flex-superpowers-to-the-tweet-embed.md | 24 +- ...elements-using-the-align-items-property.md | 20 +- .../use-display-flex-to-position-two-boxes.md | 10 +- ...x-wrap-property-to-wrap-a-row-or-column.md | 14 +- .../confirm-the-ending.md | 28 +- .../falsy-bouncer.md | 18 +- ...the-presence-of-an-element-with-indexof.md | 22 +- ...-an-array-to-store-a-collection-of-data.md | 20 +- ...g-a-default-option-in-switch-statements.md | 24 +- .../build-javascript-objects.md | 28 +- ...comparison-with-the-inequality-operator.md | 2 +- .../escaping-literal-quotes-in-strings.md | 14 +- .../find-the-length-of-a-string.md | 16 +- ...-variables-with-the-assignment-operator.md | 10 +- .../iterate-odd-numbers-with-a-for-loop.md | 14 +- ...terate-through-an-array-with-a-for-loop.md | 16 +- .../logical-order-in-if-else-statements.md | 24 +- .../nest-one-array-within-another-array.md | 10 +- .../basic-javascript/shopping-list.md | 16 +- ...ing-values-with-the-assignment-operator.md | 16 +- ...ndefined-value-returned-from-a-function.md | 18 +- .../understanding-uninitialized-variables.md | 14 +- .../use-recursion-to-create-a-countdown.md | 26 +- ...-recursion-to-create-a-range-of-numbers.md | 20 +- .../using-objects-for-lookups.md | 28 +- ...en-the-freecodecamp-and-browser-console.md | 16 +- ...pare-scopes-of-the-var-and-let-keywords.md | 36 +-- .../create-strings-using-template-literals.md | 24 +- ...gnment-to-assign-variables-from-objects.md | 20 +- .../write-arrow-functions-with-parameters.md | 24 +- ...lement-the-filter-method-on-a-prototype.md | 14 +- ...ion-to-currying-and-partial-application.md | 24 +- .../learn-about-functional-programming.md | 20 +- ...er-method-to-extract-data-from-an-array.md | 22 +- .../arguments-optional.md | 30 +- .../make-a-person.md | 42 +-- .../search-and-replace.md | 24 +- .../sorted-union.md | 20 +- .../sum-all-numbers-in-a-range.md | 16 +- .../roman-numeral-converter.md | 92 +++--- .../understand-the-prototype-chain.md | 14 +- ...ype-properties-to-reduce-duplicate-code.md | 20 +- .../find-characters-with-lazy-matching.md | 20 +- .../match-all-letters-and-numbers.md | 24 +- .../bootstrap/create-a-bootstrap-row.md | 14 +- .../bootstrap/create-a-custom-heading.md | 18 +- .../ditch-custom-css-for-bootstrap.md | 22 +- .../give-each-element-a-unique-id.md | 20 +- .../responsively-style-radio-buttons.md | 14 +- ...how-script-tags-and-document-ready-work.md | 22 +- .../target-elements-by-id-using-jquery.md | 18 +- .../connect-redux-to-the-messages-app.md | 18 +- .../extract-local-state-into-redux.md | 26 +- .../moving-forward-from-here.md | 12 +- .../create-a-component-with-composition.md | 16 +- .../react/pass-an-array-as-props.md | 6 +- .../render-a-class-component-to-the-dom.md | 18 +- .../react/render-conditionally-from-props.md | 26 +- .../sass/create-reusable-css-with-mixins.md | 2 +- .../use-each-to-map-over-items-in-a-list.md | 16 +- .../sass/use-for-to-create-a-sass-loop.md | 28 +- ...if-and-else-to-add-logic-to-your-styles.md | 20 +- .../visualize-data-with-a-treemap-diagram.md | 42 +-- .../add-classes-with-d3.md | 14 +- .../create-a-scatterplot-with-svg-circles.md | 12 +- ...minimum-and-maximum-values-in-a-dataset.md | 18 +- .../add-keywords-to-your-package.json.md | 16 +- .../create-and-save-a-record-of-a-model.md | 8 +- ...a-document-using-model.findoneandupdate.md | 10 +- .../announce-new-users.md | 14 +- .../authentication-strategies.md | 20 +- .../clean-up-your-project-with-modules.md | 18 +- .../hashing-your-passwords.md | 18 +- ...nt-the-serialization-of-a-passport-user.md | 16 +- .../send-and-display-chat-messages.md | 18 +- ...nctional-tests-using-a-headless-browser.md | 54 ++-- ...s-below-or-at-least-as-large-as-another.md | 16 +- .../sudoku-solver.md | 14 +- .../probability-calculator.md | 4 +- .../65796fac81f983127558f3f4.md | 2 +- .../65797670e0c0d016f17e7660.md | 2 +- .../656680b0fc79f2c38a34d90e.md | 2 +- .../65670d1ef177e7e2b76d9528.md | 2 +- .../656710d1e0ec62253426db24.md | 2 +- .../6569b20f829b7e69d43c232a.md | 2 +- .../6569b6be44940a8e2a469c31.md | 2 +- .../6577562501feabdf0984a184.md | 2 +- .../65687a005aba3ea815b84e68.md | 2 +- .../65687a923dd792ad339f9c09.md | 2 +- .../65687e294ef2bdca637fb213.md | 2 +- .../656880227dab4bd8fbc02d41.md | 2 +- .../657ed53c19461d4b95c4757a.md | 2 +- .../657ef2a86d4e545cec9a85fb.md | 2 +- .../657efdcf7fe23b76c0cff9ec.md | 2 +- .../64dc90949ff85e3b37be40d0.md | 2 +- .../64dc922df2919e3c38cead61.md | 2 +- .../64dc92a9718fb53ca3d1bad7.md | 2 +- .../64dc963d866fff3dd0329993.md | 2 +- .../64de6c8a5305d8173a3a9e09.md | 2 +- .../64de73f6c2486518e3064fec.md | 2 +- .../64de7662244db513d7b673ec.md | 2 +- .../64de7be06eb689161dd63cf0.md | 2 +- .../64df202aa1342114cd077920.md | 2 +- .../64df353d7ae6dc148fd64f53.md | 2 +- .../64df3f1011888113fbd3d81b.md | 2 +- .../64df45a3ad4f8719e5355244.md | 2 +- .../64df496c6a8ddf1b38db1ed6.md | 2 +- .../64e337e3096b7c1739d934e6.md | 2 +- .../64e340ecee18af1430939018.md | 2 +- .../64e34146860065146733883b.md | 2 +- .../65782342850feb3b8d62f936.md | 2 +- .../65646ffeaed2d238c562a014.md | 2 +- .../65648e4c5b316c4ec5e4fddc.md | 2 +- .../656490295d346850a4c4f2b5.md | 2 +- .../6564d096a55d707bd77ab67b.md | 2 +- .../6564daa2725b9b8420141b1c.md | 2 +- .../6564eebf0d2d6390b9377197.md | 2 +- .../6564f32b18480893cf7799fd.md | 2 +- .../6564fd78ffff909b1531d3c3.md | 2 +- .../6565c084627071646f94c4b0.md | 2 +- .../6565c13fdb798865c161d8f8.md | 2 +- .../656ef7f792734072dedd8319.md | 2 +- .../657dadf4d8b93c1704f3a57c.md | 4 +- .../657db4cb77190e33a20e852a.md | 2 +- .../numpy-introduction-a.md | 18 +- .../pandas-creating-columns.md | 14 +- .../python-functions-and-collections.md | 18 +- .../reading-data-introduction.md | 16 +- .../demographic-data-analyzer.md | 48 ++-- .../sea-level-predictor.md | 30 +- .../install-and-require-helmet.md | 18 +- .../creating-a-tcp-client.md | 4 +- ...ts-at-a-specific-index-in-a-linked-list.md | 12 +- .../data-structures/adjacency-list.md | 18 +- ...-maximum-height-of-a-binary-search-tree.md | 28 +- ...orm-an-intersection-on-two-sets-of-data.md | 10 +- .../use-.has-and-.size-on-an-es6-set.md | 14 +- .../deep-learning-demystified.md | 12 +- ...rks-rnn-and-long-short-term-memory-lstm.md | 10 +- .../book-recommendation-engine-using-knn.md | 28 +- ...ral-networks-picking-a-pretrained-model.md | 4 +- ...neural-networks-the-convolutional-layer.md | 4 +- .../build-a-celestial-bodies-database.md | 8 +- .../build-a-student-database-part-1.md | 4 +- .../build-a-student-database-part-2.md | 4 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 14 +- .../614202874ca576084fca625f.md | 32 +-- .../614396f7ae83f20ea6f9f4b3.md | 28 +- .../6145e8b5080a5f06bb0223d0.md | 42 +-- .../6145f02240ff8f09f7ec913c.md | 12 +- .../614796cb8086be482d60e0ac.md | 14 +- .../614878f7a412310647873015.md | 14 +- .../614883b6fa720e09fb167de9.md | 14 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 14 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 28 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../614ccc21ea91ef1736b9b578.md | 8 +- .../5f332b23c2045fb843337579.md | 14 +- .../5f344fad8bf01691e71a30eb.md | 10 +- .../5f3477cb303c5cb61b43aa9b.md | 10 +- .../5f35e5c44359872a137bd98f.md | 14 +- .../5f3cade99dda4e6071a85dfd.md | 12 +- .../5f3ef6e01f288a026d709587.md | 16 +- .../5f3ef6e056bdde6ae6892ba2.md | 14 +- .../5f3ef6e0f8c230bdd2349716.md | 14 +- .../5f459225127805351a6ad057.md | 8 +- .../5f4701b942c824109626c3d8.md | 8 +- .../5f47fe7e31980053a8d4403b.md | 10 +- .../6140cbeec34e970dfe75e710.md | 12 +- .../617ace7d831f9c16a569b38a.md | 8 +- .../616d47bc9eedc4bc7f621bec.md | 12 +- .../61764f7e5240eb7ccc7f6a0a.md | 8 +- .../617b65579ce424bf5f02ca73.md | 12 +- .../617b8b38f32bf2080a140675.md | 12 +- .../617b8e0d93a8d10d9a90e720.md | 16 +- .../617b954d9f4f6217a749380e.md | 10 +- .../617bb5624a75e86463b7e638.md | 8 +- .../618a16873520a8d088ffdf44.md | 6 +- .../619b7424f43ec9215e538afe.md | 12 +- .../619b761916dac02643940022.md | 10 +- .../61a489b8579e87364b2d2cdb.md | 12 +- .../61a5ca57f50ded36d33eef96.md | 8 +- .../61b092eb9e7fc020b43b1bb2.md | 8 +- .../61b093219e7fc020b43b1bb4.md | 10 +- .../61b09f739aa6572d2064f9b8.md | 8 +- .../61b0a1b2af494934b7ec1a72.md | 14 +- .../61b3183655ec10efd8c0bb07.md | 10 +- .../61537d86bdc3dd343688fceb.md | 24 +- .../6153893900438b4643590367.md | 22 +- .../6153938dce8b294ff8f5a4e9.md | 8 +- .../6143a778bffc206ac6b1dbe3.md | 8 +- .../6143b9e1f5035c6e5f2a8231.md | 36 +-- .../6143c2a363865c715f1a3f72.md | 16 +- .../6144de308591ec10e27d5383.md | 8 +- .../6148b185ef37522f688316b0.md | 10 +- .../6148c5036ddad94692a66230.md | 8 +- .../6148d94fdf6a5d6899f8ff15.md | 6 +- .../614e0e588f0e8a772a8a81a6.md | 8 +- .../6196928658b6010f28c39484.md | 6 +- .../6199429802b7c10dc79ff871.md | 12 +- .../619be73b3c806006ccc00bb0.md | 10 +- .../619c155df0063a0a3fec0e32.md | 18 +- .../619d05c54dabca0b10058235.md | 12 +- .../619d1e7a8e81a61c5a819dc4.md | 6 +- .../619d237a107c10221ed743fa.md | 18 +- .../619d2b7a84e78b246f2d17a2.md | 16 +- .../619d30350883802921bfcccc.md | 2 +- .../619d333b738e3c2b5d58b095.md | 6 +- .../5d822fd413a79914d39e98ca.md | 14 +- .../5d822fd413a79914d39e98d7.md | 10 +- .../5d822fd413a79914d39e98dc.md | 10 +- .../5d822fd413a79914d39e98e9.md | 16 +- .../5d822fd413a79914d39e98ee.md | 8 +- .../5d822fd413a79914d39e98f0.md | 14 +- .../5d822fd413a79914d39e98f5.md | 6 +- .../5d822fd413a79914d39e9903.md | 8 +- .../5d822fd413a79914d39e9915.md | 6 +- .../5d822fd413a79914d39e991a.md | 10 +- .../5d822fd413a79914d39e9927.md | 6 +- .../5d822fd413a79914d39e992c.md | 8 +- .../5d822fd413a79914d39e9939.md | 6 +- .../5d822fd413a79914d39e993e.md | 14 +- .../5dc174fcf86c76b9248c6eb2.md | 24 +- .../5dc23991f86c76b9248c6eb8.md | 26 +- .../5dc23f9bf86c76b9248c6eba.md | 14 +- .../5dfa22d1b521be39a3de7be0.md | 16 +- .../5dfa30b9eacea3f48c6300ad.md | 24 +- .../5ef9b03c81a63668521804d8.md | 18 +- .../5ef9b03c81a63668521804dd.md | 20 +- .../5efc518e8d6a74d05e68af75.md | 12 +- .../5f0d4d04b435f13ab6550053.md | 12 +- .../60f027c87bc98f050395c139.md | 18 +- .../60f8618d191b940d62038513.md | 10 +- .../60fac4095512d3066053d73c.md | 10 +- .../60fc219d333e37046f474a6e.md | 8 +- .../60fc22d1e64d1b04cdd4e602.md | 12 +- .../60ffe1bc30415f042faea936.md | 10 +- .../60ffefd6479a3d084fb77cbc.md | 6 +- .../646c586be7180e40ddf74ff6.md | 8 +- .../646c5ffef5598d449b52ec12.md | 12 +- .../646ce9d790d2a44de5f99e04.md | 16 +- .../646dd6f9caa862627dd87772.md | 10 +- .../646dec359bef3b7811fba5a6.md | 14 +- .../646df0cf26413a7b35e4b8b3.md | 14 +- .../646f0ef13604420a8744f7d4.md | 12 +- .../646f107abb89d00bb99f387a.md | 12 +- .../647d855ac12cd436059acd39.md | 8 +- .../61fd6343fb42013d99bcd7f3.md | 8 +- .../61fd9b7285bde783ad5b8aac.md | 28 +- .../6201995d9ab88e80f1989dce.md | 8 +- .../612e813b3ba67633222cbe54.md | 18 +- .../612e8279827a28352ce83a72.md | 12 +- .../612e9f1e7e5ccd4fa9ada0be.md | 8 +- .../612ebedec97e096c8bf64999.md | 8 +- .../60a3e3396c7b40068ad6996b.md | 18 +- .../60a3e3396c7b40068ad69973.md | 8 +- .../60a3e3396c7b40068ad69978.md | 10 +- .../60a3e3396c7b40068ad6997d.md | 10 +- .../60a3e3396c7b40068ad6998a.md | 8 +- .../60a3e3396c7b40068ad6998f.md | 10 +- .../60a3e3396c7b40068ad69991.md | 8 +- .../60a3e3396c7b40068ad69997.md | 10 +- .../615f34ecc1091b4fd5a8a484.md | 20 +- .../615f4ce9d877b668417c0c42.md | 10 +- .../615f51257a8a516d80b6c743.md | 10 +- .../615f7c71eab8218f846e4503.md | 18 +- .../615f7ecb09de9a938ef94756.md | 22 +- .../615f887466db4ba14b5342cc.md | 18 +- .../introduction-flexbox-lesson-g.md | 22 +- .../learn-arrays-and-loops-lesson-b.md | 4 +- .../learn-arrays-and-loops-lesson-g.md | 8 +- .../css-foundations-exercise-e.md | 22 +- .../css-foundations-lesson-c.md | 10 +- .../css-foundations-lesson-h.md | 18 +- .../the-cascade-of-css-lesson-f.md | 4 +- ...rn-data-types-and-conditionals-lesson-i.md | 10 +- .../learn-function-basics-lesson-a.md | 18 +- .../html-foundations-lesson-b.md | 18 +- .../html-foundations-lesson-h.md | 12 +- .../learn-variables-and-operators-lesson-c.md | 18 +- .../links-and-images-lesson-c.md | 30 +- .../links-and-images-lesson-d.md | 52 ++-- .../working-with-text-lesson-i.md | 18 +- .../build-a-graphing-calculator.md | 2 +- .../build-a-multi-function-calculator.md | 2 +- .../fractions-and-decimals-extra.md | 2 +- .../problem-47-distinct-primes-factors.md | 12 +- .../problem-88-product-sum-numbers.md | 14 +- .../problem-109-darts.md | 18 +- ...m-140-modified-fibonacci-golden-nuggets.md | 12 +- .../problem-148-exploring-pascals-triangle.md | 8 +- .../problem-168-number-rotations.md | 12 +- .../problem-253-tidying-up.md | 8 +- .../problem-267-billionaire.md | 14 +- ...em-341-golombs-self-describing-sequence.md | 10 +- .../problem-380-amazing-mazes.md | 2 +- .../problem-402-integer-valued-polynomials.md | 16 +- .../problem-434-rigid-graphs.md | 32 +-- ...oblem-448-average-least-common-multiple.md | 12 +- ...polynomial-modulo-the-square-of-a-prime.md | 12 +- .../problem-461-almost-pi.md | 109 +++---- ...roblem-464-mbius-function-and-intervals.md | 22 +- ...mooth-divisors-of-binomial-coefficients.md | 16 +- ...ng-the-switch-case-construct-in-c-sharp.md | 2 +- ...-and-logic-using-code-blocks-in-c-sharp.md | 2 +- ...ching-and-looping-structures-in-c-sharp.md | 2 +- .../5daa813381b9e3db6c126b43.md | 2 +- .../657b130a905a6045ebe03214.md | 10 +- .../657b190c4e736f5c4005b132.md | 8 +- .../657b30777fcf90c40b9d7ca8.md | 8 +- .../657b7d76e9447705f7e5ceb8.md | 8 +- .../657cdaeee8cc4517f84911a2.md | 12 +- .../657ced8b322c055e500c2d23.md | 10 +- .../657cfeeeabb34d946d437dc7.md | 8 +- .../657dc1d18a0a6f25302badba.md | 8 +- .../657dcafa1e1a4a62dc03cb76.md | 4 +- .../657dcee413423174ca3747f5.md | 8 +- .../6568c68b92a63810a57cffaf.md | 8 +- .../6568c759cb59e810dfaa1506.md | 8 +- .../656a10aaa023200eddd09d88.md | 8 +- .../656a1298f2a0400f56b31e25.md | 10 +- .../656a137523a9bc0f9d3bae01.md | 8 +- .../656a13f01a59cb0fc9d52149.md | 8 +- .../656a510695ccb03109117af0.md | 6 +- .../656a52da3392f631b9f3e022.md | 12 +- .../656a58b31bc9f233debc2bc9.md | 10 +- .../656ab31ebccec247fde7cee4.md | 8 +- .../656ab3bfc9e49d4841672043.md | 8 +- .../656ab4205a4054486ef3b691.md | 10 +- .../656ab5a3ee689949124d2e39.md | 6 +- .../656ab7e9be47c04a2518dbed.md | 8 +- .../656abb977f9ecf4b821aed11.md | 8 +- .../656abcd4cccfc84bf50f861b.md | 6 +- .../656cb0b3e4e30f0550131acd.md | 6 +- .../656cb2ee9d60f205d362b1de.md | 8 +- .../656cca055e5d1912d9784ce1.md | 8 +- .../656ccde87f42ec13b19c5dab.md | 8 +- .../656cd22d91db1915cb11f584.md | 8 +- .../656cd63a45146d1c2c51e682.md | 8 +- .../656cd6a37495961c5f242c5d.md | 8 +- .../656cd983328ab41d5bd929d0.md | 8 +- .../656cdcc291e5531ea11a8f2a.md | 6 +- .../656d1831a6a2fe0465ea9488.md | 6 +- .../656d19d9ab6e0c052edfb1e7.md | 8 +- .../656d1a520285050552702fc1.md | 8 +- .../656d23d22a488510bca0e418.md | 4 +- .../657b106ced8c653be6b3218f.md | 10 +- .../657b115008a62d41c0d7482f.md | 6 +- .../657b11e082e48a44eb4bfc09.md | 8 +- .../657b11f87368cf463ea4fe46.md | 8 +- .../657b1431076b365555784189.md | 6 +- .../657b163c9da40e62b904be1f.md | 10 +- .../657b1d4ec0e2587e8bcc95f7.md | 2 +- .../657b20338e0802931673c1e1.md | 6 +- .../657b227f7ad32ea17e2cdf28.md | 2 +- .../657b23bc0e32f9aa9c62eb82.md | 6 +- .../657b24542024c8af092cd6c4.md | 8 +- .../657b2c040bb5f6c77fa5df80.md | 8 +- .../657b2eeb31e435d89ecce6f3.md | 8 +- .../657b2f0b3bcfe7d9f4151854.md | 6 +- .../657b2fc9c0f96bdfddfce4d9.md | 10 +- .../657b30ac03b523e6640deaf1.md | 10 +- .../655b62a491cb2d7c687a1a2a.md | 6 +- .../655b6522da78357de8428a19.md | 8 +- .../655b67f02eecf57fa75ceecf.md | 10 +- .../655b69293e6e9480ed5f6624.md | 6 +- .../655bd2f3caad89436a3dcc04.md | 8 +- .../655bdc7e9c4116509df13f34.md | 10 +- .../656918c77e73780c34392e17.md | 10 +- .../656a46e84a0ad845901ea907.md | 10 +- .../656a4a7596c46e495c64a7ec.md | 10 +- .../656a4ac4529e0f49ab900c3b.md | 6 +- .../656a4b9e4822ba4a9893459e.md | 6 +- .../656a4d74286f4d4c4ae58de0.md | 6 +- .../6556ba2fe6c3f3846ea71ab2.md | 8 +- .../6556bfd76c3fc38ba94ccf5e.md | 6 +- .../6556c24670683b8d6d80bb32.md | 8 +- .../6557d782bc7613c06aa7dafd.md | 10 +- .../6557e5c6a854bfcad48808c4.md | 10 +- .../655a2a597d94f7fcc2f6126e.md | 6 +- .../655a54506b259313b2d59577.md | 8 +- .../655b39e59c29d16d64a2ce8e.md | 14 +- .../657a45a85a8f6cfeef7803db.md | 10 +- .../657e06eca8147f561619be7d.md | 12 +- .../657e0f15eb5e5b77ce1a39c2.md | 6 +- .../657e29a26f65fae11f8721f8.md | 6 +- .../657e2b41d0dd50e9fa123272.md | 6 +- .../657e2c85b80142efb0dcb6fa.md | 6 +- .../657e312bc450e802af97847d.md | 6 +- .../657e5280003334b1726df8a2.md | 14 +- .../657e60811cb0f305e56bbe31.md | 6 +- .../657e704f452a044b427e96d2.md | 6 +- .../657e7194d581bf52d96d452d.md | 12 +- .../657e741a7309f661e0a48909.md | 6 +- .../657b6a7dd8fb2f2a52da24f5.md | 8 +- .../657cad90d6745e85569cdc06.md | 10 +- .../657ce5caa3e1460ff657c6b0.md | 10 +- .../657df2b22d7649667734d71e.md | 8 +- .../657e4e3b02a2128049c344c8.md | 10 +- .../657e539471b4aa82c7402c15.md | 8 +- ...cles-of-given-radius-through-two-points.md | 18 +- .../rosetta-code-challenges/combinations.md | 2 +- .../factors-of-a-mersenne-number.md | 20 +- .../rosetta-code-challenges/gamma-function.md | 16 +- .../hash-from-two-arrays.md | 2 +- .../knapsack-problem-0-1.md | 18 +- .../sorting-algorithms-stooge-sort.md | 18 +- .../taxicab-numbers.md | 28 +- .../vector-cross-product.md | 10 +- .../rosetta-code-challenges/word-wrap.md | 16 +- .../comparing-and-sorting-tuples.md | 6 +- .../introduction-hardware-achitecture.md | 8 +- .../66a207974c806a19d6607073.md | 2 +- .../aa2e6f85cab2ab736c9a9b24.md | 2 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 2 +- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 2 +- .../66be24cb4144f955b6bcc550.md | 2 +- .../66b62d0ad68488dd76228d6c.md | 2 +- .../668f08ea07b99b1f4a91acab.md | 18 +- .../66c057041df6394ca796bf33.md | 2 +- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 200 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../66ad8294a0ad902f1b31b612.md | 2 +- ...end-development-and-apis-certification.yml | 12 +- ...lege-algebra-with-python-certification.yml | 2 +- ...ata-analysis-with-python-certification.yml | 13 +- .../data-visualization-certification.yml | 13 +- ...nd-development-libraries-certification.yml | 12 +- .../information-security-certification.yml | 13 +- ...thms-and-data-structures-certification.yml | 13 +- .../legacy-back-end-certification.yml | 23 +- ...egacy-data-visualization-certification.yml | 23 +- .../legacy-front-end-certification.yml | 23 +- .../legacy-full-stack-certification.yml | 15 +- ...ty-and-quality-assurance-certification.yml | 13 +- ...ine-learning-with-python-certification.yml | 13 +- .../quality-assurance-certification.yml | 13 +- .../relational-database-certification.yml | 13 +- .../responsive-web-design-certification.yml | 13 +- ...ic-computing-with-python-certification.yml | 13 +- .../upcoming-python-certification.yml | 4 +- .../add-an-accessible-date-picker.md | 20 +- ...igation-easier-with-the-header-landmark.md | 18 +- ...navigation-easier-with-the-nav-landmark.md | 16 +- ...dex-to-add-keyboard-focus-to-an-element.md | 14 +- ...t-the-background-color-property-of-text.md | 20 +- ...of-an-element-using-the-height-property.md | 10 +- .../adjust-the-tone-of-a-color.md | 8 +- .../animate-elements-at-variable-rates.md | 10 +- ...ate-multiple-elements-at-variable-rates.md | 14 +- ...-horizontally-using-the-margin-property.md | 10 +- .../learn-how-bezier-curves-work.md | 16 +- ...otion-more-natural-using-a-bezier-curve.md | 14 +- ...nt-weight-for-multiple-heading-elements.md | 20 +- .../use-the-strong-tag-to-make-text-bold.md | 12 +- ...ansform-property-to-make-text-uppercase.md | 14 +- .../use-the-u-tag-to-underline-text.md | 12 +- .../add-borders-around-your-elements.md | 20 +- ...tach-a-fallback-value-to-a-css-variable.md | 16 +- .../basic-css/change-the-color-of-text.md | 20 +- ...ve-compatibility-with-browser-fallbacks.md | 12 +- .../set-the-font-family-of-an-element.md | 10 +- .../basic-css/use-a-custom-css-variable.md | 16 +- ...ion-to-specify-the-margin-of-an-element.md | 20 +- .../use-rgb-values-to-color-elements.md | 20 +- .../add-a-submit-button-to-a-form.md | 16 +- .../create-a-set-of-radio-buttons.md | 32 +-- .../basic-html-and-html5/uncomment-html.md | 18 +- ...add-flex-superpowers-to-the-tweet-embed.md | 24 +- ...elements-using-the-align-items-property.md | 18 +- .../use-display-flex-to-position-two-boxes.md | 10 +- ...x-wrap-property-to-wrap-a-row-or-column.md | 14 +- .../confirm-the-ending.md | 28 +- .../falsy-bouncer.md | 16 +- ...the-presence-of-an-element-with-indexof.md | 22 +- ...-an-array-to-store-a-collection-of-data.md | 20 +- ...g-a-default-option-in-switch-statements.md | 24 +- .../build-javascript-objects.md | 28 +- ...comparison-with-the-inequality-operator.md | 2 +- .../escaping-literal-quotes-in-strings.md | 14 +- .../find-the-length-of-a-string.md | 16 +- ...-variables-with-the-assignment-operator.md | 10 +- .../iterate-odd-numbers-with-a-for-loop.md | 14 +- ...terate-through-an-array-with-a-for-loop.md | 16 +- .../logical-order-in-if-else-statements.md | 24 +- .../nest-one-array-within-another-array.md | 10 +- .../basic-javascript/shopping-list.md | 16 +- ...ing-values-with-the-assignment-operator.md | 16 +- ...ndefined-value-returned-from-a-function.md | 18 +- .../understanding-uninitialized-variables.md | 14 +- .../use-recursion-to-create-a-countdown.md | 26 +- ...-recursion-to-create-a-range-of-numbers.md | 20 +- .../using-objects-for-lookups.md | 28 +- ...en-the-freecodecamp-and-browser-console.md | 16 +- ...pare-scopes-of-the-var-and-let-keywords.md | 36 +-- .../create-strings-using-template-literals.md | 24 +- ...gnment-to-assign-variables-from-objects.md | 20 +- .../write-arrow-functions-with-parameters.md | 24 +- ...lement-the-filter-method-on-a-prototype.md | 14 +- ...ion-to-currying-and-partial-application.md | 24 +- .../learn-about-functional-programming.md | 20 +- ...er-method-to-extract-data-from-an-array.md | 22 +- .../arguments-optional.md | 28 +- .../make-a-person.md | 6 +- .../search-and-replace.md | 24 +- .../sorted-union.md | 20 +- .../sum-all-numbers-in-a-range.md | 16 +- .../roman-numeral-converter.md | 92 +++--- .../understand-the-prototype-chain.md | 14 +- ...ype-properties-to-reduce-duplicate-code.md | 20 +- .../find-characters-with-lazy-matching.md | 20 +- .../match-all-letters-and-numbers.md | 24 +- .../bootstrap/create-a-bootstrap-row.md | 14 +- .../bootstrap/create-a-custom-heading.md | 18 +- .../ditch-custom-css-for-bootstrap.md | 22 +- .../give-each-element-a-unique-id.md | 20 +- .../responsively-style-radio-buttons.md | 14 +- ...how-script-tags-and-document-ready-work.md | 22 +- .../target-elements-by-id-using-jquery.md | 18 +- .../connect-redux-to-the-messages-app.md | 18 +- .../extract-local-state-into-redux.md | 26 +- .../moving-forward-from-here.md | 12 +- .../create-a-component-with-composition.md | 18 +- .../react/pass-an-array-as-props.md | 20 +- .../render-a-class-component-to-the-dom.md | 18 +- .../react/render-conditionally-from-props.md | 26 +- .../sass/create-reusable-css-with-mixins.md | 2 +- .../use-each-to-map-over-items-in-a-list.md | 18 +- .../sass/use-for-to-create-a-sass-loop.md | 28 +- ...if-and-else-to-add-logic-to-your-styles.md | 20 +- .../visualize-data-with-a-treemap-diagram.md | 42 +-- .../add-classes-with-d3.md | 14 +- .../create-a-scatterplot-with-svg-circles.md | 12 +- ...minimum-and-maximum-values-in-a-dataset.md | 18 +- .../add-keywords-to-your-package.json.md | 16 +- .../create-and-save-a-record-of-a-model.md | 8 +- ...a-document-using-model.findoneandupdate.md | 10 +- .../announce-new-users.md | 14 +- .../authentication-strategies.md | 20 +- .../clean-up-your-project-with-modules.md | 14 +- .../hashing-your-passwords.md | 10 +- ...nt-the-serialization-of-a-passport-user.md | 4 +- .../send-and-display-chat-messages.md | 12 +- ...nctional-tests-using-a-headless-browser.md | 52 ++-- ...s-below-or-at-least-as-large-as-another.md | 14 +- .../sudoku-solver.md | 6 +- .../probability-calculator.md | 4 +- .../65796fac81f983127558f3f4.md | 2 +- .../65797670e0c0d016f17e7660.md | 2 +- .../656680b0fc79f2c38a34d90e.md | 2 +- .../65670d1ef177e7e2b76d9528.md | 2 +- .../656710d1e0ec62253426db24.md | 2 +- .../6569b20f829b7e69d43c232a.md | 2 +- .../6569b6be44940a8e2a469c31.md | 2 +- .../6577562501feabdf0984a184.md | 2 +- .../65687a005aba3ea815b84e68.md | 2 +- .../65687a923dd792ad339f9c09.md | 2 +- .../65687e294ef2bdca637fb213.md | 2 +- .../656880227dab4bd8fbc02d41.md | 2 +- .../657ed53c19461d4b95c4757a.md | 2 +- .../657ef2a86d4e545cec9a85fb.md | 2 +- .../657efdcf7fe23b76c0cff9ec.md | 2 +- .../64dc90949ff85e3b37be40d0.md | 2 +- .../64dc922df2919e3c38cead61.md | 2 +- .../64dc92a9718fb53ca3d1bad7.md | 2 +- .../64dc963d866fff3dd0329993.md | 2 +- .../64de6c8a5305d8173a3a9e09.md | 2 +- .../64de73f6c2486518e3064fec.md | 2 +- .../64de7662244db513d7b673ec.md | 2 +- .../64de7be06eb689161dd63cf0.md | 2 +- .../64df202aa1342114cd077920.md | 2 +- .../64df353d7ae6dc148fd64f53.md | 2 +- .../64df3f1011888113fbd3d81b.md | 2 +- .../64df45a3ad4f8719e5355244.md | 2 +- .../64df496c6a8ddf1b38db1ed6.md | 2 +- .../64e337e3096b7c1739d934e6.md | 2 +- .../64e340ecee18af1430939018.md | 2 +- .../64e34146860065146733883b.md | 2 +- .../65782342850feb3b8d62f936.md | 2 +- .../65646ffeaed2d238c562a014.md | 2 +- .../65648e4c5b316c4ec5e4fddc.md | 2 +- .../656490295d346850a4c4f2b5.md | 2 +- .../6564d096a55d707bd77ab67b.md | 2 +- .../6564daa2725b9b8420141b1c.md | 2 +- .../6564eebf0d2d6390b9377197.md | 2 +- .../6564f32b18480893cf7799fd.md | 2 +- .../6564fd78ffff909b1531d3c3.md | 2 +- .../6565c084627071646f94c4b0.md | 2 +- .../6565c13fdb798865c161d8f8.md | 2 +- .../656ef7f792734072dedd8319.md | 2 +- .../657dadf4d8b93c1704f3a57c.md | 4 +- .../657db4cb77190e33a20e852a.md | 2 +- .../numpy-introduction-a.md | 18 +- .../pandas-creating-columns.md | 12 +- .../python-functions-and-collections.md | 18 +- .../reading-data-introduction.md | 14 +- .../demographic-data-analyzer.md | 46 +-- .../sea-level-predictor.md | 34 +-- .../install-and-require-helmet.md | 12 +- .../creating-a-tcp-client.md | 4 +- ...ts-at-a-specific-index-in-a-linked-list.md | 12 +- .../data-structures/adjacency-list.md | 20 +- ...orm-an-intersection-on-two-sets-of-data.md | 2 +- .../use-.has-and-.size-on-an-es6-set.md | 2 +- .../deep-learning-demystified.md | 4 +- .../book-recommendation-engine-using-knn.md | 6 +- .../tensorflow/introduction-to-tensorflow.md | 4 +- .../build-a-celestial-bodies-database.md | 6 +- .../build-a-student-database-part-2.md | 2 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 14 +- .../614202874ca576084fca625f.md | 32 +-- .../614396f7ae83f20ea6f9f4b3.md | 28 +- .../6145e8b5080a5f06bb0223d0.md | 42 +-- .../6145f02240ff8f09f7ec913c.md | 12 +- .../614796cb8086be482d60e0ac.md | 14 +- .../614878f7a412310647873015.md | 14 +- .../614883b6fa720e09fb167de9.md | 14 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 14 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 28 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../614ccc21ea91ef1736b9b578.md | 8 +- .../5f332b23c2045fb843337579.md | 14 +- .../5f344fad8bf01691e71a30eb.md | 10 +- .../5f3477cb303c5cb61b43aa9b.md | 10 +- .../5f35e5c44359872a137bd98f.md | 14 +- .../5f3cade99dda4e6071a85dfd.md | 12 +- .../5f3ef6e01f288a026d709587.md | 16 +- .../5f3ef6e056bdde6ae6892ba2.md | 14 +- .../5f3ef6e0f8c230bdd2349716.md | 14 +- .../5f459225127805351a6ad057.md | 8 +- .../5f4701b942c824109626c3d8.md | 8 +- .../5f47fe7e31980053a8d4403b.md | 10 +- .../6140cbeec34e970dfe75e710.md | 12 +- .../617ace7d831f9c16a569b38a.md | 8 +- .../616d47bc9eedc4bc7f621bec.md | 12 +- .../61764f7e5240eb7ccc7f6a0a.md | 8 +- .../617b65579ce424bf5f02ca73.md | 12 +- .../617b8b38f32bf2080a140675.md | 12 +- .../617b8e0d93a8d10d9a90e720.md | 16 +- .../617b954d9f4f6217a749380e.md | 10 +- .../617bb5624a75e86463b7e638.md | 8 +- .../618a16873520a8d088ffdf44.md | 6 +- .../619b7424f43ec9215e538afe.md | 12 +- .../619b761916dac02643940022.md | 10 +- .../61a489b8579e87364b2d2cdb.md | 12 +- .../61a5ca57f50ded36d33eef96.md | 8 +- .../61b092eb9e7fc020b43b1bb2.md | 8 +- .../61b093219e7fc020b43b1bb4.md | 10 +- .../61b09f739aa6572d2064f9b8.md | 8 +- .../61b0a1b2af494934b7ec1a72.md | 14 +- .../61b3183655ec10efd8c0bb07.md | 10 +- .../61537d86bdc3dd343688fceb.md | 24 +- .../6153893900438b4643590367.md | 22 +- .../6153938dce8b294ff8f5a4e9.md | 8 +- .../6143a778bffc206ac6b1dbe3.md | 8 +- .../6143b9e1f5035c6e5f2a8231.md | 36 +-- .../6143c2a363865c715f1a3f72.md | 16 +- .../6144de308591ec10e27d5383.md | 8 +- .../6148b185ef37522f688316b0.md | 10 +- .../6148c5036ddad94692a66230.md | 8 +- .../6148d94fdf6a5d6899f8ff15.md | 6 +- .../614e0e588f0e8a772a8a81a6.md | 8 +- .../6196928658b6010f28c39484.md | 6 +- .../6199429802b7c10dc79ff871.md | 12 +- .../619be73b3c806006ccc00bb0.md | 10 +- .../619c155df0063a0a3fec0e32.md | 18 +- .../619d05c54dabca0b10058235.md | 12 +- .../619d1e7a8e81a61c5a819dc4.md | 6 +- .../619d237a107c10221ed743fa.md | 18 +- .../619d2b7a84e78b246f2d17a2.md | 16 +- .../619d30350883802921bfcccc.md | 2 +- .../619d333b738e3c2b5d58b095.md | 6 +- .../5d822fd413a79914d39e98ca.md | 14 +- .../5d822fd413a79914d39e98d7.md | 10 +- .../5d822fd413a79914d39e98dc.md | 10 +- .../5d822fd413a79914d39e98e9.md | 16 +- .../5d822fd413a79914d39e98ee.md | 8 +- .../5d822fd413a79914d39e98f0.md | 14 +- .../5d822fd413a79914d39e98f5.md | 6 +- .../5d822fd413a79914d39e9903.md | 8 +- .../5d822fd413a79914d39e9915.md | 6 +- .../5d822fd413a79914d39e991a.md | 10 +- .../5d822fd413a79914d39e9927.md | 6 +- .../5d822fd413a79914d39e992c.md | 8 +- .../5d822fd413a79914d39e9939.md | 6 +- .../5d822fd413a79914d39e993e.md | 14 +- .../5dc174fcf86c76b9248c6eb2.md | 24 +- .../5dc23991f86c76b9248c6eb8.md | 26 +- .../5dc23f9bf86c76b9248c6eba.md | 14 +- .../5dfa22d1b521be39a3de7be0.md | 16 +- .../5dfa30b9eacea3f48c6300ad.md | 24 +- .../5ef9b03c81a63668521804d8.md | 18 +- .../5ef9b03c81a63668521804dd.md | 20 +- .../5efc518e8d6a74d05e68af75.md | 12 +- .../5f0d4d04b435f13ab6550053.md | 12 +- .../60f027c87bc98f050395c139.md | 18 +- .../60f8618d191b940d62038513.md | 10 +- .../60fac4095512d3066053d73c.md | 10 +- .../60fc219d333e37046f474a6e.md | 8 +- .../60fc22d1e64d1b04cdd4e602.md | 12 +- .../60ffe1bc30415f042faea936.md | 10 +- .../60ffefd6479a3d084fb77cbc.md | 6 +- .../646c586be7180e40ddf74ff6.md | 8 +- .../646c5ffef5598d449b52ec12.md | 12 +- .../646ce9d790d2a44de5f99e04.md | 16 +- .../646dd6f9caa862627dd87772.md | 10 +- .../646dec359bef3b7811fba5a6.md | 14 +- .../646df0cf26413a7b35e4b8b3.md | 14 +- .../646f0ef13604420a8744f7d4.md | 12 +- .../646f107abb89d00bb99f387a.md | 12 +- .../647d855ac12cd436059acd39.md | 8 +- .../61fd6343fb42013d99bcd7f3.md | 8 +- .../61fd9b7285bde783ad5b8aac.md | 28 +- .../6201995d9ab88e80f1989dce.md | 8 +- .../612e813b3ba67633222cbe54.md | 18 +- .../612e8279827a28352ce83a72.md | 12 +- .../612e9f1e7e5ccd4fa9ada0be.md | 8 +- .../612ebedec97e096c8bf64999.md | 8 +- .../60a3e3396c7b40068ad6996b.md | 18 +- .../60a3e3396c7b40068ad69973.md | 8 +- .../60a3e3396c7b40068ad69978.md | 10 +- .../60a3e3396c7b40068ad6997d.md | 10 +- .../60a3e3396c7b40068ad6998a.md | 8 +- .../60a3e3396c7b40068ad6998f.md | 10 +- .../60a3e3396c7b40068ad69991.md | 8 +- .../60a3e3396c7b40068ad69997.md | 10 +- .../615f34ecc1091b4fd5a8a484.md | 20 +- .../615f4ce9d877b668417c0c42.md | 10 +- .../615f51257a8a516d80b6c743.md | 10 +- .../615f7c71eab8218f846e4503.md | 18 +- .../615f7ecb09de9a938ef94756.md | 22 +- .../615f887466db4ba14b5342cc.md | 18 +- .../css-foundations-exercise-e.md | 20 +- .../the-cascade-of-css-lesson-f.md | 4 +- .../build-a-graphing-calculator.md | 22 +- .../build-a-multi-function-calculator.md | 24 +- .../spreadsheets-and-additional-resources.md | 10 +- .../fractions-and-decimals-extra.md | 14 +- .../problem-10-summation-of-primes.md | 16 +- .../problem-11-largest-product-in-a-grid.md | 14 +- .../problem-4-largest-palindrome-product.md | 12 +- .../problem-47-distinct-primes-factors.md | 16 +- .../problem-48-self-powers.md | 14 +- .../problem-52-permuted-multiples.md | 12 +- .../problem-56-powerful-digit-sum.md | 16 +- .../problem-8-largest-product-in-a-series.md | 12 +- .../problem-88-product-sum-numbers.md | 26 +- ...problem-105-special-subset-sums-testing.md | 16 +- .../problem-109-darts.md | 18 +- .../problem-124-ordered-radicals.md | 10 +- .../problem-133-repunit-nonfactors.md | 12 +- ...m-140-modified-fibonacci-golden-nuggets.md | 10 +- .../problem-148-exploring-pascals-triangle.md | 10 +- .../problem-154-exploring-pascals-pyramid.md | 12 +- ...roblem-167-investigating-ulam-sequences.md | 10 +- .../problem-168-number-rotations.md | 10 +- .../problem-178-step-numbers.md | 14 +- .../problem-182-rsa-encryption.md | 26 +- .../problem-186-connectedness-of-a-network.md | 28 +- .../problem-192-best-approximations.md | 12 +- .../problem-213-flea-circus.md | 6 +- .../problem-295-lenticular-holes.md | 16 +- ...em-311-biclinic-integral-quadrilaterals.md | 8 +- .../problem-313-sliding-game.md | 12 +- ...-factorials-divisible-by-a-huge-integer.md | 2 +- ...itwise-or-operations-on-random-integers.md | 10 +- ...em-341-golombs-self-describing-sequence.md | 4 +- .../problem-344-silver-dollar-game.md | 18 +- .../problem-355-maximal-coprime-subset.md | 2 +- ...-356-largest-roots-of-cubic-polynomials.md | 6 +- ...-361-subsequence-of-thue-morse-sequence.md | 10 +- .../problem-368-a-kempner-like-series.md | 12 +- .../problem-369-badugi.md | 2 +- .../problem-380-amazing-mazes.md | 12 +- .../problem-398-cutting-rope.md | 2 +- .../problem-461-almost-pi.md | 109 +++---- ...ng-the-switch-case-construct-in-c-sharp.md | 14 +- ...-and-logic-using-code-blocks-in-c-sharp.md | 16 +- ...ching-and-looping-structures-in-c-sharp.md | 16 +- .../5daa813381b9e3db6c126b43.md | 6 +- .../657b130a905a6045ebe03214.md | 10 +- .../657b190c4e736f5c4005b132.md | 22 +- .../657b30777fcf90c40b9d7ca8.md | 26 +- .../657b7d76e9447705f7e5ceb8.md | 24 +- .../657cdaeee8cc4517f84911a2.md | 22 +- .../657ced8b322c055e500c2d23.md | 12 +- .../657cfeeeabb34d946d437dc7.md | 28 +- .../657dc1d18a0a6f25302badba.md | 26 +- .../657dcafa1e1a4a62dc03cb76.md | 8 +- .../657dcee413423174ca3747f5.md | 6 +- .../6568c68b92a63810a57cffaf.md | 26 +- .../6568c759cb59e810dfaa1506.md | 28 +- .../656a10aaa023200eddd09d88.md | 28 +- .../656a1298f2a0400f56b31e25.md | 16 +- .../656a137523a9bc0f9d3bae01.md | 22 +- .../656a13f01a59cb0fc9d52149.md | 26 +- .../656a510695ccb03109117af0.md | 16 +- .../656a52da3392f631b9f3e022.md | 18 +- .../656a58b31bc9f233debc2bc9.md | 16 +- .../656ab31ebccec247fde7cee4.md | 10 +- .../656ab3bfc9e49d4841672043.md | 26 +- .../656ab4205a4054486ef3b691.md | 16 +- .../656ab5a3ee689949124d2e39.md | 12 +- .../656ab7e9be47c04a2518dbed.md | 20 +- .../656abb977f9ecf4b821aed11.md | 8 +- .../656abcd4cccfc84bf50f861b.md | 6 +- .../656cb0b3e4e30f0550131acd.md | 8 +- .../656cb2ee9d60f205d362b1de.md | 20 +- .../656cca055e5d1912d9784ce1.md | 26 +- .../656ccde87f42ec13b19c5dab.md | 26 +- .../656cd22d91db1915cb11f584.md | 24 +- .../656cd63a45146d1c2c51e682.md | 26 +- .../656cd6a37495961c5f242c5d.md | 18 +- .../656cd983328ab41d5bd929d0.md | 24 +- .../656cdcc291e5531ea11a8f2a.md | 16 +- .../656d1831a6a2fe0465ea9488.md | 12 +- .../656d19d9ab6e0c052edfb1e7.md | 8 +- .../656d1a520285050552702fc1.md | 24 +- .../656d23d22a488510bca0e418.md | 10 +- .../657b106ced8c653be6b3218f.md | 8 +- .../657b115008a62d41c0d7482f.md | 4 +- .../657b11e082e48a44eb4bfc09.md | 8 +- .../657b11f87368cf463ea4fe46.md | 18 +- .../657b1431076b365555784189.md | 4 +- .../657b163c9da40e62b904be1f.md | 6 +- .../657b1d4ec0e2587e8bcc95f7.md | 6 +- .../657b20338e0802931673c1e1.md | 2 +- .../657b227f7ad32ea17e2cdf28.md | 2 +- .../657b23bc0e32f9aa9c62eb82.md | 4 +- .../657b24542024c8af092cd6c4.md | 6 +- .../657b2c040bb5f6c77fa5df80.md | 12 +- .../657b2eeb31e435d89ecce6f3.md | 10 +- .../657b2f0b3bcfe7d9f4151854.md | 18 +- .../657b2fc9c0f96bdfddfce4d9.md | 14 +- .../657b30ac03b523e6640deaf1.md | 6 +- .../655b62a491cb2d7c687a1a2a.md | 4 +- .../655b6522da78357de8428a19.md | 6 +- .../655b67f02eecf57fa75ceecf.md | 8 +- .../655b69293e6e9480ed5f6624.md | 4 +- .../655bd2f3caad89436a3dcc04.md | 6 +- .../655bdc7e9c4116509df13f34.md | 8 +- .../656918c77e73780c34392e17.md | 6 +- .../656a46e84a0ad845901ea907.md | 8 +- .../656a4a7596c46e495c64a7ec.md | 6 +- .../656a4ac4529e0f49ab900c3b.md | 4 +- .../656a4b9e4822ba4a9893459e.md | 4 +- .../656a4d74286f4d4c4ae58de0.md | 4 +- .../6556ba2fe6c3f3846ea71ab2.md | 4 +- .../6556bfd76c3fc38ba94ccf5e.md | 4 +- .../6556c24670683b8d6d80bb32.md | 6 +- .../6557d782bc7613c06aa7dafd.md | 8 +- .../6557e5c6a854bfcad48808c4.md | 6 +- .../655a2a597d94f7fcc2f6126e.md | 4 +- .../655a54506b259313b2d59577.md | 6 +- .../655b39e59c29d16d64a2ce8e.md | 10 +- .../657a45a85a8f6cfeef7803db.md | 6 +- .../657e06eca8147f561619be7d.md | 6 +- .../657e0f15eb5e5b77ce1a39c2.md | 4 +- .../657e29a26f65fae11f8721f8.md | 4 +- .../657e2b41d0dd50e9fa123272.md | 4 +- .../657e2c85b80142efb0dcb6fa.md | 4 +- .../657e312bc450e802af97847d.md | 4 +- .../657e5280003334b1726df8a2.md | 8 +- .../657e60811cb0f305e56bbe31.md | 4 +- .../657e704f452a044b427e96d2.md | 4 +- .../657e7194d581bf52d96d452d.md | 6 +- .../657e741a7309f661e0a48909.md | 4 +- .../657b6a7dd8fb2f2a52da24f5.md | 6 +- .../657cad90d6745e85569cdc06.md | 8 +- .../657ce5caa3e1460ff657c6b0.md | 8 +- .../657df2b22d7649667734d71e.md | 6 +- .../657e4e3b02a2128049c344c8.md | 8 +- .../657e539471b4aa82c7402c15.md | 6 +- .../ackermann-function.md | 18 +- ...cles-of-given-radius-through-two-points.md | 18 +- .../rosetta-code-challenges/combinations.md | 12 +- .../convert-seconds-to-compound-duration.md | 22 +- .../factors-of-a-mersenne-number.md | 46 +-- .../rosetta-code-challenges/gamma-function.md | 16 +- .../generate-lower-case-ascii-alphabet.md | 16 +- .../hash-from-two-arrays.md | 20 +- .../rosetta-code-challenges/k-d-tree.md | 20 +- .../knapsack-problem-0-1.md | 18 +- .../least-common-multiple.md | 18 +- .../long-multiplication.md | 22 +- .../lucas-lehmer-test.md | 20 +- .../luhn-test-of-credit-card-numbers.md | 32 +-- .../sorting-algorithms-stooge-sort.md | 18 +- .../taxicab-numbers.md | 28 +- .../tokenize-a-string-with-escaping.md | 30 +- .../vector-cross-product.md | 10 +- .../rosetta-code-challenges/word-wrap.md | 16 +- .../comparing-and-sorting-tuples.md | 6 +- .../introduction-hardware-achitecture.md | 8 +- .../66a207974c806a19d6607073.md | 2 +- .../aa2e6f85cab2ab736c9a9b24.md | 2 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 2 +- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 2 +- .../66be24cb4144f955b6bcc550.md | 2 +- .../66b62d0ad68488dd76228d6c.md | 2 +- .../668f08ea07b99b1f4a91acab.md | 18 +- .../66c057041df6394ca796bf33.md | 2 +- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 200 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../66ad8294a0ad902f1b31b612.md | 2 +- ...end-development-and-apis-certification.yml | 12 +- ...lege-algebra-with-python-certification.yml | 12 +- ...ata-analysis-with-python-certification.yml | 13 +- .../data-visualization-certification.yml | 13 +- ...nd-development-libraries-certification.yml | 12 +- .../information-security-certification.yml | 11 +- ...thms-and-data-structures-certification.yml | 13 +- .../legacy-back-end-certification.yml | 23 +- ...egacy-data-visualization-certification.yml | 23 +- .../legacy-front-end-certification.yml | 23 +- .../legacy-full-stack-certification.yml | 15 +- ...ty-and-quality-assurance-certification.yml | 13 +- ...ine-learning-with-python-certification.yml | 13 +- .../quality-assurance-certification.yml | 13 +- .../relational-database-certification.yml | 13 +- .../responsive-web-design-certification.yml | 13 +- ...ic-computing-with-python-certification.yml | 13 +- .../add-an-accessible-date-picker.md | 20 +- ...igation-easier-with-the-header-landmark.md | 18 +- ...navigation-easier-with-the-nav-landmark.md | 16 +- ...dex-to-add-keyboard-focus-to-an-element.md | 14 +- ...t-the-background-color-property-of-text.md | 20 +- ...of-an-element-using-the-height-property.md | 10 +- .../adjust-the-tone-of-a-color.md | 8 +- .../animate-elements-at-variable-rates.md | 10 +- ...ate-multiple-elements-at-variable-rates.md | 14 +- ...-horizontally-using-the-margin-property.md | 10 +- .../learn-how-bezier-curves-work.md | 16 +- ...otion-more-natural-using-a-bezier-curve.md | 14 +- ...nt-weight-for-multiple-heading-elements.md | 20 +- .../use-the-strong-tag-to-make-text-bold.md | 12 +- ...ansform-property-to-make-text-uppercase.md | 14 +- .../use-the-u-tag-to-underline-text.md | 12 +- .../add-borders-around-your-elements.md | 20 +- ...tach-a-fallback-value-to-a-css-variable.md | 16 +- .../basic-css/change-the-color-of-text.md | 20 +- ...ve-compatibility-with-browser-fallbacks.md | 12 +- .../set-the-font-family-of-an-element.md | 10 +- .../basic-css/use-a-custom-css-variable.md | 16 +- ...ion-to-specify-the-margin-of-an-element.md | 20 +- .../use-rgb-values-to-color-elements.md | 20 +- .../add-a-submit-button-to-a-form.md | 16 +- .../create-a-set-of-radio-buttons.md | 32 +-- .../basic-html-and-html5/uncomment-html.md | 18 +- ...add-flex-superpowers-to-the-tweet-embed.md | 24 +- ...elements-using-the-align-items-property.md | 18 +- .../use-display-flex-to-position-two-boxes.md | 10 +- ...x-wrap-property-to-wrap-a-row-or-column.md | 14 +- .../confirm-the-ending.md | 28 +- .../falsy-bouncer.md | 16 +- ...the-presence-of-an-element-with-indexof.md | 22 +- ...-an-array-to-store-a-collection-of-data.md | 20 +- ...g-a-default-option-in-switch-statements.md | 24 +- .../build-javascript-objects.md | 28 +- ...comparison-with-the-inequality-operator.md | 2 +- .../escaping-literal-quotes-in-strings.md | 14 +- .../find-the-length-of-a-string.md | 16 +- ...-variables-with-the-assignment-operator.md | 10 +- .../iterate-odd-numbers-with-a-for-loop.md | 14 +- ...terate-through-an-array-with-a-for-loop.md | 16 +- .../logical-order-in-if-else-statements.md | 24 +- .../nest-one-array-within-another-array.md | 10 +- .../basic-javascript/shopping-list.md | 16 +- ...ing-values-with-the-assignment-operator.md | 16 +- ...ndefined-value-returned-from-a-function.md | 18 +- .../understanding-uninitialized-variables.md | 14 +- .../use-recursion-to-create-a-countdown.md | 26 +- ...-recursion-to-create-a-range-of-numbers.md | 20 +- .../using-objects-for-lookups.md | 28 +- ...en-the-freecodecamp-and-browser-console.md | 16 +- ...pare-scopes-of-the-var-and-let-keywords.md | 36 +-- .../create-strings-using-template-literals.md | 24 +- ...gnment-to-assign-variables-from-objects.md | 20 +- .../write-arrow-functions-with-parameters.md | 24 +- ...lement-the-filter-method-on-a-prototype.md | 14 +- ...ion-to-currying-and-partial-application.md | 24 +- .../learn-about-functional-programming.md | 20 +- ...er-method-to-extract-data-from-an-array.md | 22 +- .../arguments-optional.md | 30 +- .../make-a-person.md | 42 +-- .../search-and-replace.md | 24 +- .../sorted-union.md | 20 +- .../sum-all-numbers-in-a-range.md | 16 +- .../roman-numeral-converter.md | 92 +++--- .../understand-the-prototype-chain.md | 14 +- ...ype-properties-to-reduce-duplicate-code.md | 20 +- .../find-characters-with-lazy-matching.md | 20 +- .../match-all-letters-and-numbers.md | 24 +- .../bootstrap/create-a-bootstrap-row.md | 14 +- .../bootstrap/create-a-custom-heading.md | 18 +- .../ditch-custom-css-for-bootstrap.md | 22 +- .../give-each-element-a-unique-id.md | 20 +- .../responsively-style-radio-buttons.md | 14 +- ...how-script-tags-and-document-ready-work.md | 22 +- .../target-elements-by-id-using-jquery.md | 18 +- .../connect-redux-to-the-messages-app.md | 18 +- .../extract-local-state-into-redux.md | 26 +- .../moving-forward-from-here.md | 12 +- .../create-a-component-with-composition.md | 18 +- .../react/pass-an-array-as-props.md | 24 +- .../render-a-class-component-to-the-dom.md | 18 +- .../react/render-conditionally-from-props.md | 26 +- .../sass/create-reusable-css-with-mixins.md | 2 +- .../use-each-to-map-over-items-in-a-list.md | 18 +- .../sass/use-for-to-create-a-sass-loop.md | 28 +- ...if-and-else-to-add-logic-to-your-styles.md | 20 +- .../visualize-data-with-a-treemap-diagram.md | 42 +-- .../add-classes-with-d3.md | 14 +- .../create-a-scatterplot-with-svg-circles.md | 12 +- ...minimum-and-maximum-values-in-a-dataset.md | 18 +- .../add-keywords-to-your-package.json.md | 16 +- .../create-and-save-a-record-of-a-model.md | 8 +- ...a-document-using-model.findoneandupdate.md | 10 +- .../announce-new-users.md | 14 +- .../authentication-strategies.md | 20 +- .../clean-up-your-project-with-modules.md | 18 +- .../hashing-your-passwords.md | 18 +- ...nt-the-serialization-of-a-passport-user.md | 16 +- .../send-and-display-chat-messages.md | 18 +- ...nctional-tests-using-a-headless-browser.md | 52 ++-- ...s-below-or-at-least-as-large-as-another.md | 14 +- .../sudoku-solver.md | 120 ++++---- .../probability-calculator.md | 4 +- .../656680b0fc79f2c38a34d90e.md | 2 +- .../65670d1ef177e7e2b76d9528.md | 2 +- .../657ed53c19461d4b95c4757a.md | 2 +- .../64dc963d866fff3dd0329993.md | 2 +- .../65648e4c5b316c4ec5e4fddc.md | 2 +- .../656490295d346850a4c4f2b5.md | 2 +- .../6564fd78ffff909b1531d3c3.md | 2 +- .../6565c084627071646f94c4b0.md | 2 +- .../657dadf4d8b93c1704f3a57c.md | 2 +- .../numpy-introduction-a.md | 18 +- .../pandas-creating-columns.md | 12 +- .../python-functions-and-collections.md | 18 +- .../reading-data-introduction.md | 14 +- .../demographic-data-analyzer.md | 48 ++-- .../sea-level-predictor.md | 40 +-- .../install-and-require-helmet.md | 16 +- .../creating-a-tcp-client.md | 4 +- ...ts-at-a-specific-index-in-a-linked-list.md | 12 +- .../data-structures/adjacency-list.md | 18 +- ...-maximum-height-of-a-binary-search-tree.md | 28 +- ...orm-an-intersection-on-two-sets-of-data.md | 10 +- .../use-.has-and-.size-on-an-es6-set.md | 14 +- .../deep-learning-demystified.md | 12 +- ...rks-rnn-and-long-short-term-memory-lstm.md | 10 +- .../book-recommendation-engine-using-knn.md | 28 +- ...ral-networks-picking-a-pretrained-model.md | 4 +- ...neural-networks-the-convolutional-layer.md | 10 +- .../tensorflow/introduction-to-tensorflow.md | 10 +- .../build-a-celestial-bodies-database.md | 8 +- .../build-a-student-database-part-1.md | 4 +- .../build-a-student-database-part-2.md | 4 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 6 +- .../614202874ca576084fca625f.md | 30 +- .../6145e8b5080a5f06bb0223d0.md | 40 +-- .../6145f02240ff8f09f7ec913c.md | 10 +- .../614796cb8086be482d60e0ac.md | 6 +- .../614878f7a412310647873015.md | 12 +- .../614883b6fa720e09fb167de9.md | 12 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 12 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 26 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../614ccc21ea91ef1736b9b578.md | 6 +- .../5f332b23c2045fb843337579.md | 12 +- .../5f344fad8bf01691e71a30eb.md | 8 +- .../5f3477cb303c5cb61b43aa9b.md | 8 +- .../5f35e5c44359872a137bd98f.md | 12 +- .../5f3cade99dda4e6071a85dfd.md | 10 +- .../5f3ef6e01f288a026d709587.md | 4 +- .../5f3ef6e056bdde6ae6892ba2.md | 10 +- .../5f3ef6e0f8c230bdd2349716.md | 12 +- .../5f459225127805351a6ad057.md | 6 +- .../5f4701b942c824109626c3d8.md | 6 +- .../5f47fe7e31980053a8d4403b.md | 8 +- .../6140cbeec34e970dfe75e710.md | 10 +- .../617ace7d831f9c16a569b38a.md | 6 +- .../616d47bc9eedc4bc7f621bec.md | 10 +- .../61764f7e5240eb7ccc7f6a0a.md | 6 +- .../617b65579ce424bf5f02ca73.md | 10 +- .../617b8b38f32bf2080a140675.md | 10 +- .../617b8e0d93a8d10d9a90e720.md | 14 +- .../617b954d9f4f6217a749380e.md | 8 +- .../617bb5624a75e86463b7e638.md | 6 +- .../618a16873520a8d088ffdf44.md | 4 +- .../619b7424f43ec9215e538afe.md | 10 +- .../619b761916dac02643940022.md | 8 +- .../61a489b8579e87364b2d2cdb.md | 10 +- .../61a5ca57f50ded36d33eef96.md | 6 +- .../61b092eb9e7fc020b43b1bb2.md | 6 +- .../61b093219e7fc020b43b1bb4.md | 8 +- .../61b09f739aa6572d2064f9b8.md | 6 +- .../61b0a1b2af494934b7ec1a72.md | 12 +- .../61b3183655ec10efd8c0bb07.md | 8 +- .../61537d86bdc3dd343688fceb.md | 22 +- .../6153938dce8b294ff8f5a4e9.md | 6 +- .../6143a778bffc206ac6b1dbe3.md | 6 +- .../6143b9e1f5035c6e5f2a8231.md | 34 +-- .../6143c2a363865c715f1a3f72.md | 14 +- .../6144de308591ec10e27d5383.md | 6 +- .../6148b185ef37522f688316b0.md | 8 +- .../6148c5036ddad94692a66230.md | 6 +- .../6148d94fdf6a5d6899f8ff15.md | 4 +- .../614e0e588f0e8a772a8a81a6.md | 6 +- .../6196928658b6010f28c39484.md | 4 +- .../6199429802b7c10dc79ff871.md | 10 +- .../619be73b3c806006ccc00bb0.md | 8 +- .../619c155df0063a0a3fec0e32.md | 16 +- .../619d05c54dabca0b10058235.md | 10 +- .../619d1e7a8e81a61c5a819dc4.md | 4 +- .../619d237a107c10221ed743fa.md | 16 +- .../619d2b7a84e78b246f2d17a2.md | 14 +- .../619d30350883802921bfcccc.md | 2 +- .../619d333b738e3c2b5d58b095.md | 4 +- .../5d822fd413a79914d39e98ca.md | 12 +- .../5d822fd413a79914d39e98d7.md | 8 +- .../5d822fd413a79914d39e98dc.md | 8 +- .../5d822fd413a79914d39e98e9.md | 14 +- .../5d822fd413a79914d39e98ee.md | 6 +- .../5d822fd413a79914d39e98f0.md | 12 +- .../5d822fd413a79914d39e98f5.md | 4 +- .../5d822fd413a79914d39e9903.md | 6 +- .../5d822fd413a79914d39e9915.md | 4 +- .../5d822fd413a79914d39e991a.md | 8 +- .../5d822fd413a79914d39e9927.md | 4 +- .../5d822fd413a79914d39e992c.md | 6 +- .../5d822fd413a79914d39e9939.md | 4 +- .../5d822fd413a79914d39e993e.md | 12 +- .../5dc23991f86c76b9248c6eb8.md | 22 +- .../5dc23f9bf86c76b9248c6eba.md | 10 +- .../5dfa22d1b521be39a3de7be0.md | 10 +- .../5dfa30b9eacea3f48c6300ad.md | 20 +- .../5ef9b03c81a63668521804d8.md | 16 +- .../5ef9b03c81a63668521804dd.md | 12 +- .../5efc518e8d6a74d05e68af75.md | 10 +- .../5f0d4d04b435f13ab6550053.md | 10 +- .../60f027c87bc98f050395c139.md | 16 +- .../60f8618d191b940d62038513.md | 8 +- .../60fac4095512d3066053d73c.md | 8 +- .../60fc219d333e37046f474a6e.md | 6 +- .../60fc22d1e64d1b04cdd4e602.md | 10 +- .../60ffe1bc30415f042faea936.md | 8 +- .../646c586be7180e40ddf74ff6.md | 6 +- .../646c5ffef5598d449b52ec12.md | 10 +- .../646dd6f9caa862627dd87772.md | 8 +- .../646dec359bef3b7811fba5a6.md | 12 +- .../646df0cf26413a7b35e4b8b3.md | 12 +- .../646f0ef13604420a8744f7d4.md | 10 +- .../646f107abb89d00bb99f387a.md | 10 +- .../647d855ac12cd436059acd39.md | 6 +- .../61fd6343fb42013d99bcd7f3.md | 6 +- .../61fd9b7285bde783ad5b8aac.md | 26 +- .../6201995d9ab88e80f1989dce.md | 6 +- .../612e813b3ba67633222cbe54.md | 16 +- .../612e8279827a28352ce83a72.md | 10 +- .../612e9f1e7e5ccd4fa9ada0be.md | 6 +- .../612ebedec97e096c8bf64999.md | 6 +- .../60a3e3396c7b40068ad6996b.md | 16 +- .../60a3e3396c7b40068ad69973.md | 6 +- .../60a3e3396c7b40068ad69978.md | 8 +- .../60a3e3396c7b40068ad6997d.md | 8 +- .../60a3e3396c7b40068ad6998a.md | 6 +- .../60a3e3396c7b40068ad6998f.md | 8 +- .../60a3e3396c7b40068ad69991.md | 6 +- .../60a3e3396c7b40068ad69997.md | 8 +- .../615f34ecc1091b4fd5a8a484.md | 10 +- .../615f4ce9d877b668417c0c42.md | 8 +- .../615f51257a8a516d80b6c743.md | 8 +- .../615f7c71eab8218f846e4503.md | 16 +- .../615f7ecb09de9a938ef94756.md | 20 +- .../615f887466db4ba14b5342cc.md | 12 +- .../css-foundations-exercise-e.md | 22 +- .../the-cascade-of-css-lesson-f.md | 4 +- .../build-a-graphing-calculator.md | 24 +- .../build-a-multi-function-calculator.md | 24 +- .../spreadsheets-and-additional-resources.md | 6 +- .../fractions-and-decimals-extra.md | 16 +- .../problem-10-summation-of-primes.md | 16 +- .../problem-11-largest-product-in-a-grid.md | 14 +- .../problem-37-truncatable-primes.md | 18 +- .../problem-4-largest-palindrome-product.md | 12 +- .../problem-47-distinct-primes-factors.md | 16 +- .../problem-48-self-powers.md | 16 +- .../problem-52-permuted-multiples.md | 12 +- .../problem-56-powerful-digit-sum.md | 18 +- .../problem-8-largest-product-in-a-series.md | 12 +- .../problem-88-product-sum-numbers.md | 24 +- ...problem-105-special-subset-sums-testing.md | 16 +- .../problem-109-darts.md | 18 +- .../problem-124-ordered-radicals.md | 14 +- .../problem-133-repunit-nonfactors.md | 12 +- ...m-140-modified-fibonacci-golden-nuggets.md | 12 +- .../problem-148-exploring-pascals-triangle.md | 10 +- .../problem-154-exploring-pascals-pyramid.md | 14 +- ...roblem-167-investigating-ulam-sequences.md | 12 +- .../problem-168-number-rotations.md | 14 +- ...ent-hollow-square-laminae-can-be-formed.md | 10 +- .../problem-178-step-numbers.md | 14 +- .../problem-182-rsa-encryption.md | 26 +- .../problem-186-connectedness-of-a-network.md | 30 +- .../problem-192-best-approximations.md | 12 +- .../problem-213-flea-circus.md | 10 +- .../problem-253-tidying-up.md | 52 ++-- .../problem-267-billionaire.md | 16 +- ...ur-distinct-prime-factors-less-than-100.md | 8 +- .../problem-295-lenticular-holes.md | 26 +- ...em-311-biclinic-integral-quadrilaterals.md | 16 +- .../problem-313-sliding-game.md | 16 +- ...-factorials-divisible-by-a-huge-integer.md | 10 +- ...itwise-or-operations-on-random-integers.md | 16 +- ...em-341-golombs-self-describing-sequence.md | 12 +- .../problem-344-silver-dollar-game.md | 24 +- .../problem-355-maximal-coprime-subset.md | 10 +- ...-356-largest-roots-of-cubic-polynomials.md | 12 +- ...-361-subsequence-of-thue-morse-sequence.md | 16 +- .../problem-368-a-kempner-like-series.md | 16 +- .../problem-369-badugi.md | 10 +- .../problem-380-amazing-mazes.md | 18 +- .../problem-398-cutting-rope.md | 10 +- .../problem-402-integer-valued-polynomials.md | 20 +- .../problem-405-a-rectangular-tiling.md | 20 +- .../problem-416-a-frogs-trip.md | 12 +- .../problem-430-range-flips.md | 18 +- .../problem-434-rigid-graphs.md | 34 +-- .../problem-436-unfair-wager.md | 24 +- ...oblem-448-average-least-common-multiple.md | 14 +- ...polynomial-modulo-the-square-of-a-prime.md | 14 +- .../problem-461-almost-pi.md | 109 +++---- ...roblem-464-mbius-function-and-intervals.md | 24 +- .../problem-467-superinteger.md | 18 +- ...mooth-divisors-of-binomial-coefficients.md | 16 +- .../657b11f87368cf463ea4fe46.md | 2 +- .../655b67f02eecf57fa75ceecf.md | 2 +- .../656a46e84a0ad845901ea907.md | 2 +- .../6557d782bc7613c06aa7dafd.md | 4 +- .../655a54506b259313b2d59577.md | 2 +- .../655b39e59c29d16d64a2ce8e.md | 4 +- .../ackermann-function.md | 18 +- ...cles-of-given-radius-through-two-points.md | 26 +- .../rosetta-code-challenges/combinations.md | 12 +- .../convert-seconds-to-compound-duration.md | 24 +- .../factors-of-a-mersenne-number.md | 46 +-- .../rosetta-code-challenges/gamma-function.md | 16 +- .../generate-lower-case-ascii-alphabet.md | 16 +- .../hash-from-two-arrays.md | 20 +- .../rosetta-code-challenges/k-d-tree.md | 20 +- .../knapsack-problem-0-1.md | 18 +- .../least-common-multiple.md | 18 +- .../long-multiplication.md | 22 +- .../lucas-lehmer-test.md | 20 +- .../luhn-test-of-credit-card-numbers.md | 32 +-- .../sorting-algorithms-stooge-sort.md | 18 +- .../taxicab-numbers.md | 24 +- .../tokenize-a-string-with-escaping.md | 30 +- .../vector-cross-product.md | 10 +- .../rosetta-code-challenges/word-wrap.md | 16 +- .../comparing-and-sorting-tuples.md | 6 +- .../introduction-hardware-achitecture.md | 8 +- .../66a207974c806a19d6607073.md | 2 +- .../aa2e6f85cab2ab736c9a9b24.md | 2 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 2 +- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 2 +- .../66be24cb4144f955b6bcc550.md | 2 +- .../66b62d0ad68488dd76228d6c.md | 2 +- .../668f08ea07b99b1f4a91acab.md | 18 +- .../66c057041df6394ca796bf33.md | 2 +- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 200 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../66ad8294a0ad902f1b31b612.md | 2 +- ...2-english-for-developers-certification.yml | 4 +- ...1-english-for-developers-certification.yml | 4 +- ...end-development-and-apis-certification.yml | 12 +- ...lege-algebra-with-python-certification.yml | 12 +- ...ata-analysis-with-python-certification.yml | 13 +- .../data-visualization-certification.yml | 13 +- .../foundational-c-sharp-with-microsoft.yml | 4 +- .../front-end-development.yml | 4 +- ...nd-development-libraries-certification.yml | 12 +- .../information-security-certification.yml | 13 +- ...thms-and-data-structures-certification.yml | 13 +- ...s-and-data-structures-certification-v8.yml | 12 +- .../legacy-back-end-certification.yml | 23 +- ...egacy-data-visualization-certification.yml | 23 +- .../legacy-front-end-certification.yml | 23 +- .../legacy-full-stack-certification.yml | 15 +- ...ty-and-quality-assurance-certification.yml | 13 +- ...ine-learning-with-python-certification.yml | 13 +- .../quality-assurance-certification.yml | 13 +- .../relational-database-certification.yml | 13 +- .../responsive-web-design-certification.yml | 13 +- ...ic-computing-with-python-certification.yml | 13 +- .../upcoming-python-certification.yml | 4 +- .../add-an-accessible-date-picker.md | 20 +- ...igation-easier-with-the-header-landmark.md | 18 +- ...navigation-easier-with-the-nav-landmark.md | 16 +- ...dex-to-add-keyboard-focus-to-an-element.md | 14 +- ...t-the-background-color-property-of-text.md | 20 +- ...of-an-element-using-the-height-property.md | 10 +- .../adjust-the-tone-of-a-color.md | 8 +- .../animate-elements-at-variable-rates.md | 10 +- ...ate-multiple-elements-at-variable-rates.md | 14 +- ...-horizontally-using-the-margin-property.md | 10 +- .../learn-how-bezier-curves-work.md | 16 +- ...otion-more-natural-using-a-bezier-curve.md | 14 +- ...nt-weight-for-multiple-heading-elements.md | 20 +- .../use-the-strong-tag-to-make-text-bold.md | 12 +- ...ansform-property-to-make-text-uppercase.md | 14 +- .../use-the-u-tag-to-underline-text.md | 12 +- .../add-borders-around-your-elements.md | 20 +- ...tach-a-fallback-value-to-a-css-variable.md | 16 +- .../basic-css/change-the-color-of-text.md | 20 +- ...ve-compatibility-with-browser-fallbacks.md | 12 +- .../set-the-font-family-of-an-element.md | 10 +- .../basic-css/use-a-custom-css-variable.md | 16 +- ...ion-to-specify-the-margin-of-an-element.md | 20 +- .../use-rgb-values-to-color-elements.md | 20 +- .../add-a-submit-button-to-a-form.md | 16 +- .../create-a-set-of-radio-buttons.md | 32 +-- .../basic-html-and-html5/uncomment-html.md | 18 +- ...add-flex-superpowers-to-the-tweet-embed.md | 24 +- ...elements-using-the-align-items-property.md | 18 +- .../use-display-flex-to-position-two-boxes.md | 10 +- ...x-wrap-property-to-wrap-a-row-or-column.md | 14 +- .../confirm-the-ending.md | 28 +- .../falsy-bouncer.md | 18 +- ...the-presence-of-an-element-with-indexof.md | 22 +- ...-an-array-to-store-a-collection-of-data.md | 20 +- ...g-a-default-option-in-switch-statements.md | 24 +- .../build-javascript-objects.md | 28 +- ...comparison-with-the-inequality-operator.md | 2 +- .../escaping-literal-quotes-in-strings.md | 14 +- .../find-the-length-of-a-string.md | 16 +- ...-variables-with-the-assignment-operator.md | 10 +- .../iterate-odd-numbers-with-a-for-loop.md | 14 +- ...terate-through-an-array-with-a-for-loop.md | 16 +- .../logical-order-in-if-else-statements.md | 24 +- .../nest-one-array-within-another-array.md | 10 +- .../basic-javascript/shopping-list.md | 16 +- ...ing-values-with-the-assignment-operator.md | 16 +- ...ndefined-value-returned-from-a-function.md | 18 +- .../understanding-uninitialized-variables.md | 14 +- .../use-recursion-to-create-a-countdown.md | 26 +- ...-recursion-to-create-a-range-of-numbers.md | 20 +- .../using-objects-for-lookups.md | 28 +- ...en-the-freecodecamp-and-browser-console.md | 16 +- ...pare-scopes-of-the-var-and-let-keywords.md | 36 +-- .../create-strings-using-template-literals.md | 24 +- ...gnment-to-assign-variables-from-objects.md | 20 +- .../write-arrow-functions-with-parameters.md | 24 +- ...lement-the-filter-method-on-a-prototype.md | 14 +- ...ion-to-currying-and-partial-application.md | 24 +- .../learn-about-functional-programming.md | 20 +- ...er-method-to-extract-data-from-an-array.md | 22 +- .../arguments-optional.md | 14 +- .../make-a-person.md | 6 +- .../search-and-replace.md | 24 +- .../sorted-union.md | 20 +- .../sum-all-numbers-in-a-range.md | 16 +- .../roman-numeral-converter.md | 92 +++--- .../understand-the-prototype-chain.md | 14 +- ...ype-properties-to-reduce-duplicate-code.md | 20 +- .../find-characters-with-lazy-matching.md | 20 +- .../match-all-letters-and-numbers.md | 24 +- .../bootstrap/create-a-bootstrap-row.md | 14 +- .../bootstrap/create-a-custom-heading.md | 18 +- .../ditch-custom-css-for-bootstrap.md | 22 +- .../give-each-element-a-unique-id.md | 20 +- .../responsively-style-radio-buttons.md | 14 +- ...how-script-tags-and-document-ready-work.md | 22 +- .../target-elements-by-id-using-jquery.md | 18 +- .../connect-redux-to-the-messages-app.md | 18 +- .../extract-local-state-into-redux.md | 26 +- .../moving-forward-from-here.md | 12 +- .../create-a-component-with-composition.md | 18 +- .../react/pass-an-array-as-props.md | 24 +- .../render-a-class-component-to-the-dom.md | 18 +- .../react/render-conditionally-from-props.md | 26 +- .../sass/create-reusable-css-with-mixins.md | 28 +- .../use-each-to-map-over-items-in-a-list.md | 18 +- .../sass/use-for-to-create-a-sass-loop.md | 28 +- ...if-and-else-to-add-logic-to-your-styles.md | 20 +- .../visualize-data-with-a-treemap-diagram.md | 42 +-- .../add-classes-with-d3.md | 14 +- .../create-a-scatterplot-with-svg-circles.md | 10 +- ...minimum-and-maximum-values-in-a-dataset.md | 18 +- .../add-keywords-to-your-package.json.md | 16 +- .../create-and-save-a-record-of-a-model.md | 8 +- ...a-document-using-model.findoneandupdate.md | 10 +- .../announce-new-users.md | 12 +- .../authentication-strategies.md | 8 +- .../clean-up-your-project-with-modules.md | 18 +- .../hashing-your-passwords.md | 14 +- ...nt-the-serialization-of-a-passport-user.md | 12 +- .../send-and-display-chat-messages.md | 16 +- ...nctional-tests-using-a-headless-browser.md | 52 ++-- ...s-below-or-at-least-as-large-as-another.md | 14 +- .../sudoku-solver.md | 120 ++++---- .../probability-calculator.md | 4 +- .../65796fac81f983127558f3f4.md | 2 +- .../65797670e0c0d016f17e7660.md | 2 +- .../656680b0fc79f2c38a34d90e.md | 2 +- .../65670d1ef177e7e2b76d9528.md | 2 +- .../656710d1e0ec62253426db24.md | 2 +- .../6569b20f829b7e69d43c232a.md | 2 +- .../6569b6be44940a8e2a469c31.md | 2 +- .../6577562501feabdf0984a184.md | 2 +- .../65687a005aba3ea815b84e68.md | 2 +- .../65687a923dd792ad339f9c09.md | 2 +- .../65687e294ef2bdca637fb213.md | 2 +- .../656880227dab4bd8fbc02d41.md | 2 +- .../657ed53c19461d4b95c4757a.md | 2 +- .../657ef2a86d4e545cec9a85fb.md | 2 +- .../657efdcf7fe23b76c0cff9ec.md | 2 +- .../64dc90949ff85e3b37be40d0.md | 2 +- .../64dc922df2919e3c38cead61.md | 2 +- .../64dc92a9718fb53ca3d1bad7.md | 2 +- .../64dc963d866fff3dd0329993.md | 2 +- .../64de6c8a5305d8173a3a9e09.md | 2 +- .../64de73f6c2486518e3064fec.md | 2 +- .../64de7662244db513d7b673ec.md | 2 +- .../64de7be06eb689161dd63cf0.md | 2 +- .../64df202aa1342114cd077920.md | 2 +- .../64df353d7ae6dc148fd64f53.md | 2 +- .../64df3f1011888113fbd3d81b.md | 2 +- .../64df45a3ad4f8719e5355244.md | 2 +- .../64df496c6a8ddf1b38db1ed6.md | 2 +- .../64e337e3096b7c1739d934e6.md | 2 +- .../64e340ecee18af1430939018.md | 2 +- .../64e34146860065146733883b.md | 2 +- .../65782342850feb3b8d62f936.md | 2 +- .../65646ffeaed2d238c562a014.md | 2 +- .../65648e4c5b316c4ec5e4fddc.md | 2 +- .../656490295d346850a4c4f2b5.md | 2 +- .../6564d096a55d707bd77ab67b.md | 2 +- .../6564daa2725b9b8420141b1c.md | 2 +- .../6564eebf0d2d6390b9377197.md | 2 +- .../6564f32b18480893cf7799fd.md | 2 +- .../6564fd78ffff909b1531d3c3.md | 2 +- .../6565c084627071646f94c4b0.md | 2 +- .../6565c13fdb798865c161d8f8.md | 2 +- .../656ef7f792734072dedd8319.md | 2 +- .../657dadf4d8b93c1704f3a57c.md | 4 +- .../657db4cb77190e33a20e852a.md | 2 +- .../numpy-introduction-a.md | 18 +- .../pandas-creating-columns.md | 12 +- .../python-functions-and-collections.md | 18 +- .../reading-data-introduction.md | 14 +- .../demographic-data-analyzer.md | 46 +-- .../sea-level-predictor.md | 40 +-- .../install-and-require-helmet.md | 16 +- .../creating-a-tcp-client.md | 4 +- ...ts-at-a-specific-index-in-a-linked-list.md | 12 +- .../data-structures/adjacency-list.md | 18 +- ...-maximum-height-of-a-binary-search-tree.md | 28 +- ...orm-an-intersection-on-two-sets-of-data.md | 10 +- .../use-.has-and-.size-on-an-es6-set.md | 14 +- .../deep-learning-demystified.md | 12 +- ...rks-rnn-and-long-short-term-memory-lstm.md | 10 +- .../book-recommendation-engine-using-knn.md | 28 +- ...ral-networks-picking-a-pretrained-model.md | 4 +- ...neural-networks-the-convolutional-layer.md | 10 +- .../tensorflow/introduction-to-tensorflow.md | 12 +- .../build-a-celestial-bodies-database.md | 8 +- .../build-a-student-database-part-1.md | 4 +- .../build-a-student-database-part-2.md | 4 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 14 +- .../614202874ca576084fca625f.md | 32 +-- .../614396f7ae83f20ea6f9f4b3.md | 28 +- .../6145e8b5080a5f06bb0223d0.md | 42 +-- .../6145f02240ff8f09f7ec913c.md | 12 +- .../614796cb8086be482d60e0ac.md | 14 +- .../614878f7a412310647873015.md | 14 +- .../614883b6fa720e09fb167de9.md | 14 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 14 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 28 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../614ccc21ea91ef1736b9b578.md | 8 +- .../5f332b23c2045fb843337579.md | 14 +- .../5f344fad8bf01691e71a30eb.md | 10 +- .../5f3477cb303c5cb61b43aa9b.md | 10 +- .../5f35e5c44359872a137bd98f.md | 14 +- .../5f3cade99dda4e6071a85dfd.md | 12 +- .../5f3ef6e01f288a026d709587.md | 16 +- .../5f3ef6e056bdde6ae6892ba2.md | 14 +- .../5f3ef6e0f8c230bdd2349716.md | 14 +- .../5f459225127805351a6ad057.md | 8 +- .../5f4701b942c824109626c3d8.md | 8 +- .../5f47fe7e31980053a8d4403b.md | 10 +- .../6140cbeec34e970dfe75e710.md | 12 +- .../617ace7d831f9c16a569b38a.md | 8 +- .../616d47bc9eedc4bc7f621bec.md | 12 +- .../61764f7e5240eb7ccc7f6a0a.md | 8 +- .../617b65579ce424bf5f02ca73.md | 12 +- .../617b8b38f32bf2080a140675.md | 12 +- .../617b8e0d93a8d10d9a90e720.md | 16 +- .../617b954d9f4f6217a749380e.md | 10 +- .../617bb5624a75e86463b7e638.md | 8 +- .../618a16873520a8d088ffdf44.md | 6 +- .../619b7424f43ec9215e538afe.md | 12 +- .../619b761916dac02643940022.md | 10 +- .../61a489b8579e87364b2d2cdb.md | 12 +- .../61a5ca57f50ded36d33eef96.md | 8 +- .../61b092eb9e7fc020b43b1bb2.md | 8 +- .../61b093219e7fc020b43b1bb4.md | 10 +- .../61b09f739aa6572d2064f9b8.md | 8 +- .../61b0a1b2af494934b7ec1a72.md | 14 +- .../61b3183655ec10efd8c0bb07.md | 10 +- .../61537d86bdc3dd343688fceb.md | 24 +- .../6153893900438b4643590367.md | 22 +- .../6153938dce8b294ff8f5a4e9.md | 8 +- .../6143a778bffc206ac6b1dbe3.md | 8 +- .../6143b9e1f5035c6e5f2a8231.md | 36 +-- .../6143c2a363865c715f1a3f72.md | 16 +- .../6144de308591ec10e27d5383.md | 8 +- .../6148b185ef37522f688316b0.md | 10 +- .../6148c5036ddad94692a66230.md | 8 +- .../6148d94fdf6a5d6899f8ff15.md | 6 +- .../614e0e588f0e8a772a8a81a6.md | 8 +- .../6196928658b6010f28c39484.md | 6 +- .../6199429802b7c10dc79ff871.md | 12 +- .../619be73b3c806006ccc00bb0.md | 10 +- .../619c155df0063a0a3fec0e32.md | 18 +- .../619d05c54dabca0b10058235.md | 12 +- .../619d1e7a8e81a61c5a819dc4.md | 6 +- .../619d237a107c10221ed743fa.md | 18 +- .../619d2b7a84e78b246f2d17a2.md | 16 +- .../619d30350883802921bfcccc.md | 2 +- .../619d333b738e3c2b5d58b095.md | 6 +- .../5d822fd413a79914d39e98ca.md | 14 +- .../5d822fd413a79914d39e98d7.md | 10 +- .../5d822fd413a79914d39e98dc.md | 10 +- .../5d822fd413a79914d39e98e9.md | 16 +- .../5d822fd413a79914d39e98ee.md | 8 +- .../5d822fd413a79914d39e98f0.md | 14 +- .../5d822fd413a79914d39e98f5.md | 6 +- .../5d822fd413a79914d39e9903.md | 8 +- .../5d822fd413a79914d39e9915.md | 6 +- .../5d822fd413a79914d39e991a.md | 10 +- .../5d822fd413a79914d39e9927.md | 6 +- .../5d822fd413a79914d39e992c.md | 8 +- .../5d822fd413a79914d39e9939.md | 6 +- .../5d822fd413a79914d39e993e.md | 14 +- .../5dc174fcf86c76b9248c6eb2.md | 24 +- .../5dc23991f86c76b9248c6eb8.md | 22 +- .../5dc23f9bf86c76b9248c6eba.md | 14 +- .../5dfa22d1b521be39a3de7be0.md | 16 +- .../5dfa30b9eacea3f48c6300ad.md | 24 +- .../5ef9b03c81a63668521804d8.md | 18 +- .../5ef9b03c81a63668521804dd.md | 20 +- .../5efc518e8d6a74d05e68af75.md | 12 +- .../5f0d4d04b435f13ab6550053.md | 12 +- .../60f027c87bc98f050395c139.md | 18 +- .../60f8618d191b940d62038513.md | 10 +- .../60fac4095512d3066053d73c.md | 10 +- .../60fc219d333e37046f474a6e.md | 8 +- .../60fc22d1e64d1b04cdd4e602.md | 12 +- .../60ffe1bc30415f042faea936.md | 10 +- .../60ffefd6479a3d084fb77cbc.md | 6 +- .../646c586be7180e40ddf74ff6.md | 8 +- .../646c5ffef5598d449b52ec12.md | 12 +- .../646ce9d790d2a44de5f99e04.md | 16 +- .../646dd6f9caa862627dd87772.md | 10 +- .../646dec359bef3b7811fba5a6.md | 14 +- .../646df0cf26413a7b35e4b8b3.md | 14 +- .../646f0ef13604420a8744f7d4.md | 12 +- .../646f107abb89d00bb99f387a.md | 12 +- .../647d855ac12cd436059acd39.md | 8 +- .../61fd6343fb42013d99bcd7f3.md | 8 +- .../61fd9b7285bde783ad5b8aac.md | 28 +- .../6201995d9ab88e80f1989dce.md | 8 +- .../612e813b3ba67633222cbe54.md | 18 +- .../612e8279827a28352ce83a72.md | 12 +- .../612e9f1e7e5ccd4fa9ada0be.md | 8 +- .../612ebedec97e096c8bf64999.md | 8 +- .../60a3e3396c7b40068ad6996b.md | 18 +- .../60a3e3396c7b40068ad69973.md | 8 +- .../60a3e3396c7b40068ad69978.md | 10 +- .../60a3e3396c7b40068ad6997d.md | 10 +- .../60a3e3396c7b40068ad6998a.md | 8 +- .../60a3e3396c7b40068ad6998f.md | 10 +- .../60a3e3396c7b40068ad69991.md | 8 +- .../60a3e3396c7b40068ad69997.md | 10 +- .../615f34ecc1091b4fd5a8a484.md | 20 +- .../615f4ce9d877b668417c0c42.md | 10 +- .../615f51257a8a516d80b6c743.md | 10 +- .../615f7c71eab8218f846e4503.md | 18 +- .../615f7ecb09de9a938ef94756.md | 22 +- .../615f887466db4ba14b5342cc.md | 18 +- .../the-cascade-of-css-lesson-f.md | 4 +- .../build-a-graphing-calculator.md | 24 +- .../build-a-multi-function-calculator.md | 24 +- .../spreadsheets-and-additional-resources.md | 6 +- .../fractions-and-decimals-extra.md | 16 +- .../problem-10-summation-of-primes.md | 16 +- .../problem-11-largest-product-in-a-grid.md | 14 +- .../problem-37-truncatable-primes.md | 18 +- .../problem-4-largest-palindrome-product.md | 12 +- .../problem-47-distinct-primes-factors.md | 16 +- .../problem-48-self-powers.md | 16 +- .../problem-52-permuted-multiples.md | 12 +- .../problem-56-powerful-digit-sum.md | 18 +- .../problem-8-largest-product-in-a-series.md | 12 +- .../problem-88-product-sum-numbers.md | 26 +- ...problem-105-special-subset-sums-testing.md | 16 +- .../problem-109-darts.md | 18 +- .../problem-124-ordered-radicals.md | 14 +- .../problem-133-repunit-nonfactors.md | 12 +- ...m-140-modified-fibonacci-golden-nuggets.md | 12 +- .../problem-148-exploring-pascals-triangle.md | 10 +- .../problem-154-exploring-pascals-pyramid.md | 14 +- ...roblem-167-investigating-ulam-sequences.md | 12 +- .../problem-168-number-rotations.md | 14 +- ...ent-hollow-square-laminae-can-be-formed.md | 10 +- .../problem-178-step-numbers.md | 14 +- .../problem-182-rsa-encryption.md | 26 +- .../problem-186-connectedness-of-a-network.md | 30 +- .../problem-192-best-approximations.md | 14 +- .../problem-213-flea-circus.md | 10 +- .../problem-253-tidying-up.md | 52 ++-- .../problem-267-billionaire.md | 16 +- ...ur-distinct-prime-factors-less-than-100.md | 8 +- .../problem-295-lenticular-holes.md | 26 +- ...em-311-biclinic-integral-quadrilaterals.md | 16 +- .../problem-313-sliding-game.md | 16 +- ...-factorials-divisible-by-a-huge-integer.md | 12 +- ...itwise-or-operations-on-random-integers.md | 16 +- ...em-341-golombs-self-describing-sequence.md | 12 +- .../problem-344-silver-dollar-game.md | 24 +- .../problem-355-maximal-coprime-subset.md | 10 +- ...-356-largest-roots-of-cubic-polynomials.md | 12 +- ...-361-subsequence-of-thue-morse-sequence.md | 16 +- .../problem-368-a-kempner-like-series.md | 16 +- .../problem-369-badugi.md | 10 +- .../problem-380-amazing-mazes.md | 18 +- .../problem-398-cutting-rope.md | 10 +- .../problem-402-integer-valued-polynomials.md | 20 +- .../problem-405-a-rectangular-tiling.md | 20 +- .../problem-416-a-frogs-trip.md | 12 +- .../problem-430-range-flips.md | 18 +- .../problem-434-rigid-graphs.md | 34 +-- .../problem-436-unfair-wager.md | 24 +- ...oblem-448-average-least-common-multiple.md | 16 +- ...polynomial-modulo-the-square-of-a-prime.md | 14 +- .../problem-461-almost-pi.md | 109 +++---- ...roblem-464-mbius-function-and-intervals.md | 28 +- .../problem-467-superinteger.md | 18 +- ...mooth-divisors-of-binomial-coefficients.md | 16 +- ...ng-the-switch-case-construct-in-c-sharp.md | 18 +- ...-and-logic-using-code-blocks-in-c-sharp.md | 18 +- ...ching-and-looping-structures-in-c-sharp.md | 18 +- .../657b11f87368cf463ea4fe46.md | 2 +- .../655b67f02eecf57fa75ceecf.md | 2 +- .../656a46e84a0ad845901ea907.md | 2 +- .../6557d782bc7613c06aa7dafd.md | 4 +- .../655a54506b259313b2d59577.md | 2 +- .../655b39e59c29d16d64a2ce8e.md | 4 +- .../ackermann-function.md | 18 +- ...cles-of-given-radius-through-two-points.md | 26 +- .../rosetta-code-challenges/combinations.md | 12 +- .../convert-seconds-to-compound-duration.md | 24 +- .../factors-of-a-mersenne-number.md | 46 +-- .../rosetta-code-challenges/gamma-function.md | 16 +- .../generate-lower-case-ascii-alphabet.md | 16 +- .../hash-from-two-arrays.md | 6 +- .../rosetta-code-challenges/k-d-tree.md | 20 +- .../knapsack-problem-0-1.md | 18 +- .../least-common-multiple.md | 18 +- .../long-multiplication.md | 22 +- .../lucas-lehmer-test.md | 20 +- .../luhn-test-of-credit-card-numbers.md | 32 +-- .../sorting-algorithms-stooge-sort.md | 18 +- .../taxicab-numbers.md | 18 +- .../tokenize-a-string-with-escaping.md | 30 +- .../vector-cross-product.md | 10 +- .../rosetta-code-challenges/word-wrap.md | 16 +- .../comparing-and-sorting-tuples.md | 8 +- .../introduction-hardware-achitecture.md | 10 +- .../66a207974c806a19d6607073.md | 2 +- .../aa2e6f85cab2ab736c9a9b24.md | 2 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 2 +- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 2 +- .../66be24cb4144f955b6bcc550.md | 2 +- .../66b62d0ad68488dd76228d6c.md | 2 +- .../668f08ea07b99b1f4a91acab.md | 18 +- .../66c057041df6394ca796bf33.md | 2 +- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 200 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../66ad8294a0ad902f1b31b612.md | 2 +- ...ata-analysis-with-python-certification.yml | 1 - .../data-visualization-certification.yml | 1 - .../information-security-certification.yml | 1 - ...thms-and-data-structures-certification.yml | 1 - .../legacy-back-end-certification.yml | 1 - ...egacy-data-visualization-certification.yml | 1 - .../legacy-front-end-certification.yml | 1 - .../legacy-full-stack-certification.yml | 1 - ...ty-and-quality-assurance-certification.yml | 1 - ...ine-learning-with-python-certification.yml | 1 - .../quality-assurance-certification.yml | 1 - .../relational-database-certification.yml | 1 - .../responsive-web-design-certification.yml | 1 - ...ic-computing-with-python-certification.yml | 1 - .../add-an-accessible-date-picker.md | 20 +- ...igation-easier-with-the-header-landmark.md | 18 +- ...navigation-easier-with-the-nav-landmark.md | 16 +- ...dex-to-add-keyboard-focus-to-an-element.md | 14 +- ...t-the-background-color-property-of-text.md | 20 +- ...of-an-element-using-the-height-property.md | 10 +- .../adjust-the-tone-of-a-color.md | 8 +- .../animate-elements-at-variable-rates.md | 10 +- ...ate-multiple-elements-at-variable-rates.md | 14 +- ...-horizontally-using-the-margin-property.md | 10 +- .../learn-how-bezier-curves-work.md | 16 +- ...otion-more-natural-using-a-bezier-curve.md | 14 +- ...nt-weight-for-multiple-heading-elements.md | 20 +- .../use-the-strong-tag-to-make-text-bold.md | 12 +- ...ansform-property-to-make-text-uppercase.md | 14 +- .../use-the-u-tag-to-underline-text.md | 12 +- .../add-borders-around-your-elements.md | 20 +- ...tach-a-fallback-value-to-a-css-variable.md | 16 +- .../basic-css/change-the-color-of-text.md | 20 +- ...ve-compatibility-with-browser-fallbacks.md | 12 +- .../set-the-font-family-of-an-element.md | 10 +- .../basic-css/use-a-custom-css-variable.md | 16 +- ...ion-to-specify-the-margin-of-an-element.md | 20 +- .../use-rgb-values-to-color-elements.md | 20 +- .../add-a-submit-button-to-a-form.md | 16 +- .../create-a-set-of-radio-buttons.md | 32 +-- .../basic-html-and-html5/uncomment-html.md | 18 +- ...add-flex-superpowers-to-the-tweet-embed.md | 24 +- ...elements-using-the-align-items-property.md | 20 +- .../use-display-flex-to-position-two-boxes.md | 10 +- ...x-wrap-property-to-wrap-a-row-or-column.md | 14 +- .../confirm-the-ending.md | 28 +- .../falsy-bouncer.md | 18 +- ...the-presence-of-an-element-with-indexof.md | 22 +- ...comparison-with-the-inequality-operator.md | 2 +- .../iterate-odd-numbers-with-a-for-loop.md | 14 +- ...terate-through-an-array-with-a-for-loop.md | 16 +- .../logical-order-in-if-else-statements.md | 24 +- .../nest-one-array-within-another-array.md | 10 +- .../basic-javascript/shopping-list.md | 16 +- ...ndefined-value-returned-from-a-function.md | 2 +- ...lement-the-filter-method-on-a-prototype.md | 14 +- .../learn-about-functional-programming.md | 20 +- .../search-and-replace.md | 24 +- .../sorted-union.md | 20 +- .../bootstrap/create-a-bootstrap-row.md | 14 +- .../bootstrap/create-a-custom-heading.md | 18 +- .../ditch-custom-css-for-bootstrap.md | 22 +- .../give-each-element-a-unique-id.md | 20 +- .../responsively-style-radio-buttons.md | 14 +- .../add-keywords-to-your-package.json.md | 2 +- .../probability-calculator.md | 4 +- .../657dadf4d8b93c1704f3a57c.md | 2 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 2 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 2 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 10 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../619d30350883802921bfcccc.md | 2 +- .../the-cascade-of-css-lesson-f.md | 4 +- .../problem-461-almost-pi.md | 109 +++---- ...mooth-divisors-of-binomial-coefficients.md | 2 +- .../657b11f87368cf463ea4fe46.md | 2 +- .../655b67f02eecf57fa75ceecf.md | 2 +- .../6557d782bc7613c06aa7dafd.md | 4 +- .../655a54506b259313b2d59577.md | 2 +- .../655b39e59c29d16d64a2ce8e.md | 4 +- .../hash-from-two-arrays.md | 2 +- .../comparing-and-sorting-tuples.md | 4 +- .../introduction-hardware-achitecture.md | 8 +- .../66a207974c806a19d6607073.md | 2 +- .../aa2e6f85cab2ab736c9a9b24.md | 2 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 2 +- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 2 +- .../66be24cb4144f955b6bcc550.md | 2 +- .../66b62d0ad68488dd76228d6c.md | 2 +- .../668f08ea07b99b1f4a91acab.md | 18 +- .../66c057041df6394ca796bf33.md | 2 +- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 200 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../66ad8294a0ad902f1b31b612.md | 2 +- ...lege-algebra-with-python-certification.yml | 2 +- ...ata-analysis-with-python-certification.yml | 1 - .../data-visualization-certification.yml | 1 - ...nd-development-libraries-certification.yml | 2 +- .../information-security-certification.yml | 1 - ...thms-and-data-structures-certification.yml | 1 - .../legacy-back-end-certification.yml | 3 +- ...egacy-data-visualization-certification.yml | 1 - .../legacy-front-end-certification.yml | 1 - .../legacy-full-stack-certification.yml | 1 - ...ty-and-quality-assurance-certification.yml | 1 - ...ine-learning-with-python-certification.yml | 1 - .../quality-assurance-certification.yml | 1 - .../relational-database-certification.yml | 7 +- .../responsive-web-design-certification.yml | 1 - ...ic-computing-with-python-certification.yml | 1 - .../add-an-accessible-date-picker.md | 20 +- ...igation-easier-with-the-header-landmark.md | 18 +- ...navigation-easier-with-the-nav-landmark.md | 16 +- ...dex-to-add-keyboard-focus-to-an-element.md | 14 +- ...t-the-background-color-property-of-text.md | 20 +- ...of-an-element-using-the-height-property.md | 10 +- .../adjust-the-tone-of-a-color.md | 10 +- .../animate-elements-at-variable-rates.md | 10 +- ...ate-multiple-elements-at-variable-rates.md | 14 +- ...-horizontally-using-the-margin-property.md | 10 +- .../learn-how-bezier-curves-work.md | 16 +- ...otion-more-natural-using-a-bezier-curve.md | 14 +- ...nt-weight-for-multiple-heading-elements.md | 20 +- .../use-the-strong-tag-to-make-text-bold.md | 12 +- ...ansform-property-to-make-text-uppercase.md | 14 +- .../use-the-u-tag-to-underline-text.md | 12 +- .../add-borders-around-your-elements.md | 20 +- ...tach-a-fallback-value-to-a-css-variable.md | 16 +- .../basic-css/change-the-color-of-text.md | 20 +- ...ve-compatibility-with-browser-fallbacks.md | 12 +- .../set-the-font-family-of-an-element.md | 10 +- .../basic-css/use-a-custom-css-variable.md | 16 +- ...ion-to-specify-the-margin-of-an-element.md | 20 +- .../use-rgb-values-to-color-elements.md | 20 +- .../add-a-submit-button-to-a-form.md | 16 +- .../create-a-set-of-radio-buttons.md | 32 +-- .../basic-html-and-html5/uncomment-html.md | 18 +- ...add-flex-superpowers-to-the-tweet-embed.md | 24 +- ...elements-using-the-align-items-property.md | 20 +- .../use-display-flex-to-position-two-boxes.md | 10 +- ...x-wrap-property-to-wrap-a-row-or-column.md | 14 +- .../confirm-the-ending.md | 28 +- .../falsy-bouncer.md | 18 +- ...the-presence-of-an-element-with-indexof.md | 22 +- ...-an-array-to-store-a-collection-of-data.md | 20 +- ...g-a-default-option-in-switch-statements.md | 24 +- .../build-javascript-objects.md | 28 +- ...comparison-with-the-inequality-operator.md | 2 +- .../escaping-literal-quotes-in-strings.md | 14 +- .../find-the-length-of-a-string.md | 16 +- ...-variables-with-the-assignment-operator.md | 10 +- .../iterate-odd-numbers-with-a-for-loop.md | 14 +- ...terate-through-an-array-with-a-for-loop.md | 16 +- .../logical-order-in-if-else-statements.md | 24 +- .../nest-one-array-within-another-array.md | 10 +- .../basic-javascript/shopping-list.md | 16 +- ...ing-values-with-the-assignment-operator.md | 16 +- ...ndefined-value-returned-from-a-function.md | 18 +- .../understanding-uninitialized-variables.md | 14 +- .../use-recursion-to-create-a-countdown.md | 26 +- ...-recursion-to-create-a-range-of-numbers.md | 20 +- .../using-objects-for-lookups.md | 28 +- ...en-the-freecodecamp-and-browser-console.md | 16 +- ...pare-scopes-of-the-var-and-let-keywords.md | 36 +-- .../create-strings-using-template-literals.md | 24 +- ...gnment-to-assign-variables-from-objects.md | 20 +- .../write-arrow-functions-with-parameters.md | 24 +- ...lement-the-filter-method-on-a-prototype.md | 14 +- ...ion-to-currying-and-partial-application.md | 24 +- .../learn-about-functional-programming.md | 20 +- ...er-method-to-extract-data-from-an-array.md | 22 +- .../arguments-optional.md | 30 +- .../make-a-person.md | 42 +-- .../search-and-replace.md | 24 +- .../sorted-union.md | 20 +- .../sum-all-numbers-in-a-range.md | 16 +- .../roman-numeral-converter.md | 92 +++--- .../understand-the-prototype-chain.md | 14 +- ...ype-properties-to-reduce-duplicate-code.md | 20 +- .../find-characters-with-lazy-matching.md | 20 +- .../match-all-letters-and-numbers.md | 24 +- .../bootstrap/create-a-bootstrap-row.md | 14 +- .../bootstrap/create-a-custom-heading.md | 18 +- .../ditch-custom-css-for-bootstrap.md | 22 +- .../give-each-element-a-unique-id.md | 20 +- .../responsively-style-radio-buttons.md | 14 +- ...how-script-tags-and-document-ready-work.md | 22 +- .../target-elements-by-id-using-jquery.md | 18 +- .../connect-redux-to-the-messages-app.md | 18 +- .../extract-local-state-into-redux.md | 26 +- .../moving-forward-from-here.md | 12 +- .../create-a-component-with-composition.md | 18 +- .../react/pass-an-array-as-props.md | 24 +- .../render-a-class-component-to-the-dom.md | 18 +- .../react/render-conditionally-from-props.md | 26 +- .../sass/create-reusable-css-with-mixins.md | 28 +- .../use-each-to-map-over-items-in-a-list.md | 18 +- .../sass/use-for-to-create-a-sass-loop.md | 28 +- ...if-and-else-to-add-logic-to-your-styles.md | 20 +- .../visualize-data-with-a-treemap-diagram.md | 42 +-- .../add-classes-with-d3.md | 14 +- .../create-a-scatterplot-with-svg-circles.md | 12 +- ...minimum-and-maximum-values-in-a-dataset.md | 18 +- .../add-keywords-to-your-package.json.md | 16 +- .../create-and-save-a-record-of-a-model.md | 8 +- ...a-document-using-model.findoneandupdate.md | 10 +- .../announce-new-users.md | 16 +- .../authentication-strategies.md | 20 +- .../clean-up-your-project-with-modules.md | 18 +- .../hashing-your-passwords.md | 18 +- ...nt-the-serialization-of-a-passport-user.md | 16 +- .../send-and-display-chat-messages.md | 18 +- ...nctional-tests-using-a-headless-browser.md | 54 ++-- ...s-below-or-at-least-as-large-as-another.md | 16 +- .../sudoku-solver.md | 122 ++++---- .../probability-calculator.md | 4 +- .../6557712d77ce2d9bd7e63afd.md | 2 +- .../65577739f57ecca6c39bb4e9.md | 2 +- .../65796fac81f983127558f3f4.md | 2 +- .../65797670e0c0d016f17e7660.md | 2 +- .../6579cbab9825b8170974c69a.md | 2 +- .../6606927d010be4300a4e5330.md | 2 +- .../6606933d6813a8308c962dd1.md | 2 +- .../6606beade9200b49aaeecd94.md | 2 +- .../6606cc473675e85017b0c53d.md | 2 +- .../6606d32096165654b8e73f21.md | 2 +- .../6606d7bb9e4c6b574235159a.md | 2 +- .../660a8ef6b7571f6dddc3553b.md | 2 +- .../660a968ca0838773c9bbfc85.md | 2 +- .../660ac44c7eec868220318297.md | 2 +- .../656680b0fc79f2c38a34d90e.md | 2 +- .../65670d1ef177e7e2b76d9528.md | 2 +- .../656710d1e0ec62253426db24.md | 2 +- .../6569b20f829b7e69d43c232a.md | 2 +- .../6569b6be44940a8e2a469c31.md | 2 +- .../6577562501feabdf0984a184.md | 2 +- .../65f569725359e10d345bc52a.md | 2 +- .../662fa453ec8033322b3ab2e3.md | 2 +- .../65687a005aba3ea815b84e68.md | 2 +- .../65687a923dd792ad339f9c09.md | 2 +- .../65687e294ef2bdca637fb213.md | 2 +- .../656880227dab4bd8fbc02d41.md | 2 +- .../663a22ba7420c4d2f7fd2aec.md | 2 +- .../663b93aee129b3c4cc07d0db.md | 2 +- .../66562f71937f877c66123bbe.md | 2 +- .../657ed53c19461d4b95c4757a.md | 2 +- .../657ef2a86d4e545cec9a85fb.md | 2 +- .../657efdcf7fe23b76c0cff9ec.md | 2 +- .../657f47b12c51e41b3149e584.md | 2 +- .../663b10c10a4c0a0e095137ee.md | 2 +- .../64dc90949ff85e3b37be40d0.md | 2 +- .../64dc922df2919e3c38cead61.md | 2 +- .../64dc92a9718fb53ca3d1bad7.md | 2 +- .../64dc963d866fff3dd0329993.md | 2 +- .../64de6c8a5305d8173a3a9e09.md | 2 +- .../64de73f6c2486518e3064fec.md | 2 +- .../64de7662244db513d7b673ec.md | 2 +- .../64de7be06eb689161dd63cf0.md | 2 +- .../64df202aa1342114cd077920.md | 2 +- .../64df353d7ae6dc148fd64f53.md | 2 +- .../64df3f1011888113fbd3d81b.md | 2 +- .../64df45a3ad4f8719e5355244.md | 2 +- .../64df496c6a8ddf1b38db1ed6.md | 2 +- .../64e337e3096b7c1739d934e6.md | 2 +- .../64e340ecee18af1430939018.md | 2 +- .../64e34146860065146733883b.md | 2 +- .../65782342850feb3b8d62f936.md | 2 +- .../65646ffeaed2d238c562a014.md | 2 +- .../65648e4c5b316c4ec5e4fddc.md | 2 +- .../656490295d346850a4c4f2b5.md | 2 +- .../6564d096a55d707bd77ab67b.md | 2 +- .../6564daa2725b9b8420141b1c.md | 2 +- .../6564eebf0d2d6390b9377197.md | 2 +- .../6564f32b18480893cf7799fd.md | 2 +- .../6564fd78ffff909b1531d3c3.md | 2 +- .../6565c084627071646f94c4b0.md | 2 +- .../6565c13fdb798865c161d8f8.md | 2 +- .../656ef7f792734072dedd8319.md | 2 +- .../657dadf4d8b93c1704f3a57c.md | 4 +- .../657db4cb77190e33a20e852a.md | 2 +- .../65f03d9f92eac9183a4d3281.md | 2 +- .../65f07c9b1ffb814d856dcffc.md | 2 +- .../65f40051d6b09a139f253e8e.md | 2 +- .../65f412c208c3791fee305acf.md | 2 +- .../65f4535bbdb28d436ff3ddc9.md | 2 +- .../65f9b486989cb90ff3e77ac8.md | 2 +- .../6601ab2809898f57591f2f7f.md | 2 +- .../6554d25dc5ceaa354307a77e.md | 2 +- .../6554e2ee23bfd93f2c83640f.md | 2 +- .../6555e5991af57d1ae0e35f0a.md | 2 +- .../6624e0ec0bf47017eed84b1f.md | 2 +- .../65ef1cda150a59c3b8306944.md | 2 +- .../65ef1dd722f6e7c8294eeec4.md | 2 +- .../65c4f0d32ca17ad4b1636b0e.md | 2 +- .../65c4f22498d22ed775ef8efb.md | 2 +- .../65c4f2d9fd872fd99ac659dd.md | 2 +- .../65c4f3258d2e4cdacc919dfd.md | 2 +- .../65c63df529bd15a24c187c62.md | 10 +- .../65ca0794ec3ed103bca67ed7.md | 2 +- .../65ca085a19adaa057302a3d6.md | 2 +- .../65ca11a86801bc1d254da83c.md | 2 +- .../numpy-introduction-a.md | 18 +- .../pandas-creating-columns.md | 22 +- .../python-functions-and-collections.md | 18 +- .../reading-data-introduction.md | 14 +- .../demographic-data-analyzer.md | 52 ++-- .../sea-level-predictor.md | 44 +-- .../install-and-require-helmet.md | 18 +- .../creating-a-tcp-client.md | 4 +- ...ts-at-a-specific-index-in-a-linked-list.md | 12 +- .../data-structures/adjacency-list.md | 18 +- ...-maximum-height-of-a-binary-search-tree.md | 28 +- ...orm-an-intersection-on-two-sets-of-data.md | 10 +- .../use-.has-and-.size-on-an-es6-set.md | 14 +- .../deep-learning-demystified.md | 12 +- ...rks-rnn-and-long-short-term-memory-lstm.md | 10 +- .../book-recommendation-engine-using-knn.md | 28 +- ...ral-networks-picking-a-pretrained-model.md | 4 +- ...neural-networks-the-convolutional-layer.md | 10 +- .../tensorflow/introduction-to-tensorflow.md | 14 +- .../build-a-celestial-bodies-database.md | 8 +- .../build-a-student-database-part-1.md | 4 +- .../build-a-student-database-part-2.md | 4 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 14 +- .../614202874ca576084fca625f.md | 32 +-- .../614396f7ae83f20ea6f9f4b3.md | 28 +- .../6145e8b5080a5f06bb0223d0.md | 42 +-- .../6145f02240ff8f09f7ec913c.md | 12 +- .../614796cb8086be482d60e0ac.md | 14 +- .../614878f7a412310647873015.md | 14 +- .../614883b6fa720e09fb167de9.md | 14 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 14 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 28 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../614ccc21ea91ef1736b9b578.md | 8 +- .../5f332b23c2045fb843337579.md | 14 +- .../5f344fad8bf01691e71a30eb.md | 10 +- .../5f3477cb303c5cb61b43aa9b.md | 10 +- .../5f35e5c44359872a137bd98f.md | 14 +- .../5f3cade99dda4e6071a85dfd.md | 12 +- .../5f3ef6e01f288a026d709587.md | 16 +- .../5f3ef6e056bdde6ae6892ba2.md | 14 +- .../5f3ef6e0f8c230bdd2349716.md | 14 +- .../5f459225127805351a6ad057.md | 8 +- .../5f4701b942c824109626c3d8.md | 8 +- .../5f47fe7e31980053a8d4403b.md | 10 +- .../6140cbeec34e970dfe75e710.md | 12 +- .../617ace7d831f9c16a569b38a.md | 8 +- .../616d47bc9eedc4bc7f621bec.md | 12 +- .../61764f7e5240eb7ccc7f6a0a.md | 8 +- .../617b65579ce424bf5f02ca73.md | 12 +- .../617b8b38f32bf2080a140675.md | 12 +- .../617b8e0d93a8d10d9a90e720.md | 16 +- .../617b954d9f4f6217a749380e.md | 10 +- .../617bb5624a75e86463b7e638.md | 8 +- .../618a16873520a8d088ffdf44.md | 6 +- .../619b7424f43ec9215e538afe.md | 12 +- .../619b761916dac02643940022.md | 10 +- .../61a489b8579e87364b2d2cdb.md | 12 +- .../61a5ca57f50ded36d33eef96.md | 8 +- .../61b092eb9e7fc020b43b1bb2.md | 8 +- .../61b093219e7fc020b43b1bb4.md | 10 +- .../61b09f739aa6572d2064f9b8.md | 8 +- .../61b0a1b2af494934b7ec1a72.md | 14 +- .../61b3183655ec10efd8c0bb07.md | 10 +- .../61537d86bdc3dd343688fceb.md | 24 +- .../6153893900438b4643590367.md | 22 +- .../6153938dce8b294ff8f5a4e9.md | 8 +- .../6143a778bffc206ac6b1dbe3.md | 8 +- .../6143b9e1f5035c6e5f2a8231.md | 36 +-- .../6143c2a363865c715f1a3f72.md | 16 +- .../6144de308591ec10e27d5383.md | 8 +- .../6148b185ef37522f688316b0.md | 10 +- .../6148c5036ddad94692a66230.md | 8 +- .../6148d94fdf6a5d6899f8ff15.md | 6 +- .../614e0e588f0e8a772a8a81a6.md | 8 +- .../6196928658b6010f28c39484.md | 6 +- .../6199429802b7c10dc79ff871.md | 12 +- .../619be73b3c806006ccc00bb0.md | 10 +- .../619c155df0063a0a3fec0e32.md | 18 +- .../619d05c54dabca0b10058235.md | 12 +- .../619d1e7a8e81a61c5a819dc4.md | 6 +- .../619d237a107c10221ed743fa.md | 18 +- .../619d2b7a84e78b246f2d17a2.md | 16 +- .../619d30350883802921bfcccc.md | 2 +- .../619d333b738e3c2b5d58b095.md | 6 +- .../5d822fd413a79914d39e98ca.md | 14 +- .../5d822fd413a79914d39e98d7.md | 10 +- .../5d822fd413a79914d39e98dc.md | 10 +- .../5d822fd413a79914d39e98e9.md | 16 +- .../5d822fd413a79914d39e98ee.md | 8 +- .../5d822fd413a79914d39e98f0.md | 14 +- .../5d822fd413a79914d39e98f5.md | 6 +- .../5d822fd413a79914d39e9903.md | 8 +- .../5d822fd413a79914d39e9915.md | 6 +- .../5d822fd413a79914d39e991a.md | 10 +- .../5d822fd413a79914d39e9927.md | 6 +- .../5d822fd413a79914d39e992c.md | 8 +- .../5d822fd413a79914d39e9939.md | 6 +- .../5d822fd413a79914d39e993e.md | 14 +- .../5dc174fcf86c76b9248c6eb2.md | 24 +- .../5dc23991f86c76b9248c6eb8.md | 26 +- .../5dc23f9bf86c76b9248c6eba.md | 14 +- .../5dfa22d1b521be39a3de7be0.md | 16 +- .../5dfa30b9eacea3f48c6300ad.md | 24 +- .../5ef9b03c81a63668521804d8.md | 18 +- .../5ef9b03c81a63668521804dd.md | 20 +- .../5efc518e8d6a74d05e68af75.md | 12 +- .../5f0d4d04b435f13ab6550053.md | 12 +- .../60f027c87bc98f050395c139.md | 18 +- .../60f8618d191b940d62038513.md | 10 +- .../60fac4095512d3066053d73c.md | 10 +- .../60fc219d333e37046f474a6e.md | 8 +- .../60fc22d1e64d1b04cdd4e602.md | 12 +- .../60ffe1bc30415f042faea936.md | 10 +- .../60ffefd6479a3d084fb77cbc.md | 6 +- .../646c586be7180e40ddf74ff6.md | 8 +- .../646c5ffef5598d449b52ec12.md | 12 +- .../646ce9d790d2a44de5f99e04.md | 16 +- .../646dd6f9caa862627dd87772.md | 10 +- .../646dec359bef3b7811fba5a6.md | 14 +- .../646df0cf26413a7b35e4b8b3.md | 14 +- .../646f0ef13604420a8744f7d4.md | 12 +- .../646f107abb89d00bb99f387a.md | 12 +- .../647d855ac12cd436059acd39.md | 8 +- .../61fd6343fb42013d99bcd7f3.md | 8 +- .../61fd9b7285bde783ad5b8aac.md | 28 +- .../6201995d9ab88e80f1989dce.md | 8 +- .../612e813b3ba67633222cbe54.md | 18 +- .../612e8279827a28352ce83a72.md | 12 +- .../612e9f1e7e5ccd4fa9ada0be.md | 8 +- .../612ebedec97e096c8bf64999.md | 8 +- .../60a3e3396c7b40068ad6996b.md | 18 +- .../60a3e3396c7b40068ad69973.md | 8 +- .../60a3e3396c7b40068ad69978.md | 10 +- .../60a3e3396c7b40068ad6997d.md | 10 +- .../60a3e3396c7b40068ad6998a.md | 8 +- .../60a3e3396c7b40068ad6998f.md | 10 +- .../60a3e3396c7b40068ad69991.md | 8 +- .../60a3e3396c7b40068ad69997.md | 10 +- .../615f34ecc1091b4fd5a8a484.md | 20 +- .../615f4ce9d877b668417c0c42.md | 10 +- .../615f51257a8a516d80b6c743.md | 10 +- .../615f7c71eab8218f846e4503.md | 18 +- .../615f7ecb09de9a938ef94756.md | 22 +- .../615f887466db4ba14b5342cc.md | 18 +- .../introduction-flexbox-lesson-g.md | 22 +- .../learn-arrays-and-loops-lesson-b.md | 10 +- .../learn-arrays-and-loops-lesson-g.md | 8 +- .../learn-block-and-inline-lesson-i.md | 12 +- .../css-foundations-exercise-e.md | 22 +- .../css-foundations-lesson-c.md | 10 +- .../css-foundations-lesson-h.md | 18 +- .../the-cascade-of-css-lesson-f.md | 4 +- ...rn-data-types-and-conditionals-lesson-i.md | 10 +- .../learn-function-basics-lesson-a.md | 18 +- .../html-foundations-lesson-b.md | 18 +- .../html-foundations-lesson-h.md | 12 +- .../learn-variables-and-operators-lesson-c.md | 18 +- .../links-and-images-lesson-c.md | 30 +- .../links-and-images-lesson-d.md | 50 ++-- .../working-with-text-lesson-i.md | 18 +- .../build-a-graphing-calculator.md | 24 +- .../build-a-multi-function-calculator.md | 24 +- .../spreadsheets-and-additional-resources.md | 6 +- .../fractions-and-decimals-extra.md | 16 +- .../problem-10-summation-of-primes.md | 16 +- .../problem-11-largest-product-in-a-grid.md | 14 +- .../problem-37-truncatable-primes.md | 18 +- .../problem-4-largest-palindrome-product.md | 12 +- .../problem-47-distinct-primes-factors.md | 16 +- .../problem-48-self-powers.md | 16 +- .../problem-52-permuted-multiples.md | 12 +- .../problem-56-powerful-digit-sum.md | 18 +- .../problem-8-largest-product-in-a-series.md | 12 +- .../problem-88-product-sum-numbers.md | 26 +- ...problem-105-special-subset-sums-testing.md | 16 +- .../problem-109-darts.md | 18 +- .../problem-124-ordered-radicals.md | 14 +- .../problem-133-repunit-nonfactors.md | 12 +- ...m-140-modified-fibonacci-golden-nuggets.md | 12 +- .../problem-148-exploring-pascals-triangle.md | 10 +- .../problem-154-exploring-pascals-pyramid.md | 14 +- ...roblem-167-investigating-ulam-sequences.md | 12 +- .../problem-168-number-rotations.md | 14 +- ...ent-hollow-square-laminae-can-be-formed.md | 10 +- .../problem-178-step-numbers.md | 14 +- .../problem-182-rsa-encryption.md | 26 +- .../problem-186-connectedness-of-a-network.md | 18 +- .../problem-192-best-approximations.md | 12 +- .../problem-213-flea-circus.md | 10 +- .../problem-253-tidying-up.md | 52 ++-- .../problem-267-billionaire.md | 16 +- ...ur-distinct-prime-factors-less-than-100.md | 8 +- .../problem-295-lenticular-holes.md | 26 +- ...em-311-biclinic-integral-quadrilaterals.md | 18 +- .../problem-313-sliding-game.md | 16 +- ...-factorials-divisible-by-a-huge-integer.md | 12 +- ...itwise-or-operations-on-random-integers.md | 16 +- ...em-341-golombs-self-describing-sequence.md | 12 +- .../problem-344-silver-dollar-game.md | 24 +- .../problem-355-maximal-coprime-subset.md | 10 +- ...-356-largest-roots-of-cubic-polynomials.md | 12 +- ...-361-subsequence-of-thue-morse-sequence.md | 16 +- .../problem-368-a-kempner-like-series.md | 16 +- .../problem-369-badugi.md | 10 +- .../problem-380-amazing-mazes.md | 18 +- .../problem-398-cutting-rope.md | 10 +- .../problem-402-integer-valued-polynomials.md | 20 +- .../problem-405-a-rectangular-tiling.md | 20 +- .../problem-416-a-frogs-trip.md | 12 +- .../problem-430-range-flips.md | 18 +- .../problem-434-rigid-graphs.md | 34 +-- .../problem-436-unfair-wager.md | 24 +- ...oblem-448-average-least-common-multiple.md | 16 +- ...polynomial-modulo-the-square-of-a-prime.md | 14 +- .../problem-461-almost-pi.md | 109 +++---- ...roblem-464-mbius-function-and-intervals.md | 24 +- .../problem-467-superinteger.md | 22 +- ...mooth-divisors-of-binomial-coefficients.md | 20 +- ...ng-the-switch-case-construct-in-c-sharp.md | 18 +- ...-and-logic-using-code-blocks-in-c-sharp.md | 18 +- ...ching-and-looping-structures-in-c-sharp.md | 18 +- .../5daa813381b9e3db6c126b43.md | 10 +- .../657b130a905a6045ebe03214.md | 10 +- .../657b190c4e736f5c4005b132.md | 4 +- .../657b30777fcf90c40b9d7ca8.md | 22 +- .../657b7d76e9447705f7e5ceb8.md | 4 +- .../657cdaeee8cc4517f84911a2.md | 6 +- .../657ced8b322c055e500c2d23.md | 10 +- .../657cfeeeabb34d946d437dc7.md | 4 +- .../657dc1d18a0a6f25302badba.md | 4 +- .../657dcafa1e1a4a62dc03cb76.md | 6 +- .../657dcee413423174ca3747f5.md | 14 +- .../6568c68b92a63810a57cffaf.md | 6 +- .../6568c759cb59e810dfaa1506.md | 6 +- .../656a10aaa023200eddd09d88.md | 24 +- .../656a1298f2a0400f56b31e25.md | 8 +- .../656a137523a9bc0f9d3bae01.md | 4 +- .../656a13f01a59cb0fc9d52149.md | 4 +- .../656a510695ccb03109117af0.md | 2 +- .../656a52da3392f631b9f3e022.md | 16 +- .../656a58b31bc9f233debc2bc9.md | 8 +- .../656ab31ebccec247fde7cee4.md | 8 +- .../656ab3bfc9e49d4841672043.md | 22 +- .../656ab4205a4054486ef3b691.md | 14 +- .../656ab5a3ee689949124d2e39.md | 4 +- .../656ab7e9be47c04a2518dbed.md | 4 +- .../656abb977f9ecf4b821aed11.md | 4 +- .../656abcd4cccfc84bf50f861b.md | 2 +- .../656cb0b3e4e30f0550131acd.md | 6 +- .../656cb2ee9d60f205d362b1de.md | 4 +- .../656cca055e5d1912d9784ce1.md | 4 +- .../656ccde87f42ec13b19c5dab.md | 4 +- .../656cd22d91db1915cb11f584.md | 4 +- .../656cd63a45146d1c2c51e682.md | 22 +- .../656cd6a37495961c5f242c5d.md | 10 +- .../656cd983328ab41d5bd929d0.md | 4 +- .../656cdcc291e5531ea11a8f2a.md | 2 +- .../656d1831a6a2fe0465ea9488.md | 2 +- .../656d19d9ab6e0c052edfb1e7.md | 8 +- .../656d1a520285050552702fc1.md | 4 +- .../656d23d22a488510bca0e418.md | 6 +- .../657b106ced8c653be6b3218f.md | 14 +- .../657b115008a62d41c0d7482f.md | 2 +- .../657b11e082e48a44eb4bfc09.md | 6 +- .../657b11f87368cf463ea4fe46.md | 4 +- .../657b1431076b365555784189.md | 2 +- .../657b163c9da40e62b904be1f.md | 14 +- .../657b1d4ec0e2587e8bcc95f7.md | 4 +- .../657b20338e0802931673c1e1.md | 8 +- .../657b227f7ad32ea17e2cdf28.md | 8 +- .../657b23bc0e32f9aa9c62eb82.md | 2 +- .../657b24542024c8af092cd6c4.md | 6 +- .../657b2c040bb5f6c77fa5df80.md | 8 +- .../657b2eeb31e435d89ecce6f3.md | 6 +- .../657b2f0b3bcfe7d9f4151854.md | 20 +- .../657b2fc9c0f96bdfddfce4d9.md | 6 +- .../657b30ac03b523e6640deaf1.md | 8 +- .../65f310fc37e701bfa451be47.md | 2 +- .../65f3234e85f828dd1f45d384.md | 2 +- .../65f365351cf89fedddcc281e.md | 2 +- .../65f439533bb1c4a3ab360b62.md | 2 +- .../65f52f761f23715bce60f9ce.md | 2 +- .../65f5703b434254615ec3b886.md | 2 +- .../65f5928f3ee01db4e8b9d7fe.md | 2 +- .../6620024f9abdcba3f531a4ed.md | 2 +- .../663681f2b524fe34dca85721.md | 2 +- .../663683bee8bb3c35a05ba69a.md | 2 +- .../663a4e8d22e594affc57ed82.md | 2 +- .../663c1e666a0636bad7df73fc.md | 2 +- .../663cffeb24e5c975dfa41e46.md | 2 +- .../664150b24f82ec4dc8d4f077.md | 4 +- .../6641570410a46551973bb25c.md | 2 +- .../66415d2fc70cf753ed0723a4.md | 2 +- .../664292f34cfe2c744598162c.md | 2 +- .../66429a94355a0179708be94f.md | 2 +- .../66429c74fa3c997a4ff881e8.md | 2 +- .../655b62a491cb2d7c687a1a2a.md | 2 +- .../655b6522da78357de8428a19.md | 4 +- .../655b67f02eecf57fa75ceecf.md | 8 +- .../655b69293e6e9480ed5f6624.md | 2 +- .../655bd2f3caad89436a3dcc04.md | 6 +- .../655bdc7e9c4116509df13f34.md | 14 +- .../656918c77e73780c34392e17.md | 6 +- .../656a46e84a0ad845901ea907.md | 8 +- .../656a4a7596c46e495c64a7ec.md | 6 +- .../656a4ac4529e0f49ab900c3b.md | 2 +- .../656a4b9e4822ba4a9893459e.md | 2 +- .../656a4d74286f4d4c4ae58de0.md | 2 +- .../65fdd18dada8515bcb983337.md | 6 +- .../65fe10ef733aebd257f0677d.md | 2 +- .../6617e75a204e044552675f58.md | 2 +- .../6617f51ef25faa7314b76691.md | 2 +- .../6617f546c322867470cb0d02.md | 2 +- .../661918bb4626e7770c416e91.md | 4 +- .../661918e3626bbf77fefcffcf.md | 2 +- .../661918ff8203057931fb6412.md | 2 +- .../66191916ab984979f9a1ae9d.md | 2 +- .../66193b1deee8db8cfe3bc5c1.md | 2 +- .../6619c19ff141525653592e28.md | 2 +- .../6619eea6ff1e07606fb64c13.md | 2 +- .../661bd3fc29debe22a71eedb5.md | 2 +- .../661be07313e6ef2d509c3f52.md | 2 +- .../661ec1f0f4216124b5e450dd.md | 2 +- .../661eed09f4b5ed78d2d12e59.md | 2 +- .../661eedfdd116c27b62029999.md | 2 +- .../65b261dae662a3512ed47826.md | 2 +- .../65b6575614ff477fd47746f4.md | 2 +- .../65d5feaac55f2d673480abe1.md | 2 +- .../65d60402f5661e79dfddab63.md | 2 +- .../65d6bd19de6bad235879c032.md | 2 +- .../65d86c1b4c4fd6fef305999b.md | 2 +- .../65d86f2835110e0770f5333f.md | 2 +- .../65d8947a2588474f90595bcf.md | 2 +- .../65d967ec3ad9fb162e3b6d67.md | 2 +- .../65daa8143ae77767ad914ba4.md | 2 +- .../663606cc695a992e81ef521d.md | 2 +- .../6556ba2fe6c3f3846ea71ab2.md | 6 +- .../6556bfd76c3fc38ba94ccf5e.md | 2 +- .../6556c24670683b8d6d80bb32.md | 6 +- .../6557d782bc7613c06aa7dafd.md | 6 +- .../6557e5c6a854bfcad48808c4.md | 6 +- .../655a2a597d94f7fcc2f6126e.md | 2 +- .../655a54506b259313b2d59577.md | 22 +- .../655b39e59c29d16d64a2ce8e.md | 12 +- .../657a45a85a8f6cfeef7803db.md | 6 +- .../65e466b7e1db1530a27f413b.md | 2 +- .../65e84a436d691712a7769ea9.md | 2 +- .../65e8687c037bd7373bac6bb8.md | 2 +- .../65e993f3248e434a5a47744c.md | 2 +- .../65e9991e59d4b959920e8c7d.md | 2 +- .../6617528c1b07688acdfea4e9.md | 2 +- .../661796e4635cd3eb1c8c78a4.md | 2 +- .../6617b1efe920c2ffea40b54d.md | 2 +- .../6617b500a7049808f3a2a593.md | 2 +- .../6617b53e5eda8e09c6c67d28.md | 2 +- .../658150c6b7f47a2629b2372d.md | 2 +- .../658154d361f5f6285eeeffc6.md | 2 +- .../65819377e2ad2536b3d1e0c0.md | 2 +- .../6581a2a527222938f4f0a9eb.md | 2 +- .../6581a7d6af8f2f3aefd232ab.md | 2 +- .../65a35429c637c13540c9be80.md | 2 +- .../65a3937c171d9182e6bb4bc5.md | 2 +- .../65a39ae928cfbd0b75cd91c5.md | 2 +- .../65a3dafe5c945761cef35199.md | 6 +- .../65a4f2c2d1bbdfbe82cb3fdd.md | 2 +- .../65a5000506fe76d745652a33.md | 2 +- .../65a506572b8d62e47a6f1c08.md | 2 +- .../65a508d77b492aecb63b06b5.md | 2 +- .../65a5312db639d2f8fd4c31a7.md | 2 +- .../65a533f54a5afeff6c6bb996.md | 6 +- .../65a750a82c2476a6305bf621.md | 2 +- .../65a7917a28aa16ca5a832593.md | 2 +- .../65fc8d3b0133d45abd7a179b.md | 2 +- .../65fc94ba65ed765d55195bc0.md | 2 +- .../656bbbe6d57609104b152625.md | 2 +- .../656bbfaf6cbc3f1418acca3c.md | 2 +- .../656bc8f4928b351b8a6c4d53.md | 2 +- .../65a853b498eb87c035f6da13.md | 2 +- .../65b2b74cb90a3d3b5d1acc48.md | 4 +- .../661f92a4f77e0740906355cb.md | 2 +- .../661f92f280d7f340dcfc56ca.md | 2 +- .../6620ae52fc918b06f4a8a790.md | 2 +- .../6620aeaa6aaa2807531e86f9.md | 2 +- .../6620da144418460e75025a66.md | 2 +- .../662229a912046b51dd81b35a.md | 2 +- .../662230f3b1103a655e612d6c.md | 2 +- .../66234877415f31e2b8717a91.md | 2 +- .../66234f32cadc5ff3e109d696.md | 2 +- .../66236122aafa541e002b61e5.md | 2 +- .../66262a982c6ae427498f9871.md | 2 +- .../66263023754e892fd8fd3eee.md | 2 +- .../662635b73cca81426d091f59.md | 2 +- .../66263a41ce552c514cb6fc3e.md | 2 +- .../66265d447926ae6b9e9af13e.md | 2 +- .../66265e0ac3bdc26ddf3525f5.md | 2 +- .../660011d015f7d43626524ef8.md | 2 +- .../660012ff748bf2375c31b591.md | 2 +- .../66251295a284563711fba9ba.md | 2 +- .../66251f12b5f14c58d410cd98.md | 2 +- .../6625cf67c35a69684aafd265.md | 2 +- .../6625d54c1eb70c774106c380.md | 2 +- .../6625d81940f2c57f66bbd17e.md | 2 +- .../6625d987196d2383e359d41f.md | 2 +- .../6625df2bb732da94b03089d1.md | 2 +- .../6610041a61d5ec13feffff07.md | 2 +- .../661278160653ee3d9040ed68.md | 2 +- .../661279c8d3bf0f3f6f23f21f.md | 2 +- .../6579c82fc81196a43686415a.md | 2 +- .../6579d035f49339d7aa16ec74.md | 2 +- .../6579d827ebd50afcacb829fe.md | 2 +- .../6579dd5f2f35b11f3dcd9702.md | 2 +- .../6579ddb17d88c12323aae5b5.md | 2 +- .../6579df1646568c3268b93637.md | 2 +- .../6579e12834045640e90e58bd.md | 2 +- .../657e06eca8147f561619be7d.md | 20 +- .../657e0f15eb5e5b77ce1a39c2.md | 2 +- .../657e29a26f65fae11f8721f8.md | 2 +- .../657e2b41d0dd50e9fa123272.md | 2 +- .../657e2c85b80142efb0dcb6fa.md | 16 +- .../657e312bc450e802af97847d.md | 2 +- .../657e5280003334b1726df8a2.md | 8 +- .../657e60811cb0f305e56bbe31.md | 20 +- .../657e704f452a044b427e96d2.md | 2 +- .../657e7194d581bf52d96d452d.md | 6 +- .../657e741a7309f661e0a48909.md | 2 +- .../657d50434d1a007661712182.md | 2 +- .../657da1d38bf3e693eb579be9.md | 2 +- .../657e77615bb8dec146e91f96.md | 4 +- .../657ec62074e77dc82b0f05e7.md | 2 +- .../657ee5ddb47b1dd62f87d784.md | 2 +- .../657ee8a9a195b8d8756ca5e1.md | 2 +- .../657eed5ed318e4dbbce6903a.md | 4 +- .../657fb92c6f888fe8013f1a28.md | 2 +- .../6613d0d1d40e384aeecfa9c0.md | 2 +- .../6613d3fe6615374be0d10008.md | 2 +- .../6614ac949f89655d25e9d43c.md | 2 +- .../6614be98fc11336c52aa3093.md | 2 +- .../6614c12f91d2286dcd1f0fe4.md | 2 +- .../6629cbab2498e4a1d1f592ac.md | 4 +- .../6629ce6bffd1efa9c6c57eaa.md | 2 +- .../6629e49677d89dcc9614251c.md | 2 +- .../662a26c7a3d49b0a4a19a00f.md | 2 +- .../662a2779b2aeb80c10508bf2.md | 2 +- .../662b82c8d47f8a1076172391.md | 2 +- .../662f047a8839a2298e1e8b3e.md | 2 +- .../662f053a70bb3a2a154993c0.md | 2 +- .../662f150f6e708633720c8c52.md | 2 +- .../662f17bf83ad0234a0261d92.md | 2 +- .../662f18633253ba3511982c4e.md | 2 +- .../6630b37556424464ba0f984e.md | 4 +- .../6630b88fdd1eb2675cba64ec.md | 4 +- .../6630bc7702367d68c7679dba.md | 2 +- .../6630e831b3a1a36de42fb705.md | 2 +- .../66324d85e67a5c7a072a5b4d.md | 2 +- .../663301c3812e2e89c08dcc31.md | 4 +- .../663315286b7cff907e92ae25.md | 2 +- .../6633203e58595e93ef54ba3b.md | 2 +- .../6633a97f928771a163b59745.md | 2 +- .../6633abfc050e82a29a76dd42.md | 4 +- .../657b6a7dd8fb2f2a52da24f5.md | 4 +- .../657cad90d6745e85569cdc06.md | 8 +- .../657ce5caa3e1460ff657c6b0.md | 10 +- .../657df2b22d7649667734d71e.md | 4 +- .../657e4e3b02a2128049c344c8.md | 10 +- .../657e539471b4aa82c7402c15.md | 4 +- .../ackermann-function.md | 20 +- ...cles-of-given-radius-through-two-points.md | 38 +-- .../rosetta-code-challenges/combinations.md | 14 +- .../convert-seconds-to-compound-duration.md | 40 +-- .../factors-of-a-mersenne-number.md | 52 ++-- .../rosetta-code-challenges/gamma-function.md | 20 +- .../generate-lower-case-ascii-alphabet.md | 18 +- .../hash-from-two-arrays.md | 22 +- .../rosetta-code-challenges/k-d-tree.md | 22 +- .../knapsack-problem-0-1.md | 20 +- .../least-common-multiple.md | 20 +- .../long-multiplication.md | 24 +- .../lucas-lehmer-test.md | 22 +- .../luhn-test-of-credit-card-numbers.md | 38 +-- .../sorting-algorithms-stooge-sort.md | 22 +- .../taxicab-numbers.md | 32 +-- .../tokenize-a-string-with-escaping.md | 44 +-- .../vector-cross-product.md | 12 +- .../rosetta-code-challenges/word-wrap.md | 25 +- .../comparing-and-sorting-tuples.md | 8 +- .../introduction-hardware-achitecture.md | 10 +- .../6660a0819111de5ff0ee8ba6.md | 6 +- .../66609f86c2500e597c8cb52f.md | 6 +- .../66a207974c806a19d6607073.md | 146 +++++----- .../aa2e6f85cab2ab736c9a9b24.md | 2 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 46 +-- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 102 +++---- .../66be24cb4144f955b6bcc550.md | 62 ++-- .../66b62d0ad68488dd76228d6c.md | 42 +-- .../668f08ea07b99b1f4a91acab.md | 84 +++--- .../66c057041df6394ca796bf33.md | 72 ++--- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 200 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../669aff9f5488f1bea056416d.md | 16 +- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1a3a39aef47d6473cb2f.md | 18 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../66cc281d687975858049fd8d.md | 14 +- .../6690b9a24f5b0f1300040c76.md | 12 +- .../6690be902f051416f668962b.md | 18 +- .../66984535d474083eec6bb8da.md | 20 +- .../669845af34899240d9196258.md | 18 +- .../6698496716e821448ba724a6.md | 14 +- .../669850ce0ccf395511ff4254.md | 12 +- .../66a9b333487b9c14998539a5.md | 36 +-- .../66ad8294a0ad902f1b31b612.md | 2 +- .../66adb844118ba74107ce771f.md | 22 +- .../66add47d27763c4862492c8c.md | 10 +- .../66a93730719e1f68410cce54.md | 14 +- .../66a94ea5df66236ebed260e8.md | 14 +- .../66a975c259525b7bc2d5c776.md | 16 +- .../66cf315cff4d36b27da828ba.md | 32 +-- .../66cf35a75f891ab4f4e5497b.md | 16 +- .../66cf3639aca119b5c00b02d3.md | 36 +-- .../66c63bfa4685e4e3843fa0dc.md | 10 +- .../66c644c08ebcd2ef90c750bd.md | 10 +- .../66c730ee6ae076281721d0b9.md | 12 +- .../66b6e62423e8a031d6c1f03d.md | 16 +- ...end-development-and-apis-certification.yml | 12 +- ...ata-analysis-with-python-certification.yml | 13 +- .../data-visualization-certification.yml | 1 - .../information-security-certification.yml | 1 - ...thms-and-data-structures-certification.yml | 1 - .../legacy-back-end-certification.yml | 5 +- ...egacy-data-visualization-certification.yml | 1 - .../legacy-front-end-certification.yml | 1 - .../legacy-full-stack-certification.yml | 1 - ...ty-and-quality-assurance-certification.yml | 1 - ...ine-learning-with-python-certification.yml | 1 - .../quality-assurance-certification.yml | 1 - .../relational-database-certification.yml | 1 - .../responsive-web-design-certification.yml | 1 - ...ic-computing-with-python-certification.yml | 1 - ...igation-easier-with-the-header-landmark.md | 18 +- ...dex-to-add-keyboard-focus-to-an-element.md | 2 +- ...comparison-with-the-inequality-operator.md | 2 +- ...ion-to-currying-and-partial-application.md | 2 +- .../use-each-to-map-over-items-in-a-list.md | 2 +- .../add-keywords-to-your-package.json.md | 2 +- .../probability-calculator.md | 4 +- .../65796fac81f983127558f3f4.md | 2 +- .../65797670e0c0d016f17e7660.md | 2 +- .../656680b0fc79f2c38a34d90e.md | 2 +- .../65670d1ef177e7e2b76d9528.md | 2 +- .../656710d1e0ec62253426db24.md | 2 +- .../6569b20f829b7e69d43c232a.md | 2 +- .../6569b6be44940a8e2a469c31.md | 2 +- .../6577562501feabdf0984a184.md | 2 +- .../65687a005aba3ea815b84e68.md | 2 +- .../65687a923dd792ad339f9c09.md | 2 +- .../65687e294ef2bdca637fb213.md | 2 +- .../656880227dab4bd8fbc02d41.md | 2 +- .../657ed53c19461d4b95c4757a.md | 2 +- .../657ef2a86d4e545cec9a85fb.md | 2 +- .../657efdcf7fe23b76c0cff9ec.md | 2 +- .../64dc90949ff85e3b37be40d0.md | 2 +- .../64dc922df2919e3c38cead61.md | 2 +- .../64dc92a9718fb53ca3d1bad7.md | 2 +- .../64dc963d866fff3dd0329993.md | 2 +- .../64de6c8a5305d8173a3a9e09.md | 2 +- .../64de73f6c2486518e3064fec.md | 2 +- .../64de7662244db513d7b673ec.md | 2 +- .../64de7be06eb689161dd63cf0.md | 2 +- .../64df202aa1342114cd077920.md | 2 +- .../64df353d7ae6dc148fd64f53.md | 2 +- .../64df3f1011888113fbd3d81b.md | 2 +- .../64df45a3ad4f8719e5355244.md | 2 +- .../64df496c6a8ddf1b38db1ed6.md | 2 +- .../64e337e3096b7c1739d934e6.md | 2 +- .../64e340ecee18af1430939018.md | 2 +- .../64e34146860065146733883b.md | 2 +- .../65782342850feb3b8d62f936.md | 2 +- .../65646ffeaed2d238c562a014.md | 2 +- .../65648e4c5b316c4ec5e4fddc.md | 2 +- .../656490295d346850a4c4f2b5.md | 2 +- .../6564d096a55d707bd77ab67b.md | 2 +- .../6564daa2725b9b8420141b1c.md | 2 +- .../6564eebf0d2d6390b9377197.md | 2 +- .../6564f32b18480893cf7799fd.md | 2 +- .../6564fd78ffff909b1531d3c3.md | 2 +- .../6565c084627071646f94c4b0.md | 2 +- .../6565c13fdb798865c161d8f8.md | 2 +- .../656ef7f792734072dedd8319.md | 2 +- .../657dadf4d8b93c1704f3a57c.md | 4 +- .../657db4cb77190e33a20e852a.md | 2 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 8 +- .../614202874ca576084fca625f.md | 32 +-- .../614396f7ae83f20ea6f9f4b3.md | 2 +- .../6145e8b5080a5f06bb0223d0.md | 42 +-- .../6145f02240ff8f09f7ec913c.md | 12 +- .../614796cb8086be482d60e0ac.md | 8 +- .../614878f7a412310647873015.md | 14 +- .../614883b6fa720e09fb167de9.md | 14 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 14 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 28 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../614ccc21ea91ef1736b9b578.md | 8 +- .../5f332b23c2045fb843337579.md | 14 +- .../5f344fad8bf01691e71a30eb.md | 10 +- .../5f3477cb303c5cb61b43aa9b.md | 10 +- .../5f35e5c44359872a137bd98f.md | 14 +- .../5f3cade99dda4e6071a85dfd.md | 12 +- .../5f3ef6e01f288a026d709587.md | 6 +- .../5f3ef6e056bdde6ae6892ba2.md | 12 +- .../5f3ef6e0f8c230bdd2349716.md | 14 +- .../5f459225127805351a6ad057.md | 8 +- .../5f4701b942c824109626c3d8.md | 8 +- .../5f47fe7e31980053a8d4403b.md | 10 +- .../6140cbeec34e970dfe75e710.md | 12 +- .../617ace7d831f9c16a569b38a.md | 8 +- .../616d47bc9eedc4bc7f621bec.md | 12 +- .../61764f7e5240eb7ccc7f6a0a.md | 8 +- .../617b65579ce424bf5f02ca73.md | 12 +- .../617b8b38f32bf2080a140675.md | 12 +- .../617b8e0d93a8d10d9a90e720.md | 16 +- .../617b954d9f4f6217a749380e.md | 10 +- .../617bb5624a75e86463b7e638.md | 8 +- .../618a16873520a8d088ffdf44.md | 6 +- .../619b7424f43ec9215e538afe.md | 12 +- .../619b761916dac02643940022.md | 10 +- .../61a489b8579e87364b2d2cdb.md | 12 +- .../61a5ca57f50ded36d33eef96.md | 8 +- .../61b092eb9e7fc020b43b1bb2.md | 8 +- .../61b093219e7fc020b43b1bb4.md | 10 +- .../61b09f739aa6572d2064f9b8.md | 8 +- .../61b0a1b2af494934b7ec1a72.md | 14 +- .../61b3183655ec10efd8c0bb07.md | 10 +- .../61537d86bdc3dd343688fceb.md | 24 +- .../6153893900438b4643590367.md | 22 +- .../6153938dce8b294ff8f5a4e9.md | 8 +- .../6143a778bffc206ac6b1dbe3.md | 8 +- .../6143b9e1f5035c6e5f2a8231.md | 36 +-- .../6143c2a363865c715f1a3f72.md | 16 +- .../6144de308591ec10e27d5383.md | 8 +- .../6148b185ef37522f688316b0.md | 10 +- .../6148c5036ddad94692a66230.md | 8 +- .../6148d94fdf6a5d6899f8ff15.md | 6 +- .../614e0e588f0e8a772a8a81a6.md | 8 +- .../6196928658b6010f28c39484.md | 6 +- .../6199429802b7c10dc79ff871.md | 12 +- .../619be73b3c806006ccc00bb0.md | 10 +- .../619c155df0063a0a3fec0e32.md | 18 +- .../619d05c54dabca0b10058235.md | 12 +- .../619d1e7a8e81a61c5a819dc4.md | 6 +- .../619d237a107c10221ed743fa.md | 18 +- .../619d2b7a84e78b246f2d17a2.md | 16 +- .../619d30350883802921bfcccc.md | 2 +- .../619d333b738e3c2b5d58b095.md | 6 +- .../5d822fd413a79914d39e98ca.md | 14 +- .../5d822fd413a79914d39e98d7.md | 10 +- .../5d822fd413a79914d39e98dc.md | 10 +- .../5d822fd413a79914d39e98e9.md | 16 +- .../5d822fd413a79914d39e98ee.md | 8 +- .../5d822fd413a79914d39e98f0.md | 14 +- .../5d822fd413a79914d39e98f5.md | 6 +- .../5d822fd413a79914d39e9903.md | 8 +- .../5d822fd413a79914d39e9915.md | 6 +- .../5d822fd413a79914d39e991a.md | 10 +- .../5d822fd413a79914d39e9927.md | 6 +- .../5d822fd413a79914d39e992c.md | 8 +- .../5d822fd413a79914d39e9939.md | 6 +- .../5d822fd413a79914d39e993e.md | 14 +- .../5dc174fcf86c76b9248c6eb2.md | 2 +- .../5dc23991f86c76b9248c6eb8.md | 24 +- .../5dc23f9bf86c76b9248c6eba.md | 12 +- .../5dfa22d1b521be39a3de7be0.md | 8 +- .../5dfa30b9eacea3f48c6300ad.md | 22 +- .../5ef9b03c81a63668521804d8.md | 18 +- .../5ef9b03c81a63668521804dd.md | 14 +- .../5efc518e8d6a74d05e68af75.md | 12 +- .../5f0d4d04b435f13ab6550053.md | 12 +- .../60f027c87bc98f050395c139.md | 18 +- .../60f8618d191b940d62038513.md | 10 +- .../60fac4095512d3066053d73c.md | 10 +- .../60fc219d333e37046f474a6e.md | 8 +- .../60fc22d1e64d1b04cdd4e602.md | 12 +- .../60ffe1bc30415f042faea936.md | 10 +- .../60ffefd6479a3d084fb77cbc.md | 2 +- .../646c586be7180e40ddf74ff6.md | 8 +- .../646c5ffef5598d449b52ec12.md | 12 +- .../646ce9d790d2a44de5f99e04.md | 2 +- .../646dd6f9caa862627dd87772.md | 8 +- .../646dec359bef3b7811fba5a6.md | 12 +- .../646df0cf26413a7b35e4b8b3.md | 12 +- .../646f0ef13604420a8744f7d4.md | 10 +- .../646f107abb89d00bb99f387a.md | 10 +- .../647d855ac12cd436059acd39.md | 8 +- .../61fd6343fb42013d99bcd7f3.md | 8 +- .../61fd9b7285bde783ad5b8aac.md | 28 +- .../6201995d9ab88e80f1989dce.md | 8 +- .../612e813b3ba67633222cbe54.md | 18 +- .../612e8279827a28352ce83a72.md | 12 +- .../612e9f1e7e5ccd4fa9ada0be.md | 8 +- .../612ebedec97e096c8bf64999.md | 8 +- .../60a3e3396c7b40068ad6996b.md | 18 +- .../60a3e3396c7b40068ad69973.md | 8 +- .../60a3e3396c7b40068ad69978.md | 10 +- .../60a3e3396c7b40068ad6997d.md | 10 +- .../60a3e3396c7b40068ad6998a.md | 8 +- .../60a3e3396c7b40068ad6998f.md | 10 +- .../60a3e3396c7b40068ad69991.md | 8 +- .../60a3e3396c7b40068ad69997.md | 10 +- .../615f34ecc1091b4fd5a8a484.md | 12 +- .../615f4ce9d877b668417c0c42.md | 10 +- .../615f51257a8a516d80b6c743.md | 10 +- .../615f7c71eab8218f846e4503.md | 16 +- .../615f7ecb09de9a938ef94756.md | 20 +- .../615f887466db4ba14b5342cc.md | 12 +- .../the-cascade-of-css-lesson-f.md | 4 +- .../problem-461-almost-pi.md | 109 +++---- .../5daa813381b9e3db6c126b43.md | 2 +- .../657b11f87368cf463ea4fe46.md | 2 +- .../655b67f02eecf57fa75ceecf.md | 2 +- .../6557d782bc7613c06aa7dafd.md | 2 +- .../655a54506b259313b2d59577.md | 2 +- .../655b39e59c29d16d64a2ce8e.md | 2 +- .../hash-from-two-arrays.md | 2 +- .../66a207974c806a19d6607073.md | 2 +- .../aa2e6f85cab2ab736c9a9b24.md | 2 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 2 +- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 2 +- .../66be24cb4144f955b6bcc550.md | 2 +- .../66b62d0ad68488dd76228d6c.md | 2 +- .../668f08ea07b99b1f4a91acab.md | 18 +- .../66c057041df6394ca796bf33.md | 2 +- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 200 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../66ad8294a0ad902f1b31b612.md | 2 +- ...2-english-for-developers-certification.yml | 4 +- ...1-english-for-developers-certification.yml | 4 +- ...end-development-and-apis-certification.yml | 12 +- ...lege-algebra-with-python-certification.yml | 12 +- ...ata-analysis-with-python-certification.yml | 13 +- .../data-visualization-certification.yml | 13 +- .../foundational-c-sharp-with-microsoft.yml | 4 +- .../front-end-development.yml | 4 +- ...nd-development-libraries-certification.yml | 12 +- .../information-security-certification.yml | 13 +- ...thms-and-data-structures-certification.yml | 13 +- ...s-and-data-structures-certification-v8.yml | 12 +- .../legacy-back-end-certification.yml | 23 +- ...egacy-data-visualization-certification.yml | 23 +- .../legacy-front-end-certification.yml | 23 +- .../legacy-full-stack-certification.yml | 15 +- ...ty-and-quality-assurance-certification.yml | 13 +- ...ine-learning-with-python-certification.yml | 13 +- .../quality-assurance-certification.yml | 13 +- .../relational-database-certification.yml | 13 +- .../responsive-web-design-certification.yml | 13 +- ...ic-computing-with-python-certification.yml | 13 +- .../upcoming-python-certification.yml | 4 +- .../add-an-accessible-date-picker.md | 20 +- ...igation-easier-with-the-header-landmark.md | 18 +- ...navigation-easier-with-the-nav-landmark.md | 16 +- ...dex-to-add-keyboard-focus-to-an-element.md | 14 +- ...t-the-background-color-property-of-text.md | 20 +- ...of-an-element-using-the-height-property.md | 10 +- .../adjust-the-tone-of-a-color.md | 8 +- .../animate-elements-at-variable-rates.md | 10 +- ...ate-multiple-elements-at-variable-rates.md | 14 +- ...-horizontally-using-the-margin-property.md | 10 +- .../learn-how-bezier-curves-work.md | 16 +- ...otion-more-natural-using-a-bezier-curve.md | 14 +- ...nt-weight-for-multiple-heading-elements.md | 20 +- .../use-the-strong-tag-to-make-text-bold.md | 12 +- ...ansform-property-to-make-text-uppercase.md | 14 +- .../use-the-u-tag-to-underline-text.md | 12 +- .../add-borders-around-your-elements.md | 20 +- ...tach-a-fallback-value-to-a-css-variable.md | 16 +- .../basic-css/change-the-color-of-text.md | 20 +- ...ve-compatibility-with-browser-fallbacks.md | 12 +- .../set-the-font-family-of-an-element.md | 10 +- .../basic-css/use-a-custom-css-variable.md | 16 +- ...ion-to-specify-the-margin-of-an-element.md | 20 +- .../use-rgb-values-to-color-elements.md | 20 +- .../add-a-submit-button-to-a-form.md | 16 +- .../create-a-set-of-radio-buttons.md | 32 +-- .../basic-html-and-html5/uncomment-html.md | 18 +- ...add-flex-superpowers-to-the-tweet-embed.md | 24 +- ...elements-using-the-align-items-property.md | 20 +- .../use-display-flex-to-position-two-boxes.md | 10 +- ...x-wrap-property-to-wrap-a-row-or-column.md | 14 +- .../confirm-the-ending.md | 28 +- .../falsy-bouncer.md | 18 +- ...the-presence-of-an-element-with-indexof.md | 22 +- ...-an-array-to-store-a-collection-of-data.md | 20 +- ...g-a-default-option-in-switch-statements.md | 24 +- .../build-javascript-objects.md | 28 +- ...comparison-with-the-inequality-operator.md | 2 +- .../escaping-literal-quotes-in-strings.md | 14 +- .../find-the-length-of-a-string.md | 16 +- ...-variables-with-the-assignment-operator.md | 10 +- .../iterate-odd-numbers-with-a-for-loop.md | 14 +- ...terate-through-an-array-with-a-for-loop.md | 16 +- .../logical-order-in-if-else-statements.md | 24 +- .../nest-one-array-within-another-array.md | 10 +- .../basic-javascript/shopping-list.md | 16 +- ...ing-values-with-the-assignment-operator.md | 16 +- ...ndefined-value-returned-from-a-function.md | 18 +- .../understanding-uninitialized-variables.md | 14 +- .../use-recursion-to-create-a-countdown.md | 26 +- ...-recursion-to-create-a-range-of-numbers.md | 20 +- .../using-objects-for-lookups.md | 28 +- ...en-the-freecodecamp-and-browser-console.md | 16 +- ...pare-scopes-of-the-var-and-let-keywords.md | 36 +-- .../create-strings-using-template-literals.md | 24 +- ...gnment-to-assign-variables-from-objects.md | 20 +- .../write-arrow-functions-with-parameters.md | 24 +- ...lement-the-filter-method-on-a-prototype.md | 14 +- ...ion-to-currying-and-partial-application.md | 24 +- .../learn-about-functional-programming.md | 20 +- ...er-method-to-extract-data-from-an-array.md | 22 +- .../arguments-optional.md | 30 +- .../make-a-person.md | 42 +-- .../search-and-replace.md | 24 +- .../sorted-union.md | 20 +- .../sum-all-numbers-in-a-range.md | 16 +- .../roman-numeral-converter.md | 92 +++--- .../understand-the-prototype-chain.md | 14 +- ...ype-properties-to-reduce-duplicate-code.md | 20 +- .../find-characters-with-lazy-matching.md | 20 +- .../match-all-letters-and-numbers.md | 24 +- .../bootstrap/create-a-bootstrap-row.md | 14 +- .../bootstrap/create-a-custom-heading.md | 18 +- .../ditch-custom-css-for-bootstrap.md | 22 +- .../give-each-element-a-unique-id.md | 20 +- .../responsively-style-radio-buttons.md | 14 +- ...how-script-tags-and-document-ready-work.md | 22 +- .../target-elements-by-id-using-jquery.md | 18 +- .../connect-redux-to-the-messages-app.md | 18 +- .../extract-local-state-into-redux.md | 26 +- .../moving-forward-from-here.md | 12 +- .../create-a-component-with-composition.md | 18 +- .../react/pass-an-array-as-props.md | 24 +- .../render-a-class-component-to-the-dom.md | 18 +- .../react/render-conditionally-from-props.md | 26 +- .../sass/create-reusable-css-with-mixins.md | 28 +- .../use-each-to-map-over-items-in-a-list.md | 18 +- .../sass/use-for-to-create-a-sass-loop.md | 28 +- ...if-and-else-to-add-logic-to-your-styles.md | 20 +- .../visualize-data-with-a-treemap-diagram.md | 42 +-- .../add-classes-with-d3.md | 14 +- .../create-a-scatterplot-with-svg-circles.md | 12 +- ...minimum-and-maximum-values-in-a-dataset.md | 18 +- .../add-keywords-to-your-package.json.md | 16 +- .../create-and-save-a-record-of-a-model.md | 8 +- ...a-document-using-model.findoneandupdate.md | 10 +- .../announce-new-users.md | 16 +- .../authentication-strategies.md | 20 +- .../clean-up-your-project-with-modules.md | 18 +- .../hashing-your-passwords.md | 18 +- ...nt-the-serialization-of-a-passport-user.md | 16 +- .../send-and-display-chat-messages.md | 18 +- ...nctional-tests-using-a-headless-browser.md | 54 ++-- ...s-below-or-at-least-as-large-as-another.md | 16 +- .../sudoku-solver.md | 122 ++++---- .../probability-calculator.md | 4 +- .../6557712d77ce2d9bd7e63afd.md | 18 +- .../65577739f57ecca6c39bb4e9.md | 10 +- .../65796fac81f983127558f3f4.md | 8 +- .../65797670e0c0d016f17e7660.md | 6 +- .../6579cbab9825b8170974c69a.md | 8 +- .../6606927d010be4300a4e5330.md | 8 +- .../6606933d6813a8308c962dd1.md | 8 +- .../6606beade9200b49aaeecd94.md | 10 +- .../6606cc473675e85017b0c53d.md | 6 +- .../6606d32096165654b8e73f21.md | 8 +- .../6606d7bb9e4c6b574235159a.md | 6 +- .../660a8ef6b7571f6dddc3553b.md | 10 +- .../660a968ca0838773c9bbfc85.md | 10 +- .../660ac44c7eec868220318297.md | 6 +- .../656680b0fc79f2c38a34d90e.md | 20 +- .../65670d1ef177e7e2b76d9528.md | 10 +- .../656710d1e0ec62253426db24.md | 12 +- .../6569b20f829b7e69d43c232a.md | 8 +- .../6569b6be44940a8e2a469c31.md | 6 +- .../6577562501feabdf0984a184.md | 6 +- .../65f569725359e10d345bc52a.md | 8 +- .../662fa453ec8033322b3ab2e3.md | 6 +- .../65687a005aba3ea815b84e68.md | 6 +- .../65687a923dd792ad339f9c09.md | 6 +- .../65687e294ef2bdca637fb213.md | 6 +- .../656880227dab4bd8fbc02d41.md | 10 +- .../6582267ef39f5047411c1743.md | 8 +- .../65822bd82d708c4895080c35.md | 12 +- .../65823bbbdb4eaa4f9d20a0fb.md | 8 +- .../658244fdf4b0265334711664.md | 4 +- .../658246c28575d653d1f89b59.md | 8 +- .../658255d5f955175b270f251d.md | 6 +- .../65825b758fe85a5cebabc8c5.md | 8 +- .../657ed53c19461d4b95c4757a.md | 8 +- .../657ef2a86d4e545cec9a85fb.md | 12 +- .../657efdcf7fe23b76c0cff9ec.md | 10 +- .../657f47b12c51e41b3149e584.md | 10 +- .../663b10c10a4c0a0e095137ee.md | 8 +- .../64dc90949ff85e3b37be40d0.md | 8 +- .../64dc922df2919e3c38cead61.md | 10 +- .../64dc92a9718fb53ca3d1bad7.md | 10 +- .../64dc963d866fff3dd0329993.md | 6 +- .../64de6c8a5305d8173a3a9e09.md | 6 +- .../64de73f6c2486518e3064fec.md | 6 +- .../64de7662244db513d7b673ec.md | 8 +- .../64de7be06eb689161dd63cf0.md | 8 +- .../64df202aa1342114cd077920.md | 12 +- .../64df353d7ae6dc148fd64f53.md | 8 +- .../64df3f1011888113fbd3d81b.md | 20 +- .../64df45a3ad4f8719e5355244.md | 8 +- .../64df496c6a8ddf1b38db1ed6.md | 10 +- .../64e337e3096b7c1739d934e6.md | 6 +- .../64e340ecee18af1430939018.md | 6 +- .../64e34146860065146733883b.md | 8 +- .../65782342850feb3b8d62f936.md | 10 +- .../65646ffeaed2d238c562a014.md | 8 +- .../65648e4c5b316c4ec5e4fddc.md | 6 +- .../656490295d346850a4c4f2b5.md | 6 +- .../6564d096a55d707bd77ab67b.md | 8 +- .../6564daa2725b9b8420141b1c.md | 6 +- .../6564eebf0d2d6390b9377197.md | 6 +- .../6564f32b18480893cf7799fd.md | 6 +- .../6564fd78ffff909b1531d3c3.md | 6 +- .../6565c084627071646f94c4b0.md | 8 +- .../6565c13fdb798865c161d8f8.md | 8 +- .../656ef7f792734072dedd8319.md | 6 +- .../657dadf4d8b93c1704f3a57c.md | 10 +- .../657db4cb77190e33a20e852a.md | 8 +- .../65f03d9f92eac9183a4d3281.md | 12 +- .../65f07c9b1ffb814d856dcffc.md | 6 +- .../65f40051d6b09a139f253e8e.md | 12 +- .../65f4535bbdb28d436ff3ddc9.md | 4 +- .../6554d25dc5ceaa354307a77e.md | 10 +- .../6554e2ee23bfd93f2c83640f.md | 6 +- .../6555e5991af57d1ae0e35f0a.md | 10 +- .../6624e0ec0bf47017eed84b1f.md | 8 +- .../65ef1cda150a59c3b8306944.md | 10 +- .../65ef1dd722f6e7c8294eeec4.md | 6 +- .../65c4f0d32ca17ad4b1636b0e.md | 10 +- .../65c4f22498d22ed775ef8efb.md | 14 +- .../65c4f2d9fd872fd99ac659dd.md | 6 +- .../65c4f3258d2e4cdacc919dfd.md | 6 +- .../65c63df529bd15a24c187c62.md | 10 +- .../65ca0794ec3ed103bca67ed7.md | 10 +- .../65ca085a19adaa057302a3d6.md | 8 +- .../65ca11a86801bc1d254da83c.md | 8 +- .../numpy-introduction-a.md | 18 +- .../pandas-creating-columns.md | 12 +- .../python-functions-and-collections.md | 18 +- .../reading-data-introduction.md | 14 +- .../demographic-data-analyzer.md | 50 ++-- .../sea-level-predictor.md | 44 +-- .../install-and-require-helmet.md | 18 +- .../creating-a-tcp-client.md | 4 +- ...ts-at-a-specific-index-in-a-linked-list.md | 12 +- .../data-structures/adjacency-list.md | 20 +- ...-maximum-height-of-a-binary-search-tree.md | 28 +- ...orm-an-intersection-on-two-sets-of-data.md | 10 +- .../use-.has-and-.size-on-an-es6-set.md | 14 +- .../deep-learning-demystified.md | 12 +- ...rks-rnn-and-long-short-term-memory-lstm.md | 10 +- .../book-recommendation-engine-using-knn.md | 28 +- ...ral-networks-picking-a-pretrained-model.md | 4 +- ...neural-networks-the-convolutional-layer.md | 10 +- .../tensorflow/introduction-to-tensorflow.md | 14 +- .../build-a-celestial-bodies-database.md | 8 +- .../build-a-student-database-part-1.md | 4 +- .../build-a-student-database-part-2.md | 4 +- .../build-a-personal-portfolio-webpage.md | 7 + .../613e275749ebd008e74bb62e.md | 14 +- .../614202874ca576084fca625f.md | 32 +-- .../614396f7ae83f20ea6f9f4b3.md | 28 +- .../6145e8b5080a5f06bb0223d0.md | 42 +-- .../6145f02240ff8f09f7ec913c.md | 12 +- .../614796cb8086be482d60e0ac.md | 14 +- .../614878f7a412310647873015.md | 14 +- .../614883b6fa720e09fb167de9.md | 14 +- .../61488ecfd05e290b5712e6da.md | 2 +- .../6148d99cdc7acd0c519862cb.md | 2 +- .../6148da157cc0bd0d06df5c0a.md | 14 +- .../6148dc095264000dce348bf5.md | 2 +- .../6148dcaaf2e8750e6cb4501a.md | 8 +- .../6148dd31d210990f0fb140f8.md | 4 +- .../6148defa9c01520fb9d178a0.md | 4 +- .../6148dfab9b54c110577de165.md | 28 +- .../6148e0bcc13efd10f7d7a6a9.md | 6 +- .../6148e161ecec9511941f8833.md | 6 +- .../6148e28706b34912340fd042.md | 6 +- .../6148e335c1edd512d00e4691.md | 6 +- .../6148e41c728f65138addf9cc.md | 6 +- .../6148e5aeb102e3142de026a2.md | 12 +- .../614ccc21ea91ef1736b9b578.md | 8 +- .../5f332b23c2045fb843337579.md | 14 +- .../5f344fad8bf01691e71a30eb.md | 10 +- .../5f3477cb303c5cb61b43aa9b.md | 10 +- .../5f35e5c44359872a137bd98f.md | 14 +- .../5f3cade99dda4e6071a85dfd.md | 12 +- .../5f3ef6e01f288a026d709587.md | 16 +- .../5f3ef6e056bdde6ae6892ba2.md | 14 +- .../5f3ef6e0f8c230bdd2349716.md | 14 +- .../5f459225127805351a6ad057.md | 8 +- .../5f4701b942c824109626c3d8.md | 8 +- .../5f47fe7e31980053a8d4403b.md | 10 +- .../6140cbeec34e970dfe75e710.md | 12 +- .../617ace7d831f9c16a569b38a.md | 8 +- .../616d47bc9eedc4bc7f621bec.md | 12 +- .../61764f7e5240eb7ccc7f6a0a.md | 8 +- .../617b65579ce424bf5f02ca73.md | 12 +- .../617b8b38f32bf2080a140675.md | 12 +- .../617b8e0d93a8d10d9a90e720.md | 16 +- .../617b954d9f4f6217a749380e.md | 10 +- .../617bb5624a75e86463b7e638.md | 8 +- .../618a16873520a8d088ffdf44.md | 6 +- .../619b7424f43ec9215e538afe.md | 12 +- .../619b761916dac02643940022.md | 10 +- .../61a489b8579e87364b2d2cdb.md | 12 +- .../61a5ca57f50ded36d33eef96.md | 8 +- .../61b092eb9e7fc020b43b1bb2.md | 8 +- .../61b093219e7fc020b43b1bb4.md | 10 +- .../61b09f739aa6572d2064f9b8.md | 8 +- .../61b0a1b2af494934b7ec1a72.md | 14 +- .../61b3183655ec10efd8c0bb07.md | 10 +- .../61537d86bdc3dd343688fceb.md | 24 +- .../6153893900438b4643590367.md | 22 +- .../6153938dce8b294ff8f5a4e9.md | 8 +- .../6143a778bffc206ac6b1dbe3.md | 8 +- .../6143b9e1f5035c6e5f2a8231.md | 36 +-- .../6143c2a363865c715f1a3f72.md | 16 +- .../6144de308591ec10e27d5383.md | 8 +- .../6148b185ef37522f688316b0.md | 10 +- .../6148c5036ddad94692a66230.md | 8 +- .../6148d94fdf6a5d6899f8ff15.md | 6 +- .../614e0e588f0e8a772a8a81a6.md | 8 +- .../6196928658b6010f28c39484.md | 6 +- .../6199429802b7c10dc79ff871.md | 12 +- .../619be73b3c806006ccc00bb0.md | 10 +- .../619c155df0063a0a3fec0e32.md | 18 +- .../619d05c54dabca0b10058235.md | 12 +- .../619d1e7a8e81a61c5a819dc4.md | 6 +- .../619d237a107c10221ed743fa.md | 18 +- .../619d2b7a84e78b246f2d17a2.md | 16 +- .../619d30350883802921bfcccc.md | 2 +- .../619d333b738e3c2b5d58b095.md | 6 +- .../5d822fd413a79914d39e98ca.md | 14 +- .../5d822fd413a79914d39e98d7.md | 10 +- .../5d822fd413a79914d39e98dc.md | 10 +- .../5d822fd413a79914d39e98e9.md | 16 +- .../5d822fd413a79914d39e98ee.md | 8 +- .../5d822fd413a79914d39e98f0.md | 14 +- .../5d822fd413a79914d39e98f5.md | 6 +- .../5d822fd413a79914d39e9903.md | 8 +- .../5d822fd413a79914d39e9915.md | 6 +- .../5d822fd413a79914d39e991a.md | 10 +- .../5d822fd413a79914d39e9927.md | 6 +- .../5d822fd413a79914d39e992c.md | 8 +- .../5d822fd413a79914d39e9939.md | 6 +- .../5d822fd413a79914d39e993e.md | 14 +- .../5dc174fcf86c76b9248c6eb2.md | 24 +- .../5dc23991f86c76b9248c6eb8.md | 26 +- .../5dc23f9bf86c76b9248c6eba.md | 14 +- .../5dfa22d1b521be39a3de7be0.md | 16 +- .../5dfa30b9eacea3f48c6300ad.md | 24 +- .../5ef9b03c81a63668521804d8.md | 18 +- .../5ef9b03c81a63668521804dd.md | 20 +- .../5efc518e8d6a74d05e68af75.md | 12 +- .../5f0d4d04b435f13ab6550053.md | 12 +- .../60f027c87bc98f050395c139.md | 18 +- .../60f8618d191b940d62038513.md | 10 +- .../60fac4095512d3066053d73c.md | 10 +- .../60fc219d333e37046f474a6e.md | 8 +- .../60fc22d1e64d1b04cdd4e602.md | 12 +- .../60ffe1bc30415f042faea936.md | 10 +- .../60ffefd6479a3d084fb77cbc.md | 6 +- .../646c586be7180e40ddf74ff6.md | 8 +- .../646c5ffef5598d449b52ec12.md | 12 +- .../646ce9d790d2a44de5f99e04.md | 16 +- .../646dd6f9caa862627dd87772.md | 10 +- .../646dec359bef3b7811fba5a6.md | 14 +- .../646df0cf26413a7b35e4b8b3.md | 14 +- .../646f0ef13604420a8744f7d4.md | 12 +- .../646f107abb89d00bb99f387a.md | 12 +- .../647d855ac12cd436059acd39.md | 8 +- .../61fd6343fb42013d99bcd7f3.md | 8 +- .../61fd9b7285bde783ad5b8aac.md | 28 +- .../6201995d9ab88e80f1989dce.md | 8 +- .../612e813b3ba67633222cbe54.md | 18 +- .../612e8279827a28352ce83a72.md | 12 +- .../612e9f1e7e5ccd4fa9ada0be.md | 8 +- .../612ebedec97e096c8bf64999.md | 8 +- .../60a3e3396c7b40068ad6996b.md | 18 +- .../60a3e3396c7b40068ad69973.md | 8 +- .../60a3e3396c7b40068ad69978.md | 10 +- .../60a3e3396c7b40068ad6997d.md | 10 +- .../60a3e3396c7b40068ad6998a.md | 8 +- .../60a3e3396c7b40068ad6998f.md | 10 +- .../60a3e3396c7b40068ad69991.md | 8 +- .../60a3e3396c7b40068ad69997.md | 10 +- .../615f34ecc1091b4fd5a8a484.md | 20 +- .../615f4ce9d877b668417c0c42.md | 10 +- .../615f51257a8a516d80b6c743.md | 10 +- .../615f7c71eab8218f846e4503.md | 18 +- .../615f7ecb09de9a938ef94756.md | 22 +- .../615f887466db4ba14b5342cc.md | 18 +- .../introduction-flexbox-lesson-g.md | 22 +- .../learn-arrays-and-loops-lesson-b.md | 10 +- .../learn-arrays-and-loops-lesson-g.md | 8 +- .../learn-block-and-inline-lesson-i.md | 12 +- .../css-foundations-exercise-e.md | 22 +- .../css-foundations-lesson-c.md | 10 +- .../css-foundations-lesson-h.md | 18 +- .../the-cascade-of-css-lesson-f.md | 4 +- ...rn-data-types-and-conditionals-lesson-i.md | 10 +- .../learn-function-basics-lesson-a.md | 18 +- .../html-foundations-lesson-b.md | 18 +- .../html-foundations-lesson-h.md | 12 +- .../learn-variables-and-operators-lesson-c.md | 18 +- .../links-and-images-lesson-c.md | 30 +- .../links-and-images-lesson-d.md | 50 ++-- .../working-with-text-lesson-i.md | 18 +- .../build-a-graphing-calculator.md | 24 +- .../build-a-multi-function-calculator.md | 24 +- .../spreadsheets-and-additional-resources.md | 6 +- .../fractions-and-decimals-extra.md | 16 +- .../problem-10-summation-of-primes.md | 16 +- .../problem-11-largest-product-in-a-grid.md | 14 +- .../problem-37-truncatable-primes.md | 18 +- .../problem-4-largest-palindrome-product.md | 12 +- .../problem-47-distinct-primes-factors.md | 16 +- .../problem-48-self-powers.md | 16 +- .../problem-52-permuted-multiples.md | 12 +- .../problem-56-powerful-digit-sum.md | 18 +- .../problem-8-largest-product-in-a-series.md | 12 +- .../problem-88-product-sum-numbers.md | 26 +- ...problem-105-special-subset-sums-testing.md | 16 +- .../problem-109-darts.md | 18 +- .../problem-124-ordered-radicals.md | 14 +- .../problem-133-repunit-nonfactors.md | 12 +- ...m-140-modified-fibonacci-golden-nuggets.md | 12 +- .../problem-148-exploring-pascals-triangle.md | 10 +- .../problem-154-exploring-pascals-pyramid.md | 14 +- ...roblem-167-investigating-ulam-sequences.md | 12 +- .../problem-168-number-rotations.md | 14 +- ...ent-hollow-square-laminae-can-be-formed.md | 10 +- .../problem-178-step-numbers.md | 14 +- .../problem-182-rsa-encryption.md | 26 +- .../problem-186-connectedness-of-a-network.md | 30 +- .../problem-192-best-approximations.md | 12 +- .../problem-213-flea-circus.md | 10 +- .../problem-253-tidying-up.md | 52 ++-- .../problem-267-billionaire.md | 16 +- ...ur-distinct-prime-factors-less-than-100.md | 8 +- .../problem-295-lenticular-holes.md | 26 +- ...em-311-biclinic-integral-quadrilaterals.md | 18 +- .../problem-313-sliding-game.md | 16 +- ...-factorials-divisible-by-a-huge-integer.md | 10 +- ...itwise-or-operations-on-random-integers.md | 16 +- ...em-341-golombs-self-describing-sequence.md | 12 +- .../problem-344-silver-dollar-game.md | 24 +- .../problem-355-maximal-coprime-subset.md | 10 +- ...-356-largest-roots-of-cubic-polynomials.md | 12 +- ...-361-subsequence-of-thue-morse-sequence.md | 16 +- .../problem-368-a-kempner-like-series.md | 16 +- .../problem-369-badugi.md | 10 +- .../problem-380-amazing-mazes.md | 18 +- .../problem-398-cutting-rope.md | 10 +- .../problem-402-integer-valued-polynomials.md | 20 +- .../problem-405-a-rectangular-tiling.md | 20 +- .../problem-416-a-frogs-trip.md | 12 +- .../problem-430-range-flips.md | 18 +- .../problem-434-rigid-graphs.md | 34 +-- .../problem-436-unfair-wager.md | 24 +- ...oblem-448-average-least-common-multiple.md | 14 +- ...polynomial-modulo-the-square-of-a-prime.md | 14 +- .../problem-461-almost-pi.md | 109 +++---- ...roblem-464-mbius-function-and-intervals.md | 24 +- .../problem-467-superinteger.md | 18 +- ...mooth-divisors-of-binomial-coefficients.md | 16 +- ...ng-the-switch-case-construct-in-c-sharp.md | 18 +- ...-and-logic-using-code-blocks-in-c-sharp.md | 18 +- ...ching-and-looping-structures-in-c-sharp.md | 18 +- .../5daa813381b9e3db6c126b43.md | 8 +- .../657b130a905a6045ebe03214.md | 8 +- .../657b190c4e736f5c4005b132.md | 16 +- .../657b30777fcf90c40b9d7ca8.md | 20 +- .../657b7d76e9447705f7e5ceb8.md | 20 +- .../657cdaeee8cc4517f84911a2.md | 2 +- .../657ced8b322c055e500c2d23.md | 4 +- .../657cfeeeabb34d946d437dc7.md | 2 +- .../657dc1d18a0a6f25302badba.md | 2 +- .../657dcafa1e1a4a62dc03cb76.md | 4 +- .../657dcee413423174ca3747f5.md | 4 +- .../6568c68b92a63810a57cffaf.md | 24 +- .../6568c759cb59e810dfaa1506.md | 22 +- .../656a10aaa023200eddd09d88.md | 22 +- .../656a1298f2a0400f56b31e25.md | 8 +- .../656a137523a9bc0f9d3bae01.md | 20 +- .../656a13f01a59cb0fc9d52149.md | 20 +- .../656a510695ccb03109117af0.md | 12 +- .../656a52da3392f631b9f3e022.md | 10 +- .../656a58b31bc9f233debc2bc9.md | 8 +- .../656ab31ebccec247fde7cee4.md | 6 +- .../656ab3bfc9e49d4841672043.md | 20 +- .../656ab4205a4054486ef3b691.md | 8 +- .../656ab5a3ee689949124d2e39.md | 14 +- .../656ab7e9be47c04a2518dbed.md | 20 +- .../656abb977f9ecf4b821aed11.md | 20 +- .../656abcd4cccfc84bf50f861b.md | 12 +- .../656cb0b3e4e30f0550131acd.md | 6 +- .../656cb2ee9d60f205d362b1de.md | 14 +- .../656cca055e5d1912d9784ce1.md | 20 +- .../656ccde87f42ec13b19c5dab.md | 20 +- .../656cd22d91db1915cb11f584.md | 22 +- .../656cd63a45146d1c2c51e682.md | 20 +- .../656cd6a37495961c5f242c5d.md | 12 +- .../656cd983328ab41d5bd929d0.md | 18 +- .../656cdcc291e5531ea11a8f2a.md | 12 +- .../656d1831a6a2fe0465ea9488.md | 12 +- .../656d19d9ab6e0c052edfb1e7.md | 6 +- .../656d1a520285050552702fc1.md | 22 +- .../656d23d22a488510bca0e418.md | 6 +- .../657b106ced8c653be6b3218f.md | 10 +- .../657b115008a62d41c0d7482f.md | 20 +- .../657b11e082e48a44eb4bfc09.md | 2 +- .../657b11f87368cf463ea4fe46.md | 4 +- .../657b1431076b365555784189.md | 2 +- .../657b163c9da40e62b904be1f.md | 2 +- .../657b1d4ec0e2587e8bcc95f7.md | 4 +- .../657b20338e0802931673c1e1.md | 4 +- .../657b227f7ad32ea17e2cdf28.md | 6 +- .../657b23bc0e32f9aa9c62eb82.md | 2 +- .../657b24542024c8af092cd6c4.md | 2 +- .../657b2c040bb5f6c77fa5df80.md | 4 +- .../657b2eeb31e435d89ecce6f3.md | 2 +- .../657b2f0b3bcfe7d9f4151854.md | 2 +- .../657b2fc9c0f96bdfddfce4d9.md | 2 +- .../657b30ac03b523e6640deaf1.md | 4 +- .../65f310fc37e701bfa451be47.md | 2 +- .../65f3234e85f828dd1f45d384.md | 2 +- .../65f365351cf89fedddcc281e.md | 2 +- .../65f439533bb1c4a3ab360b62.md | 2 +- .../65f52f761f23715bce60f9ce.md | 2 +- .../664150b24f82ec4dc8d4f077.md | 4 +- .../6641570410a46551973bb25c.md | 2 +- .../655b62a491cb2d7c687a1a2a.md | 20 +- .../655b6522da78357de8428a19.md | 32 +-- .../655b67f02eecf57fa75ceecf.md | 14 +- .../655b69293e6e9480ed5f6624.md | 28 +- .../655bd2f3caad89436a3dcc04.md | 14 +- .../655bdc7e9c4116509df13f34.md | 10 +- .../656918c77e73780c34392e17.md | 2 +- .../656a46e84a0ad845901ea907.md | 4 +- .../656a4a7596c46e495c64a7ec.md | 4 +- .../656a4ac4529e0f49ab900c3b.md | 4 +- .../656a4b9e4822ba4a9893459e.md | 4 +- .../656a4d74286f4d4c4ae58de0.md | 4 +- .../65fdd18dada8515bcb983337.md | 4 +- .../6617f51ef25faa7314b76691.md | 2 +- .../6617f546c322867470cb0d02.md | 2 +- .../66193b1deee8db8cfe3bc5c1.md | 2 +- .../661eedfdd116c27b62029999.md | 2 +- .../65b261dae662a3512ed47826.md | 2 +- .../65b6575614ff477fd47746f4.md | 4 +- .../65d5feaac55f2d673480abe1.md | 2 +- .../65d60402f5661e79dfddab63.md | 2 +- .../65d6bd19de6bad235879c032.md | 2 +- .../65d86c1b4c4fd6fef305999b.md | 4 +- .../65d86f2835110e0770f5333f.md | 2 +- .../65d8947a2588474f90595bcf.md | 4 +- .../65d967ec3ad9fb162e3b6d67.md | 2 +- .../65daa8143ae77767ad914ba4.md | 2 +- .../6556ba2fe6c3f3846ea71ab2.md | 12 +- .../6556bfd76c3fc38ba94ccf5e.md | 20 +- .../6556c24670683b8d6d80bb32.md | 4 +- .../6557d782bc7613c06aa7dafd.md | 6 +- .../6557e5c6a854bfcad48808c4.md | 2 +- .../655a2a597d94f7fcc2f6126e.md | 2 +- .../655a54506b259313b2d59577.md | 4 +- .../655b39e59c29d16d64a2ce8e.md | 8 +- .../657a45a85a8f6cfeef7803db.md | 2 +- .../65e84a436d691712a7769ea9.md | 2 +- .../65e993f3248e434a5a47744c.md | 2 +- .../65e9991e59d4b959920e8c7d.md | 2 +- .../6617528c1b07688acdfea4e9.md | 2 +- .../6617b1efe920c2ffea40b54d.md | 4 +- .../6617b53e5eda8e09c6c67d28.md | 2 +- .../658150c6b7f47a2629b2372d.md | 2 +- .../658154d361f5f6285eeeffc6.md | 2 +- .../65819377e2ad2536b3d1e0c0.md | 2 +- .../6581a2a527222938f4f0a9eb.md | 2 +- .../6581a7d6af8f2f3aefd232ab.md | 2 +- .../65a35429c637c13540c9be80.md | 2 +- .../65a3937c171d9182e6bb4bc5.md | 2 +- .../65a39ae928cfbd0b75cd91c5.md | 4 +- .../65a3dafe5c945761cef35199.md | 4 +- .../65a4f2c2d1bbdfbe82cb3fdd.md | 2 +- .../65a5000506fe76d745652a33.md | 2 +- .../65a506572b8d62e47a6f1c08.md | 2 +- .../65a508d77b492aecb63b06b5.md | 2 +- .../65a5312db639d2f8fd4c31a7.md | 2 +- .../65a533f54a5afeff6c6bb996.md | 4 +- .../65a750a82c2476a6305bf621.md | 2 +- .../65a7917a28aa16ca5a832593.md | 2 +- .../65fc8d3b0133d45abd7a179b.md | 4 +- .../65fc94ba65ed765d55195bc0.md | 2 +- .../656bbbe6d57609104b152625.md | 2 +- .../656bbfaf6cbc3f1418acca3c.md | 2 +- .../656bc8f4928b351b8a6c4d53.md | 2 +- .../65a853b498eb87c035f6da13.md | 4 +- .../65b2b74cb90a3d3b5d1acc48.md | 4 +- .../661f92a4f77e0740906355cb.md | 2 +- .../662229a912046b51dd81b35a.md | 4 +- .../66234f32cadc5ff3e109d696.md | 2 +- .../662635b73cca81426d091f59.md | 2 +- .../660011d015f7d43626524ef8.md | 10 +- .../660012ff748bf2375c31b591.md | 8 +- .../6625d987196d2383e359d41f.md | 2 +- .../661278160653ee3d9040ed68.md | 2 +- .../661279c8d3bf0f3f6f23f21f.md | 2 +- .../6579c82fc81196a43686415a.md | 2 +- .../6579d035f49339d7aa16ec74.md | 2 +- .../6579d827ebd50afcacb829fe.md | 2 +- .../6579dd5f2f35b11f3dcd9702.md | 2 +- .../6579ddb17d88c12323aae5b5.md | 2 +- .../6579df1646568c3268b93637.md | 2 +- .../6579e12834045640e90e58bd.md | 2 +- .../657e06eca8147f561619be7d.md | 16 +- .../657e0f15eb5e5b77ce1a39c2.md | 26 +- .../657e29a26f65fae11f8721f8.md | 20 +- .../657e2b41d0dd50e9fa123272.md | 20 +- .../657e2c85b80142efb0dcb6fa.md | 16 +- .../657e312bc450e802af97847d.md | 20 +- .../657e5280003334b1726df8a2.md | 4 +- .../657e60811cb0f305e56bbe31.md | 4 +- .../657e704f452a044b427e96d2.md | 2 +- .../657e7194d581bf52d96d452d.md | 4 +- .../657e741a7309f661e0a48909.md | 2 +- .../657d50434d1a007661712182.md | 8 +- .../657da1d38bf3e693eb579be9.md | 32 +-- .../657e77615bb8dec146e91f96.md | 12 +- .../657ec62074e77dc82b0f05e7.md | 12 +- .../657ee5ddb47b1dd62f87d784.md | 14 +- .../657ee8a9a195b8d8756ca5e1.md | 6 +- .../657eed5ed318e4dbbce6903a.md | 12 +- .../657fb92c6f888fe8013f1a28.md | 4 +- .../6613d3fe6615374be0d10008.md | 2 +- .../6614be98fc11336c52aa3093.md | 2 +- .../6629cbab2498e4a1d1f592ac.md | 4 +- .../6630b37556424464ba0f984e.md | 4 +- .../657b6a7dd8fb2f2a52da24f5.md | 2 +- .../657cad90d6745e85569cdc06.md | 2 +- .../657ce5caa3e1460ff657c6b0.md | 6 +- .../657df2b22d7649667734d71e.md | 4 +- .../657e4e3b02a2128049c344c8.md | 4 +- .../657e539471b4aa82c7402c15.md | 2 +- .../ackermann-function.md | 22 +- ...cles-of-given-radius-through-two-points.md | 38 +-- .../rosetta-code-challenges/combinations.md | 14 +- .../convert-seconds-to-compound-duration.md | 44 +-- .../factors-of-a-mersenne-number.md | 64 ++--- .../rosetta-code-challenges/gamma-function.md | 20 +- .../generate-lower-case-ascii-alphabet.md | 18 +- .../hash-from-two-arrays.md | 22 +- .../rosetta-code-challenges/k-d-tree.md | 22 +- .../knapsack-problem-0-1.md | 20 +- .../least-common-multiple.md | 22 +- .../long-multiplication.md | 24 +- .../lucas-lehmer-test.md | 22 +- .../luhn-test-of-credit-card-numbers.md | 38 +-- .../sorting-algorithms-stooge-sort.md | 20 +- .../taxicab-numbers.md | 26 +- .../tokenize-a-string-with-escaping.md | 44 +-- .../vector-cross-product.md | 12 +- .../rosetta-code-challenges/word-wrap.md | 18 +- .../comparing-and-sorting-tuples.md | 8 +- .../introduction-hardware-achitecture.md | 10 +- .../66a207974c806a19d6607073.md | 8 +- .../aa2e6f85cab2ab736c9a9b24.md | 4 +- .../66f686b8ebdb982fa8e14330.md | 9 +- .../66c06fad3475cd92421b9ac2.md | 4 +- .../66db529d37ad966480ebb633.md | 261 +++++++++++++++++ .../66a37f37ef5823a313de8c26.md | 10 +- .../66be24cb4144f955b6bcc550.md | 4 +- .../66b62d0ad68488dd76228d6c.md | 4 +- .../668f08ea07b99b1f4a91acab.md | 46 +-- .../66c057041df6394ca796bf33.md | 32 +-- .../66f1b11026394bcdb7c42473.md | 2 +- .../66f1af4fedf643c78d024c5e.md | 200 ++++++------- .../66f1afbd9998e9c985d8e73b.md | 215 +++++++------- .../66ed8fe1f45ce3ece4053eb1.md | 248 +++++++++------- .../66ed901ff45ce3ece4053eba.md | 200 ++++++------- .../66edcccbba6dacdb65a59067.md | 266 +++++++++++------- .../66edd5583761e4f6dae19606.md | 2 +- .../66edc25ae5ea80bf6f785552.md | 253 ++++++++++------- .../quiz-nano/66f1b03b922a53cb231e1c0d.md | 200 ++++++------- .../66f1b0a939e913ccd3d4fa18.md | 200 ++++++------- .../66ed903cf45ce3ece4053ebe.md | 202 ++++++------- .../66f1ae758b77cfc3e4da6151.md | 215 +++++++------- .../669aff9f5488f1bea056416d.md | 6 +- .../5f3326b143638ee1a09ff1e3.md | 6 +- .../5f3ef6e01f288a026d709587.md | 4 +- .../5f46e36e745ead58487aabf2.md | 6 +- .../66cc06012e46aa6bc9b8c001.md | 1 - .../66cc095dfe1682753d2ab030.md | 4 +- .../66cc0a9e06e00b75d6782be9.md | 2 +- .../66cc0f1ae40802781b2ea972.md | 2 +- .../66cc12fa504b0479dac479a0.md | 4 +- .../66cc1ccfefdd727e18c2ab20.md | 2 +- .../66cc1deb1f04647f2aabee2b.md | 4 +- .../66cc21d23238dc8240a8a182.md | 1 - .../6690b9a24f5b0f1300040c76.md | 8 +- .../6690be902f051416f668962b.md | 2 +- .../66984535d474083eec6bb8da.md | 8 +- .../669845af34899240d9196258.md | 8 +- .../6698496716e821448ba724a6.md | 6 +- .../66a9b333487b9c14998539a5.md | 22 +- .../66ad8294a0ad902f1b31b612.md | 2 +- .../66a93730719e1f68410cce54.md | 4 +- .../66a94ea5df66236ebed260e8.md | 4 +- .../66a975c259525b7bc2d5c776.md | 6 +- .../66e2df8c5676fe51cead8ec8.md | 2 +- .../66e2edb23013ca596f8d9568.md | 2 +- 4889 files changed, 44636 insertions(+), 40046 deletions(-) create mode 100644 curriculum/challenges/arabic/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md create mode 100644 curriculum/challenges/chinese-traditional/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md create mode 100644 curriculum/challenges/chinese/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md create mode 100644 curriculum/challenges/espanol/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md create mode 100644 curriculum/challenges/german/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md create mode 100644 curriculum/challenges/italian/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md create mode 100644 curriculum/challenges/japanese/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md create mode 100644 curriculum/challenges/korean/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md create mode 100644 curriculum/challenges/portuguese/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md create mode 100644 curriculum/challenges/swahili/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md create mode 100644 curriculum/challenges/ukrainian/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md diff --git a/curriculum/challenges/arabic/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml b/curriculum/challenges/arabic/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml index c2018b7e77..d020e8c1e5 100644 --- a/curriculum/challenges/arabic/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml @@ -1,22 +1,22 @@ --- id: 561add10cb82ac38a17523bc -title: تطوير واجهات الخلفية وشهادة واجهات برمجة التطبيقات API +title: Back End Development and APIs Certification certification: back-end-development-and-apis challengeType: 7 isPrivate: true tests: - id: bd7158d8c443edefaeb5bdef - title: الخدمة المصغرة للطابع الزمني + title: Timestamp Microservice - id: bd7158d8c443edefaeb5bdff - title: الخدمة المصغرة لمحلل Request Header + title: Request Header Parser Microservice - id: bd7158d8c443edefaeb5bd0e - title: الخدمة المصغرة لتقصير الروابط + title: URL Shortener Microservice - id: 5a8b073d06fa14fcfde687aa - title: متعقب التمارين + title: Exercise Tracker - id: bd7158d8c443edefaeb5bd0f - title: خدمة مصغرة للبيانات الوصفية للملفات + title: File Metadata Microservice diff --git a/curriculum/challenges/arabic/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml b/curriculum/challenges/arabic/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml index b146f7e4a0..d867faab96 100644 --- a/curriculum/challenges/arabic/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e46fc95ac417301a38fb934 -title: تحليل البيانات بواسطة شهادة Python +title: Data Analysis with Python Certification certification: data-analysis-with-python challengeType: 7 isPrivate: true tests: - id: 5e46f7e5ac417301a38fb928 - title: حاسبة الانحراف المعياري و التباين و المتوسط + title: Mean-Variance-Standard Deviation Calculator - id: 5e46f7e5ac417301a38fb929 - title: محلل البيانات الديموغرافية + title: Demographic Data Analyzer - id: 5e46f7f8ac417301a38fb92a - title: مصور البيانات الطبية + title: Medical Data Visualizer - id: 5e46f802ac417301a38fb92b - title: مصور السلسلة الزمنية لعرض الصفحة + title: Page View Time Series Visualizer - id: 5e4f5c4b570f7e3a4949899f - title: متوقّع مستوى البحر + title: Sea Level Predictor diff --git a/curriculum/challenges/arabic/00-certifications/data-visualization-certification/data-visualization-certification.yml b/curriculum/challenges/arabic/00-certifications/data-visualization-certification/data-visualization-certification.yml index d77cefc422..cfda40657c 100644 --- a/curriculum/challenges/arabic/00-certifications/data-visualization-certification/data-visualization-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/data-visualization-certification/data-visualization-certification.yml @@ -1,22 +1,21 @@ ---- id: 5a553ca864b52e1d8bceea14 -title: شهادة التصوير المرئي للبيانات +title: Data Visualization Certification certification: data-visualization challengeType: 7 isPrivate: true tests: - id: bd7168d8c242eddfaeb5bd13 - title: التصوير المرئي للبيانات باستخدام مخطط الأعمدة + title: Visualize Data with a Bar Chart - id: bd7178d8c242eddfaeb5bd13 - title: التصوير المرئي للبيانات باستخدام مخطط التشتت + title: Visualize Data with a Scatterplot Graph - id: bd7188d8c242eddfaeb5bd13 - title: التصوير المرئي للبيانات باستخدام خريطة التمثيل الحراري + title: Visualize Data with a Heat Map - id: 587d7fa6367417b2b2512bbf - title: التصوير المرئي للبيانات باستخدام خريطة التمثيل اللوني + title: Visualize Data with a Choropleth Map - id: 587d7fa6367417b2b2512bc0 - title: التصوير المرئي للبيانات باستخدام الخريطة الشجرية + title: Visualize Data with a Treemap Diagram diff --git a/curriculum/challenges/arabic/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml b/curriculum/challenges/arabic/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml index b65e0f5cbf..adacd42f16 100644 --- a/curriculum/challenges/arabic/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml @@ -1,22 +1,22 @@ --- id: 561acd10cb82ac38a17513bc -title: شهادة مكتبات تطوير واجهة المستخدم +title: Front End Development Libraries Certification certification: front-end-development-libraries challengeType: 7 isPrivate: true tests: - id: bd7158d8c442eddfaeb5bd13 - title: بناء آلة عرض اقتباسات عشوائية + title: Build a Random Quote Machine - id: bd7157d8c242eddfaeb5bd13 - title: بناء عارض Markdown + title: Build a Markdown Previewer - id: 587d7dbc367417b2b2512bae - title: أنشئ آلة الطبول + title: Build a Drum Machine - id: bd7158d8c442eddfaeb5bd17 - title: ابن آلة حاسبة باستخدام JavaScript + title: Build a JavaScript Calculator - id: bd7158d8c442eddfaeb5bd0f - title: بناء ساعة 25 + 5 + title: Build a 25 + 5 Clock diff --git a/curriculum/challenges/arabic/00-certifications/information-security-certification/information-security-certification.yml b/curriculum/challenges/arabic/00-certifications/information-security-certification/information-security-certification.yml index 9256a93572..b3fba222c8 100644 --- a/curriculum/challenges/arabic/00-certifications/information-security-certification/information-security-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/information-security-certification/information-security-certification.yml @@ -1,22 +1,21 @@ ---- id: 5e6021435ac9d0ecd8b94b00 -title: شهادة امن المعلومات +title: Information Security Certification certification: information-security challengeType: 7 isPrivate: true tests: - id: 587d824a367417b2b2512c44 - title: مدقق أسعار الأسهم + title: Stock Price Checker - id: 587d824a367417b2b2512c45 - title: لوحة الرسائل المجهولة + title: Anonymous Message Board - id: 5e46f979ac417301a38fb932 - title: ماسح المنافذ + title: Port Scanner - id: 5e46f983ac417301a38fb933 - title: كاسر كلمات المرور بتشفير SHA-1 + title: SHA-1 Password Cracker - id: 5e601c775ac9d0ecd8b94aff - title: لعبة اونلاين متعددة اللاعبين و آمنة + title: Secure Real Time Multiplayer Game diff --git a/curriculum/challenges/arabic/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml b/curriculum/challenges/arabic/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml index dbfa713d1d..2b2ce86ac8 100644 --- a/curriculum/challenges/arabic/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml @@ -1,22 +1,21 @@ ---- id: 561abd10cb81ac38a17513bc -title: شهادة خوارزميات وهياكل البيانات في JavaScript +title: JavaScript Algorithms and Data Structures Certification certification: javascript-algorithms-and-data-structures challengeType: 7 isPrivate: true tests: - id: aaa48de84e1ecc7c742e1124 - title: مدقق لمعاكس المقطع النصي + title: Palindrome Checker - id: a7f4d8f2483413a6ce226cac - title: محول للأرقام الرومانية + title: Roman Numeral Converter - id: 56533eb9ac21ba0edf2244e2 - title: شفرة قيصر + title: Caesars Cipher - id: aff0395860f5d3034dc0bfc9 - title: مدقق لرقم الهاتف + title: Telephone Number Validator - id: aa2e6f85cab2ab736c9a9b24 - title: مكنة لتسجيل النقود + title: Cash Register diff --git a/curriculum/challenges/arabic/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml b/curriculum/challenges/arabic/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml index 72f813a907..aac4f8e0cb 100644 --- a/curriculum/challenges/arabic/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml @@ -1,37 +1,36 @@ ---- id: 660add10cb82ac38a17513be -title: شهادة الواجهة الخلفية القديمة +title: Legacy Back End Certification certification: legacy-back-end challengeType: 7 isPrivate: true tests: - id: bd7158d8c443edefaeb5bdef - title: الخدمة المصغرة للطابع الزمني + title: Timestamp Microservice - id: bd7158d8c443edefaeb5bdff - title: الخدمة المصغرة لمحلل Request Header + title: Request Header Parser Microservice - id: bd7158d8c443edefaeb5bd0e - title: الخدمة المصغرة لتقصير الروابط + title: URL Shortener Microservice - id: bd7158d8c443edefaeb5bdee - title: طبقة مجرّدة للبحث عن الصور + title: Image Search Abstraction Layer - id: bd7158d8c443edefaeb5bd0f - title: خدمة مصغرة للبيانات الوصفية للملفات + title: File Metadata Microservice - id: bd7158d8c443eddfaeb5bdef - title: بناء تطبيق تصويت + title: Build a Voting App - id: bd7158d8c443eddfaeb5bdff - title: بناء تطبيق تنسيق الحياة الليلية + title: Build a Nightlife Coordination App - id: bd7158d8c443eddfaeb5bd0e - title: رسم بياني لسوق الأسهم + title: Chart the Stock Market - id: bd7158d8c443eddfaeb5bd0f - title: إدارة نادي تجارة الكتب + title: Manage a Book Trading Club - id: bd7158d8c443eddfaeb5bdee - title: بناء نسخة من Pinterest + title: Build a Pinterest Clone diff --git a/curriculum/challenges/arabic/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml b/curriculum/challenges/arabic/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml index 19885830ef..3066d439be 100644 --- a/curriculum/challenges/arabic/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml @@ -1,37 +1,36 @@ ---- id: 561add10cb82ac39a17513bc -title: شهادة التصوير المرئي للبيانات +title: Legacy Data Visualization Certification certification: legacy-data-visualization challengeType: 7 isPrivate: true tests: - id: bd7157d8c242eddfaeb5bd13 - title: بناء عارض Markdown + title: Build a Markdown Previewer - id: bd7156d8c242eddfaeb5bd13 - title: بناء لائحة المتصدرين + title: Build a Camper Leaderboard - id: bd7155d8c242eddfaeb5bd13 - title: بناء صندوق وصفات + title: Build a Recipe Box - id: bd7154d8c242eddfaeb5bd13 - title: بناء لعبة الحياة + title: Build the Game of Life - id: bd7153d8c242eddfaeb5bd13 - title: بناء لعبة Roguelike Dungeon Crawler + title: Build a Roguelike Dungeon Crawler Game - id: bd7168d8c242eddfaeb5bd13 - title: التصوير المرئي للبيانات باستخدام مخطط الأعمدة + title: Visualize Data with a Bar Chart - id: bd7178d8c242eddfaeb5bd13 - title: التصوير المرئي للبيانات باستخدام مخطط التشتت + title: Visualize Data with a Scatterplot Graph - id: bd7188d8c242eddfaeb5bd13 - title: التصوير المرئي للبيانات باستخدام خريطة التمثيل الحراري + title: Visualize Data with a Heat Map - id: bd7198d8c242eddfaeb5bd13 - title: إظهار الارتباط الوطني مع رسم بياني موجه بالقوة + title: Show National Contiguity with a Force Directed Graph - id: bd7108d8c242eddfaeb5bd13 - title: بيانات الخرائط عبر الكرة الأرضية + title: Map Data Across the Globe diff --git a/curriculum/challenges/arabic/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml b/curriculum/challenges/arabic/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml index 25e29896e5..2ad2f1cb19 100644 --- a/curriculum/challenges/arabic/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml @@ -1,37 +1,36 @@ ---- id: 561add10cb82ac38a17513be -title: شهادة الواجهة الأمامية التراثية +title: Legacy Front End Certification certification: legacy-front-end challengeType: 7 isPrivate: true tests: - id: bd7158d8c242eddfaeb5bd13 - title: أنشئ معرضا لأعمالك الخاصة + title: Build a Personal Portfolio Webpage - id: bd7158d8c442eddfaeb5bd13 - title: قم ببناء آلة عرض اقتباسات عشوائية + title: Build a Random Quote Machine - id: bd7158d8c442eddfaeb5bd0f - title: قم ببناء ساعة 25 + 5 + title: Build a 25 + 5 Clock - id: bd7158d8c442eddfaeb5bd17 - title: بناء آلة حاسبة باستخدام JavaScript + title: Build a JavaScript Calculator - id: bd7158d8c442eddfaeb5bd10 - title: إظهار الطقس المحلي + title: Show the Local Weather - id: bd7158d8c442eddfaeb5bd1f - title: استخدام Twitch JSON API + title: Use the Twitch JSON API - id: bd7158d8c442eddfaeb5bd18 - title: نسق قصص على Camper News + title: Stylize Stories on Camper News - id: bd7158d8c442eddfaeb5bd19 - title: إنشاء عارض ويكيبيديا + title: Build a Wikipedia Viewer - id: bd7158d8c442eedfaeb5bd1c - title: قم ببناء لعبة Tic Tac Toe + title: Build a Tic Tac Toe Game - id: bd7158d8c442eddfaeb5bd1c - title: قم ببناء لعبة سيمون + title: Build a Simon Game diff --git a/curriculum/challenges/arabic/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml b/curriculum/challenges/arabic/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml index d22c82b228..9800c4a117 100644 --- a/curriculum/challenges/arabic/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml @@ -1,25 +1,24 @@ ---- id: 561add10cb82ac38a17213bd -title: شهادة الـ Full Stack التراثية +title: Legacy Full Stack Certification certification: legacy-full-stack challengeType: 7 isPrivate: true tests: - id: 561add10cb82ac38a17513bc - title: شهادة Responsive Web Design + title: Responsive Web Design Certification - id: 561abd10cb81ac38a17513bc - title: شهادة الخوارزميات وهياكل البيانات في JavaScript + title: JavaScript Algorithms and Data Structures Certification - id: 561acd10cb82ac38a17513bc - title: شهادة مكتبات Front End + title: Front End Libraries Certification - id: 5a553ca864b52e1d8bceea14 - title: شهادة التصور المرئي للبيانات + title: Data Visualization Certification - id: 561add10cb82ac38a17523bc - title: شهادة واجهة برمجة التطبيقات (API) والخدمات المصغّرة + title: API's and Microservices Certification - id: 561add10cb82ac38a17213bc - title: شهادة أمن المعلومات التراثية وشهادة ضمان الجودة + title: Legacy Information Security and Quality Assurance Certification diff --git a/curriculum/challenges/arabic/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml b/curriculum/challenges/arabic/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml index 60777ae960..199f3f4894 100644 --- a/curriculum/challenges/arabic/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml @@ -1,22 +1,21 @@ ---- id: 561add10cb82ac38a17213bc -title: شهادة أمن المعلومات التراثية وشهادة ضمان الجودة +title: Legacy Information Security and Quality Assurance Certification certification: legacy-information-security-and-quality-assurance challengeType: 7 isPrivate: true tests: - id: 587d8249367417b2b2512c41 - title: محول Metric-Imperial + title: Metric-Imperial Converter - id: 587d8249367417b2b2512c42 - title: متعقب المشكلة (Issue Tracker) + title: Issue Tracker - id: 587d824a367417b2b2512c43 - title: المكتبة الشخصية + title: Personal Library - id: 587d824a367417b2b2512c44 - title: مدقق أسعار الأسهم + title: Stock Price Checker - id: 587d824a367417b2b2512c45 - title: لوحة الرسائل المجهولة + title: Anonymous Message Board diff --git a/curriculum/challenges/arabic/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml b/curriculum/challenges/arabic/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml index 7d39f5ee82..3d8683875b 100644 --- a/curriculum/challenges/arabic/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e46fc95ac417301a38fb935 -title: مشاريع تعلم الآله باستخدام Python +title: Machine Learning with Python Certification certification: machine-learning-with-python challengeType: 7 isPrivate: true tests: - id: 5e46f8d6ac417301a38fb92d - title: حجر ورقة مقص + title: Rock Paper Scissors - id: 5e46f8dcac417301a38fb92e - title: مصنف صور القطط والكلاب + title: Cat and Dog Image Classifier - id: 5e46f8e3ac417301a38fb92f - title: محرك توصية للكتب باستخدام KNN + title: Book Recommendation Engine using KNN - id: 5e46f8edac417301a38fb930 - title: حاسبة التكاليف الصحية بالانحدار الخطي + title: Linear Regression Health Costs Calculator - id: 5e46f8edac417301a38fb931 - title: مصنف الرسائل SMS بالشبكة العصبية + title: Neural Network SMS Text Classifier diff --git a/curriculum/challenges/arabic/00-certifications/quality-assurance-certification/quality-assurance-certification.yml b/curriculum/challenges/arabic/00-certifications/quality-assurance-certification/quality-assurance-certification.yml index c994984379..7d4651bd38 100644 --- a/curriculum/challenges/arabic/00-certifications/quality-assurance-certification/quality-assurance-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/quality-assurance-certification/quality-assurance-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e611829481575a52dc59c0e -title: شهادة ضمان الجودة +title: Quality Assurance Certification certification: quality-assurance challengeType: 7 isPrivate: true tests: - id: 587d8249367417b2b2512c41 - title: محول Metric-Imperial + title: Metric-Imperial Converter - id: 587d8249367417b2b2512c42 - title: متعقب المشكلة + title: Issue Tracker - id: 587d824a367417b2b2512c43 - title: المكتبة الشخصية + title: Personal Library - id: 5e601bf95ac9d0ecd8b94afd - title: حلال Sudoku + title: Sudoku Solver - id: 5e601c0d5ac9d0ecd8b94afe - title: مترجم أمريكي بريطاني + title: American British Translator diff --git a/curriculum/challenges/arabic/00-certifications/relational-database-certification/relational-database-certification.yml b/curriculum/challenges/arabic/00-certifications/relational-database-certification/relational-database-certification.yml index 7162b7a300..02094ba181 100644 --- a/curriculum/challenges/arabic/00-certifications/relational-database-certification/relational-database-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/relational-database-certification/relational-database-certification.yml @@ -1,22 +1,21 @@ ---- id: 606243f50267e718b1e755f4 -title: شهادة Relational Databases +title: Relational Database Certification certification: relational-database challengeType: 7 isPrivate: true tests: - id: 5f1a4ef5d5d6b5ab580fc6ae - title: قاعدة بيانات Celestial Bodies + title: Celestial Bodies Database - id: 5f9771307d4d22b9d2b75a94 - title: قاعدة بيانات كأس العالم + title: World Cup Database - id: 5f87ac112ae598023a42df1a - title: مجدول مواعيد الصالون + title: Salon Appointment Scheduler - id: 602d9ff222201c65d2a019f2 - title: قاعدة بيانات الجدول الدوري + title: Periodic Table Database - id: 602da04c22201c65d2a019f4 - title: لُعْبَة تخمين العدد + title: Number Guessing Game diff --git a/curriculum/challenges/arabic/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml b/curriculum/challenges/arabic/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml index e8e2df55dc..d0e6d17039 100644 --- a/curriculum/challenges/arabic/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml @@ -1,22 +1,21 @@ ---- id: 561add10cb82ac38a17513bc -title: شهادة Responsive Web Design +title: Responsive Web Design Certification certification: responsive-web-design challengeType: 7 isPrivate: true tests: - id: bd7158d8c442eddfaeb5bd18 - title: أنشئ مشروع صفحة الثناء + title: Build a Tribute Page - id: 587d78af367417b2b2512b03 - title: بناء نموذج استطلاع رأي + title: Build a Survey Form - id: 587d78af367417b2b2512b04 - title: بناء الصفحة الرئيسة لمنتج + title: Build a Product Landing Page - id: 587d78b0367417b2b2512b05 - title: أنشئ صفحة التوثيق التقنية + title: Build a Technical Documentation Page - id: bd7158d8c242eddfaeb5bd13 - title: أنشئ معرضا لأعمالك الخاصة + title: Build a Personal Portfolio Webpage diff --git a/curriculum/challenges/arabic/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml b/curriculum/challenges/arabic/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml index eb30371458..b0b734fe03 100644 --- a/curriculum/challenges/arabic/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml +++ b/curriculum/challenges/arabic/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml @@ -1,22 +1,21 @@ ---- id: 5e44431b903586ffb414c951 -title: مشاريع الحوسبة العلمية باستخدام Python +title: Scientific Computing with Python Certification certification: scientific-computing-with-python challengeType: 7 isPrivate: true tests: - id: 5e44412c903586ffb414c94c - title: منسق حسابي + title: Arithmetic Formatter - id: 5e444136903586ffb414c94d - title: آلة حاسبة للوقت + title: Time Calculator - id: 5e44413e903586ffb414c94e - title: تطبيق الميزانية + title: Budget App - id: 5e444147903586ffb414c94f - title: حاسبة مساحة المضلّع + title: Polygon Area Calculator - id: 5e44414f903586ffb414c950 - title: حاسبة الاحتمالات + title: Probability Calculator diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md index 54a39f67f3..eefd832bac 100644 --- a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md @@ -1,6 +1,6 @@ --- id: 587d778b367417b2b2512aa8 -title: إضافة منتقي تاريخ يمكن الوصول إليه +title: Add an Accessible Date Picker challengeType: 0 videoUrl: 'https://scrimba.com/c/cR3bRbCV' forumTopicId: 301008 @@ -9,13 +9,13 @@ dashedName: add-an-accessible-date-picker # --description-- -غالبًا ما تتضمن النماذج حقل `input` ، والذي يمكن استخدامه لإنشاء العديد من العناصر المختلفة للتحكم في النموذج. خاصية `type` على هذا العنصر تشير إلي أي نوع `input` سيتم إنشاؤه. +Forms often include the `input` field, which can be used to create several different form controls. The `type` attribute on this element indicates what kind of `input` element will be created. -ربما تكون قد لاحظت وجود أنواع المدخلات `text` و `submit` في تحديات سابقة، و HTML5 قد وفرت خيار حقل `date`. اعتمادا على دعم المتصفح، يظهر منتقي التاريخ في حقل `input` عندما يكون في التركيز، مما يجعل تعبئة النموذج أسهل لجميع المستخدمين. +You may have noticed the `text` and `submit` input types in prior challenges, and HTML5 introduced an option to specify a `date` field. Depending on browser support, a date picker shows up in the `input` field when it's in focus, which makes filling in a form easier for all users. -بالنسبة إلى المتصفحات الأقدم ، سيكون type افتراضيًا بقيمة ` text ` ،لساعد في إظهار تنسيق التاريخ المتوقع للمستخدمين في `label` أو `placeholder` في النص احتياطيا. +For older browsers, the type will default to `text`, so it helps to show users the expected date format in the `label` or `placeholder` text just in case. -إليك مثال: +Here's an example: ```html @@ -24,29 +24,29 @@ dashedName: add-an-accessible-date-picker # --instructions-- -يقوم Camper Cat بإعداد بطولة Mortal Kombat ويريد أن يطلب من منافسيه معرفة التاريخ الأفضل. أضف علامة `input` مع سمة `type` من نوع `date`، و مع سمة `id` بقيمة `pickdate`، و أيضا سمة `name` بقيمة `date`. +Camper Cat is setting up a Mortal Kombat tournament and wants to ask his competitors to see what date works best. Add an `input` tag with a `type` attribute of `date`, an `id` attribute of `pickdate`, and a `name` attribute of `date`. # --hints-- -يجب أن يحتوي الكود علي علامة `input` واحد لخانة محدد التاريخ. +Your code should add one `input` tag for the date selector field. ```js assert.lengthOf(document.querySelectorAll('input'), 2); ``` -يجب أن يحتوي علامة `input` على سمة `type` بقيمة `date`. +Your `input` tag should have a `type` attribute with a value of `date`. ```js assert.equal(document.querySelector('input')?.getAttribute('type'), 'date'); ``` -يجب أن يحتوي علامة `input` على سمة `id` بقيمة `pickdate`. +Your `input` tag should have an `id` attribute with a value of `pickdate`. ```js assert.equal(document.querySelector('input')?.getAttribute('id'),'pickdate'); ``` -يجب أن يحتوي علامة `input` على سمة `name` بقيمة `date`. +Your `input` tag should have a `name` attribute with a value of `date`. ```js assert.equal(document.querySelector('input')?.getAttribute('name'), 'date'); diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md index baef647074..97e1a79043 100644 --- a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md @@ -1,6 +1,6 @@ --- id: 587d7787367417b2b2512aa1 -title: تسهيل تصفح قارئ الشاشة مع علامة الرأس header +title: Make Screen Reader Navigation Easier with the header Landmark challengeType: 0 videoUrl: 'https://scrimba.com/c/cB76vtv' forumTopicId: 301023 @@ -9,25 +9,25 @@ dashedName: make-screen-reader-navigation-easier-with-the-header-landmark # --description-- -عنصر الـ HTML5 التالي الذي يضيف المعنى الدلالي ويحسن إمكانية الوصول هو عنصر `header`. يستخدم لاحتواء المعلومات التمهيدية أو روابط التنقل لعنصره آلأساسي ويعمل بشكل جيد مع المحتوى المتكرر في الأعلى على الصفحات متعددة. +The next HTML5 element that adds semantic meaning and improves accessibility is the `header` tag. It's used to wrap introductory information or navigation links for its parent tag and works well around content that's repeated at the top on multiple pages. -`header` يشاركك الميزة البارزة المدمجة التي رأيتها مع `main`، مما يسمح للتكنولوجيات المساعدة بالانتقال بسرعة إلى ذلك المحتوى. +`header` shares the embedded landmark feature you saw with `main`, allowing assistive technologies to quickly navigate to that content. -**ملاحظة:** عنصر `header` يستخدم في عنصر `body` بمستند HTML الخاص بك. وهذا يختلف عن عن عنصر الـ `head` الذي يحتوي على عنوان الصفحة، معلومات تعريفية، و الخ. +**Note:** The `header` is meant for use in the `body` tag of your HTML document. It is different than the `head` element, which contains the page's title, meta information, etc. # --instructions-- -يقوم Camper Cat بكتابة بعض المقالات الرائعة عن تدريب النينجا، ويريد إضافة صفحة لهم على موقعه. قم بتغيير `div` العلوية التي تحتوي حاليا على `h1` إلى عنصر `header` بدلا من ذلك. +Camper Cat is writing some great articles about ninja training, and wants to add a page for them to his site. Change the top `div` that currently contains the `h1` to a `header` tag instead. # --hints-- -يجب أن يحتوي الكود الخاص بك على علامة `header` واحدة فقط. +Your code should have one `header` tag. ```js assert.lengthOf(document.querySelectorAll('header'),1); ``` -يجب أن يحتوي عنصر `header` على عنصر `h1`. +Your `header` tags should wrap around the `h1`. ```js const header = document.querySelector('header'); @@ -35,13 +35,13 @@ const children = header?.querySelectorAll(`:scope ${'h1'}`); assert.lengthOf(children , 1); ``` -يجب ألا يحتوي الكود الخاص بك على أي عنصر `div`. +Your code should not have any `div` tags. ```js assert.lengthOf(document.querySelectorAll('div') , 0); ``` -يجب أن يحتوي عنصر `header` الخاص بك على علامة إغلاق. +Your `header` element should have a closing tag. ```js assert.isTrue(code.match(/<\/header>/g)?.length === code.match(/
/g)?.length); diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md index 02da86ae4a..521c762591 100644 --- a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md @@ -15,7 +15,7 @@ If there are repeated site links at the bottom of the page, it isn't necessary t # --instructions-- -تضمن Camper Cat وصلات تنقل من الجزء العلوي من صفحة التدريب، لكنه لفها في `div`. Change the `div` to a `nav` tag to improve the accessibility on his page. +Camper Cat included navigation links at the top of his training page, but wrapped them in a `div`. Change the `div` to a `nav` tag to improve the accessibility on his page. # --hints-- diff --git a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/use-tabindex-to-add-keyboard-focus-to-an-element.md b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/use-tabindex-to-add-keyboard-focus-to-an-element.md index c94d5972b3..ead6463e7c 100644 --- a/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/use-tabindex-to-add-keyboard-focus-to-an-element.md +++ b/curriculum/challenges/arabic/01-responsive-web-design/applied-accessibility/use-tabindex-to-add-keyboard-focus-to-an-element.md @@ -21,7 +21,7 @@ Certain elements, such as links and form controls, automatically receive keyboar # --instructions-- -أنشأ Camper Cat استبيانا جديدا لجمع المعلومات عن مستخدمي موقعه. He knows input fields automatically get keyboard focus, but he wants to make sure his keyboard users pause at the instructions while tabbing through the items. Add a `tabindex` attribute to the `p` tag and set its value to `0`. Bonus - using `tabindex` also enables the CSS pseudo-class `:focus` to work on the `p` tag. +Camper Cat created a new survey to collect information about his users. He knows input fields automatically get keyboard focus, but he wants to make sure his keyboard users pause at the instructions while tabbing through the items. Add a `tabindex` attribute to the `p` tag and set its value to `0`. Bonus - using `tabindex` also enables the CSS pseudo-class `:focus` to work on the `p` tag. # --hints-- diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/confirm-the-ending.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/confirm-the-ending.md index 4fa4598edb..b87f5fc992 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/confirm-the-ending.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/confirm-the-ending.md @@ -1,6 +1,6 @@ --- id: acda2fb1324d9b0fa741e6b5 -title: تيقن من الأخير +title: Confirm the Ending challengeType: 1 forumTopicId: 16006 dashedName: confirm-the-ending @@ -8,31 +8,31 @@ dashedName: confirm-the-ending # --description-- -تحقق مما إذا كان المقطع النصي (string) (المعطى (argument) الأولى `str`) أخر المقطع النصي المطلوب (المعطى الثاني `target`). +Check if a string (first argument, `str`) ends with the given target string (second argument, `target`). -*يمكنك* حل هذا التحدي بطريقة `.endsWith()`، التي تم تقديمها في ES2015. لكن لغرض هذا التحدي، نود أن تستخدموا واحدة من طرق subnstrings فى JavaScript بدلاً من ذلك. +This challenge *can* be solved with the `.endsWith()` method, which was introduced in ES2015. But for the purpose of this challenge, we would like you to use one of the JavaScript substring methods instead. # --hints-- -`confirmEnding("Bastian", "n")` يجب أن ينتج `true`. +`confirmEnding("Bastian", "n")` should return `true`. ```js assert(confirmEnding('Bastian', 'n') === true); ``` -`confirmEnding("Congratulation", "on")` يجب أن ينتج `true`. +`confirmEnding("Congratulation", "on")` should return `true`. ```js assert(confirmEnding('Congratulation', 'on') === true); ``` -`confirmEnding("Connor", "n")` يجب أن ينتج `false`. +`confirmEnding("Connor", "n")` should return `false`. ```js assert(confirmEnding('Connor', 'n') === false); ``` -`confirmEnding("Walking on water and developing software from a specification are easy if both are frozen", "specification")` يجب أن ينتج `false`. +`confirmEnding("Walking on water and developing software from a specification are easy if both are frozen", "specification")` should return `false`. ```js assert( @@ -43,31 +43,31 @@ assert( ); ``` -`confirmEnding("He has to give me a new name", "name")` يجب أن ينتج `true`. +`confirmEnding("He has to give me a new name", "name")` should return `true`. ```js assert(confirmEnding('He has to give me a new name', 'name') === true); ``` -`confirmEnding("Open sesame", "same")` يجب أن ينتج `true`. +`confirmEnding("Open sesame", "same")` should return `true`. ```js assert(confirmEnding('Open sesame', 'same') === true); ``` -`confirmEnding("Open sesame", "sage")` يجب أن ينتج `false`. +`confirmEnding("Open sesame", "sage")` should return `false`. ```js assert(confirmEnding('Open sesame', 'sage') === false); ``` -`confirmEnding("Open sesame", "game")` يجب أن ينتج `false`. +`confirmEnding("Open sesame", "game")` should return `false`. ```js assert(confirmEnding('Open sesame', 'game') === false); ``` -`confirmEnding("If you want to save our world, you must hurry. We dont know how much longer we can withstand the nothing", "mountain")` يجب أن ينتج `false`. +`confirmEnding("If you want to save our world, you must hurry. We dont know how much longer we can withstand the nothing", "mountain")` should return `false`. ```js assert( @@ -78,13 +78,13 @@ assert( ); ``` -`confirmEnding("Abstraction", "action")` يجب أن ينتج `true`. +`confirmEnding("Abstraction", "action")` should return `true`. ```js assert(confirmEnding('Abstraction', 'action') === true); ``` -برنامجك يجب ألا يستخدم طريقة مبنية داخلياً (built-in method) باسم `.endsWith()` لحل التحدي. +Your code should not use the built-in method `.endsWith()` to solve the challenge. ```js assert(!/\.endsWith\(.*?\)\s*?;?/.test(__helpers.removeJSComments(code)) && !/\['endsWith'\]/.test(__helpers.removeJSComments(code))); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/falsy-bouncer.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/falsy-bouncer.md index 38c86fc386..fb62b8eddf 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/falsy-bouncer.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-algorithm-scripting/falsy-bouncer.md @@ -1,6 +1,6 @@ --- id: adf08ec01beb4f99fc7a68f2 -title: التنقل بين قيم زائفة (Falsy Bouncer) +title: Falsy Bouncer challengeType: 1 forumTopicId: 16014 dashedName: falsy-bouncer @@ -8,39 +8,39 @@ dashedName: falsy-bouncer # --description-- -أزل جميع القيم الزائفة falsy من القائمة (array). أنتج قائمة (array) جديدة ولا تغير قيمة القائمة (array) الأصلية. +Remove all falsy values from an array. Return a new array; do not mutate the original array. -القيم الزائفة Falsy في لغة JavaScript هي `false`, `null`, `0`, `""`, `undefined`, و `NaN`. +Falsy values in JavaScript are `false`, `null`, `0`, `""`, `undefined`, and `NaN`. -تلميح: حاول تحويل كل قيمة إلى Boolean. +Hint: Try converting each value to a Boolean. # --hints-- -`bouncer([7, "ate", "", false, 9])` يجب أن ينتج `[7, "ate", 9]`. +`bouncer([7, "ate", "", false, 9])` should return `[7, "ate", 9]`. ```js assert.deepEqual(bouncer([7, 'ate', '', false, 9]), [7, 'ate', 9]); ``` -`bouncer(["a", "b", "c"])` يجب أن تنتج `["a", "b", "c"]`. +`bouncer(["a", "b", "c"])` should return `["a", "b", "c"]`. ```js assert.deepEqual(bouncer(['a', 'b', 'c']), ['a', 'b', 'c']); ``` -`bouncer([false, null, 0, NaN, undefined, ""])`يجب أن تنتج `[]`. +`bouncer([false, null, 0, NaN, undefined, ""])` should return `[]`. ```js assert.deepEqual(bouncer([false, null, 0, NaN, undefined, '']), []); ``` -`bouncer([null, NaN, 1, 2, undefined])` يجب أن تنتج `[1, 2]`. +`bouncer([null, NaN, 1, 2, undefined])` should return `[1, 2]`. ```js assert.deepEqual(bouncer([null, NaN, 1, 2, undefined]), [1, 2]); ``` -لا يجب عليك تغيير `arr`. +You should not mutate `arr`. ```js const arr = ['a', false, 0, 'Naomi']; diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof.md index 85e6117d71..e9a2f2dbb1 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/check-for-the-presence-of-an-element-with-indexof.md @@ -1,6 +1,6 @@ --- id: 587d7b7b367417b2b2512b14 -title: تحقق من وجود عنصر باستخدام indexOf() +title: Check For The Presence of an Element With indexOf() challengeType: 1 forumTopicId: 301154 dashedName: check-for-the-presence-of-an-element-with-indexof @@ -8,9 +8,9 @@ dashedName: check-for-the-presence-of-an-element-with-indexof # --description-- -نظرًا لأنه يمكن تغيير القوائم، أو *يتم تحويرها* في أي وقت، لا يوجد ضمان حول مكان وجود جزء معين من البيانات في قائمة معينة، أو حتي إذا كان هذا العنصر لا يزال موجودا. لحسن الحظ، يوفر لنا JavaScript وظيفة مدمجة (built-in method) أخرى تسمى `indexOf()`، وهذه تسمح لنا بالتحقق بسرعة وسهولة من وجود عنصر في القائمة. تأخذ `indexOf()` عنصرا كوسيط عند تفعيلها، فإنها تنتج المكان (position)، أو الترتيب (index)، لهذا العنصر، أو `-1` إذا كان العنصر غير موجود في القائمة (array). +Since arrays can be changed, or *mutated*, at any time, there's no guarantee about where a particular piece of data will be on a given array, or if that element even still exists. Luckily, JavaScript provides us with another built-in method, `indexOf()`, that allows us to quickly and easily check for the presence of an element on an array. `indexOf()` takes an element as a parameter, and when called, it returns the position, or index, of that element, or `-1` if the element does not exist on the array. -على سبيل المثال: +For example: ```js let fruits = ['apples', 'pears', 'oranges', 'peaches', 'pears']; @@ -20,21 +20,21 @@ fruits.indexOf('oranges'); fruits.indexOf('pears'); ``` -`indexOf('dates')` يرجع `-1`، و `indexOf('oranges')` يرجع `2`، و `indexOf('pears')` يرجع `1` (اول ترتيب يوجد فيه كل عنصر). +`indexOf('dates')` returns `-1`, `indexOf('oranges')` returns `2`, and `indexOf('pears')` returns `1` (the first index at which each element exists). # --instructions-- -`indexOf()` يمكن أن تكون مفيدة بشكل لا يصدق للتحقق بسرعة من وجود عنصر في القائمة. لقد حددنا الوظيفة `quickCheck`، التي تأخذ القائمة وعناصر كمعطيات (arguments). عدل الوظيفة باستخدام `indexOf()` بحيث تنتج `true` إذا كان العنصر الذي تم تمريره موجود في القائمة، و `false` إذا لم يكن موجود. +`indexOf()` can be incredibly useful for quickly checking for the presence of an element on an array. We have defined a function, `quickCheck`, that takes an array and an element as arguments. Modify the function using `indexOf()` so that it returns `true` if the passed element exists on the array, and `false` if it does not. # --hints-- -يجب أن تقوم الوظيفة `quickCheck` بإرجاع منطق (boolean) (`true` أو `false`)، ليس مقطع نصي (string) (`"true"` أو `"false"`) +The `quickCheck` function should return a boolean (`true` or `false`), not a string (`"true"` or `"false"`) ```js assert.isBoolean(quickCheck(['squash', 'onions', 'shallots'], 'mushrooms')); ``` -`quickCheck(["squash", "onions", "shallots"], "mushrooms")` يجب أن ترجع `false` +`quickCheck(["squash", "onions", "shallots"], "mushrooms")` should return `false` ```js assert.strictEqual( @@ -43,7 +43,7 @@ assert.strictEqual( ); ``` -`quickCheck(["onions", "squash", "shallots"], "onions")` يجب ان ترجع `true` +`quickCheck(["onions", "squash", "shallots"], "onions")` should return `true` ```js assert.strictEqual( @@ -52,19 +52,19 @@ assert.strictEqual( ); ``` -`quickCheck([3, 5, 9, 125, 45, 2], 125)` يجب ان ترجع `true` +`quickCheck([3, 5, 9, 125, 45, 2], 125)` should return `true` ```js assert.strictEqual(quickCheck([3, 5, 9, 125, 45, 2], 125), true); ``` -`quickCheck([true, false, false], undefined)` يجب ان ترجع `false` +`quickCheck([true, false, false], undefined)` should return `false` ```js assert.strictEqual(quickCheck([true, false, false], undefined), false); ``` -يجب أن تستخدم الوظيفة `quickCheck` طريقة `indexOf()` +The `quickCheck` function should utilize the `indexOf()` method ```js assert.notStrictEqual(quickCheck.toString().search(/\.indexOf\(/), -1); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/use-an-array-to-store-a-collection-of-data.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/use-an-array-to-store-a-collection-of-data.md index 6c7c2515be..4fdbdbdb29 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/use-an-array-to-store-a-collection-of-data.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-data-structures/use-an-array-to-store-a-collection-of-data.md @@ -1,6 +1,6 @@ --- id: 587d7b7e367417b2b2512b20 -title: استخدام القائمة لتخزين مجموعة من البيانات (Use an Array to Store a Collection of Data) +title: Use an Array to Store a Collection of Data challengeType: 1 forumTopicId: 301167 dashedName: use-an-array-to-store-a-collection-of-data @@ -8,16 +8,16 @@ dashedName: use-an-array-to-store-a-collection-of-data # --description-- -أدناه مثال على أبسط تنفيذ لهيكل البيانات Array. هذا معروف باسم one-dimensional array، بمعنى أن لديه مستوى واحد فقط، أو أنه ليس لديه أي Arrays أخرى داخله. لاحظ أنه يحتوي على booleans و strings و numbers من بين أنواع بيانات أخرى في JavaScript: +The below is an example of the simplest implementation of an array data structure. This is known as a one-dimensional array, meaning it only has one level, or that it does not have any other arrays nested within it. Notice it contains booleans, strings, and numbers, among other valid JavaScript data types: ```js let simpleArray = ['one', 2, 'three', true, false, undefined, null]; console.log(simpleArray.length); ``` -استدعاء `console.log` سوف يطبع `7`. +The `console.log` call displays `7`. -جميع Arrays لديها خاصية length، التي كما هو مبين أعلاه، يمكن الوصول إليها بسهولة عن طريق syntax الآتي`Array.length`. ويمكن الاطلاع أدناه على تنفيذ array أكثر تعقيداً. هذا معروف باسم multi-dimensional array، أو Array تحتوي على Arrays أخرى. لاحظ أن هذه Array تحتوي أيضًا على كائنات JavaScript، التي سوف تفحصها بدقة كبيرة في القسم التالي، لكن في الوقت الحالي، ما تحتاج معرفته هو أن arrays قادرة أيضا على تخزين objects المعقدة. +All arrays have a length property, which as shown above, can be very easily accessed with the syntax `Array.length`. A more complex implementation of an array can be seen below. This is known as a multi-dimensional array, or an array that contains other arrays. Notice that this array also contains JavaScript objects, which we will examine very closely in our next section, but for now, all you need to know is that arrays are also capable of storing complex objects. ```js let complexArray = [ @@ -46,35 +46,35 @@ let complexArray = [ # --instructions-- -لقد أعلنا متغير يسمى `yourArray`. أكمل البيان بتعيين array من 5 عناصر في الأقل في الطول لمتغير `yourArray`. يجب أن تحتوي array على stringواحد علي الأفل و number واحد و boolean واحد. +We have defined a variable called `yourArray`. Complete the statement by assigning an array of at least 5 elements in length to the `yourArray` variable. Your array should contain at least one string, one number, and one boolean. # --hints-- -`yourArray` يجب أن تكون array. +`yourArray` should be an array. ```js assert.strictEqual(Array.isArray(yourArray), true); ``` -يجب أن يكون `yourArray` طوله 5 عناصر في الأقل. +`yourArray` should be at least 5 elements long. ```js assert.isAtLeast(yourArray.length, 5); ``` -يجب أن يحتوي `yourArray` على `boolean` واحد في الأقل. +`yourArray` should contain at least one `boolean`. ```js assert(yourArray.filter((el) => typeof el === 'boolean').length >= 1); ``` -يجب أن يحتوي `yourArray` على `number` واحد في الأقل. +`yourArray` should contain at least one `number`. ```js assert(yourArray.filter((el) => typeof el === 'number').length >= 1); ``` -يجب أن يحتوي `yourArray` على `string` واحد في الأقل. +`yourArray` should contain at least one `string`. ```js assert(yourArray.filter((el) => typeof el === 'string').length >= 1); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/adding-a-default-option-in-switch-statements.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/adding-a-default-option-in-switch-statements.md index d2960b609b..48d98bf34e 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/adding-a-default-option-in-switch-statements.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/adding-a-default-option-in-switch-statements.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244de -title: إضافة خِيار افتراضي (Default) في عبارات التبديل (Switch) +title: Adding a Default Option in Switch Statements challengeType: 1 videoUrl: 'https://scrimba.com/c/c3JvVfg' forumTopicId: 16653 @@ -9,9 +9,9 @@ dashedName: adding-a-default-option-in-switch-statements # --description-- -في عبارة `switch` قد لا تكون قادراً على تحديد جميع القيم المحتملة كعبارات `case`. بدلاً من ذلك، يمكنك إضافة عبارة `default` التي سيتم تنفيذها إذا لم يتم العثور على عبارات `case` مطابقة. وكأنها مثل آخر عبارة `else` في `if/else`. +In a `switch` statement you may not be able to specify all possible values as `case` statements. Instead, you can add the `default` statement which will be executed if no matching `case` statements are found. Think of it like the final `else` statement in an `if/else` chain. -يجب أن تكون عبارة `default` آخر حالة. +A `default` statement should be the last case. ```js switch (num) { @@ -30,7 +30,7 @@ switch (num) { # --instructions-- -اكتب عبارة التبديل لتعيين `answer` للشروط التالية: +Write a switch statement to set `answer` for the following conditions: `a` - `apple` `b` - `bird` `c` - `cat` @@ -38,49 +38,49 @@ switch (num) { # --hints-- -يجب أن ينتج `switchOfStuff("a")` مقطع نصي (string) بقيمة `apple` +`switchOfStuff("a")` should return the string `apple` ```js assert(switchOfStuff('a') === 'apple'); ``` -يجب أن ينتج `switchOfStuff("b")` مقطع نصي بقيمة `bird` +`switchOfStuff("b")` should return the string `bird` ```js assert(switchOfStuff('b') === 'bird'); ``` -يجب أن ينتج `switchOfStuff("c")` مقطع نصي بقيمة `cat` +`switchOfStuff("c")` should return the string `cat` ```js assert(switchOfStuff('c') === 'cat'); ``` -يجب أن ينتج `switchOfStuff("d")`مقطع نصي بقيمة `stuff` +`switchOfStuff("d")` should return the string `stuff` ```js assert(switchOfStuff('d') === 'stuff'); ``` -يجب أن ينتج `switchOfStuff(4)` مقطع نصي بقيمة `stuff` +`switchOfStuff(4)` should return the string `stuff` ```js assert(switchOfStuff(4) === 'stuff'); ``` -يجب ألا تستخدم أي عبارات `if` أو `else` +You should not use any `if` or `else` statements ```js assert(!/else/g.test(__helpers.removeJSComments(code)) || !/if/g.test(__helpers.removeJSComments(code))); ``` -يجب أن تستخدم عبارة `default` +You should use a `default` statement ```js assert(switchOfStuff('string-to-trigger-default-case') === 'stuff'); ``` -يجب أن يكون لديك في الأقل ٣ عبارات `break` +You should have at least 3 `break` statements ```js assert(__helpers.removeJSComments(code).match(/break/g).length > 2); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects.md index 918dd5582d..4b0a3f9bfb 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/build-javascript-objects.md @@ -1,6 +1,6 @@ --- id: 56bbb991ad1ed5201cd392d0 -title: بناء الكائنات في JavaScript +title: Build JavaScript Objects challengeType: 1 videoUrl: 'https://scrimba.com/c/cWGkbtd' forumTopicId: 16769 @@ -9,13 +9,13 @@ dashedName: build-javascript-objects # --description-- -ربما قد سمعت عن مصطلح `object` من قبل. +You may have heard the term `object` before. -الكائنات تشبه `arrays`، باستثناء انه بدلا من استخدام الترتيب للوصول إلى بياناتها وتعديلها، يمكنك الوصول إلى البيانات في الكائنات بواسطة `properties`. +Objects are similar to `arrays`, except that instead of using indexes to access and modify their data, you access the data in objects through what are called `properties`. -تكون الكائنات مفيدة لتخزين البيانات بطريقة منظمة، ويمكن تمثل الكائن في الواقع، مثل القطة. +Objects are useful for storing data in a structured way, and can represent real world objects, like a cat. -هذا مثال مبسط عن كائن القطة: +Here's a sample cat object: ```js const cat = { @@ -26,7 +26,7 @@ const cat = { }; ``` -في المثال، يتم تخزين جميع الخصائص كمقاطع مثل `name`، و`legs`، و `tails`. ومع ذلك، يمكنك استخدام الأرقام كالخواص أيضاً. يمكنك حذف علامتان التنصيص (" ") لخصائص النص المكون من كلمة واحدة، على النحو التالي: +In this example, all the properties are stored as strings, such as `name`, `legs`, and `tails`. However, you can also use numbers as properties. You can even omit the quotes for single-word string properties, as follows: ```js const anotherObject = { @@ -36,17 +36,17 @@ const anotherObject = { }; ``` -ومع ذلك، إذا كان الكائن الخاص بك يحتوي على خصائص غير المقطع النصي، فإن JavaScript سيحتسبها تلقائياً كمقاطع. +However, if your object has any non-string properties, JavaScript will automatically typecast them as strings. # --instructions-- -أنشئ كائن يمثل كلبا يسمى `myDog` الذي يحتوي على الخواص `name` (مقطع نصي)، `legs`, و `tails`, و `friends`. +Make an object that represents a dog called `myDog` which contains the properties `name` (a string), `legs`, `tails` and `friends`. -يمكنك وضع خصائص الكائن الذي تريدها، مادام أن `name` هو مقطع، `legs` و `tails` هي أرقام، و`friends` هو قائمة (array). +You can set these object properties to whatever values you want, as long as `name` is a string, `legs` and `tails` are numbers, and `friends` is an array. # --hints-- -يجب أن يحتوي `myDog` على الخاصية `name`, ويجب أن تكون الخاصية بنوع `string`. +`myDog` should contain the property `name` and it should be a `string`. ```js assert( @@ -64,7 +64,7 @@ assert( ); ``` -يجب أن يحتوي `myDog` على الخاصية `legs`, ويجب أن تكون الخاصية بنوع `number`. +`myDog` should contain the property `legs` and it should be a `number`. ```js assert( @@ -82,7 +82,7 @@ assert( ); ``` -يجب أن يحتوي `myDog` على الخاصية `tails`, ويجب أن تكون الخاصية بنوع `number`. +`myDog` should contain the property `tails` and it should be a `number`. ```js assert( @@ -100,7 +100,7 @@ assert( ); ``` -يجب أن يحتوي `myDog` على الخاصية `friends`, ويجب أن تكون الخاصية بنوع `array`. +`myDog` should contain the property `friends` and it should be an `array`. ```js assert( @@ -118,7 +118,7 @@ assert( ); ``` -يجب أن يحتوي `myDog` على جميع الخصائص المعطاة فقط. +`myDog` should only contain all the given properties. ```js assert( diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator.md index 3c15622f41..8fecbb0266 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/comparison-with-the-inequality-operator.md @@ -9,7 +9,7 @@ dashedName: comparison-with-the-inequality-operator # --description-- -The inequality operator (`!=`) is the opposite of the equality operator. It means not equal and returns `false` where equality would return `true` and *vice versa*. Like the equality operator, the inequality operator will convert data types of values while comparing. +The inequality operator (`!=`) is the opposite of the equality operator. Inequality means not equal. The inequality operator returns `false` when the equality operator would return `true` and *vice versa*. Like the equality operator, the inequality operator will convert data types of values while comparing. **مثال** diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings.md index c39f411415..3f33d49c52 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/escaping-literal-quotes-in-strings.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244b5 -title: إخراج (Escape) علامات التنصيص في المقاطع النصية +title: Escaping Literal Quotes in Strings challengeType: 1 videoUrl: 'https://scrimba.com/c/c2QvgSr' forumTopicId: 17568 @@ -9,15 +9,15 @@ dashedName: escaping-literal-quotes-in-strings # --description-- -عند تحديد مقطع نصي يجب أن تبدأ وتنتهي بعلامات التنصيص مفردة ('') أو مزدوجة (""). ماذا يحدث عندما تحتاج إلى استخدام علامتا التنصيص مثل: `"` أو `'` داخل مقطعك النصي؟ +When you are defining a string you must start and end with a single or double quote. What happens when you need a literal quote: `"` or `'` inside of your string? -في JavaScript، يمكنك إخراج علامتا التنصيص حتى لا تعدّ نهاية للمقطع النصي عن طريق وضع خط مائل للشمال بشكل (`\`) أمام علامة التنصيص. +In JavaScript, you can escape a quote from considering it as an end of string quote by placing a backslash (`\`) in front of the quote. ```js const sampleStr = "Alan said, \"Peter is learning JavaScript\"."; ``` -هذا يوضح إلى JavaScript أن علامة التنصيص التالية ليست بنهاية للمقطع، بل يجب أن تظهر داخل المقطع. لذا عند طبع هذا إلى الكونسول (console) ستحصل على: +This signals to JavaScript that the following quote is not the end of the string, but should instead appear inside the string. So if you were to print this to the console, you would get: ```js Alan said, "Peter is learning JavaScript". @@ -25,7 +25,7 @@ Alan said, "Peter is learning JavaScript". # --instructions-- -استخدم شرطات مائلة للشمال لتعيين مقطع نصي إلى متغير `myStr` بحيث إذا كنت تريد طباعته إلى الكونسول، ستري ما يلي: +Use backslashes to assign a string to the `myStr` variable so that if you were to print it to the console, you would see: ```js I am a "double quoted" string inside "double quotes". @@ -33,13 +33,13 @@ I am a "double quoted" string inside "double quotes". # --hints-- -يجب عليك استخدام علامة التنصيص المزدوجة (`"`) وتخرج العلامات أربع مرات مثل (`\"`). +You should use two double quotes (`"`) and four escaped double quotes (`\"`). ```js assert(__helpers.removeJSComments(code).match(/\\"/g).length === 4 && __helpers.removeJSComments(code).match(/[^\\]"/g).length === 2); ``` -يجب أن يحتوي المتغير `myStr` على المقطع النصي الآتي: `I am a "double quoted" string inside "double quotes".` +Variable `myStr` should contain the 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/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md index 7532f20c84..d17daa4c77 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/find-the-length-of-a-string.md @@ -1,6 +1,6 @@ --- id: bd7123c9c448eddfaeb5bdef -title: العثور عن عدد الرموز أو الطول لمقطع نصي +title: Find the Length of a String challengeType: 1 videoUrl: 'https://scrimba.com/c/cvmqEAd' forumTopicId: 18182 @@ -9,23 +9,23 @@ dashedName: find-the-length-of-a-string # --description-- -يمكنك العثور على الطول أو عدد الرموز في `String` بكتابة `.length` بعد متغير المقطع النصي أو بعد مقطع حرفي (string literal). +You can find the length of a `String` value by writing `.length` after the string variable or string literal. ```js console.log("Alan Peter".length); ``` -سوف يتم عرض القيمة `10` في الكونسول. لاحظ أن رمز المسافة بين "Alan" و "Peter" يتم عدُّه أيضا. +The value `10` would be displayed in the console. Note that the space character between "Alan" and "Peter" is also counted. -على سبيل المثال، إذا أنشئت متغير `const firstName = "Ada"`، يمكننا معرفة طول المقطع النصي الآتي `Ada` باستخدام `firstName.length`. +For example, if we created a variable `const firstName = "Ada"`, we could find out how long the string `Ada` is by using the `firstName.length` property. # --instructions-- -استخدم خاصية `.length` لتعيين `lastNameLength` إلى عدد الرموز في `lastName`. +Use the `.length` property to set `lastNameLength` to the number of characters in `lastName`. # --hints-- -لا يجب عليك تغيير إعلانات المتغيرات في قسم `// Setup`. +You should not change the variable declarations in the `// Setup` section. ```js assert( @@ -34,13 +34,13 @@ assert( ); ``` -يجب أن يساوي `lastNameLength` ثمانية. +`lastNameLength` should be equal to eight. ```js assert(typeof lastNameLength !== 'undefined' && lastNameLength === 8); ``` -يجب الحصول على الطول `lastName` باستخدام `.length` مثل: `lastName.length`. +You should be getting the length of `lastName` by using `.length` like this: `lastName.length`. ```js assert(__helpers.removeJSComments(code).match(/=\s*lastName\.length/g) && !__helpers.removeJSComments(code).match(/lastName\s*=\s*8/)); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/initializing-variables-with-the-assignment-operator.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/initializing-variables-with-the-assignment-operator.md index 0667b1b111..74dba02c29 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/initializing-variables-with-the-assignment-operator.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/initializing-variables-with-the-assignment-operator.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244a9 -title: تهيئة المتغيرات باستخدام مشغل التعيين +title: Initializing Variables with the Assignment Operator challengeType: 1 videoUrl: 'https://scrimba.com/c/cWJ4Bfb' forumTopicId: 301171 @@ -9,21 +9,21 @@ dashedName: initializing-variables-with-the-assignment-operator # --description-- -من الشائع تهيئة قيمة أولية للمتغير في نفس السطر المعلن عنه. +It is common to initialize a variable to an initial value in the same line as it is declared. ```js var myVar = 0; ``` -ينشئ متغيرًا جديدًا يسمى `myVar` ويعينه قيمة مبدئية تبلغ `0`. +Creates a new variable called `myVar` and assigns it an initial value of `0`. # --instructions-- -أعلن متغير `a` باستخدام `var` و هيئ له قيمة `9`. +Define a variable `a` with `var` and initialize it to a value of `9`. # --hints-- -يجب عليك تهيئة `a` بقيمة `9`. +You should initialize `a` to a value of `9`. ```js assert(/var\s+a\s*=\s*9(\s*;?\s*)$/.test(__helpers.removeJSComments(code))); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-odd-numbers-with-a-for-loop.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-odd-numbers-with-a-for-loop.md index be0613a39d..47f86402e3 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-odd-numbers-with-a-for-loop.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-odd-numbers-with-a-for-loop.md @@ -1,6 +1,6 @@ --- id: 56104e9e514f539506016a5c -title: تكرار الأرقام الفردية باستخدام حلقة For التكرارية (Iterate Odd Numbers With a For Loop) +title: Iterate Odd Numbers With a For Loop challengeType: 1 videoUrl: 'https://scrimba.com/c/cm8n7T9' forumTopicId: 18212 @@ -9,9 +9,9 @@ dashedName: iterate-odd-numbers-with-a-for-loop # --description-- -لا تتطلب For loops مرور علي عناصر واحد تلو الآخر. بتغيير `final-expression` الخاص بك، يمكننا أن تعد بأرقام زوجية. +For loops don't have to iterate one at a time. By changing our `final-expression`, we can count by even numbers. -سنبدأ عند `i = 0` والحلقة (loop) مادام `i < 10`. أكثر قيمة `i` بمقدار 2 في كل loop باستخدام `i += 2`. +We'll start at `i = 0` and loop while `i < 10`. We'll increment `i` by 2 each loop with `i += 2`. ```js const ourArray = []; @@ -21,21 +21,21 @@ for (let i = 0; i < 10; i += 2) { } ``` -سوف تحتوي `ourArray` على `[0, 2, 4, 6, 8]` الآن. غيّر `initialization` حتى نتمكن من عد بالأرقام الفردية. +`ourArray` will now contain `[0, 2, 4, 6, 8]`. Let's change our `initialization` so we can count by odd numbers. # --instructions-- -اضف الأرقام الفردية من 1 ألى 9 ألى `myArray` باستخدام حلقة `for`. +Push the odd numbers from 1 through 9 to `myArray` using a `for` loop. # --hints-- -يجب أن تستخدم حلقة `for`. +You should be using a `for` loop for this. ```js assert(/for\s*\([^)]+?\)/.test(__helpers.removeJSComments(code))); ``` -يجب أن يساوي `myArray` قيمة `[1, 3, 5, 7, 9]`. +`myArray` should equal `[1, 3, 5, 7, 9]`. ```js assert.deepEqual(myArray, [1, 3, 5, 7, 9]); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop.md index f93145932f..36bbd457c0 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/iterate-through-an-array-with-a-for-loop.md @@ -1,6 +1,6 @@ --- id: 5675e877dbd60be8ad28edc6 -title: التكرار عبر محتويات قائمة باستخدام حلقة for +title: Iterate Through an Array with a For Loop challengeType: 1 videoUrl: 'https://scrimba.com/c/caeR3HB' forumTopicId: 18216 @@ -9,7 +9,7 @@ dashedName: iterate-through-an-array-with-a-for-loop # --description-- -من المهام الشائعة في JavaScript، التكرار عبر محتويات القائمة. إحدى الطرق لفعل ذلك هي استخدام حلقة `for`. سينتج هذا الكود كل عنصر من قائمة `arr` إلى وحدة التحكم: +A common task in JavaScript is to iterate through the contents of an array. One way to do that is with a `for` loop. This code will output each element of the array `arr` to the console: ```js const arr = [10, 9, 8, 7, 6]; @@ -19,33 +19,33 @@ for (let i = 0; i < arr.length; i++) { } ``` -تذكر أن القوائم (arrays) لديها ترتيب (index) من الصفر، مما يعني أن ترتيب الأخير في القائمة (array) هو `length - 1`. يكون شرطك لهذه الحلقة (loop) هو `i < arr.length`، الذي يوقف الحلقة (loop) عندما `i` يساوي `length`. في هذه الحالة يكون آخر تكرار `i === 4`, بمعنى عندما تصبح `i` مساوي `arr.length - 1` وتنتج `6` ألى وحدة التحكم. ثم `i` يزيد إلى `5`، وتنتهي الحلقة (loop) لأن `i < arr.length` يكون `false`. +Remember that arrays have zero-based indexing, which means the last index of the array is `length - 1`. Our condition for this loop is `i < arr.length`, which stops the loop when `i` is equal to `length`. In this case the last iteration is `i === 4` i.e. when `i` becomes equal to `arr.length - 1` and outputs `6` to the console. Then `i` increases to `5`, and the loop terminates because `i < arr.length` is `false`. # --instructions-- -عرف وهيئ المتغير `total` ليساوي `0`. استخدم الحلقة (loop) باسم `for` لإضافة قيمة كل عنصر من `myArr` إلى `total`. +Declare and initialize a variable `total` to `0`. Use a `for` loop to add the value of each element of the `myArr` array to `total`. # --hints-- -يجب إعلان وتهيئة `total` بقيمة 0. +`total` should be declared and initialized to 0. ```js assert(__helpers.removeJSComments(code).match(/(var|let|const)\s*?total\s*=\s*0.*?;?/)); ``` -يجب أن يساوي `total` قيمة 20. +`total` should equal 20. ```js assert(total === 20); ``` -يجب عليك استخدام حلقة `for` للتكرار عبر `myArr`. +You should use a `for` loop to iterate through `myArr`. ```js assert(/for\s*\(/g.test(__helpers.removeJSComments(code)) && /myArr\s*\[/g.test(__helpers.removeJSComments(code))); ``` -لا يجب عليك محاولة تعيين القيمة 20 إلى `total` قاصدًا. +You should not attempt to directly assign the value 20 to `total`. ```js assert(!__helpers.removeWhiteSpace(__helpers.removeJSComments(code)).match(/total[=+-]0*[1-9]+/gm)); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements.md index c9ba2c6e16..c86a9a9a7c 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/logical-order-in-if-else-statements.md @@ -1,6 +1,6 @@ --- id: 5690307fddb111c6084545d7 -title: الترتيب المنطقي في تعبيرات If Else +title: Logical Order in If Else Statements challengeType: 1 videoUrl: 'https://scrimba.com/c/cwNvMUV' forumTopicId: 18228 @@ -9,13 +9,13 @@ dashedName: logical-order-in-if-else-statements # --description-- -الترتيب مهم في عبارات `if` و `else if`. +Order is important in `if`, `else if` statements. -يتم تنفيذ الوظيفة (function) من الأعلى إلى الأسفل، لذا سترغب في توخي الحذر بشأن العبارة التي تأتي أولاً. +The function is executed from top to bottom so you will want to be careful of what statement comes first. -ولنأخذ هاتين الوظيفتين كمثال. +Take these two functions as an example. -إليك الأول: +Here's the first: ```js function foo(x) { @@ -29,7 +29,7 @@ function foo(x) { } ``` -أما الثاني فقد غير ترتيب العبارات فقط: +And the second just switches the order of the statements: ```js function bar(x) { @@ -43,34 +43,34 @@ function bar(x) { } ``` -بينما تبدو هاتان الوظيفتان متطابقتان تقريباً، إذا اعطينا رَقم إلى كليهما نحصل على نواتج مختلفة. +While these two functions look nearly identical if we pass a number to both we get different outputs. ```js foo(0) bar(0) ``` -سوف ينتج `foo(0)` المقطع `Less than one`، وسوف ينتج `bar(0)` المقطع `Less than two`. +`foo(0)` will return the string `Less than one`, and `bar(0)` will return the string `Less than two`. # --instructions-- -غيّر ترتيب المنطق في الوظيفة (function) بحيث تنتج العبارات الصحيحة في جميع الحالات. +Change the order of logic in the function so that it will return the correct statements in all cases. # --hints-- -يجب أن تنتج `orderMyLogic(4)` المقطع `Less than 5` +`orderMyLogic(4)` should return the string `Less than 5` ```js assert(orderMyLogic(4) === 'Less than 5'); ``` -يجب أن تنتج `orderMyLogic(6)` المقطع `Less than 10` +`orderMyLogic(6)` should return the string `Less than 10` ```js assert(orderMyLogic(6) === 'Less than 10'); ``` -يجب أن تنتج `orderMyLogic(11)` المقطع `Greater than or equal to 10` +`orderMyLogic(11)` should return the string `Greater than or equal to 10` ```js assert(orderMyLogic(11) === 'Greater than or equal to 10'); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array.md index c02a0a3f5c..a47ef51828 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/nest-one-array-within-another-array.md @@ -1,6 +1,6 @@ --- id: cf1111c1c11feddfaeb7bdef -title: إدخال قائمة في قائمة اخرى +title: Nest one Array within Another Array challengeType: 1 videoUrl: 'https://scrimba.com/c/crZQZf8' forumTopicId: 18247 @@ -9,21 +9,21 @@ dashedName: nest-one-array-within-another-array # --description-- -يمكنك أيضًا إدخال قوائم داخل قوائم أخرى، مثل أدناه: +You can also nest arrays within other arrays, like below: ```js const teams = [["Bulls", 23], ["White Sox", 45]]; ``` -هذا يسمى أيضا قوائم متعددة الأبعاد (multi-dimensional array). +This is also called a multi-dimensional array. # --instructions-- -أنشئ قائمة متداخلة تسمى `myArray`. +Create a nested array called `myArray`. # --hints-- -يجب أن تحتوي `myArray` على الأقل علي قائمة واحدة متداخلة في قائمة أخرى. +`myArray` should have at least one array nested within another array. ```js assert(Array.isArray(myArray) && myArray.some(Array.isArray)); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/shopping-list.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/shopping-list.md index 8571ce739a..9d6058bfb5 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/shopping-list.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/shopping-list.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244bc -title: قائمة التسوق +title: Shopping List challengeType: 1 videoUrl: 'https://scrimba.com/c/c9MEKHZ' forumTopicId: 18280 @@ -9,37 +9,37 @@ dashedName: shopping-list # --description-- -أنشئ قائمة تسوُّق في المتغير `myList`. وينبغي أن تكون القائمة متعددة الأبعاد (multi-dimensional array) تحتوي على عدة قائمات فرعية (sub-arrays). +Create a shopping list in the variable `myList`. The list should be a multi-dimensional array containing several sub-arrays. -يجب أن يحتوي العنصر الأول في كل قائمة فرعية (sub-array) على مقطع نصي (string) يحمل اسم الصنف. أما العنصر الثاني فيجب أن يكون رقماً يمثل الكمية، مثلا +The first element in each sub-array should contain a string with the name of the item. The second element should be a number representing the quantity i.e. ```js ["Chocolate Bar", 15] ``` -وينبغي أن يكون في القائمة خمسة قائمات فرعية (sub-arrays) على الأقل. +There should be at least 5 sub-arrays in the list. # --hints-- -يجب أن تكون `myList` قائمة (array). +`myList` should be an array. ```js assert(isArray); ``` -يجب أن تكون كلِّ العناصر الأولى في كل قوائمك الفرعية (sub-arrays) مقاطع نصية (strings). +The first elements in each of your sub-arrays should all be strings. ```js assert(hasString); ``` -يجب أن تكون كل العناصر الثانية في كل قوائمك الفرعية (sub-arrays) أرقام. +The second elements in each of your sub-arrays should all be numbers. ```js assert(hasNumber); ``` -يجب أن يكون لديك 5 أصناف على الأقل في قائمتك. +You should have at least 5 items in your list. ```js assert(count > 4); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator.md index 02068d6b74..22ab4be5e4 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/storing-values-with-the-assignment-operator.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244a8 -title: تخزين القيم مع مشغل التعيين (=) +title: Storing Values with the Assignment Operator challengeType: 1 videoUrl: 'https://scrimba.com/c/cEanysE' forumTopicId: 18310 @@ -9,36 +9,36 @@ dashedName: storing-values-with-the-assignment-operator # --description-- -في JavaScript، يمكنك تخزين قيمة في متغير باستخدام مشغل تعيين يبدو (`=`). +In JavaScript, you can store a value in a variable with the assignment operator (`=`). ```js myVariable = 5; ``` -هذا يعين `Number` بقيمة `5` إلى `myVariable`. +This assigns the `Number` value `5` to `myVariable`. -إذا كانت هناك أي حسابات إلى يمين مشغل `=`، يتم أداء هذه الحسابات قبل تعيين القيمة إلى المتغير الموجود على يسار المشغل. +If there are any calculations to the right of the `=` operator, those are performed before the value is assigned to the variable on the left of the operator. ```js var myVar; myVar = 5; ``` -أولا، هذا الكود ينشئ متغير يسمى `myVar`. ثم، الكود يعين `5` إلى `myVar`. الآن، إذا ظهر `myVar` مرة أخرى في الكود، فإن البرنامَج سيعامله كما لو أنه `5`. +First, this code creates a variable named `myVar`. Then, the code assigns `5` to `myVar`. Now, if `myVar` appears again in the code, the program will treat it as if it is `5`. # --instructions-- -عيين قيمة `7` إلى المتغير `a`. +Assign the value `7` to variable `a`. # --hints-- -لا يجب عليك تعديل الكود فوق التعليق المحدد. +You should not change code above the specified comment. ```js assert(/var a;/.test(__helpers.removeJSComments(code))); ``` -يجب أن يحتوي `a` قيمة 7. +`a` should have a value of 7. ```js assert(typeof a === 'number' && a === 7); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function.md index 8ecf981fc5..6dd4f30f69 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-undefined-value-returned-from-a-function.md @@ -1,6 +1,6 @@ --- id: 598e8944f009e646fc236146 -title: فهم القيم غير المحددة المنتجة من وظيفة +title: Understanding Undefined Value returned from a Function challengeType: 1 videoUrl: 'https://scrimba.com/c/ce2p7cL' forumTopicId: 301177 @@ -9,9 +9,9 @@ dashedName: understanding-undefined-value-returned-from-a-function # --description-- -تستطيع الوظيفة أن تتضمن عبارة `return` ولكن ليست ملزمة بفعل ذلك. في حالة أن الوظيفة لا تحتوي على عبارة `return`، عند تفعيلها، يتم معالجة الكود الداخلي في الوظيفة، ولكن القيمة المنتجة تكون `undefined`. +A function can include the `return` statement but it does not have to. In the case that the function doesn't have a `return` statement, when you call it, the function processes the inner code but the returned value is `undefined`. -**مثال** +**Example** ```js let sum = 0; @@ -23,33 +23,33 @@ function addSum(num) { addSum(3); ``` -الوظيفة `addSum` بدون `return`. ستغير الوظيفة قيمة المتغير الشامل `sum`، ولكن تكون القيمة المنتجة للوظيفة هي `undefined`. +`addSum` is a function without a `return` statement. The function will change the global `sum` variable but the returned value of the function is `undefined`. # --instructions-- -أنشئ وظيفة `addFive` دون أي معطيات. تضيف الوظيفة 5 إلى متغير `sum` ولكن تكون القيمة المنتجة `undefined`. +Create a function `addFive` without any arguments. This function adds 5 to the `sum` variable, but its returned value is `undefined`. # --hints-- -يجب أن تكون `addFive` وظيفة. +`addFive` should be a function. ```js assert(typeof addFive === 'function'); ``` -بمجرد تشغيل كلا الوظيفتين، يجب أن يكون `sum` يساوي `8`. +Once both functions have run, the `sum` should be equal to `8`. ```js assert(sum === 8); ``` -يجب أن تنتج `addFive` القيمة `undefined`. +Returned value from `addFive` should be `undefined`. ```js assert(addFive() === undefined); ``` -داخل وظيفة `addFive`، يجب عليك إضافة `5` إلى المتغير `sum`. +Inside the `addFive` function, you should add `5` to the `sum` variable. ```js assert( diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md index b86bb414d6..1d6dc81ef4 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/understanding-uninitialized-variables.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244aa -title: فهم المتغيرات غير المهيأة +title: Understanding Uninitialized Variables challengeType: 1 videoUrl: 'https://scrimba.com/c/cBa2JAL' forumTopicId: 18335 @@ -9,33 +9,33 @@ dashedName: understanding-uninitialized-variables # --description-- -عند إعلان المتغيرات في JavaScript، يكون لها قيمة أولية وهي `undefined`. إذا قمت بعملية رياضية على متغير قيمته `undefined` ستكون نتيجتك `NaN` مما يعني "Not a Number" إي "ليس رقما". إذا ربط مقطع نصي مع متغير `undefined`، فستحصل على مقطع نصي بقيمة `undefined`. +When JavaScript variables are declared, they have an initial value of `undefined`. If you do a mathematical operation on an `undefined` variable your result will be `NaN` which means "Not a Number". If you concatenate a string with an `undefined` variable, you will get a string of `undefined`. # --instructions-- -قم بتهيئة المتغيرات الثلاثة `a`, و `b`, و `c` بالقيم `5`, و `10`, و `"I am a"` على التوالي، حتى لا يكونوا `undefined`. +Initialize the three variables `a`, `b`, and `c` with `5`, `10`, and `"I am a"` respectively so that they will not be `undefined`. # --hints-- -يجب أن يتم تعريف `a` وأن تكون قيمتها `6`. +`a` should be defined and have a final value of `6`. ```js assert(typeof a === 'number' && a === 6); ``` -يجب أن يتم تعريف `b` وأن تكون قيمتها `15`. +`b` should be defined and have a final value of `15`. ```js assert(typeof b === 'number' && b === 15); ``` -يجب ألّا يحتوي `c` على `undefined` ويجب أن يكون لديه مقطع بقيمة `I am a String!` +`c` should not contain `undefined` and should have a final value of the string `I am a String!` ```js assert(!/undefined/.test(c) && c === 'I am a String!'); ``` -لا يجب عليك تعديل الكود فوق التعليق المحدد. +You should not change code below the specified comment. ```js assert( diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md index 99a5480160..e57a13d85a 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-countdown.md @@ -1,6 +1,6 @@ --- id: 5cd9a70215d3c4e65518328f -title: استخدم التكرار لإنشاء العد التنازلي (Use Recursion to Create a Countdown) +title: Use Recursion to Create a Countdown challengeType: 1 forumTopicId: 305925 dashedName: use-recursion-to-create-a-countdown @@ -8,11 +8,11 @@ dashedName: use-recursion-to-create-a-countdown # --description-- -في تحدي سابق، تعلمت كيفية استخدام التكرار لاستبدال حلقة `for`. الآن، أنطر إلى وظيفة أكثر تعقيدا تنتج قائمة من الأعداد الصحيحة المتتالية بدءاً من `1` إلى الرقم الذي تم تمريره إلى الوظيفة. +In a previous challenge, you learned how to use recursion to replace a `for` loop. Now, let's look at a more complex function that returns an array of consecutive integers starting with `1` through the number passed to the function. -كما ذكر في التحدي السابق، سيكون هناك base case (حالة أساسية). الحالة أساسية تخبر الوظيفة المكررة في أي حالة لا تحتاج إلى استدعاء نفسها مرة أخرى. وهذه حالة بسيطة تكون فيها القيمة المنتجة معروفة فعلًا. سيكون هناك أيضًا recursive call (استدعاء متكرر) الذي ينفذ الوظيفة الأصلية بحجج مختلفة. إذا كانت الوظيفة مكتوبة بشكل صحيح، سيتم الوصول إلى الحالة أساسية في النهاية. +As mentioned in the previous challenge, there will be a base case. The base case tells the recursive function when it no longer needs to call itself. It is a simple case where the return value is already known. There will also be a recursive call which executes the original function with different arguments. If the function is written correctly, eventually the base case will be reached. -على سبيل المثال، قل أنك تريد كتابة وظيفة مكررة تُرجع قائمة تحتوي على الأعداد من `1` إلى `n`. هذه الوظيفة ستحتاج إلى قَبُول حجة هو `n`، الذي يمثل الرقم النهائي. ثم ستحتاج إلى استدعاء نفسها مع قيم أصغر تدريجياً من `n` حتى تصل إلى `1`. يمكنك كتابة الوظيفة على النحو التالي: +For example, say you want to write a recursive function that returns an array containing the numbers `1` through `n`. This function will need to accept an argument, `n`, representing the final number. Then it will need to call itself with progressively smaller values of `n` until it reaches `1`. You could write the function as follows: ```javascript function countup(n) { @@ -27,35 +27,35 @@ function countup(n) { console.log(countup(5)); ``` -سيتم عرض القيمة `[1, 2, 3, 4, 5]` في الوحدة التحكم. +The value `[1, 2, 3, 4, 5]` will be displayed in the console. -في البداية، يبدو هذا غير بديهي لأن قيمة `n` *تنخفض*، لكن القيم في القائمة النهائية *تزداد*. ويحدث هذا لأن الزيادة تحدث في نهاية، بعد تفعيل المتكررة. فعند النقطة التي يتم فيها إضافة `n` إلى القائمة، يكون قد تم تقييم `countup(n - 1)` فعلًا وتم إعادة `[1, 2, ..., n - 1]`. +At first, this seems counterintuitive since the value of `n` *decreases*, but the values in the final array are *increasing*. This happens because the push happens last, after the recursive call has returned. At the point where `n` is pushed into the array, `countup(n - 1)` has already been evaluated and returned `[1, 2, ..., n - 1]`. # --instructions-- -لقد عرفنا وظيفة تسمى `countdown` مع وسيط (parameter) واحدة (`n`). يجب أن تستخدم الوظيفة التكرار (recursion) لتنتج قائمة (array) تحتوي على الأعداد من `n` إلى `1` استنادًا إلى وسيط (parameter) مسمى `n`. إذا تم تفعيل الوظيفة بعدد أقل من 1، يجب أن تنتج قائمة فارغة. على سبيل المثال، استدعاء هذه الوظيفة مع `n = 5` يجب أن تنتج القائمة التالية `[5, 4, 3, 2, 1]`. يجب أن تستخدم الوظيفة التكرار بواسطة تفعيل نفسها، ويجب ألا تستخدم الحلقات من أي نوع. +We have defined a function called `countdown` with one parameter (`n`). The function should use recursion to return an array containing the integers `n` through `1` based on the `n` parameter. If the function is called with a number less than 1, the function should return an empty array. For example, calling this function with `n = 5` should return the array `[5, 4, 3, 2, 1]`. Your function must use recursion by calling itself and must not use loops of any kind. # --hints-- -يجب أن ينتج `countdown(-1)` قائمة فارغة. +`countdown(-1)` should return an empty array. ```js assert.isEmpty(countdown(-1)); ``` -يجب أن ينتج `countdown(10)` قائمة `[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]` +`countdown(10)` should return `[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]` ```js assert.deepStrictEqual(countdown(10), [10, 9, 8, 7, 6, 5, 4, 3, 2, 1]); ``` -يجب أن ينتج `countdown(5)` قائمة `[5, 4, 3, 2, 1]` +`countdown(5)` should return `[5, 4, 3, 2, 1]` ```js assert.deepStrictEqual(countdown(5), [5, 4, 3, 2, 1]); ``` -لا ينبغي أن يعتمد الكود الخاص بك على أي نوع من الحلَقات سواء (`for`, أو `while`, أو وظائف ذو مستوي عالى التجريد مثل `forEach`, أو `map`, أو `filter`, أو `reduce`). +Your code should not rely on any kind of loops (`for`, `while` or higher order functions such as `forEach`, `map`, `filter`, and `reduce`). ```js assert( @@ -63,7 +63,7 @@ assert( ); ``` -يجب عليك استخدام التكرار لحل هذه المشكلة. +You should use recursion to solve this problem. ```js assert( @@ -71,7 +71,7 @@ assert( ); ``` -لا ينبغي استخدام المتغيرات الشاملة (Global variables) للتخزين المؤقت للقائمة (array). +Global variables should not be used to cache the array. ```js countdown(1) diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers.md index 57317a107d..f0705fa2a4 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/use-recursion-to-create-a-range-of-numbers.md @@ -1,6 +1,6 @@ --- id: 5cc0bd7a49b71cb96132e54c -title: استخدم التكرار لإنشاء نطاق من الأرقام (Use Recursion to Create a Range of Numbers) +title: Use Recursion to Create a Range of Numbers challengeType: 1 forumTopicId: 301180 dashedName: use-recursion-to-create-a-range-of-numbers @@ -8,21 +8,21 @@ dashedName: use-recursion-to-create-a-range-of-numbers # --description-- -مع الاستمرار في التحدي السابق، نوفر لك فرصة لحل مشكلة أخرى باستخدام الوظيفة المتكررة. +Continuing from the previous challenge, we provide you another opportunity to create a recursive function to solve a problem. # --instructions-- -لقد حددنا وظيفة (function) تسمى `rangeOfNumbers` مع اثنين من الوسائط (parameters). يجب أن تنتج الوظيفة قائمة من الأعداد الصحيحة التي تبدأ بعدد يمثله وسيط `startNum` وتنتهي بعدد يمثله وسيط `endNum` الآخرة. سيكون رقم البداية دائماً أقل من أو يساوي رقم النهاية. يجب أن تستخدم الوظيفة التكرار بواسطة تفعيل نفسها، ويجب ألا تستخدم الحلَقات من أي نوع. يجب أن تعمل أيضا في الحالات التي يكون فيها كل من `startNum` و `endNum` متماثلين. +We have defined a function named `rangeOfNumbers` with two parameters. The function should return an array of integers which begins with a number represented by the `startNum` parameter and ends with a number represented by the `endNum` parameter. The starting number will always be less than or equal to the ending number. Your function must use recursion by calling itself and not use loops of any kind. It should also work for cases where both `startNum` and `endNum` are the same. # --hints-- -يجب أن تنتج الوظيفة قيمة القائمة. +Your function should return an array. ```js assert(Array.isArray(rangeOfNumbers(5, 10))); ``` -لا ينبغي أن يعتمد الكود الخاص بك على أي نوع من الحلَقات سواءً (`for`, أو `while`, أو وظائف ذو مستوي عالى التجريد مثل `forEach`, أو `map`, أو `filter`, أو `reduce`). +Your code should not use any loop syntax (`for` or `while` or higher order functions such as `forEach`, `map`, `filter`, or `reduce`). ```js assert( @@ -30,7 +30,7 @@ assert( ); ``` -يجب أن يستخدم `rangeOfNumbers` التكرار (استدعاء نفسه) لحل هذا التحدي. +`rangeOfNumbers` should use recursion (call itself) to solve this challenge. ```js assert( @@ -38,25 +38,25 @@ assert( ); ``` -يجب أن ينتج `rangeOfNumbers(1, 5)` قائمة `[1, 2, 3, 4, 5]`. +`rangeOfNumbers(1, 5)` should return `[1, 2, 3, 4, 5]`. ```js assert.deepStrictEqual(rangeOfNumbers(1, 5), [1, 2, 3, 4, 5]); ``` -يجب أن ينتج `rangeOfNumbers(6, 9)` قائمة `[6, 7, 8, 9]`. +`rangeOfNumbers(6, 9)` should return `[6, 7, 8, 9]`. ```js assert.deepStrictEqual(rangeOfNumbers(6, 9), [6, 7, 8, 9]); ``` -يجب أن ينتج `rangeOfNumbers(4, 4)` قائمة `[4]`. +`rangeOfNumbers(4, 4)` should return `[4]`. ```js assert.deepStrictEqual(rangeOfNumbers(4, 4), [4]); ``` -لا ينبغي استخدام المتغيرات الشاملة (Global variables) للتخزين المؤقت للقائمة (array). +Global variables should not be used to cache the array. ```js rangeOfNumbers(1, 3) diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups.md index f178a570d6..9f4ec2d298 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/basic-javascript/using-objects-for-lookups.md @@ -1,6 +1,6 @@ --- id: 56533eb9ac21ba0edf2244ca -title: استخدام الكائنات للبحث (Using Objects for Lookups) +title: Using Objects for Lookups challengeType: 1 videoUrl: 'https://scrimba.com/c/cdBk8sM' forumTopicId: 18373 @@ -9,9 +9,9 @@ dashedName: using-objects-for-lookups # --description-- -يمكن اعتبار الكائنات كمخزن بطريقة هُوِيَّة/قيمة، مثل القاموس. إذا كانت لديك بيانات جدولية، فيمكنك استخدام كائن للبحث عن القيم بدلاً من عبارة `switch` أو تسلسل `if/else`. هذا مفيد للغاية عندما تعرف أن بيانات الإدخال الخاصة بك محدودة بمدى معين. +Objects can be thought of as a key/value storage, like a dictionary. If you have tabular data, you can use an object to lookup values rather than a `switch` statement or an `if/else` chain. This is most useful when you know that your input data is limited to a certain range. -فيما يلي مثال على مقالة بهيئة كائن (object): +Here is an example of an article object: ```js const article = { @@ -30,63 +30,63 @@ const value = "title"; const valueLookup = article[value]; ``` -يكون `articleAuthor` مقطع `Kaashan Hussain`، ويكون `articleLink` مقطع `https://www.freecodecamp.org/news/a-complete-guide-to-creating-objects-in-javascript-b0e2450655e8/`، ويكون `valueLookup` مقطع `How to create objects in JavaScript`. +`articleAuthor` is the string `Kaashan Hussain`, `articleLink` is the string `https://www.freecodecamp.org/news/a-complete-guide-to-creating-objects-in-javascript-b0e2450655e8/`, and `valueLookup` is the string `How to create objects in JavaScript`. # --instructions-- -حوّل تعبير switch إلى كائن يسمى `lookup`. استخدمه للبحث عن `val` وتعيين المقطع المرتبط بمتغير `result`. +Convert the switch statement into an object called `lookup`. Use it to look up `val` and assign the associated string to the `result` variable. # --hints-- -يجب أن تساوي `phoneticLookup("alpha")` مقطع `Adams` +`phoneticLookup("alpha")` should equal the string `Adams` ```js assert(phoneticLookup('alpha') === 'Adams'); ``` -يجب أن تساوي `phoneticLookup("bravo")` مقطع `Boston` +`phoneticLookup("bravo")` should equal the string `Boston` ```js assert(phoneticLookup('bravo') === 'Boston'); ``` -يجب أن تساوي `phoneticLookup("charlie")` مقطع `Chicago` +`phoneticLookup("charlie")` should equal the string `Chicago` ```js assert(phoneticLookup('charlie') === 'Chicago'); ``` -يجب أن تساوي `phoneticLookup("delta")` مقطع `Denver` +`phoneticLookup("delta")` should equal the string `Denver` ```js assert(phoneticLookup('delta') === 'Denver'); ``` -يجب أن تساوي `phoneticLookup("echo")` مقطع `Easy` +`phoneticLookup("echo")` should equal the string `Easy` ```js assert(phoneticLookup('echo') === 'Easy'); ``` -يجب أن تساوي `phoneticLookup("foxtrot")` مقطع `Frank` +`phoneticLookup("foxtrot")` should equal the string `Frank` ```js assert(phoneticLookup('foxtrot') === 'Frank'); ``` -يجب أن تساوي `phoneticLookup("")` كلمة `undefined` +`phoneticLookup("")` should equal `undefined` ```js assert(typeof phoneticLookup('') === 'undefined'); ``` -لا يجب عليك تعديل تعبير `return` +You should not modify the `return` statement ```js assert(__helpers.removeJSComments(code).match(/return\sresult;/)); ``` -لا يجب عليك استخدام تعبيرات `case`, أو `switch`, أو `if` +You should not use `case`, `switch`, or `if` statements ```js assert( diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/understanding-the-differences-between-the-freecodecamp-and-browser-console.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/understanding-the-differences-between-the-freecodecamp-and-browser-console.md index 8a47474fa8..e1a156d6d8 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/understanding-the-differences-between-the-freecodecamp-and-browser-console.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/debugging/understanding-the-differences-between-the-freecodecamp-and-browser-console.md @@ -1,6 +1,6 @@ --- id: 587d7b83367417b2b2512b37 -title: فهم الاختلافات بين وحدة تحكم المتصفح (Browser Console) و freeCodeCamp +title: Understanding the Differences between the freeCodeCamp and Browser Console challengeType: 1 forumTopicId: 301193 dashedName: understanding-the-differences-between-the-freecodecamp-and-browser-console @@ -8,25 +8,25 @@ dashedName: understanding-the-differences-between-the-freecodecamp-and-browser-c # --description-- -ربما لاحظتم أن بعض تحديات freeCodeCamp تشمل وحدة التحكم الخاصة بها. تتصرف هذه الوحدة بشكل مختلف قليلا عن وحدة تحكم المتصفح. +You may have noticed that some freeCodeCamp challenges include their own console. This console behaves a little differently than the browser console. -هناك العديد من الطرق لاستخدام `console` لإخراج الرسائل. علي سبيل المثال `log`, و`warn`, و `clear`. وحدة تحكم freeCodeCamp ستخرج فقط `log` رسائل، في حين أن وحدة التحكم في المتصفح ستخرج جميع الرسائل. عند إجراء تغييرات على الكود الخاص بك، سيتم تشغيلها تلقائياً وإظهار السجلات. ثم يتم مسح وحدة تحكم freeCodeCamp في كل مرة يتم فيها تشغيل الكود. +There are many methods to use with `console` to output messages. `log`, `warn`, and `clear` to name a few. The freeCodeCamp console will only output `log` messages, while the browser console will output all messages. When you make changes to your code, it will automatically run and show the logs. The freeCodeCamp console is then cleared each time your code runs. # --instructions-- -أولا، افتح وحدة تحكم المتصفح الخاصة بك حتى تتمكن من رؤية السجلات. للقيام بذلك، يمكنك النقر بزر الماوس الأيمن (right-click) على شريط freeCodeCamp في الأعلى وانقر فوق `inspect`. ثم اعثر على علامة التبويب `console` في النافذة التي تفتح. +First, open your browser console so you can see the logs. To do that, you can right-click the freeCodeCamp navigation bar at the top and click `inspect` on most browsers. Then find the `console` tab in the window that opens. -بعد ذلك، استخدم `console.log` لتسجيل `output` المتغير. قم بعرض وحدتي التحكم لمشاهدة السجل. أخيرا، استخدم `console.clear` بعد السجل الخاص بك لمسح وحدة تحكم المتصفح. قم بعرض الفرق في وحدتي التحكم. +After that, use `console.log` to log the `output` variable. View the two consoles to see the log. Finally, use `console.clear` after your log to clear the browser console. View the difference in the two consoles. # --hints-- -يجب عليك استخدام `console.log()` لطباعة `output` المتغير. +You should use `console.log()` to print the `output` variable. ```js assert(__helpers.removeWhiteSpace(__helpers.removeJSComments(code)).match(/console\.log\(output\)/)); ``` -يجب عليك استخدام `console.clear()` لمسح وحدة تحكم المتصفح. +You should use `console.clear()` to clear the browser console. ```js assert( @@ -36,7 +36,7 @@ assert( ); ``` -يجب عليك مسح وحدة التحكم بعد السجل الخاص بك. +You should clear the console after your log. ```js assert( diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md index 4b8d746548..5c9235a562 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/compare-scopes-of-the-var-and-let-keywords.md @@ -1,6 +1,6 @@ --- id: 587d7b87367417b2b2512b40 -title: مقارنة نطاقات var و let +title: Compare Scopes of the var and let Keywords challengeType: 1 forumTopicId: 301195 dashedName: compare-scopes-of-the-var-and-let-keywords @@ -8,13 +8,13 @@ dashedName: compare-scopes-of-the-var-and-let-keywords # --description-- -إذا كانت `let` غير مألوف، تحقق هذا التحدي عن أختلاف بين كلمة (let) وكلمة (var). +If you are unfamiliar with `let`, check out this challenge about the difference between let and var. -عندما تعلن متغير باستخدام مصطلح `var`، يكون للمتغير مجال شامل (global scope)، أو إذا اعلن عنه داخل وظيفة (function) فمجاله محدد (local scope). +When you declare a variable with the `var` keyword, it is declared globally, or locally if declared inside a function. -يتصرف مصطلح `let` بالمثل، ولكن مع بعض الميزات الإضافية. عندما تعلن متغير باستخدام `let` داخل الكتلة أو تعبير أو عبارة، فنطاق المتغير يقتصر على تلك الكتلة (block) أو التعبير (statement) أو العبارة (expression). +The `let` keyword behaves similarly, but with some extra features. When you declare a variable with the `let` keyword inside a block, statement, or expression, its scope is limited to that block, statement, or expression. -على سبيل المثال: +For example: ```js var numArray = []; @@ -25,9 +25,9 @@ console.log(numArray); console.log(i); ``` -هنا ستعرض وحدة التحكم القيم `[0, 1, 2]` و `3`. +Here the console will display the values `[0, 1, 2]` and `3`. -مع مصطلح `var`، يعلن `i` بشكل شامل. لذلك عندما ينفذ `i++`، فإنه يحدث المتغير الشامل. وهذا الكود مماثل لما يلي: +With the `var` keyword, `i` is declared globally. So when `i++` is executed, it updates the global variable. This code is similar to the following: ```js var numArray = []; @@ -39,9 +39,9 @@ console.log(numArray); console.log(i); ``` -هنا ستعرض وحدة التحكم القيم `[0, 1, 2]` و `3`. +Here the console will display the values `[0, 1, 2]` and `3`. -هذا السلوك سوف يسبب مشكلات إذا كنت تريد إنشاء وظيفة وتخزينها لاستخدامها لاحقاً داخل حلقة `for` تستخدم متغير `i`. هذا لأن الوظيفة المخزنة سوف تشير دائما إلى قيمة متغير `i` الشامل المحدث. +This behavior will cause problems if you were to create a function and store it for later use inside a `for` loop that uses the `i` variable. This is because the stored function will always refer to the value of the updated global `i` variable. ```js var printNumTwo; @@ -55,9 +55,9 @@ for (var i = 0; i < 3; i++) { console.log(printNumTwo()); ``` -هنا ستعرض وحدة التحكم القيمة `3`. +Here the console will display the value `3`. -كما تري، `printNumTwo()` يطبع 3 وليس 2. هذا لأن القيمة التي عينت إلى `i` تُحدث, وتنتج `printNumTwo()` القيمة الشاملة `i` وليس القيمة التي احتواها `i` عندما أنشئت الوظيفة في حلقة التكرار. لا تتبع مصطلح `let` هذا السلوك: +As you can see, `printNumTwo()` prints 3 and not 2. This is because the value assigned to `i` was updated and the `printNumTwo()` returns the global `i` and not the value `i` had when the function was created in the for loop. The `let` keyword does not follow this behavior: ```js let printNumTwo; @@ -72,31 +72,31 @@ console.log(printNumTwo()); console.log(i); ``` -هنا ستعرض وحدة التحكم القيمة `2`، وخطأ `i is not defined`. +Here the console will display the value `2`, and an error that `i is not defined`. -`i` غير معروف لأنه لم يعلن في المجال الشامل (global scope). اعلن عنه فقط ضمن حلقة `for`. أنتج `printNumTwo()` القيمة الصحيحة لأن ثلاث متغيرات `i` مختلفة مع قيم فريدة (0, 1, و 2) أنشئت بواسطة `let` داخل كود الحلقة التكرارية. +`i` is not defined because it was not declared in the global scope. It is only declared within the `for` loop statement. `printNumTwo()` returned the correct value because three different `i` variables with unique values (0, 1, and 2) were created by the `let` keyword within the loop statement. # --instructions-- -أصلح الكود بحيث إن `i` المعلن عنها في `if` تصبح متغير منفصل من `i` المعلن عنها في السطر الأول من الوظيفة. كن متيقن من عدم استخدام مصطلح `var` في أي مكان في كودك. +Fix the code so that `i` declared in the `if` statement is a separate variable than `i` declared in the first line of the function. Be certain not to use the `var` keyword anywhere in your code. -تم تصميم هذا التمرين لتوضيح الفرق بين كيفية تعيين المصطلحات `var` و `let` نطاقًا للمتغير المعلن. عند برمجة وظيفة مماثلة لتلك المستخدمة في هذه الممارسة، كثيرا ما يكون من الأفضل استخدام أسماء مختلفة للمتغيرات لتجنب الخلط. +This exercise is designed to illustrate the difference between how `var` and `let` keywords assign scope to the declared variable. When programming a function similar to the one used in this exercise, it is often better to use different variable names to avoid confusion. # --hints-- -يجب ألا تكون `var` موجودة في الكود. +`var` should not exist in code. ```js assert(!__helpers.removeJSComments(code).match(/var/g)); ``` -يجب أن يساوي المتغير `i` المعلن عنه في `if` المقطع النصي `block scope`. +The variable `i` declared in the `if` statement should equal the string `block scope`. ```js assert(__helpers.removeJSComments(code).match(/(i\s*=\s*).*\s*.*\s*.*\1('|")block\s*scope\2/g)); ``` -يجب أن ينتج `checkScope()` مقطع `function scope` +`checkScope()` should return the string `function scope` ```js assert(checkScope() === 'function scope'); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals.md index 5ef4717108..e3691452a8 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/create-strings-using-template-literals.md @@ -1,6 +1,6 @@ --- id: 587d7b8a367417b2b2512b4e -title: إنشاء المقاطع النصية باستخدام قوالب النصوص +title: Create Strings using Template Literals challengeType: 1 forumTopicId: 301200 dashedName: create-strings-using-template-literals @@ -8,11 +8,11 @@ dashedName: create-strings-using-template-literals # --description-- -احدي الميزات الجديدة لـ ES6 هي template literal. هذا نوع خاص من الـ strings يجعل إنشاء سلاسل معقدة أسهل. +A new feature of ES6 is the template literal. This is a special type of string that makes creating complex strings easier. -Template literals تتيح لك إنشاء strings متعددة السطور واستخدام ميزات الـ string interpolation لإنشاء strings. +Template literals allow you to create multi-line strings and to use string interpolation features to create strings. -انظر الي الكود أدناه: +Consider the code below: ```js const person = { @@ -26,15 +26,15 @@ I am ${person.age} years old.`; console.log(greeting); ``` -ستعرض وحدة التحكم السلاسل `Hello, my name is Zodiac Hasbro!` و `I am 56 years old.`. +The console will display the strings `Hello, my name is Zodiac Hasbro!` and `I am 56 years old.`. -لقد حدث الكثير من الأشياء هنا. أولاً، يستخدم المثال الـ backticks الآتية (`` ` ``)، وليس علامات الاقتباس (`'` أو `"`) لاحتواء المقطع النصي. ثانياً، لاحظ أن الـ string متعدد الأسطر في كل من الكود والناتج. هذا يوفر من إدخال `\n` داخل الـ strings. بناء الجملة `${variable}` المستخدم أعلاه هو placeholder. بشكل أساسي، لن تضطر إلى استخدام التسلسل مع عامل التشغيل `+` بعد الآن. لإضافة متغيرات إلى الـ strings، فقط قم بإسقاط المتغير في template string و حاوطه بـ `${` و `}`. وبالمثل، يمكنك تضمين عبارات أخرى في الـ string literal، على سبيل المثال `${a + b}`. هذه الطريقة الجديدة لإنشاء الـ strings تمنحك المزيد من المرونة لإنشاء strings قوية. +A lot of things happened there. Firstly, the example uses backticks (`` ` ``), not quotes (`'` or `"`), to wrap the string. Secondly, notice that the string is multi-line, both in the code and the output. This saves inserting `\n` within strings. The `${variable}` syntax used above is a placeholder. Basically, you won't have to use concatenation with the `+` operator anymore. To add variables to strings, you just drop the variable in a template string and wrap it with `${` and `}`. Similarly, you can include other expressions in your string literal, for example `${a + b}`. This new way of creating strings gives you more flexibility to create robust strings. # --instructions-- -استخدم template literal مع backticks لإنشاء array من سلاسل عناصر القائمة (`li`). يجب أن يكون نص كل عنصر من عناصر القائمة أحد عناصر الـ array من خاصية `failure` في كائن `result` وأن يحتوي على سمة `class` مع القيمة `text-warning`. يجب أن تقوم دالة `makeList` بإرجاع مجموعة من سلاسل عناصر القائمة. +Use template literal syntax with backticks to create an array of list element (`li`) strings. Each list element's text should be one of the array elements from the `failure` property on the `result` object and have a `class` attribute with the value `text-warning`. The `makeList` function should return the array of list item strings. -قم باستخدام iterator method (أي نوع من الـ loops) للحصول على المخرجات المطلوبة (موضحة أدناه). +Use an iterator method (any kind of loop) to get the desired output (shown below). ```js [ @@ -46,7 +46,7 @@ console.log(greeting); # --hints-- -`failuresList` يجب أن تكون array تحتوي على رسائل الـ `result failure`. +`failuresList` should be an array containing `result failure` messages. ```js assert( @@ -54,7 +54,7 @@ assert( ); ``` -`failuresList` يجب أن تكون مساوية للمخرجات المحددة. +`failuresList` should be equal to the specified output. ```js assert( @@ -66,13 +66,13 @@ assert( ); ``` -وينبغي استخدام template strings و expression interpolation. +Template strings and expression interpolation should be used. ```js assert.match(code, /(`.*\${.*}.*`)/); ``` -ينبغي استخدام iterator. +An iterator should be used. ```js assert(__helpers.removeJSComments(code).match(/for|map|reduce|forEach|while/)); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects.md index 9e926493ca..9fc0ab09b7 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/use-destructuring-assignment-to-assign-variables-from-objects.md @@ -8,29 +8,29 @@ dashedName: use-destructuring-assignment-to-assign-variables-from-objects # --description-- -Destructuring يسمح لك بتعيين اسم متغير جديد عند استخراج القيم. يمكنك القيام بذلك بوضع الاسم الجديد بعد colon و هي علامة النقطتين (:) عند تعيين القيمة. +Destructuring allows you to assign a new variable name when extracting values. You can do this by putting the new name after a colon when assigning the value. -استخدام نفس الـ object من المثال الأخير: +Using the same object from the last example: ```js const user = { name: 'John Doe', age: 34 }; ``` -إليك كيف يمكنك إعطاء أسماء متغيرة جديدة عند التعيين: +Here's how you can give new variable names in the assignment: ```js const { name: userName, age: userAge } = user; ``` -يمكنك قراءتها كـ "احصل على قيمة `user.name` وقم بتعيينه إلى متغير جديد يسمى `userName`" وما الي ذلك. قيمة `userName` ستكون السلسلة `John Doe`، وقيمة `userAge` ستكون الرقم `34`. +You may read it as "get the value of `user.name` and assign it to a new variable named `userName`" and so on. The value of `userName` would be the string `John Doe`, and the value of `userAge` would be the number `34`. # --instructions-- -استبدل التعينين بـ destructuring assignment معادلة لها. يجب أن يستمر في تعيين المتغيرين `highToday` و `highTomorrow` القيم `today` و `tomorrow` من الـ object الآتي `HIGH_TEMPERATURES`. +Replace the two assignments with an equivalent destructuring assignment. It should still assign the variables `highToday` and `highTomorrow` the values of `today` and `tomorrow` from the `HIGH_TEMPERATURES` object. # --hints-- -يجب عليك إزالة صيغة تعيين ES5. +You should remove the ES5 assignment syntax. ```js assert( @@ -39,7 +39,7 @@ assert( ); ``` -يجب عليك استخدام الـ destructuring لإنشاء المتغير `highToday`. +You should use destructuring to create the `highToday` variable. ```js assert( @@ -49,7 +49,7 @@ assert( ); ``` -يجب عليك استخدام الـ destructuring لإنشاء المتغير `highTomorrow`. +You should use destructuring to create the `highTomorrow` variable. ```js assert( @@ -59,7 +59,7 @@ assert( ); ``` -`highToday` يجب أن يساوي `77` و `highTomorrow` يجب أن يساوي `80`. +`highToday` should be equal to `77` and `highTomorrow` should be equal to `80`. ```js assert(highToday === 77 && highTomorrow === 80); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-arrow-functions-with-parameters.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-arrow-functions-with-parameters.md index 91b90cbbe0..dacd988e3b 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-arrow-functions-with-parameters.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/es6/write-arrow-functions-with-parameters.md @@ -1,6 +1,6 @@ --- id: 587d7b88367417b2b2512b44 -title: أنشاء وظائف السهم (Arrow Functions) مع الوسائط +title: Write Arrow Functions with Parameters challengeType: 1 forumTopicId: 301223 dashedName: write-arrow-functions-with-parameters @@ -8,49 +8,49 @@ dashedName: write-arrow-functions-with-parameters # --description-- -تماما مثل اي function عادي، يمكنك تمرير الـ arguments إلى arrow function. +Just like a regular function, you can pass arguments into an arrow function. ```js const doubler = (item) => item * 2; doubler(4); ``` -`doubler(4)` سوف يعيد القيمة `8`. +`doubler(4)` would return the value `8`. -إذا كان للوظيفة السهم وسيط واحدة، يمكن حذف الأقواس المرفقة للوسيط. +If an arrow function has a single parameter, the parentheses enclosing the parameter may be omitted. ```js const doubler = item => item * 2; ``` -ومن الممكن تمرير أكثر من argument واحدة إلى الـ arrow function. +It is possible to pass more than one argument into an arrow function. ```js const multiplier = (item, multi) => item * multi; multiplier(4, 2); ``` -`multiplier(4, 2)` سوف يعيد القيمة `8`. +`multiplier(4, 2)` would return the value `8`. # --instructions-- -قم بإعادة كتابة دالة `myConcat` التي تضيف محتويات `arr2` إلى `arr1` بحيث تستخدم الدالة الـ arrow function syntax. +Rewrite the `myConcat` function which appends contents of `arr2` to `arr1` so that the function uses arrow function syntax. # --hints-- -يجب عليك استبدال كلمة `var`. +You should replace the `var` keyword. ```js assert.notMatch(code, /var/g); ``` -`myConcat` يجب أن يكون متغير ثابت (باستخدام `const`). +`myConcat` should be a constant variable (by using `const`). ```js assert.match(code, /const\s+myConcat/g); ``` -يجب أن تكون `myConcat` وظيفة السهم (arrow function) مع وسيطين (parameters) +`myConcat` should be an arrow function with two parameters ```js assert( @@ -59,13 +59,13 @@ assert( ); ``` -`myConcat()` يجب أن يعيد `[1, 2, 3, 4, 5]`. +`myConcat()` should return `[1, 2, 3, 4, 5]`. ```js assert.deepEqual(myConcat([1, 2], [3, 4, 5]), [1, 2, 3, 4, 5]); ``` -لا ينبغي استخدام كلمة `function`. +The `function` keyword should not be used. ```js assert.notMatch(code, /function/g); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype.md index 806f88f68b..120acd331c 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/implement-the-filter-method-on-a-prototype.md @@ -8,15 +8,15 @@ dashedName: implement-the-filter-method-on-a-prototype # --description-- -قد تتعلم الكثير عن دالة `filter` إذا قمت بتنفيذ الإصدار الخاص بك منها. من المستحسن أن تستخدم حلقات `for` التكرارية أو `Array.prototype.forEach()`. +You might learn a lot about the `filter` method if you implement your own version of it. It is recommended you use a `for` loop or `Array.prototype.forEach()`. # --instructions-- -اكتب `Array.prototype.myFilter()`الخاص بك، والذي يجب أن يتصرف مثل `Array.prototype.filter()`. يجب ألا تستخدم دالة `filter` المدمجة. يمكن الوصول إلى مثيل (instance) `Array` في دالة `myFilter` باستخدام `this`. +Write your own `Array.prototype.myFilter()`, which should behave exactly like `Array.prototype.filter()`. You should not use the built-in `filter` method. The `Array` instance can be accessed in the `myFilter` method using `this`. # --hints-- -يجب أن يساوي `[23, 65, 98, 5, 13].myFilter(item => item % 2)` قيمة `[23, 65, 5, 13]`. +`[23, 65, 98, 5, 13].myFilter(item => item % 2)` should equal `[23, 65, 5, 13]`. ```js const _test_s = [23, 65, 98, 5, 13]; @@ -24,7 +24,7 @@ const _callback = item => item % 2; assert(JSON.stringify(_test_s.filter(_callback)) === JSON.stringify(_test_s.myFilter(_callback))); ``` -يجب أن ينتج `["naomi", "quincy", "camperbot"].myFilter(element => element === "naomi")` قائمة `["naomi"]`. +`["naomi", "quincy", "camperbot"].myFilter(element => element === "naomi")` should return `["naomi"]`. ```js const _test_s = ["naomi", "quincy", "camperbot"]; @@ -32,7 +32,7 @@ const _callback = element => element === "naomi"; assert(JSON.stringify(_test_s.filter(_callback)) === JSON.stringify(_test_s.myFilter(_callback))); ``` -يجب أن ينتج `[1, 1, 2, 5, 2].myFilter((element, index, array) => array.indexOf(element) === index)` قائمة `[1, 2, 5]`. +`[1, 1, 2, 5, 2].myFilter((element, index, array) => array.indexOf(element) === index)` should return `[1, 2, 5]`. ```js const _test_s = [1, 1, 2, 5, 2]; @@ -40,7 +40,7 @@ const _callback = (element, index, array) => array.indexOf(element) === index; assert(JSON.stringify(_test_s.filter(_callback)) === JSON.stringify(_test_s.myFilter(_callback))); ``` -يجب ألا يستخدم كودك الطريقة (method) المسمى `filter`. +Your code should not use the `filter` method. ```js assert(!__helpers.removeJSComments(code).match(/\.?[\s\S]*?filter/g)); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application.md index 8168680dc5..cdb646ad31 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/introduction-to-currying-and-partial-application.md @@ -8,11 +8,11 @@ dashedName: introduction-to-currying-and-partial-application # --description-- -arity الـ function هو عدد الـ arguments التي يتطلبها. Currying الـ function يعني تحويل function من N arity الي N functions of arity 1، اي عدد N من الـ functions التي تأخذ argument واحد. +The arity of a function is the number of arguments it requires. Currying a function means to convert a function of N arity into N functions of arity 1. -وبعبارة أخرى، فهي تعيد هيكلة الـ function بحيث يأخذ argument واحدة، ثم يعيد function أخر يأخذ الـ argument التالية، وهكذا. +In other words, it restructures a function so it takes one argument, then returns another function that takes the next argument, and so on. -إليك مثال: +Here's an example: ```js function unCurried(x, y) { @@ -30,16 +30,16 @@ const curried = x => y => x + y curried(1)(2) ``` -`curried(1)(2)` سيعيد `3`. +`curried(1)(2)` would return `3`. -هذا مفيد في لرنامجك إذا كنت لا تستطيع توفير جميع الـ arguments للـ function في وقت واحد. يمكنك حفظ كل استدعاء للـ function في متغير، والذي سيحتفظ بمرجع الـ function المرتجع الذي يأخذ الـ argument التالية عندما تكون متاحة. إليك مثال يستخدم الـ curried function في المثال أعلاه: +This is useful in your program if you can't supply all the arguments to a function at one time. You can save each function call into a variable, which will hold the returned function reference that takes the next argument when it's available. Here's an example using the curried function in the example above: ```js const funcForY = curried(1); console.log(funcForY(2)); // 3 ``` -وبالمثل، partial application يمكن وصفه بأنه تطبيق بعض الـ arguments على function في وقت واحد وإعادة function أخر يطبق على المزيد من الـ arguments. إليك مثال: +Similarly, partial application can be described as applying a few arguments to a function at a time and returning another function that is applied to more arguments. Here's an example: ```js function impartial(x, y, z) { @@ -52,29 +52,29 @@ partialFn(10); // 13 # --instructions-- -املأ نص الوظيفة (function) المسمى `add` بحيث تستخدم خاصية curry لإضافة الوسائط (parameters) المسمى `x`, و `y`, و `z`. +Fill in the body of the `add` function so it uses currying to add parameters `x`, `y`, and `z`. # --hints-- -`add(10)(20)(30)` يجب أن يرجع `60`. +`add(10)(20)(30)` should return `60`. ```js assert(add(10)(20)(30) === 60); ``` -`add(1)(2)(3)` يجب أن يرجع `6`. +`add(1)(2)(3)` should return `6`. ```js assert(add(1)(2)(3) === 6); ``` -`add(11)(22)(33)` يجب أن يرجع `66`. +`add(11)(22)(33)` should return `66`. ```js assert(add(11)(22)(33) === 66); ``` -يجب أن يتضمن الكود الخاص بك بيانا نهائيا يرجع `x + y + z`. +Your code should include a final statement that returns `x + y + z`. ```js assert(__helpers.removeJSComments(code).match(/[xyz]\s*?\+\s*?[xyz]\s*?\+\s*?[xyz]/g)); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming.md index cb50314acb..c96910a483 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/learn-about-functional-programming.md @@ -1,6 +1,6 @@ --- id: 587d7b8d367417b2b2512b5b -title: تعلم عن البرمجة الوظيفية (Functional) +title: Learn About Functional Programming challengeType: 1 forumTopicId: 301233 dashedName: learn-about-functional-programming @@ -8,31 +8,31 @@ dashedName: learn-about-functional-programming # --description-- -يكون البرمجة الوظيفية (Functional) أسلوب للبرمجة فيه الحلول من الوظائف (functions) بسيطة ومنعزلة، دون أي تأثيرات جانبية خارج نطاق الوظيفة: `INPUT -> PROCESS -> OUTPUT` +Functional programming is a style of programming where solutions are simple, isolated functions, without any side effects outside of the function scope: `INPUT -> PROCESS -> OUTPUT` -تتعلق البرمجة الوظيفية (Functional) بما يلي: +Functional programming is about: -1) وظائف منعزلة (Isolated functions) - لا تعتمد على حالة البرنامَج، الذي يشمل المتغيرات الشاملة (global) القابلة للتغيير +1) Isolated functions - there is no dependence on the state of the program, which includes global variables that are subject to change -2) الوظائف الخالصة (Pure functions) - نفس الإدخال يعطي دائمًا نفس الإخراج +2) Pure functions - the same input always gives the same output -(3) الوظائف (functions) ذات التأثيرات الجانبية المحدودة - أي تغييرات أو تحولات في حالة البرنامَج خارج الوظيفة (function) تخضع للتحكم الدقيق +3) Functions with limited side effects - any changes, or mutations, to the state of the program outside the function are carefully controlled # --instructions-- -يصادف أن أعضاء freeCodeCamp يحبون الشاي. +The members of freeCodeCamp happen to love tea. -في محرر الكود، تم تعريف وظيفتان (functions) تسمى `prepareTea` و `getTea` من أجلك فعلًا. أستدعي وظيفة `getTea` للحصول على 40 كوب من الشاي للفريق، وتخزينها في متغير `tea4TeamFCC`. +In the code editor, the `prepareTea` and `getTea` functions are already defined for you. Call the `getTea` function to get 40 cups of tea for the team, and store them in the `tea4TeamFCC` variable. # --hints-- -يجب أن يحتوي متغير `tea4TeamFCC` على 40 كوب من الشاي للفريق. +The `tea4TeamFCC` variable should hold 40 cups of tea for the team. ```js assert(tea4TeamFCC.length === 40); ``` -يجب أن يحتوي متغير `tea4TeamFCC` على أكواب الشاي الأخضر. +The `tea4TeamFCC` variable should hold cups of green tea. ```js assert(tea4TeamFCC[0] === 'greenTea'); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/use-the-filter-method-to-extract-data-from-an-array.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/use-the-filter-method-to-extract-data-from-an-array.md index 48e6c343e5..4e7bd57545 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/use-the-filter-method-to-extract-data-from-an-array.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/functional-programming/use-the-filter-method-to-extract-data-from-an-array.md @@ -1,6 +1,6 @@ --- id: 587d7b8f367417b2b2512b63 -title: استخدام دالة filter لاستخراج البيانات من مصفوفة (Use the filter Method to Extract Data from an Array) +title: Use the filter Method to Extract Data from an Array challengeType: 1 forumTopicId: 18179 dashedName: use-the-filter-method-to-extract-data-from-an-array @@ -8,13 +8,13 @@ dashedName: use-the-filter-method-to-extract-data-from-an-array # --description-- -Array function أخر مفيد هو `Array.prototype.filter()`أو ببساطة `filter()`. +Another useful array function is `Array.prototype.filter()`, or simply `filter()`. -تتفاعل وظيفة `filter` مع كل عنصر من عناصر القائمة (array) وتنشئ قائمة (array) جديدة تحتوي فقط على العناصر التي تتأكد الوظيفة أن قيمهم حقيقية - أي، ترجع حالة `true` إذا تم تمريرها إلى المنشئ (constructor) مسمى `Boolean()`. وبعبارة أخرى، تقوم بتصفية ال array، استنادا إلى ال function التي مررت إليها. مثل `map`، تقوم بذلك دون الحاجة إلى تعديل ال array الأصلية. +`filter` calls a function on each element of an array and returns a new array containing only the elements for which that function returns a truthy value - that is, a value which returns `true` if passed to the `Boolean()` constructor. In other words, it filters the array, based on the function passed to it. Like `map`, it does this without needing to modify the original array. -الـ callback function تقبل ثلاث arguments. وال argument الأولى هي العنصر الحالي الذي تجري معالجته. والثاني هو فهرس ذلك العنصر والثالث هو ال array التي تم على أساسها استدعاء `filter`. +The callback function accepts three arguments. The first argument is the current element being processed. The second is the index of that element and the third is the array upon which the `filter` method was called. -انظر أدناه للحصول على مثال باستخدام `filter` على `users` لإرجاع array جديدة تحتوي على المستخدمين دون سن 30 سنة فقط. ومن أجل البساطة، لا يستخدم المثال سوى ال argument الأولى للـ callback. +See below for an example using the `filter` method on the `users` array to return a new array containing only the users under the age of 30. For simplicity, the example only uses the first argument of the callback. ```js const users = [ @@ -27,15 +27,15 @@ const usersUnder30 = users.filter(user => user.age < 30); console.log(usersUnder30); ``` -ستعرض وحدة التحكم القيمة `[ { name: 'Amy', age: 20 }, { name: 'camperCat', age: 10 } ]`. +The console would display the value `[ { name: 'Amy', age: 20 }, { name: 'camperCat', age: 10 } ]`. # --instructions-- -يحتوي المتغير `watchList` على مجموعة من ال objects التي تحتوي على معلومات عن عدة أفلام. استخدام مزيج من `filter` و `map` على `watchList` لتعيين مجموعة جديدة من ال objects مع فقط keys الـ `title` و `rating`. يجب أن تتضمن ال array الجديدة فقط ال objects حيث `imdbRating` أكبر من أو يساوي 8.0. لاحظ أن قيم `rating` تم حفظها كـ strings في ال object وقد تحتاج إلى تحويلها إلى أرقام للقيام بعمليات رياضية عليها. +The variable `watchList` holds an array of objects with information on several movies. Use a combination of `filter` and `map` on `watchList` to assign a new array of objects with only `title` and `rating` keys. The new array should only include objects where `imdbRating` is greater than or equal to 8.0. Note that the `rating` values are saved as strings in the object and you may need to convert them into numbers to perform mathematical operations on them. # --hints-- -متغير `watchList` يجب ألا يتغير. +The `watchList` variable should not change. ```js assert( @@ -43,19 +43,19 @@ assert( ); ``` -يجب أن يستخدم الكود الخاص بك دالة `filter`. +Your code should use the `filter` method. ```js assert(__helpers.removeJSComments(code).match(/\s*\.\s*filter/g)); ``` -يجب ألا يستخدم الكود الخاص بك حلقة `for`. +Your code should not use a `for` loop. ```js assert(!__helpers.removeJSComments(code).match(/for\s*?\([\s\S]*?\)/g)); ``` -`filteredList` يجب أن يساوي `[{"title": "Inception", "rating": "8.8"}, {"title": "Interstellar", "rating": "8.6"}, {"title": "The Dark Knight", "rating": "9.0"}, {"title": "Batman Begins", "rating": "8.3"}]`. +`filteredList` should equal `[{"title": "Inception", "rating": "8.8"}, {"title": "Interstellar", "rating": "8.6"}, {"title": "The Dark Knight", "rating": "9.0"}, {"title": "Batman Begins", "rating": "8.3"}]`. ```js assert.deepEqual(filteredList, [ diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional.md index 81075c4f7f..e6589a94b9 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/arguments-optional.md @@ -8,23 +8,23 @@ dashedName: arguments-optional # --description-- -قم بإنشاء دالة تجمع وسيطين (arrguments) معًا. إذا تم توفير argument واحدة فقط ، فقم بإرجاع function تتوقع argument واحدة وتعيد المجموع. +Create a function that sums two arguments together. If only one argument is provided, then return a function that expects one argument and returns the sum. -على سبيل المثال ، `addTogether(2, 3)` يجب أن تعيد `5`، و `addTogether(2)` يجب أن تعيد function. +For example, `addTogether(2, 3)` should return `5`, and `addTogether(2)` should return a function. -استخدام هذه ال function المرتجعة مع argument واحدة سوف يعيد المجموع: +Calling this returned function with a single argument will then return the sum: ```js var sumTwoAnd = addTogether(2); ``` -`sumTwoAnd(3)` يرجع `5`. +`sumTwoAnd(3)` returns `5`. -إذا لم تكن أي من الوسيطتين (arguments) رقمًا صالحًا ، قم بارجع undefined. +If either argument isn't a valid number, return undefined. # --hints-- -`addTogether(2, 3)` يجب ان يعيد 5. +`addTogether(2, 3)` should return 5. ```js assert.deepEqual(addTogether(2, 3), 5); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person.md index 577b9d8074..760babf117 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/make-a-person.md @@ -1,6 +1,6 @@ --- id: a2f1d72d9b908d0bd72bb9f6 -title: اصنع شخصا (Make a Person) +title: Make a Person challengeType: 1 forumTopicId: 16020 dashedName: make-a-person @@ -8,7 +8,7 @@ dashedName: make-a-person # --description-- -املأ الـ object constructor بالـ methods التالية أدناه: +Fill in the object constructor with the following methods below: ```js getFirstName() @@ -19,7 +19,7 @@ setLastName(last) setFullName(first, last) ``` -قم بتشغيل الاختبارات لرؤية المخرجات المتوقعة لكل method. يجب أن تكون هذه الـ methods هي الوسيلة الوحيدة المتاحة للتفاعل مع الـ object. Each test will declare a new `Person` instance as `new Person('Bob', 'Ross')`. +Run the tests to see the expected output for each method. These methods must be the only available means of interacting with the object. Each test will declare a new `Person` instance as `new Person('Bob', 'Ross')`. # --hints-- diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/search-and-replace.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/search-and-replace.md index 095966de95..830352b5a1 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/search-and-replace.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/search-and-replace.md @@ -1,6 +1,6 @@ --- id: a0b5010f579e69b815e7c5d6 -title: البحث والاستبدال +title: Search and Replace challengeType: 1 forumTopicId: 16045 dashedName: search-and-replace @@ -8,19 +8,19 @@ dashedName: search-and-replace # --description-- -اجري بحث واستبدال علي الجملة باستخدام المعطيات (arguments) المقدمة وأنتج الجملة الجديدة. +Perform a search and replace on the sentence using the arguments provided and return the new sentence. -إن المعطى الأولى جملة التي سيجري البحث والاستبدال عليها. +First argument is the sentence to perform the search and replace on. -إن المعطى الثانية كلمة التي استبدلتها (سابقا). +Second argument is the word that you will be replacing (before). -أما المعطى الثالث ما سيحل محل المعطى الثاني (سلفا). +Third argument is what you will be replacing the second argument with (after). -**ملاحظة:** احتفظ بحالة الحرف الأول في الكلمة الأصلية عند استبدالها. على سبيل المثال إذا كنت تقصد استبدال كلمة `Book` بكلمة `dog`، ينبغي استبدالها كـ `Dog` +**Note:** Preserve the case of the first character in the original word when you are replacing it. For example if you mean to replace the word `Book` with the word `dog`, it should be replaced as `Dog` # --hints-- -`myReplace("Let us go to the store", "store", "mall")` يجب أن يعيد المقطع النصي `Let us go to the mall`. +`myReplace("Let us go to the store", "store", "mall")` should return the string `Let us go to the mall`. ```js assert.deepEqual( @@ -29,7 +29,7 @@ assert.deepEqual( ); ``` -`myReplace("He is Sleeping on the couch", "Sleeping", "sitting")` يجب أن يعيد المقطع النصي `He is Sitting on the couch`. +`myReplace("He is Sleeping on the couch", "Sleeping", "sitting")` should return the string `He is Sitting on the couch`. ```js assert.deepEqual( @@ -38,7 +38,7 @@ assert.deepEqual( ); ``` -`myReplace("I think we should look up there", "up", "Down")` يجب أن يعيد المقطع النصي `I think we should look down there`. +`myReplace("I think we should look up there", "up", "Down")` should return the string `I think we should look down there`. ```js assert.deepEqual( @@ -47,7 +47,7 @@ assert.deepEqual( ); ``` -`myReplace("This has a spellngi error", "spellngi", "spelling")` يجب أن يعيد المقطع النصي `This has a spelling error`. +`myReplace("This has a spellngi error", "spellngi", "spelling")` should return the string `This has a spelling error`. ```js assert.deepEqual( @@ -56,7 +56,7 @@ assert.deepEqual( ); ``` -`myReplace("His name is Tom", "Tom", "john")` يجب أن يعيد المقطع النصي `His name is John`. +`myReplace("His name is Tom", "Tom", "john")` should return the string `His name is John`. ```js assert.deepEqual( @@ -65,7 +65,7 @@ assert.deepEqual( ); ``` -`myReplace("Let us get back to more Coding", "Coding", "algorithms")` يجب أن يعيد السلسلة النصية `Let us get back to more Algorithms`. +`myReplace("Let us get back to more Coding", "Coding", "algorithms")` should return the string `Let us get back to more Algorithms`. ```js assert.deepEqual( diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union.md index 2fcefeaed8..5c6c5114a8 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sorted-union.md @@ -1,6 +1,6 @@ --- id: a105e963526e7de52b219be9 -title: اتحاد مرتب (Sorted Union) +title: Sorted Union challengeType: 1 forumTopicId: 16077 dashedName: sorted-union @@ -8,29 +8,29 @@ dashedName: sorted-union # --description-- -أكتب وظيفة (function) تأخذ قائمتين أو أكثر وتنتج مجموعة جديدة من القيم الفريدة حسب ترتيب القوائم (arrays) الأصلية المقدمة. +Write a function that takes two or more arrays and returns a new array of unique values in the order of the original provided arrays. -بعبارة أخرى، ينبغي إدراج جميع القيم الموجودة من جميع القوائم (arrays) بترتيبها الأصلي، ولكن دون تكرار لها في القائمة (array) النهائية. +In other words, all values present from all arrays should be included in their original order, but with no duplicates in the final array. -ينبغي فرز الأرقام الفريدة حسب الترتيب الأصلي، ولكن لا ينبغي فرز القائمة (array) النهائية بالترتيب العددي. +The unique numbers should be sorted by their original order, but the final array should not be sorted in numerical order. -تحقق إن اختبارات التأكيد من الأمثلة. +Check the assertion tests for examples. # --hints-- -`uniteUnique([1, 3, 2], [5, 2, 1, 4], [2, 1])` يجب أن يرجع `[1, 3, 2, 5, 4]`. +`uniteUnique([1, 3, 2], [5, 2, 1, 4], [2, 1])` should return `[1, 3, 2, 5, 4]`. ```js assert.deepEqual(uniteUnique([1, 3, 2], [5, 2, 1, 4], [2, 1]), [1, 3, 2, 5, 4]); ``` -`uniteUnique([1, 2, 3], [5, 2, 1])` يجب أن يرجع `[1, 2, 3, 5]`. +`uniteUnique([1, 2, 3], [5, 2, 1])` should return `[1, 2, 3, 5]`. ```js assert.deepEqual(uniteUnique([1, 2, 3], [5, 2, 1]), [1, 2, 3, 5]); ``` -`uniteUnique([1, 2, 3], [5, 2, 1, 4], [2, 1], [6, 7, 8])` يجب أن يرجع `[1, 2, 3, 5, 4, 6, 7, 8]`. +`uniteUnique([1, 2, 3], [5, 2, 1, 4], [2, 1], [6, 7, 8])` should return `[1, 2, 3, 5, 4, 6, 7, 8]`. ```js assert.deepEqual(uniteUnique([1, 2, 3], [5, 2, 1, 4], [2, 1], [6, 7, 8]), [ @@ -45,13 +45,13 @@ assert.deepEqual(uniteUnique([1, 2, 3], [5, 2, 1, 4], [2, 1], [6, 7, 8]), [ ]); ``` -`uniteUnique([1, 3, 2], [5, 4], [5, 6])` يجب أن يرجع `[1, 3, 2, 5, 4, 6]`. +`uniteUnique([1, 3, 2], [5, 4], [5, 6])` should return `[1, 3, 2, 5, 4, 6]`. ```js assert.deepEqual(uniteUnique([1, 3, 2], [5, 4], [5, 6]), [1, 3, 2, 5, 4, 6]); ``` -`uniteUnique([1, 3, 2, 3], [5, 2, 1, 4], [2, 1])` يجب أن يرجع `[1, 3, 2, 5, 4]`. +`uniteUnique([1, 3, 2, 3], [5, 2, 1, 4], [2, 1])` should return `[1, 3, 2, 5, 4]`. ```js assert.deepEqual(uniteUnique([1, 3, 2, 3], [5, 2, 1, 4], [2, 1]), [1, 3, 2, 5, 4]); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range.md index 4e6a89ee78..c405004580 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/intermediate-algorithm-scripting/sum-all-numbers-in-a-range.md @@ -1,6 +1,6 @@ --- id: a3566b1109230028080c9345 -title: جمع كل الأعداد في نطاق معين (Sum All Numbers in a Range) +title: Sum All Numbers in a Range challengeType: 1 forumTopicId: 16083 dashedName: sum-all-numbers-in-a-range @@ -8,37 +8,37 @@ dashedName: sum-all-numbers-in-a-range # --description-- -سنقوم بتمرير مصفوفة من رقمين. قم بإرجاع مجموع هذين الرقمين بالإضافة إلى مجموع جميع الأرقام بينهما. لن يأتي أقل رقم دائماً أولاً. +We'll pass you an array of two numbers. Return the sum of those two numbers plus the sum of all the numbers between them. The lowest number will not always come first. -على سبيل المثال، `sumAll([4,1])` يجب أن يرجع `10` لأن مجموع جميع الأرقام بين 1 و 4 (وكلاهما شامل) هو `10`. +For example, `sumAll([4,1])` should return `10` because sum of all the numbers between 1 and 4 (both inclusive) is `10`. # --hints-- -`sumAll([1, 4])` يجب أن يرجع رقم. +`sumAll([1, 4])` should return a number. ```js assert(typeof sumAll([1, 4]) === 'number'); ``` -`sumAll([1, 4])` يجب أن يرجع 10. +`sumAll([1, 4])` should return 10. ```js assert.deepEqual(sumAll([1, 4]), 10); ``` -`sumAll([4, 1])` يجب أن يرجع 10. +`sumAll([4, 1])` should return 10. ```js assert.deepEqual(sumAll([4, 1]), 10); ``` -`sumAll([5, 10])` يجب أن يرجع 45. +`sumAll([5, 10])` should return 45. ```js assert.deepEqual(sumAll([5, 10]), 45); ``` -`sumAll([10, 5])` يجب أن يرجع 45. +`sumAll([10, 5])` should return 45. ```js assert.deepEqual(sumAll([10, 5]), 45); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter.md index 425b47c65b..a771018e18 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/javascript-algorithms-and-data-structures-projects/roman-numeral-converter.md @@ -1,6 +1,6 @@ --- id: a7f4d8f2483413a6ce226cac -title: محول للأرقام الرومانية +title: Roman Numeral Converter challengeType: 5 forumTopicId: 16044 dashedName: roman-numeral-converter @@ -8,7 +8,7 @@ dashedName: roman-numeral-converter # --description-- -تحويل الرقم المعطى إلى رقم روماني. +Convert the given number into a roman numeral. | Roman numerals | Arabic numerals | | -------------- | --------------- | @@ -26,161 +26,161 @@ dashedName: roman-numeral-converter | IV | 4 | | I | 1 | -وينبغي أن تقدم جميع الإجابات أرقام الرومانية في الحالة العليا. +All roman numerals answers should be provided in upper-case. # --hints-- -`convertToRoman(2)` يجب أن يعيد السلسلة `II`. +`convertToRoman(2)` should return the string `II`. ```js assert.deepEqual(convertToRoman(2), 'II'); ``` -`convertToRoman(3)` يجب أن يعيد السلسلة `III`. +`convertToRoman(3)` should return the string `III`. ```js assert.deepEqual(convertToRoman(3), 'III'); ``` -`convertToRoman(4)` يجب أن يعيد السلسلة `IV`. +`convertToRoman(4)` should return the string `IV`. ```js assert.deepEqual(convertToRoman(4), 'IV'); ``` -`convertToRoman(5)` يجب أن يعيد السلسلة `V`. +`convertToRoman(5)` should return the string `V`. ```js assert.deepEqual(convertToRoman(5), 'V'); ``` -`convertToRoman(9)` يجب أن يعيد السلسلة `IX`. +`convertToRoman(9)` should return the string `IX`. ```js assert.deepEqual(convertToRoman(9), 'IX'); ``` -`convertToRoman(12)` يجب أن يعيد السلسلة `XII`. +`convertToRoman(12)` should return the string `XII`. ```js assert.deepEqual(convertToRoman(12), 'XII'); ``` -`convertToRoman(16)` يجب أن يعيد السلسلة `XVI`. +`convertToRoman(16)` should return the string `XVI`. ```js assert.deepEqual(convertToRoman(16), 'XVI'); ``` -`convertToRoman(29)` يجب أن يعيد السلسلة `XXIX`. +`convertToRoman(29)` should return the string `XXIX`. ```js assert.deepEqual(convertToRoman(29), 'XXIX'); ``` -`convertToRoman(44)` يجب أن يعيد السلسلة `XLIV`. +`convertToRoman(44)` should return the string `XLIV`. ```js assert.deepEqual(convertToRoman(44), 'XLIV'); ``` -`convertToRoman(45)` يجب أن يعيد السلسلة `XLV`. +`convertToRoman(45)` should return the string `XLV`. ```js assert.deepEqual(convertToRoman(45), 'XLV'); ``` -`convertToRoman(68)` يجب أن يعيد السلسلة `LXVIII` +`convertToRoman(68)` should return the string `LXVIII` ```js assert.deepEqual(convertToRoman(68), 'LXVIII'); ``` -`convertToRoman(83)` يجب أن يعيد السلسلة `LXXXIII` +`convertToRoman(83)` should return the string `LXXXIII` ```js assert.deepEqual(convertToRoman(83), 'LXXXIII'); ``` -`convertToRoman(97)` يجب أن يعيد السلسلة `XCVII` +`convertToRoman(97)` should return the string `XCVII` ```js assert.deepEqual(convertToRoman(97), 'XCVII'); ``` -`convertToRoman(99)` يجب أن يعيد السلسلة `XCIX` +`convertToRoman(99)` should return the string `XCIX` ```js assert.deepEqual(convertToRoman(99), 'XCIX'); ``` -`convertToRoman(400)` يجب أن يعيد السلسلة `CD` +`convertToRoman(400)` should return the string `CD` ```js assert.deepEqual(convertToRoman(400), 'CD'); ``` -`convertToRoman(500)` يجب أن يعيد السلسلة `D` +`convertToRoman(500)` should return the string `D` ```js assert.deepEqual(convertToRoman(500), 'D'); ``` -`convertToRoman(501)` يجب أن يعيد السلسلة `DI` +`convertToRoman(501)` should return the string `DI` ```js assert.deepEqual(convertToRoman(501), 'DI'); ``` -`convertToRoman(649)` يجب أن يعيد السلسلة `DCXLIX` +`convertToRoman(649)` should return the string `DCXLIX` ```js assert.deepEqual(convertToRoman(649), 'DCXLIX'); ``` -`convertToRoman(798)` يجب أن يعيد السلسلة `DCCXCVIII` +`convertToRoman(798)` should return the string `DCCXCVIII` ```js assert.deepEqual(convertToRoman(798), 'DCCXCVIII'); ``` -`convertToRoman(891)` يجب أن يعيد السلسلة `DCCCXCI` +`convertToRoman(891)` should return the string `DCCCXCI` ```js assert.deepEqual(convertToRoman(891), 'DCCCXCI'); ``` -`convertToRoman(1000)` يجب أن يعيد السلسلة `M` +`convertToRoman(1000)` should return the string `M` ```js assert.deepEqual(convertToRoman(1000), 'M'); ``` -`convertToRoman(1004)` يجب أن يعيد السلسلة `MIV` +`convertToRoman(1004)` should return the string `MIV` ```js assert.deepEqual(convertToRoman(1004), 'MIV'); ``` -`convertToRoman(1006)` يجب أن يعيد السلسلة `MVI` +`convertToRoman(1006)` should return the string `MVI` ```js assert.deepEqual(convertToRoman(1006), 'MVI'); ``` -`convertToRoman(1023)` يجب أن يعيد السلسلة `MXXIII` +`convertToRoman(1023)` should return the string `MXXIII` ```js assert.deepEqual(convertToRoman(1023), 'MXXIII'); ``` -`convertToRoman(2014)` يجب أن يعيد السلسلة `MMXIV` +`convertToRoman(2014)` should return the string `MMXIV` ```js assert.deepEqual(convertToRoman(2014), 'MMXIV'); ``` -`convertToRoman(3999)` يجب أن يعيد السلسلة `MMMCMXCIX` +`convertToRoman(3999)` should return the string `MMMCMXCIX` ```js assert.deepEqual(convertToRoman(3999), 'MMMCMXCIX'); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-prototype-chain.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-prototype-chain.md index dd81952921..7cca4c8aa9 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-prototype-chain.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/understand-the-prototype-chain.md @@ -8,7 +8,7 @@ dashedName: understand-the-prototype-chain # --description-- -جميع ال objects في جافا سكريبت (مع بعض الاستثناءات) لديها `prototype`. أيضًا ، يعتبر الـ `prototype` لل object هو نفسه object. +All objects in JavaScript (with a few exceptions) have a `prototype`. Also, an object’s `prototype` itself is an object. ```js function Bird(name) { @@ -18,28 +18,28 @@ function Bird(name) { typeof Bird.prototype; ``` -لأن `prototype` هو object، فـ `prototype` يمكن أن يكون له الـ `prototype` الخاص به! في هذه الحالة، الـ `prototype` لـ `Bird.prototype` هو `Object.prototype`: +Because a `prototype` is an object, a `prototype` can have its own `prototype`! In this case, the `prototype` of `Bird.prototype` is `Object.prototype`: ```js Object.prototype.isPrototypeOf(Bird.prototype); ``` -كيف يكون ذلك مفيداً؟ قد تتذكر `hasOwnProperty` من تحدي سابق: +How is this useful? You may recall the `hasOwnProperty` method from a previous challenge: ```js let duck = new Bird("Donald"); duck.hasOwnProperty("name"); ``` -تم تعريف `hasOwnProperty` في `Object.prototype`، والتي يمكن الوصول إليها بواسطة `Bird.prototype` والذي يمكن الوصول إليه من قبل `duck`. هذا مثال على سلسلة الـ `prototype`. في سلسلة `prototype` هذه، `Bird` هو `supertype` لـ `duck`، بينما `duck` هو الـ `subtype`. `Object` هو `supertype` لكلا من `Bird` و `duck`. `Object` هو `supertype` لجميع ال objects في جافا سكريبت. لذلك، يمكن لأي object أن يستخدم `hasOwnProperty`. +The `hasOwnProperty` method is defined in `Object.prototype`, which can be accessed by `Bird.prototype`, which can then be accessed by `duck`. This is an example of the `prototype` chain. In this `prototype` chain, `Bird` is the `supertype` for `duck`, while `duck` is the `subtype`. `Object` is a `supertype` for both `Bird` and `duck`. `Object` is a `supertype` for all objects in JavaScript. Therefore, any object can use the `hasOwnProperty` method. # --instructions-- -قم بتعديل الكود لإظهار سلسلة ال prototype الصحيحة. +Modify the code to show the correct prototype chain. # --hints-- -يجب أن يظهر الكود الخاص بك أن `Object.prototype` هو ال prototype لـ `Dog.prototype` +Your code should show that `Object.prototype` is the prototype of `Dog.prototype` ```js assert(/Object\.prototype\.isPrototypeOf/.test(__helpers.removeJSComments(code))); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-prototype-properties-to-reduce-duplicate-code.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-prototype-properties-to-reduce-duplicate-code.md index 901ca5d06c..99a1f8a80c 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-prototype-properties-to-reduce-duplicate-code.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/object-oriented-programming/use-prototype-properties-to-reduce-duplicate-code.md @@ -8,44 +8,44 @@ dashedName: use-prototype-properties-to-reduce-duplicate-code # --description-- -نظرًا لأن `numLegs` سيكون لها نفس القيمة لجميع مثيلات `Bird`، لديك أساسا متغير مكرر `numLegs` داخل كل مثيل `Bird`. +Since `numLegs` will probably have the same value for all instances of `Bird`, you essentially have a duplicated variable `numLegs` inside each `Bird` instance. -وقد لا تكون هذه مشكلة عندما لا تكون هناك سوى حالتين، ولكن تخيل، إذا كانت هناك ملايين الحالات. سيكون ذلك الكثير من المتغيرات المتكررة. +This may not be an issue when there are only two instances, but imagine if there are millions of instances. That would be a lot of duplicated variables. -طريقة أفضل هي استخدام `prototype` الـ `Bird`. تتم مشاركة الخصائص في الـ `prototype` بين جميع مثيلات `Bird`. إليك كيفية إضافة `numLegs` إلى `Bird prototype`: +A better way is to use the `prototype` of `Bird`. Properties in the `prototype` are shared among ALL instances of `Bird`. Here's how to add `numLegs` to the `Bird prototype`: ```js Bird.prototype.numLegs = 2; ``` -الآن جميع مثيلات `Bird` لديها خاصية `numLegs`. +Now all instances of `Bird` have the `numLegs` property. ```js console.log(duck.numLegs); console.log(canary.numLegs); ``` -بما أن جميع ال instances تحتوي تلقائياً على الخصائص في الـ `prototype`، فكر في `prototype` كـ "وصفة" لإنشاء الـ objects. لاحظ أن الـ `prototype` لـ `duck` و `canary` هو جزء من constructor الـ`Bird` كـ `Bird.prototype`. +Since all instances automatically have the properties on the `prototype`, think of a `prototype` as a "recipe" for creating objects. Note that the `prototype` for `duck` and `canary` is part of the `Bird` constructor as `Bird.prototype`. # --instructions-- -قم بإضافة خاصية `numLegs` إلى `prototype` الـ `Dog` +Add a `numLegs` property to the `prototype` of `Dog` # --hints-- -`beagle` يجب أن يكون لديه خاصية `numLegs`. +`beagle` should have a `numLegs` property. ```js assert(beagle.numLegs !== undefined); ``` -`beagle.numLegs` يجب أن يكون رقما. +`beagle.numLegs` should be a number. ```js assert(typeof beagle.numLegs === 'number'); ``` -`numLegs` يجب أن تكون خاصية `prototype` ليست خاصية خاصة (own property). +`numLegs` should be a `prototype` property not an own property. ```js assert(beagle.hasOwnProperty('numLegs') === false); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/find-characters-with-lazy-matching.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/find-characters-with-lazy-matching.md index db9f849d4a..de47edbd71 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/find-characters-with-lazy-matching.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/find-characters-with-lazy-matching.md @@ -8,35 +8,35 @@ dashedName: find-characters-with-lazy-matching # --description-- -في الـ regular expressions ، تعثر المطابقة من نوع greedy على أطول جزء ممكن من الـ string الذي يلائم نمط الـ regex، وترجعه كمطابق. البديل يسمى مطابقة من نوع lazy والتي تجد أصغر جزء ممكن من الـ string الذي يستوفي نمط الـ regex. +In regular expressions, a greedy match finds the longest possible part of a string that fits the regex pattern and returns it as a match. The alternative is called a lazy match, which finds the smallest possible part of the string that satisfies the regex pattern. -يمكنك تطبيق الـ regex الآتي `/t[a-z]*i/` على السلسلة `"titanic"`. الـ regex هذا هو في الأساس نمط يبدأ بـ `t`، وينتهي بـ `i`، ولديه بعض الحروف بينهما. +You can apply the regex `/t[a-z]*i/` to the string `"titanic"`. This regex is basically a pattern that starts with `t`, ends with `i`, and has some letters in between. -الـ Regular expressions هي greedy بشكل افتراضي، لذا فإن المطابقة ستعيد `["titani"]`. وهي تجد أكبر سلسلة فرعية (sub-string) ممكنة لتتناسب مع النمط. +Regular expressions are by default greedy, so the match would return `["titani"]`. It finds the largest sub-string possible to fit the pattern. -ومع ذلك، يمكنك استخدام رمز `?` لتغييره إلى تطابق lazy. مطابقة `"titanic"` للـ regex المعدل `/t[a-z]*?i/` يعيد `["ti"]`. +However, you can use the `?` character to change it to lazy matching. `"titanic"` matched against the adjusted regex of `/t[a-z]*?i/` returns `["ti"]`. -**ملاحظة:** يجب تجنب تحليل HTML باستخدام الـ regular expressions، ولكن لا بأس من مطابقة نمط لـ HTML string مع الـ regular expressions. +**Note:** Parsing HTML with regular expressions should be avoided, but pattern matching an HTML string with regular expressions is completely fine. # --instructions-- -قم بإصلاح `/<.*>/` لإرجاع الـ HTML tag الآتي `

` وليس النص `"

Winter is coming

"`. تذكر ان الرمز `.` في الـ regular expression، يطابق أي حرف. +Fix the regex `/<.*>/` to return the HTML tag `

` and not the text `"

Winter is coming

"`. Remember the wildcard `.` in a regular expression matches any character. # --hints-- -متغير `result` يجب أن يكون array مع `

` بداخله +The `result` variable should be an array with `

` in it ```js assert(result[0] == '

'); ``` -`myRegex` يجب أن يستخدم المطابقة الـ lazy +`myRegex` should use lazy matching ```js assert(/[^\\][\*\+\?]\?/.test(myRegex)); ``` -`myRegex` لا يجب أن يتضمن السلسلة `h1` +`myRegex` should not include the string `h1` ```js assert(!myRegex.source.match('h1')); diff --git a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers.md b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers.md index d1950508d8..716adc5104 100644 --- a/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers.md +++ b/curriculum/challenges/arabic/02-javascript-algorithms-and-data-structures/regular-expressions/match-all-letters-and-numbers.md @@ -1,6 +1,6 @@ --- id: 587d7db7367417b2b2512b9f -title: مطابقة جميع الحروف والأرقام (Match All Letters and Numbers) +title: Match All Letters and Numbers challengeType: 1 forumTopicId: 301346 dashedName: match-all-letters-and-numbers @@ -8,9 +8,9 @@ dashedName: match-all-letters-and-numbers # --description-- -باستخدام character classes ، كنت قادرا على البحث عن جميع الأحرف الأبجدية مع `[a-z]`. هذا النوع منcharacter class شائع بما فيه الكفاية بحيث يكون هناك اختصار له، على الرغم من أنه يتضمن بعض الأحرف الإضافية أيضا. +Using character classes, you were able to search for all letters of the alphabet with `[a-z]`. This kind of character class is common enough that there is a shortcut for it, although it includes a few extra characters as well. -أقرب حرف في جافا سكريبت لمطابقة الأبجدية هو `\w`. هذا الاختصار يعادل `[A-Za-z0-9_]`. Character class هذه تتطابق مع الأحرف الكبيرة والاحرف الصغيرة بالإضافة إلى الأرقام. ملاحظة، تشمل character class هذه أيضا رمز الـ underscore (`_`). +The closest character class in JavaScript to match the alphabet is `\w`. This shortcut is equal to `[A-Za-z0-9_]`. This character class matches upper and lowercase letters plus numbers. Note, this character class also includes the underscore character (`_`). ```js let longHand = /[A-Za-z0-9_]+/; @@ -23,29 +23,29 @@ longHand.test(varNames); shortHand.test(varNames); ``` -جميع هذه الاستدعائات `test` الأربعة سترجع `true`. +All four of these `test` calls would return `true`. -Character classes هذه معروفة أيضًا باسم shorthand character classes. +These shortcut character classes are also known as shorthand character classes. # --instructions-- -استخدم shorthand character class الآتي `\w` لحساب عدد الأحرف الأبجدية والارقام في مختلف الاقتباسات والـ strings. +Use the shorthand character class `\w` to count the number of alphanumeric characters in various quotes and strings. # --hints-- -يجب أن يستخدم regex الخاص بك الـ global flag. +Your regex should use the global flag. ```js assert(alphabetRegexV2.global); ``` -يجب أن يستخدم regex الخاص بك الرمز `\w` لمطابقة جميع الحروف الابجدية و الارقام. +Your regex should use the shorthand character `\w` to match all characters which are alphanumeric. ```js assert(/\\w/.test(alphabetRegexV2.source)); ``` -يجب أن يجد الـ regex الخاص بك 31 رمزا أبجديًا او رقميًا في الـ string الآتي `The five boxing wizards jump quickly.` +Your regex should find 31 alphanumeric characters in the string `The five boxing wizards jump quickly.` ```js assert( @@ -53,7 +53,7 @@ assert( ); ``` -يجب أن يجد الـ regex الخاص بك 32 رمزا أبجديًا او رقميًا في الـ string الآتي `Pack my box with five dozen liquor jugs.` +Your regex should find 32 alphanumeric characters in the string `Pack my box with five dozen liquor jugs.` ```js assert( @@ -62,7 +62,7 @@ assert( ); ``` -يجب أن يجد الـ regex الخاص بك 30 رمزا أبجديًا او رقميًا في الـ string الآتي `How vexingly quick daft zebras jump!` +Your regex should find 30 alphanumeric characters in the string `How vexingly quick daft zebras jump!` ```js assert( @@ -70,7 +70,7 @@ assert( ); ``` -يجب أن يجد الـ regex الخاص بك 36 رمزا أبجديًا او رقميًا في الـ string الآتي `123 456 7890 ABC def GHI jkl MNO pqr STU vwx YZ.` +Your regex should find 36 alphanumeric characters in the string `123 456 7890 ABC def GHI jkl MNO pqr STU vwx YZ.` ```js assert( diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-bootstrap-row.md b/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-bootstrap-row.md index 00b9c3f4b6..000364f5e1 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-bootstrap-row.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-bootstrap-row.md @@ -1,6 +1,6 @@ --- id: bad87fee1348bd9bec908846 -title: إنشاء Row بأسلوب Bootstrap +title: Create a Bootstrap Row challengeType: 0 forumTopicId: 16813 dashedName: create-a-bootstrap-row @@ -8,13 +8,13 @@ dashedName: create-a-bootstrap-row # --description-- -الآن ستنشئ صف Bootstrap لعناصرك المضمنة (inline). +Now we'll create a Bootstrap row for our inline elements. -إنشاء عنصر `div` أسفل العلامة `h3` مع فئة `row`. +Create a `div` element below the `h3` tag, with a class of `row`. # --hints-- -يجب عليك إضافة عنصر `div` تحت عنصر `h3` الخاص بك. +You should add a `div` element below your `h3` element. ```js assert.lengthOf(document.querySelectorAll('div'),2); @@ -23,20 +23,20 @@ assert.lengthOf(document.querySelectorAll('div.row + h3.text-primary'),0) assert.lengthOf(document.querySelectorAll('h3.text-primary + div.row'),1); ``` -يجب يحتوي عنصر `div` على فئة `row` +Your `div` element should have the class `row` ```js const newDiv = document.querySelectorAll('div')?.[1]; assert.isTrue(newDiv?.classList?.contains('row')); ``` -يجب أدخال `row div` في `container-fluid div` +Your `row div` should be nested inside the `container-fluid div` ```js assert.lengthOf(document.querySelectorAll('div.container-fluid div.row'),1); ``` -يجب أن يحتوى عنصر `div` على علامة إغلاق. +Your `div` element should have a closing tag. ```js assert.match(code,/<\/div>/g); diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-custom-heading.md b/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-custom-heading.md index e0e116abde..de299946c3 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-custom-heading.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/create-a-custom-heading.md @@ -1,6 +1,6 @@ --- id: bad87fee1348bd9aede08845 -title: إنشاء Heading مخصص +title: Create a Custom Heading challengeType: 0 forumTopicId: 16816 dashedName: create-a-custom-heading @@ -8,17 +8,17 @@ dashedName: create-a-custom-heading # --description-- -صنع عنوان بسيط لتطبيق Cat Photo App عن طريق وضع العنوان وإرخاء صورة القطط في الصف نفسه. +We will make a simple heading for our Cat Photo App by putting the title and relaxing cat image in the same row. -تذكر، Bootstrap يستخدم نظام شبكة مستجيبة (responsive grid)، مما يجعل من السهل وضع العناصر في صفوف وتحديد العرض النسبي لكل عنصر. يمكن تطبيق معظم فئات Bootstrap على عنصر `div`. +Remember, Bootstrap uses a responsive grid system, which makes it easy to put elements into rows and specify each element's relative width. Most of Bootstrap's classes can be applied to a `div` element. -أدخل صورتك الأولى و عنصر `h2` الخاص بك ضمن عنصر واحد `
`. أدخل عنصر `h2` الخاص بك داخل `
` وصورتك في `
` بحيث تكون على نفس الخط. +Nest your first image and your `h2` element within a single `
` element. Nest your `h2` element within a `
` and your image in a `
` so that they are on the same line. -لاحظ كيف أن حجم الصورة يتناسب مع النص بشكل صحيح الآن؟ +Notice how the image is now just the right size to fit along the text? # --hints-- -عنصر `h2` الخاص بك و أعلى `img` يجب أن يتداخل مع عنصر `div` مع `row`. +Your `h2` element and topmost `img` element should both be nested together within a `div` element with the class `row`. ```js const row = document.querySelector('div.row'); @@ -28,7 +28,7 @@ assert.lengthOf(h2,1); assert.lengthOf(image ,1); ``` -يجب أدخال أعلى عنصر `img` الخاصة بك في `div` مع فئة يسمي `col-xs-4`. +Your topmost `img` element should be nested within a `div` with the class `col-xs-4`. ```js const column = document.querySelector('div.col-xs-4'); @@ -38,7 +38,7 @@ assert.isEmpty(div); assert.lengthOf(img,1) ``` -يجب أدخال عنصر `h2` الخاصة بك في `div` مع فئة يسمي `col-xs-8`. +Your `h2` element should be nested within a `div` with the class `col-xs-8`. ```js const column = document.querySelector('div.col-xs-8'); @@ -49,7 +49,7 @@ assert.isEmpty(div); assert.lengthOf(h2, 1); ``` -لا بد أن يوجد وسم إغلاق لكل عناصر `div`. +All of your `div` elements should have closing tags. ```js assert.match(code,/<\/div>/g); diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/ditch-custom-css-for-bootstrap.md b/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/ditch-custom-css-for-bootstrap.md index 91dc399d61..b1c19c7cd9 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/ditch-custom-css-for-bootstrap.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/ditch-custom-css-for-bootstrap.md @@ -1,6 +1,6 @@ --- id: bad87fee1347bd9aedf08845 -title: حذف مخصص CSS في Bootstrap +title: Ditch Custom CSS for Bootstrap challengeType: 0 forumTopicId: 17565 dashedName: ditch-custom-css-for-bootstrap @@ -8,31 +8,31 @@ dashedName: ditch-custom-css-for-bootstrap # --description-- -يمكننا تنظيف تعليماتنا البرمجية وجعل Cat Photo App أكثر تقليدية باستخدام الأنماط المدمجة في Bootstrap، بدلاً من الأنماط المخصصة التي أنشأناها سابقاً. +We can clean up our code and make our Cat Photo App look more conventional by using Bootstrap's built-in styles instead of the custom styles we created earlier. -لا تقلق - سيكون هناك الكثير من الوقت لتخصيص CSS في وقت لاحق. +Don't worry - there will be plenty of time to customize our CSS later. -حذف `.red-text` و`p` و`.smaller-image` تعريفات CSS من عنصر `style` بحيث تكون تعريغات الوحيدة المتبقية داخل عنصر `style` هي `h2` و `thick-green-border`. +Delete the `.red-text`, `p`, and `.smaller-image` CSS declarations from your `style` element so that the only declarations left in your `style` element are `h2` and `thick-green-border`. -ثم قم بحذف عنصر `p` الذي يحتوي على رابط زائد. ثم إزال فئة `red-text` من عنصر `h2` الخاص بك واستبداله بفئة Bootstrap باسم `text-primary`. +Then delete the `p` element that contains a dead link. Then remove the `red-text` class from your `h2` element and replace it with the `text-primary` Bootstrap class. -أخيراً، إزال فئة `smaller-image` في أول العنصر `img` الخاص بك واستبداله بفئة `img-responsive` الخاص بك. +Finally, remove the `smaller-image` class from your first `img` element and replace it with the `img-responsive` class. # --hints-- -عُنصر `h2` يجب ألّا يحتوي على فئة باسم `red-text`. +Your `h2` element should no longer have the class `red-text`. ```js assert.isFalse(document.querySelector('h2')?.classList?.contains('red-text')); ``` -عُنصر `h2` يجب يحتوي فئة باسم `text-primary` حالياً. +Your `h2` element should now have the class `text-primary`. ```js assert.isTrue(document.querySelector('h2')?.classList?.contains('text-primary')); ``` -عناصر الفِقْرة الخاصة بك يجب ألّا يستخدم خط `Monospace`. +Your paragraph elements should no longer use the font `Monospace`. ```js const paragraphElement = document.querySelector('p'); @@ -40,13 +40,13 @@ const paragraphFontFamily = window.getComputedStyle(paragraphElement)["font-fami assert.notMatch(paragraphFontFamily,/monospace/i); ``` -يجب إزالة فئة `smaller-image` من أعلى صورتك. +The `smaller-image` class should be removed from your top image. ```js assert.isFalse(document.querySelector('img')?.classList?.contains('smaller-image')); ``` -يجب عليك إضافة فئة `img-responsive` إلى أعلى صورتك. +You should add the `img-responsive` class to your top image. ```js assert.lengthOf(document.querySelectorAll('.img-responsive'),2); diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/give-each-element-a-unique-id.md b/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/give-each-element-a-unique-id.md index 77f05f9e25..7361d5d141 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/give-each-element-a-unique-id.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/give-each-element-a-unique-id.md @@ -1,6 +1,6 @@ --- id: bad87fee1348bd9aec908855 -title: إعطاء كل عنصر معرف فريد +title: Give Each Element a Unique id challengeType: 0 forumTopicId: 18191 dashedName: give-each-element-a-unique-id @@ -8,15 +8,15 @@ dashedName: give-each-element-a-unique-id # --description-- -سوف تريد أيضا أن تكون قادر على استخدام jQuery لاستهداف كل زر بواسطة معرف فريد. +We will also want to be able to use jQuery to target each button by its unique id. -منح كل من الأزرار الخاصة بك معرف فريد من نوعها، بدءاً من `target1` وانتهاء إلى `target6`. +Give each of your buttons a unique id, starting with `target1` and ending with `target6`. -تحقق أن `target1` إلى `target3` موجودة في `#left-well`، و `target4` إلى `target6` موجودة في `#right-well`. +Make sure that `target1` to `target3` are in `#left-well`, and `target4` to `target6` are in `#right-well`. # --hints-- -عنصر `button` واحد يجب أن يحتوي على معرف (id) باسم `target1`. +One `button` element should have the id `target1`. ```js const leftWall = document.querySelector('#left-well'); @@ -24,7 +24,7 @@ const targetOne = leftWall?.querySelectorAll(`:scope ${'#target1'}`) assert.lengthOf(targetOne,1); ``` -عنصر `button` واحد يجب أن يحتوي على معرف (id) باسم `target2`. +One `button` element should have the id `target2`. ```js const leftWall = document.querySelector('#left-well'); @@ -32,7 +32,7 @@ const targetTwo = leftWall?.querySelectorAll(`:scope ${'#target2'}`) assert.lengthOf(targetTwo,1); ``` -عنصر `button` واحد يجب أن يحتوي على معرف (id) باسم `target3`. +One `button` element should have the id `target3`. ```js const leftWall = document.querySelector('#left-well'); @@ -40,7 +40,7 @@ const targetThree = leftWall?.querySelectorAll(`:scope ${'#target3'}`) assert.lengthOf(targetThree,1); ``` -عنصر `button` واحد يجب أن يحتوي على معرف (id) باسم `target4`. +One `button` element should have the id `target4`. ```js const leftWall = document.querySelector('#right-well'); @@ -48,7 +48,7 @@ const targetFour = leftWall?.querySelectorAll(`:scope ${'#target4'}`) assert.lengthOf(targetFour,1); ``` -عنصر `button` واحد يجب أن يحتوي على معرف (id) باسم `target5`. +One `button` element should have the id `target5`. ```js const leftWall = document.querySelector('#right-well'); @@ -56,7 +56,7 @@ const targetFive = leftWall?.querySelectorAll(`:scope ${'#target5'}`) assert.lengthOf(targetFive,1); ``` -عنصر `button` واحد يجب أن يحتوي على معرف (id) باسم `target6`. +One `button` element should have the id `target6`. ```js const leftWall = document.querySelector('#right-well'); diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/responsively-style-radio-buttons.md b/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/responsively-style-radio-buttons.md index bee2be1ea9..55768760bc 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/responsively-style-radio-buttons.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/bootstrap/responsively-style-radio-buttons.md @@ -1,6 +1,6 @@ --- id: bad87fee1348bd9aedb08845 -title: صمم Radio Buttons باستجابة +title: Responsively Style Radio Buttons challengeType: 0 forumTopicId: 18270 required: @@ -13,29 +13,29 @@ dashedName: responsively-style-radio-buttons # --description-- -يمكنك استخدام فئات Bootstrap باسم `col-xs-*` على عناصر `form` أيضًا! بهذه الطريقة، سيتم توزيع أزرار الراديو (radio buttons) الخاصة بك بالتساوي عبر الصفحة، بغض النظر عن مدى اتساع نطاق الشاشة. +You can use Bootstrap's `col-xs-*` classes on `form` elements, too! This way, our radio buttons will be evenly spread out across the page, regardless of how wide the screen resolution is. -أدخل أزرار الراديو (radio button) الخاصة بك ضمن عنصر `
`. ثم أدخلهم في عنصر `
`. +Nest both your radio buttons within a `
` element. Then nest each of them within a `
` element. -**ملاحظة:** تذكير، أزرار الراديو هي `input` عناصر من نوع `radio`. +**Note:** As a reminder, radio buttons are `input` elements of type `radio`. # --hints-- -جميع أزرار الراديو الخاصة بك يجب أن تكون متداخلة داخل `div` مع فئة `row`. +All of your radio buttons should be nested inside one `div` with the class `row`. ```js const radioButtons = document.querySelectorAll(`div.row input[type=radio]`); assert.lengthOf(radioButtons , 2); ``` -كل من أزرار الراديو الخاصة بك يجب أن تكون متداخلة داخل `div` مع الفئة `col-xs-6`. +Each of your radio buttons should be nested inside its own `div` with the class `col-xs-6`. ```js const radioButtons = document.querySelectorAll(`div.col-xs-6 input[type=radio]`); assert.lengthOf(radioButtons , 2); ``` -لا بد أن يوجد وسم إغلاق لكل عناصر `div`. +All of your `div` elements should have closing tags. ```js assert.match(code,/<\/div>/); diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/jquery/learn-how-script-tags-and-document-ready-work.md b/curriculum/challenges/arabic/03-front-end-development-libraries/jquery/learn-how-script-tags-and-document-ready-work.md index 26032c1c56..3835dfeca8 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/jquery/learn-how-script-tags-and-document-ready-work.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/jquery/learn-how-script-tags-and-document-ready-work.md @@ -1,6 +1,6 @@ --- id: bad87fee1348bd9acdd08826 -title: تعلم كيف يمكن وضع علامات Script وعمل Document محضرا +title: Learn How Script Tags and Document Ready Work challengeType: 6 forumTopicId: 18224 dashedName: learn-how-script-tags-and-document-ready-work @@ -8,23 +8,23 @@ dashedName: learn-how-script-tags-and-document-ready-work # --description-- -نحن الآن مستعدون لتعلم jQuery، أداة JavaScript الأكثر شعبية في جميع الأوقات. +Now we're ready to learn jQuery, the most popular JavaScript tool of all time. -قبل أن نتمكن من استخدام jQuery، نحتاج إلى إضافة بعض الأشياء إلى HTML. +Before we can start using jQuery, we need to add some things to our HTML. -أولا، إضافة عنصر `script` في الجزء العلوي من الصفحة. تيقن من إغلاقه على السطر التالي. +First, add a `script` element at the top of your page. Be sure to close it on the following line. -سيقوم متصفحك بتشغيل أي JavaScript داخل عنصر `script`، بما في ذلك jQuery. +Your browser will run any JavaScript inside a `script` element, including jQuery. -في داخل عنصر البرنامَج `script` الخاص بك، أضف هذا الرمز: `$(document).ready(function() {` إلى `script` الخاص بك. ثم أغلقه على السطر التالي (لا يزال داخل عنصر `script` الخاص بك) مع: `});` +Inside your `script` element, add this code: `$(document).ready(function() {` to your `script`. Then close it on the following line (still inside your `script` element) with: `});` -سنتعلم المزيد عن `functions` لاحقاً. الشيء المهم الذي يجب أن نعلمه هو أن التعليمات البرمجية التي تضعها داخل هذه `function` سيتم تشغيلها بمجرد أن يقوم المتصفح بتحميل صفحتك. +We'll learn more about `functions` later. The important thing to know is that code you put inside this `function` will run as soon as your browser has loaded your page. -هذا مهم لأنه دون أن يعمل `document ready function`, قد يعمل تعليماتك البرمجية قبل أن يتم تقديم HTML الخاص بك، ما من شأنه أن يسبب أخطاء. +This is important because without your `document ready function`, your code may run before your HTML is rendered, which would cause bugs. # --hints-- -يجب عليك إنشاء `script` للتأكد من أنه صالح ولديه علامة إغلاق. +You should create a `script` element making sure it is valid and has a closing tag. ```js assert( @@ -39,7 +39,7 @@ assert( ); ``` -يجب عليك إضافة `$(document).ready(function() {` إلى بداية عنصر `script` الخاص بك. +You should add `$(document).ready(function() {` to the beginning of your `script` element. ```js assert( @@ -49,7 +49,7 @@ assert( ); ``` -يجب عليك إغلاق وظيفة `$(document).ready(function() {` مع `});` +You should close your `$(document).ready(function() {` function with `});` ```js assert(code.match(/\n*?\s*?\}\s*?\);/g)); diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-elements-by-id-using-jquery.md b/curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-elements-by-id-using-jquery.md index 53a83a560e..085c1552a0 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-elements-by-id-using-jquery.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/jquery/target-elements-by-id-using-jquery.md @@ -1,6 +1,6 @@ --- id: bad87fee1348bd9aeda08826 -title: أستهدف عناصر بواسطة المعرف باستخدام jQuery +title: Target Elements by id Using jQuery challengeType: 6 forumTopicId: 18317 required: @@ -11,15 +11,15 @@ dashedName: target-elements-by-id-using-jquery # --description-- -يمكنك أيضا استهداف العناصر بطريقة سماتها المعرفية. +You can also target elements by their id attributes. -أولا، أستهدف عناصر `button` مع الفئة `target3` باستخدام منتقي `$("#target3")`. +First target your `button` element with the id `target3` by using the `$("#target3")` selector. -لاحظ ذلك، تماما مثل إعلانات CSS، يمكنك كتابة `#` قبل اسم المُعرف. +Note that, just like with CSS declarations, you type a `#` before the id's name. -ثم استخدم وظيفة jQuery باسم `.addClass()` لإضافة الفئات `animated` و `fadeOut`. +Then use jQuery's `.addClass()` function to add the classes `animated` and `fadeOut`. -إليك كيف ستجعل عنصر `button` مع معرف `target6` يتلاشى: +Here's how you'd make the `button` element with the id `target6` fade out: ```js $("#target6").addClass("animated fadeOut"); @@ -27,13 +27,13 @@ $("#target6").addClass("animated fadeOut"); # --hints-- -يجب عليك تحديد عنصر `button` مع `id` باسم `target3` واستخدام وظيفة jQuery باسم `addClass()` لإعطائه فئة `animated`. +You should select the `button` element with the `id` of `target3` and use the jQuery `addClass()` function to give it the class of `animated`. ```js assert($('#target3').hasClass('animated')); ``` -يجب عليك تحديد عنصر تحتوي على معرف باسم `target3` واستخدام وظيفة jQuery باسم `addClass()` لإعطائه فئة `fadeOut`. +You should target the element with the id `target3` and use the jQuery `addClass()` function to give it the class `fadeOut`. ```js assert( @@ -42,7 +42,7 @@ assert( ); ``` -يجب عليك استخدام jQuery فقط لإضافة هذه الفئات إلى العنصر. +You should only use jQuery to add these classes to the element. ```js assert(!code.match(/class.*animated/g)); diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app.md b/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app.md index fe3c3f66ad..80746f88de 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/connect-redux-to-the-messages-app.md @@ -1,6 +1,6 @@ --- id: 5a24c314108439a4d4036148 -title: إيصال Redux إلى تطبيق الرسائل +title: Connect Redux to the Messages App challengeType: 6 forumTopicId: 301427 dashedName: connect-redux-to-the-messages-app @@ -8,17 +8,17 @@ dashedName: connect-redux-to-the-messages-app # --description-- -الآن بعد أن فهمت كيفية استخدام `connect` لتوصيل React إلى Redux، يمكنك تطبيق ما تعلمته على مكون React الخاص بك الذي يتعامل مع الرسائل. +Now that you understand how to use `connect` to connect React to Redux, you can apply what you've learned to your React component that handles messages. -في الدرس الأخير، المكون الذي يتصل إلى Redux يسما `Presentational`، وهذا لم يكن غير مقصود. هذا المصطلح *عمومًا* يشير إلى مكونات React غير متصلة قاصدًا إلى Redux. وهم ببساطة مسؤولون عن عرض واجهة المستخدم ويفعلون ذلك كوظيفة (function) من الميزات (props) التي يتلقُها. وعلى النقيض من ذلك، فإن مكونات المحتوي موصولة إلى Redux. وعادة ما تكون هذه المؤسسات مسؤولة عن إرسال (dispatching) الإجراءات (actions) إلى المتجر (store) وكثيراً ما تنقل إلى مكونات (components) الفرعية كميزات (props). +In the last lesson, the component you connected to Redux was named `Presentational`, and this wasn't arbitrary. This term *generally* refers to React components that are not directly connected to Redux. They are simply responsible for the presentation of UI and do this as a function of the props they receive. By contrast, container components are connected to Redux. These are typically responsible for dispatching actions to the store and often pass store state to child components as props. # --instructions-- -محرر التعليمات البرمجية لديه كل التعليمات البرمجية التي كتبتها في هذا القسم حتى الآن. التغيير الوحيد هو أن مكون React قد أعيد تسميته إلى `Presentational`. أنشئ مكون جديد محتفظ به في ثابتة تسمى `Container` التي تستخدم `connect` لربط مكون `Presentational` ألى Redux. ثم في `AppWrapper`، انتج مكون React المربوط ألى Redux باسم`Provider`. مرر `Provider` من `store` في Redux كمِيزة (prop) وتنشئ `Container` كفرع. بمجرد إعداد كل شيء، سترى تطبيق الرسائل الذي يتم أنتاجه إلى الصفحة مرة أخرى. +The code editor has all the code you've written in this section so far. The only change is that the React component is renamed to `Presentational`. Create a new component held in a constant called `Container` that uses `connect` to connect the `Presentational` component to Redux. Then, in the `AppWrapper`, render the React Redux `Provider` component. Pass `Provider` the Redux `store` as a prop and render `Container` as a child. Once everything is set up, you will see the messages app rendered to the page again. # --hints-- -يجب أن ينشئ `AppWrapper` إلى الصفحة. +The `AppWrapper` should render to the page. ```js assert( @@ -29,7 +29,7 @@ assert( ); ``` -يجب أن يقدم مكون `Presentational` إلى الصفحة. +The `Presentational` component should render to page. ```js assert( @@ -40,7 +40,7 @@ assert( ); ``` -يجب أن ينشئ مكون `Presentational` عناصر `h2`، و `input`، و `button`، و `ul`. +The `Presentational` component should render an `h2`, `input`, `button`, and `ul` elements. ```js assert( @@ -57,7 +57,7 @@ assert( ); ``` -يجب أن يتلقى مكون `Presentational` مِيزة (prop) باسم `messages` من متجر Redux. +The `Presentational` component should receive `messages` from the Redux store as a prop. ```js assert( @@ -70,7 +70,7 @@ assert( ); ``` -يجب أن يتلقى عنصر `Presentational` مِيزة (prop) على هيئة منشئ أجراء (action creator) باسم `submitMessage`. +The `Presentational` component should receive the `submitMessage` action creator as a prop. ```js assert( diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/extract-local-state-into-redux.md b/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/extract-local-state-into-redux.md index f9cfa5ccfa..b1c4581f2e 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/extract-local-state-into-redux.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/extract-local-state-into-redux.md @@ -1,6 +1,6 @@ --- id: 5a24c314108439a4d4036149 -title: استخراج المنطقة المحلية (Local State) إلى Redux +title: Extract Local State into Redux challengeType: 6 forumTopicId: 301428 dashedName: extract-local-state-into-redux @@ -8,17 +8,17 @@ dashedName: extract-local-state-into-redux # --description-- -أنت على وشك الانتهاء! قم بالتذكير بأنك كتبت كل تعلمات Redux البرمجية بحيث يتمكن Redux من التحكم في إدارة حالة تطبيق React للرسائل الخاص بك. الآن بعد أن تم توصيل Redux، تحتاج إلى استخراج إدارة الحالة من مكون `Presentational` ومررها إلى Redux. حالياً، لديك Redux متصل، لكنك تتعامل مع الحالة محلياً ضمن مكون `Presentational`. +You're almost done! Recall that you wrote all the Redux code so that Redux could control the state management of your React messages app. Now that Redux is connected, you need to extract the state management out of the `Presentational` component and into Redux. Currently, you have Redux connected, but you are handling the state locally within the `Presentational` component. # --instructions-- -في مكون `Presentational` أولاً، إزال خاصية `messages` في `state` المحلية. سيتم إدارة هذه الرسائل بواسطة Redux. بعد ذلك، عدل طريقة `submitMessage()` بحيث ترسل `submitNewMessage()` من `this.props`، ومرر في إدخال الرسالة الحالية من `state` كحاجة. لأنك إزالة `messages` من الحالة المحلية، إزالة خاصية `messages` من المكالمة إلى `this.setState()` هنا أيضا. وأخيرا، عدل طريقة `render()` بحيث تنشئ الرسائل الواردة من `props` بدلا من `state`. +In the `Presentational` component, first, remove the `messages` property in the local `state`. These messages will be managed by Redux. Next, modify the `submitMessage()` method so that it dispatches `submitNewMessage()` from `this.props`, and pass in the current message input from local `state` as an argument. Because you removed `messages` from local state, remove the `messages` property from the call to `this.setState()` here as well. Finally, modify the `render()` method so that it maps over the messages received from `props` rather than `state`. -بمجرد إجراء هذه التغييرات، ستستمر وظيفة التطبيق بنفس القدر، إلا أن Redux يدير الحالة. يوضح هذا المثال أيضًا كيف أن المكون قد يحتوي على `state` المحلية: مكونك لا يزال يتتبع إدخال المستخدم محليًا في `state` الخاصة به. يمكنك أن ترى كيف يوفر Redux أداة framework لإدارة الحالة مفيدة على رأس React. في البداية لقد حققت نفس النتيجة باستخدام حالة React المحلية فقط، وهذا ممكن عادة مع التطبيقات البسيطة. ومع ذلك، كلما أصبحت تطبيقاتك أكبر وأكثر تعقيدا، وكتلك إدارة حالتك، وهذه هي المشكلة في الحلول Redux. +Once these changes are made, the app will continue to function the same, except Redux manages the state. This example also illustrates how a component may have local `state`: your component still tracks user input locally in its own `state`. You can see how Redux provides a useful state management framework on top of React. You achieved the same result using only React's local state at first, and this is usually possible with simple apps. However, as your apps become larger and more complex, so does your state management, and this is the problem Redux solves. # --hints-- -يجب أن ينشئ `AppWrapper` في الصفحة. +The `AppWrapper` should render to the page. ```js assert( @@ -29,7 +29,7 @@ assert( ); ``` -يجب أن يقدم مكون `Presentational` في الصفحة. +The `Presentational` component should render to page. ```js assert( @@ -40,7 +40,7 @@ assert( ); ``` -يجب أن ينشئ مكون `Presentational` عناصر `h2`، و `input`، و `button`، و `ul`. +The `Presentational` component should render an `h2`, `input`, `button`, and `ul` elements. ```js assert( @@ -57,7 +57,7 @@ assert( ); ``` -يجب أن يتلقى مكون `Presentational` مِيزة (prop) باسم `messages` من متجر Redux. +The `Presentational` component should receive `messages` from the Redux store as a prop. ```js assert( @@ -70,7 +70,7 @@ assert( ); ``` -يجب أن يتلقى مكون `Presentational` مِيزة (prop) على هيئة منشئ أجراء (action creator) باسم `submitMessage`. +The `Presentational` component should receive the `submitMessage` action creator as a prop. ```js assert( @@ -83,7 +83,7 @@ assert( ); ``` -حالة مكون `Presentational` يجب أن تحتوي على خاصية واحدة، و`input`، الذي تم تهيئته إلى string فارغة. +The state of the `Presentational` component should contain one property, `input`, which is initialized to an empty string. ```js assert( @@ -100,7 +100,7 @@ assert( ); ``` -الكتابة في عنصر `input` يجب أن حديث حالة `Presentational`. +Typing in the `input` element should update the state of the `Presentational` component. ```js async () => { @@ -124,7 +124,7 @@ async () => { }; ``` -إرسال `submitMessage` على `Presentational` يجب أن يحديث متجر Redux ويمسح الإدخال (input) في الحالة (state) المحلية. +Dispatching the `submitMessage` on the `Presentational` component should update Redux store and clear the input in local state. ```js async () => { @@ -156,7 +156,7 @@ async () => { }; ``` -يجب أن يكون مكون `Presentational` مِيزة (prop) باسم `messages` من متجر Redux. +The `Presentational` component should render the `messages` from the Redux store. ```js async () => { diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/moving-forward-from-here.md b/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/moving-forward-from-here.md index b52005adf8..acfe5cfbd2 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/moving-forward-from-here.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/react-and-redux/moving-forward-from-here.md @@ -1,6 +1,6 @@ --- id: 5a24c314108439a4d403614a -title: ما بعد ذالك +title: Moving Forward From Here challengeType: 6 forumTopicId: 301434 dashedName: moving-forward-from-here @@ -8,19 +8,19 @@ dashedName: moving-forward-from-here # --description-- -تهانينا! أنهيت الدروس في React و Redux. هناك عنصر أخير يستحق الإشارة قبل المضي قدما. عادة، لن تكتب تطبيقات React في محرر التعليمات البرمجية مثل ذلك. This challenge gives you a glimpse of what the syntax looks like if you're working with a file system on your own machine. يجب أن يبدو كود متشابه، باستثناء استخدام تعبيرات `import` (هذه تجذب في جميع التبعيات (dependencies) التي تم توفيرها لك في التحديات). +Congratulations! You finished the lessons on React and Redux. There's one last item worth pointing out before you move on. Typically, you won't write React apps in a code editor like this. This challenge gives you a glimpse of what the syntax looks like if you're working with a file system on your own machine. The code should look similar, except for the use of `import` statements (these pull in all of the dependencies that have been provided for you in the challenges). -وأخيرا، تتطلب كتابة تعليمات React و Redux البرمجية بعض الترتيب (configuration) عمومًا. وهذا يمكن أن يصبح معقدا بسرعة. إذا كنت مهتما بالتجربة على جهازك الخاص، فإن إنشاء تطبيق React يتم تكوينه واستعداده للذهاب. +Finally, writing React and Redux code generally requires some configuration. This can get complicated quickly. If you are interested in experimenting on your own machine, the Create React App comes configured and ready to go. -بدلاً من ذلك، يمكنك تمكين Babel كمعالج تمهيدي إلى JavaScript في CodePen، إضافة React و ReactDOM كموارد JavaScript خارجية، والعمل هناك أيضًا. +Alternatively, you can enable Babel as a JavaScript Preprocessor in CodePen, add React and ReactDOM as external JavaScript resources, and work there as well. # --instructions-- -سجل الرسالة `'Now I know React and Redux!'` إلى وحدة التحكم. +Log the message `'Now I know React and Redux!'` to the console. # --hints-- -الرسالة `Now I know React and Redux!` يجب تسجيل إلى وحدة التحكم. +The message `Now I know React and Redux!` should be logged to the console. ```js (getUserInput) => diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-component-with-composition.md b/curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-component-with-composition.md index 2703ec9dce..43e1022121 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-component-with-composition.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/react/create-a-component-with-composition.md @@ -1,6 +1,6 @@ --- id: 5a24c314108439a4d4036164 -title: إنشاء مكون (Component) مع التكوين (Composition) +title: Create a Component with Composition challengeType: 6 forumTopicId: 301383 dashedName: create-a-component-with-composition @@ -8,9 +8,9 @@ dashedName: create-a-component-with-composition # --description-- -الآن سوف تنظر في كيفية تكوين مكونات متعددة من React. تخيل أنك تبني تطبيق وأنشأت ثلاث مكونات: `Navbar`, و `Dashboard`, و `Footer`. +Now we will look at how we can compose multiple React components together. Imagine you are building an app and have created three components: a `Navbar`, `Dashboard`, and `Footer`. -لتجميع هذه المكونات معا، يمكنك إنشاء عنصر `App` تكون مكون *الأصل* الذي يجعل كل واحد من هذه المكونات الثلاثة *أبنائه*. لجعل مكون أبن في مكون React، ضف اسم المكون المكتوب كعلامة HTML مخصصة في JSX. على سبيل المثال، في طريقة `render` يمكنك الكتابة: +To compose these components together, you could create an `App` *parent* component which renders each of these three components as *children*. To render a component as a child in a React component, you include the component name written as a custom HTML tag in the JSX. For example, in the `render` method you could write: ```jsx return ( @@ -22,17 +22,17 @@ return ( ) ``` -عندما يقرا React علامة HTML مخصصة تشير إلى مكون آخر (اسم مكون مغلف في `< />` مثل المثال)، فهو يجعل تكوين ذلك المكون في موقع العلامة. هذا يجب أن يوضح العِلاقة بين الوالد والابن بين عنصر `App` و `Navbar`, و`Dashboard`, و `Footer`. +When React encounters a custom HTML tag that references another component (a component name wrapped in `< />` like in this example), it renders the markup for that component in the location of the tag. This should illustrate the parent/child relationship between the `App` component and the `Navbar`, `Dashboard`, and `Footer`. # --instructions-- -في محرر التعليمات البرمجية، هناك مكون وظيفي بسيط يسمى `ChildComponent` ومكون فئة يسمى `ParentComponent`. تكوين الاثنين معاً بواسطة تقديم `ChildComponent` ضمن `ParentComponent`. تيقن من إغلاق علامة `ChildComponent` مع خط المائل إلى الأمام. +In the code editor, there is a simple functional component called `ChildComponent` and a class component called `ParentComponent`. Compose the two together by rendering the `ChildComponent` within the `ParentComponent`. Make sure to close the `ChildComponent` tag with a forward slash. **Note:** `ChildComponent` is defined with an ES6 arrow function because this is a very common practice when using React. # --hints-- -يجب أن يعيد مكون React عنصر `div` واحد. +The React component should return a single `div` element. ```js assert( @@ -43,7 +43,7 @@ assert( ); ``` -وينبغي للمكون أن ينتج عنصرين متداخلين (two nested elements). +The component should return two nested elements. ```js assert( @@ -54,7 +54,7 @@ assert( ); ``` -يجب أن ينتج المكون `ChildComponent` يكون أبن الثاني. +The component should return the `ChildComponent` as its second child. ```js assert( diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/react/pass-an-array-as-props.md b/curriculum/challenges/arabic/03-front-end-development-libraries/react/pass-an-array-as-props.md index 151d418eca..c0a065c9f6 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/react/pass-an-array-as-props.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/react/pass-an-array-as-props.md @@ -1,6 +1,6 @@ --- id: 5a24c314108439a4d403616a -title: مرر قائمة (Array) مثل مِيزات (Props) +title: Pass an Array as Props challengeType: 6 forumTopicId: 301401 dashedName: pass-an-array-as-props @@ -8,7 +8,7 @@ dashedName: pass-an-array-as-props # --description-- -وأظهر التحدي السابق كيفية نقل المعلومات من عنصر الأساسي إلى مكون الفرعي مثل عنصر `props` أو الخواص. هذا التحدي يظهر كيفية تمرير القائمات (arrays) مثل `props`. لتمرير قائمة (array) إلى عنصر JSX، يجب معاملته JavaScript ومغلف في أقواس منحنية (curly braces). +The last challenge demonstrated how to pass information from a parent component to a child component as `props` or properties. This challenge looks at how arrays can be passed as `props`. To pass an array to a JSX element, it must be treated as JavaScript and wrapped in curly braces. ```jsx @@ -16,7 +16,7 @@ dashedName: pass-an-array-as-props ``` -بعد ذلك يمكن لمكون الفرعي الوصول إلى خاصية قائمة (array) باسم `colors`. وسائل القائمة مثل `join()` يمكن استخدامها عند اللجوء إلى الخاصية. +The child component then has access to the array property `colors`. Array methods such as `join()` can be used when accessing the property. ```jsx const ChildComponent = (props) =>

{props.colors.join(', ')}

diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/react/render-a-class-component-to-the-dom.md b/curriculum/challenges/arabic/03-front-end-development-libraries/react/render-a-class-component-to-the-dom.md index 5a74017ecd..2e3a9a7a56 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/react/render-a-class-component-to-the-dom.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/react/render-a-class-component-to-the-dom.md @@ -1,6 +1,6 @@ --- id: 5a24c314108439a4d4036167 -title: أنتاج مكون فئة (Class Component) إلى DOM +title: Render a Class Component to the DOM challengeType: 6 forumTopicId: 301404 dashedName: render-a-class-component-to-the-dom @@ -8,19 +8,19 @@ dashedName: render-a-class-component-to-the-dom # --description-- -يمكنك تذكر استخدام API ReactDOM في تحدي سابق لإضافة عناصر JSX إلى DOM. وستبدو عملية تقديم مكونات React متشابهة جدا. لقد ركزت التحديات القليلة الماضية على المكونات (components) والتكوين (composition)، لذلك تم التقديم لك خلف الكواليس. ومع ذلك، لن يقدم أي من رمز React الذي تكتبه إلى DOM دون أستدعاء API ReactDOM. +You may remember using the ReactDOM API in an earlier challenge to render JSX elements to the DOM. The process for rendering React components will look very similar. The past few challenges focused on components and composition, so the rendering was done for you behind the scenes. However, none of the React code you write will render to the DOM without making a call to the ReactDOM API. -إليك تذكير بكفية كتابة الصيغة: `ReactDOM.render(componentToRender, targetNode)`. الحَجَّة الأولى هي عنصر React الذي تريد أنتاجه. الحجة الثانية هي DOM node التي تريد أن تجعل ذلك المكون داخلها. +Here's a refresher on the syntax: `ReactDOM.render(componentToRender, targetNode)`. The first argument is the React component that you want to render. The second argument is the DOM node that you want to render that component within. -يتم تمرير مكونات React إلى `ReactDOM.render()` بشكل مختلف قليلا عن عناصر JSX. بالنسبة لعناصر JSX ، يمكنك تمرير اسم العنصر الذي تريد أنتاجه. لكن، بالنسبة لمكونات React، تحتاج إلى استخدام نفس الجملة كما لو كنت تقدم مكوناً متداخلاً، على سبيل المثال `ReactDOM.render(, targetNode)`. أنت تستخدم هذه الجملة لكل من مكونات فئة ES6 والمكونات الوظيفية ES6. +React components are passed into `ReactDOM.render()` a little differently than JSX elements. For JSX elements, you pass in the name of the element that you want to render. However, for React components, you need to use the same syntax as if you were rendering a nested component, for example `ReactDOM.render(, targetNode)`. You use this syntax for both ES6 class components and functional components. # --instructions-- -كل من مكونين `Fruits` و `Vegetables` تم تعريفهما لك خلف الكواليس. أنتج كلا المكونين كمكون `TypesOfFood` فرعي، ثم أنشئ `TypesOfFood` على DOM. هناك `div` مع `id='challenge-node'` متاح لك للاستخدام. +Both the `Fruits` and `Vegetables` components are defined for you behind the scenes. Render both components as children of the `TypesOfFood` component, then render `TypesOfFood` to the DOM. There is a `div` with `id='challenge-node'` available for you to use. # --hints-- -يجب أن ينتج مكون `TypesOfFood` عنصر `div` واحد. +The `TypesOfFood` component should return a single `div` element. ```js assert( @@ -31,7 +31,7 @@ assert( ); ``` -يجب أن ينتج مكون `TypesOfFood` المكون `Fruits` بعد عنصر `h1`. +The `TypesOfFood` component should render the `Fruits` component after the `h1` element. ```js assert( @@ -42,7 +42,7 @@ assert( ); ``` -يجب أن ينتج مكون `TypesOfFood` المكون `Vegetables` بعد `Fruits`. +The `TypesOfFood` component should render the `Vegetables` component after `Fruits`. ```js assert( @@ -53,7 +53,7 @@ assert( ); ``` -يجب أن يقدم مكون `TypesOfFood` إلى DOM ضمن `div` مع معرف `challenge-node`. +The `TypesOfFood` component should render to the DOM within the `div` with the id `challenge-node`. ```js assert( diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/react/render-conditionally-from-props.md b/curriculum/challenges/arabic/03-front-end-development-libraries/react/render-conditionally-from-props.md index dde0ad358c..9c1a016d92 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/react/render-conditionally-from-props.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/react/render-conditionally-from-props.md @@ -1,6 +1,6 @@ --- id: 5a24c314108439a4d4036188 -title: أنتاج مشروطاً (Conditionally) من مِيزات Props +title: Render Conditionally from Props challengeType: 6 forumTopicId: 301405 dashedName: render-conditionally-from-props @@ -8,21 +8,21 @@ dashedName: render-conditionally-from-props # --description-- -حتى الآن، لقد رأيت كيفية استخدام `if/else`، و `&&`، وternary operator مثل (`condition ? expressionIfTrue : expressionIfFalse`) لاتخاذ قرارات مشروطة حول ما يجب القيام به ومتى. ومع ذلك، هناك موضوع مهم متبقي للمناقشة يسمح لك بالجمع بين أي أو كل هذه المفاهيم مع خاصية أخرى قوية React: مِيزات (props). استخدام مِيزات (props) لجعل التعليمات البرمجية مشروطة أمر شائع جدا مع مطوري الذي يستخدموا React، فهم يستخدمون قيمة مِيزة (prop) معين لاتخاذ القرارات تلقائياً حول ما يجب القيام به. +So far, you've seen how to use `if/else`, `&&`, and the ternary operator (`condition ? expressionIfTrue : expressionIfFalse`) to make conditional decisions about what to render and when. However, there's one important topic left to discuss that lets you combine any or all of these concepts with another powerful React feature: props. Using props to conditionally render code is very common with React developers — that is, they use the value of a given prop to automatically make decisions about what to render. -في هذا التحدي، ستضع مكوناً فرعياً لاتخاذ القرارات بناءً على مِيزات. ستستخدم أيضًا ternary operator، ولكن يمكنكم أن ترى كيف أن العديد من المفاهيم الأخرى التي تمت تغطيتها في التحديات القليلة السابقة قد تكون مفيدة بنفس القدر في هذا السياق. +In this challenge, you'll set up a child component to make rendering decisions based on props. You'll also use the ternary operator, but you can see how several of the other concepts that were covered in the last few challenges might be just as useful in this context. # --instructions-- -يحتوي محرر التعليمات البرمجية على مكونين محددين بشكل جزئي لك: أحد الأساسين يسمى `GameOfChance`، والفرعي يسمى `Results`. تستخدم لإنشاء لُعْبَة بسيطة حيث يقوم المستخدم بالضغط على زر لمعرفة ما إذا كان يفوز أو يخسر. +The code editor has two components that are partially defined for you: a parent called `GameOfChance`, and a child called `Results`. They are used to create a simple game where the user presses a button to see if they win or lose. -أولا، ستحتاج إلى تعبير بسيط ينتج قيمة عشوائيا مختلفة في كل مرة يتم تشغيلها. يمكنك استخدام `Math.random()`. هذه الطريقة تنتج قيمة بين `0` (شامل) و `1` (حصري) في كل مرة يتم تسميتها. إذاً الإمكانات تكون 50/50،أستخدم `Math.random() >= .5` في التعبير الخاص بك. من الناحية الإحصائية، سيعود هذا التعبير `true` بنسبة 50% من الوقت، و `false` بنسبة 50%. في طريقة الإنتاج، استبدل `null` بالتعبير الوارد أعلاه لإكمال إعلان المتغير. +First, you'll need a simple expression that randomly returns a different value every time it is run. You can use `Math.random()`. This method returns a value between `0` (inclusive) and `1` (exclusive) each time it is called. So for 50/50 odds, use `Math.random() >= .5` in your expression. Statistically speaking, this expression will return `true` 50% of the time, and `false` the other 50%. In the render method, replace `null` with the above expression to complete the variable declaration. -الآن لديك تعبير يمكنك استخدامه لاتخاذ قرار عشوائي في التعليمات البرمجية. بعد ذلك تحتاج إلى تنفيذ هذا. تقديم `Results` كعنصر فرعي من `GameOfChance`، وتمرير في `expression` كمِيزة يسمى `fiftyFifty`. في مكون `Results`، كتابة ternary expression لإنتاج عنصر `h1` بالنص `You Win!` أو `You Lose!` بناء على مِيزة `fiftyFifty` التي يتم تمريره من `GameOfChance`. وأخيرا، تحقق أن طريقة `handleClick()` تحسب كل دورة، بحيث يعرف المستخدم عدد المرات التي تلعبها. وهذا يساعد أيضا على إبلاغ المستخدم بأن المكون قد تم تحديثه فعلًا في حالة فوزه أو فقدانه مرتين على التوالي. +Now you have an expression that you can use to make a randomized decision in the code. Next you need to implement this. Render the `Results` component as a child of `GameOfChance`, and pass in `expression` as a prop called `fiftyFifty`. In the `Results` component, write a ternary expression to render the `h1` element with the text `You Win!` or `You Lose!` based on the `fiftyFifty` prop that's being passed in from `GameOfChance`. Finally, make sure the `handleClick()` method is correctly counting each turn so the user knows how many times they've played. This also serves to let the user know the component has actually updated in case they win or lose twice in a row. # --hints-- -يجب أن يكون مكون `GameOfChance` موجوداً وأن يُنتج في الصفحة. +The `GameOfChance` component should exist and render to the page. ```js assert.strictEqual( @@ -31,7 +31,7 @@ assert.strictEqual( ); ``` -`GameOfChance` يجب أن يعيد عنصر `button` واحد. +`GameOfChance` should return a single `button` element. ```js assert.strictEqual( @@ -40,7 +40,7 @@ assert.strictEqual( ); ``` -`GameOfChance` يجب أن بنتج مكون `Results` مرة واحد، الذي يحتوي على مِيزة تسمى `fiftyFifty`. +`GameOfChance` should return a single instance of the `Results` component, which has a prop called `fiftyFifty`. ```js assert( @@ -53,7 +53,7 @@ assert( ); ``` -`GameOfChance` يجب تبدئ حالة (state) تحتوي على خاصية `counter` بقيمة `1`. +`GameOfChance` state should be initialized with a property of `counter` set to a value of `1`. ```js assert.strictEqual( @@ -62,7 +62,7 @@ assert.strictEqual( ); ``` -عندما يتم تسليم المكون `GameOfChance` أول مرة إلى DOM، يجب إرجاع عنصر `p` مع النص الداخلي من `Turn: 1`. +When the `GameOfChance` component is first rendered to the DOM, a `p` element should be returned with the inner text of `Turn: 1`. ```js assert.strictEqual( @@ -71,7 +71,7 @@ assert.strictEqual( ); ``` -في كل مرة يتم النقر على الزر، يجب زيادة حالة (state) برنامَج counter بقيمة 1، وينبغي تقديم عنصر واحد `p` إلى DOM الذي يحتوي على نص `Turn: N`، حيث `N` هي قيمة حالة (state) برنامَج counter. +Each time the button is clicked, the counter state should be incremented by a value of 1, and a single `p` element should be rendered to the DOM that contains the text `Turn: N`, where `N` is the value of the counter state. ```js (() => { @@ -123,7 +123,7 @@ assert.strictEqual( })(); ``` -عندما يتم تحميل عنصر `GameOfChance` أول مرة إلى DOM وفي كل مرة يتم النقر على الزر بعد ذلك، يتم إنتاج عنصر `h1` واحد الذي يمنحك عشوائياً `You Win!` أو `You Lose!`. ملاحظة: هذا قد يفشل عشوائيا. إذا حدث ذلك، يرجى المحاولة مرة أخرى. +When the `GameOfChance` component is first mounted to the DOM and each time the button is clicked thereafter, a single `h1` element should be returned that randomly renders either `You Win!` or `You Lose!`. Note: this can fail randomly. If that happens, please try again. ```js (() => { diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/sass/create-reusable-css-with-mixins.md b/curriculum/challenges/arabic/03-front-end-development-libraries/sass/create-reusable-css-with-mixins.md index 07a4c56c66..ef57baf697 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/sass/create-reusable-css-with-mixins.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/sass/create-reusable-css-with-mixins.md @@ -1,6 +1,6 @@ --- id: 587d7dbd367417b2b2512bb6 -title: إنشاء CSS قابل لاعادة الاستخدام مع Mixins +title: Create Reusable CSS with Mixins challengeType: 0 forumTopicId: 301455 dashedName: create-reusable-css-with-mixins diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-each-to-map-over-items-in-a-list.md b/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-each-to-map-over-items-in-a-list.md index 7b6c1000a9..689c1e7449 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-each-to-map-over-items-in-a-list.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-each-to-map-over-items-in-a-list.md @@ -1,6 +1,6 @@ --- id: 587d7dbf367417b2b2512bba -title: استخدام @each لتركيب (Map) العناصر في القائمة (List) +title: Use @each to Map Over Items in a List challengeType: 0 forumTopicId: 301461 dashedName: use-each-to-map-over-items-in-a-list @@ -8,7 +8,7 @@ dashedName: use-each-to-map-over-items-in-a-list # --description-- -وأظهر التحدي الأخير كيف يستخدم التوجيه `@for` قيمة البَدْء و النهاية لتكرار عدد معين من المرات. يوفر Sass أيضًا التوجيه `@each` الذي يدور حول كل عنصر في قائمة (list) أو مركَب (map). في كل تكرار (iteration)، يتم تعيين المتغير للقيمة الحالية من القائمة (list) أو المركَب (map). +The last challenge showed how the `@for` directive uses a starting and ending value to loop a certain number of times. Sass also offers the `@each` directive which loops over each item in a list or map. On each iteration, the variable gets assigned to the current value from the list or map. ```scss @each $color in blue, red, green { @@ -16,7 +16,7 @@ dashedName: use-each-to-map-over-items-in-a-list } ``` -المركَب لها صياغة مختلفة قليلاً. وهذا مثال على ذلك: +A map has slightly different syntax. Here's an example: ```scss $colors: (color1: blue, color2: red, color3: green); @@ -26,7 +26,7 @@ $colors: (color1: blue, color2: red, color3: green); } ``` -لاحظ أن المتغير `$key` مطلوب للإشارة إلى الهُوِيَّات (keys) في الخريطة (map). وإلا فإن CSS المنشئة (compiled) سيكون لديها `color1` و `color2`... فيها. يتم تحويل مثالي التعليمات البرمجية أعلاه إلى CSS التالية: +Note that the `$key` variable is needed to reference the keys in the map. Otherwise, the compiled CSS would have `color1`, `color2`... in it. Both of the above code examples are converted into the following CSS: ```scss .blue-text { @@ -48,25 +48,25 @@ Write an `@each` directive that goes through a list: `blue, black, red` and assi # --hints-- -يجب أن تستخدم التعليمات البرمجية الخاصة بك توجيه `@each`. +Your code should use the `@each` directive. ```js assert(code.match(/@each /g)); ``` -يجب أن يكون لفئة `.blue-bg` الخاص بك `background-color` باللون الأزرق. +Your `.blue-bg` class should have a `background-color` of blue. ```js assert($('.blue-bg').css('background-color') == 'rgb(0, 0, 255)'); ``` -يجب أن يكون لفئة `.black-bg` الخاص بك `background-color` من الأسود. +Your `.black-bg` class should have a `background-color` of black. ```js assert($('.black-bg').css('background-color') == 'rgb(0, 0, 0)'); ``` -يجب أن يكون لفئة `.red-bg` الخاص بك `background-color` باللون الأحمر. +Your `.red-bg` class should have a `background-color` of red. ```js assert($('.red-bg').css('background-color') == 'rgb(255, 0, 0)'); diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-for-to-create-a-sass-loop.md b/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-for-to-create-a-sass-loop.md index 9ff8f91912..f2d8bd73b8 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-for-to-create-a-sass-loop.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-for-to-create-a-sass-loop.md @@ -1,6 +1,6 @@ --- id: 587d7dbe367417b2b2512bb9 -title: استخدم @for لأنشاء حلقة Sass +title: Use @for to Create a Sass Loop challengeType: 0 forumTopicId: 301462 dashedName: use-for-to-create-a-sass-loop @@ -8,11 +8,11 @@ dashedName: use-for-to-create-a-sass-loop # --description-- -يضيف التوجيه `@for` لتصميم بواسطة حلقة (loop)، شبيهة `for` جداً لحلقة (loop) في JavaScript. +The `@for` directive adds styles in a loop, very similar to a `for` loop in JavaScript. -`@for` يستخدم بطريقتين: "start through end" أو "start to end". الفرق الرئيس هو أن "بداية **إلى** نهاية" *يستبعد* الرَّقَم النهائي كجزء من العد، و "ابدأ **حتى** نهاية" *يتضمن* الرَّقَم النهائي كجزء من العد. +`@for` is used in two ways: "start through end" or "start to end". The main difference is that the "start **to** end" *excludes* the end number as part of the count, and "start **through** end" *includes* the end number as part of the count. -إليك بداية **حتى** مثال نهاية: +Here's a start **through** end example: ```scss @for $i from 1 through 12 { @@ -20,7 +20,7 @@ dashedName: use-for-to-create-a-sass-loop } ``` -جزء `#{$i}` هو بناء الجملة للجمع بين المتغير (`i`) مع النص لنشئ string. عندما يتم تحويل مِلَفّ Sass إلى CSS، يبدو كذلك: +The `#{$i}` part is the syntax to combine a variable (`i`) with text to make a string. When the Sass file is converted to CSS, it looks like this: ```scss .col-1 { @@ -38,47 +38,47 @@ dashedName: use-for-to-create-a-sass-loop } ``` -هذه طريقة قوية لإنشاء تخطيط شبكي (grid layout). الآن لديك 12 خياراً لعرض الأعمدة المتاحة كفئات CSS. +This is a powerful way to create a grid layout. Now you have twelve options for column widths available as CSS classes. # --instructions-- -كتابة توجيه `@for` الذي يأخذ متغير `$j` الذي ينتقل من 1 **إلى** 6. +Write a `@for` directive that takes a variable `$j` that goes from 1 **to** 6. -يجب أن ينشئ 5 فئات تسمى `.text-1` إلى `.text-5` حيث كل واحد لديه `font-size` بقيمه 15px مضروبة بالترتيب. +It should create 5 classes called `.text-1` to `.text-5` where each has a `font-size` set to 15px multiplied by the index. # --hints-- -يجب أن تستخدم التعليمات البرمجية الخاصة بك توجيه `@for`. +Your code should use the `@for` directive. ```js assert(code.match(/@for /g)); ``` -يجب أن يكون للفئة `.text-1` الخاص بك `font-size` بقيمة 15px. +Your `.text-1` class should have a `font-size` of 15px. ```js assert($('.text-1').css('font-size') == '15px'); ``` -يجب أن يكون للفئة `.text-2` الخاص بك `font-size` بقيمة 30px. +Your `.text-2` class should have a `font-size` of 30px. ```js assert($('.text-2').css('font-size') == '30px'); ``` -يجب أن يكون للفئة `.text-3` الخاص بك `font-size` بقيمة 45px. +Your `.text-3` class should have a `font-size` of 45px. ```js assert($('.text-3').css('font-size') == '45px'); ``` -يجب أن يكون للفئة `.text-4` الخاص بك `font-size` بقيمة 60px. +Your `.text-4` class should have a `font-size` of 60px. ```js assert($('.text-4').css('font-size') == '60px'); ``` -يجب أن يكون للفئة `.text-5` الخاص بك `font-size` بقيمة 75px. +Your `.text-5` class should have a `font-size` of 75px. ```js assert($('.text-5').css('font-size') == '75px'); diff --git a/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-if-and-else-to-add-logic-to-your-styles.md b/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-if-and-else-to-add-logic-to-your-styles.md index d56170b158..7e5f1f56ba 100644 --- a/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-if-and-else-to-add-logic-to-your-styles.md +++ b/curriculum/challenges/arabic/03-front-end-development-libraries/sass/use-if-and-else-to-add-logic-to-your-styles.md @@ -1,6 +1,6 @@ --- id: 587d7dbe367417b2b2512bb8 -title: استخدم @if و @else لإضافة المنطق إلى التصميم الخاصة بك +title: Use @if and @else to Add Logic To Your Styles challengeType: 0 forumTopicId: 301463 dashedName: use-if-and-else-to-add-logic-to-your-styles @@ -8,7 +8,7 @@ dashedName: use-if-and-else-to-add-logic-to-your-styles # --description-- -التوجيه `@if` في Sass مفيد لاختبار حالة محددة - إنه يعمل تماما مثل `if` تعبير في JavaScript. +The `@if` directive in Sass is useful to test for a specific case - it works just like the `if` statement in JavaScript. ```scss @mixin make-bold($bool) { @@ -39,7 +39,7 @@ And just like in JavaScript, the `@else if` and `@else` directives test for more # --instructions-- -إنشاء mixin يسمى `border-stroke` التي تأخذ وسيط `$val`. The mixin should check for the following conditions using `@if`, `@else if`, and `@else` directives: +Create a mixin called `border-stroke` that takes a parameter `$val`. The mixin should check for the following conditions using `@if`, `@else if`, and `@else` directives: ```scss light - 1px solid black @@ -51,13 +51,13 @@ If the `$val` parameter value is not `light`, `medium`, or `heavy`, then the `bo # --hints-- -يجب أن يعلن الكود الخاص بك mixin اسمه `border-stroke` يحتوي على وسيط اسمه `$val`. +Your code should declare a mixin named `border-stroke` which has a parameter named `$val`. ```js assert(code.match(/@mixin\s+?border-stroke\s*?\(\s*?\$val\s*?\)\s*?{/gi)); ``` -يجب أن يكون لديك تعبير mixin من `@if` يتحقق مما إذا كان `$val` هو `light`، ولتحديد `border` بقيمة `1px solid black`. +Your mixin should have an `@if` statement to check if `$val` is `light`, and to set the `border` to `1px solid black`. ```js assert( @@ -67,7 +67,7 @@ assert( ); ``` -يجب أن يكون لديك تعبير mixin من `@else if` يتحقق مما إذا كان `$val` هو `medium`، ولتحديد `border` بقيمة `3px solid black`. +Your mixin should have an `@else if` statement to check if `$val` is `medium`, and to set the `border` to `3px solid black`. ```js assert( @@ -77,7 +77,7 @@ assert( ); ``` -يجب أن يكون لديك تعبير mixin من `@else if` يتحقق مما إذا كان `$val` هو `heavy`، ولتحديد `border` بقيمة `6px solid black`. +Your mixin should have an `@else if` statement to check if `$val` is `heavy`, and to set the `border` to `6px solid black`. ```js assert( @@ -87,7 +87,7 @@ assert( ); ``` -يجب أن يكون لديك تعبير mixin من `@else` لتحديد `border` إلى `none`. +Your mixin should have an `@else` statement to set the `border` to `none`. ```js assert(code.match(/@else\s*?{\s*?border\s*?:\s*?none\s*?;\s*?}/gi)); diff --git a/curriculum/challenges/arabic/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md b/curriculum/challenges/arabic/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md index 17d3cc719e..8f36b42754 100644 --- a/curriculum/challenges/arabic/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md +++ b/curriculum/challenges/arabic/04-data-visualization/data-visualization-projects/visualize-data-with-a-treemap-diagram.md @@ -12,7 +12,7 @@ dashedName: visualize-data-with-a-treemap-diagram Fulfill the below user stories and get all of the tests to pass. Use whichever libraries or APIs you need. Give it your own personal style. -يُمكنك استخدام HTML و JavaScript و CSS إلى جانب مكتبة D3. الاختبارات تتطلب إنتاج المَحاور باستخدام خاصية axis في D3 والتي بدورها سَتُوَلد الخٌطوط البيانية موازيتاََ للمحور. وهذه الـخٌطوط البيانية لازمة لاجتياز اختبارات D3, لأن مواقعها تُستخدم لتحديد محاذاة العناصر المرسومة بيانياََ. You will find information about generating axes at . يجري الاستعلام عن كُل عٌنصر (DOM elements) في أثناء كُل اختبار. في حال كُنت تستخدم مكتبة (frontend framework) مثل Vue، فإن نتائج الاختبار ربما تكون غير دقيقة بسبب أنَّ المحتوى ديناميكي. نتمنى أن نتوافق معهم في القريب العاجل، لكن هذه المكتبات غير مدعومة لمشاريع D3 حالياََ. +You can use HTML, JavaScript, CSS, and the D3 svg-based visualization library. The tests require axes to be generated using the D3 axis property, which automatically generates ticks along the axis. These ticks are required for passing the D3 tests because their positions are used to determine alignment of graphed elements. You will find information about generating axes at . Required DOM elements are queried on the moment of each test. If you use a frontend framework (like Vue for example), the test results may be inaccurate for dynamic content. We hope to accommodate them eventually, but these frameworks are not currently supported for D3 projects. **User Story #1:** My tree map should have a title with a corresponding `id="title"`. diff --git a/curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/add-keywords-to-your-package.json.md b/curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/add-keywords-to-your-package.json.md index 1492e1b4e1..a001cdd477 100644 --- a/curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/add-keywords-to-your-package.json.md +++ b/curriculum/challenges/arabic/05-back-end-development-and-apis/managing-packages-with-npm/add-keywords-to-your-package.json.md @@ -1,6 +1,6 @@ --- id: 587d7fb4367417b2b2512bfd -title: إضافة المصطلحات (keywords) إلى package.json +title: Add Keywords to Your package.json challengeType: 2 forumTopicId: 301526 dashedName: add-keywords-to-your-package-json @@ -8,23 +8,23 @@ dashedName: add-keywords-to-your-package-json # --description-- -يمكنك الإضافة في خانة `keywords` وصف لمشروعك باستخدام مصطلحات مرتبطة. إليك مثال: +The `keywords` field is where you can describe your project using related keywords. Here's an example: ```json "keywords": [ "descriptive", "related", "words" ], ``` -كما ترون، هذه الخانة منظمة مثل قائمة من النصوص المزدوجة الاقتباس. +As you can see, this field is structured as an array of double-quoted strings. # --instructions-- -أضف قائمة من النصوص المقطعية المناسبة إلى خانة `keywords` في ملف package.json الخاص بمشروعك. +Add an array of suitable strings to the `keywords` field in the package.json file of your project. -وينبغي أن تكون إحدى المصطلحات "freecodecamp". +One of the keywords should be "freecodecamp". # --hints-- -يجب أن يحتوي package.json على هوية "keywords" صحيحة +package.json should have a valid "keywords" key ```js (getUserInput) => @@ -39,7 +39,7 @@ dashedName: add-keywords-to-your-package-json ); ``` -يجب أن تكون خانة "keywords" قائمة +"keywords" field should be an Array ```js (getUserInput) => @@ -54,7 +54,7 @@ dashedName: add-keywords-to-your-package-json ); ``` -يجب أن تحتوي "keywords" على "freecodecamp" +"keywords" should include "freecodecamp" ```js (getUserInput) => diff --git a/curriculum/challenges/arabic/06-quality-assurance/quality-assurance-projects/sudoku-solver.md b/curriculum/challenges/arabic/06-quality-assurance/quality-assurance-projects/sudoku-solver.md index d35c127a6c..8a623ec44d 100644 --- a/curriculum/challenges/arabic/06-quality-assurance/quality-assurance-projects/sudoku-solver.md +++ b/curriculum/challenges/arabic/06-quality-assurance/quality-assurance-projects/sudoku-solver.md @@ -8,11 +8,11 @@ dashedName: sudoku-solver # --description-- -Build a full stack JavaScript app that is functionally similar to this: https://sudoku-solver.freecodecamp.rocks/. العمل على هذا المشروع سوف ينطوي على كتابة كودك باستخدام إحدى الطرق التالية: +Build a full stack JavaScript app that is functionally similar to this: https://sudoku-solver.freecodecamp.rocks/. Working on this project will involve you writing your code using one of the following methods: - Clone this GitHub repo and complete your project locally. - Use our Gitpod starter project to complete your project. -- استخدم أي منشئ موقع لإكمال المشروع. تحقق انك أضفت جميع الملفات من مستودعنا في GitHub في مشروعك. +- Use a site builder of your choice to complete the project. Be sure to incorporate all the files from our GitHub repo. # --instructions-- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/build-a-probability-calculator-project/probability-calculator.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/build-a-probability-calculator-project/probability-calculator.md index 2b02d6c1e3..8fa9ea71be 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/build-a-probability-calculator-project/probability-calculator.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/build-a-probability-calculator-project/probability-calculator.md @@ -164,8 +164,8 @@ class UnitTests(unittest.TestCase): maxDiff = None def test_hat_draw_2(self): hat = probability_calculator.Hat(yellow=5,red=1,green=3,blue=9,test=1) - actual = hat.draw(20) - expected = ['yellow', 'yellow', 'yellow', 'yellow', 'yellow', 'red', 'green', 'green', 'green', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'test'] + actual = sorted(hat.draw(20)) + expected = sorted(['yellow', 'yellow', 'yellow', 'yellow', 'yellow', 'red', 'green', 'green', 'green', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'blue', 'test']) self.assertEqual(actual, expected, 'Expected hat draw to return all items from hat contents.') actual = len(hat.contents) expected = 0 diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-algorithm-design-by-building-a-shortest-path-algorithm/65796fac81f983127558f3f4.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-algorithm-design-by-building-a-shortest-path-algorithm/65796fac81f983127558f3f4.md index 5b5b202783..c5dbed2495 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-algorithm-design-by-building-a-shortest-path-algorithm/65796fac81f983127558f3f4.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-algorithm-design-by-building-a-shortest-path-algorithm/65796fac81f983127558f3f4.md @@ -1,6 +1,6 @@ --- id: 65796fac81f983127558f3f4 -title: الخطوة 5 +title: Step 5 challengeType: 20 dashedName: step-5 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-algorithm-design-by-building-a-shortest-path-algorithm/65797670e0c0d016f17e7660.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-algorithm-design-by-building-a-shortest-path-algorithm/65797670e0c0d016f17e7660.md index 0e0afc6187..c5918f9cc3 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-algorithm-design-by-building-a-shortest-path-algorithm/65797670e0c0d016f17e7660.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-algorithm-design-by-building-a-shortest-path-algorithm/65797670e0c0d016f17e7660.md @@ -1,6 +1,6 @@ --- id: 65797670e0c0d016f17e7660 -title: الخطوة 7 +title: Step 7 challengeType: 20 dashedName: step-7 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/656680b0fc79f2c38a34d90e.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/656680b0fc79f2c38a34d90e.md index 2a3cc95ce2..a48a2272cc 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/656680b0fc79f2c38a34d90e.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/656680b0fc79f2c38a34d90e.md @@ -1,6 +1,6 @@ --- id: 656680b0fc79f2c38a34d90e -title: الخطوة 10 +title: Step 10 challengeType: 20 dashedName: step-10 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/65670d1ef177e7e2b76d9528.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/65670d1ef177e7e2b76d9528.md index 3b9eb5b591..0d2705ca44 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/65670d1ef177e7e2b76d9528.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/65670d1ef177e7e2b76d9528.md @@ -1,6 +1,6 @@ --- id: 65670d1ef177e7e2b76d9528 -title: الخطوة 17 +title: Step 17 challengeType: 20 dashedName: step-17 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/656710d1e0ec62253426db24.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/656710d1e0ec62253426db24.md index b7a9ff260b..1b51c86eea 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/656710d1e0ec62253426db24.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/656710d1e0ec62253426db24.md @@ -1,6 +1,6 @@ --- id: 656710d1e0ec62253426db24 -title: الخطوة 18 +title: Step 18 challengeType: 20 dashedName: step-18 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6569b20f829b7e69d43c232a.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6569b20f829b7e69d43c232a.md index 602b7a1bf4..aa7e38d327 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6569b20f829b7e69d43c232a.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6569b20f829b7e69d43c232a.md @@ -1,6 +1,6 @@ --- id: 6569b20f829b7e69d43c232a -title: الخطوة 21 +title: Step 21 challengeType: 20 dashedName: step-21 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6569b6be44940a8e2a469c31.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6569b6be44940a8e2a469c31.md index 02f8ece59c..1943d5e89e 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6569b6be44940a8e2a469c31.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6569b6be44940a8e2a469c31.md @@ -1,6 +1,6 @@ --- id: 6569b6be44940a8e2a469c31 -title: الخطوة 25 +title: Step 25 challengeType: 20 dashedName: step-25 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6577562501feabdf0984a184.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6577562501feabdf0984a184.md index 0cd12520d6..2df795e6b4 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6577562501feabdf0984a184.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-data-structures-by-building-the-merge-sort-algorithm/6577562501feabdf0984a184.md @@ -1,6 +1,6 @@ --- id: 6577562501feabdf0984a184 -title: الخطوة 14 +title: Step 14 challengeType: 20 dashedName: step-14 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687a005aba3ea815b84e68.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687a005aba3ea815b84e68.md index e215fbcab4..8fc556a4eb 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687a005aba3ea815b84e68.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687a005aba3ea815b84e68.md @@ -1,6 +1,6 @@ --- id: 65687a005aba3ea815b84e68 -title: الخطوة 16 +title: Step 16 challengeType: 20 dashedName: step-16 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687a923dd792ad339f9c09.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687a923dd792ad339f9c09.md index 0fb7c12776..4b103605ab 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687a923dd792ad339f9c09.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687a923dd792ad339f9c09.md @@ -1,6 +1,6 @@ --- id: 65687a923dd792ad339f9c09 -title: الخطوة 18 +title: Step 18 challengeType: 20 dashedName: step-18 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687e294ef2bdca637fb213.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687e294ef2bdca637fb213.md index 9f11b206ff..8835a7540e 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687e294ef2bdca637fb213.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/65687e294ef2bdca637fb213.md @@ -1,6 +1,6 @@ --- id: 65687e294ef2bdca637fb213 -title: الخطوة 32 +title: Step 32 challengeType: 20 dashedName: step-32 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/656880227dab4bd8fbc02d41.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/656880227dab4bd8fbc02d41.md index 1bacd44200..0ceb51677e 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/656880227dab4bd8fbc02d41.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-how-to-work-with-numbers-and-strings-by-implementing-the-luhn-algorithm/656880227dab4bd8fbc02d41.md @@ -1,6 +1,6 @@ --- id: 656880227dab4bd8fbc02d41 -title: الخطوة 35 +title: Step 35 challengeType: 20 dashedName: step-35 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657ed53c19461d4b95c4757a.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657ed53c19461d4b95c4757a.md index 52b794e53c..f742d2c783 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657ed53c19461d4b95c4757a.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657ed53c19461d4b95c4757a.md @@ -1,6 +1,6 @@ --- id: 657ed53c19461d4b95c4757a -title: الخطوة 2 +title: Step 2 challengeType: 20 dashedName: step-2 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657ef2a86d4e545cec9a85fb.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657ef2a86d4e545cec9a85fb.md index ba163890b2..6bff669cd9 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657ef2a86d4e545cec9a85fb.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657ef2a86d4e545cec9a85fb.md @@ -1,6 +1,6 @@ --- id: 657ef2a86d4e545cec9a85fb -title: الخطوة 4 +title: Step 4 challengeType: 20 dashedName: step-4 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657efdcf7fe23b76c0cff9ec.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657efdcf7fe23b76c0cff9ec.md index 28380f57dd..8959a55a4e 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657efdcf7fe23b76c0cff9ec.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-list-comprehension-by-building-a-case-converter-program/657efdcf7fe23b76c0cff9ec.md @@ -1,6 +1,6 @@ --- id: 657efdcf7fe23b76c0cff9ec -title: الخطوة 7 +title: Step 7 challengeType: 20 dashedName: step-7 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc90949ff85e3b37be40d0.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc90949ff85e3b37be40d0.md index dd3b4b3036..f69c410324 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc90949ff85e3b37be40d0.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc90949ff85e3b37be40d0.md @@ -1,6 +1,6 @@ --- id: 64dc90949ff85e3b37be40d0 -title: الخطوة 5 +title: Step 5 challengeType: 20 dashedName: step-5 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc922df2919e3c38cead61.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc922df2919e3c38cead61.md index c18f13466a..5085d44424 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc922df2919e3c38cead61.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc922df2919e3c38cead61.md @@ -1,6 +1,6 @@ --- id: 64dc922df2919e3c38cead61 -title: الخطوة 8 +title: Step 8 challengeType: 20 dashedName: step-8 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc92a9718fb53ca3d1bad7.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc92a9718fb53ca3d1bad7.md index 919798d666..85a7523ffb 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc92a9718fb53ca3d1bad7.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc92a9718fb53ca3d1bad7.md @@ -1,6 +1,6 @@ --- id: 64dc92a9718fb53ca3d1bad7 -title: الخطوة 9 +title: Step 9 challengeType: 20 dashedName: step-9 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc963d866fff3dd0329993.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc963d866fff3dd0329993.md index f2243d5673..a31564dd6c 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc963d866fff3dd0329993.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64dc963d866fff3dd0329993.md @@ -1,6 +1,6 @@ --- id: 64dc963d866fff3dd0329993 -title: الخطوة 10 +title: Step 10 challengeType: 20 dashedName: step-10 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de6c8a5305d8173a3a9e09.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de6c8a5305d8173a3a9e09.md index c72e5a00eb..46d7bef7ff 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de6c8a5305d8173a3a9e09.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de6c8a5305d8173a3a9e09.md @@ -1,6 +1,6 @@ --- id: 64de6c8a5305d8173a3a9e09 -title: الخطوة 32 +title: Step 32 challengeType: 20 dashedName: step-32 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de73f6c2486518e3064fec.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de73f6c2486518e3064fec.md index 66d2416dd2..4d04c56da3 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de73f6c2486518e3064fec.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de73f6c2486518e3064fec.md @@ -1,6 +1,6 @@ --- id: 64de73f6c2486518e3064fec -title: الخطوة 34 +title: Step 34 challengeType: 20 dashedName: step-34 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de7662244db513d7b673ec.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de7662244db513d7b673ec.md index b781fe0ae0..259c98e477 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de7662244db513d7b673ec.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de7662244db513d7b673ec.md @@ -1,6 +1,6 @@ --- id: 64de7662244db513d7b673ec -title: الخطوة 35 +title: Step 35 challengeType: 20 dashedName: step-35 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de7be06eb689161dd63cf0.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de7be06eb689161dd63cf0.md index 054515bc46..497315ed02 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de7be06eb689161dd63cf0.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64de7be06eb689161dd63cf0.md @@ -1,6 +1,6 @@ --- id: 64de7be06eb689161dd63cf0 -title: الخطوة 38 +title: Step 38 challengeType: 20 dashedName: step-38 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df202aa1342114cd077920.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df202aa1342114cd077920.md index bb726f49c1..98f0bfd33d 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df202aa1342114cd077920.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df202aa1342114cd077920.md @@ -1,6 +1,6 @@ --- id: 64df202aa1342114cd077920 -title: الخطوة 39 +title: Step 39 challengeType: 20 dashedName: step-39 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df353d7ae6dc148fd64f53.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df353d7ae6dc148fd64f53.md index 004a84e1af..6b0f3351de 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df353d7ae6dc148fd64f53.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df353d7ae6dc148fd64f53.md @@ -1,6 +1,6 @@ --- id: 64df353d7ae6dc148fd64f53 -title: الخطوة 42 +title: Step 42 challengeType: 20 dashedName: step-42 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df3f1011888113fbd3d81b.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df3f1011888113fbd3d81b.md index e1ce898707..4849c3963b 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df3f1011888113fbd3d81b.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df3f1011888113fbd3d81b.md @@ -1,6 +1,6 @@ --- id: 64df3f1011888113fbd3d81b -title: الخطوة 44 +title: Step 44 challengeType: 20 dashedName: step-44 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df45a3ad4f8719e5355244.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df45a3ad4f8719e5355244.md index f7b43c8660..53d1bd4363 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df45a3ad4f8719e5355244.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df45a3ad4f8719e5355244.md @@ -1,6 +1,6 @@ --- id: 64df45a3ad4f8719e5355244 -title: الخطوة 46 +title: Step 46 challengeType: 20 dashedName: step-46 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df496c6a8ddf1b38db1ed6.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df496c6a8ddf1b38db1ed6.md index f1318b7666..16713a6f47 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df496c6a8ddf1b38db1ed6.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64df496c6a8ddf1b38db1ed6.md @@ -1,6 +1,6 @@ --- id: 64df496c6a8ddf1b38db1ed6 -title: الخطوة 50 +title: Step 50 challengeType: 20 dashedName: step-50 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e337e3096b7c1739d934e6.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e337e3096b7c1739d934e6.md index 53dcdbdd6a..7edeb2c634 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e337e3096b7c1739d934e6.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e337e3096b7c1739d934e6.md @@ -1,6 +1,6 @@ --- id: 64e337e3096b7c1739d934e6 -title: الخطوة 45 +title: Step 45 challengeType: 20 dashedName: step-45 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e340ecee18af1430939018.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e340ecee18af1430939018.md index b36c3bdb1f..5b97a7b52c 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e340ecee18af1430939018.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e340ecee18af1430939018.md @@ -1,6 +1,6 @@ --- id: 64e340ecee18af1430939018 -title: الخطوة 51 +title: Step 51 challengeType: 20 dashedName: step-51 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e34146860065146733883b.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e34146860065146733883b.md index 59daf5cb06..14b5df82ce 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e34146860065146733883b.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/64e34146860065146733883b.md @@ -1,6 +1,6 @@ --- id: 64e34146860065146733883b -title: الخطوة 53 +title: Step 53 challengeType: 20 dashedName: step-53 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/65782342850feb3b8d62f936.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/65782342850feb3b8d62f936.md index 0f3e49883b..f59971f91c 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/65782342850feb3b8d62f936.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-recursion-by-solving-the-tower-of-hanoi-puzzle/65782342850feb3b8d62f936.md @@ -1,6 +1,6 @@ --- id: 65782342850feb3b8d62f936 -title: الخطوة 18 +title: Step 18 challengeType: 20 dashedName: step-18 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/65646ffeaed2d238c562a014.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/65646ffeaed2d238c562a014.md index 09538c9718..fafcf5b14d 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/65646ffeaed2d238c562a014.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/65646ffeaed2d238c562a014.md @@ -1,6 +1,6 @@ --- id: 65646ffeaed2d238c562a014 -title: الخطوة 8 +title: Step 8 challengeType: 20 dashedName: step-8 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/65648e4c5b316c4ec5e4fddc.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/65648e4c5b316c4ec5e4fddc.md index e0b2f03bd5..8677b8d553 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/65648e4c5b316c4ec5e4fddc.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/65648e4c5b316c4ec5e4fddc.md @@ -1,6 +1,6 @@ --- id: 65648e4c5b316c4ec5e4fddc -title: الخطوة 15 +title: Step 15 challengeType: 20 dashedName: step-15 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/656490295d346850a4c4f2b5.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/656490295d346850a4c4f2b5.md index fda3fbd4b9..c38fca08fe 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/656490295d346850a4c4f2b5.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/656490295d346850a4c4f2b5.md @@ -1,6 +1,6 @@ --- id: 656490295d346850a4c4f2b5 -title: الخطوة 19 +title: Step 19 challengeType: 20 dashedName: step-19 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564d096a55d707bd77ab67b.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564d096a55d707bd77ab67b.md index 608d1a3929..d431ffcc25 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564d096a55d707bd77ab67b.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564d096a55d707bd77ab67b.md @@ -1,6 +1,6 @@ --- id: 6564d096a55d707bd77ab67b -title: الخطوة 38 +title: Step 38 challengeType: 20 dashedName: step-38 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564daa2725b9b8420141b1c.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564daa2725b9b8420141b1c.md index 6fefa0dc11..dd248f1b43 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564daa2725b9b8420141b1c.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564daa2725b9b8420141b1c.md @@ -1,6 +1,6 @@ --- id: 6564daa2725b9b8420141b1c -title: الخطوة 45 +title: Step 45 challengeType: 20 dashedName: step-45 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564eebf0d2d6390b9377197.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564eebf0d2d6390b9377197.md index 20ed5e7b62..d1e8de4499 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564eebf0d2d6390b9377197.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564eebf0d2d6390b9377197.md @@ -1,6 +1,6 @@ --- id: 6564eebf0d2d6390b9377197 -title: الخطوة 49 +title: Step 49 challengeType: 20 dashedName: step-49 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564f32b18480893cf7799fd.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564f32b18480893cf7799fd.md index cf61cb24d3..48e29dd65d 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564f32b18480893cf7799fd.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564f32b18480893cf7799fd.md @@ -1,6 +1,6 @@ --- id: 6564f32b18480893cf7799fd -title: الخطوة 52 +title: Step 52 challengeType: 20 dashedName: step-52 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564fd78ffff909b1531d3c3.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564fd78ffff909b1531d3c3.md index e78bb9025f..885474ba45 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564fd78ffff909b1531d3c3.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6564fd78ffff909b1531d3c3.md @@ -1,6 +1,6 @@ --- id: 6564fd78ffff909b1531d3c3 -title: الخطوة 55 +title: Step 55 challengeType: 20 dashedName: step-55 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6565c084627071646f94c4b0.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6565c084627071646f94c4b0.md index 18d43e75d7..f074e3490d 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6565c084627071646f94c4b0.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6565c084627071646f94c4b0.md @@ -1,6 +1,6 @@ --- id: 6565c084627071646f94c4b0 -title: الخطوة 60 +title: Step 60 challengeType: 20 dashedName: step-60 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6565c13fdb798865c161d8f8.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6565c13fdb798865c161d8f8.md index e535ebf071..2f5949f9ea 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6565c13fdb798865c161d8f8.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/6565c13fdb798865c161d8f8.md @@ -1,6 +1,6 @@ --- id: 6565c13fdb798865c161d8f8 -title: الخطوة 65 +title: Step 65 challengeType: 20 dashedName: step-65 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/656ef7f792734072dedd8319.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/656ef7f792734072dedd8319.md index c70b6bcb50..23302efab4 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/656ef7f792734072dedd8319.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/656ef7f792734072dedd8319.md @@ -1,6 +1,6 @@ --- id: 656ef7f792734072dedd8319 -title: الخطوة 25 +title: Step 25 challengeType: 20 dashedName: step-25 --- diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/657dadf4d8b93c1704f3a57c.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/657dadf4d8b93c1704f3a57c.md index 927eef166c..2eb07ad5d3 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/657dadf4d8b93c1704f3a57c.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/657dadf4d8b93c1704f3a57c.md @@ -1,6 +1,6 @@ --- id: 657dadf4d8b93c1704f3a57c -title: الخطوة 66 +title: Step 66 challengeType: 20 dashedName: step-66 --- @@ -9,7 +9,7 @@ dashedName: step-66 It works, but there are still a couple of things you can improve. First of all, calling a function with 5 arguments can create confusion on which value will be assigned to which parameter. -You can call a function using keyword arguments, that is writing the parameter name explicitly followed by the assignment operator and the value. على سبيل المثال: +You can call a function using keyword arguments, that is writing the parameter name explicitly followed by the assignment operator and the value. For example: ```py def add(x, y): diff --git a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/657db4cb77190e33a20e852a.md b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/657db4cb77190e33a20e852a.md index 9d08682915..b3f1ffd53d 100644 --- a/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/657db4cb77190e33a20e852a.md +++ b/curriculum/challenges/arabic/07-scientific-computing-with-python/learn-regular-expressions-by-building-a-password-generator/657db4cb77190e33a20e852a.md @@ -1,6 +1,6 @@ --- id: 657db4cb77190e33a20e852a -title: الخطوة 69 +title: Step 69 challengeType: 20 dashedName: step-69 --- diff --git a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a.md b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a.md index d01d4e8794..7067d8f4d5 100644 --- a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a.md +++ b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/numpy-introduction-a.md @@ -16,8 +16,8 @@ dashedName: numpy-introduction-a More resources: -- Notebooks في GitHub -- كيفية فتح Notebooks من GitHub باستخدام Google Colab. +- Notebooks on GitHub +- How to open Notebooks from GitHub using Google Colab. # --questions-- diff --git a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns.md b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns.md index 9b4572aba8..0ccb5cd6c2 100644 --- a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns.md +++ b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/pandas-creating-columns.md @@ -16,8 +16,8 @@ dashedName: pandas-creating-columns More resources: -- Notebooks في GitHub -- كيفية فتح (Notebook) من (GitHub) باستخدام (Google Colab). +- Notebooks on GitHub +- How to open Notebooks from GitHub using Google Colab. # --questions-- diff --git a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections.md b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections.md index 19327290ea..873f556605 100644 --- a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections.md +++ b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/python-functions-and-collections.md @@ -16,8 +16,8 @@ dashedName: python-functions-and-collections More resources: -- Notebooks في GitHub -- كيفية فتح Notebooks من GitHub باستخدام Google Colab. +- Notebooks on GitHub +- How to open Notebooks from GitHub using Google Colab. # --questions-- diff --git a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction.md b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction.md index 17413fb9a5..27d4904c78 100644 --- a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction.md +++ b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-course/reading-data-introduction.md @@ -16,8 +16,8 @@ dashedName: reading-data-introduction More resources: -- Notebooks في GitHub -- كيفية فتح Notebooks من GitHub باستخدام Google Colab. +- Notebooks on GitHub +- How to open Notebooks from GitHub using Google Colab. # --questions-- diff --git a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/demographic-data-analyzer.md b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/demographic-data-analyzer.md index 6022bef852..bea12e1b9f 100644 --- a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/demographic-data-analyzer.md +++ b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/demographic-data-analyzer.md @@ -44,15 +44,15 @@ You must use Pandas to answer the following questions: Use the starter code in the file `demographic_data_analyzer.py`. Update the code so all variables set to `None` are set to the appropriate calculation or code. Round all decimals to the nearest tenth. -## التطوير +## Development Write your code in `demographic_data_analyzer.py`. For development, you can use `main.py` to test your code. -## الاختبار +## Testing The unit tests for this project are in `test_module.py`. We imported the tests from `test_module.py` to `main.py` for your convenience. -## التقديم +## Submitting Copy your project's URL and submit it to freeCodeCamp. diff --git a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md index 3ce78d5655..f00b9ec97c 100644 --- a/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md +++ b/curriculum/challenges/arabic/08-data-analysis-with-python/data-analysis-with-python-projects/sea-level-predictor.md @@ -10,7 +10,7 @@ dashedName: sea-level-predictor You will be working on this project with our Gitpod starter code. -وما زلنا نطور الجزء التعليمي التفاعلي من منهج Python. الآن، إليك بعض مقاطع الفيديو على قناة اليوتيوب الخاصة بي freeCodeCamp.org التي ستعلمك كلّما تحتاج إليه لإكمال هذا المشروع: +We are still developing the interactive instructional part of the Python curriculum. For now, here are some videos on the freeCodeCamp.org YouTube channel that will teach you everything you need to know to complete this project: - Python for Everybody Video Course (14 hours) @@ -30,15 +30,15 @@ Use the data to complete the following tasks: The boilerplate also includes commands to save and return the image. -## التطوير +## Development Write your code in `sea_level_predictor.py`. For development, you can use `main.py` to test your code. -## الاختبار +## Testing The unit tests for this project are in `test_module.py`. We imported the tests from `test_module.py` to `main.py` for your convenience. -## التقديم +## Submitting Copy your project's URL and submit it to freeCodeCamp. diff --git a/curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md b/curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md index 217836a727..96e4820092 100644 --- a/curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md +++ b/curriculum/challenges/arabic/09-information-security/information-security-with-helmetjs/install-and-require-helmet.md @@ -8,11 +8,11 @@ dashedName: install-and-require-helmet # --description-- -العمل على هذه التحديات سوف ينطوي على كتابة كودك باستخدام إحدى الطرق التالية: +Working on these challenges will involve you writing your code using one of the following methods: - Clone this GitHub repo and complete these challenges locally. - Use our Gitpod starter project to complete these challenges. -- استخدم أي منشئ موقع لإكمال المشروع. تحقق انك أضفت جميع الملفات من مستودعنا في GitHub في مشروعك. +- Use a site builder of your choice to complete the project. Be sure to incorporate all the files from our GitHub repo. Helmet helps you secure your Express apps by setting various HTTP headers. diff --git a/curriculum/challenges/arabic/11-machine-learning-with-python/how-neural-networks-work/recurrent-neural-networks-rnn-and-long-short-term-memory-lstm.md b/curriculum/challenges/arabic/11-machine-learning-with-python/how-neural-networks-work/recurrent-neural-networks-rnn-and-long-short-term-memory-lstm.md index 88db015cdc..6b726cbf1d 100644 --- a/curriculum/challenges/arabic/11-machine-learning-with-python/how-neural-networks-work/recurrent-neural-networks-rnn-and-long-short-term-memory-lstm.md +++ b/curriculum/challenges/arabic/11-machine-learning-with-python/how-neural-networks-work/recurrent-neural-networks-rnn-and-long-short-term-memory-lstm.md @@ -26,5 +26,5 @@ Prediction, ignoring, forgetting, and selection. ## --video-solution-- -الثالث +3 diff --git a/curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/convolutional-neural-networks-the-convolutional-layer.md b/curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/convolutional-neural-networks-the-convolutional-layer.md index 50ac2c9103..3486db0714 100644 --- a/curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/convolutional-neural-networks-the-convolutional-layer.md +++ b/curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/convolutional-neural-networks-the-convolutional-layer.md @@ -30,5 +30,5 @@ Input size, input padding, and stride. ## --video-solution-- -الأول +1 diff --git a/curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/introduction-to-tensorflow.md b/curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/introduction-to-tensorflow.md index becc462a6b..51096d71d7 100644 --- a/curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/introduction-to-tensorflow.md +++ b/curriculum/challenges/arabic/11-machine-learning-with-python/tensorflow/introduction-to-tensorflow.md @@ -42,5 +42,5 @@ Constant ## --video-solution-- -٢ +2 diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/build-a-personal-portfolio-webpage-project/build-a-personal-portfolio-webpage.md b/curriculum/challenges/arabic/14-responsive-web-design-22/build-a-personal-portfolio-webpage-project/build-a-personal-portfolio-webpage.md index c21769d49c..c2fe8347f6 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/build-a-personal-portfolio-webpage-project/build-a-personal-portfolio-webpage.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/build-a-personal-portfolio-webpage-project/build-a-personal-portfolio-webpage.md @@ -280,3 +280,10 @@ p{ height: 100vh; } ``` + +--- + +```html +

text


Projects

text


+``` +`css` diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md index fdefe988c6..1640f57b64 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/613e275749ebd008e74bb62e.md @@ -1,15 +1,15 @@ --- id: 613e275749ebd008e74bb62e -title: الخطوة 8 +title: Step 8 challengeType: 0 dashedName: step-8 --- # --description-- -تعني الخاصية _SVG_ المفيدة (رُسُوم متجهة قابلة للتطوير scalable vector graphics)، هي أنها تحتوي على سمة `path` التي تسمح بتغيير حجم الصورة دون التأثير على دقة الصورة الناتجة من التغيير. +A useful property of an _SVG_ (scalable vector graphics) is that it contains a `path` attribute which allows the image to be scaled without affecting the resolution of the resultant image. -حاليًا، تأخذ `img` حجمها الافتراضي, وهو كبير جدًا. CSS has a `max` function which returns the largest of a set of comma-separated values. على سبيل المثال: +Currently, the `img` is assuming its default size, which is too large. CSS has a `max` function which returns the largest of a set of comma-separated values. For example: ```css img { diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614202874ca576084fca625f.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614202874ca576084fca625f.md index 8b2844cd5c..e864b1363e 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614202874ca576084fca625f.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614202874ca576084fca625f.md @@ -1,91 +1,91 @@ --- id: 614202874ca576084fca625f -title: الخطوة 16 +title: Step 16 challengeType: 0 dashedName: step-16 --- # --description-- -كل دور `region` يتطلب وصف، مما يساعد مستخدمي قارئ الشاشة على فهم غرضها. إحدى الطرق لإضافة وصف هي أن تضيف عنصر العنوان داخل المنطقة ثم الإشارة إليه مع السمة `aria-labelledby`. +Every `region` role requires a label, which helps screen reader users understand the purpose of the region. One method for adding a label is to add a heading element inside the region and then reference it with the `aria-labelledby` attribute. -أضف `aria-labelledby` التالي إلى عناصر `section`: +Add the following `aria-labelledby` attributes to the `section` elements: - `student-info` - `html-questions` - `css-questions` -ثم ، داخل كل عنصر `section` ادمج عنصر واحد `h2` مع `id` يطابق السمة `aria-labelledby` المقابلة. قم بإعطاء كل `h2` محتوى نصي مناسب. +Then, within each `section` element, nest one `h2` element with an `id` matching the corresponding `aria-labelledby` attribute. Give each `h2` suitable text content. # --hints-- -يجب أن تعطي عنصر `section` الأول سمة `aria-labelledby` بقيمة `student-info`. +You should give the first `section` element an `aria-labelledby` attribute of `student-info`. ```js assert.equal(document.querySelectorAll('section')?.[0]?.getAttribute('aria-labelledby'), 'student-info'); ``` -يجب أن تعطي عنصر `section` سمة `aria-labelledby` بقيمة `html-questions`. +You should give the second `section` element an `aria-labelledby` attribute of `html-questions`. ```js assert.equal(document.querySelectorAll('section')?.[1]?.getAttribute('aria-labelledby'), 'html-questions'); ``` -يجب عليك إعطاء ثالث عنصر `section` سمة `aria-labelledby` بقيمة `css-questions`. +You should give the third `section` element an `aria-labelledby` attribute of `css-questions`. ```js assert.equal(document.querySelectorAll('section')?.[2]?.getAttribute('aria-labelledby'), 'css-questions'); ``` -يجب عليك دمج عنصر `h2` واحد داخل اول عنصر `section`. +You should nest one `h2` element within the first `section` element. ```js assert.equal(document.querySelectorAll('section')?.[0]?.querySelectorAll('h2')?.length, 1); ``` -يجب عليك دمج عنصر `h2` واحد داخل ثاني عنصر `section`. +You should nest one `h2` element within the second `section` element. ```js assert.equal(document.querySelectorAll('section')?.[1]?.querySelectorAll('h2')?.length, 1); ``` -يجب عليك دمج عنصر `h2` واحد داخل ثالث عنصر `section`. +You should nest one `h2` element within the third `section` element. ```js assert.equal(document.querySelectorAll('section')?.[2]?.querySelectorAll('h2')?.length, 1); ``` -يجب أن تعطي عنصر `h2` سمة `id` بقيمة `student-info`. +You should give the first `h2` element an `id` attribute of `student-info`. ```js assert.equal(document.querySelectorAll('h2')?.[0]?.id, 'student-info'); ``` -يجب عليك إعطاء ثاني عنصر `h2`الـ `id` بقيمة `html-questions`. +You should give the second `h2` element an `id` attribute of `html-questions`. ```js assert.equal(document.querySelectorAll('h2')?.[1]?.id, 'html-questions'); ``` -يجب عليك إعطاء ثالث عنصر `h2` الـ `id` بقيمة `css-questions`. +You should give the third `h2` element an `id` attribute of `css-questions`. ```js assert.equal(document.querySelectorAll('h2')?.[2]?.id, 'css-questions'); ``` -يجب عليك إعطاء أول عنصر `h2` محتوى نصي مناسب. _تلميح: كنت ساختار `Student Info`_ +You should give the first `h2` element suitable text content. _Hint: I would have chosen `Student Info`_ ```js assert.isAtLeast(document.querySelectorAll('h2')?.[0]?.textContent?.length, 1); ``` -يجب عليك إعطاء ثاتي عنصر `h2` محتوى نصي مناسب. _تلميح: كنت ساختار `HTML`_ +You should give the second `h2` element suitable text content. _Hint: I would have chosen `HTML`_ ```js assert.isAtLeast(document.querySelectorAll('h2')?.[1]?.textContent?.length, 1); ``` -يجب عليك إعطاء ثالث عنصر `h2` محتوى نصي مناسب. _تلميح: كنت ساختار `CSS`_ +You should give the third `h2` element suitable text content. _Hint: I would have chosen `CSS`_ ```js assert.isAtLeast(document.querySelectorAll('h2')?.[2]?.textContent?.length, 1); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614396f7ae83f20ea6f9f4b3.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614396f7ae83f20ea6f9f4b3.md index 8bccf4686c..c59c844327 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614396f7ae83f20ea6f9f4b3.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614396f7ae83f20ea6f9f4b3.md @@ -1,6 +1,6 @@ --- id: 614396f7ae83f20ea6f9f4b3 -title: الخطوة 26 +title: Step 26 challengeType: 0 dashedName: step-26 --- diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md index a9139d084b..5081cd04f1 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145e8b5080a5f06bb0223d0.md @@ -1,125 +1,125 @@ --- id: 6145e8b5080a5f06bb0223d0 -title: الخطوة 32 +title: Step 32 challengeType: 0 dashedName: step-32 --- # --description-- -اعطي عناصر `label` نص بحيث أن `input` يأتي قبل النص. ثم اعطي عناصر `input` سمة `value` المطابق للنص. +Give the `label` elements text such that the `input` comes before the text. Then, give the `input` elements a `value` matching the text. -يجب أن يكون النص `True` أو `False`. +The text should either be `True` or `False`. # --hints-- -يجب عليك إعطاء أول عنصر `label` محتوى نصي. +You should give the first `label` element text content. ```js assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label')?.[0]?.textContent?.trim()); ``` -يجب عليك إعطاء ثاني عنصر `label` محتوى نصي. +You should give the second `label` element text content. ```js assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label')?.[1]?.textContent?.trim()); ``` -يجب عليك إعطاء ثالث عنصر `label` محتوى نصي. +You should give the third `label` element text content. ```js assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label')?.[2]?.textContent?.trim()); ``` -يجب عليك إعطاء رابع عنصر `label` محتوى نصي. +You should give the fourth `label` element text content. ```js assert.notEmpty(document.querySelectorAll('ul.answers-list > li > label')?.[3]?.textContent?.trim()); ``` -يجب عليك وضع المحتوى النصي داخل `label` الأول بعد عنصر `input`. +You should place the first `label` text content after the `input` element. ```js assert.match(document.querySelectorAll('ul.answers-list > li > label')?.[0]?.innerHTML, />[\s\S]+[a-zA-Z]/); ``` -يجب عليك وضع المحتوى النصي داخل `label` الثاني بعد عنصر `input`. +You should place the second `label` text content after the `input` element. ```js assert.match(document.querySelectorAll('ul.answers-list > li > label')?.[1]?.innerHTML, />[\s\S]+[a-zA-Z]/); ``` -يجب عليك وضع المحتوى النصي داخل `label` الثالث بعد عنصر `input`. +You should place the third `label` text content after the `input` element. ```js assert.match(document.querySelectorAll('ul.answers-list > li > label')?.[2]?.innerHTML, />[\s\S]+[a-zA-Z]/); ``` -يجب عليك وضع المحتوى النصي داخل `label` الرابع بعد عنصر `input`. +You should place the fourth `label` text content after the `input` element. ```js assert.match(document.querySelectorAll('ul.answers-list > li > label')?.[3]?.innerHTML, />[\s\S]+[a-zA-Z]/); ``` -يجب عليك إعطاء أول `label` النص `True` أو `False`. +You should give the first `label` the text `True` or `False`. ```js assert.include(['True', 'False'], document.querySelectorAll('ul.answers-list > li > label')?.[0]?.textContent?.trim()); ``` -يجب عليك إعطاء ثاني عنصر `label` النص `True`. +You should give the second `label` the text `True`. ```js const l = (n) => document.querySelectorAll('ul.answers-list > li > label')?.[n]?.textContent?.trim(); assert(l(0) === 'False' ? l(1) === 'True' : true); ``` -يجب عليك إعطاء ثاني عنصر `label` النص `False`. +You should give the second `label` the text `False`. ```js const l = (n) => document.querySelectorAll('ul.answers-list > li > label')?.[n]?.textContent?.trim(); assert(l(0) === 'True' ? l(1) === 'False' : true); ``` -يجب عليك ثالث عنصر `label` النص `True` أو `False`. +You should give the third `label` the text `True` or `False`. ```js assert.include(['True', 'False'], document.querySelectorAll('ul.answers-list > li > label')?.[2]?.textContent?.trim()); ``` -يجب عليك إعطاء رابع عنصر `label` النص `True`. +You should give the fourth `label` the text `True`. ```js const l = (n) => document.querySelectorAll('ul.answers-list > li > label')?.[n]?.textContent?.trim(); assert(l(2) === 'False' ? l(3) === 'True' : true); ``` -يجب عليك إعطاء رابع عنصر `label` النص `False`. +You should give the fourth `label` the text `False`. ```js const l = (n) => document.querySelectorAll('ul.answers-list > li > label')?.[n]?.textContent?.trim(); assert(l(2) === 'True' ? l(3) === 'False' : true); ``` -يجب عليك إعطاء أول `input` سمة `value` التي تطابق محتوي `label` النصي. +You should give the first `input` a `value` matching the `label` text content. ```js assert.equal(document.querySelectorAll('ul.answers-list > li > label')?.[0]?.textContent?.trim()?.toLowerCase(), document.querySelectorAll('ul.answers-list > li > label > input')?.[0]?.value?.toLowerCase()); ``` -يجب عليك إعطاء ثاني `input` سمة `value` التي تطابق محتوي `label` النصي. +You should give the second `input` a `value` matching the `label` text content. ```js assert.equal(document.querySelectorAll('ul.answers-list > li > label')?.[1]?.textContent?.trim()?.toLowerCase(), document.querySelectorAll('ul.answers-list > li > label > input')?.[1]?.value?.toLowerCase()); ``` -يجب عليك إعطاء ثالث `input` سمة `value` التي تطابق محتوي `label` النصي. +You should give the third `input` a `value` matching the `label` text content. ```js assert.equal(document.querySelectorAll('ul.answers-list > li > label')?.[2]?.textContent?.trim()?.toLowerCase(), document.querySelectorAll('ul.answers-list > li > label > input')?.[2]?.value?.toLowerCase()); ``` -يجب عليك إعطاء رابع `input` سمة `value` التي تطابق محتوي `label` النصي. +You should give the fourth `input` a `value` matching the `label` text content. ```js assert.equal(document.querySelectorAll('ul.answers-list > li > label')?.[3]?.textContent?.trim()?.toLowerCase(), document.querySelectorAll('ul.answers-list > li > label > input')?.[3]?.value?.toLowerCase()); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md index ddaf7d127d..cd3f58403c 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6145f02240ff8f09f7ec913c.md @@ -1,6 +1,6 @@ --- id: 6145f02240ff8f09f7ec913c -title: الخطوة 36 +title: Step 36 challengeType: 0 dashedName: step-36 --- @@ -11,25 +11,25 @@ Within the `div.question-block` elements, nest one `label` element, and add a `C # --hints-- -يجب عليك دمج عنصر `label` واحد داخل اول عنصر `div.question-block`. +You should nest one `label` element within the first `div.question-block` element. ```js assert.exists(document.querySelectorAll('.formrow > .question-block')?.[0]?.querySelector('label')); ``` -يجب عليك دمج عنصر `label` واحد داخل ثاني عنصر `div.question-block`. +You should nest one `label` element within the second `div.question-block` element. ```js assert.exists(document.querySelectorAll('.formrow > .question-block')?.[1]?.querySelector('label')); ``` -يجب عليك إعطاء أول عنصر `label` محتوى نصي. +You should give the first `label` element text content. ```js assert.isAtLeast(document.querySelectorAll('.formrow > .question-block')?.[0]?.querySelector('label')?.textContent?.length, 1); ``` -يجب عليك إعطاء ثاني عنصر `label` محتوى نصي. +You should give the second `label` element text content. ```js assert.isAtLeast(document.querySelectorAll('.formrow > .question-block')?.[1]?.querySelector('label')?.textContent?.length, 1); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md index cce9844c9f..af42e06d37 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614796cb8086be482d60e0ac.md @@ -1,15 +1,15 @@ --- id: 614796cb8086be482d60e0ac -title: الخطوة 46 +title: Step 46 challengeType: 0 dashedName: step-46 --- # --description-- -وفيما يتعلق بموضوع تسهيل البصري (visual accessibility)، فإن التباين (contrast) بين العناصر عامل رئيسي. فعلى سبيل المثال، ينبغي أن يكون التباين بين النص وخلفية العنوان 4.5:1 على الأقل. +On the topic of visual accessibility, contrast between elements is a key factor. For example, the contrast between the text and the background of a heading should be at least 4.5:1. -غير لون الخط (font color) لجميع عناصر الروابط (anchor elements) داخل عناصر list إلى شيء به نسبة تباين (contrast ratio) لا تقل عن 7:1. +Change the font color of all the anchor elements within the list elements to something with a contrast ratio of at least 7:1. # --hints-- @@ -37,7 +37,7 @@ const listAnchors = document.querySelectorAll('li a'); listAnchors.forEach(listAnchor => assert.isFalse(getComputedStyle(footerAnchor)?.color === getComputedStyle(listAnchor)?.color)); ``` -يجب أن تعطي الخاصية `color` تباين مع الخلفية بنسبة 7:1 على الأقل. _تلميح: سأستخدم `#dfdfe2`_ +You should give the `color` property a contrast with the background of at least 7:1. _Hint: I would use `#dfdfe2`_ ```js function luminance(r, g, b) { diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md index 398e97658a..8b1535e90e 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614878f7a412310647873015.md @@ -1,37 +1,37 @@ --- id: 614878f7a412310647873015 -title: الخطوة 48 +title: Step 48 challengeType: 0 dashedName: step-48 --- # --description-- -قم بتنظيف `header` باستخدام _Flexbox_ لوضع مسافة بين الأطفال، وتوسيطهم رأسياً. +Tidy up the `header`, by using _Flexbox_ to put space between the children, and vertically center them. -ثم قم بتثبيت `header` إلى الجزء العلوي من نافذة العرض (viewport). +Then, fix the `header` to the top of the viewport. # --hints-- -يجب عليك إعطاء `header` خاصية `justify-content` بقيمة `space-between`. +You should give the `header` a `justify-content` of `space-between`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.justifyContent, 'space-between'); ``` -يجب عليك إعطاء `header` خاصية `align-items` بقيمة `center`. +You should give the `header` an `align-items` of `center`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.alignItems, 'center'); ``` -يجب عليك إعطاء `header` خاصية `position` بقيمة `fixed`. +You should give the `header` a `position` of `fixed`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.position, 'fixed'); ``` -يجب عليك إعطاء `header` خاصية `top` بقيمة `0`. +You should give the `header` a `top` of `0`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('header')?.top, '0px'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614883b6fa720e09fb167de9.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614883b6fa720e09fb167de9.md index c11c118e32..54550b4156 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614883b6fa720e09fb167de9.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614883b6fa720e09fb167de9.md @@ -1,41 +1,41 @@ --- id: 614883b6fa720e09fb167de9 -title: الخطوة 53 +title: Step 53 challengeType: 0 dashedName: step-53 --- # --description-- -قم إضافة padding إلى الجزء العلوي والأيسر من عناصر `.info`، وتعيين القيم الأخرى إلى `0`. +Add padding to the top and left of the `.info` elements, and set the other values to `0`. # --hints-- -يجب عليك استخدام منتقي `.info`. +You should use the `.info` selector. ```js assert.exists(new __helpers.CSSHelp(document).getStyle('.info')); ``` -يجب عليك إعطاء `.info` خاصية `padding-top` بقيمة `1px`. +You should give `.info` a `padding-top` of at least `1px`. ```js assert.isAtLeast(Number(new __helpers.CSSHelp(document).getStyle('.info')?.paddingTop?.replace(/\D+/, '')), 1); ``` -يجب عليك إعطاء `.info` خاصية `padding-right` بقيمة `0`. +You should give `.info` a `padding-right` of `0`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.info')?.paddingRight, '0px'); ``` -يجب عليك إعطاء `.info` خاصية `padding-bottom` بقيمة `0`. +You should give `.info` a `padding-bottom` of `0`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.info')?.paddingBottom, '0px'); ``` -يجب عليك إعطاء `.info` خاصية `padding-left` بقيمة `1px` علي الأقل. +You should give `.info` a `padding-left` of at least `1px`. ```js assert.isAtLeast(Number(new __helpers.CSSHelp(document).getStyle('.info')?.paddingLeft?.replace(/\D+/, '')), 1); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61488ecfd05e290b5712e6da.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61488ecfd05e290b5712e6da.md index ae92a16b50..743f3b1f16 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61488ecfd05e290b5712e6da.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/61488ecfd05e290b5712e6da.md @@ -260,7 +260,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } --fcc-editable-region-- diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148d99cdc7acd0c519862cb.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148d99cdc7acd0c519862cb.md index be431ad968..3a15f993a2 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148d99cdc7acd0c519862cb.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148d99cdc7acd0c519862cb.md @@ -260,7 +260,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } --fcc-editable-region-- diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148da157cc0bd0d06df5c0a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148da157cc0bd0d06df5c0a.md index 08165fb920..3c664280ff 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148da157cc0bd0d06df5c0a.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148da157cc0bd0d06df5c0a.md @@ -1,26 +1,26 @@ --- id: 6148da157cc0bd0d06df5c0a -title: الخطوة 57 +title: Step 57 challengeType: 0 dashedName: step-57 --- # --description-- -لمواءمة صناديق الإدخال مع بعضها البعض، أنشئ مجموعة قواعد جديدة تستهدف جميع عناصر `input` و `label` داخل `.info` وتعيين خاصية `display` إلى `inline-block`. +To align the input boxes with each other, create a new ruleset that targets all `input` and `label` elements within an `.info` element and set the `display` property to `inline-block`. -أيضًا، بمحاذي (align) نص عنصر `label` إلى اليمين. +Also, align the `label` element's text to the right. # --hints-- -يجب عليك استخدام منتقي `.info > label, .info > input` أو `.info label, .info input`. +You should use either a `.info > label, .info > input` or `.info label, .info input` selector. ```js const gs = (s) => new __helpers.CSSHelp(document).getStyle(s); assert.exists(gs('.info > label, .info > input') || gs('.info label, .info input') || gs('.info > input, .info > label') || gs('.info input, .info label')); ``` -يجب عليك إعطاء عناصر `input` و `label` خاصية `display` بقيمة `inline-block`. +You should give the `input` and `label` elements a `display` of `inline-block`. ```js const gs = (s) => new __helpers.CSSHelp(document).getStyle(s)?.display; @@ -28,7 +28,7 @@ const display = gs('.info > label, .info > input') ?? gs('.info label, .info inp assert.equal(display, 'inline-block'); ``` -يجب عليك إعطاء `label` خاصية `text-align` بقيمة `right`. +You should give the `label` element a `text-align` of `right`. ```js const v = (el) => getComputedStyle(el).getPropertyValue('text-align'); @@ -263,7 +263,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } --fcc-editable-region-- diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dc095264000dce348bf5.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dc095264000dce348bf5.md index 9e26d4a40c..6bd917e73b 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dc095264000dce348bf5.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dc095264000dce348bf5.md @@ -281,7 +281,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dcaaf2e8750e6cb4501a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dcaaf2e8750e6cb4501a.md index 8c537002a2..9a0f84ac40 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dcaaf2e8750e6cb4501a.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dcaaf2e8750e6cb4501a.md @@ -12,7 +12,7 @@ Make the `h3` elements appear as a higher priority, with the following CSS prope ```css margin-top: 5px; padding-left: 15px; -font-size: 22px; +font-size: 1.375rem; ``` # --hints-- @@ -35,10 +35,10 @@ You should give the `h3` element a `padding-left` of `15px`. assert.equal(new __helpers.CSSHelp(document).getStyle('h3')?.paddingLeft, '15px'); ``` -You should give the `h3` element a `font-size` of `22px`. +You should give the `h3` element a `font-size` of `1.375ren`. ```js -assert.equal(new __helpers.CSSHelp(document).getStyle('h3')?.fontSize, '22px'); +assert.equal(new __helpers.CSSHelp(document).getStyle('h3')?.fontSize, '1.375rem'); ``` # --seed-- @@ -267,7 +267,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dd31d210990f0fb140f8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dd31d210990f0fb140f8.md index 7c04f191f6..2dbb1601e8 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dd31d210990f0fb140f8.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dd31d210990f0fb140f8.md @@ -257,7 +257,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { @@ -286,7 +286,7 @@ input { h3 { margin-top: 5px; padding-left: 15px; - font-size: 22px; + font-size: 1.375rem; } h3::before { diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148defa9c01520fb9d178a0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148defa9c01520fb9d178a0.md index 78ced749eb..3e1ee31023 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148defa9c01520fb9d178a0.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148defa9c01520fb9d178a0.md @@ -263,7 +263,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { @@ -292,7 +292,7 @@ input { h3 { margin-top: 5px; padding-left: 15px; - font-size: 22px; + font-size: 1.375rem; } h3::before { diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dfab9b54c110577de165.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dfab9b54c110577de165.md index 957eacd5e9..c60a777f43 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dfab9b54c110577de165.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148dfab9b54c110577de165.md @@ -1,69 +1,69 @@ --- id: 6148dfab9b54c110577de165 -title: الخطوة 62 +title: Step 62 challengeType: 0 dashedName: step-62 --- # --description-- -اعطي زر الـ submit تصميم على غرار رمز freeCodeCamp مع خصائص CSS التالية: +Give the submit button a freeCodeCamp-style design, with the following CSS properties: ```css display: block; margin: 40px auto; width: 40%; padding: 15px; -font-size: 23px; +font-size: 1.438rem; background: #d0d0d5; border: 3px solid #3b3b4f; ``` # --hints-- -يجب عليك استخدام منتقي العنصر `button`. +You should use the `button` element selector. ```js assert.exists(new __helpers.CSSHelp(document).getStyle('button')); ``` -يجب عليك إعطاء `button` الـ `display` بقيمة `block`. +You should give `button` a `display` of `block`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.display, 'block'); ``` -يجب عليك إعطاء `button` الـ `margin` بقيمة `40px auto`. +You should give `button` a `margin` of `40px auto`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.margin, '40px auto'); ``` -يجب عليك إعطاء `button` الـ `width` بقيمة `40%`. +You should give `button` a `width` of `40%`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.width, '40%'); ``` -يجب عليك إعطاء `button` الـ `padding` بقيمة `15px`. +You should give `button` a `padding` of `15px`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.padding, '15px'); ``` -يجب عليك إعطاء `button` الـ `font-size` بقيمة `23px`. +You should give `button` a `font-size` of `1.438rem`. ```js -assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.fontSize, '23px'); +assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.fontSize, '1.438rem'); ``` -يجب عليك إعطاء `button` الـ `background` بقيمة `#d0d0d5`. +You should give `button` a `background` of `#d0d0d5`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.backgroundColor, 'rgb(208, 208, 213)'); ``` -يجب عليك إعطاء `button` الـ `border` بقيمة `3px solid #3b3b4f`. +You should give `button` a `border` of `3px solid #3b3b4f`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('button')?.border, '3px solid rgb(59, 59, 79)'); @@ -295,7 +295,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { @@ -324,7 +324,7 @@ input { h3 { margin-top: 5px; padding-left: 15px; - font-size: 22px; + font-size: 1.375rem; } h3::before { diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e0bcc13efd10f7d7a6a9.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e0bcc13efd10f7d7a6a9.md index b8b953deba..12bbc6c28a 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e0bcc13efd10f7d7a6a9.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e0bcc13efd10f7d7a6a9.md @@ -261,7 +261,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { @@ -290,7 +290,7 @@ input { h3 { margin-top: 5px; padding-left: 15px; - font-size: 22px; + font-size: 1.375rem; } h3::before { @@ -312,7 +312,7 @@ button { margin: 40px auto; width: 40%; padding: 15px; - font-size: 23px; + font-size: 1.438rem; background: #d0d0d5; border: 3px solid #3b3b4f; } diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e161ecec9511941f8833.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e161ecec9511941f8833.md index 6f5d92d483..5e3d6dc88b 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e161ecec9511941f8833.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e161ecec9511941f8833.md @@ -275,7 +275,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { @@ -304,7 +304,7 @@ input { h3 { margin-top: 5px; padding-left: 15px; - font-size: 22px; + font-size: 1.375rem; } h3::before { @@ -326,7 +326,7 @@ button { margin: 40px auto; width: 40%; padding: 15px; - font-size: 23px; + font-size: 1.438rem; background: #d0d0d5; border: 3px solid #3b3b4f; } diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e28706b34912340fd042.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e28706b34912340fd042.md index 0c129130da..3bb12db187 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e28706b34912340fd042.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e28706b34912340fd042.md @@ -273,7 +273,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { @@ -302,7 +302,7 @@ input { h3 { margin-top: 5px; padding-left: 15px; - font-size: 22px; + font-size: 1.375rem; } h3::before { @@ -324,7 +324,7 @@ button { margin: 40px auto; width: 40%; padding: 15px; - font-size: 23px; + font-size: 1.438rem; background: #d0d0d5; border: 3px solid #3b3b4f; } diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e335c1edd512d00e4691.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e335c1edd512d00e4691.md index 819424b372..b57f996454 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e335c1edd512d00e4691.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e335c1edd512d00e4691.md @@ -255,7 +255,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { @@ -284,7 +284,7 @@ input { h3 { margin-top: 5px; padding-left: 15px; - font-size: 22px; + font-size: 1.375rem; } h3::before { @@ -306,7 +306,7 @@ button { margin: 40px auto; width: 40%; padding: 15px; - font-size: 23px; + font-size: 1.438rem; background: #d0d0d5; border: 3px solid #3b3b4f; } diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e41c728f65138addf9cc.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e41c728f65138addf9cc.md index 5282c04b24..90a4099aad 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e41c728f65138addf9cc.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e41c728f65138addf9cc.md @@ -273,7 +273,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { @@ -302,7 +302,7 @@ input { h3 { margin-top: 5px; padding-left: 15px; - font-size: 22px; + font-size: 1.375rem; } h3::before { @@ -324,7 +324,7 @@ button { margin: 40px auto; width: 40%; padding: 15px; - font-size: 23px; + font-size: 1.438rem; background: #d0d0d5; border: 3px solid #3b3b4f; } diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e5aeb102e3142de026a2.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e5aeb102e3142de026a2.md index 0ab44e4803..0f98d55522 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e5aeb102e3142de026a2.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/6148e5aeb102e3142de026a2.md @@ -275,7 +275,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, .info input { @@ -304,7 +304,7 @@ input { h3 { margin-top: 5px; padding-left: 15px; - font-size: 20px; + font-size: 1.375rem; } h3::before { @@ -326,7 +326,7 @@ button { margin: 40px auto; width: 40%; padding: 15px; - font-size: 23px; + font-size: 1.438rem; background: #d0d0d5; border: 3px solid #3b3b4f; } @@ -597,7 +597,7 @@ h2 { } input { - font-size: 16px; + font-size: 1rem; } .info label, @@ -627,7 +627,7 @@ input { h3 { margin-top: 5px; padding-left: 15px; - font-size: 22px; + font-size: 1.375rem; } h3::before { @@ -649,7 +649,7 @@ button { margin: 40px auto; width: 40%; padding: 15px; - font-size: 23px; + font-size: 1.438rem; background: #d0d0d5; border: 3px solid #3b3b4f; } diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md index b1d271f7f6..954f859516 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-accessibility-by-building-a-quiz/614ccc21ea91ef1736b9b578.md @@ -1,6 +1,6 @@ --- id: 614ccc21ea91ef1736b9b578 -title: الخطوة 1 +title: Step 1 challengeType: 0 dashedName: step-1 demoType: onLoad @@ -8,13 +8,13 @@ demoType: onLoad # --description-- -مرحبا بكم في الجزء الأول من اختبار تسهيل المنال (Accessibility Quiz). بما انك تسعي أن تكون متمرسًا في HTML و CSS، فقد بدأنا باستخدام النموذج الأساسي. +Welcome to the first part of the Accessibility Quiz. As you are becoming a seasoned HTML and CSS developer, we have started you off with the basic boilerplate. -ابدأ رحلة التسهيل، عن طريق توفير سمة (attribute) تسمي `lang` إلى `html` الخاص بك. هذا سيساعد قارئ الشاشة (screen readers) على تحديد لغة الصفحة. +Start this accessibility journey by providing a `lang` attribute to your `html` element. This will assist screen readers in identifying the language of the page. # --hints-- -يجب أن تعطي عنصر `html` سمة `lang`. _تلميح: يمكنك استخدام القيمة `en` للغة الانجليزية_ +You should give the `html` element a `lang` attribute. _Hint: You can use the value `en` for English._ ```js assert.match(code, //i); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332b23c2045fb843337579.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332b23c2045fb843337579.md index 37d615266f..5fc1e2ed5a 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332b23c2045fb843337579.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f332b23c2045fb843337579.md @@ -1,41 +1,41 @@ --- id: 5f332b23c2045fb843337579 -title: الخطوة 7 +title: Step 7 challengeType: 0 dashedName: step-7 --- # --description-- -لتمكين الزوار من معرفة أن المقهى قد تأسس في عام 2020، أضف عنصر `p` أسفل عنصر `h1` مع النص `Est. 2020`. +To let visitors know the cafe was founded in 2020, add a `p` element below the `h1` element with the text `Est. 2020`. # --hints-- -يجب أن يكون لديك العلامة الأفتاح (opening tag) الآتية `

`. +You should have an opening `

` tag. ```js assert(code.match(/

/i)); ``` -يجب أن يكون لديك العلامة الإغلاق (closing tag) الآتي `

`. +You should have a closing `

` tag. ```js assert(code.match(/<\/p>/i)); ``` -لا يجب عليك تغيير عنصر `h1` الحالي. تيقن من أنك لم تقم بحذف علامة الإغلاق (closing tag). +You should not change your existing `h1` element. Make sure you did not delete the closing tag. ```js assert.lengthOf(document.querySelectorAll('h1'),1); ``` -يجب أن يكون عنصرك `p` تحت عنصرك `h1`. +Your `p` element should be below your `h1` element. ```js assert.equal(document.querySelector('p')?.previousElementSibling?.tagName, 'H1'); ``` -يجب أن يحتوي عنصرك `p` على النص `Est. 2020`. +Your `p` element should have the text `Est. 2020`. ```js assert(document.querySelector("p").innerText === "Est. 2020"); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md index d2614f365a..6d62eb9e33 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f344fad8bf01691e71a30eb.md @@ -1,29 +1,29 @@ --- id: 5f344fad8bf01691e71a30eb -title: الخطوة 10 +title: Step 10 challengeType: 0 dashedName: step-10 --- # --description-- -حتى الآن، كنت مقيدًا فيما يتعلق بالعرض التقديمي وشكل المحتوى الذي تقوم بإنشائه. لبدء التحكم، أضف عنصر `style` داخل العنصر `head`. +Up until now, you have been limited regarding the presentation and appearance of the content you create. To start taking control, add a `style` element within the `head` element. # --hints-- -يجب أن يكون لديك الـ opening tag الآتي ``. +Your code should have a closing `` tag. ```js assert(code.match(/<\/style\s*>/)); ``` -عنصر `style` الخاص بك يجب أن يكون داخل عنصر `head` الخاص بك. +Your `style` element should be nested in your `head` element. ```js assert(code.match(/[\w\W\s]*[\w\W\s]*<\/style\s*>[\w\W\s]*<\/head\s*>/i)) diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb303c5cb61b43aa9b.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb303c5cb61b43aa9b.md index 6081d1c696..7ef668776b 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb303c5cb61b43aa9b.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3477cb303c5cb61b43aa9b.md @@ -1,31 +1,31 @@ --- id: 5f3477cb303c5cb61b43aa9b -title: الخطوة 18 +title: Step 18 challengeType: 0 dashedName: step-18 --- # --description-- -يتم توسيط النص مرة أخرى بحيث يعمل الرابط إلى مِلَفّ CSS. أضف تصميم آخر إلى المِلَفّ الذي يغير خاصية `background-color` إلى `brown` لعنصر `body`. +The text is centered again so the link to the CSS file is working. Add another style to the file that changes the `background-color` property to `brown` for the `body` element. # --hints-- -يجب عليك استخدام منتقي `body`. +You should use a `body` selector. ```js const hasBody = new __helpers.CSSHelp(document).getStyle('body'); assert(hasBody); ``` -يجب عليك تعيين خاصية `background-color` إلى `brown`. +You should set the `background-color` property to `brown`. ```js const hasBackground = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['background-color'] === 'brown'); assert(hasBackground); ``` -يجب أن يحتوي عنصر `body` الخاص بك على خلفية `brown`. +Your `body` element should have a `brown` background. ```js const bodyBackground = new __helpers.CSSHelp(document).getStyle('body')?.getPropertyValue('background-color'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c44359872a137bd98f.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c44359872a137bd98f.md index 7d2221a584..da68438a6d 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c44359872a137bd98f.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f35e5c44359872a137bd98f.md @@ -1,38 +1,38 @@ --- id: 5f35e5c44359872a137bd98f -title: الخطوة 28 +title: Step 28 challengeType: 0 dashedName: step-28 --- # --description-- -بما أن المنتج الرئيسي للكافيه للبيع هو القهوة، يمكنك استخدام صورة لحبوب البن على خلفية الصفحة. +Since the cafe's main product for sale is coffee, you could use an image of coffee beans for the background of the page. -احذف التعليق ومحتوياته داخل منتقي `body`. الآن أضف خاصية `background-image` وقم بتعيين قيمتها إلى `url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg)`. +Delete the comment and its contents inside the `body` type selector. Now add a `background-image` property and set its value to `url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg)`. # --hints-- -يجب عليك إزالة خاصية `background-color` التي تم تعليقها. +You should remove the commented out `background-color` property. ```js assert(!code.match(/\/\*\s*background-color:\s*burlywood;?\s*\*\//i)) ``` -يجب ألا يكون في منتقي `body` الخاص بك أي تعليقات. +Your `body` selector should not have any comments. ```js assert(!code.match(/body\s*{\s*\/\*/i)); ``` -يجب عليك تعيين خاصية `background-image` إلى `url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg)`. +You should set the `background-image` property to `url(https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg)`. ```js const hasBackground = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['background-image'] === `url("https://cdn.freecodecamp.org/curriculum/css-cafe/beans.jpg")`) assert(hasBackground) ``` -يجب أن يحتوي عنصر `body` على صورة خلفية لحبوب القهوة. +Your `body` element should have the coffee beans background image. ```js const bodyBackground = new __helpers.CSSHelp(document).getStyle('body')?.getPropertyValue('background-image'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md index 4617b97b51..40f5fb4cc8 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3cade99dda4e6071a85dfd.md @@ -1,35 +1,35 @@ --- id: 5f3cade99dda4e6071a85dfd -title: الخطوة 46 +title: Step 46 challengeType: 0 dashedName: step-46 --- # --description-- -سوف تعود إلى تصميم القائمة بعد بضع خطوات، ولكن الآن، أضف عنصر `section` ثان تحت الأول لعرض الحَلْوَيَات (desserts) المقدمة من المقهى (cafe). +You will come back to styling the menu in a few steps, but for now, go ahead and add a second `section` element below the first for displaying the desserts offered by the cafe. # --hints-- -يجب أن يكون لديك علامة مفتوحة (opening tag) الآتي `section`. +You should have an opening `section` tag. ```js assert.lengthOf(code.match(/
/ig) ,2); ``` -يجب أن يكون لديك علامة مغلقة (closing tag) الآتي `section`. +You should have a closing `section` tag. ```js assert.lengthOf(code.match(/<\/section>/ig) ,2); ``` -لا يجب عليك تغيير عنصر `main` الحالي. +You should not change the existing `main` element. ```js assert.lengthOf (document.querySelectorAll('main'), 1); ``` -عنصر `section` الجديد الخاص بك يجب أن يكون متداخلا في عنصر `main`. +Your new `section` element should be nested in the `main` element. ```js const main = document.querySelector('main'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e01f288a026d709587.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e01f288a026d709587.md index 5a577366a4..374692b02c 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e01f288a026d709587.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e01f288a026d709587.md @@ -1,19 +1,19 @@ --- id: 5f3ef6e01f288a026d709587 -title: الخطوة 66 +title: Step 66 challengeType: 0 dashedName: step-66 --- # --description-- -يمكنك استخدام عنصر `hr` لعرض مقطع بين أجزاء من محتوى مختلف. +You can use an `hr` element to display a divider between sections of different content. First, add an `hr` element between the `p` element with the class `established` and the first `section` element. # --hints-- -يجب عليك إضافة عنصر `hr`. +You should add an `hr` element. ```js assert.match(code, //i); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md index 6105cecb33..20ec957007 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e056bdde6ae6892ba2.md @@ -1,33 +1,33 @@ --- id: 5f3ef6e056bdde6ae6892ba2 -title: الخطوة 58 +title: Step 58 challengeType: 0 dashedName: step-58 --- # --description-- -من الممل بعض الشيء أن يكون لكل النصوص نفس `font-family`. يزال يمكنك الحصول على أغلبية النص `sans-serif` وجعل العناصر `h1` و `h2` مختلفة باستخدام منتقي (selector) مختلف. +It is a bit boring for all the text to have the same `font-family`. You can still have the majority of the text `sans-serif` and make just the `h1` and `h2` elements different using a different selector. Style both the `h1` and the `h2` elements using a single selector so that these elements' text use `Impact` font. # --hints-- -يجب استخدام منتقي `h1, h2`. +You should use an `h1, h2` selector. ```js const h1h2Selector = new __helpers.CSSHelp(document).getStyle('h1, h2'); assert(h1h2Selector); ``` -يجب عليك تعيين `font-family` إلى `Impact`. +You should set the `font-family` to `Impact`. ```js const hasFontFamily = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['font-family'].toLowerCase() === 'impact'); assert(hasFontFamily); ``` -يجب أن يكون للعنصر `h1` الخاص بك `font-family` بقيمة `Impact`. +Your `h1` element should have a `font-family` of `Impact`. ```js const h1Element = document.querySelector("h1"); @@ -36,7 +36,7 @@ const headingFont = window.getComputedStyle(h1Element)?.getPropertyValue('font-f assert.match(headingFont,/impact/i); ``` -يجب أن يكون للعنصر `h2` الخاص بك `font-family` بقيمة `Impact`. +Your `h2` element should have a `font-family` of `Impact`. ```js const h2Element = document.querySelector("h2"); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0f8c230bdd2349716.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0f8c230bdd2349716.md index d3c3ea371e..b64bbc0933 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0f8c230bdd2349716.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f3ef6e0f8c230bdd2349716.md @@ -1,40 +1,40 @@ --- id: 5f3ef6e0f8c230bdd2349716 -title: الخطوة 62 +title: Step 62 challengeType: 0 dashedName: step-62 --- # --description-- -يتم تعيين طباعة (typography) عناصر الـ header (على سبيل المثال `h1` و `h2`) بواسطة القيم الافتراضية لمتصفحات المستخدمين. +The typography of heading elements (e.g. `h1`, `h2`) is set by default values of users' browsers. -قم بإضافة نوعين جديدين (`h1` و `h2`). استخدم خاصية `font-size` لكليهما، ولكن استخدم قيمة `40px` لـ `h1` و `30px` لـ `h2`. +Add two new type selectors (`h1` and `h2`). Use the `font-size` property for both, but use the value `40px` for the `h1` and `30px` for the `h2`. # --hints-- -يجب عليك استخدام منتقي `h1`. +You should use an `h1` selector. ```js const hasH1 = new __helpers.CSSHelp(document).getStyle('h1'); assert(hasH1); ``` -يجب عليك استخدام منتقي `h2`. +You should use an `h2` selector. ```js const hasH2 = new __helpers.CSSHelp(document).getStyle('h2'); assert(hasH2); ``` -يجب أن يكون للعنصر `h1` الخاص بك `font-size` بقيمة `40px`. +Your `h1` element should have a `font-size` of `40px`. ```js const h1FontSize = new __helpers.CSSHelp(document).getStyle('h1')?.getPropertyValue('font-size'); assert(h1FontSize === '40px'); ``` -يجب أن يكون للعنصر `h2` الخاص بك `font-size` بقيمة `30px`. +Your `h2` element should have a `font-size` of `30px`. ```js const h2FontSize = new __helpers.CSSHelp(document).getStyle('h2')?.getPropertyValue('font-size'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f459225127805351a6ad057.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f459225127805351a6ad057.md index 6f86bc51a5..b293051512 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f459225127805351a6ad057.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f459225127805351a6ad057.md @@ -1,23 +1,23 @@ --- id: 5f459225127805351a6ad057 -title: الخطوة 68 +title: Step 68 challengeType: 0 dashedName: step-68 --- # --description-- -قم بتغيير لون الخلفية لعنصر `hr` إلى `brown` بحيث يتطابق مع لون حبوب القهوة. +Change the background color of the `hr` element to `brown` so it matches the color of the coffee beans. # --hints-- -يجب عليك تعيين خاصية `background-color` إلى `brown`. +You should set the value of the `background-color` property to `brown`. ```js const hasBackgroundColor = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['background-color'] === 'brown'); ``` -يجب أن يكون للعنصر `hr` الخاص بك `background-color` بقيمة `brown`. +Your `hr` element should have a `background-color` of `brown`. ```js const hrBackgroundColor = new __helpers.CSSHelp(document).getStyle('hr')?.getPropertyValue('background-color'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f4701b942c824109626c3d8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f4701b942c824109626c3d8.md index e744f27035..0dfb88f527 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f4701b942c824109626c3d8.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f4701b942c824109626c3d8.md @@ -1,23 +1,23 @@ --- id: 5f4701b942c824109626c3d8 -title: الخطوة 76 +title: Step 76 challengeType: 0 dashedName: step-76 --- # --description-- -الآن أضف class تسمى `bottom-line` إلى العنصر `hr` الثاني حتى يتم تطبيق النمط. +Now add the `bottom-line` class to the second `hr` element so the styling is applied. # --hints-- -يجب عليك إضافة سمة `class` مع القيمة `bottom-line`. +You should add the `class` attribute with the value `bottom-line`. ```js assert.match(code,/class=('|")bottom-line\1/i); ``` -يجب تطبيق class تسمى `bottom-line` الخاص بك على عنصر `hr` الثاني. +Your `bottom-line` class should be applied to your second `hr` element. ```js const hrList = document.querySelectorAll("hr"); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f47fe7e31980053a8d4403b.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f47fe7e31980053a8d4403b.md index 7a9e4350f9..c65744763e 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f47fe7e31980053a8d4403b.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-basic-css-by-building-a-cafe-menu/5f47fe7e31980053a8d4403b.md @@ -1,26 +1,26 @@ --- id: 5f47fe7e31980053a8d4403b -title: الخطوة 91 +title: Step 91 challengeType: 0 dashedName: step-91 --- # --description-- -سيكون من اللطيف إذا كانت المساحة الرأسية بين عناصر `h2` والرموز المرتبطة بها أصغر. عناصر `h2` لديها مساحة margin top و bottom افتراضية، حتى تتمكن من تغيير margin bottom لعناصر `h2` لمثلا `0` أو رقم آخر. +It would be nice if the vertical space between the `h2` elements and their associated icons was smaller. The `h2` elements have default top and bottom margin space, so you could change the bottom margin of the `h2` elements to say `0` or another number. -هناك طريقة أسهل، ببساطة إضافة margin top سلبي إلى عناصر `img` لسحبها من مواقعها الحالية. يتم إنشاء القيم السلبية باستخدام `-` أمام القيمة. لإكمال هذا المشروع، قم بالمضي قدما واستخدم margin top سالب من `25px` في منتقي `img`. +There is an easier way, simply add a negative top margin to the `img` elements to pull them up from their current positions. Negative values are created using a `-` in front of the value. To complete this project, go ahead and use a negative top margin of `25px` in the `img` type selector. # --hints-- -يجب عليك تعيين خاصية `margin-top` إلى `-25px`. +You should set the `margin-top` property to `-25px`. ```js const hasMarginTop = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['margin-top'] === '-25px'); assert(hasMarginTop); ``` -يجب أن تحتوي عناصر `img` الخاصة بك على `margin-top` بقيمة `-25px`. +Your `img` elements should have a `margin-top` value of `-25px`. ```js const imgMarginTop = new __helpers.CSSHelp(document).getStyle('img')?.getPropertyValue('margin-top'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140cbeec34e970dfe75e710.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140cbeec34e970dfe75e710.md index 8d496c22ac..06b1753386 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140cbeec34e970dfe75e710.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/6140cbeec34e970dfe75e710.md @@ -1,35 +1,35 @@ --- id: 6140cbeec34e970dfe75e710 -title: الخطوة 3 +title: Step 3 challengeType: 0 dashedName: step-3 --- # --description-- -قم بإنشاء منتقي لعنصر `.wheel` الخاص بك. ابدأ بتعيين `border` إلى `2px solid black`، و `border-radius`الي `50%`، و `margin-left` إلى `50px`. +Create a selector for your `.wheel` element. Start by setting the `border` to `2px solid black`, the `border-radius` to `50%`, and the `margin-left` to `50px`. # --hints-- -يجب أن يكون لديك منتقي `.wheel`. +You should have a `.wheel` selector. ```js assert(new __helpers.CSSHelp(document).getStyle('.wheel')); ``` -يجب أن يكون لمنتقي `.wheel` الخاص بك خاصية `border` بقيمة `2px solid black`. +Your `.wheel` selector should have a `border` property set to `2px solid black`. ```js assert(new __helpers.CSSHelp(document).getStyle('.wheel')?.border === '2px solid black'); ``` -يجب أن يكون لمنتقي `.wheel` الخاص بك الخاصية `border-radius` بقيمة `50%`. +Your `.wheel` selector should have a `border-radius` property set to `50%`. ```js assert(new __helpers.CSSHelp(document).getStyle('.wheel')?.borderRadius === '50%'); ``` -يجب أن يكون لمنتقي `.wheel` الخاص بك الخاصية `margin-left` بقيمة `50px`. +Your `.wheel` selector should have a `margin-left` property set to `50px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.wheel')?.marginLeft === '50px'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/617ace7d831f9c16a569b38a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/617ace7d831f9c16a569b38a.md index faa15dcfe4..c7cc4432ee 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/617ace7d831f9c16a569b38a.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-animation-by-building-a-ferris-wheel/617ace7d831f9c16a569b38a.md @@ -1,23 +1,23 @@ --- id: 617ace7d831f9c16a569b38a -title: الخطوة 5 +title: Step 5 challengeType: 0 dashedName: step-5 --- # --description-- -قم بإعطاء منتقي `.wheel` الخاص بك `max-height` و `max-width` بقيمة `500px`. +Give your `.wheel` selector a `max-height` and `max-width` property both set to `500px`. # --hints-- -يجب أن يكون لمنتقي `.wheel` الخاص بك الخاصية `max-height` بقيمة `500px`. +Your `.wheel` selector should have a `max-height` property set to `500px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.wheel')?.maxHeight === '500px'); ``` -يجب أن يكون لمنتقي `.wheel` الخاص بك الخاصية `max-width` بقيمة `500px`. +Your `.wheel` selector should have a `max-width` property set to `500px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.wheel')?.maxWidth === '500px'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d47bc9eedc4bc7f621bec.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d47bc9eedc4bc7f621bec.md index 0b44696ec2..aafa3ed834 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d47bc9eedc4bc7f621bec.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/616d47bc9eedc4bc7f621bec.md @@ -1,6 +1,6 @@ --- id: 616d47bc9eedc4bc7f621bec -title: الخطوة 10 +title: Step 10 challengeType: 0 dashedName: step-10 --- @@ -11,25 +11,25 @@ Next, within the `div` element, add another `div` element and give it a class of # --hints-- -يجب أن يحتوي عنصر `div` الجديد على opening tag. +Your new `div` element should have an opening tag. ```js assert([...code.matchAll(//gi)][1]); ``` -يجب أن يحتوي العنصر `div` الجديد على closing tag. +Your new `div` element should have a closing tag. ```js assert([...code.matchAll(/<\/div\s*>/gi)][1]); ``` -يجب عليك دمج عنصر `div` الجديد الخاص بك داخل الـ `div` بـ class الـ `container`. +You should nest your new `div` element within the `div` with the class `container`. ```js assert(document.querySelector('.container')?.children[0]?.localName === 'div'); ``` -يجب أن تعطي عنصر `div` الجديد class الـ `marker`. +You should give your new `div` element a class of `marker`. ```js const containerChildren = [...document.querySelector('.container')?.children]; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61764f7e5240eb7ccc7f6a0a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61764f7e5240eb7ccc7f6a0a.md index 9fb96acd16..a700b99247 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61764f7e5240eb7ccc7f6a0a.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61764f7e5240eb7ccc7f6a0a.md @@ -1,23 +1,23 @@ --- id: 61764f7e5240eb7ccc7f6a0a -title: الخطوة 18 +title: Step 18 challengeType: 0 dashedName: step-18 --- # --description-- -ثم قم بإنشاء قاعدة CSS جديدة تستهدف class الـ `one` وتعين خاصية `background-color` إلى `red`. +Then, create a new CSS rule that targets the class `one` and set its `background-color` property to `red`. # --hints-- -يجب عليك استخدام class selector لاستهداف class الـ `one`. +You should use a class selector to target the class `one`. ```js assert(new __helpers.CSSHelp(document).getStyle('.one')); ``` -يجب أن يكون لقاعدة CSS لـ `.one` الخاصية `background-color` بقيمة `red`. +Your `.one` CSS rule should have a `background-color` property set to `red`. ```js assert(new __helpers.CSSHelp(document).getStyle('.one')?.backgroundColor === 'red'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b65579ce424bf5f02ca73.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b65579ce424bf5f02ca73.md index dcd8ec1104..809eb2c4fc 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b65579ce424bf5f02ca73.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b65579ce424bf5f02ca73.md @@ -1,27 +1,27 @@ --- id: 617b65579ce424bf5f02ca73 -title: الخطوة 21 +title: Step 21 challengeType: 0 dashedName: step-21 --- # --description-- -هذه الأيام، هناك نموذجان رئيسيان من الألوان: نموذج المضاف RGB (red, green, blue) المستخدم في الأجهزة الإلكترونية، و نموذج مطروح CMYK (cyan, magenta, yellow, black) المستخدم في الطباعة. +There are two main color models: the additive RGB (red, green, blue) model used in electronic devices, and the subtractive CMYK (cyan, magenta, yellow, black) model used in print. -في هذا المشروع ستعمل مع نموذج RGB. وهذا يعني أن الألوان تبدأ بالأسود، وتتغير كمستويات مختلفة من الأحمر والأخضر والأزرق. طريقة سهلة لمشاهدة هذا هو باستخدام وظيفة CSS تسمي `rgb`. +In this project, you'll work with the RGB model. This means that colors begin as black, and change as different levels of red, green, and blue are introduced. An easy way to see this is with the CSS `rgb` function. -أنشئ قاعدة CSS جديدة تستهدف فئة `container` وتعيين `background-color` للأسود باستخدام `rgb(0, 0, 0)`. +Create a new CSS rule that targets the class `container` and set its `background-color` to black with `rgb(0, 0, 0)`. # --hints-- -يجب عليك استخدام متقي class لاستهداف فئة `container`. +You should use a class selector to target the class `container`. ```js assert(new __helpers.CSSHelp(document).getStyle('.container')); ``` -يجب أن يكون لقاعدة CSS مسمى `.container` الخاصية `background-color` بقيمة `rgb(0, 0, 0)`. +Your `.container` CSS rule should have a `background-color` property set to `rgb(0, 0, 0)`. ```js assert(new __helpers.CSSHelp(document).getStyle('.container')?.backgroundColor === 'rgb(0, 0, 0)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b8b38f32bf2080a140675.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b8b38f32bf2080a140675.md index 7baee0518b..f88fec8967 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b8b38f32bf2080a140675.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b8b38f32bf2080a140675.md @@ -1,31 +1,31 @@ --- id: 617b8b38f32bf2080a140675 -title: الخطوة ٢٢ +title: Step 22 challengeType: 0 dashedName: step-22 --- # --description-- -الوظيفة (function) هي جزء من الكود البرمجي التي يمكن أن تأخذ مدخلات وتنفذ إجراء محددا. تقوم وظيفة CSS تدعي `rgb` بقبول القيم، أو حجج، للأحمر والأخضر والأزرق، وتنتج لون: +A function is a piece of code that can take an input and perform a specific action. The CSS `rgb` function accepts values, or arguments, for red, green, and blue, and produces a color: ```css rgb(red, green, blue); ``` -كل قيمة حمراء وخضراء وزرقاء هي رقم من `0` إلى `255`. `0` يعني أن هناك 0% من هذا اللون، وهو أسود. `255` يعني أن هناك 100% من هذا اللون. +Each red, green, and blue value is a number from `0` to `255`. `0` means that there's 0% of that color, and is black. `255` means that there's 100% of that color. -في قاعدة CSS مسمى `.one` استبدل كلمة اللون `red` بالوظيفة `rgb`. بالنسبة لوظيفة `rgb`، عيين قيمة الأحمر إلى `255`، قيمة اللون الأخضر إلى `0`، والقيمة للأزرق إلى `0`. +In the `.one` CSS rule, replace the color keyword `red` with the `rgb` function. For the `rgb` function, set the value for red to `255`, the value for green to `0`, and the value for blue to `0`. # --hints-- -لا ينبغي لقاعدة CSS الخاصة بك `.one` أن تستخدم كلمة `red` لتحديد خاصية `background-color`. +Your `.one` CSS rule should not use the `red` color keyword to set the `background-color` property. ```js assert(new __helpers.CSSHelp(document).getStyle('.one')?.backgroundColor !== 'red'); ``` -يجب أن يكون لقاعدة CSS مسمى `.one` الخاصية `background-color` بقيمة `rgb(255, 0, 0)`. +Your `.one` CSS rule should have a `background-color` property set to `rgb(255, 0, 0)`. ```js assert(new __helpers.CSSHelp(document).getStyle('.one')?.backgroundColor === 'rgb(255, 0, 0)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b8e0d93a8d10d9a90e720.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b8e0d93a8d10d9a90e720.md index 4db8f846ad..c543f60900 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b8e0d93a8d10d9a90e720.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b8e0d93a8d10d9a90e720.md @@ -1,39 +1,39 @@ --- id: 617b8e0d93a8d10d9a90e720 -title: الخطوة 23 +title: Step 23 challengeType: 0 dashedName: step-23 --- # --description-- -لاحظ أن `background-color` من marker الخاص بك لا يزل أحمر. هذا لأنك عيّنت القيمة الحمراء للوظيفة `rgb` إلى الحد الأقصى `255`، أو 100٪ أحمر، وتعيين القيم الخضراء والزرقاء على حد سواء إلى `0`. +Notice that the `background-color` for your marker is still red. This is because you set the red value of the `rgb` function to the max of `255`, or 100% red, and set both the green and blue values to `0`. -الآن استخدم وظيفة `rgb` لتعيين الألوان الأخرى. +Now use the `rgb` function to set the other colors. -في قاعدة CSS مسمى `.two`، استخدم الوظيفة `rgb` لتعيين `background-color` إلى الحد الأقصى للقيمة الخضراء، و `0` للقيم الأخرى. وفي قاعدة CSS مسمى `.three`، استخدم الوظيفة `rgb` لتعيين `background-color` إلى القيمة القصوى للأزرق، و `0` للقيم الأخرى. +In the `.two` CSS rule, use the `rgb` function to set the `background-color` to the max value for green, and `0` for the other values. And in the `.three` CSS rule, use the `rgb` function to set the `background-color` to the max value for blue, and `0` for the other values. # --hints-- -لا ينبغي لقاعدة CSS الخاصة بك `.two` أن تستخدم كلمة `green` لتحديد خاصية `background-color`. +Your `.two` CSS rule should not use the `green` color keyword to set the `background-color` property. ```js assert(new __helpers.CSSHelp(document).getStyle('.two')?.backgroundColor !== 'green'); ``` -يجب أن يكون لقاعدة CSS مسمى `.two` الخاصية `background-color` بقيمة `rgb(0, 255, 0)`. +Your `.two` CSS rule should have a `background-color` property set to `rgb(0, 255, 0)`. ```js assert(new __helpers.CSSHelp(document).getStyle('.two')?.backgroundColor === 'rgb(0, 255, 0)'); ``` -لا ينبغي لقاعدة CSS الخاصة بك `.three` أن تستخدم كلمة `blue` لتحديد خاصية `background-color`. +Your `.three` CSS rule should not use the `blue` color keyword to set the `background-color` property. ```js assert(new __helpers.CSSHelp(document).getStyle('.three')?.backgroundColor !== 'blue'); ``` -يجب أن يكون لقاعدة CSS مسمى `.three` الخاصية `background-color` بقيمة `rgb(0, 0, 255)`. +Your `.three` CSS rule should have a `background-color` property set to `rgb(0, 0, 255)`. ```js assert(new __helpers.CSSHelp(document).getStyle('.three')?.backgroundColor === 'rgb(0, 0, 255)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b954d9f4f6217a749380e.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b954d9f4f6217a749380e.md index 524b024d96..2c3b87c8c9 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b954d9f4f6217a749380e.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617b954d9f4f6217a749380e.md @@ -1,25 +1,25 @@ --- id: 617b954d9f4f6217a749380e -title: الخطوة 25 +title: Step 25 challengeType: 0 dashedName: step-25 --- # --description-- -الآن أضف مساحة رأسية بين markers الخاصة بك وحافة عنصر `container` الموجودة فيه. +Now add a little more vertical space between your markers and the edge of the `container` element they're in. -في قاعدة CSS مسمى `.container`، استخدم الخاصية القصيرة `padding` بقيمة `10px` إلى top padding و bottom padding، وعيّن left padding و right padding إلى `0`. يعمل هذا بشكل مماثل مع خاصية اختصار `margin` الذي استخدمتها من قبل. +In the `.container` CSS rule, use the shorthand `padding` property to add `10px` of top and bottom padding, and set the left and right padding to `0`. This works similarly to the shorthand `margin` property you used earlier. # --hints-- -لا يجب عليك إزالة خاصية `background-color` وقيمتها من قاعدة CSS مسمى `.container`. +You should not remove the `background-color` property and its value from the `.container` CSS rule. ```js assert(new __helpers.CSSHelp(document).getStyle('.container')?.backgroundColor === 'rgb(0, 0, 0)'); ``` -يجب أن تكون لقاعدة CSS الخاصة بك `.container` خاصية `padding` بقيمة `10px 0`. +Your `.container` CSS rule should have a `padding` property set to `10px 0`. ```js assert(new __helpers.CSSHelp(document).getStyle('.container')?.padding === '10px 0px'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bb5624a75e86463b7e638.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bb5624a75e86463b7e638.md index dcc8469506..1798faa04c 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bb5624a75e86463b7e638.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/617bb5624a75e86463b7e638.md @@ -1,19 +1,19 @@ --- id: 617bb5624a75e86463b7e638 -title: الخطوة 28 +title: Step 28 challengeType: 0 dashedName: step-28 --- # --description-- -الألوان الثانوية هي الألوان التي تحصل عليها عند دمج الألوان الأساسية. ربما لاحظت بعض الألوان الثانوية في الخطوة الأخيرة عندما قمت بتغيير القيم الأحمر والأخضر والأزرق. +Secondary colors are the colors you get when you combine primary colors. You might have noticed some secondary colors in the last step as you changed the red, green, and blue values. -لإنشاء اللون الثانوي الأول yellow، قم بتحديث وظيفة `rgb` في قاعدة CSS مسمى `.one` للجمع بين الأحمر النقي والأخضر النقي. +To create the first secondary color, yellow, update the `rgb` function in the `.one` CSS rule to combine pure red and pure green. # --hints-- -يجب أن يكون لقاعدة CSS مسمى `.one` الخاصية `background-color` بقيمة `rgb(255, 255, 0)`. +Your `.one` CSS rule should have a `background-color` property set to `rgb(255, 255, 0)`. ```js assert(new __helpers.CSSHelp(document).getStyle('.one')?.backgroundColor === 'rgb(255, 255, 0)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a16873520a8d088ffdf44.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a16873520a8d088ffdf44.md index e1dffddc94..df57ec5459 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a16873520a8d088ffdf44.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/618a16873520a8d088ffdf44.md @@ -1,6 +1,6 @@ --- id: 618a16873520a8d088ffdf44 -title: الخطوة 40 +title: Step 40 challengeType: 0 dashedName: step-40 --- @@ -11,7 +11,7 @@ And in the `h1` CSS rule, remove the `background-color` property and value to go # --hints-- -قاعدة CSS الخاصة بك `h1` لا ينبغي أن تحتوي على خاصية أو قيمة `background-color`. +Your `h1` CSS rule should not have a `background-color` property or value. ```js const backgroundColorInstances = code.match(/background-color:.*;/gi); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b7424f43ec9215e538afe.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b7424f43ec9215e538afe.md index f092d2fe8f..3dd8276648 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b7424f43ec9215e538afe.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b7424f43ec9215e538afe.md @@ -1,38 +1,38 @@ --- id: 619b7424f43ec9215e538afe -title: الخطوة 44 +title: Step 44 challengeType: 0 dashedName: step-44 --- # --description-- -بعد ذلك، قم بتغيير class الـ `two` إلى `green` في `div` الـ marker الثاني، و class الـ `three` إلى `blue` في `div` الـ marker الثالث. +Next, change the class `two` to `green` in the second marker `div`, and the class `three` to `blue` in the third marker `div`. # --hints-- -`div` الـ marker الثاني يجب ألا يحتوي على class الـ `two`. +Your second marker `div` should not have the class `two`. ```js const containerSecondChild = [...document.querySelector('.container')?.children][1]; assert(!containerSecondChild?.classList?.contains('two')); ``` -`div` الـ marker الثاني يجب أن يحتوي على classes الـ `marker` و `green`. +Your second marker `div` should have the classes `marker` and `green`. ```js const containerSecondChild = [...document.querySelector('.container')?.children][1]; assert(containerSecondChild?.classList?.contains('marker') && containerSecondChild?.classList?.contains('green')); ``` -`div` الـ marker الثالث يجب ألا يحتوي على class الـ `three`. +Your third marker `div` should not have the class `three`. ```js const containerThirdChild = [...document.querySelector('.container')?.children][2]; assert(!containerThirdChild?.classList?.contains('three')); ``` -`div` الـ marker الثالث يجب أن يحتوي على classes الـ `marker` و `blue`. +Your third marker `div` should have the classes `marker` and `blue`. ```js const containerThirdChild = [...document.querySelector('.container')?.children][2]; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b761916dac02643940022.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b761916dac02643940022.md index 00324ab457..fb337607c7 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b761916dac02643940022.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/619b761916dac02643940022.md @@ -1,21 +1,21 @@ --- id: 619b761916dac02643940022 -title: الخطوة 46 +title: Step 46 challengeType: 0 dashedName: step-46 --- # --description-- -طريقة شائعة جداً لتطبيق اللون على عنصر باستخدام CSS هي باستخدام hexadecimal أو قيم hex. بينما تبدو قيم الـ hex معقدة، فهي مجرد شكل آخر من قيم ال RGB. +A very common way to apply color to an element with CSS is with hexadecimal or hex values. While hex values sound complicated, they're really just another form of RGB values. -تبدأ قيم اللون hex برمز `#` وتأخذ ستة رموز من 0-9 و A-F. الزوج الأول من الرموز يمثل الأحمر، والزوج الثاني يمثل الأخضر، والزوج الثالث يمثل الأزرق. على سبيل المثال، `#4B5320`. +Hex color values start with a `#` character and take six characters from 0-9 and A-F. The first pair of characters represent red, the second pair represent green, and the third pair represent blue. For example, `#4B5320`. In the `.green` class selector, set the `background-color` property to a hex color code with the values `00` for red, `FF` for green, and `00` blue. # --hints-- -قاعدة CSS لـ `.green` يجب أن تحتوي علي الخاصية `background-color` بقيمة `#00FF00`. +Your `.green` CSS rule should have a `background-color` property set to `#00FF00`. ```js assert(new __helpers.CSSHelp(document).getStyle('.green')?.backgroundColor === 'rgb(0, 255, 0)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a489b8579e87364b2d2cdb.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a489b8579e87364b2d2cdb.md index 128486f604..9c38a22817 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a489b8579e87364b2d2cdb.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a489b8579e87364b2d2cdb.md @@ -1,23 +1,23 @@ --- id: 61a489b8579e87364b2d2cdb -title: الخطوة 49 +title: Step 49 challengeType: 0 dashedName: step-49 --- # --description-- -لقد تعلمت بعض الطرق لتعيين ألوان مسطحة في CSS ولكن يمكنك أيضًا استخدام color transition، أو gradient، على عنصر ما. +You've learned a few ways to set flat colors in CSS, but you can also use a color transition, or gradient, on an element. -الـ gradient هو عندما ينتقل لون إلى لون آخر. تتيح لك دالة CSS الـ `linear-gradient` التحكم في اتجاه الـ transition على طول خط، والألوان المستخدمة. +A gradient is when one color transitions into another. The CSS `linear-gradient` function lets you control the direction of the transition along a line, and which colors are used. -شيء واحد يجب تذكره هو أن دالة `linear-gradient` تخلق في الواقع عنصر `image`، وعادة ما تقترن مع خاصية `background` التي يمكن أن تقبل صورة كقيمة. +One thing to remember is that the `linear-gradient` function actually creates an `image` element, and is usually paired with the `background` property which can accept an image as a value. -في قاعدة CSS لـ `.red`، قم بتغيير خاصية `background-color` إلى `background`. +In the `.red` CSS rule, change the `background-color` property to `background`. # --hints-- -قاعدة CSS لـ `.red` يجب ان يحتوي علي خاصية `background` بالقيمة `rgb(255, 0, 0)`. +Your `.red` CSS rule should have a `background` property with the value `rgb(255, 0, 0)`. ```js assert.match(__helpers.removeWhiteSpace(code), /\.red\{.*?background:rgb\(255,0,0\)/); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5ca57f50ded36d33eef96.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5ca57f50ded36d33eef96.md index 0148b63f55..66bf66e395 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5ca57f50ded36d33eef96.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61a5ca57f50ded36d33eef96.md @@ -1,19 +1,19 @@ --- id: 61a5ca57f50ded36d33eef96 -title: الخطوة 66 +title: Step 66 challengeType: 0 dashedName: step-66 --- # --description-- -الآن ستطبق معامل تدرج (gradient) على marker الأزرق، هذا المرة باستخدام وظيفة `hsl` كـحجج للألوان. +Now you'll apply a gradient to the blue marker, this time using the `hsl` function as color arguments. -في قاعدة CSS مسمى `.blue`، قم بتغيير خاصية `background-color` إلى `background`. +In the `.blue` CSS rule, change the `background-color` property to `background`. # --hints-- -قاعدة CSS مسمى `.blue` يجب أن يحتوي علي خاصية `background` بالقيمة `hsl(240, 100%, 50%)`. +Your `.blue` CSS rule should have a `background` property with the value `hsl(240, 100%, 50%)`. ```js assert.match(__helpers.removeWhiteSpace(code), /\.blue\{.*?background:hsl\(240,100%,50%\)/); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b092eb9e7fc020b43b1bb2.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b092eb9e7fc020b43b1bb2.md index 9ff3af9fd3..abe6ce28aa 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b092eb9e7fc020b43b1bb2.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b092eb9e7fc020b43b1bb2.md @@ -1,19 +1,19 @@ --- id: 61b092eb9e7fc020b43b1bb2 -title: الخطوة 72 +title: Step 72 challengeType: 0 dashedName: step-72 --- # --description-- -لجعل marker يبدو أكثر واقعية، اعطي sleeve لون أبيض شفاف. +To make the marker look more realistic, give the sleeve a transparent white color. -أولاً، أعطي عنصر sleeve خاصية `background-color` بقيمة `white`. +First, set the sleeve element's `background-color` to `white`. # --hints-- -يجب أن يكون لقاعدة CSS مسمى `.sleeve` الخاصية `background-color` بقيمة `white`. +Your `.sleeve` CSS rule should have a `background-color` property set to `white`. ```js assert(new __helpers.CSSHelp(document).getStyle('.sleeve')?.backgroundColor === 'white'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b093219e7fc020b43b1bb4.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b093219e7fc020b43b1bb4.md index ae097ac468..dd190a3b42 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b093219e7fc020b43b1bb4.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b093219e7fc020b43b1bb4.md @@ -1,21 +1,21 @@ --- id: 61b093219e7fc020b43b1bb4 -title: الخطوة 74 +title: Step 74 challengeType: 0 dashedName: step-74 --- # --description-- -طريقة أخرى لتعيين opacity لعنصر ما هي باستخدام alpha channel. على غرار خاصية `opacity`، تتحكم وحدة alpha في مدى شفافية اللون. +Another way to set the opacity for an element is with the alpha channel. Similar to the `opacity` property, the alpha channel controls how transparent or opaque a color is. -لقد قمت فعلًا بتعيين opacity ألى sleeve مع لون مسمى وخاصية `opacity` ولكن يمكنك إضافة وحدة alpha إلى خصائص ألوان CSS الأخرى. +You've already set sleeve's opacity with a named color and the `opacity` property, but you can add an alpha channel to the other CSS color properties. -داخل قاعدة `.sleeve`، قم بإزالة الخاصية والقيمة `opacity`. +Inside the `.sleeve` rule, remove the `opacity` property and value. # --hints-- -لا ينبغي لقاعدة CSS الخاصة بك `.sleeve` أن تحتوي على خاصية وقيمة `opacity`. +Your `.sleeve` CSS rule should not have an `opacity` property and value. ```js assert(!new __helpers.CSSHelp(document).getStyle('.sleeve')?.opacity); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b09f739aa6572d2064f9b8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b09f739aa6572d2064f9b8.md index 57080ec1e8..c3168768e8 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b09f739aa6572d2064f9b8.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b09f739aa6572d2064f9b8.md @@ -1,19 +1,19 @@ --- id: 61b09f739aa6572d2064f9b8 -title: الخطوة 84 +title: Step 84 challengeType: 0 dashedName: step-84 --- # --description-- -اللون الأسود لحدودك يبدو قاسيا جدا ضد sleeve الأكثر شفافية. يمكنك استخدام alpha channel لتقليل شفافية (opacity) الحدود السوداء. +The black color of your border looks pretty harsh against the more transparent sleeve. You can use an alpha channel to lower the opacity of the black border. -لخاصية `border-left`، استخدم وظيفة `rgba` لتعيين قيمة اللون إلى الأسود النقي مع شفافية 75%. +For the `border-left` shorthand property, use the `rgba` function to set the color value to pure black with 75% opacity. # --hints-- -قاعدة CSS مسمى `.sleeve`، يجب أن تحتوي علي خاصية `border-left` مع القيمة `10px double rgba(0, 0, 0, 0.75)`. +Your `.sleeve` CSS rule should have a `border-left` shorthand property and with the value `10px double rgba(0, 0, 0, 0.75)`. ```js assert(new __helpers.CSSHelp(document).getStyle('.sleeve')?.borderLeft === '10px double rgba(0, 0, 0, 0.75)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b0a1b2af494934b7ec1a72.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b0a1b2af494934b7ec1a72.md index f13f567199..b87a6ef2fc 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b0a1b2af494934b7ec1a72.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b0a1b2af494934b7ec1a72.md @@ -1,26 +1,26 @@ --- id: 61b0a1b2af494934b7ec1a72 -title: الخطوة 85 +title: Step 85 challengeType: 0 dashedName: step-85 --- # --description-- -رائع. يبدو marker الأحمر الخاص بك جيد. الآن ما عليك فعله هو إضافة caps و sleeves إلى markers الأخرى الخاصة بك. +Awesome. Your red marker is looking good. Now all you need to do is add the caps and sleeves to your other markers. -أضف cap و sleeve إلى كل من markers الخضراء والزرقاء. يمكنك فقط نسخ عناصر `div` من marker الأحمر ولصقها في markers الأخريين. +Add a cap and sleeve to both the green and blue markers. You can just copy the `div` elements from the red marker and paste them into the other two markers. # --hints-- -يجب أن يحتوي `div` من marker الأخضر على عنصرين `div`. +Your green marker `div` should contain two `div` elements. ```js const greenMarkerChildren = [...document.querySelector('.green')?.children]; assert(greenMarkerChildren.every(child => child?.localName === 'div') && greenMarkerChildren.length === 2); ``` -يجب أن يكون عنصر `div` من marker الأخضر قبل عنصر `div` من sleeve. +Your green marker's cap `div` element should be before the sleeve `div` element. ```js const greenMarkerChildren = [...document.querySelector('.green')?.children]; @@ -29,14 +29,14 @@ const greenMarkerSleeve = document.querySelector('.green .sleeve'); assert(greenMarkerChildren.indexOf(greenMarkerCap) < greenMarkerChildren.indexOf(greenMarkerSleeve)); ``` -يجب أن تحتوي `div` من marker الأزرق على عنصرين `div`. +Your blue marker `div` should contain two `div` elements. ```js const blueMarkerChildren = [...document.querySelector('.blue')?.children]; assert(blueMarkerChildren.every(child => child?.localName === 'div') && blueMarkerChildren.length === 2); ``` -يجب أن يكون عنصر `div` من marker الأزرق قبل عنصر `div` من sleeve. +Your blue marker's cap `div` element should be before the sleeve `div` element. ```js const blueMarkerChildren = [...document.querySelector('.blue')?.children]; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b3183655ec10efd8c0bb07.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b3183655ec10efd8c0bb07.md index ffd92ad084..1cc0c1b359 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b3183655ec10efd8c0bb07.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-colors-by-building-a-set-of-colored-markers/61b3183655ec10efd8c0bb07.md @@ -1,25 +1,25 @@ --- id: 61b3183655ec10efd8c0bb07 -title: الخطوة 92 +title: Step 92 challengeType: 0 dashedName: step-92 --- # --description-- -الظلال للـ markers الخضراء والزرقاء الخاصة بك ستكون لها نفس الـ position و blur و spread. الفرق الوحيد هو الألوان. +The shadows for your green and blue markers will have the same position, blur, and spread. The only difference will be the colors. -في قاعدة CSS لـ `.green` و `.blue`، قم بتحديث القيم لخاصية `box-shadow` حتي يصبح `offsetX` بقيمة `0` و `offsetY` بقيمة `0` و `blurRadius` بقيمة `20px` و `spreadRadius` بقيمة `0`. اترك الألوان كـ `green` و `blue` الآن. +In the `.green` and `.blue` CSS rules, update the values for the `box-shadow` properties so `offsetX` is `0`,`offsetY` is `0`, `blurRadius` is `20px`, and `spreadRadius` is `0`. Leave the colors as `green` and `blue` for now. # --hints-- -قاعدة CSS لـ `.green`، يجب ان تحتوي علي خاصية `box-shadow` مع القيمة `0 0 20px 0 green`. +Your `.green` CSS rule should have a `box-shadow` shorthand property and with the value `0 0 20px 0 green`. ```js assert(new __helpers.CSSHelp(document).getStyle('.green')?.boxShadow === 'green 0px 0px 20px 0px'); ``` -قاعدة CSS لـ `.blue`، يجب ان تحتوي علي خاصية `box-shadow` مع القيمة `0 0 20px 0 blue`. +Your `.blue` CSS rule should have a `box-shadow` shorthand property and with the value `0 0 20px 0 blue`. ```js assert(new __helpers.CSSHelp(document).getStyle('.blue')?.boxShadow === 'blue 0px 0px 20px 0px'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61537d86bdc3dd343688fceb.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61537d86bdc3dd343688fceb.md index e95535e758..b205c1600c 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61537d86bdc3dd343688fceb.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/61537d86bdc3dd343688fceb.md @@ -1,72 +1,72 @@ --- id: 61537d86bdc3dd343688fceb -title: الخطوة 6 +title: Step 6 challengeType: 0 dashedName: step-6 --- # --description-- -بعد ذلك، اعطي كل `img` سمة `src` وفقا لترتيبهم في المستند. يجب أن يحتوي عنصر `img` الأول على `src` بقيمة `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/1.jpg`. يجب أن تكون البقية مثلها، باستثناء استبدل `1` بالرقم ترتيب `img` في المستند. +Next, give each `img` a `src` attribute according to its order in the document. The first `img` should have a `src` of `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/1.jpg`. The rest should be the same, except replace the `1` with the number the `img` is in the document. # --hints-- -جميع العناصر التسع من `img` الخاصة بك يجب أن تحتوي على سمة `src`. +All nine of your `img` elements should have a `src` attribute. ```js const images = [...document.querySelectorAll('img')]; assert(images.every(image => image.getAttribute('src'))); ``` -يجب أن يحتوي العنصر `img` الأول على `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/1.jpg` قيمة سمة `src`. +Your first `img` element should have `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/1.jpg` set as the `src` attribute value. ```js assert(document.querySelectorAll('img')?.[0]?.getAttribute('src') === 'https://cdn.freecodecamp.org/curriculum/css-photo-gallery/1.jpg'); ``` -يجب أن يحتوي العنصر `img` الثاني على `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/2.jpg` قيمة سمة `src`. +Your second `img` element should have `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/2.jpg` set as the `src` attribute value. ```js assert(document.querySelectorAll('img')?.[1]?.getAttribute('src') === 'https://cdn.freecodecamp.org/curriculum/css-photo-gallery/2.jpg'); ``` -يجب أن يحتوي العنصر `img` الثالث على `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/3.jpg` قيمة سمة `src`. +Your third `img` element should have `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/3.jpg` set as the `src` attribute value. ```js assert(document.querySelectorAll('img')?.[2]?.getAttribute('src') === 'https://cdn.freecodecamp.org/curriculum/css-photo-gallery/3.jpg'); ``` -يجب أن يحتوي العنصر `img` الرابع على `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/4.jpg` قيمة سمة `src`. +Your fourth `img` element should have `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/4.jpg` set as the `src` attribute value. ```js assert(document.querySelectorAll('img')?.[3]?.getAttribute('src') === 'https://cdn.freecodecamp.org/curriculum/css-photo-gallery/4.jpg'); ``` -يجب أن يحتوي العنصر `img` الخامس على `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/5.jpg` قيمة سمة `src`. +Your fifth `img` element should have `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/5.jpg` set as the `src` attribute value. ```js assert(document.querySelectorAll('img')?.[4]?.getAttribute('src') === 'https://cdn.freecodecamp.org/curriculum/css-photo-gallery/5.jpg'); ``` -يجب أن يحتوي العنصر `img` السادس على `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/6.jpg` قيمة سمة `src`. +Your sixth `img` element should have `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/6.jpg` set as the `src` attribute value. ```js assert(document.querySelectorAll('img')?.[5]?.getAttribute('src') === 'https://cdn.freecodecamp.org/curriculum/css-photo-gallery/6.jpg'); ``` -يجب أن يحتوي العنصر `img` السابع على `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/7.jpg` قيمة سمة `src`. +Your seventh `img` element should have `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/7.jpg` set as the `src` attribute value. ```js assert(document.querySelectorAll('img')?.[6]?.getAttribute('src') === 'https://cdn.freecodecamp.org/curriculum/css-photo-gallery/7.jpg'); ``` -يجب أن يحتوي العنصر `img` الثامن على `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/8.jpg` قيمة سمة `src`. +Your eighth `img` element should have `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/8.jpg` set as the `src` attribute value. ```js assert(document.querySelectorAll('img')?.[7]?.getAttribute('src') === 'https://cdn.freecodecamp.org/curriculum/css-photo-gallery/8.jpg'); ``` -يجب أن يحتوي العنصر `img` التاسع على `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/9.jpg` قيمة سمة `src`. +Your ninth `img` element should have `https://cdn.freecodecamp.org/curriculum/css-photo-gallery/9.jpg` set as the `src` attribute value. ```js assert(document.querySelectorAll('img')?.[8]?.getAttribute('src') === 'https://cdn.freecodecamp.org/curriculum/css-photo-gallery/9.jpg'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153893900438b4643590367.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153893900438b4643590367.md index bdff5cd133..9c56de3a43 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153893900438b4643590367.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153893900438b4643590367.md @@ -1,57 +1,57 @@ --- id: 6153893900438b4643590367 -title: الخطوة 13 +title: Step 13 challengeType: 0 dashedName: step-13 --- # --description-- -حاذي نصك `.header` في منتصف. أجعل النص كبير باستخدام خاصية `text-transform` مع خاصية بقيمة `uppercase`. +Align your `.header` text in the center. Make the text uppercase using the `text-transform` property with `uppercase` as the value. -أعطاها padding بقيمة `32px` على جميع الجوانب. عيّن قيم ألوان الخلفية إلى `#0a0a23` والنص إلى `#fff`. +Give it a padding of `32px` on all sides. Set the background to `#0a0a23` and the text to `#fff` as the color values. -أضف `border-bottom` بقيمة `4px solid #fdb347`. +Add a `border-bottom` with `4px solid #fdb347` as the value. # --hints-- -يجب أن يكون لديك منتقي `.header`. +You should have a `.header` selector. ```js assert.exists(new __helpers.CSSHelp(document).getStyle('.header')); ``` -يجب أن يكون لمنتقي `.header` الخاص بك خاصية `text-align` بقيمة `center`. +Your `.header` selector should have a `text-align` property set to `center` as the value. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.header')?.textAlign, 'center'); ``` -يجب أن يكون لمنتقي `.header` الخاص بك خاصية `text-transform` بقيمة `uppercase`. +Your `.header` selector should have a `text-transform` property set to `uppercase` as the value. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.header')?.textTransform, 'uppercase'); ``` -يجب أن يحتوي منتقي `.header` على خاصية `padding` بقيمة `32px`. +Your `.header` selector should have a `padding` property set to `32px` as the value. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.header')?.padding, '32px'); ``` -يجب أن يحتوي منتقى `.header` على خاصية `background-color` بقيمة `#0a0a23`. +Your `.header` selector should have a `background-color` property set to `#0a0a23` as the value. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.header')?.backgroundColor, 'rgb(10, 10, 35)'); ``` -يجب أن يحتوي منتقي `.header` على خاصية `color` بقيمة `#fff`. +Your `.header` selector should have a `color` property set to `#fff` as the value. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.header')?.color, 'rgb(255, 255, 255)'); ``` -يجب أن يكون لمنتقاك `.header` الخاصية `border-bottom` بقيمة `4px solid #fdb347`. +Your `.header` selector should have a `border-bottom` property set to `4px solid #fdb347` as the value. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.header')?.borderBottom, '4px solid rgb(253, 179, 71)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153938dce8b294ff8f5a4e9.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153938dce8b294ff8f5a4e9.md index cd3f2042b2..c1857ab186 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153938dce8b294ff8f5a4e9.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-flexbox-by-building-a-photo-gallery/6153938dce8b294ff8f5a4e9.md @@ -1,19 +1,19 @@ --- id: 6153938dce8b294ff8f5a4e9 -title: الخطوة 17 +title: Step 17 challengeType: 0 dashedName: step-17 --- # --description-- -الخاصية `justify-content` تحدد كيفية وضع العناصر داخل الـ flex container على المحور الرئيسي، ويؤثر على موقعهم والمساحة المحيطة بهم. +The `justify-content` property determines how the items inside a flex container are positioned along the main axis, affecting their position and the space around them. -أعطي منتقي `.gallery` خاصية `justify-content` بقيمة `center`. +Give your `.gallery` selector a `justify-content` property with `center` as the value. # --hints-- -يجب أن يحتوي منتقي `.gallery` على خاصية `justify-content` بقيمة `center`. +Your `.gallery` selector should have a `justify-content` property set to `center` as the value. ```js assert(new __helpers.CSSHelp(document).getStyle('.gallery')?.justifyContent === 'center'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143a778bffc206ac6b1dbe3.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143a778bffc206ac6b1dbe3.md index 282b3b4259..916aca0b17 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143a778bffc206ac6b1dbe3.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143a778bffc206ac6b1dbe3.md @@ -1,13 +1,13 @@ --- id: 6143a778bffc206ac6b1dbe3 -title: الخطوة 17 +title: Step 17 challengeType: 0 dashedName: step-17 --- # --description-- -أضف أخر عنصر `p` نهاية عنصر `.text` الخاص بك، وقم بإعطائه النص التالي: +Create one final `p` element at the end of your `.text` element and give it the following text: ```markup Instead of a series of coding challenges, people will be in their code editor passing one test after another, quickly building up a project. People will get into a real flow state, similar to what they experience when they build the required projects at the end of each certification. They'll get that sense of forward progress right from the beginning. And freeCodeCamp will be a much smoother experience. @@ -15,13 +15,13 @@ Instead of a series of coding challenges, people will be in their code editor pa # --hints-- -يجب عليك إنشاء عنصر `p` سادس بداخل عنصر `.text`. +You should add a sixth `p` element to the `.text` element. ```js assert(document.querySelectorAll('.text p')?.length === 7) ``` -يجب أن يحتوي العنصر `p` السادس على النص المطلوب. +Your sixth `p` element should have the provided text. ```js assert(document.querySelectorAll('.text p')?.[6]?.innerText === 'Instead of a series of coding challenges, people will be in their code editor passing one test after another, quickly building up a project. People will get into a real flow state, similar to what they experience when they build the required projects at the end of each certification. They\'ll get that sense of forward progress right from the beginning. And freeCodeCamp will be a much smoother experience.') diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143b9e1f5035c6e5f2a8231.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143b9e1f5035c6e5f2a8231.md index 39970d8314..2d7aa24998 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143b9e1f5035c6e5f2a8231.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143b9e1f5035c6e5f2a8231.md @@ -1,15 +1,15 @@ --- id: 6143b9e1f5035c6e5f2a8231 -title: الخطوة 20 +title: Step 20 challengeType: 0 dashedName: step-20 --- # --description-- -ضمن عنصر `ul` الخاص بك، أنشئ ستة عناصر `li`. قم بإضافة عنصر `h4` مع `class` تم تعيينه إلى `list-subtitle` و عنصر `p` إلى كل من عناصر `li`. +Within your `ul` element, create six `li` elements. Add an `h4` element with a `class` set to `list-subtitle` and a `p` element to each of your `li` elements. -ثم اعطي عناصر `h4` و `p` محتوي النص التالي بالترتيب، مع استخدام `h4` كل من الموجود على الجانب الأيسر من النقطتين، و كل من `p` باستخدام ما هو على اليمين: +Then give the `h4` and `p` elements the following text content, in order, with each `h4` using what's on the left side of the colon, and each `p` using what's on the right: - `V1 - 2014`: `We launched freeCodeCamp with a simple list of 15 resources, including Harvard's CS50 and Stanford's Database Class.` - `V2 - 2015`: `We added interactive algorithm challenges.` @@ -20,92 +20,92 @@ dashedName: step-20 # --hints-- -يجب أن يحتوي عنصر `ul` الخاص بك على ستة عناصر `li`. +Your `ul` element should have six `li` elements. ```js assert(document.querySelectorAll('.lists li')?.length === 6); ``` -يجب أن يحتوي كل عنصر من عناصر `li` الجديدة على عنصر `h4` و `p`. +Each of your new `li` elements should have an `h4` and `p` element. ```js const lis = [...document.querySelectorAll('.lists li')]; assert(lis?.every(li => li?.children?.[0]?.localName === 'h4' && li?.children?.[1]?.localName === 'p')); ``` -يجب أن يحتوي أول `h4` على النص `V1 - 2014`. +Your first `h4` should have the text `V1 - 2014`. ```js assert(document.querySelectorAll('.lists li h4')?.[0]?.innerText === 'V1 - 2014'); ``` -يجب أن يحتوي أول `p` على النص `We launched freeCodeCamp with a simple list of 15 resources, including Harvard's CS50 and Stanford's Database Class.` +Your first `p` should have the text `We launched freeCodeCamp with a simple list of 15 resources, including Harvard's CS50 and Stanford's Database Class.` ```js assert(document.querySelectorAll('.lists li p')?.[0]?.innerText === 'We launched freeCodeCamp with a simple list of 15 resources, including Harvard\'s CS50 and Stanford\'s Database Class.'); ``` -يجب أن يحتوي `h4` الثاني على النص `V2 - 2015`. +Your second `h4` should have the text `V2 - 2015`. ```js assert(document.querySelectorAll('.lists li h4')?.[1]?.innerText === 'V2 - 2015'); ``` -يجب أن يكون نص `p` الثاني الخاص بك `We added interactive algorithm challenges.` +Your second `p` should have the text `We added interactive algorithm challenges.` ```js assert(document.querySelectorAll('.lists li p')?.[1]?.innerText === 'We added interactive algorithm challenges.'); ``` -ثالث `h4` يجب أن يحتوي على النص `V3 - 2015`. +Your third `h4` should have the text `V3 - 2015`. ```js assert(document.querySelectorAll('.lists li h4')?.[2]?.innerText === 'V3 - 2015'); ``` -يجب أن يكون نص `p` الثالث الخاص بك `We added our own HTML+CSS challenges (before we'd been relying on General Assembly's Dash course for these).` +Your third `p` should have the text `We added our own HTML+CSS challenges (before we'd been relying on General Assembly's Dash course for these).` ```js assert(document.querySelectorAll('.lists li p')?.[2]?.innerText === 'We added our own HTML+CSS challenges (before we\'d been relying on General Assembly\'s Dash course for these).'); ``` -رابع `h4` يجب ان يحتوي علي النص `V4 - 2016`. +Your fourth `h4` should have the text `V4 - 2016`. ```js assert(document.querySelectorAll('.lists li h4')?.[3]?.innerText === 'V4 - 2016'); ``` -أحتواء عنصر `p` الرابع على نص `We expanded the curriculum to 3 certifications, including Front End, Back End, and Data Visualization. They each had 10 required projects, but only the Front End section had its own challenges. For the other certs, we were still using external resources like Node School`. +Your fourth `p` should have the text `We expanded the curriculum to 3 certifications, including Front End, Back End, and Data Visualization. They each had 10 required projects, but only the Front End section had its own challenges. For the other certs, we were still using external resources like Node School`. ```js assert(document.querySelectorAll('.lists li p')?.[3]?.innerText === 'We expanded the curriculum to 3 certifications, including Front End, Back End, and Data Visualization. They each had 10 required projects, but only the Front End section had its own challenges. For the other certs, we were still using external resources like Node School.'); ``` -خامس `h4` يجب ان يحتوي علي النص `V5 - 2017`. +Your fifth `h4` should have the text `V5 - 2017`. ```js assert(document.querySelectorAll('.lists li h4')?.[4]?.innerText === 'V5 - 2017'); ``` -يجب أن يكون نص `p` الخامس `We added the back end and data visualization challenges.` +Your fifth `p` should have the text `We added the back end and data visualization challenges.` ```js assert(document.querySelectorAll('.lists li p')?.[4]?.innerText === 'We added the back end and data visualization challenges.'); ``` -سادس `h4` يجب ان يحتوي علي النص `V6 - 2018`. +Your sixth `h4` should have the text `V6 - 2018`. ```js assert(document.querySelectorAll('.lists li h4')?.[5]?.innerText === 'V6 - 2018'); ``` -أحتواء عنصر `p` السادس على نص `We launched 6 new certifications to replace our old ones. This was the biggest curriculum improvement to date.` +Your sixth `p` should have the text `We launched 6 new certifications to replace our old ones. This was the biggest curriculum improvement to date.` ```js assert(document.querySelectorAll('.lists li p')?.[5]?.innerText === 'We launched 6 new certifications to replace our old ones. This was the biggest curriculum improvement to date.'); ``` -يجب أن تحتوي عناصر `h4` الستة الخاصة بك على class يدعي `list-subtitle`. +Your six `h4` elements should each have the class `list-subtitle`. ```js const h4s = [...document.querySelectorAll('.lists li h4')]; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143c2a363865c715f1a3f72.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143c2a363865c715f1a3f72.md index 53a4259b05..2a6bd8dc4c 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143c2a363865c715f1a3f72.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6143c2a363865c715f1a3f72.md @@ -1,47 +1,47 @@ --- id: 6143c2a363865c715f1a3f72 -title: الخطوة 22 +title: Step 22 challengeType: 0 dashedName: step-22 --- # --description-- -داخل عنصر `.image-wrapper`، أعطى عنصر `img` الاول سمة `src` بقيمة `https://cdn.freecodecamp.org/testable-projects-fcc/images/random-quote-machine.png` و `alt` بقيمة `image of the quote machine project` و `class` يدعي `image-1` و سمة `loading` بقيمة `lazy`، و سمة `width` بقيمة `600`، و سمة `height` بقيمة `400`. +Within the `.image-wrapper` element, give your first `img` element a `src` of `https://cdn.freecodecamp.org/testable-projects-fcc/images/random-quote-machine.png`, an `alt` of `image of the quote machine project`, a `class` of `image-1`, a `loading` attribute set to `lazy`, a `width` attribute of `600`, and a `height` attribute of `400`. # --hints-- -يجب أن يكون لعنصر `img` الاول الخاص بك سمة `src` بقيمة `https://cdn.freecodecamp.org/testable-projects-fcc/images/random-quote-machine.png`. +Your first `img` element should have a `src` attribute set to `https://cdn.freecodecamp.org/testable-projects-fcc/images/random-quote-machine.png`. ```js assert(document.querySelectorAll('.image-wrapper img')?.[0]?.getAttribute('src') === 'https://cdn.freecodecamp.org/testable-projects-fcc/images/random-quote-machine.png'); ``` -يجب أن يكون لعنصر `img` الخاص بك سمة `alt` تم تعيينها إلى `image of the quote machine project`. +Your first `img` element should have an `alt` attribute set to `image of the quote machine project`. ```js assert(document.querySelectorAll('.image-wrapper img')?.[0]?.getAttribute('alt') === 'image of the quote machine project'); ``` -يجب أن يكون لعنصر `img` الاول الخاص بك سمة `class` بقيمة `image-1`. +Your first `img` element should have a `class` attribute set to `image-1`. ```js assert(document.querySelectorAll('.image-wrapper img')?.[0]?.classList?.contains('image-1')); ``` -يجب أن يكون لعنصر `img` الاول الخاص بك سمة `loading` بقيمة `lazy`. +Your first `img` element should have a `loading` attribute set to `lazy`. ```js assert(document.querySelectorAll('.image-wrapper img')?.[0]?.getAttribute('loading') === 'lazy'); ``` -يجب أن يكون لعنصر `img` الاول الخاص بك سمة `width` بقيمة `600`. +Your first `img` element should have a `width` attribute set to `600`. ```js assert(document.querySelectorAll('.image-wrapper img')?.[0]?.getAttribute('width') === '600'); ``` -يجب أن يكون لعنصر `img` الاول الخاص بك سمة `height` بقيمة `400`. +Your first `img` element should have a `height` attribute set to `400`. ```js assert(document.querySelectorAll('.image-wrapper img')?.[0]?.getAttribute('height') === '400'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144de308591ec10e27d5383.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144de308591ec10e27d5383.md index 1bac72c708..d05b2a598e 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144de308591ec10e27d5383.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6144de308591ec10e27d5383.md @@ -1,23 +1,23 @@ --- id: 6144de308591ec10e27d5383 -title: الخطوة 29 +title: Step 29 challengeType: 0 dashedName: step-29 --- # --description-- -قم بانشاء منتقي `h1` و تعيين خاصية `font-family` الي `Anton` مع fallback بقيمة `sans-serif`. +Create an `h1` selector, and set the `font-family` property to `Anton` with the fallback of `sans-serif`. # --hints-- -يجب أن يكون لديك منتقي `h1`. +You should have an `h1` selector. ```js assert(new __helpers.CSSHelp(document).getStyle('h1')); ``` -منتقي `h1` يجب أن يكون لديه خاصية `font-family` بقيمة `Anton`، مع fallback بقيمة `sans-serif`. +Your `h1` selector should have a `font-family` property set to `Anton` with the fallback of `sans-serif`. ```js const fontFamily = new __helpers.CSSHelp(document).getStyle('h1')?.fontFamily; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b185ef37522f688316b0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b185ef37522f688316b0.md index e060267529..c073379c6a 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b185ef37522f688316b0.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148b185ef37522f688316b0.md @@ -1,21 +1,21 @@ --- id: 6148b185ef37522f688316b0 -title: الخطوة 39 +title: Step 39 challengeType: 0 dashedName: step-39 --- # --description-- -الآن يمكنك تصميم (style) محتوى عنصر `.heading` باستخدام CSS Grid. +Now you can style the content of the `.heading` element with CSS Grid. -تستخدم دالة CSS تدعي `repeat()` لتكرار قيمة، بدلا من كتابتها يدويا، وهي مفيدة لتخطيط الشبكات (grid layouts). على سبيل المثال، سيؤدي تعيين خاصية `grid-template-columns` إلى `repeat(20, 200px)` إلى إنشاء 20 عمود كل منهم بعرض `200px`. +The CSS `repeat()` function is used to repeat a value, rather than writing it out manually, and is helpful for grid layouts. For example, setting the `grid-template-columns` property to `repeat(20, 200px)` would create 20 columns each `200px` wide. -أعطِ عنصر `.heading` الخاص بك الخاصية `grid-template-columns` بقيمة `repeat(2, 1fr)` لإنشاء عمودين متساويين في العرض. +Give your `.heading` element a `grid-template-columns` property set to `repeat(2, 1fr)` to create two columns of equal width. # --hints-- -يجب أن يكون لمنتقي `.heading` الخاص بك الخاصية `grid-template-columns` بقيمة `repeat(2, 1fr)`. +Your `.heading` selector should have a `grid-template-columns` property set to `repeat(2, 1fr)`. ```js assert(new __helpers.CSSHelp(document).getStyle('.heading')?.gridTemplateColumns === 'repeat(2, 1fr)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c5036ddad94692a66230.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c5036ddad94692a66230.md index 66706e465f..e2a1baaf2f 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c5036ddad94692a66230.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148c5036ddad94692a66230.md @@ -1,19 +1,19 @@ --- id: 6148c5036ddad94692a66230 -title: الخطوة 53 +title: Step 53 challengeType: 0 dashedName: step-53 --- # --description-- -الآن خوارزمية التثبيت التلقائي ستفعل عند إضافة عنصر أيقونة جديد. ومع ذلك ، فإن الخوارزمية تُفترض أن عرض العمود الجديد هو `auto`، وهو ما لن يتطابق مع الأعمدة الحالية. +Now the auto-placement algorithm will kick in when you add a new icon element. However, the algorithm defaults the new column width to be `auto`, which will not match your current columns. -يمكنك تجاوز هذا مع خاصية `grid-auto-columns`. اعطي منتقي `.social-icons` الخاصية `grid-auto-columns` بقيمة `1fr`. +You can override this with the `grid-auto-columns` property. Give the `.social-icons` selector a `grid-auto-columns` property set to `1fr`. # --hints-- -يجب أن يكون لمنتقي `.social-icons` الخاص بك الخاصية `grid-auto-columns` بقيمة `1fr`. +Your `.social-icons` selector should have a `grid-auto-columns` property set to `1fr`. ```js assert(new __helpers.CSSHelp(document).getStyle('.social-icons')?.gridAutoColumns === '1fr'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d94fdf6a5d6899f8ff15.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d94fdf6a5d6899f8ff15.md index 047ccab8cb..5344cdbce7 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d94fdf6a5d6899f8ff15.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/6148d94fdf6a5d6899f8ff15.md @@ -1,17 +1,17 @@ --- id: 6148d94fdf6a5d6899f8ff15 -title: الخطوة 67 +title: Step 67 challengeType: 0 dashedName: step-67 --- # --description-- -اعطي منتقي `.text-with-images` الخاصية `margin-bottom` بقيمة `3rem`. +Give the `.text-with-images` selector a `margin-bottom` property set to `3rem`. # --hints-- -يجب أن يكون لمنتقي `.text-with-images` الخاص بك الخاصية `margin-bottom` بقيمة `3rem`. +Your `.text-with-images` selector should have a `margin-bottom` property set to `3rem`. ```js assert(new __helpers.CSSHelp(document).getStyle('.text-with-images')?.marginBottom === '3rem'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614e0e588f0e8a772a8a81a6.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614e0e588f0e8a772a8a81a6.md index 05a69197e2..f9fd23824b 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614e0e588f0e8a772a8a81a6.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-grid-by-building-a-magazine/614e0e588f0e8a772a8a81a6.md @@ -1,19 +1,19 @@ --- id: 614e0e588f0e8a772a8a81a6 -title: الخطوة 6 +title: Step 6 challengeType: 0 dashedName: step-6 --- # --description-- -تستحوذ صورتك حاليا على مساحة كبيرة. لرؤية ما تعمل عليه، أضف سمة `width` إلى `img` ، بقيمة `400`. +Your image currently takes up a lot of space. To better see what you are working on, add a `width` attribute to the `img` element, with a value of `400`. -سوف تقوم بإزالة هذا في وقت لاحق عندما تعمل على CSS. +You will remove this later on when you have worked on the CSS. # --hints-- -يجب أن يكون لعنصر `img` الخاص بك سمة `width` بقيمة `400`. +Your `img` element should have a `width` attribute set to `400`. ```js assert(document.querySelector('img')?.getAttribute('width') === '400'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196928658b6010f28c39484.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196928658b6010f28c39484.md index a379c53fbb..afa5d6f94b 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196928658b6010f28c39484.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6196928658b6010f28c39484.md @@ -1,17 +1,17 @@ --- id: 6196928658b6010f28c39484 -title: الخطوة 8 +title: Step 8 challengeType: 0 dashedName: step-8 --- # --description-- -أستهدف عنصر `.ground` و حدد قيمة خاصية `background` ألى التدريج الخطي بزاوية 90 دراجة مع اتجاه عقارب الساعة, بَدْء من `rgb(88, 175, 236)` و إنهاء من `rgb(182, 255, 255)`. +Give the `.ground` element a `background` with a linear gradient angled 90 degrees clockwise, starting at `rgb(88, 175, 236)` and ending at `rgb(182, 255, 255)`. # --hints-- -يجب عليك إعطاء `.ground` خاصية `background` من `linear-gradient(90deg, rgb(88, 175, 236), rgb(182, 255, 255))`. +You should give `.ground` a `background` of `linear-gradient(90deg, rgb(88, 175, 236), rgb(182, 255, 255))`. ```js assert.include(['linear-gradient(90deg,rgb(88,175,236),rgb(182,255,255))', 'rgba(0,0,0,0)linear-gradient(90deg,rgb(88,175,236),rgb(182,255,255))repeatscroll0%0%'], new __helpers.CSSHelp(document).getStyle('.ground')?.getPropVal('background', true)); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6199429802b7c10dc79ff871.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6199429802b7c10dc79ff871.md index 4a226d100e..39d2becaa7 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6199429802b7c10dc79ff871.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/6199429802b7c10dc79ff871.md @@ -1,35 +1,35 @@ --- id: 6199429802b7c10dc79ff871 -title: الخطوة 35 +title: Step 35 challengeType: 0 dashedName: step-35 --- # --description-- -وضع العنصر `.penguin-head` في `10%` من الأعلى, و `25%` من يسار العنصر الحاوي. +Position the `.penguin-head` element `10%` from the top, and `25%` from the left of its parent. # --hints-- -يجب عليك إعطاء عنصر `.penguin-head` خاصية `top`. +You should give `.penguin-head` a `top` property. ```js assert.isNotEmpty(new __helpers.CSSHelp(document).getStyle('.penguin-head')?.top); ``` -يجب أن تكون بداخل عنصر `.penguin-head` خاصية `top` بقيمة `--fcc-expected--`, ولكن وجدت بقيمة `--fcc-actual--`. +You should give `.penguin-head` a `top` property of `--fcc-expected--`, but found `--fcc-actual--`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.penguin-head')?.top, '10%'); ``` -يجب عليك إعطاء عنصر `.penguin-head` خاصية `left`. +You should give `.penguin-head` a `left` property. ```js assert.isNotEmpty(new __helpers.CSSHelp(document).getStyle('.penguin-head')?.left); ``` -يجب أن تكون بداخل عنصر `.penguin-head` خاصية `left` بقيمة `--fcc-expected--`, ولكن وجدت بقيمة `--fcc-actual--`. +You should give `.penguin-head` a `left` property of `--fcc-expected--`, but found `--fcc-actual--`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.penguin-head')?.left, '25%'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619be73b3c806006ccc00bb0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619be73b3c806006ccc00bb0.md index 66880c0d96..144a263043 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619be73b3c806006ccc00bb0.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619be73b3c806006ccc00bb0.md @@ -1,29 +1,29 @@ --- id: 619be73b3c806006ccc00bb0 -title: الخطوة 40 +title: Step 40 challengeType: 0 dashedName: step-40 --- # --description-- -اعطي عنصر زائف الخاصية `width` نصف عرض عنصر الحاوي، و`height` بقيمة `45%`، و `background-color` بقيمة `gray`. +Give the pseudo-element a `width` half that of its parent, a `height` of `45%`, and a `background-color` of `gray`. # --hints-- -يجب أن تعطي `.penguin-body::before` خاصية `width` بقيمة `50%`. +You should give `.penguin-body::before` a `width` of `50%`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.penguin-body::before')?.width, '50%'); ``` -يجب أن تعطي `.penguin-body::before` خاصية `height` بقيمة `45%`. +You should give `.penguin-body::before` a `height` of `45%`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.penguin-body::before')?.height, '45%'); ``` -بداخل عنصر الزائف `.penguin-body::before` يجب أن تكون خاصية `background-color` بقيمة `--fcc-expected--`, ولكن وجدت بقيمة `--fcc-actual--`. +You should give `.penguin-body::before` a `background-color` of `--fcc-expected--`, but found `--fcc-actual--`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.penguin-body::before')?.backgroundColor, 'gray'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619c155df0063a0a3fec0e32.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619c155df0063a0a3fec0e32.md index 9c45ac7e40..e25cfd80ce 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619c155df0063a0a3fec0e32.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619c155df0063a0a3fec0e32.md @@ -1,53 +1,53 @@ --- id: 619c155df0063a0a3fec0e32 -title: الخطوة 45 +title: Step 45 challengeType: 0 dashedName: step-45 --- # --description-- -اعطي عنصر `.face` خاصية `width` بقيمة `60%`، وخاصية`height` بقيمة `70%`، وخاصية `background-color` بقيمة `white`. +Give the `.face` elements a `width` of `60%`, a `height` of `70%`, and a `background-color` of `white`. # --hints-- -يجب عليك استخدام منتقي `.face`. +You should use the `.face` selector. ```js assert.match(code, /\.face\s*\{/); ``` -يجب عليك إعطاء عنصر `.face` خاصية `width`. +You should give `.face` a `width` property. ```js assert.notEmpty(new __helpers.CSSHelp(document).getStyle('.face')?.width); ``` -يجب أن تعطي عنصر `.face` خاصية `width` بقيمة `--fcc-expected--`, ولكن وجدت بقيمة `--fcc-actual--`. +You should give `.face` a `width` of `--fcc-expected--`, but found `--fcc-actual--`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.face')?.width, '60%'); ``` -يجب عليك إعطاء عنصر `.face` خاصية `height`. +You should give `.face` a `height` property. ```js assert.notEmpty(new __helpers.CSSHelp(document).getStyle('.face')?.height); ``` -يجب أن تعطي عنصر `.face` خاصية `height` بقيمة `--fcc-expected--`, ولكن وجدت بقيمة `--fcc-actual--`. +You should give `.face` a `height` of `--fcc-expected--`, but found `--fcc-actual--`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.face')?.height, '70%'); ``` -يجب عليك إعطاء عنصر `.face` خاصية `background-color`. +You should give `.face` a `background-color` property. ```js assert.notEmpty(new __helpers.CSSHelp(document).getStyle('.face')?.backgroundColor); ``` -يجب أن تعطي عنصر `.face` خاصية `background-color` بقيمة `--fcc-expected--`, ولكن وجدت بقيمة `--fcc-actual--`. +You should give `.face` a `background-color` of `--fcc-expected--`, but found `--fcc-actual--`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.face')?.backgroundColor, 'white'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d05c54dabca0b10058235.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d05c54dabca0b10058235.md index 87821ca469..ca096090f1 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d05c54dabca0b10058235.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d05c54dabca0b10058235.md @@ -1,31 +1,31 @@ --- id: 619d05c54dabca0b10058235 -title: الخطوة 54 +title: Step 54 challengeType: 0 dashedName: step-54 --- # --description-- -حتى الآن، تحتوي عناصر `.face` و `.chin` على نفس `background-color`. +So far, the `.face` and `.chin` elements have the same `background-color`. -أنشئ خاصية CSS مخصصة تسمى `--penguin-face`، وحدد قيمتها إلى `white`. +Create a custom CSS property called `--penguin-face`, and set it to `white`. # --hints-- -يجب عليك استخدام منتقي `:root`. +You should use the `:root` selector. ```js assert.match(code, /:root\s*\{/); ``` -يجب عليك إعطاء عنصر `:root` خاصية الـ `--penguin-face`. +You should give `:root` a `--penguin-face` property. ```js assert.notEmpty(new __helpers.CSSHelp(document).getStyle(':root')?.getPropertyValue('--penguin-face')); ``` -بداخل عنصر `:root` يجب أن تكون خاصية `--penguin-face` بقيمة `--fcc-expected--`, ولكن وجدت بقيمة `--fcc-actual--`. +You should give `:root` a `--penguin-face` of `--fcc-expected--`, but found `--fcc-actual--`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle(':root')?.getPropVal('--penguin-face', true), 'white'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1e7a8e81a61c5a819dc4.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1e7a8e81a61c5a819dc4.md index c32fc7452d..e650139f7e 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1e7a8e81a61c5a819dc4.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d1e7a8e81a61c5a819dc4.md @@ -1,17 +1,17 @@ --- id: 619d1e7a8e81a61c5a819dc4 -title: الخطوة 78 +title: Step 78 challengeType: 0 dashedName: step-78 --- # --description-- -من أجل اللمسة النهائية للقميص، عيين اللون `color` إلى `#6a6969`. +For the shirt's final touch, set the `color` to `#6a6969`. # --hints-- -يجب عليك إعطاء `.shirt` خاصية `color` بقيمة `#6a6969`. +You should give `.shirt` a `color` of `#6a6969`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.shirt')?.color, 'rgb(106, 105, 105)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d237a107c10221ed743fa.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d237a107c10221ed743fa.md index 2cbceedb7d..906076ce8b 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d237a107c10221ed743fa.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d237a107c10221ed743fa.md @@ -1,49 +1,49 @@ --- id: 619d237a107c10221ed743fa -title: الخطوة 86 +title: Step 86 challengeType: 0 dashedName: step-86 --- # --description-- -حقيقة ممتعة: البِطْرِيق لا يمكن أن يطير دون أجنحة. +Fun fact: Penguins cannot fly without wings. -بداخل من عنصر `.penguin-body`، قبل عناصر `.foot`, ضف عنصرين `div` مع `class` يسمي `arm`. أيضًا، أعط أول عنصر `.arm` سمة `class` بقيمة `left`, وثاني عنصر `.arm` سمة `class` من `right`. +Within `.penguin-body`, before the `.foot` elements, add two `div` elements each with a `class` of `arm`. Give the first `.arm` a `class` of `left`, and the second `.arm` a `class` of `right`. # --hints-- -يجب عليك إضافة عنصرين `div` بداخل `.penguin-body`. متوقع قيمة `--fcc-expected--` داخل عنصرين `div`، لكن وجد `--fcc-actual--`. +You should add two `div` elements within `.penguin-body`. Expected `--fcc-expected--` `div` elements, found `--fcc-actual--`. ```js assert.equal(document.querySelectorAll('.penguin-body > div')?.length, 4); ``` -يجب عليك إعطاء أول عنصر `div` سمة `class` بقيمة `arm`. +You should give the first new `div` a `class` of `arm`. ```js assert.exists(document.querySelector('.penguin-body > div.arm')); ``` -يجب عليك إعطاء ثاني عنصر `div` سمة `class` بقيمة `arm`. +You should give the second new `div` a `class` of `arm`. ```js assert.equal(document.querySelectorAll('.penguin-body > div.arm')?.length, 2); ``` -يجب عليك إعطاء أول عنصر `div` سمة `class` بقيمة `left`. +You should give one `div` a `class` of `left`. ```js assert.exists(document.querySelector('.penguin-body > div.arm.left')); ``` -يجب عليك إعطاء الثاني عنصر `div` سمة `class` بقيمة `right`. +You should give the other `div` a `class` of `right`. ```js assert.exists(document.querySelector('.penguin-body > div.arm.right')); ``` -يجب عليك وضع `.arm.right` بعد `.arm.left`. +You should place `.arm.right` after `.arm.left`. ```js assert.exists(document.querySelector('.arm.left + .arm.right')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2b7a84e78b246f2d17a2.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2b7a84e78b246f2d17a2.md index 2382889e0c..b897e4cc61 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2b7a84e78b246f2d17a2.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d2b7a84e78b246f2d17a2.md @@ -1,47 +1,47 @@ --- id: 619d2b7a84e78b246f2d17a2 -title: الخطوة 89 +title: Step 89 challengeType: 0 dashedName: step-89 --- # --description-- -استهدف عنصر `.arm` مع `class` من `left`، وضعه في `35%` من الأعلى، و `5%` من يسار العنصر الحاوي. , واستهدف عنصر `.arm` مع `class` من `right`, وضعه في `0%` من الأعلى، و `-5%` من يمين والده. +Target the `.arm` element with a `class` of `left`, and position it `35%` from the top, and `5%` from the left of its parent. Then, target the `.arm` element with a `class` of `right`, and position it `0%` from the top, and `-5%` from the right of its parent. # --hints-- -يجب عليك استخدام منتقي `.arm.left`. +You should use the `.arm.left` selector. ```js assert.match(code, /\.arm\.left\s*\{/); ``` -يجب أن يحتوي عنصر `.arm.left` على خاصية `top` بقيمة `--fcc-expected--`, ولكن وجدت بقيمة `--fcc-actual--`. +You should give `.arm.left` a `top` of `--fcc-expected--`, but found `--fcc-actual--`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.arm.left')?.top, '35%'); ``` -يجب أن يحتوي عنصر `.arm.left` على خاصية `left` بقيمة `--fcc-expected--`, ولكن وجدت بقيمة `--fcc-actual--`. +You should give `.arm.left` a `left` of `--fcc-expected--`, but found `--fcc-actual--`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.arm.left')?.left, '5%'); ``` -يجب عليك استخدام منتقي `.arm.right`. +You should use the `.arm.right` selector. ```js assert.match(code, /\.arm\.right\s*\{/); ``` -يجب عليك إعطاء `.arm.right` خاصية `top` بقيمة `0%`. +You should give `.arm.right` a `top` of `0%`. ```js assert.include(['0%', '0', '0px'], new __helpers.CSSHelp(document).getStyle('.arm.right')?.top); ``` -يجب أن يحتوي عنصر `.arm.right` على خاصية `right` بقيمة `--fcc-expected--`, ولكن وجدت بقيمة `--fcc-actual--`. +You should give `.arm.right` a `right` of `--fcc-expected--`, but found `--fcc-actual--`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.arm.right')?.right, '-5%'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d30350883802921bfcccc.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d30350883802921bfcccc.md index c9203f9bba..0b737e6319 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d30350883802921bfcccc.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d30350883802921bfcccc.md @@ -13,7 +13,7 @@ Now, you are going to use CSS animations to make the penguin wave. # --hints-- -حدد قاعدة `@keyframes` جديدة. +You should define a new `@keyframes` rule. ```js assert.notEmpty(new __helpers.CSSHelp(document).getCSSRules('keyframes')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d333b738e3c2b5d58b095.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d333b738e3c2b5d58b095.md index 80143e773e..ac97b33ea2 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d333b738e3c2b5d58b095.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-transforms-by-building-a-penguin/619d333b738e3c2b5d58b095.md @@ -1,17 +1,17 @@ --- id: 619d333b738e3c2b5d58b095 -title: الخطوة 98 +title: Step 98 challengeType: 0 dashedName: step-98 --- # --description-- -داخل أحداثية الثانية، در العنصر إلى `130deg`, والحفاظ على حجم الذراع اليسرى. +Within the second waypoint, rotate to `130deg`, and retain the scaling of the left arm. # --hints-- -يجب عليك إعطاء أحداثية `20%` خاصية `transform` بقيمة `rotate(130deg) scaleX(-1)`. +You should give the `20%` waypoint a `transform` of `rotate(130deg) scaleX(-1)`. ```js const wave20Percent = [...[...new __helpers.CSSHelp(document).getCSSRules('keyframes')].find(rule => rule?.name === 'wave')?.cssRules].find(css => css?.keyText === '20%'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ca.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ca.md index a060f36741..2d4a8b2c94 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ca.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ca.md @@ -1,41 +1,41 @@ --- id: 5d822fd413a79914d39e98ca -title: الخطوة 2 +title: Step 2 challengeType: 0 dashedName: step-2 --- # --description-- -اضف علامات فتح وإغلاق `html` أسفل `DOCTYPE` حتى يكون لديك مكان لبدء وضع بعض الكود. تحقق من تعيين اللغة الإنجليزية. +Add opening and closing `html` tags below the `DOCTYPE` so you have a place to start putting some code. Be sure to set the language to English. # --hints-- -يجب أن يكون تعريف `DOCTYPE` في بداية HTML الخاص بك. +Your `DOCTYPE` declaration should be at the beginning of your HTML. ```js assert(__helpers.removeHtmlComments(code).match(/^\s*/i)); ``` -يجب أن يحتوي عنصر `html` الخاص بك على علامة افتتاحية مع خاصية `lang` من `en`. +Your `html` element should have an opening tag, and `lang` attribute with value of `en`. ```js assert(code.match(//gi)); ``` -يجب أن يحتوي عنصر `html` الخاص بك على علامة الأغلاق. +Your `html` element should have a closing tag. ```js assert(code.match(/<\/html\s*>/)); ``` -يجب أن تكون العلامات الخاصة بعنصر `html` في الترتيب الصحيح. +Your `html` tags should be in the correct order. ```js assert(code.match(/\s*<\/html\s*>/)); ``` -يجب أن يكون لديك عنصر `html` واحد فقط. +You should only have one `html` element. ```js assert(document.querySelectorAll('html').length === 1); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d7.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d7.md index 89831ee32c..73ab6e248e 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d7.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98d7.md @@ -1,25 +1,25 @@ --- id: 5d822fd413a79914d39e98d7 -title: الخطوة 15 +title: Step 15 challengeType: 0 dashedName: step-15 --- # --description-- -لاستخدام مُتغير، ضع اسم المُتغير بين قوسين مع `var` أمامهم مثل: `var(--variable-name)`. مهما كانت القيمة التي منحتها لمتغير سيتم تطبيقها على أي خاصية تستخدمها فيه. +To use a variable, put the variable name in parentheses with `var` in front of them like this: `var(--variable-name)`. Whatever value you gave the variable will be applied to whatever property you use it on. -أضف المتغير `--building-color1` الذي قمت بإنشائه في الخطوة السابقة كقيمة خاصية `background-color` في فئة `.bb1a`. +Add the variable `--building-color1` you created in the previous step as the value of the `background-color` property of the `.bb1a` class. # --hints-- -يجب تعيين `background-color` لعنصر `.bb1a`. +The `background-color` of the `.bb1a` element should be set. ```js assert.exists(new __helpers.CSSHelp(document).getStyle('.bb1a')?.backgroundColor) ``` -يجب عليك استخدام `var(--building-color1)` لتعيين `background-color` لعنصر `.bb1a`. +You should use `var(--building-color1)` to set the `background-color` of the `.bb1a` element. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.bb1a')?.getPropVal('background-color', true), 'var(--building-color1)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98dc.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98dc.md index 0e323f43d5..215b48f50b 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98dc.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98dc.md @@ -1,29 +1,29 @@ --- id: 5d822fd413a79914d39e98dc -title: الخطوة 20 +title: Step 20 challengeType: 0 dashedName: step-20 --- # --description-- -وهؤلاء المباني مرتبة حاليا بعضَها فوق بعض. محاذاة (align) المباني عن طريق تحويل تخطيط عنصر `.background-buildings` إلى تخطيط flexbox حاوي (parent). استخدم خصائص `align-items` و `justify-content` لتساويه مساحة المباني في قاع العنصر. +The buildings are currently stacked on top of each other. Align the buildings by turning the `.background-buildings` element into a flexbox parent. Use the `align-items` and `justify-content` properties to evenly space the buildings across the bottom of the element. # --hints-- -يجب عليك إضافة `display` بقيمة `flex` إلى فئة `background-buildings`. +You should add a `display` of `flex` to the `background-buildings` class. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.background-buildings')?.display, 'flex'); ``` -يجب عليك إضافة `align-items` بقيمة `flex-end` إلى فئة `background-buildings`. +You should add an `align-items` of `flex-end` to the `background-buildings` class. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.background-buildings')?.alignItems, 'flex-end'); ``` -يجب عليك إضافة `justify-content` بقيمة `space-evenly` إلى فئة `background-buildings`. +You should add a `justify-content` of `space-evenly` to the `background-buildings` class. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.background-buildings')?.justifyContent, 'space-evenly'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e9.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e9.md index 1aa64b3d1a..f53ca2d0fe 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e9.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98e9.md @@ -1,35 +1,35 @@ --- id: 5d822fd413a79914d39e98e9 -title: الخطوة 33 +title: Step 33 challengeType: 0 dashedName: step-33 --- # --description-- -ينبغي لك تحسين كودك. أنقل خصائص `position` و `top` والقيم من `.foreground-buildings` إلى `.background-buildings`. ثم اختار `.background-buildings` و `.foreground-buildings`، وطبق الأساليب بفعالية على كلا العنصرين. يمكنك استخدام فاصلة (`,`) لفصل المحددات مثل: `selector1, selector2`. +You should optimize your code. Move the `position` and `top` properties and values from `.foreground-buildings` to `.background-buildings`. Then select both `.background-buildings` and `.foreground-buildings` there, effectively applying those styles to both of the elements. You can use a comma (`,`) to separate selectors like this: `selector1, selector2`. # --hints-- -لا يجب عليك إزالة تعريف `.foreground-buildings`. +You should not remove the `.foreground-buildings` declaration. ```js assert.exists(new __helpers.CSSHelp(document).getStyle('.foreground-buildings')); ``` -يجب إزالة خاصية `position` من `.foreground-buildings`. +You should remove the `position` property from `.foreground-buildings`. ```js assert.isEmpty(new __helpers.CSSHelp(document).getStyle('.foreground-buildings')?.position); ``` -يجب إزالة خاصية `top` من `.foreground-buildings`. +You should remove the `top` property from `.foreground-buildings`. ```js assert.isEmpty(new __helpers.CSSHelp(document).getStyle('.foreground-buildings')?.top); ``` -يجب عليك إضافة `position` بقيمة `absolute` إلى `.background-buildings, .foreground-buildings`. +You should add the `position` property of `absolute` to `.background-buildings, .foreground-buildings`. ```js function eitherOr() { @@ -39,7 +39,7 @@ function eitherOr() { assert.equal(eitherOr()?.position, 'absolute'); ``` -يجب عليك إضافة `top` بقيمة `0` إلى `.background-buildings, .foreground-buildings`. +You should add the `top` property of `0` to `.background-buildings, .foreground-buildings`. ```js function eitherOr() { @@ -49,7 +49,7 @@ function eitherOr() { assert.equal(eitherOr()?.top, '0px'); ``` -استخدام فاصلة لاستعمال كل من `.foreground-buildings` و `.background-buildings` في نفس تعريف. +You should use a comma to use both `.foreground-buildings` and `.background-buildings` selectors in the same style declaration. ```js function eitherOr() { diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ee.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ee.md index 563a84fd81..7ac80de367 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ee.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98ee.md @@ -1,23 +1,23 @@ --- id: 5d822fd413a79914d39e98ee -title: الخطوة 38 +title: Step 38 challengeType: 0 dashedName: step-38 --- # --description-- -بدأت التعليمات البرمجية الخاصة بك في الحصول على وقت طويل. قم بإضافة تعليق أعلى class الـ `.fb1` الذي به النص `FOREGROUND BUILDINGS - "fb" stands for "foreground building"` لمساعدة الناس على فهم الكود الخاص بك. فوق class الـ `.bb1` قم بإضافة تعليق آخر يقول `BACKGROUND BUILDINGS - "bb" stands for "background building"`. إذا كنت لا تتذكر، فإن التعليقات في CSS تبدو مثل: `/* Comment here */`. +Your code is starting to get quite long. Add a comment above the `.fb1` class that says `FOREGROUND BUILDINGS - "fb" stands for "foreground building"` to help people understand your code. Above the `.bb1` class add another comment that says `BACKGROUND BUILDINGS - "bb" stands for "background building"`. If you don't remember, comments in CSS look like this: `/* Comment here */`. # --hints-- -يجب عليك إضافة التعليق `BACKGROUND BUILDINGS - "bb" stands for "background building"` فوق منتقى `.bb1`. +You should add the comment `BACKGROUND BUILDINGS - "bb" stands for "background building"` above the `.bb1` selector. ```js assert(/\/\*\s*BACKGROUND BUILDINGS - "bb" stands for "background building"\s*\*\//gi.test(code)); ``` -يجب عليك إضافة التعليق `FOREGROUND BUILDINGS - "fb" stands for "foreground building"` فوق منتقى `.fb1`. +You should add the comment `FOREGROUND BUILDINGS - "fb" stands for "foreground building"` above the `.fb1` selector. ```js assert(/\/\*\s*FOREGROUND BUILDINGS - "fb" stands for "foreground building"\s*\*\//gi.test(code)); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f0.md index f022b5ae5e..cde269a3ef 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f0.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f0.md @@ -1,13 +1,13 @@ --- id: 5d822fd413a79914d39e98f0 -title: الخطوة 40 +title: Step 40 challengeType: 0 dashedName: step-40 --- # --description-- -المساحات في CSS هي طريقة للانتقال بين الألوان عبر مسافة العنصر. يتم تطبيقها على خاصية `background` وبناء الجملة يبدو مثل: +Gradients in CSS are a way to transition between colors across the distance of an element. They are applied to the `background` property and the syntax looks like this: ```css gradient-type( @@ -16,17 +16,17 @@ gradient-type( ); ``` -في المثال، `color1` صُلْب في الأعلى، `color2` صُلْب في الأسفل، وفي ما بينها ينتقل بالتساوي من واحد إلى آخر. في `.bb1a`، أضف خاصية `background` أسفل خاصية `background-color`. عيّنه كتدرج من نوع `linear-gradient` الذي يستخدم `--building-color1` كاللون الأول و `--window-color1` كالثاني. +In the example, `color1` is solid at the top, `color2` is solid at the bottom, and in between it transitions evenly from one to the next. In `.bb1a`, add a `background` property below the `background-color` property. Set it as a gradient of type `linear-gradient` that uses `--building-color1` as the first color and `--window-color1` as the second. # --hints-- -يجب عليك تطبيق `background` على `.bb1a` بعد `background-color` مباشرة. +You should apply a `background` to `.bb1a` right after the `background-color`. ```js assert(new __helpers.CSSHelp(document).getStyle('.bb1a')?.background); ``` -يجب عليك إعطاء `background` بنوع `linear-gradient`. +You should give the `background` a `linear-gradient`. ```js assert.include(new __helpers.CSSHelp(document).getStyle('.bb1a')?.background, 'linear-gradient'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f5.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f5.md index 947f8290a3..668ecb81e2 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f5.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e98f5.md @@ -1,17 +1,17 @@ --- id: 5d822fd413a79914d39e98f5 -title: الخطوة 45 +title: Step 45 challengeType: 0 dashedName: step-45 --- # --description-- -إنها مخفية بعض الشيء خلف المباني المقدمة، لكن يمكنك أن ترى معامل التدرج الألوان الثلاثة هناك. بما أنك تستخدم ذلك الآن، أزل خاصية `background-color` من `.bb1d`. +It's a little hidden behind the foreground buildings, but you can see the three color gradient there. Since you are using that now, remove the `background-color` property from `.bb1d`. # --hints-- -يجب عليك إزالة خاصية `background-color` والقيمة من `.bb1d` +You should remove the `background-color` property and value from `.bb1d` ```js assert.notMatch(code, /\.bb1d\s*\{\s*[^}]*?background-color[^}]*?\}/); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9903.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9903.md index e215832351..02320a6bd3 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9903.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9903.md @@ -1,23 +1,23 @@ --- id: 5d822fd413a79914d39e9903 -title: الخطوة 59 +title: Step 59 challengeType: 0 dashedName: step-59 --- # --description-- -في المبنى التالي! قم بإنشاء مٌتغير جديد يسمى `--window-color3` في `:root` وإعطائه قيمة `#d98cb3`. سيكون هذا هو اللون الثانوي للمباني الوردية. +On to the next building! Create a new variable called `--window-color3` in `:root` and give it a value of `#d98cb3`. This will be the secondary color for the pink buildings. # --hints-- -يجب عليك تحديد مٌتغير خاصية (property variable) جديد يسمى `--window-color3`. +You should define a new property variable `--window-color3`. ```js assert(new __helpers.CSSHelp(document).isPropertyUsed("--window-color3")); ``` -يجب أن تعطي `--window-color3` قيمة `#d98cb3`. +You should give `--window-color3` a value of `#d98cb3`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle(":root")?.getPropertyValue("--window-color3")?.trim(), "#d98cb3"); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9915.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9915.md index a0424117ab..3f416454ef 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9915.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9915.md @@ -1,17 +1,17 @@ --- id: 5d822fd413a79914d39e9915 -title: الخطوة 106 +title: Step 106 challengeType: 0 dashedName: step-106 --- # --description-- -لا تحتاج إلى `background-color` لهذا المبنى بعد الآن حتى تتمكن من إزالة هذه الخاصية. +You don't need the `background-color` for this building anymore so you can remove that property. # --hints-- -يجب عليك إزالة `background-color` من `.fb5`. +You should remove the `background-color` of `.fb5`. ```js assert.notMatch(code, /\.fb5\s*\{\s*[^}]*?background-color[^}]*?\}/); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e991a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e991a.md index cf03f7fc00..38a750c2e1 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e991a.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e991a.md @@ -1,30 +1,30 @@ --- id: 5d822fd413a79914d39e991a -title: الخطوة 81 +title: Step 81 challengeType: 0 dashedName: step-81 --- # --description-- -في المبنى التالي! أدخل عنصرين `div` ضمن `.fb2` ومنحهم فئات `fb2a` و `fb2b`، بهذا الترتيب. +On to the next building! Nest two `div` elements within `.fb2` and give them classes of `fb2a` and `fb2b`, in that order. # --hints-- -يجب عليك إضافة عنصرين `div` إلى `.fb2`. +You should add two `div` elements within `.fb2`. ```js assert.equal(document.querySelectorAll("div.fb2 > div")?.length, 2); ``` -يجب عليك إعطاء أول `div` جديد فئة `fb2a`. +You should give the first new `div` a class of `fb2a`. ```js assert.exists(document.querySelector("div.fb2 > div.fb2a")); assert(document.querySelector("div.fb2 > div.fb2a") === document.querySelector("div.fb2")?.firstElementChild); ``` -يجب عليك إعطاء ثاني `div` جديد فئة `fb2b`. +You should give the second new `div` a class of `fb2b`. ```js assert.exists(document.querySelector("div.fb2 > div.fb2b")); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9927.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9927.md index 26850d0f84..98a329d9a5 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9927.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9927.md @@ -1,17 +1,17 @@ --- id: 5d822fd413a79914d39e9927 -title: الخطوة 94 +title: Step 94 challengeType: 0 dashedName: step-94 --- # --description-- -أضف فئة `window-wrap` الخاص بك إلى عنصر `.fb3a` لوضع مسافات النفاذات في المنتصف. +Add your `window-wrap` class to the `.fb3a` element to center and space the windows. # --hints-- -يجب عليك إعطاء `.fb3a` فئة `window-wrap`. +You should give `.fb3a` a class of `window-wrap`. ```js assert.exists(document.querySelector("div.fb3a.window-wrap")); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e992c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e992c.md index 9a914b80f8..47bd92f34d 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e992c.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e992c.md @@ -1,23 +1,23 @@ --- id: 5d822fd413a79914d39e992c -title: الخطوة 99 +title: Step 99 challengeType: 0 dashedName: step-99 --- # --description-- -أدخل ست عناصر `div` داخل `.fb4b` وقم بإعطائهم جميعا class يدعى `fb4-window`. +Nest six `div` elements within `.fb4b` and give them all a class of `fb4-window`. # --hints-- -يجب عليك إضافة عناصر `div` إلى `.fb4b`. +You should add six `div` elements within `.fb4b`. ```js assert.equal(document.querySelectorAll("div.fb4b > div")?.length, 6); ``` -يجب عليك إعطاء كل `div` جديد class يدعى `fb4-window`. +You should give each new `div` a class of `fb4-window`. ```js assert.equal(document.querySelectorAll("div.fb4-window")?.length, 6); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9939.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9939.md index 746c55b266..82ecd30f91 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9939.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e9939.md @@ -1,17 +1,17 @@ --- id: 5d822fd413a79914d39e9939 -title: الخطوة 113 +title: Step 113 challengeType: 0 dashedName: step-113 --- # --description-- -في الجزء العلوي من قائمة لون معامل تدرج السماء، حيث يمكنك وضع اتجاه لمعامل التدرج؛ أضف `circle closest-corner at 15% 15%,`. سيؤدي هذا إلى نقل بداية معامل التدرج إلى `15%` من الأعلى واليسار. سوف يجعله ينتهي عند `closest-corner` وسوف يحافظ على شكل `circle`. هذه بعض الكلمات الرئيسية التي تم بناؤها في التدرج لوصف كيفية سلوكه. +At the top of the sky gradient color list, where you would put a direction for the gradient; add `circle closest-corner at 15% 15%,`. This will move the start of the gradient to `15%` from the top and left. It will make it end at the `closest-corner` and it will maintain a `circle` shape. These are some keywords built into gradients to describe how it behaves. # --hints-- -يجب عليك إعطاء `.sky` وظيفية `radial-gradient` اتجاه `circle closest-corner at 15% 15%`. +You should give the `.sky` `radial-gradient` a direction of `circle closest-corner at 15% 15%`. ```js assert.match(new __helpers.CSSHelp(document).getStyle(".sky")?.background, /radial-gradient\(circle closest-corner at 15% 15%, rgb\(255, 207, 51\)|( 0%), rgb\(255, 207, 51\) 20%, rgb\(255, 255, 102\) 21%, rgb\(187, 238, 255\) 100%\)/); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e993e.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e993e.md index 2ae662984c..e1130fb698 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e993e.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-css-variables-by-building-a-city-skyline/5d822fd413a79914d39e993e.md @@ -1,37 +1,37 @@ --- id: 5d822fd413a79914d39e993e -title: الخطوة 118 +title: Step 118 challengeType: 0 dashedName: step-118 --- # --description-- -أخيرا، في منتقي `:root` للاستعلام الوسائل (media query)، إعادة تعريف المتغيرات `--window-color` الأربعة لاستخدامها `#777`. عندما تنتهي، غيّر حجم النافذة وشاهدها تذهب من النهار إلى الليل. +Lastly, in the `:root` selector of the media query, redefine all four of the `--window-color` variables to use `#777`. When you're done, resize the window and watch it go from day to night. -المتغيرات تستخدم في الأساس مع الألوان، وهذه هي الطريقة التي استخدمتها هنا. ولكن يمكن إعطاؤها أي قيمة واستخدامها في أي خصائص. يبدو مشروعك رائعاً! +Variables are primarily used with colors, and that's how you used them here. But they can be given any value and used on any property. Your project looks great! # --hints-- -يجب عليك إضافة `--window-color1` بقيمة `#777`. +You should add `--window-color1` with a value of `#777`. ```js assert.equal(new __helpers.CSSHelp(document).getRuleListsWithinMedia("(max-width: 1000px)")?.find(x=>x.selectorText === ":root")?.style?.getPropertyValue("--window-color1")?.trim(), "#777"); ``` -يجب عليك إضافة `--window-color2` بقيمة `#777`. +You should add `--window-color2` with a value of `#777`. ```js assert.equal(new __helpers.CSSHelp(document).getRuleListsWithinMedia("(max-width: 1000px)")?.find(x=>x.selectorText === ":root")?.style?.getPropertyValue("--window-color2")?.trim(), "#777"); ``` -يجب عليك إضافة `--window-color3` بقيمة `#777`. +You should add `--window-color3` with a value of `#777`. ```js assert.equal(new __helpers.CSSHelp(document).getRuleListsWithinMedia("(max-width: 1000px)")?.find(x=>x.selectorText === ":root")?.style?.getPropertyValue("--window-color3")?.trim(), "#777"); ``` -يجب عليك إضافة `--window-color4` بقيمة `#777`. +You should add `--window-color4` with a value of `#777`. ```js assert.equal(new __helpers.CSSHelp(document).getRuleListsWithinMedia("(max-width: 1000px)")?.find(x=>x.selectorText === ":root")?.style?.getPropertyValue("--window-color4")?.trim(), "#777"); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc174fcf86c76b9248c6eb2.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc174fcf86c76b9248c6eb2.md index 6fda5b2607..f2083a6cbe 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc174fcf86c76b9248c6eb2.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc174fcf86c76b9248c6eb2.md @@ -1,6 +1,6 @@ --- id: 5dc174fcf86c76b9248c6eb2 -title: الخطوة 1 +title: Step 1 challengeType: 0 dashedName: step-1 demoType: onLoad diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23991f86c76b9248c6eb8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23991f86c76b9248c6eb8.md index c08e68fd7f..1f6f7925b4 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23991f86c76b9248c6eb8.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23991f86c76b9248c6eb8.md @@ -1,13 +1,13 @@ --- id: 5dc23991f86c76b9248c6eb8 -title: الخطوة 6 +title: Step 6 challengeType: 0 dashedName: step-6 --- # --description-- -في الخطوة السابقة، وضعت عناصر `h1`, و `h2`, و comment, و `p` داخل عنصر `main`. هذا يسمى *nesting*. وينبغي وضع العناصر المتداخلة (nested) بعد مسافتين إلى يمين العنصر الذي تتداخل فيه. هذه المسافات تسمى indentation ويستخدم لجعل HTML أسهل للقراءة. +In the previous step, you put the `h1`, `h2`, comment, and `p` elements inside the `main` element. This is called *nesting*. Nested elements should be placed two spaces further to the right of the element they are nested in. This spacing is called indentation and it is used to make HTML easier to read. Here is an example of nesting and indentation: @@ -18,11 +18,11 @@ Here is an example of nesting and indentation:
``` -زح (indent) عنصر `h1`, و `h2`, و comment بمسافتين عليهم أكثر من العنصر `main` في الكود أدناه. استخدم زر space على لوحة المفاتيح الخاصة بك لإضافة مسافتين أخريين أمام عنصر `p` بحيث يتم عمل indentation بشكل صحيح أيضا. +The `h1` element, `h2` element and the comment are indented two spaces more than the `main` element in the code below. Use the space bar on your keyboard to add two more spaces in front of the `p` element so that it is indented properly as well. # --hints-- -يجب أن يحتوي الكود على عنصر `h2` مع نص `Cat Photos`. ربما قمت بحذفه عن طريق الخطأ، او إنه فاقد لكل من العلامتين الافتتاحية والإغلاقية، أو أن النص قد تغير. +Your code should have an `h2` element with text `Cat Photos`. You may have accidentally deleted it, it is missing both opening and closing tags, or the text has changed. ```js assert( @@ -32,7 +32,7 @@ assert( ); ``` -لا يجب عليك إضافة عناصر `ul` أو `li` من المثال. +You should not add the `ul` or `li` elements from the example. ```js assert( @@ -40,25 +40,25 @@ assert( ); ``` -لا يجب عليك تغيير بُعد عنصرك `h2` في السطر. وينبغي أن تبعد علامة أفتاح (openning tag) من بداية الخط بست (6) مسافات. يمكنك ضغط على زر إعادة التعيين لاستعادة البعد الأصلي. +You should not change the indentation on the line with your `h2` element. Its opening tag should start 6 spaces over from the start of the line. You can restart the step to restore the original indentation. ```js assert(code.toLowerCase().match(/<\/h1\>\s*\n\s{6}

/)); ``` -الكود الخاص بك يجب أن يحتوي على تعليق (comment). قمت بحذف التعليق في خطوة سابقة. +Your code should have a comment. You removed the comment from an earlier step. ```js assert(code.match(//)); ``` -يجب أن يكون نص التعليق `TODO: Add link to cat photos`. لا تقم بتغيير النص أو المسافات في التعليق. +The comment's text should be `TODO: Add link to cat photos`. Do not change the text or spacing of the comment. ```js assert(code.match(//i)); ``` -لا يجب عليك تغيير بُعد عنصرك comment في السطر. وينبغي أن تبعد علامة أفتاح (openning tag) من بداية الخط بست (6) مسافات. يمكنك ضغط على زر إعادة التعيين لاستعادة البعد الأصلي. +You should not change the indentation on the line with your comment element. Its opening tag should start 6 spaces over from the start of the line. You can restart the step to restore the original indentation. ```js assert( @@ -68,13 +68,13 @@ assert( ); ``` -الكود الخاص بك يجب أن يحتوي على عنصر `p`. لقد قمت بإزالة عنصر `p` في خطوة سابقة. +Your code should have a `p` element. You have removed the `p` element from an earlier step. ```js assert(document.querySelector('p')); ``` -يجب أن يكون نص عنصر `p` بقيمة `See more cat photos in our gallery.` لا تقم بتغيير النص أو المسافات أو علامات الترقيم لعنصر `p`. +The text of the `p` element should be `See more cat photos in our gallery.` Do not change the text, spacing, or punctuation of the `p` element. ```js assert( @@ -85,7 +85,7 @@ assert( ); ``` -يجب أن تكون علامة `p` الافتتاحية مطابقة لعناصرك `h2` وتعليقك. وينبغي أن تبعد علامة أفتاح (openning tag) من بداية الخط بست (6) مسافات. +The opening `p` tag should have indentation that matches your `h2` and comment elements. Its opening tag should start 6 spaces over from the start of the line. ```js assert(code.toLowerCase().match(/-->\s*\n\s{6}

/)); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23f9bf86c76b9248c6eba.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23f9bf86c76b9248c6eba.md index f33b86d905..92ef311a23 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23f9bf86c76b9248c6eba.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dc23f9bf86c76b9248c6eba.md @@ -1,19 +1,19 @@ --- id: 5dc23f9bf86c76b9248c6eba -title: الخطوة ٧ +title: Step 7 challengeType: 0 dashedName: step-7 --- # --description-- -يمكنك إضافة صور إلى موقع الويب الخاص بك باستخدام عنصر `img`. `img` عناصر تحتوي على opening tag بدون closing tag. An element without a closing tag is known as a void element. +You can add images to your website by using the `img` element. `img` elements have an opening tag without a closing tag. An element without a closing tag is known as a void element. -أضف عنصر `img` تحت عنصر `p`. في هذه المرحلة، لن تظهر أي صورة في المتصفح. +Add an `img` element below the `p` element. At this point, no image will show up in the browser. # --hints-- -يجب أن يحتوي العنصر `img` على opening tag. Opening tags تكتب هكذا: ``. +Your `img` element should have an opening tag. Opening tags have this syntax: ``. ```js assert(document.querySelector('img')); @@ -25,13 +25,13 @@ Your `img` element should not have a closing tag ``. assert(!code.match(/<\/img\>/)); ``` -يجب أن يكون لديك عنصر `img` واحد فقط. قم بإزالة أي زيادات. +You should only have one `img` element. Remove any extras. ```js assert(document.querySelectorAll('img').length === 1); ``` -يجب أن يكون عنصر `img` الخاص بك تحت عنصر `p`. لقد وضعتهم بترتيب خاطئ. +Your `img` element should be below the `p` element. You have them in the wrong order. ```js const collection = [...document.querySelectorAll('p,img')].map( diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa22d1b521be39a3de7be0.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa22d1b521be39a3de7be0.md index 344e3cb249..913170f543 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa22d1b521be39a3de7be0.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa22d1b521be39a3de7be0.md @@ -1,6 +1,6 @@ --- id: 5dfa22d1b521be39a3de7be0 -title: الخطوة 12 +title: Step 12 challengeType: 0 dashedName: step-12 --- @@ -18,14 +18,14 @@ In the text of your `p` element, turn the words `cat photos` into a link by addi # --hints-- -يجب عليك أدخال عنصر `a` داخل عنصر `p`. +You should nest a new anchor (`a`) element within the `p` element. ```js const nestedAnchor = document.querySelector(`p > a`); assert.isNotNull(nestedAnchor) ``` -يجب أن يكون سمة الرابط `href` بقيمة `https://freecatphotoapp.com`. إما أنك حذفت قيمة `href` أو لديك خطأ إملائي. +The link's `href` value should be `https://freecatphotoapp.com`. You have either omitted the `href` value or have a typo. ```js assert( @@ -33,7 +33,7 @@ assert( ); ``` -يجب أن يكون نص الرابط `cat photos`. إما أنك حذفت النص أو لديك خطأ إملائي. +The link's text should be `cat photos`. You have either omitted the text or have a typo. ```js const nestedAnchor = document.querySelector('p > a'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa30b9eacea3f48c6300ad.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa30b9eacea3f48c6300ad.md index 5b5159e382..32a292ff77 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa30b9eacea3f48c6300ad.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5dfa30b9eacea3f48c6300ad.md @@ -1,13 +1,13 @@ --- id: 5dfa30b9eacea3f48c6300ad -title: الخطوة 15 +title: Step 15 challengeType: 0 dashedName: step-15 --- # --description-- -في الخطوات السابقة كنت تستخدم عنصر الرابط لتحويل النص إلى رابط. ويمكن أيضا تحويل أنواع أخرى من المحتوى إلى رابط عن طريق وضعه بداخل عنصر الرابط. +In previous steps you used an anchor element to turn text into a link. Other types of content can also be turned into a link by wrapping it in anchor tags. Here is an example of turning an image into a link: @@ -17,11 +17,11 @@ Here is an example of turning an image into a link: ``` -حول الصورة إلى رابط عن طريق إحاطتها بعلامات العنصر المناسب. استخدم `https://freecatphotoapp.com` كقيمة السمة `href`. +Turn the image into a link by surrounding it with necessary element tags. Use `https://freecatphotoapp.com` as the anchor's `href` attribute value. # --hints-- -You should have an `img` element with a `src` value of `https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg`. ربما حذفتها عن طريق الخطأ. +You should have an `img` element with a `src` value of `https://cdn.freecodecamp.org/curriculum/cat-photo-app/relaxing-cat.jpg`. You may have accidentally deleted it. ```js assert( @@ -31,7 +31,7 @@ assert( ); ``` -يجب أن يحتوي العنصر (`a`) على علامة الفتح. تكتب علامات الفتح هكذا: ``. +Your anchor (`a`) element should have an opening tag. Opening tags have this syntax: ``. ```js assert(document.querySelectorAll('a').length >= 2); @@ -43,25 +43,25 @@ You are missing a closing (`a`) tag after the image. assert(document.querySelectorAll('a').length === 2); ``` -يجب أن يحتوي العنصر (`a`) على علامة غلق. يجب أن تأتي علامات الغلق بـ `/` بعد رمز `<` مباشرة. +Your anchor (`a`) element should have a closing tag. Closing tags have a `/` just after the `<` character. ```js assert(code.match(/<\/a>/g).length >= 2); ``` -يجب عليك إضافة علامة غلق واحد فقط لـ (`a`). الرجاء إزالة أي زيادات. +You should only add one closing anchor (`a`) tag. Please remove any extras. ```js assert(code.match(/<\/a>/g).length === 2); ``` -ليس لدي عنصرك (`a`) سمة `href`. تيقن من وجود مسافة بعد اسم علامة الفتح و/أو أن هناك مسافات قبل جميع أسماء السمات. +Your anchor (`a`) element does not have an `href` attribute. Check that there is a space after the opening tag's name and/or there are spaces before all attribute names. ```js assert(document.querySelector('a').hasAttribute('href')); ``` -يجب أن يربط عنصرك (`a`) إلى `https://freecatphotoapp.com`. إما أنك حذفت الرابط (URL) أو لديك خطأ إملائي. +Your anchor (`a`) element should link to `https://freecatphotoapp.com`. You have either omitted the URL or have a typo. ```js assert( @@ -70,7 +70,7 @@ assert( ); ``` -يجب أن يدخل عنصرك `img` داخل عنصر الرابط (`a`). يجب أن يكون عنصر `img` كله داخل العلامات فتح و العلامات غلق لعنصر الرابط (`a`). +Your `img` element should be nested within the anchor (`a`) element. The entire `img` element should be inside the opening and closing tags of the anchor (`a`) element. ```js assert(document.querySelector('img').parentNode.nodeName === 'A'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d8.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d8.md index 580fc70070..6a2bcf5d3a 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d8.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804d8.md @@ -1,19 +1,19 @@ --- id: 5ef9b03c81a63668521804d8 -title: الخطوة 37 +title: Step 37 challengeType: 0 dashedName: step-37 --- # --description-- -عنصر `input` يسمح لك بعدة طرق لجمع البيانات من نموذج الويب. Like `img` elements, `input` elements are a void element and do not need closing tags. +The `input` element allows you several ways to collect data from a web form. Like `img` elements, `input` elements are a void element and do not need closing tags. -ادمج عنصر `input` في عنصر `form`. +Nest an `input` element in the `form` element. # --hints-- -عنصر `form` الخاص بك يجب أن يحتوي على علامة فتح وعلامة إغلاق بالترتيب الصحيح. قد تكون اغفلت واحدة من العلامات المطلوبة، أو قد تكون اخطأت في ترتيبهم. +Your `form` element should have an opening tag and closing tag in the correct order. You may be missing one or both of the required tags, or have them in the wrong order. ```js const noSpaces = code.replace(/\s/g, ''); @@ -24,31 +24,31 @@ assert( ); ``` -يجب أن تحتوي علامة فتح عنصر `form` الخاص بك على سمة `action` فقط. قم بإزالة أي شيء آخر قد تكون كتبته فيها. +Your `form` element's opening tag should only have an `action` attribute. Remove anything else you may have typed in it. ```js assert([...document.querySelector('form').attributes].length < 2); ``` -يجب عليك إنشاء عنصر `input`. تحقق من بناء الجملة (syntax). +You should create an `input` element. Check the syntax. ```js assert(document.querySelector('input')); ``` -يجب أن يحتوي عنصر `input` الخاص بك على علامة فتح ولكن ليس علامة الإغلاق. +Your `input` element should have an opening tag, but not a closing tag. ```js assert(document.querySelector('input') && !code.match(/<\/input\>/g)); ``` -يجب أن يكون عنصر `input` مدمج داخل عنصر `form`. +Your `input` element should be nested within the `form` element. ```js assert(document.querySelector('form > input')); ``` -يجب أن يحتوي `form` على عنصر `input` فقط. قم بإزالة أي عناصر HTML أو نصوص بين tags العنصر `form`. +Your `form` should only contain the `input` element. Remove any HTML elements or text between the `form` element's tags. ```js assert.isTrue( diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804dd.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804dd.md index 3d01794f7b..a1961865ed 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804dd.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5ef9b03c81a63668521804dd.md @@ -1,6 +1,6 @@ --- id: 5ef9b03c81a63668521804dd -title: الخطوة 45 +title: Step 45 challengeType: 0 dashedName: step-45 --- @@ -17,17 +17,17 @@ Here is an example of a `label` element with a `radio` button: In the example, clicking on the word `"cat"` will also select the `radio` button. -قم بدمج زر `radio` الخاص بك داخل عنصر `label`. +Nest your `radio` button inside a `label` element. # --hints-- -يجب عليك التأكد من أن زر الراديو لا يزال موجودا. +You should make sure the radio button is still present. ```js assert(document.querySelector('input[type="radio"]')); ``` -النص `Indoor` يجب أن يكون مباشرة على يمين زر الـ `radio`. تأكد من وجود مسافة بين العنصر والنص. إما أنك حذفت النص أو لديك خطأ إملائي. +The text `Indoor` should be located directly to the right of your `radio` button. Make sure there is a space between the element and the text. You have either omitted the text or have a typo. ```js const radioInputElem = document.querySelector('input'); @@ -37,19 +37,19 @@ assert.match( ); ``` -يجب أن يحتوي العنصر `label` على opening tag. Opening tags تكتب هكذا: ``. +Your `label` element should have an opening tag. Opening tags have this syntax: ``. ```js assert(document.querySelector('label')); ``` -يجب أن يحتوي عنصر `label` الخاص بك على closing tag. Closing tags لها `/` مباشرة بعد رمز `<`. +Your `label` element should have a closing tag. Closing tags have a `/` just after the `<` character. ```js assert(code.match(/<\/label\>/)); ``` -زر الراديو الخاص بك ونصه يجب أن يكونا بين علامات الافتتاح والإغلاق الخاصة بعنصر `label`. +Your radio button and its text should all be located between the opening and closing tags of the `label` element. ```js const labelChildNodes = [...document.querySelector('form > label').childNodes]; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc518e8d6a74d05e68af75.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc518e8d6a74d05e68af75.md index e6f2f8360e..c66b5194a1 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc518e8d6a74d05e68af75.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5efc518e8d6a74d05e68af75.md @@ -1,31 +1,31 @@ --- id: 5efc518e8d6a74d05e68af75 -title: الخطوة 57 +title: Step 57 challengeType: 0 dashedName: step-57 --- # --description-- -أضف السمة `name` مع القيمة `personality` إلى خانة الاختيار لعنصر `input`. +Add the `name` attribute with the value `personality` to the checkbox `input` element. -في حين أنك لن تلاحظ هذا في المتصفح، فإن القيام بذلك يجعل من الأسهل على الخادم (server) معالجة نموذج الويب الخاص بك، خاصة عندما تكون هناك خانات اختيار متعددة. +While you won't notice this in the browser, doing this makes it easier for a server to process your web form, especially when there are multiple checkboxes. # --hints-- -يجب عليك التأكد من أن خانة الاختيار لا تزال موجودة. +You should make sure the checkbox is still present. ```js assert(document.querySelector('input[type="checkbox"]')); ``` -عنصر `input` الخاص بك لا يحتوي على سمة `name`. تحقق من أن هناك مسافة بعد اسم الـ opening tag. +The checkbox `input` element does not have a `name` attribute. Check that there is a space after the opening tag's name. ```js assert.isTrue(document.querySelector('input[type="checkbox"]')?.hasAttribute('name')); ``` -عنصر `input` للـ checkbox الخاص بك يجب أن يحتوي على سمة `name` بقيمة `personality`. إما أنك حذفت القيمة أو لديك خطأ إملائي. تذكر أن قيم السمة يجب أن تكون محاطة بعلامات اقتباس. +The checkbox `input` element should have a `name` attribute with the value `personality`. You have either omitted the value or have a typo. Remember that attribute values should be surrounded with quotation marks. ```js assert.match( diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d4d04b435f13ab6550053.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d4d04b435f13ab6550053.md index bd1c97b165..5cea934f00 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d4d04b435f13ab6550053.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-by-building-a-cat-photo-app/5f0d4d04b435f13ab6550053.md @@ -1,17 +1,17 @@ --- id: 5f0d4d04b435f13ab6550053 -title: الخطوة 53 +title: Step 53 challengeType: 0 dashedName: step-53 --- # --description-- -قم بإضافة عنصر `legend` مع النص `What's your cat's personality?` داخل عنصر `fieldset` الثاني. +Add a `legend` element with the text `What's your cat's personality?` inside the second `fieldset` element. # --hints-- -لقد قمت إما بحذف العنصر `fieldset` الثاني أو انه يفتقر وجود علامة فتح أو علامة إغلاق. +You have either deleted the second `fieldset` element or it is missing an opening tag or closing tag. ```js assert( @@ -20,7 +20,7 @@ assert( ); ``` -يجب أن يحتوي العنصر `legend` على opening tag. Opening tags تكتب هكذا: ``. +Your `legend` element should have an opening tag. Opening tags have this syntax: ``. ```js const secondFieldset = document.querySelectorAll('fieldset')?.[1]; @@ -31,13 +31,13 @@ assert( ); ``` -يجب أن يحتوي عنصر `legend` الخاص بك على closing tag. Closing tags لها `/` مباشرة بعد رمز `<`. +Your `legend` element should have a closing tag. Closing tags have a `/` just after the `<` character. ```js assert(code.match(/<\/legend\>/g).length === 2); ``` -يجب أن يحتوي عنصر `legend` على النص `What's your cat's personality?`. إما أنك حذفت النص أو لديك خطأ إملائي. +The `legend` element should have the text `What's your cat's personality?`. You have either omitted the text or have a typo. ```js const secondFieldset = document.querySelectorAll('fieldset')?.[1]; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f027c87bc98f050395c139.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f027c87bc98f050395c139.md index 4f74c68b3d..14dcec0e87 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f027c87bc98f050395c139.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f027c87bc98f050395c139.md @@ -1,53 +1,53 @@ --- id: 60f027c87bc98f050395c139 -title: الخطوة 3 +title: Step 3 challengeType: 0 dashedName: step-3 --- # --description-- -بعد ذلك، قم بإضافة علامات فتح وإغلاق `head` و `body` داخل عنصر `html`. +Next, add opening and closing `head` and `body` tags within the `html` element. # --hints-- -يجب أن يكون لديك الـ opening tag للـ `head`. +You should have an opening `head` tag. ```js assert(code.match(//i)); ``` -يجب أن يكون لديك الـ closing tag للـ `head`. +You should have a closing `head` tag. ```js assert(code.match(/<\/head\s*>/i)); ``` -يجب أن يكون لديك الـ opening tag للـ `body`. +You should have an opening `body` tag. ```js assert(code.match(//i)); ``` -يجب أن يكون لديك الـ closing tag للـ `body`. +You should have a closing `body` tag. ```js assert(code.match(/<\/body\s*>/i)); ``` -عناصر `head` و `body` يجب أن يكونا أشقاء (siblings). +The `head` and `body` elements should be siblings. ```js assert(document.querySelector('head')?.nextElementSibling.localName === 'body'); ``` -عنصر `head` يجب أن يكون داخل عنصر `html`. +The `head` element should be within the `html` element. ```js assert([...document.querySelector('html')?.children].some(x => x?.localName === 'head')); ``` -عنصر `body` يجب أن يكون داخل عنصر `html`. +The `body` element should be within the `html` element. ```js assert([...document.querySelector('html')?.children].some(x => x?.localName === 'body')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f8618d191b940d62038513.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f8618d191b940d62038513.md index 5e2439db18..37faae8676 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f8618d191b940d62038513.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60f8618d191b940d62038513.md @@ -1,25 +1,25 @@ --- id: 60f8618d191b940d62038513 -title: الخطوة 27 +title: Step 27 challengeType: 0 dashedName: step-27 --- # --description-- -تريد فقط radio input واحد قابل للاختيار في كل مرة. ومع ذلك ، فإن النموذج لا يعرف أن مدخلات الراديو (radio inputs) مرتبطة. +You only want one radio input to be selectable at a time. However, the form does not know the radio inputs are related. -لربط مدخلات الراديو، قم بإعطائهم نفس سمة `name` بقيمة `account-type`. الآن، لا يمكن تحديد كلا مدخلات الراديو في نفس الوقت. +To relate the radio inputs, give them the same `name` attribute with a value of `account-type`. Now, it is not possible to select both radio inputs at the same time. # --hints-- -يجب أن تعطي أول مدخل راديو السمة `name` بقيمة `account-type`. +You should give the first radio input the `name` attribute with a value of `account-type`. ```js assert.equal(document.querySelector('fieldset:nth-child(2) label:nth-child(1) input[type="radio"]')?.name, 'account-type'); ``` -يجب أن تعطي مدخل الراديوي الثاني سمة `name` بقيمة `account-type`. +You should give the second radio input the `name` attribute with a value of `account-type`. ```js assert.equal(document.querySelector('fieldset:nth-child(2) label:nth-child(2) input[type="radio"]')?.name, 'account-type'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fac4095512d3066053d73c.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fac4095512d3066053d73c.md index 9ec3a4994d..c241d228e4 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fac4095512d3066053d73c.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fac4095512d3066053d73c.md @@ -1,25 +1,25 @@ --- id: 60fac4095512d3066053d73c -title: الخطوة 34 +title: Step 34 challengeType: 0 dashedName: step-34 --- # --description-- -إن إضافة القائمة المنسدلة إلى النموذج أمر سهل مع عنصر `select`. عنصر `select` هو حاوية لمجموعة من عناصر `option`، ويعمل عنصر `option` كتسمية (label) لكل خيار من خيارات القائمة المنسدلة. وكلا العنصرين يتطلبان علامات إغلاق (closing tags). +Adding a dropdown to the form is easy with the `select` element. The `select` element is a container for a group of `option` elements, and the `option` element acts as a label for each dropdown option. Both elements require closing tags. Start by adding a `select` element below the two `label` elements. Then nest 5 `option` elements within the `select` element. # --hints-- -يجب عليك إضافة عنصر `select` إلى `fieldset` الثالث. +You should add a `select` element to the third `fieldset`. ```js assert.exists(document.querySelector('fieldset:nth-child(3) > select')); ``` -يجب عليك تضمين خمس عناصر `option` ضمن عنصر `select`. +You should nest 5 `option` elements inside the `select` element. ```js assert.equal(document.querySelectorAll('fieldset:nth-child(3) > select > option')?.length, 5); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc219d333e37046f474a6e.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc219d333e37046f474a6e.md index e161430d2a..fbcf5583ae 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc219d333e37046f474a6e.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc219d333e37046f474a6e.md @@ -1,23 +1,23 @@ --- id: 60fc219d333e37046f474a6e -title: الخطوة 51 +title: Step 51 challengeType: 0 dashedName: step-51 --- # --description-- -حدد فقط العناصر `.inline`, واعطيهم `width` بقيمة `unset`. سيؤدي هذا إلى إزالة القاعدة السابقة التي تعين جميع عناصر `input` إلى `width: 100%`. +Select only the `.inline` elements, and give them `width` of `unset`. This will remove the earlier rule which set all the `input` elements to `width: 100%`. # --hints-- -يجب عليك استخدام منتقي `.inline`. +You should use the `.inline` selector. ```js assert.exists(new __helpers.CSSHelp(document).getStyle('.inline')); ``` -يجب عليك إعطاء عناصر `.inline` الـ `width` بقيمة `unset`. +You should give the `.inline` elements a `width` of `unset`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.inline')?.width, 'unset'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc22d1e64d1b04cdd4e602.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc22d1e64d1b04cdd4e602.md index da65fde841..0a4bca8a3a 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc22d1e64d1b04cdd4e602.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60fc22d1e64d1b04cdd4e602.md @@ -1,35 +1,35 @@ --- id: 60fc22d1e64d1b04cdd4e602 -title: الخطوة 52 +title: Step 52 challengeType: 0 dashedName: step-52 --- # --description-- -قم بإضافة بعض المسافات بين عناصر `.inline` و نص `label`، من خلال إعطاء `margin` علي اليمين بقيمة `0.5em`. وأيضا، عيّن كل الـ margins الآخري إلى `0`. +Add some space between the `.inline` elements and the `label` text, by giving a right `margin` of `0.5em`. Also, set all the other margin to `0`. # --hints-- -يجب عليك إعطاء عناصر `.inline` الـ `margin-top` بقيمة `0`. +You should give the `.inline` elements a `margin-top` of `0`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.inline')?.marginTop, '0px'); ``` -يجب عليك إعطاء عناصر `.inline` الـ `margin-right` بقيمة `0.5em`. +You should give the `.inline` elements a `margin-right` of `0.5em`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.inline')?.marginRight, '0.5em'); ``` -يجب عليك إعطاء عناصر `.inline` الـ `margin-bottom` بقيمة `0`. +You should give the `.inline` elements a `margin-bottom` of `0`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.inline')?.marginBottom, '0px'); ``` -يجب عليك إعطاء عناصر `.inline` الـ `margin-left` بقيمة `0`. +You should give the `.inline` elements a `margin-left` of `0`. ```js assert.equal(new __helpers.CSSHelp(document).getStyle('.inline')?.marginLeft, '0px'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe1bc30415f042faea936.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe1bc30415f042faea936.md index 6e2f7f6929..20b7f2902c 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe1bc30415f042faea936.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffe1bc30415f042faea936.md @@ -1,31 +1,31 @@ --- id: 60ffe1bc30415f042faea936 -title: الخطوة 54 +title: Step 54 challengeType: 0 dashedName: step-54 --- # --description-- -لجعل عناصر `input` و `textarea` تنسجم مع سمة الخلفية، قم بتعيين `background-color` إلى `#0a0a23`. ثم أعطيهم `1px` و `solid` للـ border بلون `#0a0a23`. +To make the `input` and `textarea` elements blend in with the background theme, set their `background-color` to `#0a0a23`. Then, give them a `1px`, `solid` border with a color of `#0a0a23`. # --hints-- -يجب عليك استخدام منتقي عناصر مفصول بفواصل لتحديد عناصر `input` و `textarea`. +You should use a comma separated element selector to select the `input` and `textarea` elements. ```js const selFunc = selector => new __helpers.CSSHelp(document).getStyle(selector); assert.isTrue(['input, textarea', 'textarea, input'].some(selFunc)); ``` -يجب عليك إعطاء عناصر `input` و `textarea` الـ `background-color` بقيمة `#0a0a23`. +You should give the `input` and `textarea` elements a `background-color` of `#0a0a23`. ```js const selFunc = selector => new __helpers.CSSHelp(document).getStyle(selector); assert.equal(selFunc(['input, textarea', 'textarea, input'].find(selFunc))?.backgroundColor, 'rgb(10, 10, 35)'); ``` -يجب عليك إعطاء عناصر `input` و `textarea` الـ border بقيمة `1px` و `solid` بلون `#0a0a23`. +You should give the `input` and `textarea` elements a `1px`, `solid` border with a color of `#0a0a23`. ```js const selFunc = selector => new __helpers.CSSHelp(document).getStyle(selector); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffefd6479a3d084fb77cbc.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffefd6479a3d084fb77cbc.md index 9bb5b73d38..cb7f01f006 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffefd6479a3d084fb77cbc.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-html-forms-by-building-a-registration-form/60ffefd6479a3d084fb77cbc.md @@ -1,6 +1,6 @@ --- id: 60ffefd6479a3d084fb77cbc -title: الخطوة 64 +title: Step 64 challengeType: 0 dashedName: step-64 --- diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c586be7180e40ddf74ff6.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c586be7180e40ddf74ff6.md index f82f045205..1757ddb08e 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c586be7180e40ddf74ff6.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c586be7180e40ddf74ff6.md @@ -1,6 +1,6 @@ --- id: 646c586be7180e40ddf74ff6 -title: الخطوة 5 +title: Step 5 challengeType: 0 dashedName: step-5 --- @@ -11,7 +11,7 @@ Give your `body` element a `background-color` of `#c9d2fc`. # --hints-- -يجب أن يكون لديك منتقي `body`. +You should have a `body` selector. ```js assert(new __helpers.CSSHelp(document).getStyle('body')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c5ffef5598d449b52ec12.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c5ffef5598d449b52ec12.md index c8c16eab45..9c460caa45 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c5ffef5598d449b52ec12.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646c5ffef5598d449b52ec12.md @@ -1,6 +1,6 @@ --- id: 646c5ffef5598d449b52ec12 -title: الخطوة 19 +title: Step 19 challengeType: 0 dashedName: step-19 --- diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646ce9d790d2a44de5f99e04.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646ce9d790d2a44de5f99e04.md index e08763de8b..7bf87a25d7 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646ce9d790d2a44de5f99e04.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/646ce9d790d2a44de5f99e04.md @@ -1,6 +1,6 @@ --- id: 646ce9d790d2a44de5f99e04 -title: الخطوة 21 +title: Step 21 challengeType: 0 dashedName: step-21 --- diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/647d855ac12cd436059acd39.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/647d855ac12cd436059acd39.md index 828b920788..6e039d20c5 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/647d855ac12cd436059acd39.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-intermediate-css-by-building-a-cat-painting/647d855ac12cd436059acd39.md @@ -1,6 +1,6 @@ --- id: 647d855ac12cd436059acd39 -title: الخطوة 4 +title: Step 4 challengeType: 0 dashedName: step-4 --- diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd6343fb42013d99bcd7f3.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd6343fb42013d99bcd7f3.md index 5d385c01ec..ae59503cca 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd6343fb42013d99bcd7f3.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd6343fb42013d99bcd7f3.md @@ -1,23 +1,23 @@ --- id: 61fd6343fb42013d99bcd7f3 -title: الخطوة 2 +title: Step 2 challengeType: 0 dashedName: step-2 --- # --description-- -داخل عنصر `body`، قم بدمج عنصر `section` ضمن عنصر `main`. +Within your `body` element, nest a `section` element within a `main` element. # --hints-- -العنصر الأول داخل عنصر `body` يجب أن يكون عنصر `main` الخاص بك. +The first element inside the `body` element should be your `main` element. ```js assert(document.querySelector('body')?.children?.[0]?.localName === 'main'); ``` -يجب أن يكون لديك عنصر `section` ضمن عنصر `main` الخاص بك. +You should have a `section` element within your `main` element. ```js assert(document.querySelector('main')?.children?.[0]?.localName === 'section'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd9b7285bde783ad5b8aac.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd9b7285bde783ad5b8aac.md index 6600ea7609..d0c5452488 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd9b7285bde783ad5b8aac.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/61fd9b7285bde783ad5b8aac.md @@ -1,79 +1,79 @@ --- id: 61fd9b7285bde783ad5b8aac -title: الخطوة 27 +title: Step 27 challengeType: 0 dashedName: step-27 --- # --description-- -بداخل عنصر `tbody`، ضف `tr` مع `class` يسمي `total`. في ذلك، أضف `th` مع النص `Total Net Worth`، وغلف `Net Worth` في `span` مع `class` يدعى `sr-only`. +Within the `tbody`, add a `tr` with the `class` set to `total`. In that, add a `th` with the text `Total Net Worth`, and wrap `Net Worth` in a `span` with the `class` set to `sr-only`. -ثم أضف ثلاث عناصر `td`، و اعطي الثالث `class` تم تعيينه إلى `current`، ويعطى كل منهم نص على النحو التالي: `$-171`, و`$136`, و`$334`. +Then add three `td` elements, giving the third a `class` set to `current`, and giving each the following text: `$-171`, `$136`, `$334`. # --hints-- -يجب أن يحتوي عنصر `tbody` الخاص بك على عنصر `tr` واحد. +Your `tbody` element should have one `tr` element. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelectorAll('tr')?.length === 1); ``` -عنصر `tr` الخاص بك يجب أن يحتوي على `class` يسمي `total`. +Your `tr` element should have the `class` set to `total`. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelector('tr')?.classList?.contains('total')); ``` -يجب أن يحتوي عنصر `tr` على عنصر `th`. +Your `tr` should have a `th` element. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelectorAll('tr')?.[0]?.querySelector('th')); ``` -يجب أن يحتوي عنصر `th` الخاص بك على النص `Total Net Worth`. +Your `th` element should have the text `Total Net Worth`. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelectorAll('tr')?.[0]?.querySelector('th')?.innerText === 'Total Net Worth'); ``` -يجب أن يغلف النص `Net Worth` في `span`. +You should wrap the text `Net Worth` in a `span` element. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelectorAll('tr')?.[0]?.querySelector('th > span')?.textContent === 'Net Worth'); ``` -يجب أن يحتوي عنصر `span` على سمة `class` بقيمة `sr-only`. +Your `span` element should have the `class` attribute set to `sr-only`. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelectorAll('tr')?.[0]?.querySelector('th > span')?.classList?.contains('sr-only')); ``` -يجب أن يكون لديك ثلاثة عناصر `td`. +You should have three `td` elements. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelectorAll('tr')?.[0]?.querySelectorAll('td').length === 3); ``` -يجب أن يحتوي العنصر `td` الأول على النص `$-171`. +Your first `td` element should have the text `$-171`. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelectorAll('tr')?.[0]?.querySelectorAll('td')?.[0]?.textContent === '$-171'); ``` -يجب أن يحتوي العنصر `td` الثاني على النص `$136`. +Your second `td` element should have the text `$136`. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelectorAll('tr')?.[0]?.querySelectorAll('td')?.[1]?.textContent === '$136'); ``` -يجب أن يحتوي العنصر `td` الثالث على النص `$334`. +Your third `td` element should have the text `$334`. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelectorAll('tr')?.[0]?.querySelectorAll('td')?.[2]?.textContent === '$334'); ``` -عنصر `td` الثالث الخاص بك يجب أن يحتوي على `class` بقيمة `current`. +Your third `td` element should have the `class` set to `current`. ```js assert(document.querySelectorAll('table')?.[2]?.querySelector('tbody')?.querySelectorAll('tr')?.[0]?.querySelectorAll('td')?.[2]?.classList?.contains('current')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201995d9ab88e80f1989dce.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201995d9ab88e80f1989dce.md index be9268a911..40864c9312 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201995d9ab88e80f1989dce.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-more-about-css-pseudo-selectors-by-building-a-balance-sheet/6201995d9ab88e80f1989dce.md @@ -1,23 +1,23 @@ --- id: 6201995d9ab88e80f1989dce -title: الخطوة 58 +title: Step 58 challengeType: 0 dashedName: step-58 --- # --description-- -`:nth-of-type()` يتم استخدام عناصر ذأفة لاستهداف عناصر محددة بناء على ترتيبها بين الأشقاء من نفس النوع. استخدم هذا المنتقي الزائف لاستهداف العنصر الثالث `td` ضمن `total` صفوف الجدول. أعطاها الحشوة الصحيحة من `0.5rem`. +The `:nth-of-type()` pseudo-selector is used to target specific elements based on their order among siblings of the same type. Use this pseudo-selector to target the third `td` element within your `total` table rows. Give it a right padding of `0.5rem`. # --hints-- -يجب أن يكون لديك منتقي `tr.total td:nth-of-type(3)`. +You should have a `tr.total td:nth-of-type(3)` selector. ```js assert(new __helpers.CSSHelp(document).getStyle('tr.total td:nth-of-type(3)')); ``` -يجب يحتوي لمنتقي `tr.total td:nth-of-type(3)` على خاصية `padding-right` بقيمة `0.5rem`. +Your `tr.total td:nth-of-type(3)` selector should have a `padding-right` property set to `0.5rem`. ```js assert(new __helpers.CSSHelp(document).getStyle('tr.total td:nth-of-type(3)')?.getPropertyValue('padding-right') === '0.5rem'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e813b3ba67633222cbe54.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e813b3ba67633222cbe54.md index a78a99f8d1..97c0418be1 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e813b3ba67633222cbe54.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e813b3ba67633222cbe54.md @@ -1,59 +1,59 @@ --- id: 612e813b3ba67633222cbe54 -title: الخطوة 6 +title: Step 6 challengeType: 0 dashedName: step-6 --- # --description-- -تذكر ان سمة `class` ممكن ان تحتوي علي عدة قيم. لفصل المفاتيح البيضاء عن المفاتيح السوداء، ستضيف قيمة `class` بقيمة `black--key`. أضف هذا إلى عناصر `.key` الثانية والثالثة والخامسة والسادسة والسابعة الخاصة بك. +Remember that a `class` attribute can have multiple values. To separate your white keys from your black keys, you'll add a second `class` value of `black--key`. Add this to your second, third, fifth, sixth, and seventh `.key` elements. # --hints-- -يجب أن يحتوي عنصر `.key` الثاني على `class` من `black--key`. +Your second `.key` element should also have a `class` of `black--key`. ```js const key = document.querySelectorAll('.key')?.[1]; assert(key?.className?.includes('black--key')); ``` -يجب أن يكون لـ `.key` الثالث الخاص بك `black--key` في `class`. +Your third `.key` should have `black--key` in the `class`. ```js const third = document.querySelectorAll('.key')?.[2]; assert(third?.classList?.contains('black--key')); ``` -يجب أن يكون لـ `.key` الخامس الخاص بك `black--key` في `class`. +Your fifth `.key` should have `black--key` in the `class`. ```js const fifth = document.querySelectorAll('.key')?.[4]; assert(fifth?.classList?.contains('black--key')); ``` -يجب أن يكون لـ `.key` السادس الخاص بك `black--key` في `class`. +Your sixth `.key` should have `black--key` in the `class`. ```js const sixth = document.querySelectorAll('.key')?.[5]; assert(sixth?.classList?.contains('black--key')); ``` -يجب أن يكون لـ `.key` السابع الخاص بك `black--key` في `class`. +Your seventh `.key` should have `black--key` in the `class`. ```js const seventh = document.querySelectorAll('.key')?.[6]; assert(seventh?.classList?.contains('black--key')); ``` -يجب أن يكون لديك 5 عناصر `.black--key`. +You should have five `.black--key` elements. ```js const blackKeys = document.querySelectorAll('.black--key'); assert(blackKeys?.length === 5); ``` -يجب أن يكون لديك 7 عناصر `.key`. +You should have seven `.key` elements. ```js const keys = document.querySelectorAll('.key'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e8279827a28352ce83a72.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e8279827a28352ce83a72.md index 67d5c3c07c..0f236ccfce 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e8279827a28352ce83a72.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e8279827a28352ce83a72.md @@ -1,38 +1,38 @@ --- id: 612e8279827a28352ce83a72 -title: الخطوة 7 +title: Step 7 challengeType: 0 dashedName: step-7 --- # --description-- -الآن انسخ مجموعة العناصر `.key` السبعة وألصق مجموعتين أخريين في div الـ `.keys`. +Now copy the set of seven `.key` elements, and paste two more sets into the `.keys` div. # --hints-- -يجب أن يكون لديك 21 عنصر `.key`. +You should have 21 `.key` elements. ```js const keys = document.querySelectorAll('.key'); assert(keys?.length === 21); ``` -يجب أن يكون لديك 15 عنصر `.black--key`. +You should have 15 `.black--key` elements. ```js const blackKeys = document.querySelectorAll('.black--key'); assert(blackKeys?.length === 15); ``` -يجب أن تكون جميع عناصر `.key` ضمن عنصر `.keys` الخاص بك. +All `.key` elements should be within your `.keys` element. ```js const keys = document.querySelector('.keys'); assert(keys?.querySelectorAll('.key')?.length === 21); ``` -يجب أن تكون جميع عناصر `.black--key` ضمن عنصر `.keys` الخاص بك. +All `.black--key` elements should be within your `.keys` element. ```js const keys = document.querySelector('.keys'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e9f1e7e5ccd4fa9ada0be.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e9f1e7e5ccd4fa9ada0be.md index 4a2f75b24c..f7eca336d9 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e9f1e7e5ccd4fa9ada0be.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612e9f1e7e5ccd4fa9ada0be.md @@ -1,23 +1,23 @@ --- id: 612e9f1e7e5ccd4fa9ada0be -title: الخطوة 17 +title: Step 17 challengeType: 0 dashedName: step-17 --- # --description-- -امنح `.key` الـ `margin` بقيمة `2px` و خاصية `float` بقيمة `left`. +Give the `.key` a `margin` of `2px` and a `float` property set to `left`. # --hints-- -يجب أن يكون لمنتقي `.key` الخاص بك خاصية `margin` بقيمة `2px`. +Your `.key` selector should have a `margin` property set to `2px`. ```js assert(new __helpers.CSSHelp(document).getStyle('.key')?.margin === '2px'); ``` -يجب أن يكون لمنتقي `.key` الخاص بك خاصية `float` بقيمة `left`. +Your `.key` selector should have a `float` property set to `left`. ```js assert(new __helpers.CSSHelp(document).getStyle('.key')?.float === 'left'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ebedec97e096c8bf64999.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ebedec97e096c8bf64999.md index 920989fccb..bed7bf40db 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ebedec97e096c8bf64999.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-responsive-web-design-by-building-a-piano/612ebedec97e096c8bf64999.md @@ -1,18 +1,18 @@ --- id: 612ebedec97e096c8bf64999 -title: الخطوة 29 +title: Step 29 challengeType: 0 dashedName: step-29 --- # --description-- -ضمن query الـ `@media` ، أضف منتقي `.keys` وقم بتعيين `width` إلى `318px`. +Within the `@media` query, add a `.keys` selector and set the `width` to `318px`. # --hints-- -قاعدة `@media` الخاصة بك يجب أن تحتوي على منتقى `.keys`. +Your `@media` rule should have a `.keys` selector. ```js const rules = new __helpers.CSSHelp(document).getRuleListsWithinMedia('(max-width: 768px)'); @@ -20,7 +20,7 @@ const keys = rules?.find(rule => rule.selectorText === '.keys'); assert(keys); ``` -يجب أن يكون لمنتقي `.keys` الجديد الخاص بك `width` من `318px`. +Your new `.keys` selector should have a `width` of `318px`. ```js const rules = new __helpers.CSSHelp(document).getRuleListsWithinMedia('(max-width: 768px)'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6996b.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6996b.md index f971afa5cd..f6733afed9 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6996b.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6996b.md @@ -1,48 +1,48 @@ --- id: 60a3e3396c7b40068ad6996b -title: الخطوة 2 +title: Step 2 challengeType: 0 dashedName: step-2 --- # --description-- -داخل عنصر `head` ، أضف وسم `meta` الذي يعين `charset` إلى `UTF-8`، وعنصر `title` بقيمة `Rothko Painting`. +Within the `head` element, add a `meta` tag which sets the `charset` to `UTF-8`, and a `title` element with the value `Rothko Painting`. -ضمن عنصر `body` ، أضف عنصر `img` مع `src` من `https://cdn.freecodecamp.org/curriculum/css-box-model/diagram-1.png`. +Within the `body` element, add an `img` element with a `src` of `https://cdn.freecodecamp.org/curriculum/css-box-model/diagram-1.png`. # --hints-- -يجب أن يحتوي الكود الخاص بك علي وسم `meta`. +Your code should have a `meta` tag. ```js assert(document.querySelectorAll('meta').length === 1); ``` -يجب أن يقوم وسم `meta` بتعيين `charset` إلى `UTF-8`. +The `meta` tag should set the `charset` to `UTF-8`. ```js assert(document.querySelector('meta').getAttribute('charset')?.toLowerCase() === 'utf-8'); ``` -الكود الخاص بك يجب أن يحتوي على عنصر `title`. +Your code should have a `title` element. ```js assert(document.querySelectorAll('title').length === 1); ``` -`title` يجب أن يكون `Rothko Painting`. +The `title` should be `Rothko Painting`. ```js assert(document.querySelector('title').innerText === 'Rothko Painting'); ``` -الكود الخاص بك يجب أن يحتوي على عنصر `img`. +Your code should have an `img` element. ```js assert(document.querySelectorAll('img').length === 1); ``` -يجب أن يحتوي عنصر `img` الجديد على `src` بقيمة `https://cdn.freecodecamp.org/curriculum/css-box-model/diagram-1.png`. +The `img` element should have a `src` of `https://cdn.freecodecamp.org/curriculum/css-box-model/diagram-1.png`. ```js assert(document.querySelector('img').getAttribute('src') === 'https://cdn.freecodecamp.org/curriculum/css-box-model/diagram-1.png'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69973.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69973.md index f45bf9f894..6e38ea0aac 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69973.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69973.md @@ -1,24 +1,24 @@ --- id: 60a3e3396c7b40068ad69973 -title: الخطوة 10 +title: Step 10 challengeType: 0 dashedName: step-10 --- # --description-- -قم بتغيير لون `background-color` للـ canvas إلى `#4d0f00`. +Change the `background-color` of the canvas to `#4d0f00`. # --hints-- -يجب عليك تعيين خاصية `background-color` إلى `#4d0f00`. +You should set the `background-color` property to `#4d0f00`. ```js const hasBackground = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['background-color'] === 'rgb(77, 15, 0)'); assert(hasBackground); ``` -يجب أن يحتوي عنصر `.canvas` على `background-color` من `#4d0f00`. +Your `.canvas` element should have a `background-color` of `#4d0f00`. ```js const canvasBackground = new __helpers.CSSHelp(document).getStyle('.canvas')?.getPropertyValue('background-color'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69978.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69978.md index e82c1f76cc..34a33d9846 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69978.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69978.md @@ -1,26 +1,26 @@ --- id: 60a3e3396c7b40068ad69978 -title: الخطوة 15 +title: Step 15 challengeType: 0 dashedName: step-15 --- # --description-- -قم باستخدام margins لضبط المسافات خارج عنصر ما. +Use margins to adjust the spacing outside of an element. -باستخدام خاصية `margin`، أعطى لعنصر `.frame` الـ margin الرأسي بقيمة `20px` و الـ margin الأفقي بقيمة `auto`. هذا سيحرك الـ frame إلى أسفل 20 بكسل وسيركزه أفقياً في الصفحة. +Using the `margin` property, give the `.frame` element vertical margin of `20px`, and horizontal margin of `auto`. This will move the frame down 20 pixels and horizontally center it on the page. # --hints-- -يجب عليك تعيين خاصية `margin` إلى `20px auto`. +You should set the `margin` property to `20px auto`. ```js const hasMargin = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style.margin === '20px auto'); assert(hasMargin); ``` -يجب أن يكون لعنصر `.frame` الخاص بك `margin` من `20px auto`. +Your `.frame` element should have a `margin` value of `20px auto`. ```js const frameMargin = new __helpers.CSSHelp(document).getStyle('.frame')?.getPropertyValue('margin'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6997d.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6997d.md index b14172df7e..11b91323be 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6997d.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6997d.md @@ -1,26 +1,26 @@ --- id: 60a3e3396c7b40068ad6997d -title: الخطوة 20 +title: Step 20 challengeType: 0 dashedName: step-20 --- # --description-- -استخدم الـ margins لوضع عنصر `.one` على الـ canvas. +Use margins to position the `.one` element on the canvas. -قم بإضافة خاصية `margin` مع margin عمودي بقيمة `20px` و margin أفقي بقيمة `auto`. +Add the shorthand `margin` property with a vertical margin of `20px` and a horizontal margin of `auto`. # --hints-- -يجب عليك تعيين خاصية `margin` إلى `20px auto`. +You should set the `margin` property to `20px auto`. ```js const marginFilter = new __helpers.CSSHelp(document).getCSSRules().filter(x => x.style.margin === '20px auto'); assert(marginFilter.length === 2); ``` -يجب أن يكون للعنصر `.one` الخاص بك `margin` بقيمة `20px auto`. +Your `.one` element should have a `margin` value of `20px auto`. ```js const oneMargin = new __helpers.CSSHelp(document).getStyle('.one')?.getPropertyValue('margin'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998a.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998a.md index 7973584243..3ed4e87a89 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998a.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998a.md @@ -1,24 +1,24 @@ --- id: 60a3e3396c7b40068ad6998a -title: الخطوة 32 +title: Step 32 challengeType: 0 dashedName: step-32 --- # --description-- -قم بتوسيط عنصر `.three` علي الـ canvas عن طريق تعيين `margin` الخاص به إلى `auto`. +Center the `.three` element on the canvas by setting its `margin` to `auto`. # --hints-- -يجب عليك تعيين خاصية `margin` إلى `auto`. +You should set the `margin` property to `auto`. ```js const marginFilter = new __helpers.CSSHelp(document).getCSSRules().filter(x => x.style.margin === 'auto'); assert(marginFilter.length === 2); ``` -يجب أن يكون لعنصر `.three` الخاص بك `margin` من `auto`. +Your `.three` element should have a `margin` value of `auto`. ```js const threeMargin = new __helpers.CSSHelp(document).getStyle('.three')?.getPropertyValue('margin'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998f.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998f.md index 82b8fe9281..251253face 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998f.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad6998f.md @@ -1,26 +1,26 @@ --- id: 60a3e3396c7b40068ad6998f -title: الخطوة 37 +title: Step 37 challengeType: 0 dashedName: step-37 --- # --description-- -المستطيلات صغيرة جدًا ولا تتمتع حوافها بالجودة الناعمة للوحة. +The rectangles are too small and their edges don't have the soft quality of a painting. -قم بزيادة المساحة وتنعيم حواف `.one` عن طريق تعيين `box-shadow` الخاص به إلى `0 0 3px 3px #efb762`. +Increase the area and soften the edges of `.one` by setting its `box-shadow` to `0 0 3px 3px #efb762`. # --hints-- -يجب عليك تعيين خاصية `box-shadow` إلى `0 0 3px 3px #efb762`. +You should set the `box-shadow` property to `0 0 3px 3px #efb762`. ```js const hasBoxShadow = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['box-shadow'] === 'rgb(239, 183, 98) 0px 0px 3px 3px'); assert(hasBoxShadow); ``` -يجب أن يكون لعنصر `.one` الخاص بك `box-shadow` بقيمة `0 0 3px 3px #efb762`. +Your `.one` element should have a `box-shadow` value of `0 0 3px 3px #efb762`. ```js const oneShadow = new __helpers.CSSHelp(document).getStyle('.one')?.getPropertyValue('box-shadow'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69991.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69991.md index cef1e3ab13..a0e9e6ae11 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69991.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69991.md @@ -1,24 +1,24 @@ --- id: 60a3e3396c7b40068ad69991 -title: الخطوة 39 +title: Step 39 challengeType: 0 dashedName: step-39 --- # --description-- -قم بإضافة `box-shadow` إلى `.three` مع القيم `0 0 5px 5px #b20403`. +Add a `box-shadow` to `.three` with the values `0 0 5px 5px #b20403`. # --hints-- -يجب عليك تعيين خاصية `box-shadow` إلى `0 0 5px 5px #b20403`. +You should set the `box-shadow` property to `0 0 5px 5px #b20403`. ```js const hasBoxShadow = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style['box-shadow'] === 'rgb(178, 4, 3) 0px 0px 5px 5px'); assert(hasBoxShadow); ``` -يجب أن يكون لعنصر `.three` الخاص بك `box-shadow` بقيمة `0 0 5px 5px #b20403`. +Your `.three` element should have a `box-shadow` value of `0 0 5px 5px #b20403`. ```js const threeShadow = new __helpers.CSSHelp(document).getStyle('.three')?.getPropertyValue('box-shadow'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69997.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69997.md index e020bf9a88..b5832dc92a 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69997.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-the-css-box-model-by-building-a-rothko-painting/60a3e3396c7b40068ad69997.md @@ -1,26 +1,26 @@ --- id: 60a3e3396c7b40068ad69997 -title: الخطوة 45 +title: Step 45 challengeType: 0 dashedName: step-45 --- # --description-- -قم بتدوير `.three` عكس اتجاه عقارب الساعة بمقدار 0.2 درجة. +Rotate `.three` counter clockwise by 0.2 degrees. -بهذه الخطوة الأخيرة، اكتملت الآن لوحة Rothko الخاصة بك. +With this final step, your Rothko painting is now complete. # --hints-- -يجب عليك تعيين الخاصية `transform` إلى `rotate(-0.2deg)`. +You should set the `transform` property to `rotate(-0.2deg)`. ```js const hasTransform = new __helpers.CSSHelp(document).getCSSRules().some(x => x.style.transform === 'rotate(-0.2deg)'); assert(hasTransform); ``` -يجب أن يكون لعنصر `.three` الخاص بك `transform` بقيمة `rotate(-0.2deg)`. +Your `.three` element should have a `transform` value of `rotate(-0.2deg)`. ```js const threeTransform = new __helpers.CSSHelp(document).getStyle('.three')?.getPropertyValue('transform'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f34ecc1091b4fd5a8a484.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f34ecc1091b4fd5a8a484.md index 297bcf0b25..986fa60763 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f34ecc1091b4fd5a8a484.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f34ecc1091b4fd5a8a484.md @@ -1,17 +1,17 @@ --- id: 615f34ecc1091b4fd5a8a484 -title: الخطوة 4 +title: Step 4 challengeType: 0 dashedName: step-4 --- # --description-- -داخل عنصر `head`، أضف عنصر `link` مع سمة `rel` تم تعيينها إلى `stylesheet` و سمة `href` تم تعيينها إلى `https://fonts.googleapis.com/css?family=Open+Sans:400,700,800`. +Within your `head` element, add a `link` element with the `rel` attribute set to `stylesheet` and the `href` attribute set to `https://fonts.googleapis.com/css?family=Open+Sans:400,700,800`. -سيقوم هذا باستيراد font family الـ `Open Sans`، مع قيم الـ font weight الآتية `400`و `700`و `800`. +This will import the `Open Sans` font family, with the font weight values `400`, `700`, and `800`. -ايضا قم بإضافة عنصر `link` لربط ملف `styles.css` الخاص بك. +Also add a `link` element to link your `styles.css` file. # --hints-- @@ -38,7 +38,7 @@ headElement.innerHTML = headElementContent; assert.strictEqual(headElement.querySelectorAll('link').length, 2); ``` -يجب أن يكون لكل من عناصر `link` الخاصة بك سمة `rel` بقيمة `stylesheet`. +Both of your `link` elements should have the `rel` attribute set to `stylesheet`. ```js const links = [...document.querySelectorAll('link')]; @@ -52,7 +52,7 @@ const styleElement = document.querySelector('[data-href]'); assert.isNotNull(styleElement); ``` -احدي عناصر `link` يجب أن يحتوي على سمة `href` بقيمة `https://fonts.googleapis.com/css?family=Open+Sans:400,700,800`. +One of your `link` elements should have an `href` attribute set to `https://fonts.googleapis.com/css?family=Open+Sans:400,700,800`. ```js const links = [...document.querySelectorAll('link')]; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4ce9d877b668417c0c42.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4ce9d877b668417c0c42.md index 1b8fa035bc..4c960b7219 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4ce9d877b668417c0c42.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f4ce9d877b668417c0c42.md @@ -1,29 +1,29 @@ --- id: 615f4ce9d877b668417c0c42 -title: الخطوة 24 +title: Step 24 challengeType: 0 dashedName: step-24 --- # --description-- -قم بتغليف كل شيء داخل عنصر `.label` في عنصر `header` جديد. +Wrap everything within the `.label` element in a new `header` element. # --hints-- -يجب عليك إنشاء عنصر `header` جديد. +You should create a new `header` element. ```js assert(document.querySelector('header')); ``` -عنصر `header` الخاص بك يجب أن يكون داخل عنصر `.label` الخاص بك. +Your `header` element should be within your `.label` element. ```js assert(document.querySelector('header')?.parentElement?.classList?.contains('label')); ``` -يجب أن تكون عناصر `h1` و `div` و `p` ضمن عنصر `header` الجديد. +Your `h1`, `div`, and `p` elements should be within your new `header` element. ```js const children = document.querySelector('header')?.children; diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51257a8a516d80b6c743.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51257a8a516d80b6c743.md index 304f277514..47197f64cc 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51257a8a516d80b6c743.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f51257a8a516d80b6c743.md @@ -1,29 +1,29 @@ --- id: 615f51257a8a516d80b6c743 -title: الخطوة 29 +title: Step 29 challengeType: 0 dashedName: step-29 --- # --description-- -أنشئ `div` جديد أسفل عنصر `.large` وإعطائه سمة `class` بقيمة `calories-info`. +Create a new `div` below your `.large` element and give it a `class` attribute set to `calories-info`. # --hints-- -يجب عليك إضافة عنصر `div` جديد. +You should create another `div` element. ```js assert(document.querySelectorAll('div')?.length === 4); ``` -يجب أن يحتوي عنصر `div` الجديد على السمة `class` بقيمة `calories-info`. +Your new `div` should have a `class` attribute set to `calories-info`. ```js assert(document.querySelector('.label')?.lastElementChild?.classList?.contains('calories-info')); ``` -يجب أن يأتي `div` الجديد بعد عنصر `.large`. +Your new `div` should come after the `.large` element. ```js assert(document.querySelector('.label')?.lastElementChild?.previousElementSibling?.classList?.contains('large')); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7c71eab8218f846e4503.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7c71eab8218f846e4503.md index 85fb5d68c9..6504be1b04 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7c71eab8218f846e4503.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7c71eab8218f846e4503.md @@ -7,23 +7,23 @@ dashedName: step-52 # --description-- -بعد آخر `.divider`، قم بإنشاء عنصر `p` آخر مع النص `Trans Fat 0g`. قم باستمالة (Italicize) الكلمة `Trans` عن طريق تغليفها في عنصر `i`. اعطي عنصر `p` الجديد السمة `class` بقيمة `indent no-divider`. غلف `Trans Fat 0g` داخل عنصر `span` للمحاذاة. +After your last `.divider`, create another `p` element with the text `Trans Fat 0g`. Italicize the word `Trans` by wrapping it in an `i` element. Give the new `p` element the `class` attribute set to `indent no-divider`. Wrap `Trans Fat 0g` in a `span` element for alignment. # --hints-- -يجب عليك إنشاء عنصر `p` جديد في نهاية عنصرك `.daily-value`. +You should create a new `p` element at the end of your `.daily-value` element. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'p'); ``` -عنصر `p` الجديد الخاص بك يجب أن يحتوي على النص `Trans Fat 0g`. +Your new `p` element should have the text `Trans Fat 0g`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.innerText === 'Trans Fat 0g'); ``` -يجب أن يحتوي عنصر `p` الجديد على سمة `class` بقيمة `indent no-divider`. +Your new `p` element should have the `class` attribute set to `indent no-divider`. ```js const p = document.querySelector('.daily-value.small-text')?.lastElementChild; @@ -31,25 +31,25 @@ assert(p?.classList?.contains('indent')); assert(p?.classList?.contains('no-divider')); ``` -يجب أن يحتوي عنصر `p` الجديد على عنصر `i`. +Your new `p` element should have an `i` element. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('i')); ``` -يجب أن يغلف عنصر `i` النص `Trans`. +Your `i` element should wrap the text `Trans`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('i')?.innerText === 'Trans'); ``` -يجب أن يحتوي عنصر `p` الجديد على عنصر `span`. +Your new `p` element should have a `span` element. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('span')); ``` -يجب أن يغلف عنصر `span` نص `Trans Fat 0g`. +Your `span` element should wrap the text `Trans Fat 0g`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelector('span')?.innerText?.match(/Trans[\s|\n]+Fat 0g/)); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7ecb09de9a938ef94756.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7ecb09de9a938ef94756.md index d75d18322c..58d410f432 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7ecb09de9a938ef94756.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f7ecb09de9a938ef94756.md @@ -7,59 +7,59 @@ dashedName: step-56 # --description-- -Below your last `p` element, add another `p` element with the text `Total Carbohydrate 37g 13%`. مثل قبل، استخدم عناصر `span` لجعل نص `Total Carbohydrate` ونص `13%` بهيئة bold. Then, wrap the nutrient and amount in a `span` for alignment again. +Below your last `p` element, add another `p` element with the text `Total Carbohydrate 37g 13%`. Like before, use `span` elements to make the text `Total Carbohydrate` and `13%` bold. Then, wrap the nutrient and amount in a `span` for alignment again. # --hints-- -يجب عليك إنشاء عنصر `p` جديد في نهاية عنصرك `.daily-value`. +You should create a new `p` element at the end of your `.daily-value` element. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'p'); ``` -عنصر `p` الجديد الخاص بك يجب أن يحتوي على النص `Total Carbohydrate 37g 13%`. +Your new `p` element should have the text `Total Carbohydrate 37g 13%`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.innerText?.match(/Total Carbohydrate[\s|\n]+37g[\s|\n]+13%/)); ``` -يجب أن يحتوي عنصر `p` الجديد على ثلاث عناصر `span`. +Your new `p` element should have three `span` elements. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.querySelectorAll('span')?.length === 3); ``` -يجب أن يغلف عنصر `span` النص `Total Carbohydrate 37g`. +One `span` element should wrap the text `Total Carbohydrate 37g`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.innerText?.match(/Total Carbohydrate[\s|\n]+37g/)); ``` -يجب أن يغلف عنصر `span` النص `Total Carbohydrate`. +One `span` element should wrap the text `Total Carbohydrate`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.firstElementChild?.innerText === 'Total Carbohydrate'); ``` -يجب أن يحتوي عنصر `span` الذي لديه نص `Total Carbohydrate` على سمة `class` بقيمة `bold`. +The `span` element around `Total Carbohydrate` should have the `class` attribute set to `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.firstElementChild?.firstElementChild?.classList?.contains('bold')); ``` -يجب أن يغلف عنصر `span` النص `13%`. +A `span` element should wrap the text `13%`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.innerText === '13%'); ``` -يجب أن يحتوي عنصر `span` الذي لديه نص `13%` على سمة `class` بقيمة `bold`. +The `span` element around `13%` should have the `class` attribute set to `bold`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.classList?.contains('bold')); ``` -يجب أن يغلف عنصر `span` الثاني النص `13%`. +Your second `span` element should wrap the text `13%`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.lastElementChild?.innerText === '13%'); diff --git a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f887466db4ba14b5342cc.md b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f887466db4ba14b5342cc.md index 0daad62f60..d4af4e85bd 100644 --- a/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f887466db4ba14b5342cc.md +++ b/curriculum/challenges/arabic/14-responsive-web-design-22/learn-typography-by-building-a-nutrition-label/615f887466db4ba14b5342cc.md @@ -7,26 +7,26 @@ dashedName: step-62 # --description-- -بعد آخر divider، قم بإنشاء عنصر `p` آخر بالنص `Protein 3g`. استخدم الـ classes اللازمة لإزالة الحدود السفلية (bottom border)، و `span` لجعل `Protein` يبدو bold. Then wrap the text `Protein 3g` including the new `span` element, in a new `span` element. +After your last divider, create another `p` element with the text `Protein 3g`. Use the necessary classes to remove the bottom border, and a `span` to make the `Protein` bold. Then wrap the text `Protein 3g` including the new `span` element, in a new `span` element. -بعد هذا العنصر، أنشئ divider كبيرا. +Following this element, create a large divider. # --hints-- -يجب عليك إنشاء عنصر `p` و `div` جديدان في نهاية عنصرك `.daily-value`. +You should create a new `p` and `div` element at the end of your `.daily-value` element. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.previousElementSibling?.localName === 'p'); assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.localName === 'div'); ``` -يجب أن يحتوي عنصر `p` الجديد على نص `Protein 3g`. +Your new `p` element should have the text `Protein 3g`. ```js assert(document.querySelector('.daily-value.small-text p:last-of-type')?.innerText.match(/Protein[\s|\n]+3g/)); ``` -يجب أن يحتوي عنصر `p` الجديد على سمة `class` بقيمة `no-divider`. +Your new `p` element should have the `class` attribute set to `no-divider`. ```js assert(document.querySelector('.daily-value.small-text p:last-of-type')?.classList?.contains('no-divider')); @@ -45,7 +45,7 @@ assert(document.querySelector('.daily-value.small-text > p:last-of-type > span > assert(document.querySelector('.daily-value.small-text > p:last-of-type > span')?.innerText === 'Protein 3g'); ``` -يجب أن يحتوي عنصر `div` الجديد على سمة `class` بقيمة `divider large`. +Your new `div` should have the `class` attribute set to `divider large`. ```js assert(document.querySelector('.daily-value.small-text')?.lastElementChild?.classList?.contains('divider')); diff --git a/curriculum/challenges/arabic/16-the-odin-project/top-learn-css-specificity/the-cascade-of-css-lesson-f.md b/curriculum/challenges/arabic/16-the-odin-project/top-learn-css-specificity/the-cascade-of-css-lesson-f.md index 08db395d5a..22997f3fe8 100644 --- a/curriculum/challenges/arabic/16-the-odin-project/top-learn-css-specificity/the-cascade-of-css-lesson-f.md +++ b/curriculum/challenges/arabic/16-the-odin-project/top-learn-css-specificity/the-cascade-of-css-lesson-f.md @@ -34,7 +34,9 @@ Here both rule 1 and rule 2 have the same specificity. Rule 1 uses a chaining se This example shows the same thing. Even though rule 2 is using a child combinator (`>`), this does not change the specificity value. Both rules still have two classes so they have the same specificity values. -*Note:* Not everything adds to specificity When comparing selectors, you may come across special symbols for the universal selector (`*`) as well as combinators (`+`, `~`, `>`, and an empty space). These symbols do not add any specificity in and of themselves. +*Note:* Not everything adds to specificity + +When comparing selectors, you may come across special symbols for the universal selector (`*`) as well as combinators (`+`, `~`, `>`, and an empty space). These symbols do not add any specificity in and of themselves. # --questions-- diff --git a/curriculum/challenges/arabic/17-college-algebra-with-python/college-algebra-with-python-conclusion/spreadsheets-and-additional-resources.md b/curriculum/challenges/arabic/17-college-algebra-with-python/college-algebra-with-python-conclusion/spreadsheets-and-additional-resources.md index fb08a958de..d0f0f39ccf 100644 --- a/curriculum/challenges/arabic/17-college-algebra-with-python/college-algebra-with-python-conclusion/spreadsheets-and-additional-resources.md +++ b/curriculum/challenges/arabic/17-college-algebra-with-python/college-algebra-with-python-conclusion/spreadsheets-and-additional-resources.md @@ -34,4 +34,4 @@ Matplotlib ## --video-solution-- -٢ +2 diff --git a/curriculum/challenges/arabic/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md b/curriculum/challenges/arabic/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md index 78ea39a8c0..3dbeca51b3 100644 --- a/curriculum/challenges/arabic/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md +++ b/curriculum/challenges/arabic/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md @@ -14,7 +14,7 @@ Every night, the child's father has to pick up the pieces of the caterpillar tha As the caterpillar is built up in this way, it forms distinct segments that gradually merge together. The number of segments starts at zero (no pieces placed), generally increases up to about eleven or twelve, then tends to drop again before finishing at a single segment (all pieces placed). -على سبيل المثال: +For example: | Piece Placed | Segments So Far | | ------------ | --------------- | diff --git a/curriculum/challenges/arabic/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md b/curriculum/challenges/arabic/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md index 1ff7e49ee6..fe79ab1824 100644 --- a/curriculum/challenges/arabic/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md +++ b/curriculum/challenges/arabic/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md @@ -65,89 +65,54 @@ function almostPi(n) { ```js function almostPi(n) { - - // Find all possible values where f(k, n) <= PI - const f = []; - let max = 0; - while (1) { - let current = Math.exp(max / n) - 1; - - if (current > Math.PI) break; - - f.push(current); - ++max; - } - - // Get all pairs where f[i] + f[j] <= PI - const pairs = []; - for (let i = 0; i < max; ++i) { - for (let j = 0; j < max; ++j) { - if (f[i] + f[j] > Math.PI) break; - pairs.push(f[i] + f[j]); + const max_k = Math.ceil(n * Math.log(Math.PI + 1)) + 1; + const f = Array(max_k) + .fill(0) + .map((_, i) => Math.exp(i / n) - 1); + + // Pairs of values + const pairs = Array(max_k * (max_k - 1) / 2); + let num_pairs = 0; + + for (let b = 1; b < max_k; b++) { + for (let a = 0; a < b; a++) { + const value = f[a] + f[b]; + + if (value > Math.PI) break; + pairs[num_pairs] = {a, b, value}; + num_pairs++; } } + pairs.sort((a, b) => a.value - b.value); - // Sort all values - pairs.sort((a, b) => a - b); - - // Optimal Value for (a + b) - let left = 0; - // Optimal Value for (c + d) - let right = 0; - // minimum error with Math.abs(a + b - Math.PI) - let minError = Math.PI; - - // Binary Search for the best match - for (let i = 0; i < pairs.length; ++i) { - let current = pairs[i]; - let need = Math.PI - current; - - if (need < current) break; + // Find lowest matching pair for each pair + let min_error = Math.PI; + let min_abcd = -1; - let match; - for (let i = 1; i < pairs.length; ++i) { - if (pairs[i] > need) { - match = i; - break; - } - } + for (let i = 0; i < num_pairs; i++) { + const error = Math.PI - pairs[i].value; + let start = i; + let stop = num_pairs - 1; - let error = Math.abs(need - pairs[match]); - if (error < minError) - { - minError = error; - left = i; - right = match; - } + // Find best match + while (stop - start > 1) { + let mid = start + Math.floor((stop - start) / 2); - --match; - error = Math.abs(need - pairs[match]); - if (error < minError) { - minError = error; - left = i; - right = match; + if (pairs[mid].value > error) stop = mid - 1; + else start = mid + 1; } - } - let a, b, c, d; - - OuterLoop1: - for (a = 0; a < max; ++a) { - for (b = a; b < max; ++b) { - if (pairs[left] == f[a] + f[b]) { - break OuterLoop1; - } - } - } + // Compute new best error + for (const j of [start, stop]) { + const new_error = Math.abs(error - pairs[j].value); - OuterLoop2: - for (c = 0; c < max; ++c) { - for (d = c; d < max; ++d) { - if (pairs[right] == f[c] + f[d]) { - break OuterLoop2; + if (new_error < min_error) { + min_error = new_error; + min_abcd = pairs[i].a * pairs[i].a + pairs[i].b * pairs[i].b + + pairs[j].a * pairs[j].a + pairs[j].b * pairs[j].b; } } } - return a*a + b*b + c*c + d*d; + return min_abcd; } ``` diff --git a/curriculum/challenges/arabic/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md b/curriculum/challenges/arabic/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md index 304e1f7cb1..dbd4119b93 100644 --- a/curriculum/challenges/arabic/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md +++ b/curriculum/challenges/arabic/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md @@ -12,7 +12,7 @@ An integer is called B-smooth if none of its prime factors is greater than $B$. Let $SB(n)$ be the largest B-smooth divisor of $n$. -على سبيل المثال: +Examples: $$\begin{align} & S_1(10) = 1 \\\\ & S_4(2\\,100) = 12 \\\\ & S_{17}(2\\,496\\,144) = 5\\,712 \end{align}$$ diff --git a/curriculum/challenges/arabic/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md b/curriculum/challenges/arabic/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md index b849665516..fecc4b1443 100644 --- a/curriculum/challenges/arabic/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md +++ b/curriculum/challenges/arabic/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md @@ -36,4 +36,4 @@ The `break` keyword tells the runtime to exit the application. ## --video-solution-- -٢ +2 diff --git a/curriculum/challenges/arabic/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md b/curriculum/challenges/arabic/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md index 5163b59629..f09a7e5ade 100644 --- a/curriculum/challenges/arabic/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md +++ b/curriculum/challenges/arabic/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md @@ -1,6 +1,6 @@ --- id: 5daa813381b9e3db6c126b43 -title: الخطوة 1 +title: Step 1 challengeType: 20 dashedName: step-1 --- diff --git a/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md b/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md index cbca21b859..d04f96c2cc 100644 --- a/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md +++ b/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md @@ -9,7 +9,7 @@ dashedName: task-8 # --description-- -Questions in the past tense with the verb `to be` are very similar to how you do it in the present tense. The only difference is that you need to remember to conjugate the verb to `were` or `was`, followed by the subject and then the main verb. على سبيل المثال: +Questions in the past tense with the verb `to be` are very similar to how you do it in the present tense. The only difference is that you need to remember to conjugate the verb to `were` or `was`, followed by the subject and then the main verb. For example: `Were you at the meeting yesterday?` Notice how `were` comes before `you` to for a question. `What was my assignment?` For a specific question, notice how `was` comes after `what` and before `my`. diff --git a/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md b/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md index 752b1aa786..399607c440 100644 --- a/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md +++ b/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md @@ -9,7 +9,7 @@ dashedName: task-8 # --description-- -`Stay` is used to indicate remaining in a particular state or condition. It's often used in instructions or advice to keep oneself in a certain situation. على سبيل المثال: +`Stay` is used to indicate remaining in a particular state or condition. It's often used in instructions or advice to keep oneself in a certain situation. For example: `Stay safe online` (continue being safe while using the internet) diff --git a/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md b/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md index 7360fbf8ef..f7eb6d6073 100644 --- a/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md +++ b/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md @@ -9,11 +9,11 @@ dashedName: task-27 # --description-- -The word `never` is an adverb used to mean `not at any time` or `not ever`. It's often used to talk about things that someone doesn't do or hasn't done. على سبيل المثال: +The word `never` is an adverb used to mean `not at any time` or `not ever`. It's often used to talk about things that someone doesn't do or hasn't done. For example: `I have never been to Australia.` (this means the person has not visited Australia at any time) `She never eats fast food.` (this means she does not eat fast food at any time) -The word `thought` is the past tense of `think`. `Thought of that` means to have considered or come up with an idea in the past. على سبيل المثال: +The word `thought` is the past tense of `think`. `Thought of that` means to have considered or come up with an idea in the past. For example: `I thought of going to the beach, but it was too cold.` (this means the person considered going to the beach) diff --git a/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md b/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md index 49197cd7b5..68912a95b0 100644 --- a/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md +++ b/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md @@ -9,7 +9,7 @@ dashedName: task-58 # --description-- -Conditional sentences often use `if` to describe a situation (cause) that will lead to a particular result (consequence). They typically consist of two parts: the `if` clause (condition) and the main clause (result). على سبيل المثال: +Conditional sentences often use `if` to describe a situation (cause) that will lead to a particular result (consequence). They typically consist of two parts: the `if` clause (condition) and the main clause (result). For example: `If you sleep well, you will feel refreshed.` (condition: sleeping well; result: feeling refreshed) diff --git a/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md b/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md index 9f893a6bf3..f5a7de951d 100644 --- a/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md +++ b/curriculum/challenges/arabic/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md @@ -9,11 +9,11 @@ dashedName: task-96 # --description-- -`Indoor` refers to activities done inside a building, while `outdoor` means activities done outside. على سبيل المثال: +`Indoor` refers to activities done inside a building, while `outdoor` means activities done outside. For example: `Indoor activities include reading and cooking. Outdoor activities involve hiking and gardening.` -`Though` is an expression you use to show contrast between two sentences, similar to `but`. It can also be used in the middle or in the end of a sentence, not only in the beginning. على سبيل المثال: +`Though` is an expression you use to show contrast between two sentences, similar to `but`. It can also be used in the middle or in the end of a sentence, not only in the beginning. For example: `I know we wanted to travel. We don't have the money for the tickets, though.` diff --git a/curriculum/challenges/arabic/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md b/curriculum/challenges/arabic/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md index 9636a0a686..75facd682a 100644 --- a/curriculum/challenges/arabic/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md +++ b/curriculum/challenges/arabic/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md @@ -10,7 +10,7 @@ dashedName: hash-from-two-arrays Given two arrays, create a hash object where the elements from one array (the keys) are linked to the elements of the other (the values). -على سبيل المثال: +Example: ```js const firstArr = [1, 2, 3]; diff --git a/curriculum/challenges/arabic/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md b/curriculum/challenges/arabic/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md index 70013afae2..ab84dea263 100644 --- a/curriculum/challenges/arabic/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md +++ b/curriculum/challenges/arabic/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc7ed1 -title: مشكلة Knapsack/0-1 +title: Knapsack problem/0-1 challengeType: 1 forumTopicId: 323649 dashedName: knapsack-problem0-1 diff --git a/curriculum/challenges/arabic/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md b/curriculum/challenges/arabic/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md index 53cac739eb..9fa6c64fac 100644 --- a/curriculum/challenges/arabic/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md +++ b/curriculum/challenges/arabic/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md @@ -1,6 +1,6 @@ --- id: 5e7b9f0b0b6c005b0e76f06d -title: مقارنة وترتيب tuples (المجموعات) (Comparing and Sorting Tuples) +title: Comparing and Sorting Tuples challengeType: 11 videoId: dZXzBXUxxCs bilibiliIds: @@ -14,13 +14,13 @@ dashedName: comparing-and-sorting-tuples More resources: -تمرين +\- Exercise # --questions-- ## --text-- -ما الكود الذي يفعل نفس الشيء الذي يفعله هذا الكود؟: +Which does the same thing as the following code?: ```python lst = [] diff --git a/curriculum/challenges/arabic/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md b/curriculum/challenges/arabic/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md index d67342e69e..fde02a6863 100644 --- a/curriculum/challenges/arabic/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md +++ b/curriculum/challenges/arabic/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md @@ -1,6 +1,6 @@ --- id: 5e6a54af58d3af90110a60a1 -title: 'مقدمة: هندسة الأجهزة' +title: 'Introduction: Hardware Architecture' challengeType: 11 videoId: H6qtjRTfSog bilibiliIds: @@ -18,17 +18,17 @@ Where are your programs stored when they are running? ## --answers-- -محرك أقراص صلب. +Hard Drive. --- -الذاكرة. +Memory. --- -وحدة المعالجة المركزية. +Central Processing Unit. ## --video-solution-- -الثاني +2 diff --git a/curriculum/challenges/arabic/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md b/curriculum/challenges/arabic/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md index 411124133a..3ed4d8cd26 100644 --- a/curriculum/challenges/arabic/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md +++ b/curriculum/challenges/arabic/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md @@ -9,7 +9,7 @@ demoType: onClick # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/arabic/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md b/curriculum/challenges/arabic/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md index fd6436366d..af49b89730 100644 --- a/curriculum/challenges/arabic/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md +++ b/curriculum/challenges/arabic/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md @@ -7,7 +7,7 @@ dashedName: build-a-cash-register # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/arabic/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md b/curriculum/challenges/arabic/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md index eb90b2cc19..1dc1781e8a 100644 --- a/curriculum/challenges/arabic/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md +++ b/curriculum/challenges/arabic/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md @@ -40,13 +40,16 @@ const currentDateOnly = new Date(currentDate.getFullYear(), currentDate.getMonth assert.equal(currentDateOnly.toString(), expectedDateOnly.toString()); ``` -You should have a variable named `currentDateFormat` that holds the current date in the format `Current Date and Time: [current date]`. +You should have a variable named `currentDateFormat` that holds the current date in the format `Current Date and Time:

:: `. ```js const expectedDate = new Date(); -const expectedDateFormat = `Current Date and Time: ${expectedDate}`; +const expectedDateString = `Current Date and Time: `; +assert.include(currentDateFormat, expectedDateString); -assert.equal(currentDateFormat, expectedDateFormat); +const currentTimestamp = new Date(currentDateFormat.replace(expectedDateString, '')).getTime(); +const expectedTimestamp = expectedDate.getTime(); +assert.approximately(currentTimestamp, expectedTimestamp, 1000); ``` You should log the value of `currentDateFormat` to the console. diff --git a/curriculum/challenges/arabic/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md b/curriculum/challenges/arabic/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md index 43aa9cae9f..cefbcfd944 100644 --- a/curriculum/challenges/arabic/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md +++ b/curriculum/challenges/arabic/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md @@ -9,7 +9,7 @@ dashedName: build-a-leap-year-calculator A leap year is a year that is divisible by `4`, except for years that are divisible by `100` and not divisible by `400`. For example, `2000` is a leap year, but `1900` is not. Also, a leap year has an extra day in February, which is the 29th day of the month. -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/arabic/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md b/curriculum/challenges/arabic/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md new file mode 100644 index 0000000000..06bd6c5e6c --- /dev/null +++ b/curriculum/challenges/arabic/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md @@ -0,0 +1,261 @@ +--- +id: 66db529d37ad966480ebb633 +title: Build a Lunch Picker Program +challengeType: 14 +dashedName: build-a-lunch-picker-program +--- + +# --description-- + +In this lab, you'll build a program that helps in managing lunch options. You'll work with an array of lunches, add and remove items from the array, and randomly select a lunch option. + +**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. + +**User Stories:** + +1. You should create a `lunches` variable and assign it an empty array that will be used to store lunch items. + +2. You should create a function `addLunchToEnd` that takes a string parameter and adds it to the end of the `lunches` array and returns a string in the format: `"[Lunch Item] added to the end of the lunch menu."` + +3. You should create a function `addLunchToStart` that takes a string parameter and adds it to the start of the `lunches` array and returns a string in the format: `"[Lunch Item] added to the start of the lunch menu."` + +4. You should create a function `removeLastLunch` that removes the last lunch item from the `lunches` array and: + - If successful, returns a string in the format: `"[Lunch Item] removed from the end of the lunch menu."` + - If the `lunches` array is empty, returns a string: `"No lunches to remove."` + +5. You should create a function `removeFirstLunch` that removes the first lunch item from the `lunches` array and: + - If successful, returns a string in the format: `"[Lunch Item] removed from the start of the lunch menu."` + - If the `lunches` array is empty, returns a string: `"No lunches to remove."` + +6. You should create a function `getRandomLunch` that selects a random lunch item from the `lunches` array and: + - If successful, returns a string in the format: `"Randomly selected lunch: [Lunch Item]"` + - If the `lunches` array is empty, returns a string: `"No lunches available."` + +7. You should create a function `showLunchMenu` that: + - If there are items in the `lunches` array, returns a string in the format: `"Menu items: [Lunch Item], [Lunch Item]...` + - If the `lunches` array is empty, returns a string: `"The menu is empty."` + +# --hints-- + +You should declare a variable `lunches` and assign it an empty array to store the lunch items. + +```js +assert.isArray(lunches); +``` + +You should define a function `addLunchToEnd`. + +```js +assert.isFunction(addLunchToEnd); +``` + +The function `addLunchToEnd` should take a single argument. + +```js +assert.lengthOf(addLunchToEnd, 1); +``` + +`addLunchToEnd("Tacos")` should return the string `"Tacos added to the end of the lunch menu."`. + +```js +assert.strictEqual(addLunchToEnd("Tacos"), "Tacos added to the end of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(addLunchToEnd("Pizza"), "Pizza added to the end of the lunch menu."); +assert.strictEqual(addLunchToEnd("Burger"), "Burger added to the end of the lunch menu."); +``` + +You should define a function `addLunchToStart`. + +```js +assert.isFunction(addLunchToStart); +``` + +The function `addLunchToStart` should take a single argument. + +```js +assert.lengthOf(addLunchToStart, 1); +``` + +`addLunchToStart("Sushi")` should return the string `"Sushi added to the start of the lunch menu."`. + +```js +assert.strictEqual(addLunchToStart("Sushi"), "Sushi added to the start of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(addLunchToStart("Salad"), "Salad added to the start of the lunch menu."); +assert.strictEqual(addLunchToStart("Pasta"), "Pasta added to the start of the lunch menu."); +``` + +You should define a function `removeLastLunch`. + +```js +assert.isFunction(removeLastLunch) +``` + +When the `lunches` array is empty, the function `removeLastLunch` should return the string `"No lunches to remove."`. + +```js +lunches = []; +assert.strictEqual(removeLastLunch(), "No lunches to remove."); +``` + +When `lunches = ["Stew", "Soup", "Toast"]`, the function `removeLastLunch` should return the string `"Toast removed from the end of the lunch menu."`. + +```js +lunches = ["Stew", "Soup", "Toast"]; +assert.strictEqual(removeLastLunch(), "Toast removed from the end of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(removeLastLunch(), "Soup removed from the end of the lunch menu."); +assert.strictEqual(removeLastLunch(), "Stew removed from the end of the lunch menu."); +``` + +When the `lunches` array is empty, the function `removeFirstLunch` should return the string `"No lunches to remove."`. + +```js +lunches = []; +assert.strictEqual(removeFirstLunch(), "No lunches to remove."); +``` + +When `lunches = ["Salad", "Eggs", "Cheese"]`, the function `removeFirstLunch` should return the string `"Salad removed from the start of the lunch menu."`. + +```js +lunches = ["Salad", "Eggs", "Cheese"]; +assert.strictEqual(removeFirstLunch(), "Salad removed from the start of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(removeFirstLunch(), "Eggs removed from the start of the lunch menu."); +assert.strictEqual(removeFirstLunch(), "Cheese removed from the start of the lunch menu."); +``` + +You should define a function `getRandomLunch`. + +```js +assert.isFunction(getRandomLunch); +``` + +When the `lunches` array is empty, the function `getRandomLunch` should return the string `"No lunches available."`. + +```js +lunches = []; +assert.strictEqual(getRandomLunch(), "No lunches available."); +``` + +When `lunches = ["Fish", "Fries", "Roast"]`, the function `getRandomLunch` should return a string in the format `"Randomly selected lunch: [Lunch Item]"`. + +```js +const temp = Math.random; + +lunches = ["Fish", "Fries", "Roast"]; + +// check that it correctly outputs the first item +Math.random = () => 0; +assert.equal(getRandomLunch(), `Randomly selected lunch: ${lunches[0]}`); + +// second item +Math.random = () => 0.4; +assert.equal(getRandomLunch(), `Randomly selected lunch: ${lunches[1]}`); + +// third item +Math.random = () => 0.8; +assert.equal(getRandomLunch(), `Randomly selected lunch: ${lunches[2]}`); + +// restore Math.random +Math.random = temp; +``` + +You should define a function `showLunchMenu`. + +```js +assert.isFunction(showLunchMenu); +``` + +When the `lunches` array is empty, the function `showLunchMenu` should return the string `"The menu is empty."`. + +```js +lunches = []; +assert.strictEqual(showLunchMenu(), "The menu is empty."); +``` + +When `lunches = ["Greens", "Corns", "Beans"]`, the function `showLunchMenu` should return a string in the format `"Menu items: Greens, Corns, Beans"`. + +```js +lunches = ["Greens", "Corns", "Beans"]; +assert.strictEqual(showLunchMenu(), "Menu items: Greens, Corns, Beans"); + +lunches = ["Pizza", "Burger", "Fries"]; +assert.strictEqual(showLunchMenu(), "Menu items: Pizza, Burger, Fries"); +``` + +# --seed-- + +## --seed-contents-- + +```js + +``` + +# --solutions-- + +```js +const lunches = []; + +// Add a new lunch to the list (at the end) +function addLunchToEnd(newLunch) { + lunches.push(newLunch); + return `${newLunch} added to the end of the lunch menu.`; +} + +// Add a new lunch to the start of the list +function addLunchToStart(newLunch) { + lunches.unshift(newLunch); + return `${newLunch} added to the start of the lunch menu.`; +} + +// Remove the last lunch from the list +function removeLastLunch() { + const removedLunch = lunches.pop(); + if (removedLunch) { + return `${removedLunch} removed from the end of the lunch menu.`; + } else { + return "No lunches to remove."; + } +} + +// Remove the first lunch from the list +function removeFirstLunch() { + const removedLunch = lunches.shift(); + if (removedLunch) { + return `${removedLunch} removed from the start of the lunch menu.`; + } else { + return "No lunches to remove."; + } +} + +// Function to get a random lunch from the list +function getRandomLunch() { + if (lunches.length === 0) { + return "No lunches available."; + } + const randomIndex = Math.floor(Math.random() * lunches.length); + const randomLunch = lunches[randomIndex]; + return `Randomly selected lunch: ${randomLunch}`; +} + +// New function to display the lunches as a numbered menu using a for loop +function showLunchMenu() { + if (lunches.length === 0) { + return "The menu is empty."; + } + return `Menu items: ${lunches.join(', ')}`; +} + +addLunchToEnd("Tacos"); +addLunchToStart("Sushi"); +removeLastLunch(); +removeFirstLunch(); +getRandomLunch(); +showLunchMenu(); + +``` diff --git a/curriculum/challenges/arabic/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md b/curriculum/challenges/arabic/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md index c12912cc2f..fefe88b58d 100644 --- a/curriculum/challenges/arabic/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md +++ b/curriculum/challenges/arabic/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md @@ -10,7 +10,7 @@ demoType: onClick In this lab, you will create a simple animation of the Moon's orbit around the Earth using HTML and CSS. The Earth will be at the center of the system, and the Moon will orbit around it. -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/arabic/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md b/curriculum/challenges/arabic/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md index 0980e4f0cc..8ddd5cb53b 100644 --- a/curriculum/challenges/arabic/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md +++ b/curriculum/challenges/arabic/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md @@ -8,7 +8,7 @@ demoType: onClick # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/arabic/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md b/curriculum/challenges/arabic/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md index 66026c3aa6..775ca4a00b 100644 --- a/curriculum/challenges/arabic/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md +++ b/curriculum/challenges/arabic/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md @@ -10,7 +10,7 @@ demoType: onClick Camperbot is learning JavaScript and has tried to build their own Random Background Color Changer. However, they have made a few mistakes along the way. -**Objective:** Fulfill the user stories below and get all the tests to pass so the lab is functioning properly. +Fulfill the user stories below and get all the tests to pass so the lab is functioning properly. **User Stories:** diff --git a/curriculum/challenges/arabic/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md b/curriculum/challenges/arabic/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md index 9125b9c8e4..5236a86549 100644 --- a/curriculum/challenges/arabic/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md +++ b/curriculum/challenges/arabic/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md @@ -8,7 +8,7 @@ demoType: onClick # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** @@ -77,19 +77,19 @@ assert(code.match(/<\s*html[\s\S]*>[\s\S]*<\s*head\s*>[\s\S]*<\/\s*head\s*>[\s\S You should have an `h1` element with the name of your recipe. ```js -assert.isAbove(document.querySelector('h1')?.innerText.length, 0) +assert.isAbove(document.querySelector('h1')?.innerText.length, 0); ``` You should only have one `h1` element. ```js -assert.lengthOf(document.querySelectorAll('h1'), 1) +assert.lengthOf(document.querySelectorAll('h1'), 1); ``` You should have a `p` element below your `h1` element with text describing your recipe. ```js -assert($('p')[0].previousElementSibling.tagName === 'H1'); +assert.strictEqual(document.querySelector('p')?.previousElementSibling.tagName, 'H1'); ``` Your first `h2` element should have the text `Ingredients`. @@ -101,7 +101,7 @@ assert.equal(document.querySelectorAll('h2')[0]?.innerText, 'Ingredients'); You should have an unordered list element below your first `h2` element. ```js -assert($('ul')[0].previousElementSibling.tagName === 'H2'); +assert.strictEqual(document.querySelector('ul')?.previousElementSibling.tagName, 'H2'); ``` You should have at least four list item elements in your unordered list with the ingredients. @@ -121,7 +121,7 @@ assert.equal(document.querySelectorAll('h2')[1]?.innerText, 'Instructions'); You should have an ordered list element below your second `h2` element. ```js -assert($('ol')[0].previousElementSibling.tagName === 'H2'); +assert.strictEqual(document.querySelector('ol')?.previousElementSibling.tagName, 'H2'); ``` You should have at least four list item elements in your ordered list with the instructions. @@ -135,19 +135,19 @@ els.forEach(el => assert.isAbove(el.innerText.trim().length, 0)) You should have at least one `img` element. ```js -assert.exists($('img')[0]); +assert.exists(document.querySelector('img')); ``` All your `img` elements should have a valid `src` attribute and value. ```js -assert.isAbove($('img')[0].src.length, 0); +assert.isAbove(document.querySelector('img')?.src.length, 0); ``` All your `img` elements should have an `alt` attribute to describe the image. ```js -assert.isAbove($('img')[0].alt.length, 0); +assert.isAbove(document.querySelector('img')?.alt.length, 0); ``` # --seed-- diff --git a/curriculum/challenges/arabic/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md b/curriculum/challenges/arabic/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md index b4fa1502be..45cb0bbe3f 100644 --- a/curriculum/challenges/arabic/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md +++ b/curriculum/challenges/arabic/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md @@ -9,7 +9,7 @@ dashedName: build-a-sentence-maker In this lab, you will create two different stories using a sentence template. You will use variables to store different parts of the story and then output the stories to the console. -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/arabic/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md b/curriculum/challenges/arabic/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md index 814ad6f430..6621062fba 100644 --- a/curriculum/challenges/arabic/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md +++ b/curriculum/challenges/arabic/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What command is used to see the path of the working directory? #### --distractors-- -Placeholder distractor 1 +`mv` --- -Placeholder distractor 2 +`cd` --- -Placeholder distractor 3 +`ls` #### --answer-- -Placeholder answer +`pwd` ### --question-- #### --text-- -Placeholder question +Which command is used to see what is present in a file? #### --distractors-- -Placeholder distractor 1 +`touch` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`ls` #### --answer-- -Placeholder answer +`more` ### --question-- #### --text-- -Placeholder question +Which command is used to create a new file? #### --distractors-- -Placeholder distractor 1 +`mkdir` --- -Placeholder distractor 2 +`cd` --- -Placeholder distractor 3 +`ls` #### --answer-- -Placeholder answer +`touch` ### --question-- #### --text-- -Placeholder question +Which command is used to remove a file? #### --distractors-- -Placeholder distractor 1 +`cp` --- -Placeholder distractor 2 +`cd` --- -Placeholder distractor 3 +`mv` #### --answer-- -Placeholder answer +`rm` ### --question-- #### --text-- -Placeholder question +Which command is used to copy a particular file to a folder? #### --distractors-- -Placeholder distractor 1 +`rm ` --- -Placeholder distractor 2 +`mv ` --- -Placeholder distractor 3 +`cd ` #### --answer-- -Placeholder answer +`cp ` ### --question-- #### --text-- -Placeholder question +Which command is used to see the list of files an folder present in a directory? #### --distractors-- -Placeholder distractor 1 +`touch` --- -Placeholder distractor 2 +`ls -l` --- -Placeholder distractor 3 +`mv` #### --answer-- -Placeholder answer +`ls` ### --question-- #### --text-- -Placeholder question +Which command will rename the 'menlo.font' file to 'menlo.otf'? #### --distractors-- -Placeholder distractor 1 +`rm menlo.font menlo.otf` --- -Placeholder distractor 2 +`cp menlo.font menlo.otf` --- -Placeholder distractor 3 +`ls menlo.font menlo.otf` #### --answer-- -Placeholder answer +`mv menlo.font menlo.otf` ### --question-- #### --text-- -Placeholder question +Which command can be used to find files or view a file tree ? #### --distractors-- -Placeholder distractor 1 +`ls` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`rm` #### --answer-- -Placeholder answer +`find` ### --question-- #### --text-- -Placeholder question +Which command is used to make a directory? #### --distractors-- -Placeholder distractor 1 +`dir` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`touch` #### --answer-- -Placeholder answer +`mkdir` ### --question-- #### --text-- -Placeholder question +Which command would print the text `I finished the example quiz`? #### --distractors-- -Placeholder distractor 1 +`cd I finished the example quiz` --- -Placeholder distractor 2 +`cp I finished the example quiz` --- -Placeholder distractor 3 +`ls I finished the example quiz` #### --answer-- -Placeholder answer +`echo I finished the example quiz` ### --question-- #### --text-- -Placeholder question +Which command would you use if you want to add text a to file directly from the terminal? #### --distractors-- -Placeholder distractor 1 +`ls >> ` --- -Placeholder distractor 2 +`cp >> ` --- -Placeholder distractor 3 +`mv >> ` #### --answer-- -Placeholder answer +`echo >> ` ### --question-- #### --text-- -Placeholder question +Which command is used to remove directories and their content recursively? #### --distractors-- -Placeholder distractor 1 +`cd -r` --- -Placeholder distractor 2 +`cp -r` --- -Placeholder distractor 3 +`dir -r` #### --answer-- -Placeholder answer +`rm -r` ### --question-- #### --text-- -Placeholder question +Which command is used to remove a complete directory? #### --distractors-- -Placeholder distractor 1 +`rm -r` --- -Placeholder distractor 2 +`rm` --- -Placeholder distractor 3 +`rm --help` #### --answer-- -Placeholder answer +`rmdir` ### --question-- #### --text-- -Placeholder question +Which command is used to go back to the previous directory? #### --distractors-- -Placeholder distractor 1 +`mv ..` --- -Placeholder distractor 2 +`dir ..` --- -Placeholder distractor 3 +`cp ..` #### --answer-- -Placeholder answer +`cd ..` ### --question-- #### --text-- -Placeholder question +Which flag can be used for any command to get a help menu? #### --distractors-- -Placeholder distractor 1 +`--info` --- -Placeholder distractor 2 +`--r` --- -Placeholder distractor 3 +`-l` #### --answer-- -Placeholder answer +`--help` ### --question-- #### --text-- -Placeholder question +Which command is used to close the terminal? #### --distractors-- -Placeholder distractor 1 +`close` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`off` #### --answer-- -Placeholder answer +`exit` ### --question-- #### --text-- -Placeholder question +Which command is used to clear the terminal? #### --distractors-- -Placeholder distractor 1 +`clr` --- -Placeholder distractor 2 +`clean` --- -Placeholder distractor 3 +`clrscr` #### --answer-- -Placeholder answer +`clear` ### --question-- #### --text-- -Placeholder question +Which command is used to copy the whole folder? #### --distractors-- -Placeholder distractor 1 +`dir -r ` --- -Placeholder distractor 2 +`mv -r ` --- -Placeholder distractor 3 +`cd -r ` #### --answer-- -Placeholder answer +`cp -r ` ### --question-- #### --text-- -Placeholder question +Which flag is used with find to search for an exact folder? #### --distractors-- -Placeholder distractor 1 +`-rf` --- -Placeholder distractor 2 +`-r` --- -Placeholder distractor 3 +`-l` #### --answer-- -Placeholder answer +`-name` ### --question-- #### --text-- -Placeholder question +Which flag is used with the `ls` command to list the contents of a folder in long list format? #### --distractors-- -Placeholder distractor 1 +`ls -f` --- -Placeholder distractor 2 +`ls -rf` --- -Placeholder distractor 3 +`ls --help` #### --answer-- -Placeholder answer +`ls -l` diff --git a/curriculum/challenges/arabic/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md b/curriculum/challenges/arabic/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md index 7755f89f3f..1cf62c4c83 100644 --- a/curriculum/challenges/arabic/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md +++ b/curriculum/challenges/arabic/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md @@ -17,439 +17,454 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is a correct shebang line in bash script? #### --distractors-- -Placeholder distractor 1 +`!#/bin/bash` --- -Placeholder distractor 2 +`/#!bin/bash` --- -Placeholder distractor 3 +`/#!/bin/bash` #### --answer-- -Placeholder answer +`#!/bin/bash` ### --question-- #### --text-- -Placeholder question +Which command would define `MY_VAR` and print it to the console? #### --distractors-- -Placeholder distractor 1 +`MY_VAR=10; echo MY_VAR` --- -Placeholder distractor 2 +`$MY_VAR=10; echo MY_VAR` --- -Placeholder distractor 3 +`$MY_VAR=10; echo $MY_VAR` #### --answer-- -Placeholder answer +`MY_VAR=10; echo $MY_VAR` ### --question-- #### --text-- -Placeholder question +How do you declare a numeric variable? #### --distractors-- -Placeholder distractor 1 +`declare -n MY_VAR=1` --- -Placeholder distractor 2 +`declare -d MY_VAR=1` --- -Placeholder distractor 3 +`declare -x MY_VAR=1` #### --answer-- -Placeholder answer +`declare -i MY_VAR=1` ### --question-- #### --text-- -Placeholder question +Which command would not run a `script.sh` file? #### --distractors-- -Placeholder distractor 1 +`./script.sh` --- -Placeholder distractor 2 +`/tmp/script.sh` --- -Placeholder distractor 3 +`bash script.sh` #### --answer-- -Placeholder answer +`script.sh` ### --question-- #### --text-- -Placeholder question +How to view the manual for the `less` command in bash? #### --distractors-- -Placeholder distractor 1 +`less man` --- -Placeholder distractor 2 +`less --man` --- -Placeholder distractor 3 +`man --less` #### --answer-- -Placeholder answer +`man less` ### --question-- #### --text-- -Placeholder question +How would you call `print_arguments` to print `a` and `b` to the terminal? + +```bash +print_arguments() { + echo "Argument 1: $1" + echo "Argument 2: $2" +} + +``` #### --distractors-- -Placeholder distractor 1 +`print_arguments("a", "b")` --- -Placeholder distractor 2 +`print_arguments(a, b)` --- -Placeholder distractor 3 +`print_arguments{a, b}` #### --answer-- -Placeholder answer +`print_arguments "a" "b"` ### --question-- #### --text-- -Placeholder question +How do you initialize an array in bash? #### --distractors-- -Placeholder distractor 1 +`ARR=["item1" "item2" "item3"]` --- -Placeholder distractor 2 +`ARR=[["item1" "item2" "item3"]]` --- -Placeholder distractor 3 +`ARR={"item1" "item2" "item3"}` #### --answer-- -Placeholder answer +`ARR=("item1" "item2" "item3")` ### --question-- #### --text-- -Placeholder question +How do you print the third value of an array in bash? #### --distractors-- -Placeholder distractor 1 +`echo ${ARR[3]}` --- -Placeholder distractor 2 +`echo $ARR[2]` --- -Placeholder distractor 3 +`echo $ARR[3]` #### --answer-- -Placeholder answer +`echo ${ARR[2]}` ### --question-- #### --text-- -Placeholder question +How do you assign user input to a variable in bash? #### --distractors-- -Placeholder distractor 1 +`input MY_VAR` --- -Placeholder distractor 2 +`cin MY_VAR` --- -Placeholder distractor 3 +`get MY_VAR` #### --answer-- -Placeholder answer +`read MY_VAR` ### --question-- #### --text-- -Placeholder question +What will be the permission flags for the `1.txt` file after executing the command `chmod 765 1.txt`? #### --distractors-- -Placeholder distractor 1 +`rwxrwxrwx` --- -Placeholder distractor 2 +`rwxr-xrw-` --- -Placeholder distractor 3 +`r-xrw-rwx` #### --answer-- -Placeholder answer +`rwxrw-r-x` ### --question-- #### --text-- -Placeholder question +What keyword does the statement `if ... then ...` end with? #### --distractors-- -Placeholder distractor 1 +`end` --- -Placeholder distractor 2 +`done` --- -Placeholder distractor 3 +`stop` #### --answer-- -Placeholder answer +`fi` ### --question-- #### --text-- -Placeholder question +What keyword does the statement `for ... do ...` end with? #### --distractors-- -Placeholder distractor 1 +`end` --- -Placeholder distractor 2 +`od` --- -Placeholder distractor 3 +`stop` #### --answer-- -Placeholder answer +`done` ### --question-- #### --text-- -Placeholder question +How do you create a comment in bash? #### --distractors-- -Placeholder distractor 1 +`// comment` --- -Placeholder distractor 2 +`!comment` --- -Placeholder distractor 3 +`/* comment` #### --answer-- -Placeholder answer +`# comment` ### --question-- #### --text-- -Placeholder question +What line should you add to the beginning of this snippet to create a `for` loop? + +```bash + +do + echo $i +done +``` #### --distractors-- -Placeholder distractor 1 +`for ( int i = 0; i < 10; i++ )` --- -Placeholder distractor 2 +`for (( int i = 0; i < 10; i++ ))` --- -Placeholder distractor 3 +`for (( let i = 0; i < 10; i++ ))` #### --answer-- -Placeholder answer +`for (( i = 0; i < 10; i++ ))` ### --question-- #### --text-- -Placeholder question +How would you assign the result of the sum of variables `A` and `B` to the variable `C`? #### --distractors-- -Placeholder distractor 1 +`C=$A + $B` --- -Placeholder distractor 2 +`C=$(( A + B ))` --- -Placeholder distractor 3 +`$C=$(( $A + $B ))` #### --answer-- -Placeholder answer +`C=$(( $A + $B ))` ### --question-- #### --text-- -Placeholder question +What keyword in a loop skips the rest of the current iteration and begins the next iteration? #### --distractors-- -Placeholder distractor 1 +`break` --- -Placeholder distractor 2 +`until` --- -Placeholder distractor 3 +`done` #### --answer-- -Placeholder answer +`continue` ### --question-- #### --text-- -Placeholder question +What does the command `echo $?` do? #### --distractors-- -Placeholder distractor 1 +Prints the value of the last used variable --- -Placeholder distractor 2 +Prints the value of the last used arithmetic operation --- -Placeholder distractor 3 +Prints the value of the last executed condition #### --answer-- -Placeholder answer +Prints the exit code of the last executed command ### --question-- #### --text-- -Placeholder question +What value of `MY_VAR` would satisfy the condition `[[ $MY_VAR =~ ^[A-Z]{1}[a-z]+$ ]]` ? #### --distractors-- -Placeholder distractor 1 +`freeCodeCamp` --- -Placeholder distractor 2 +`FreeCodeCamp` --- -Placeholder distractor 3 +`freecodecamp` #### --answer-- -Placeholder answer +`Freecodecamp` ### --question-- #### --text-- -Placeholder question +What types of loops exist in bash? #### --distractors-- -Placeholder distractor 1 +`for` --- -Placeholder distractor 2 +`for`, `while` --- -Placeholder distractor 3 +`for`, `while`, `until`, `forEach` #### --answer-- -Placeholder answer +`for`, `while`, `until` ### --question-- #### --text-- -Placeholder question +How do you print all values of an array in bash? #### --distractors-- -Placeholder distractor 1 +`echo $ARR[@]` --- -Placeholder distractor 2 +`echo {ARR[@]}` --- -Placeholder distractor 3 +`echo ${ARR[$@]}` #### --answer-- -Placeholder answer +`echo ${ARR[@]}` diff --git a/curriculum/challenges/arabic/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md b/curriculum/challenges/arabic/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md index 2cb570fbcd..968ab56073 100644 --- a/curriculum/challenges/arabic/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md +++ b/curriculum/challenges/arabic/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md @@ -17,439 +17,487 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +Which of the following is a valid way to represent a color in CSS? #### --distractors-- -Placeholder distractor 1 +`color-value: black;` --- -Placeholder distractor 2 +`text-color: blue;` --- -Placeholder distractor 3 +`font-color: red;` #### --answer-- -Placeholder answer +`#ff5733` ### --question-- #### --text-- -Placeholder question +What is the correct syntax for setting the background color of an element? #### --distractors-- -Placeholder distractor 1 +`bg-color: red;` --- -Placeholder distractor 2 +`background_color: red;` --- -Placeholder distractor 3 +`style: background-color: red;` #### --answer-- -Placeholder answer +`background: red;` ### --question-- #### --text-- -Placeholder question +How can you set the transparency of an element to 50%? #### --distractors-- -Placeholder distractor 1 +`bg-opacity: 0.5;` --- -Placeholder distractor 2 +`transparency: 50%;` --- -Placeholder distractor 3 +`alpha: 0.5;` #### --answer-- -Placeholder answer +`opacity: 0.5;` ### --question-- #### --text-- -Placeholder question +What is the equivalent `HSL` value for the color `#FF0000`? #### --distractors-- -Placeholder distractor 1 +`hsl(180%, 100%, 50%)` --- -Placeholder distractor 2 +`hsl(180, 100%, 50%)` --- -Placeholder distractor 3 +`hsl(360, 100%, 50%)` #### --answer-- -Placeholder answer +`hsl(0, 100%, 50%)` ### --question-- #### --text-- -Placeholder question +How can you set the color of an element to a random color? #### --distractors-- -Placeholder distractor 1 +`color: random();` --- -Placeholder distractor 2 +`color: #random;` --- -Placeholder distractor 3 +`color: any();` #### --answer-- -Placeholder answer +There is no direct way to do so. ### --question-- #### --text-- -Placeholder question +What is the default value of alpha in `rgba` if it's not specified? #### --distractors-- -Placeholder distractor 1 +`0` (completely transparent) --- -Placeholder distractor 2 +`2` (completely opaque) --- -Placeholder distractor 3 +`0.5` (half transparent) #### --answer-- -Placeholder answer +`1` (completely opaque) ### --question-- #### --text-- -Placeholder question +Which of the following is a valid hex color code? #### --distractors-- -Placeholder distractor 1 +`#12345G` --- -Placeholder distractor 2 +`#12ffg0` --- -Placeholder distractor 3 +`#12ffgg` #### --answer-- -Placeholder answer +`#ff12ff` ### --question-- #### --text-- -Placeholder question +How many hexadecimal characters are used to define a color in shorthand hex notation? #### --distractors-- -Placeholder distractor 1 +5 --- -Placeholder distractor 2 +4 --- -Placeholder distractor 3 +2 #### --answer-- -Placeholder answer +3 ### --question-- #### --text-- -Placeholder question +Which of these functions allows specifying the transparency of a color? #### --distractors-- -Placeholder distractor 1 +`rgb()` --- -Placeholder distractor 2 +`hsl()` --- -Placeholder distractor 3 +`rgba()` #### --answer-- -Placeholder answer +`opacity()` ### --question-- #### --text-- -Placeholder question +Which of the following hex codes represents a shade of red? #### --distractors-- -Placeholder distractor 1 +`#0000ff` --- -Placeholder distractor 2 +`#ffff00` --- -Placeholder distractor 3 +`#00ff00` #### --answer-- -Placeholder answer +`#ff0000` ### --question-- #### --text-- -Placeholder question +Which keyword sets the text color to inherit from the parent element? #### --distractors-- -Placeholder distractor 1 +`null` --- -Placeholder distractor 2 +`auto` --- -Placeholder distractor 3 +`default` #### --answer-- -Placeholder answer +`inherit` ### --question-- #### --text-- -Placeholder question +How many colors are required to create a valid CSS gradient? #### --distractors-- -Placeholder distractor 1 +At least `4` --- -Placeholder distractor 2 +Exactly `2` --- -Placeholder distractor 3 +Exactly `3` #### --answer-- -Placeholder answer +At least `2` ### --question-- #### --text-- -Placeholder question +What unit is used to express the lightness value in the `hsl` color model? #### --distractors-- -Placeholder distractor 1 +`Degrees` --- -Placeholder distractor 2 +`Hex` --- -Placeholder distractor 3 +`Pixels` #### --answer-- -Placeholder answer +`Percent (%)` ### --question-- #### --text-- -Placeholder question +Which CSS property would you use to add a solid color around an element? #### --distractors-- -Placeholder distractor 1 +`color` --- -Placeholder distractor 2 +`outline-color` --- -Placeholder distractor 3 +`text-color` #### --answer-- -Placeholder answer +`border-color` ### --question-- #### --text-- -Placeholder question +What does the `hsl()` function stand for? #### --distractors-- -Placeholder distractor 1 +`Hue, Saturation, Luminosity` --- -Placeholder distractor 2 +`Hue, Shadow, Lightness` --- -Placeholder distractor 3 +`Hue, Shadow, Luminosity` #### --answer-- -Placeholder answer +`Hue, Saturation, Lightness` ### --question-- #### --text-- -Placeholder question +Which of these is a valid CSS color keyword? #### --distractors-- -Placeholder distractor 1 +`purple-red` --- -Placeholder distractor 2 +`electricblue` --- -Placeholder distractor 3 +`goldy` #### --answer-- -Placeholder answer +`gold` ### --question-- #### --text-- -Placeholder question +What is the maximum value allowed for a single color component in the `RGB` color system? #### --distractors-- -Placeholder distractor 1 +`200` --- -Placeholder distractor 2 +`500` --- -Placeholder distractor 3 +`128` #### --answer-- -Placeholder answer +`255` ### --question-- #### --text-- -Placeholder question +Which color model includes the `hue` component? #### --distractors-- -Placeholder distractor 1 +`rgb` --- -Placeholder distractor 2 +`hex` --- -Placeholder distractor 3 +`cmyk` #### --answer-- -Placeholder answer +`hsl` ### --question-- #### --text-- -Placeholder question +Which of the following is the correct syntax to create a CSS variable with a fallback value? #### --distractors-- -Placeholder distractor 1 +```css +.element { + color: var(--main-color, red); +} +``` --- -Placeholder distractor 2 +```css +.element { + color: var(--main-color); +} +``` --- -Placeholder distractor 3 +```css +.element { + color: var(--main-color: red); +} +``` #### --answer-- -Placeholder answer +```css +.element { + color: var(--main-color, red); +} +``` ### --question-- #### --text-- -Placeholder question +How can you use CSS variables to dynamically change the color of multiple elements? #### --distractors-- -Placeholder distractor 1 +```css +:root { + primary-color: blue; +} + +.element1, .element2 { + color: --primary-color; +} +``` --- -Placeholder distractor 2 +```css +body { + --color: blue; +} + +.element1, .element2 { + color: var(color); +} +``` --- -Placeholder distractor 3 +```css +:root { + --primary: blue; +} + +.element1, .element2 { + color: var(--primary); +} +``` #### --answer-- -Placeholder answer +```css +:root { + --primary-color: blue; +} + +.element1, .element2 { + color: var(--primary-color); +} +``` diff --git a/curriculum/challenges/arabic/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md b/curriculum/challenges/arabic/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md index f2a46be218..bd4e2d51bf 100644 --- a/curriculum/challenges/arabic/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md +++ b/curriculum/challenges/arabic/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What are some reasons why whitespace is important for good design? #### --distractors-- -Placeholder distractor 1 +Improves readability by placing many elements on the page --- -Placeholder distractor 2 +Focuses the viewer's attention by having elements placed close together --- -Placeholder distractor 3 +Creates breathing space in the design to make users scroll for more information #### --answer-- -Placeholder answer +Creates visual hierarchy, improves readability, focuses the viewer's attention on different elements ### --question-- #### --text-- -Placeholder question +What is the design principle of carefully choosing the size of elements in relation to each other and the layout? #### --distractors-- -Placeholder distractor 1 +Visual hierarchy --- -Placeholder distractor 2 +Proportion --- -Placeholder distractor 3 +Balance #### --answer-- -Placeholder answer +Scale ### --question-- #### --text-- -Placeholder question +What design tool in Figma would you use to combine multiple elements together without flattening the layers of the elements? #### --distractors-- -Placeholder distractor 1 +Frames --- -Placeholder distractor 2 +Blocks --- -Placeholder distractor 3 +Class #### --answer-- -Placeholder answer +Groups ### --question-- #### --text-- -Placeholder question +What design pattern allows users to access and interact with specific elements and content on a website without or while deferring registration? #### --distractors-- -Placeholder distractor 1 +Captcha validation --- -Placeholder distractor 2 +Lazy loading --- -Placeholder distractor 3 +Progressive enhancement #### --answer-- -Placeholder answer +Deferred/lazy registration ### --question-- #### --text-- -Placeholder question +What are the three main types of text alignment? #### --distractors-- -Placeholder distractor 1 +Vertical, center, horizontal --- -Placeholder distractor 2 +Left, right, justified --- -Placeholder distractor 3 +Vertical, horizontal, justified #### --answer-- -Placeholder answer +Left, right, center ### --question-- #### --text-- -Placeholder question +Which interaction design pattern reduces the complexity of interaction by hiding parts of interfaces progressively so that content is only introduced to the user as they progress through the application? #### --distractors-- -Placeholder distractor 1 +Extended discoverability --- -Placeholder distractor 2 +Delayed implementation --- -Placeholder distractor 3 +Gradual engagement #### --answer-- -Placeholder answer +Progressive disclosure ### --question-- #### --text-- -Placeholder question +What is contrast in design? #### --distractors-- -Placeholder distractor 1 +Elements that are visually similar --- -Placeholder distractor 2 +The difference in saturation between two colors --- -Placeholder distractor 3 +Matching elements on a page #### --answer-- -Placeholder answer +Elements that are strikingly different from each other visually ### --question-- #### --text-- -Placeholder question +In the examples below, which one is an example of visual hierarchy in design? #### --distractors-- -Placeholder distractor 1 +Headline and title text are a similar color to the background and other elements to blend in --- -Placeholder distractor 2 +Text and images are all the same size on the page --- -Placeholder distractor 3 +The logo banner is smaller than all the minor images on the main landing page #### --answer-- -Placeholder answer +Making the headline of the page larger than other text that comprise the body or sub-headings ### --question-- #### --text-- -Placeholder question +Which Figma tools allows users to specify a region on the screen they would like to export? #### --distractors-- -Placeholder distractor 1 +Frames --- -Placeholder distractor 2 +Section --- -Placeholder distractor 3 +Blocks #### --answer-- -Placeholder answer +Slice ### --question-- #### --text-- -Placeholder question +What is user centered design? #### --distractors-- -Placeholder distractor 1 +A design process where once the design is completed, designers test the product by getting user feedback --- -Placeholder distractor 2 +A design process where designers consider user accessibility requirements --- -Placeholder distractor 3 +A design process focused on client requirements at every stage of the process #### --answer-- -Placeholder answer +An iterative design process where designers design a product considering user requirements at every stage of the process ### --question-- #### --text-- -Placeholder question +What is the minimum required contrast ratio for regular text for accessibility according to WCAG guidelines? #### --distractors-- -Placeholder distractor 1 +1:1 --- -Placeholder distractor 2 +7:1 --- -Placeholder distractor 3 +3:1 #### --answer-- -Placeholder answer +4.5:1 ### --question-- #### --text-- -Placeholder question +What are some colors to consider when designing dark mode? #### --distractors-- -Placeholder distractor 1 +Pure white --- -Placeholder distractor 2 +Highly saturated colors --- -Placeholder distractor 3 +Bright highly contrasting colors #### --answer-- -Placeholder answer +Dark colors and muted light colors for contrast in dim lighting conditions ### --question-- #### --text-- -Placeholder question +What is one good design practice when considering color palettes for a design? #### --distractors-- -Placeholder distractor 1 +Using a variety of colors with strong saturation and contrast --- -Placeholder distractor 2 +Focus on vibrancy and saturation and place many non complementary hues --- -Placeholder distractor 3 +Using many complementary colors together #### --answer-- -Placeholder answer +Limit colors and focus on using shades, tones, and tints of one color and add another hue three spaces away from that color ### --question-- #### --text-- -Placeholder question +What is one reason why the rule of thirds is important? #### --distractors-- -Placeholder distractor 1 +Creates symmetry in the composition by dividing it equally --- -Placeholder distractor 2 +By dividing up the composition, it eliminates visual hierarchy --- -Placeholder distractor 3 +Objects at the edge of the composition get more focus #### --answer-- -Placeholder answer +Breaks the composition apart into 9 equal parts, where objects placed on the dividing lines provide focus and hierarchy to the composition ### --question-- #### --text-- -Placeholder question +What is one bad practice method for implementing infinite scroll? #### --distractors-- -Placeholder distractor 1 +Allow users to jump to a page or section through the navbar or a pagination drop down menu --- -Placeholder distractor 2 +Add a load more indicator or symbol after a certain point in the page along with the infinite scroll --- -Placeholder distractor 3 +Integrate a footer reveal at the bottom #### --answer-- -Placeholder answer +No back to top button, alternative methods of navigating the page, and very long inefficient scrolling ### --question-- #### --text-- -Placeholder question +What is one bad practice for working with images? #### --distractors-- -Placeholder distractor 1 +Make important images stand out by being larger in size --- -Placeholder distractor 2 +Separate text and images into columns or rows --- -Placeholder distractor 3 +Put images outside the layout and important ones on their own or full screen #### --answer-- -Placeholder answer +Images placed in the middle of text paragraphs with very little margin space for separation ### --question-- #### --text-- -Placeholder question +What is one way to make shopping cart design intuitive and user friendly? #### --distractors-- -Placeholder distractor 1 +Use a new shopping cart icon that no other website has used before --- -Placeholder distractor 2 +Do not allow users to add or remove items from the cart --- -Placeholder distractor 3 +Include a checkout summary on another page #### --answer-- -Placeholder answer +Include thumbnail images of products in the cart ### --question-- #### --text-- -Placeholder question +Dark mode doesn't mean pure black. What are some colors and good techniques to create a good dark mode color scheme? #### --distractors-- -Placeholder distractor 1 +Make images and elements darker and reduce contrast between different elements to have them blend in --- -Placeholder distractor 2 +Invert the color scheme --- -Placeholder distractor 3 +Use many saturated colors #### --answer-- -Placeholder answer +Use dark gray or a dark shade of the brand color instead of pure black ### --question-- #### --text-- -Placeholder question +What is one good design practice when creating modals? #### --distractors-- -Placeholder distractor 1 +Put a lot of important information inside a modal --- -Placeholder distractor 2 +Have multiple modals on the same screen --- -Placeholder distractor 3 +Ensure the modal draws the user's attention away from it #### --answer-- -Placeholder answer +Make the modal dismiss icon visible ### --question-- #### --text-- -Placeholder question +What is a design brief? #### --distractors-- -Placeholder distractor 1 +A design brief is a document outlining the programming and design standards of the project --- -Placeholder distractor 2 +A design brief is a document explaining how to replicate a design --- -Placeholder distractor 3 +A design brief is a document with detailed information of icons, colors, and assets the designer should use #### --answer-- -Placeholder answer +A design brief states the goals and project scope, budget, design requirements, and other important details of the project diff --git a/curriculum/challenges/arabic/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md b/curriculum/challenges/arabic/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md index 3d6219cf8c..6028fe2353 100644 --- a/curriculum/challenges/arabic/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md +++ b/curriculum/challenges/arabic/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md @@ -17,439 +17,503 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is the correct way to declare a JavaScript array? #### --distractors-- -Placeholder distractor 1 +`let arr = array(1, 2, 3);` --- -Placeholder distractor 2 +`let arr = "1, 2, 3";` --- -Placeholder distractor 3 +`let arr = {1, 2, 3};` #### --answer-- -Placeholder answer +`let arr = [1, 2, 3];` ### --question-- #### --text-- -Placeholder question +What is the key difference between primitive and non-primitive data types? #### --distractors-- -Placeholder distractor 1 +Primitives can store multiple values. --- -Placeholder distractor 2 +Non-primitives cannot hold references to other objects. --- -Placeholder distractor 3 +Non-primitives store values directly. #### --answer-- -Placeholder answer +Primitives hold direct values, non-primitives hold references. ### --question-- #### --text-- -Placeholder question +What value will be assigned to the `index` variable? + +```js +const numbers = [10, 20, 30, 40]; +const index = numbers.indexOf(20); +console.log(index); +``` #### --distractors-- -Placeholder distractor 1 +2 --- -Placeholder distractor 2 +3 --- -Placeholder distractor 3 +-1 #### --answer-- -Placeholder answer +1 ### --question-- #### --text-- -Placeholder question +What value will be assigned to the `arr2` variable? + +```js +const arr1 = [1, 2, 3]; +const arr2 = [...arr1, 4, 5]; +console.log(arr2); +``` #### --distractors-- -Placeholder distractor 1 +`[4, 5, 1, 2, 3]` --- -Placeholder distractor 2 +`[1, 2, [3, 4, 5]]` --- -Placeholder distractor 3 +`[1, 2, 3]` #### --answer-- -Placeholder answer +`[1, 2, 3, 4, 5]` ### --question-- #### --text-- -Placeholder question +What will this code print to the console? + +```js +const colors = ['red', 'blue', 'green', 'yellow']; +colors.splice(1, 2, 'purple'); +console.log(colors); +``` #### --distractors-- -Placeholder distractor 1 +`['red', 'purple', 'green', 'yellow']` --- -Placeholder distractor 2 +`['red', 'blue', 'yellow']` --- -Placeholder distractor 3 +`['red', 'blue', 'green', 'yellow']` #### --answer-- -Placeholder answer +`['red', 'purple', 'yellow']` ### --question-- #### --text-- -Placeholder question +What value will be assigned to the `slicedArr` variable? + +```js +const arr = ['apple', 'banana', 'cherry', 'date']; +const slicedArr = arr.slice(1, 3); +console.log(slicedArr); +``` #### --distractors-- -Placeholder distractor 1 +`['apple', 'banana']` --- -Placeholder distractor 2 +`['cherry', 'date']` --- -Placeholder distractor 3 +`['apple', 'cherry']` #### --answer-- -Placeholder answer +`['banana', 'cherry']` ### --question-- #### --text-- -Placeholder question +Which method returns the first index of a given element in an array? #### --distractors-- -Placeholder distractor 1 +`findIndex()` --- -Placeholder distractor 2 +`lastIndexOf()` --- -Placeholder distractor 3 +`slice()` #### --answer-- -Placeholder answer +`indexOf()` ### --question-- #### --text-- -Placeholder question +Which method removes the first element from an array and shifts all other elements down? #### --distractors-- -Placeholder distractor 1 +`pop()` --- -Placeholder distractor 2 +`slice()` --- -Placeholder distractor 3 +`splice()` #### --answer-- -Placeholder answer +`shift()` ### --question-- #### --text-- -Placeholder question +What does `Array.prototype.concat()` do? #### --distractors-- -Placeholder distractor 1 +Joins array elements into a string. --- -Placeholder distractor 2 +Adds an element to the beginning of an array. --- -Placeholder distractor 3 +Removes an element from the array. #### --answer-- -Placeholder answer +Merges two arrays into a new array. ### --question-- #### --text-- -Placeholder question +What happens if you set an array's length to a value smaller than the current length? #### --distractors-- -Placeholder distractor 1 +It throws a syntax error. --- -Placeholder distractor 2 +The extra space is filled with `undefined`. --- -Placeholder distractor 3 +Nothing happens; the array remains the same size. #### --answer-- -Placeholder answer +The array gets truncated, removing elements beyond the new length. ### --question-- #### --text-- -Placeholder question +What will be the output of this code ? + +```js +const fruits = ['apple', 'banana', 'cherry', 'apple', 'orange']; +const index = fruits.indexOf('apple'); +if (index !== -1) { + fruits.splice(index, 1); +} +console.log(fruits); +``` #### --distractors-- -Placeholder distractor 1 +`['banana', 'cherry', 'orange']` --- -Placeholder distractor 2 +`['apple', 'cherry', 'apple', 'orange']` --- -Placeholder distractor 3 +`['banana', 'cherry', 'apple']` #### --answer-- -Placeholder answer +`['banana', 'cherry', 'apple', 'orange']` ### --question-- #### --text-- -Placeholder question +What is the final value of `result` in the following code? + +```js +const arr1 = [1, 2]; +const arr2 = [3, 4, 5]; +const combined = arr1.concat(arr2); +const result = combined.includes(3); +console.log(result); +``` #### --distractors-- -Placeholder distractor 1 +`false` --- -Placeholder distractor 2 +`[1, 2, 3, 4, 5]` --- -Placeholder distractor 3 +`undefined` #### --answer-- -Placeholder answer +`true` ### --question-- #### --text-- -Placeholder question +What does the following code output? + +```js +const nums = [1, 2, 3, 4]; +const doubled = nums.map(n => n * 2); +console.log(doubled.includes(8)); +``` #### --distractors-- -Placeholder distractor 1 +`false` --- -Placeholder distractor 2 +`[2, 4, 6, 8]` --- -Placeholder distractor 3 +`Error` #### --answer-- -Placeholder answer +`true` ### --question-- #### --text-- -Placeholder question +What is the output when using `splice()` to remove elements from a 2D array? + +```js +let matrix = [ + [1, 2, 3], + [4, 5, 6], + [7, 8, 9] +]; +matrix.splice(1, 1); +console.log(matrix); +``` #### --distractors-- -Placeholder distractor 1 +`[[1, 2, 3], [4, 5, 6]]` --- -Placeholder distractor 2 +`[[1, 2], [4, 5], [7, 8]]` --- -Placeholder distractor 3 +`[[7, 8, 9]]` #### --answer-- -Placeholder answer +`[[1, 2, 3], [7, 8, 9]]` ### --question-- #### --text-- -Placeholder question +Which of the following statements about `.length` is correct? #### --distractors-- -Placeholder distractor 1 +It counts the number of values in a 2D array. --- -Placeholder distractor 2 +It returns `undefined` for empty arrays. --- -Placeholder distractor 3 +It gives the total number of elements in a 2D array. #### --answer-- -Placeholder answer +It counts the number of top-level elements in a 2D array. ### --question-- #### --text-- -Placeholder question +Which of the following is true about the `indexOf()` method in arrays? #### --distractors-- -Placeholder distractor 1 +It always returns the last occurrence of the element. --- -Placeholder distractor 2 +It throws an error if the element is not found. --- -Placeholder distractor 3 +It requires the array to be sorted. #### --answer-- -Placeholder answer +It returns `-1` if the element is not found. ### --question-- #### --text-- -Placeholder question +What is the main difference between `push()` and `concat()` when working with arrays? #### --distractors-- -Placeholder distractor 1 +`push()` adds multiple arrays together, while `concat()` adds a single element. --- -Placeholder distractor 2 +`concat()` modifies the original array, while `push()` creates a new array. --- -Placeholder distractor 3 +Both `push()` and `concat()` are immutable methods. #### --answer-- -Placeholder answer +`push()` modifies the original array, while `concat()` creates a new array. ### --question-- #### --text-- -Placeholder question +How does the rest parameter `...rest` work in array destructuring in JavaScript? #### --distractors-- -Placeholder distractor 1 +It is used to add extra elements to the array. --- -Placeholder distractor 2 +It allows you to access elements outside the array's bounds. --- -Placeholder distractor 3 +It removes the last element of the array. #### --answer-- -Placeholder answer +It collects the remaining elements into a new array after the initial elements are assigned to variables. ### --question-- #### --text-- -Placeholder question +What will be the result of this code ? + +```js +const numbers = [10, 20, 30]; +numbers.push(40); +numbers.pop(); +const length = numbers.length; +console.log(length); +``` #### --distractors-- -Placeholder distractor 1 +2 --- -Placeholder distractor 2 +5 --- -Placeholder distractor 3 +4 #### --answer-- -Placeholder answer +3 ### --question-- #### --text-- -Placeholder question +Which method will return a new array without changing the original array? #### --distractors-- -Placeholder distractor 1 +`splice()` --- -Placeholder distractor 2 +`pop()` --- -Placeholder distractor 3 +`push()` #### --answer-- -Placeholder answer - +`slice()` diff --git a/curriculum/challenges/arabic/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md b/curriculum/challenges/arabic/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md index 0fa07e57da..5c8b62e21b 100644 --- a/curriculum/challenges/arabic/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md +++ b/curriculum/challenges/arabic/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md @@ -17,439 +17,492 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is JavaScript? #### --distractors-- -Placeholder distractor 1 +A markup language used to design websites. --- -Placeholder distractor 2 +A server-side programming language. --- -Placeholder distractor 3 +A database management system. #### --answer-- -Placeholder answer +A programming language primarily used for web development. ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a JavaScript data type? #### --distractors-- -Placeholder distractor 1 +`null` --- -Placeholder distractor 2 +`undefined` --- -Placeholder distractor 3 +`bigint` #### --answer-- -Placeholder answer +`double` ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a valid JavaScript variable declaration? #### --distractors-- -Placeholder distractor 1 +`const x = 0;` --- -Placeholder distractor 2 +`let x;` --- -Placeholder distractor 3 +`var x;` #### --answer-- -Placeholder answer +`public final Long x;` ### --question-- #### --text-- -Placeholder question +Which of the following is a conventional variable name in JavaScript? #### --distractors-- -Placeholder distractor 1 +`let my_var;` --- -Placeholder distractor 2 +`let my-var;` --- -Placeholder distractor 3 +`let MyVar;` #### --answer-- -Placeholder answer +`let myVar;` ### --question-- #### --text-- -Placeholder question +What is the difference between `let` and `const` variable declarations in JavaScript? #### --distractors-- -Placeholder distractor 1 +`let` is block scoped, `const` is not. --- -Placeholder distractor 2 +`const` is block scoped, `let` is not. --- -Placeholder distractor 3 +`const` can be re-assigned but not re-declared. `let` can be re-declared, but not re-assigned. #### --answer-- -Placeholder answer +`const` cannot be re-assigned or re-declared. `let` can be re-assigned, but not re-declared. ### --question-- #### --text-- -Placeholder question +What is the difference between local and global scope in JavaScript? #### --distractors-- -Placeholder distractor 1 +Variables declared in local scope can be accessed from anywhere in the program. --- -Placeholder distractor 2 +Variables declared in global scope can only be accessed from inside a function. --- -Placeholder distractor 3 +Variables declared in global scope cannot be re-declared. #### --answer-- -Placeholder answer +Variables declared in global scope can be accessed from anywhere in the program. ### --question-- #### --text-- -Placeholder question +How would you print out the string `Hello, world!` in the console in JavaScript? #### --distractors-- -Placeholder distractor 1 +`print("Hello, world!")` --- -Placeholder distractor 2 +`alert("Hello, world");` --- -Placeholder distractor 3 +`System.out.println("Hello, world!");` #### --answer-- -Placeholder answer +`console.log("Hello, world!");` ### --question-- #### --text-- -Placeholder question +What does the code below do? + +```js +let hello = "Hello"; +hello += " world"; +console.log(hello); +``` #### --distractors-- -Placeholder distractor 1 +Reassigns `world` to the variable `hello`, and prints it out in the console. --- -Placeholder distractor 2 +Prints out the number of characters in `Hello world` in the console. --- -Placeholder distractor 3 +Adds the string `world` to the variable `hello`, and prints it out in the console. #### --answer-- -Placeholder answer +Creates a third empty string, copies the values of both strings to it, and finally reassigns the `hello` variable to the third string and prints it out in the console. ### --question-- #### --text-- -Placeholder question +Are semicolons required in JavaScript? #### --distractors-- -Placeholder distractor 1 +Yes. The code won't work without semicolons. --- -Placeholder distractor 2 +Semicolons are sometimes required in JavaScript. --- -Placeholder distractor 3 +No. It's recommended not to use semicolons in JavaScript. #### --answer-- -Placeholder answer +No, but it is generally recommended to use semicolons consistently to avoid potential issues in code. ### --question-- #### --text-- -Placeholder question +Which of the following is a valid single line comment syntax in JavaScript? #### --distractors-- -Placeholder distractor 1 +`# This is a single line comment` --- -Placeholder distractor 2 +`-- This is a single line comment` --- -Placeholder distractor 3 +`/* This is a single line comment */` #### --answer-- -Placeholder answer +`// This is a single line comment` ### --question-- #### --text-- -Placeholder question +Dynamic typing in JavaScript means that: #### --distractors-- -Placeholder distractor 1 +You need to declare the data type of a variable before using it. --- -Placeholder distractor 2 +You cannot assign a value of one data type to a variable of a different type. --- -Placeholder distractor 3 +JavaScript performs type checking before execution, meaning type related errors will be thrown before the code is run. #### --answer-- -Placeholder answer +You don't need to declare the data type of a variable before using it. JavaScript infers the type based on the value assigned to the variable. ### --question-- #### --text-- -Placeholder question +Which of the following prints out the type of the variable `x` in the console? #### --distractors-- -Placeholder distractor 1 +`console.log(x.type);` --- -Placeholder distractor 2 +`console.log(typeOf(x));` --- -Placeholder distractor 3 +`console.log(isNaN(x));` #### --answer-- -Placeholder answer +`console.log(typeof x);` ### --question-- #### --text-- -Placeholder question +What will be the output of `console.log(typeof null);`? #### --distractors-- -Placeholder distractor 1 +`undefined` --- -Placeholder distractor 2 +`null` --- -Placeholder distractor 3 +`NaN` #### --answer-- -Placeholder answer +`object` ### --question-- #### --text-- -Placeholder question +Which of the following is a valid multi-line comment in JavaScript? #### --distractors-- -Placeholder distractor 1 +```js +// This is a +// multi-line +// comment +``` --- -Placeholder distractor 2 +```py +''' +This is a +multi-line +comment +''' +``` --- -Placeholder distractor 3 +```html + +``` #### --answer-- -Placeholder answer +```js +/* +This is a +multi-line +comment +*/ +``` ### --question-- #### --text-- -Placeholder question +Which of the following declares a variable in JavaScript that cannot be changed? #### --distractors-- -Placeholder distractor 1 +`var x = 0;` --- -Placeholder distractor 2 +`let x = 0;` --- -Placeholder distractor 3 +`final x = 0;` #### --answer-- -Placeholder answer +`const x = 0;` ### --question-- #### --text-- -Placeholder question +In the code below, which variable is in the global scope in JavaScript: + +```js +let a = 0; + +if (a < 10) { + let b = 1; + return a + b; +} +``` #### --distractors-- -Placeholder distractor 1 +Variable `b` is in the global scope. --- -Placeholder distractor 2 +Both variables `a` and `b` are in the global scope. --- -Placeholder distractor 3 +None of the variables are in the global scope. #### --answer-- -Placeholder answer +Variable `a` is in the global scope, and can be accessed from anywhere in the program. ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a valid string concatenation method in JavaScript? #### --distractors-- -Placeholder distractor 1 +`console.log(string1 + " " + string2);` --- -Placeholder distractor 2 +```js +console.log(`${string1} ${string2}`); +``` --- -Placeholder distractor 3 +`console.log(string1.concat(" ", string2));` #### --answer-- -Placeholder answer +`console.log(string1 string2);` ### --question-- #### --text-- -Placeholder question +What will be the output of the following code: + +```js +let hello = "hello"; +if (true) { + let world = "world"; +} +console.log(hello + " " + world); +``` #### --distractors-- -Placeholder distractor 1 +`hello world` --- -Placeholder distractor 2 +`helloworld` --- -Placeholder distractor 3 +`hello` #### --answer-- -Placeholder answer +`ReferenceError: world is not defined` ### --question-- #### --text-- -Placeholder question +What will be the output of the code below: + +```js +const x = 0; +while (x < 10) x++; +console.log(x); +``` #### --distractors-- -Placeholder distractor 1 +`10` --- -Placeholder distractor 2 +`0` --- -Placeholder distractor 3 +`1 2 3 4 5 6 7 8 9 10` #### --answer-- -Placeholder answer +`TypeError: Assignment to constant variable.` ### --question-- #### --text-- -Placeholder question +Given the string `freeCodeLamp`, which JavaScript string method can be used to turn it into `freeCodeCamp`? #### --distractors-- -Placeholder distractor 1 +`"freeCodeLamp"[8] = "C";` --- -Placeholder distractor 2 +`"freeCodeLamp".charAt(8) = "C";` --- -Placeholder distractor 3 +`"freeCodeLamp".indexOf("L") = "C";` #### --answer-- -Placeholder answer +`"freeCodeLamp".replace("L", "C");` diff --git a/curriculum/challenges/arabic/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md b/curriculum/challenges/arabic/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md index 0887bf3885..bf02c6d126 100644 --- a/curriculum/challenges/arabic/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md +++ b/curriculum/challenges/arabic/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is nano? #### --distractors-- -Placeholder distractor 1 +A word processor. --- -Placeholder distractor 2 +A program that makes text smaller. --- -Placeholder distractor 3 +A prefix that means small, tiny. #### --answer-- -Placeholder answer +Nano is a small, easy-to-use text editor that runs in a terminal. ### --question-- #### --text-- -Placeholder question +How do you run or start nano from a terminal? #### --distractors-- -Placeholder distractor 1 +Type `run nano`, then press the **Enter** key --- -Placeholder distractor 2 +Type `start nano`, then press the **Enter** key --- -Placeholder distractor 3 +Type `nano.exe`, then press the **Enter** key #### --answer-- -Placeholder answer +Type `nano`, then press the **Enter** key ### --question-- #### --text-- -Placeholder question +How do you open a text file using nano? #### --distractors-- -Placeholder distractor 1 +Type `nano.exe [FILE]`, then press the **Enter** key --- -Placeholder distractor 2 +Type `emacs [FILE]`, then press the **Enter** key --- -Placeholder distractor 3 +Type `vim [FILE]`, then press the **Enter** key #### --answer-- -Placeholder answer +Type `nano [FILE]`, then press the **Enter** key ### --question-- #### --text-- -Placeholder question +What type of files is nano capable of creating and modifiying? #### --distractors-- -Placeholder distractor 1 +PDF files --- -Placeholder distractor 2 +Word documents --- -Placeholder distractor 3 +Excel spreadsheets #### --answer-- -Placeholder answer +Plain text files ### --question-- #### --text-- -Placeholder question +With nano already running, what is the command or sequence of keystrokes to save the current file? #### --distractors-- -Placeholder distractor 1 +**Alt + E** --- -Placeholder distractor 2 +**Ctrl + T** --- -Placeholder distractor 3 +**Ctrl + U** #### --answer-- -Placeholder answer +**Ctrl + S** ### --question-- #### --text-- -Placeholder question +While running nano, how can you find help about using nano? #### --distractors-- -Placeholder distractor 1 +Type `nano -?` --- -Placeholder distractor 2 +Type `nano --help` --- -Placeholder distractor 3 +Perform a web search. #### --answer-- -Placeholder answer +Press **Ctrl + G** ### --question-- #### --text-- -Placeholder question +Where can you find the official documentation for nano? #### --distractors-- -Placeholder distractor 1 +GNU.org --- -Placeholder distractor 2 +SuperUser.com --- -Placeholder distractor 3 +StackOverflow.com #### --answer-- -Placeholder answer +https://www.nano-editor.org/dist/latest/nano.html ### --question-- #### --text-- -Placeholder question +What is/are the keystroke(s) to exit nano? #### --distractors-- -Placeholder distractor 1 +Press **Ctrl + Alt + Del** --- -Placeholder distractor 2 +Type `exit` --- -Placeholder distractor 3 +Press **Esc** #### --answer-- -Placeholder answer +Press **Ctrl + X** ### --question-- #### --text-- -Placeholder question +What keystrokes allow you to begin a search of the current file? #### --distractors-- -Placeholder distractor 1 +Press **Alt + E** --- -Placeholder distractor 2 +Press **Ctrl + U** --- -Placeholder distractor 3 +Press **Ctrl + K** #### --answer-- -Placeholder answer +Press **Ctrl + B** or **Ctrl + F** ### --question-- #### --text-- -Placeholder question +What keystrokes allow you to begin a spell check of the current file? #### --distractors-- -Placeholder distractor 1 +Press **Ctrl + D** --- -Placeholder distractor 2 +Press **Ctrl + T Ctrl + O** --- -Placeholder distractor 3 +Press **Ctrl + G** #### --answer-- -Placeholder answer +Press **Ctrl + T Ctrl + S** ### --question-- #### --text-- -Placeholder question +How can you comment or uncomment a line of text? #### --distractors-- -Placeholder distractor 1 +Press **Ctrl + U** --- -Placeholder distractor 2 +Press **Alt + C** --- -Placeholder distractor 3 +Press **Alt + 2** #### --answer-- -Placeholder answer +Press **Alt + 3** ### --question-- #### --text-- -Placeholder question +How can you display/hide line numbers while using nano? #### --distractors-- -Placeholder distractor 1 +Press **Alt + H** --- -Placeholder distractor 2 +Press **Ctrl + 1** --- -Placeholder distractor 3 +Press **Alt + 3** #### --answer-- -Placeholder answer +Press **Alt + N** ### --question-- #### --text-- -Placeholder question +How do you undo a previous action in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + Shift + U** --- -Placeholder distractor 2 +**Ctrl + Y** --- -Placeholder distractor 3 +**Ctrl + Z** #### --answer-- -Placeholder answer +**Alt + U** ### --question-- #### --text-- -Placeholder question +How do you move the cursor to the beginning of the file in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + Y** --- -Placeholder distractor 2 +**Ctrl + PgUp** --- -Placeholder distractor 3 +**Ctrl + Home** #### --answer-- -Placeholder answer +**Alt + \\** ### --question-- #### --text-- -Placeholder question +What is the command to paste a cut line in nano? #### --distractors-- -Placeholder distractor 1 +**Alt + V** --- -Placeholder distractor 2 +**Ctrl + Y** --- -Placeholder distractor 3 +**Ctrl + V** #### --answer-- -Placeholder answer +**Ctrl + U** ### --question-- #### --text-- -Placeholder question +What is the command to a cut line in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + S** --- -Placeholder distractor 2 +**Ctrl + R** --- -Placeholder distractor 3 +**Ctrl + C** #### --answer-- -Placeholder answer +**Ctrl + K** ### --question-- #### --text-- -Placeholder question +What is the command to go to a specific line number? #### --distractors-- -Placeholder distractor 1 +**Alt + 2** --- -Placeholder distractor 2 +**Ctrl + 1** --- -Placeholder distractor 3 +**Ctrl + G** #### --answer-- -Placeholder answer +**Alt + G** ### --question-- #### --text-- -Placeholder question +What is the command to justify text in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + T** --- -Placeholder distractor 2 +**Ctrl + B** --- -Placeholder distractor 3 +**Alt + J** #### --answer-- -Placeholder answer +**Ctrl + J** ### --question-- #### --text-- -Placeholder question +What is the command to run a syntax check in nano? #### --distractors-- -Placeholder distractor 1 +**Alt + /** --- -Placeholder distractor 2 +**Ctrl + L** --- -Placeholder distractor 3 +**Ctrl + T Ctrl + O** #### --answer-- -Placeholder answer +**Ctrl + T Ctrl + Y** ### --question-- #### --text-- -Placeholder question +What is the command to move the cursor to the beginning of a line? #### --distractors-- -Placeholder distractor 1 +**Ctrl + B** --- -Placeholder distractor 2 +**Ctrl + E** --- -Placeholder distractor 3 +**Alt + A** #### --answer-- -Placeholder answer +**Ctrl + A** diff --git a/curriculum/challenges/arabic/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md b/curriculum/challenges/arabic/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md index 027bbea383..dc82ddd0d8 100644 --- a/curriculum/challenges/arabic/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md +++ b/curriculum/challenges/arabic/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is the difference between security and privacy? #### --distractors-- -Placeholder distractor 1 +Security handles identity verification, whereas privacy handles encryption. --- -Placeholder distractor 2 +Security ensures the accuracy of data, whereas privacy focuses on data anonymity. --- -Placeholder distractor 3 +Security monitors data integrity to prevent corruption, whereas privacy restricts the sharing of data between authorized users. #### --answer-- -Placeholder answer +Security involves protecting data from unauthorized access, whereas privacy involves controlling who can access the data. ### --question-- #### --text-- -Placeholder question +What is the main reason HTTPS is important for websites? #### --distractors-- -Placeholder distractor 1 +It allows for more data storage capacity when visiting a website. --- -Placeholder distractor 2 +It restricts websites from accessing specific data from the user. --- -Placeholder distractor 3 +It protects users from potential malware that may go undetected by the website. #### --answer-- -Placeholder answer +It encrypts the information shared between the user and the website. ### --question-- #### --text-- -Placeholder question +What does HTTPS stand for? #### --distractors-- -Placeholder distractor 1 +HighText Transfer Protocol Secure. --- -Placeholder distractor 2 +HyperText Transfer Protocol Service. --- -Placeholder distractor 3 +HyperText Transmission Protocol Secure. #### --answer-- -Placeholder answer +HyperText Transfer Protocol Secure. ### --question-- #### --text-- -Placeholder question +Why does the Same-Origin Policy exist in web browsers? #### --distractors-- -Placeholder distractor 1 +To allow webpages to access resources from domains without restrictions, thereby enabling seamless integration of content. --- -Placeholder distractor 2 +To ensure that all webpages are encrypted during data transfer. --- -Placeholder distractor 3 +To allow scripts to automatically run on all web pages when making a request. #### --answer-- -Placeholder answer +To prevent data leaks by restricting web pages from making requests to domains outside of their own. ### --question-- #### --text-- -Placeholder question +What does CORS do in web development? #### --distractors-- -Placeholder distractor 1 +Increases the speed of webpages by preventing them from overloading their cache. --- -Placeholder distractor 2 +Ensures that all scripts on a web page run in a single-threaded environment. --- -Placeholder distractor 3 +Encrypts all cross-origin network communications, preventing memory leaks. #### --answer-- -Placeholder answer +Enables web pages to securely request resources from different domains. ### --question-- #### --text-- -Placeholder question +Which of the following CORS headers is responsible for permitting HTTP methods for cross-origin requests? #### --distractors-- -Placeholder distractor 1 +`Access-Control-Expose-Headers` --- -Placeholder distractor 2 +`Access-Control-Allow-Credentials` --- -Placeholder distractor 3 +`Access-Control-Allow-Headers` #### --answer-- -Placeholder answer +`Access-Control-Allow-Methods` ### --question-- #### --text-- -Placeholder question +What is the potential security or privacy risk associated with the use of cookies? #### --distractors-- -Placeholder distractor 1 +Cookies store unencrypted settings and preferences. --- -Placeholder distractor 2 +Cookies can be accessed by third-party advertisers to cater to user interests. --- -Placeholder distractor 3 +Cookies enhance page load speed by storing user data; however, this can prevent your local machine from detecting abnormalities. #### --answer-- -Placeholder answer +Cookies may store session data that can potentially be intercepted or exploited by a malicious user. ### --question-- #### --text-- -Placeholder question +Which of the following best describes a tracking cookie? #### --distractors-- -Placeholder distractor 1 +A cookie that saves a user's login credentials for the current session. --- -Placeholder distractor 2 +A cookie that stores user settings and preferences to enhance load speed in future sessions. --- -Placeholder distractor 3 +A cookie that stores user settings and preferences across all devices. #### --answer-- -Placeholder answer +A cookie that monitors user behavior across all websites for advertising purposes. ### --question-- #### --text-- -Placeholder question +Which of the following is a common web security issue? #### --distractors-- -Placeholder distractor 1 +Insecure Direct Object References --- -Placeholder distractor 2 +Distributed Denial of Service --- -Placeholder distractor 3 +SQL Injection #### --answer-- -Placeholder answer +Cross-Site Scripting ### --question-- #### --text-- -Placeholder question +Which of the following is an effective against Cross-Site Request Forgery attacks? #### --distractors-- -Placeholder distractor 1 +Encrypting all data inputted by the user. --- -Placeholder distractor 2 +Setting a short cookie expiration date. --- -Placeholder distractor 3 +Using SSL certificates to securely transmit data and verify domain ownership. #### --answer-- -Placeholder answer +Using CSRF tokens and SameSite cookies to validate all requests. ### --question-- #### --text-- -Placeholder question +What is the purpose of Content Security Policy (CSP) #### --distractors-- -Placeholder distractor 1 +To encrypt all user login credentials before sending them to the server --- -Placeholder distractor 2 +To protect data from unauthorized access. --- -Placeholder distractor 3 +To monitor user behavior and activity on a website #### --answer-- -Placeholder answer +To restrict the sources of resources and prevent the execution of malicious scripts. ### --question-- #### --text-- -Placeholder question +What is the role of permission policies in web security? #### --distractors-- -Placeholder distractor 1 +To prevent the installation of unauthorized software. --- -Placeholder distractor 2 +To grant or deny access to data that is stored on the user's device. --- -Placeholder distractor 3 +To restrict all JavaScript and TypeScript execution within the user's browser. #### --answer-- -Placeholder answer +To specify which browser features a website is allowed to use (e.g., camera access or location). ### --question-- #### --text-- -Placeholder question +Which one of these is an example of Personally Identifiable Information (PII)? #### --distractors-- -Placeholder distractor 1 +City or Zip Code --- -Placeholder distractor 2 +Gender --- -Placeholder distractor 3 +Device Type #### --answer-- -Placeholder answer +Name or Email ### --question-- #### --text-- -Placeholder question +What is the consequence of a PII data breach? #### --distractors-- -Placeholder distractor 1 +Minor inconvenience with no long-term impact. --- -Placeholder distractor 2 +Increase search engine ranking. --- -Placeholder distractor 3 +Increase transparency of user data for internal reporting. #### --answer-- -Placeholder answer +Identity theft, financial loss, and legal consequences. ### --question-- #### --text-- -Placeholder question +What are key strategies for organizations to protect PII while ensuring user privacy and confidentiality? #### --distractors-- -Placeholder distractor 1 +Allow unrestricted access to employee data for transparency. --- -Placeholder distractor 2 +Sharing PII with third-party vendors to create better market insights. --- -Placeholder distractor 3 +Using unencrypted storage systems for faster and easier data access. #### --answer-- -Placeholder answer +Minimizing data collection and only gathering essential information from users. ### --question-- #### --text-- -Placeholder question +Which of the following statements is true about GDPR and COPPA? #### --distractors-- -Placeholder distractor 1 +GDPR is a United States regulation, whereas COPPA is an EU regulation. --- -Placeholder distractor 2 +GDPR and COPPA only apply to large corporations. --- -Placeholder distractor 3 +GDPR focuses on encryption for all websites, while COPPA only applies to companies considered financial institutions #### --answer-- -Placeholder answer +COPPA focuses on protecting children's data and GDPR is concerned with protecting all user data within the EU. ### --question-- #### --text-- -Placeholder question +Under GDPR, what is required from organizations when collecting user data? #### --distractors-- -Placeholder distractor 1 +User data must be fully anonymized to protect privacy. --- -Placeholder distractor 2 +All data must be encrypted upon collection. --- -Placeholder distractor 3 +Organizations are not allowed collect data from users that are not residing in the EU. #### --answer-- -Placeholder answer +Organizations must acquire consent from users before collecting any data. ### --question-- #### --text-- -Placeholder question +What is the key difference between authentication and authorization? #### --distractors-- -Placeholder distractor 1 +Authentication determines access rights, whereas authorization allows users to manage their data. --- -Placeholder distractor 2 +Authentication grants permissions, and authorization verifies credentials. --- -Placeholder distractor 3 +Authentication ensures data integrity and authorization is responsible for encrypting the data. #### --answer-- -Placeholder answer +Authentication involves verifying a user's identity, while authorization determines their access rights. ### --question-- #### --text-- -Placeholder question +How does Two-Factor Authentication (2FA) contribute to the authentication process? #### --distractors-- -Placeholder distractor 1 +It replaces all passwords with QR codes. --- -Placeholder distractor 2 +It allows users to enter their password more seamlessly. --- -Placeholder distractor 3 +It provides a more secure and streamlined verification process. #### --answer-- -Placeholder answer +It adds an extra layer of security by requiring additional verification. ### --question-- #### --text-- -Placeholder question +Which of the following is an example of an authorization process? #### --distractors-- -Placeholder distractor 1 +Sending a user's verification code to different devices. --- -Placeholder distractor 2 +Allowing employees unrestricted access to all company data. --- -Placeholder distractor 3 +Verifying if the email is associated with a human during sign-up. #### --answer-- -Placeholder answer +Allowing users with a manager role to view employee records. diff --git a/curriculum/challenges/arabic/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md b/curriculum/challenges/arabic/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md index 66eb172bde..fdc0076d70 100644 --- a/curriculum/challenges/arabic/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md +++ b/curriculum/challenges/arabic/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is presentational HTML? #### --distractors-- -Placeholder distractor 1 +Presentational HTML controls how data is stored on the server. --- -Placeholder distractor 2 +Presentational HTML determines the website's overall layout and navigation structure. --- -Placeholder distractor 3 +Presentational HTML is used for embedding multimedia content. #### --answer-- -Placeholder answer +Presentational HTML uses elements to control the appearance of content, rather than its meaning or structure. ### --question-- #### --text-- -Placeholder question +What is the role of the `pre` element? #### --distractors-- -Placeholder distractor 1 +It is used to represent a placeholder inside a web component. --- -Placeholder distractor 2 +It is used to display an indicator showing the completion progress of a task. --- -Placeholder distractor 3 +It is used to convey seriousness or strong importance. #### --answer-- -Placeholder answer +It is used to represent preformatted text. ### --question-- #### --text-- -Placeholder question +What is the role of the `h1` element? #### --distractors-- -Placeholder distractor 1 +It is used for embedding images. --- -Placeholder distractor 2 +It creates a link to another page. --- -Placeholder distractor 3 +It formats text as bold. #### --answer-- -Placeholder answer +It defines the main heading of a webpage, indicating its primary topic. ### --question-- #### --text-- -Placeholder question +What is the role of the `address` element? #### --distractors-- -Placeholder distractor 1 +It specifies the font size for the main content. --- -Placeholder distractor 2 +It creates a navigation menu for the website. --- -Placeholder distractor 3 +It formats text as superscript. #### --answer-- -Placeholder answer +It is used to represent contact information for a section on a web page. ### --question-- #### --text-- -Placeholder question +Which of the following elements holds no semantic meaning? #### --distractors-- -Placeholder distractor 1 +`article` --- -Placeholder distractor 2 +`main` --- -Placeholder distractor 3 +`footer` #### --answer-- -Placeholder answer +`div` ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to represent a specific moment in time? #### --distractors-- -Placeholder distractor 1 +`output` --- -Placeholder distractor 2 +`ins` --- -Placeholder distractor 3 +`div` #### --answer-- -Placeholder answer +`time` ### --question-- #### --text-- -Placeholder question +What is a typical use case of the `ruby` element? #### --distractors-- -Placeholder distractor 1 +It specifies the document’s character encoding. --- -Placeholder distractor 2 +It inserts a table for displaying tabular data. --- -Placeholder distractor 3 +It embeds a video or audio player in the document. #### --answer-- -Placeholder answer +It is used to show the pronunciation of East Asian characters. ### --question-- #### --text-- -Placeholder question +Which element is used to highlight keywords in summaries or product names in reviews? #### --distractors-- -Placeholder distractor 1 +`ruby` --- -Placeholder distractor 2 +`table` --- -Placeholder distractor 3 +`template` #### --answer-- -Placeholder answer +`b` ### --question-- #### --text-- -Placeholder question +What is the role of the `u` element? #### --distractors-- -Placeholder distractor 1 +It styles text with custom fonts. --- -Placeholder distractor 2 +It specifies the document’s character encoding. --- -Placeholder distractor 3 +It creates a dropdown menu for selecting options. #### --answer-- -Placeholder answer +It is used to represent inline text that has non-textual annotation applied. ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to represent an extended quotation? #### --distractors-- -Placeholder distractor 1 +`textarea` --- -Placeholder distractor 2 +`sup` --- -Placeholder distractor 3 +`article` #### --answer-- -Placeholder answer +`blockquote` ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to provide a description, or definition for the term inside a description list? #### --distractors-- -Placeholder distractor 1 +`dt` --- -Placeholder distractor 2 +`dl` --- -Placeholder distractor 3 +`div` #### --answer-- -Placeholder answer +`dd` ### --question-- #### --text-- -Placeholder question +Which of the following elements is typically used with the `code` element? #### --distractors-- -Placeholder distractor 1 +`ins` --- -Placeholder distractor 2 +`summary` --- -Placeholder distractor 3 +`div` #### --answer-- -Placeholder answer +`pre` ### --question-- #### --text-- -Placeholder question +Which of the following attributes is used to translate dates and times into a machine-readable format? #### --distractors-- -Placeholder distractor 1 +`alt` --- -Placeholder distractor 2 +`rel` --- -Placeholder distractor 3 +`accept` #### --answer-- -Placeholder answer +`datetime` ### --question-- #### --text-- -Placeholder question +Why is it important to not skip heading levels? #### --distractors-- -Placeholder distractor 1 +Skipping heading levels improves website design aesthetics. --- -Placeholder distractor 2 +Skipping heading levels makes text appear in different colors. --- -Placeholder distractor 3 +Skipping heading levels enhances page loading speed. #### --answer-- -Placeholder answer +Skipping heading levels can confuse screen readers and hinder content accessibility by disrupting the logical content hierarchy. ### --question-- #### --text-- -Placeholder question +Which of the following is a deprecated presentational HTML element? #### --distractors-- -Placeholder distractor 1 +`div` --- -Placeholder distractor 2 +`footer` --- -Placeholder distractor 3 +`article` #### --answer-- -Placeholder answer +`font` ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to represent navigation links? #### --distractors-- -Placeholder distractor 1 +`figure` --- -Placeholder distractor 2 +`div` --- -Placeholder distractor 3 +`section` #### --answer-- -Placeholder answer +`nav` ### --question-- #### --text-- -Placeholder question +Which of the following elements represents a description term inside a description list? #### --distractors-- -Placeholder distractor 1 +`dd` --- -Placeholder distractor 2 +`dfn` --- -Placeholder distractor 3 +`del` #### --answer-- -Placeholder answer +`dt` ### --question-- #### --text-- -Placeholder question +What is the role of the idiomatic text element? #### --distractors-- -Placeholder distractor 1 +It creates interactive buttons. --- -Placeholder distractor 2 +It handles user authentication and login. --- -Placeholder distractor 3 +It formats numerical data. #### --answer-- -Placeholder answer +It is used to represent idiomatic text, technical terms, and taxonomical designations. ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to emphasize text? #### --distractors-- -Placeholder distractor 1 +`anchor` --- -Placeholder distractor 2 +`div` --- -Placeholder distractor 3 +`optgroup` #### --answer-- -Placeholder answer +`em` ### --question-- #### --text-- -Placeholder question +Which of the following attributes is used to specify the source or reference of the quoted content for a blockquote? #### --distractors-- -Placeholder distractor 1 +`alt` --- -Placeholder distractor 2 +`class` --- -Placeholder distractor 3 +`lang` #### --answer-- -Placeholder answer +`cite` diff --git a/curriculum/challenges/arabic/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md b/curriculum/challenges/arabic/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md index 031e77cc07..f41f1c1a03 100644 --- a/curriculum/challenges/arabic/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md +++ b/curriculum/challenges/arabic/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md @@ -17,439 +17,454 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is Typescript? #### --distractors-- -Placeholder distractor 1 +A framework used for system programming. --- -Placeholder distractor 2 +A database management tool. --- -Placeholder distractor 3 +A programming language used for styling websites. #### --answer-- -Placeholder answer +A superset of JavaScript that adds static typing. ### --question-- #### --text-- -Placeholder question +Why should TypeScript be used in a project? #### --distractors-- -Placeholder distractor 1 +It eliminates the need for testing in applications. --- -Placeholder distractor 2 +It is faster than all other programming languages. --- -Placeholder distractor 3 +It makes styling websites easier. #### --answer-- -Placeholder answer +It improves maintainability by adding type definitions to JavaScript. ### --question-- #### --text-- -Placeholder question +What language is TypeScript compiled down to? #### --distractors-- -Placeholder distractor 1 +Java --- -Placeholder distractor 2 +Python --- -Placeholder distractor 3 +C++ #### --answer-- -Placeholder answer +JavaScript ### --question-- #### --text-- -Placeholder question +What would be the output of the following code snippet? + +```ts +function sum(a: number, b: number): number { + return a + b; +} +console.log(sum(2, 3)); +``` #### --distractors-- -Placeholder distractor 1 +`2 + 3` --- -Placeholder distractor 2 +`undefined` --- -Placeholder distractor 3 +`Error: Type 'number' is not assignable to type 'string'` #### --answer-- -Placeholder answer +`5` ### --question-- #### --text-- -Placeholder question +What is the primary purpose of an interface in TypeScript? #### --distractors-- -Placeholder distractor 1 +To compile TypeScript code into JavaScript. --- -Placeholder distractor 2 +To create a new data type. --- -Placeholder distractor 3 +To create a new JavaScript Object. #### --answer-- -Placeholder answer +To define the structure of an object. ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a basic primitive in TypeScript? #### --distractors-- -Placeholder distractor 1 +string --- -Placeholder distractor 2 +boolean --- -Placeholder distractor 3 +number #### --answer-- -Placeholder answer +array ### --question-- #### --text-- -Placeholder question +Which of the following correctly defines a literal type in TypeScript? #### --distractors-- -Placeholder distractor 1 +`let y: string;` --- -Placeholder distractor 2 +`let z: boolean;` --- -Placeholder distractor 3 +`let a: number[];` #### --answer-- -Placeholder answer +`let x: 5;` ### --question-- #### --text-- -Placeholder question +What is the primary purpose of the `type` keyword in TypeScript? #### --distractors-- -Placeholder distractor 1 +To declare variables. --- -Placeholder distractor 2 +To create classes. --- -Placeholder distractor 3 +To implement interfaces. #### --answer-- -Placeholder answer +To define custom types. ### --question-- #### --text-- -Placeholder question +Which of the following correctly defines a union type? #### --distractors-- -Placeholder distractor 1 +`type Result = Pass && Fail;` --- -Placeholder distractor 2 +`type Result = Pass & Fail;` --- -Placeholder distractor 3 +`type Result = Pass + Fail;` #### --answer-- -Placeholder answer +`type Result = Pass | Fail;` ### --question-- #### --text-- -Placeholder question +Which of the following capabilities is unique to `interface` and CANNOT be achieved using `type` in TypeScript? #### --distractors-- -Placeholder distractor 1 +Defining object shapes. --- -Placeholder distractor 2 +Creating union types. --- -Placeholder distractor 3 +Creating intersection types. #### --answer-- -Placeholder answer +Declaring class implementations. ### --question-- #### --text-- -Placeholder question +What is the primary purpose of using generics in TypeScript? #### --distractors-- -Placeholder distractor 1 +To implement inheritance between classes. --- -Placeholder distractor 2 +To define structure of an object. --- -Placeholder distractor 3 +To create a new data type. #### --answer-- -Placeholder answer +To write reusable code that can work with multiple types. ### --question-- #### --text-- -Placeholder question +Which of the following is a **proper example** of a generic function in TypeScript? #### --distractors-- -Placeholder distractor 1 +`function add(a: number, b: number): number { return a + b; }` --- -Placeholder distractor 2 +`function multiply(a: number, b: number): { return a * b; }` --- -Placeholder distractor 3 +`function getValue(value: any): any { return value; }` #### --answer-- -Placeholder answer +`function identity(value: T): T { return value; }` ### --question-- #### --text-- -Placeholder question +What is type narrowing in TypeScript? #### --distractors-- -Placeholder distractor 1 +Reducing the size of compiled JavaScript. --- -Placeholder distractor 2 +Limiting the number of types in a union. --- -Placeholder distractor 3 +Removing unused types from a TypeScript project. #### --answer-- -Placeholder answer +To write code that narrows down a union type to a more specific type. ### --question-- #### --text-- -Placeholder question +Which file is typically used to configure TypeScript compiler options? #### --distractors-- -Placeholder distractor 1 +`package.json` --- -Placeholder distractor 2 +`package.config.json` --- -Placeholder distractor 3 +`typescript.config.js` #### --answer-- -Placeholder answer +`tsconfig.json` ### --question-- #### --text-- -Placeholder question +What does the `target` option in the `tsconfig.json` file specify? #### --distractors-- -Placeholder distractor 1 +The version of TypeScript to use during compilation. --- -Placeholder distractor 2 +The target runtime environment (e.g., Node.js or browser) for the TypeScript code. --- -Placeholder distractor 3 +The specific module system to use for imports and exports. #### --answer-- -Placeholder answer +The ECMAScript version to which the TypeScript compiler will transpile the code. ### --question-- #### --text-- -Placeholder question +What does the `noImplicitReturns` option in the `tsconfig.json` file enforce? #### --distractors-- -Placeholder distractor 1 +It forces all functions to return a `number`. --- -Placeholder distractor 2 +It requires that all functions return either `true` or `false`. --- -Placeholder distractor 3 +It prevents using the `any` type in TypeScript code. #### --answer-- -Placeholder answer +It ensures all code paths in a function return a value. ### --question-- #### --text-- -Placeholder question +Which TypeScript option prevents implicit `any` types? #### --distractors-- -Placeholder distractor 1 +`noImplicitReturns` --- -Placeholder distractor 2 +`alwaysStrict` --- -Placeholder distractor 3 +`strictNullChecks` #### --answer-- -Placeholder answer +`noImplicitAny` ### --question-- #### --text-- -Placeholder question +What is the purpose of the `never` type in TypeScript? #### --distractors-- -Placeholder distractor 1 +To represent null or undefined. --- -Placeholder distractor 2 +To represent any possible value. --- -Placeholder distractor 3 +To represent a type that can be anything except null. #### --answer-- -Placeholder answer +To represent the type of values that never occur. ### --question-- #### --text-- -Placeholder question +What will be the output of the following TypeScript code? + +```ts +enum Color { + Red, + Blue, +} +console.log(Color.Red, Color.Blue); +``` #### --distractors-- -Placeholder distractor 1 +`Red Blue` --- -Placeholder distractor 2 +`1, 2` --- -Placeholder distractor 3 +`Red 2` #### --answer-- -Placeholder answer +`0 1` ### --question-- #### --text-- -Placeholder question +How can you specify that a function parameter is optional in TypeScript? #### --distractors-- -Placeholder distractor 1 +By using the `optional` keyword. --- -Placeholder distractor 2 +By setting a default value. --- -Placeholder distractor 3 +By using the `any` type. #### --answer-- -Placeholder answer +By adding a `?` after the parameter name diff --git a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md index db7522ac96..258ea6f3a5 100644 --- a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md +++ b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md @@ -27,7 +27,6 @@ Start by creating a function called `addTwoAndSeven`. You can choose to use the regular function syntax or the arrow function syntax. - # --hints-- You should declare a function called `addTwoAndSeven`. diff --git a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md index 5b3a32bb92..55a1523a7b 100644 --- a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md +++ b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md @@ -13,7 +13,7 @@ Here is a reminder of how to return a value from a function: ```js function myFunction() { - return 'Hello World'; + return "Hello World"; } ``` @@ -21,7 +21,7 @@ Inside your `addTwoAndSeven` function, return the sum of `2` and `7`. # --hints-- -Your `addTwoAndSeven` function should return the sum of `2` and `7` +Your `addTwoAndSeven` function should return the sum of `2` and `7`. ```js assert.strictEqual(addTwoAndSeven(), 9); diff --git a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md index a62c8e738a..e340c9344a 100644 --- a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md +++ b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md @@ -7,7 +7,7 @@ dashedName: step-3 # --description-- -In the previous lecture videos, you learned how to call(invoke) a function. Calling a function means to execute the code inside the function. +In the previous lecture videos, you learned how to call (invoke) a function. Calling a function means to execute the code inside the function. Here is a reminder of how to call a function: diff --git a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md index 23cf999a68..dd8a8570d2 100644 --- a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md +++ b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md @@ -14,7 +14,7 @@ A function parameter is a variable that is defined in the function's declaration Here is an example of a function that has a parameter: ```js -// The parameter is 'name' +// The parameter is `name` function greetUser(name) { return `Hello, ${name}!`; } diff --git a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md index f977d38de6..5c6628b047 100644 --- a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md +++ b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md @@ -18,8 +18,8 @@ function greetUser(name) { } // function calls -greetUser('John'); // 'Hello John!' -greetUser('Jane'); // 'Hello Jane!' +greetUser("John"); // "Hello John!" +greetUser("Jane"); // "Hello Jane!" ``` Add a `console.log` that calls the `calculateSum` function with the arguments `2` and `5`. diff --git a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md index 200a916de1..d54eaea5e1 100644 --- a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md +++ b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md @@ -7,7 +7,7 @@ dashedName: step-14 # --description-- -Your `calculateQuotient` appears to working correctly but there is one case that you have not tested yet. +Your `calculateQuotient` appears to be working correctly but there is one case that you have not tested yet. Add a `console.log` that calls the `calculateQuotient` function with the arguments `3` and `0`. diff --git a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md index 2c25eb79b5..2c61c9860a 100644 --- a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md +++ b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md @@ -13,11 +13,11 @@ The division by zero is not a valid operation in mathematics. To account for this edge case, you should update your `calculateQuotient` function to instead check if `num2` is zero. -If it is, the function should return the string `'Error: Division by zero'`. Otherwise, it should return the result of dividing `num1` by `num2`. +If it is, the function should return the string `"Error: Division by zero"`. Otherwise, it should return the result of dividing `num1` by `num2`. # --hints-- -Your `calculateQuotient` function should return the string `'Error: Division by zero'` if `num2` is zero. +Your `calculateQuotient` function should return the string `"Error: Division by zero"` if `num2` is zero. ```js assert.strictEqual(calculateQuotient(10, 0), 'Error: Division by zero'); diff --git a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md index 4bfa845e57..c0a9e6f21c 100644 --- a/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md +++ b/curriculum/challenges/arabic/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md @@ -20,7 +20,6 @@ Here is an example: // the exponent is 2 Math.pow(5, 2); // 25 - // using the exponentiation operator 5 ** 2; // 25 ``` diff --git a/curriculum/challenges/arabic/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md b/curriculum/challenges/arabic/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md index 097da04a43..580134e419 100644 --- a/curriculum/challenges/arabic/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md +++ b/curriculum/challenges/arabic/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md @@ -16,7 +16,7 @@ Remember that you learned about `console.log()` and strings in the previous lect Here is a reminder of how to use `console.log()` with strings: ```js -console.log('Hello, World!'); +console.log("Hello, World!"); ``` Add a `console.log()` statement that outputs the string `"Hi there!"` to the console. Don't forget your quotes around the message! diff --git a/curriculum/challenges/chinese-traditional/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml index 8f7b926f39..3ea323ff9d 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml @@ -1,10 +1,10 @@ --- id: 651dd7e01d697d0aab7833b7 -title: 開發者 A2 英語認證 +title: A2 English for Developers Certification certification: a2-english-for-developers challengeType: 7 isPrivate: true tests: - id: 651dd3e06ffb500e3f2ce478 - title: 挑戰 1 + title: Challenge 1 diff --git a/curriculum/challenges/chinese-traditional/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml index 46f70ea6af..9cdf793113 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml @@ -1,10 +1,10 @@ --- id: 66607e53317411dd5e8aae21 -title: 面向開發者的 B1 英語認證 +title: B1 English for Developers Certification certification: b1-english-for-developers challengeType: 7 isPrivate: true tests: - id: 66607e5b317411dd5e8aae22 - title: "對話 1:我是湯姆" + title: "Dialogue 1: I'm Tom" diff --git a/curriculum/challenges/chinese-traditional/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml index e912878a02..d020e8c1e5 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml @@ -1,22 +1,22 @@ --- id: 561add10cb82ac38a17523bc -title: 後端開發和 API 認證 +title: Back End Development and APIs Certification certification: back-end-development-and-apis challengeType: 7 isPrivate: true tests: - id: bd7158d8c443edefaeb5bdef - title: 時間戳微服務 + title: Timestamp Microservice - id: bd7158d8c443edefaeb5bdff - title: 請求頭解析器微服務 + title: Request Header Parser Microservice - id: bd7158d8c443edefaeb5bd0e - title: 短網址微服務 + title: URL Shortener Microservice - id: 5a8b073d06fa14fcfde687aa - title: 運動追蹤器 + title: Exercise Tracker - id: bd7158d8c443edefaeb5bd0f - title: 文件元數據微服務 + title: File Metadata Microservice diff --git a/curriculum/challenges/chinese-traditional/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml index d83cac6979..707d18c049 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml @@ -1,22 +1,22 @@ --- id: 61531b20cc9dfa2741a5b800 -title: Python 與大學代數認證 +title: College Algebra with Python Certification certification: college-algebra-with-python challengeType: 7 isPrivate: true tests: - id: 63d83ff239c73468b059cd3f - title: 創建一個多功能計算器 + title: Build a Multi-Function Calculator - id: 63d83ffd39c73468b059cd40 - title: 創建一個圖形計算器 + title: Build a Graphing Calculator - id: 63d8401039c73468b059cd41 - title: 創建三個數學遊戲 + title: Build Three Math Games - id: 63d8401e39c73468b059cd42 - title: 創建一個財務計算器 + title: Build a Financial Calculator - id: 63d8402e39c73468b059cd43 - title: 創建一個數據圖表瀏覽器 + title: Build a Data Graph Explorer diff --git a/curriculum/challenges/chinese-traditional/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml index 735ee84a20..d867faab96 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e46fc95ac417301a38fb934 -title: Python 與數據分析認證 +title: Data Analysis with Python Certification certification: data-analysis-with-python challengeType: 7 isPrivate: true tests: - id: 5e46f7e5ac417301a38fb928 - title: 均值-方差-標準差計算器 + title: Mean-Variance-Standard Deviation Calculator - id: 5e46f7e5ac417301a38fb929 - title: 人口統計數據分析器 + title: Demographic Data Analyzer - id: 5e46f7f8ac417301a38fb92a - title: 醫療數據可視化工具 + title: Medical Data Visualizer - id: 5e46f802ac417301a38fb92b - title: 頁面訪問量的時間序列可視化工具 + title: Page View Time Series Visualizer - id: 5e4f5c4b570f7e3a4949899f - title: 海平面預測器 + title: Sea Level Predictor diff --git a/curriculum/challenges/chinese-traditional/00-certifications/data-visualization-certification/data-visualization-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/data-visualization-certification/data-visualization-certification.yml index 909e0b0695..cfda40657c 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/data-visualization-certification/data-visualization-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/data-visualization-certification/data-visualization-certification.yml @@ -1,22 +1,21 @@ ---- id: 5a553ca864b52e1d8bceea14 -title: 數據可視化認證 +title: Data Visualization Certification certification: data-visualization challengeType: 7 isPrivate: true tests: - id: bd7168d8c242eddfaeb5bd13 - title: 用條形圖可視化數據 + title: Visualize Data with a Bar Chart - id: bd7178d8c242eddfaeb5bd13 - title: 用散點圖可視化數據 + title: Visualize Data with a Scatterplot Graph - id: bd7188d8c242eddfaeb5bd13 - title: 用熱圖可視化數據 + title: Visualize Data with a Heat Map - id: 587d7fa6367417b2b2512bbf - title: 用等值區域圖可視化數據 + title: Visualize Data with a Choropleth Map - id: 587d7fa6367417b2b2512bc0 - title: 用樹形圖可視化數據 + title: Visualize Data with a Treemap Diagram diff --git a/curriculum/challenges/chinese-traditional/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml b/curriculum/challenges/chinese-traditional/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml index c21dafe737..a145a188e7 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml @@ -1,10 +1,10 @@ --- id: 647f7da207d29547b3bee1ba -title: '基礎 C# 和微軟認證' +title: 'Foundational C# with Microsoft Certification' certification: foundational-c-sharp-with-microsoft challengeType: 7 isPrivate: true tests: - id: 647e22d18acb466c97ccbef8 - title: '基礎 C# 和微軟認證考試' + title: 'Foundational C# with Microsoft Certification Exam' diff --git a/curriculum/challenges/chinese-traditional/00-certifications/front-end-development-certification/front-end-development.yml b/curriculum/challenges/chinese-traditional/00-certifications/front-end-development-certification/front-end-development.yml index 478b0e9672..25d1e08129 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/front-end-development-certification/front-end-development.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/front-end-development-certification/front-end-development.yml @@ -1,10 +1,10 @@ --- id: 64514fda6c245de4d11eb7bb -title: 前端開發認證 +title: Front End Development Certification certification: front-end-development challengeType: 7 isPrivate: true tests: - id: 645147516c245de4d11eb7ba - title: 前端開發認證考試 + title: Front End Development Certification Exam diff --git a/curriculum/challenges/chinese-traditional/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml index d1b922a20a..adacd42f16 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml @@ -1,22 +1,22 @@ --- id: 561acd10cb82ac38a17513bc -title: 前端開發庫認證 +title: Front End Development Libraries Certification certification: front-end-development-libraries challengeType: 7 isPrivate: true tests: - id: bd7158d8c442eddfaeb5bd13 - title: 創建一個隨機引語生成器 + title: Build a Random Quote Machine - id: bd7157d8c242eddfaeb5bd13 - title: 創建一個 Markdown 文件預覽器 + title: Build a Markdown Previewer - id: 587d7dbc367417b2b2512bae - title: 創建一臺鼓式機器 + title: Build a Drum Machine - id: bd7158d8c442eddfaeb5bd17 - title: 創建一個 JavaScript 計算器 + title: Build a JavaScript Calculator - id: bd7158d8c442eddfaeb5bd0f - title: 創建一個番茄時鐘 + title: Build a 25 + 5 Clock diff --git a/curriculum/challenges/chinese-traditional/00-certifications/information-security-certification/information-security-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/information-security-certification/information-security-certification.yml index 4cb5572499..b3fba222c8 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/information-security-certification/information-security-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/information-security-certification/information-security-certification.yml @@ -1,22 +1,21 @@ ---- id: 5e6021435ac9d0ecd8b94b00 -title: 信息安全認證 +title: Information Security Certification certification: information-security challengeType: 7 isPrivate: true tests: - id: 587d824a367417b2b2512c44 - title: 股票價格檢查器 + title: Stock Price Checker - id: 587d824a367417b2b2512c45 - title: 匿名留言板 + title: Anonymous Message Board - id: 5e46f979ac417301a38fb932 - title: 端口掃描器 + title: Port Scanner - id: 5e46f983ac417301a38fb933 - title: SHA-1 密碼破解器 + title: SHA-1 Password Cracker - id: 5e601c775ac9d0ecd8b94aff - title: 安全的實時多人遊戲 + title: Secure Real Time Multiplayer Game diff --git a/curriculum/challenges/chinese-traditional/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml index 5b144653e0..2b2ce86ac8 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml @@ -1,22 +1,21 @@ ---- id: 561abd10cb81ac38a17513bc -title: JavaScript 算法和數據結構認證 +title: JavaScript Algorithms and Data Structures Certification certification: javascript-algorithms-and-data-structures challengeType: 7 isPrivate: true tests: - id: aaa48de84e1ecc7c742e1124 - title: 迴文檢查器 + title: Palindrome Checker - id: a7f4d8f2483413a6ce226cac - title: 羅馬數字轉換器 + title: Roman Numeral Converter - id: 56533eb9ac21ba0edf2244e2 - title: 凱撒密碼 + title: Caesars Cipher - id: aff0395860f5d3034dc0bfc9 - title: 電話號碼驗證器 + title: Telephone Number Validator - id: aa2e6f85cab2ab736c9a9b24 - title: 現金登記 + title: Cash Register diff --git a/curriculum/challenges/chinese-traditional/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml b/curriculum/challenges/chinese-traditional/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml index c66b758bcf..90d4241ee7 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml @@ -1,21 +1,21 @@ id: 658180220947283cdc0689ce -title: JavaScript 算法和數據結構(Beta)認證 +title: JavaScript Algorithms and Data Structures (Beta) Certification certification: javascript-algorithms-and-data-structures-v8 challengeType: 7 isPrivate: true tests: - id: 657bdc55a322aae1eac3838f - title: 構建一個迴文檢測器 + title: Build a Palindrome Checker - id: 657bdc8ba322aae1eac38390 - title: 構建一個羅馬數字轉換器 + title: Build a Roman Numeral Converter - id: 657bdcb9a322aae1eac38391 - title: 構建一個電話號碼驗證器 + title: Build a Telephone Number Validator - id: 657bdcc3a322aae1eac38392 - title: 構建一個收銀機項目 + title: Build a Cash Register - id: 6555c1d3e11a1574434cf8b5 - title: 構建一個寶可夢 (Pokémon) 搜索應用程序 + title: Build a Pokémon Search App diff --git a/curriculum/challenges/chinese-traditional/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml index a4a3bc2131..aac4f8e0cb 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml @@ -1,37 +1,36 @@ ---- id: 660add10cb82ac38a17513be -title: 舊版後端認證 +title: Legacy Back End Certification certification: legacy-back-end challengeType: 7 isPrivate: true tests: - id: bd7158d8c443edefaeb5bdef - title: 時間戳微服務 + title: Timestamp Microservice - id: bd7158d8c443edefaeb5bdff - title: 請求頭解析器微服務 + title: Request Header Parser Microservice - id: bd7158d8c443edefaeb5bd0e - title: 短網址微服務 + title: URL Shortener Microservice - id: bd7158d8c443edefaeb5bdee - title: 圖像搜索抽象層 + title: Image Search Abstraction Layer - id: bd7158d8c443edefaeb5bd0f - title: 文件元數據微服務 + title: File Metadata Microservice - id: bd7158d8c443eddfaeb5bdef - title: 編寫一個投票程序 + title: Build a Voting App - id: bd7158d8c443eddfaeb5bdff - title: 建立一個夜間生活協調程序 + title: Build a Nightlife Coordination App - id: bd7158d8c443eddfaeb5bd0e - title: 繪製股市圖 + title: Chart the Stock Market - id: bd7158d8c443eddfaeb5bd0f - title: 管理一個圖書交易俱樂部 + title: Manage a Book Trading Club - id: bd7158d8c443eddfaeb5bdee - title: 建立一個 Pinterest 克隆 + title: Build a Pinterest Clone diff --git a/curriculum/challenges/chinese-traditional/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml index 294ab06c7f..3066d439be 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml @@ -1,37 +1,36 @@ ---- id: 561add10cb82ac39a17513bc -title: 舊版數據可視化認證 +title: Legacy Data Visualization Certification certification: legacy-data-visualization challengeType: 7 isPrivate: true tests: - id: bd7157d8c242eddfaeb5bd13 - title: 創建一個 Markdown 文件預覽器 + title: Build a Markdown Previewer - id: bd7156d8c242eddfaeb5bd13 - title: 建立一個 Camper 排行榜 + title: Build a Camper Leaderboard - id: bd7155d8c242eddfaeb5bd13 - title: 建立一個食譜盒 + title: Build a Recipe Box - id: bd7154d8c242eddfaeb5bd13 - title: 構建生命遊戲 + title: Build the Game of Life - id: bd7153d8c242eddfaeb5bd13 - title: 創建 Roguelike Dungeon Crawler 遊戲 + title: Build a Roguelike Dungeon Crawler Game - id: bd7168d8c242eddfaeb5bd13 - title: 用條形圖可視化數據 + title: Visualize Data with a Bar Chart - id: bd7178d8c242eddfaeb5bd13 - title: 用散點圖可視化數據 + title: Visualize Data with a Scatterplot Graph - id: bd7188d8c242eddfaeb5bd13 - title: 用熱圖可視化數據 + title: Visualize Data with a Heat Map - id: bd7198d8c242eddfaeb5bd13 - title: 用力導向圖顯示國家接壤 + title: Show National Contiguity with a Force Directed Graph - id: bd7108d8c242eddfaeb5bd13 - title: 全球地圖數據 + title: Map Data Across the Globe diff --git a/curriculum/challenges/chinese-traditional/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml index 011ffc20a9..2ad2f1cb19 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml @@ -1,37 +1,36 @@ ---- id: 561add10cb82ac38a17513be -title: 舊版前端認證 +title: Legacy Front End Certification certification: legacy-front-end challengeType: 7 isPrivate: true tests: - id: bd7158d8c242eddfaeb5bd13 - title: 創建一個個人作品集頁面 + title: Build a Personal Portfolio Webpage - id: bd7158d8c442eddfaeb5bd13 - title: 創建一個隨機引語生成器 + title: Build a Random Quote Machine - id: bd7158d8c442eddfaeb5bd0f - title: 創建一個番茄時鐘 + title: Build a 25 + 5 Clock - id: bd7158d8c442eddfaeb5bd17 - title: 創建一個 JavaScript 計算器 + title: Build a JavaScript Calculator - id: bd7158d8c442eddfaeb5bd10 - title: 顯示當地天氣 + title: Show the Local Weather - id: bd7158d8c442eddfaeb5bd1f - title: 使用 Twitch JSON API + title: Use the Twitch JSON API - id: bd7158d8c442eddfaeb5bd18 - title: 風格化學員故事 + title: Stylize Stories on Camper News - id: bd7158d8c442eddfaeb5bd19 - title: 創建一個維基百科查看器 + title: Build a Wikipedia Viewer - id: bd7158d8c442eedfaeb5bd1c - title: 建立一個 Tic Tac Toe 遊戲 + title: Build a Tic Tac Toe Game - id: bd7158d8c442eddfaeb5bd1c - title: 創建一個西蒙遊戲 + title: Build a Simon Game diff --git a/curriculum/challenges/chinese-traditional/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml index 13a14ca11a..9800c4a117 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml @@ -1,25 +1,24 @@ ---- id: 561add10cb82ac38a17213bd -title: 舊版全棧證書 +title: Legacy Full Stack Certification certification: legacy-full-stack challengeType: 7 isPrivate: true tests: - id: 561add10cb82ac38a17513bc - title: 響應式 Web 設計認證 + title: Responsive Web Design Certification - id: 561abd10cb81ac38a17513bc - title: JavaScript 算法和數據結構認證 + title: JavaScript Algorithms and Data Structures Certification - id: 561acd10cb82ac38a17513bc - title: 前端庫認證 + title: Front End Libraries Certification - id: 5a553ca864b52e1d8bceea14 - title: 數據可視化認證 + title: Data Visualization Certification - id: 561add10cb82ac38a17523bc - title: API 和微服務認證 + title: API's and Microservices Certification - id: 561add10cb82ac38a17213bc - title: 舊版信息安全和質量保證認證 + title: Legacy Information Security and Quality Assurance Certification diff --git a/curriculum/challenges/chinese-traditional/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml index b087826118..199f3f4894 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml @@ -1,22 +1,21 @@ ---- id: 561add10cb82ac38a17213bc -title: 舊版信息安全和質量保證認證 +title: Legacy Information Security and Quality Assurance Certification certification: legacy-information-security-and-quality-assurance challengeType: 7 isPrivate: true tests: - id: 587d8249367417b2b2512c41 - title: 公英制轉換器 + title: Metric-Imperial Converter - id: 587d8249367417b2b2512c42 - title: 問題追蹤器 + title: Issue Tracker - id: 587d824a367417b2b2512c43 - title: 個人圖書館 + title: Personal Library - id: 587d824a367417b2b2512c44 - title: 股票價格檢查器 + title: Stock Price Checker - id: 587d824a367417b2b2512c45 - title: 匿名留言板 + title: Anonymous Message Board diff --git a/curriculum/challenges/chinese-traditional/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml index 6ad4df7eac..3d8683875b 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e46fc95ac417301a38fb935 -title: Python 與機器學習認證 +title: Machine Learning with Python Certification certification: machine-learning-with-python challengeType: 7 isPrivate: true tests: - id: 5e46f8d6ac417301a38fb92d - title: 剪刀石頭布 + title: Rock Paper Scissors - id: 5e46f8dcac417301a38fb92e - title: 貓和狗圖像分類器 + title: Cat and Dog Image Classifier - id: 5e46f8e3ac417301a38fb92f - title: 基於 KNN 的圖書推薦引擎 + title: Book Recommendation Engine using KNN - id: 5e46f8edac417301a38fb930 - title: 線性迴歸健康成本計算器 + title: Linear Regression Health Costs Calculator - id: 5e46f8edac417301a38fb931 - title: 神經網絡短信分類器 + title: Neural Network SMS Text Classifier diff --git a/curriculum/challenges/chinese-traditional/00-certifications/quality-assurance-certification/quality-assurance-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/quality-assurance-certification/quality-assurance-certification.yml index 17005d0cc9..7d4651bd38 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/quality-assurance-certification/quality-assurance-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/quality-assurance-certification/quality-assurance-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e611829481575a52dc59c0e -title: 質量保證認證 +title: Quality Assurance Certification certification: quality-assurance challengeType: 7 isPrivate: true tests: - id: 587d8249367417b2b2512c41 - title: 公英制轉換器 + title: Metric-Imperial Converter - id: 587d8249367417b2b2512c42 - title: 問題追蹤器 + title: Issue Tracker - id: 587d824a367417b2b2512c43 - title: 個人圖書館 + title: Personal Library - id: 5e601bf95ac9d0ecd8b94afd - title: 數獨求解器 + title: Sudoku Solver - id: 5e601c0d5ac9d0ecd8b94afe - title: 美式英語與英式英語轉換器 + title: American British Translator diff --git a/curriculum/challenges/chinese-traditional/00-certifications/relational-database-certification/relational-database-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/relational-database-certification/relational-database-certification.yml index 7c8f306d4e..02094ba181 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/relational-database-certification/relational-database-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/relational-database-certification/relational-database-certification.yml @@ -1,22 +1,21 @@ ---- id: 606243f50267e718b1e755f4 -title: 關係數據庫認證 +title: Relational Database Certification certification: relational-database challengeType: 7 isPrivate: true tests: - id: 5f1a4ef5d5d6b5ab580fc6ae - title: 天體數據庫 + title: Celestial Bodies Database - id: 5f9771307d4d22b9d2b75a94 - title: 世界盃數據庫 + title: World Cup Database - id: 5f87ac112ae598023a42df1a - title: 沙龍預約安排程序 + title: Salon Appointment Scheduler - id: 602d9ff222201c65d2a019f2 - title: 元素週期表數據庫 + title: Periodic Table Database - id: 602da04c22201c65d2a019f4 - title: 猜數字遊戲 + title: Number Guessing Game diff --git a/curriculum/challenges/chinese-traditional/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml index 80a994a268..d0e6d17039 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml @@ -1,22 +1,21 @@ ---- id: 561add10cb82ac38a17513bc -title: 響應式 Web 設計認證 +title: Responsive Web Design Certification certification: responsive-web-design challengeType: 7 isPrivate: true tests: - id: bd7158d8c442eddfaeb5bd18 - title: 製作一個致敬頁 + title: Build a Tribute Page - id: 587d78af367417b2b2512b03 - title: 製作一個調查表格 + title: Build a Survey Form - id: 587d78af367417b2b2512b04 - title: 製作一個產品登錄頁 + title: Build a Product Landing Page - id: 587d78b0367417b2b2512b05 - title: 製作一個技術文檔頁面 + title: Build a Technical Documentation Page - id: bd7158d8c242eddfaeb5bd13 - title: 製作一個個人作品集展示頁 + title: Build a Personal Portfolio Webpage diff --git a/curriculum/challenges/chinese-traditional/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml index ad75459cda..b0b734fe03 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml @@ -1,22 +1,21 @@ ---- id: 5e44431b903586ffb414c951 -title: Python 與科學計算認證 +title: Scientific Computing with Python Certification certification: scientific-computing-with-python challengeType: 7 isPrivate: true tests: - id: 5e44412c903586ffb414c94c - title: 算數格式化 + title: Arithmetic Formatter - id: 5e444136903586ffb414c94d - title: 時間計算器 + title: Time Calculator - id: 5e44413e903586ffb414c94e - title: 預算應用 + title: Budget App - id: 5e444147903586ffb414c94f - title: 多邊形面積計算器 + title: Polygon Area Calculator - id: 5e44414f903586ffb414c950 - title: 概率計算器 + title: Probability Calculator diff --git a/curriculum/challenges/chinese-traditional/00-certifications/upcoming-python-certification/upcoming-python-certification.yml b/curriculum/challenges/chinese-traditional/00-certifications/upcoming-python-certification/upcoming-python-certification.yml index 1bc63328b3..71963dffb5 100644 --- a/curriculum/challenges/chinese-traditional/00-certifications/upcoming-python-certification/upcoming-python-certification.yml +++ b/curriculum/challenges/chinese-traditional/00-certifications/upcoming-python-certification/upcoming-python-certification.yml @@ -1,10 +1,10 @@ --- id: 64afc4e8f3b37856e035b85f -title: 即將推出的 Python 證書 +title: Upcoming Python Certification certification: upcoming-python-certification challengeType: 7 isPrivate: true tests: - id: 64afc37bf3b37856e035b85e - title: 即將推出的 Python 項目 + title: Upcoming Python Project diff --git a/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md b/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md index 734fefcce1..eefd832bac 100644 --- a/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md +++ b/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md @@ -1,6 +1,6 @@ --- id: 587d778b367417b2b2512aa8 -title: 添加可訪問的日期選擇器 +title: Add an Accessible Date Picker challengeType: 0 videoUrl: 'https://scrimba.com/c/cR3bRbCV' forumTopicId: 301008 @@ -9,13 +9,13 @@ dashedName: add-an-accessible-date-picker # --description-- -表單中經常出現 `input` 標籤,它可以用來創建多種表單控件。 它的 `type` 屬性指定了所要創建的 `input` 標籤類型。 +Forms often include the `input` field, which can be used to create several different form controls. The `type` attribute on this element indicates what kind of `input` element will be created. -在以前的挑戰中,我們已經見過 `text` 與 `submit` 類型的 input 標籤。 HTML5 規範添加了 `date` 類型來創建日期選擇器。 如果瀏覽器支持,在點擊 `input` 標籤時,日期選擇器會顯示出來,這讓用戶填寫表單變得更加容易。 +You may have noticed the `text` and `submit` input types in prior challenges, and HTML5 introduced an option to specify a `date` field. Depending on browser support, a date picker shows up in the `input` field when it's in focus, which makes filling in a form easier for all users. -對於較老的瀏覽器,類型將默認爲 `text`, 這樣它可以通過 `label` 或 `placeholder` 文本向用戶顯示預期的日期格式。 +For older browsers, the type will default to `text`, so it helps to show users the expected date format in the `label` or `placeholder` text just in case. -舉個例子: +Here's an example: ```html @@ -24,29 +24,29 @@ dashedName: add-an-accessible-date-picker # --instructions-- -Camper Cat 想舉辦一場比武大會,他想收集參賽者的最佳參賽時間。 請爲 Camper Cat 的頁面添加一個`input` 標籤,起 `type` 屬性值爲 `date`,`id` 屬性爲 `pickdate`,`name` 屬性爲 `date`。 +Camper Cat is setting up a Mortal Kombat tournament and wants to ask his competitors to see what date works best. Add an `input` tag with a `type` attribute of `date`, an `id` attribute of `pickdate`, and a `name` attribute of `date`. # --hints-- -日期選擇器應有一個 `input` 標籤。 +Your code should add one `input` tag for the date selector field. ```js assert.lengthOf(document.querySelectorAll('input'), 2); ``` -`input` 標籤應有一個值爲 `date` 的 `type` 屬性。 +Your `input` tag should have a `type` attribute with a value of `date`. ```js assert.equal(document.querySelector('input')?.getAttribute('type'), 'date'); ``` -`input` 標籤應有一個值爲 `pickdate` 的 `id` 屬性。 +Your `input` tag should have an `id` attribute with a value of `pickdate`. ```js assert.equal(document.querySelector('input')?.getAttribute('id'),'pickdate'); ``` -`input` 標籤應有一個值爲 `date` 的 `name` 屬性。 +Your `input` tag should have a `name` attribute with a value of `date`. ```js assert.equal(document.querySelector('input')?.getAttribute('name'), 'date'); diff --git a/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md b/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md index 5b559b6dcc..97e1a79043 100644 --- a/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md +++ b/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md @@ -1,6 +1,6 @@ --- id: 587d7787367417b2b2512aa1 -title: 使用 header 元素來讓屏幕閱讀器更容易進行導航 +title: Make Screen Reader Navigation Easier with the header Landmark challengeType: 0 videoUrl: 'https://scrimba.com/c/cB76vtv' forumTopicId: 301023 @@ -9,25 +9,25 @@ dashedName: make-screen-reader-navigation-easier-with-the-header-landmark # --description-- -`header` 也是一個具有語義化的、可以提升頁面可訪問性的 HTML5 標籤。 它可以爲父級標籤呈現簡介信息或者導航鏈接,適用於那些在多個頁面頂部重複出現的內容。 +The next HTML5 element that adds semantic meaning and improves accessibility is the `header` tag. It's used to wrap introductory information or navigation links for its parent tag and works well around content that's repeated at the top on multiple pages. -與 `main` 類似,`header` 的語義化特性也可以讓輔助工具快速定位到它的內容。 +`header` shares the embedded landmark feature you saw with `main`, allowing assistive technologies to quickly navigate to that content. -**注意:** `header` 應當在 HTML 文檔的 `body` 標籤內使用。 它與包含頁面標題、元信息的 `head` 標籤不同。 +**Note:** The `header` is meant for use in the `body` tag of your HTML document. It is different than the `head` element, which contains the page's title, meta information, etc. # --instructions-- -Camper Cat 正在創作一些訓練忍者的精彩文章,並打算爲這些文章創建一個新的頁面。 請把包含 `h1` 的 `div` 標籤替換爲 `header` 標籤。 +Camper Cat is writing some great articles about ninja training, and wants to add a page for them to his site. Change the top `div` that currently contains the `h1` to a `header` tag instead. # --hints-- -應該存在一個 `header` 標籤。 +Your code should have one `header` tag. ```js assert.lengthOf(document.querySelectorAll('header'),1); ``` -`header` 標籤中應包含 `h1`。 +Your `header` tags should wrap around the `h1`. ```js const header = document.querySelector('header'); @@ -35,13 +35,13 @@ const children = header?.querySelectorAll(`:scope ${'h1'}`); assert.lengthOf(children , 1); ``` -不應存在 `div` 標籤。 +Your code should not have any `div` tags. ```js assert.lengthOf(document.querySelectorAll('div') , 0); ``` -確保 `header` 標籤是閉合的。 +Your `header` element should have a closing tag. ```js assert.isTrue(code.match(/<\/header>/g)?.length === code.match(/
/g)?.length); diff --git a/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md b/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md index 6fe6f4ed81..521c762591 100644 --- a/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md +++ b/curriculum/challenges/chinese-traditional/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md @@ -1,6 +1,6 @@ --- id: 587d7788367417b2b2512aa2 -title: 使用 nav 元素使屏幕閱讀器更容易導航 +title: Make Screen Reader Navigation Easier with the nav Landmark challengeType: 0 videoUrl: 'https://scrimba.com/c/czVwWSv' forumTopicId: 301024 @@ -9,23 +9,23 @@ dashedName: make-screen-reader-navigation-easier-with-the-nav-landmark # --description-- -`nav` 也是一個具有語義化特性的 HTML5 標籤,它可以使屏幕閱讀器快速識別出頁面中的導航信息。 它用於呈現頁面中的主導航鏈接。 +The `nav` element is another HTML5 item with the embedded landmark feature for easy screen reader navigation. This tag is meant to wrap around the main navigation links in your page. -對於在多個頁面底部出現的站點鏈接,我們不需要使用 `nav` 標籤。 我們將會在下個挑戰中學習 `footer` 標籤的使用。 +If there are repeated site links at the bottom of the page, it isn't necessary to markup those with a `nav` tag as well. Using a `footer` (covered in the next challenge) is sufficient. # --instructions-- -Camper Cat 在他的忍者訓練頁面頂端放置了多個導航鏈接,但這些鏈接都寫在了 `div` 中。 請將 `div` 標籤更改爲 `nav` 標籤,以提升頁面的可訪問性。 +Camper Cat included navigation links at the top of his training page, but wrapped them in a `div`. Change the `div` to a `nav` tag to improve the accessibility on his page. # --hints-- -應存在一個 `nav` 標籤。 +Your code should have one `nav` tag. ```js assert.lengthOf(document.querySelectorAll('nav') , 1); ``` -`nav` 標籤應包含 `ul` 標籤及其列表項。 +Your `nav` tags should wrap around the `ul` and its list items. ```js const nav = document.querySelector('nav'); @@ -33,13 +33,13 @@ const children = nav?.querySelectorAll(`:scope ${'ul'}`); assert.lengthOf(children,1); ``` -不應存在 `div` 標籤。 +Your code should not have any `div` tags. ```js assert.lengthOf(document.querySelectorAll('div') , 0); ``` -確保 `nav` 標籤是閉合的。 +Your `nav` element should have a closing tag. ```js assert.isTrue(code.match(/<\/nav>/g)?.length === code.match(/

-14 = 2×7 +The first three consecutive numbers to have three distinct prime factors are:
644 = 22 × 7 × 23
@@ -23,7 +23,7 @@ The first two consecutive numbers to have two distinct prime factors are: 646 = 2 × 17 × 19
-找到前四個連續的整數,每個整數有四個不同的素數因子。 這些數字中的第一個是什麼? +Find the first four consecutive integers to have four distinct prime factors each. What is the first of these numbers? # --hints-- diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-56-powerful-digit-sum.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-56-powerful-digit-sum.md index dd609fb085..e445973f33 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-56-powerful-digit-sum.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-56-powerful-digit-sum.md @@ -1,6 +1,6 @@ --- id: 5900f3a41000cf542c50feb7 -title: '問題56:強大的數字總和' +title: 'Problem 56: Powerful digit sum' challengeType: 1 forumTopicId: 302167 dashedName: problem-56-powerful-digit-sum diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-88-product-sum-numbers.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-88-product-sum-numbers.md index e77d81f4c3..4677989639 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-88-product-sum-numbers.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-1-to-100/problem-88-product-sum-numbers.md @@ -1,6 +1,6 @@ --- id: 5900f3c51000cf542c50fed6 -title: '問題88:產品總和數' +title: 'Problem 88: Product-sum numbers' challengeType: 1 forumTopicId: 302203 dashedName: problem-88-product-sum-numbers diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-105-special-subset-sums-testing.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-105-special-subset-sums-testing.md index b0e65fd905..1636463728 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-105-special-subset-sums-testing.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-105-special-subset-sums-testing.md @@ -1,6 +1,6 @@ --- id: 5900f3d61000cf542c50fee8 -title: '問題 105:特殊子集和:測試' +title: 'Problem 105: Special subset sums: testing' challengeType: 1 forumTopicId: 301729 dashedName: problem-105-special-subset-sums-testing @@ -11,17 +11,17 @@ dashedName: problem-105-special-subset-sums-testing Let $S(A)$ represent the sum of elements in set A of size n. We shall call it a special sum set if for any two non-empty disjoint subsets, B and C, the following properties are true: 1. $S(B) ≠ S(C)$; that is, sums of subsets cannot be equal. -2. 如果 B 包含的元素多於 C,則 $S(B) > S(C)$。 +2. If B contains more elements than C then $S(B) > S(C)$. -例如,{81, 88, 75, 42, 87, 84, 86, 65} 不是特殊和集,因爲 65 + 87 + 88 = 75 + 81 + 84,而 {157, 150, 164, 119, 79, 159, 161, 139, 158} 滿足所有可能的子集對組合的規則和 $S(A) = 1286$。 +For example, {81, 88, 75, 42, 87, 84, 86, 65} is not a special sum set because 65 + 87 + 88 = 75 + 81 + 84, whereas {157, 150, 164, 119, 79, 159, 161, 139, 158} satisfies both rules for all possible subset pair combinations and $S(A) = 1286$. -使用 `sets`,一個一百個集合的數組,包含七到十二個元素(上面給出的兩個例子是前兩個集合),識別所有的特殊和集,$A_1, A_2, \ldots, A_k$,並求出 $(A_1) + S(A_2) + \cdots + S(A_k)$ 的值。 +Using `sets`, an array with one-hundred sets, containing seven to twelve elements (the two examples given above are the first two sets), identify all the special sum sets, $A_1, A_2, \ldots, A_k$, and find the value of $(A_1) + S(A_2) + \cdots + S(A_k)$. -**注意:** 此問題與問題 103 和問題 106 相關。 +**Note:** This problem is related to Problem 103 and Problem 106. # --hints-- -`testingSpecialSubsetSums(testSets)` 應該返回 `73702`。 +`testingSpecialSubsetSums(testSets)` should return `73702`. ```js assert.strictEqual(testingSpecialSubsetSums(_testSets), 73702); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-109-darts.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-109-darts.md index 6b236e41ce..47034cdd92 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-109-darts.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-109-darts.md @@ -1,6 +1,6 @@ --- id: 5900f3db1000cf542c50feec -title: '問題 109:飛鏢' +title: 'Problem 109: Darts' challengeType: 1 forumTopicId: 301733 dashedName: problem-109-darts @@ -10,15 +10,15 @@ dashedName: problem-109-darts In the game of darts a player throws three darts at a target board which is split into twenty equal sized sections numbered one to twenty. -黑色棋盤 +Darts board -The score of a dart is determined by the number of the region that the dart lands in. A dart landing outside the red/green outer ring scores zero. The black and cream regions inside this ring represent single scores. 然而,紅/綠外環和中環得分分別是雙倍和三倍。 +The score of a dart is determined by the number of the region that the dart lands in. A dart landing outside the red/green outer ring scores zero. The black and cream regions inside this ring represent single scores. However, the red/green outer ring and middle ring score double and treble scores respectively. -在棋盤的中心是兩個同心圓,稱爲牛市區域或靶心。 外牛市價值 25 分,內牛市雙倍,價值 50 分。 +At the center of the board are two concentric circles called the bull region, or bulls-eye. The outer bull is worth 25 points and the inner bull is a double, worth 50 points. -規則有很多變化,但在最流行的遊戲中,玩家將以 301 或 501 的分數開始,第一個將總分減少到零的玩家是贏家。 但是,玩“雙打”系統是正常的,這意味着玩家必須在最後一個飛鏢上打出一個雙打(包括棋盤中央的雙靶心)才能獲勝;任何其他將其總得分減少到一個或更低的飛鏢意味着該組三個飛鏢的得分爲“失敗”。 +There are many variations of rules but in the most popular game the players will begin with a score of 301 or 501 and the first player to reduce their running total to zero is a winner. However, it is normal to play a "doubles out" system, which means that the player must land a double (including the double bulls-eye at the center of the board) on their final dart to win; any other dart that would reduce their running total to one or lower means the score for that set of three darts is "bust". -當玩家能夠完成他們當前的分數時,它被稱爲“結賬”,最高結賬是 170:T20 T20 D25(兩個高音 20 秒和雙牛)。 有 11 種不同的方式可以在 6 分的情況下結賬: +When a player is able to finish on their current score it is called a "checkout" and the highest checkout is 170: T20 T20 D25 (two treble 20s and double bull). There are exactly eleven distinct ways to checkout on a score of 6: $$\begin{array} \text{D3} & & \\\\ D1 & D2 & \\\\ S2 & D2 & \\\\ @@ -27,11 +27,11 @@ $$\begin{array} \text{D3} & & \\\\ S1 & S3 & D1 \\\\ D1 & D1 & D1 \\\\ D1 & S2 & D1 \\\\ S2 & S2 & D1 \end{array}$$ -請注意,D1 D2 被認爲與 D2 D1 不同,因爲他們完成了不同的雙打。 然而,組合 S1 T1 D1 被認爲與 T1 S1 D1 相同。 此外,我們在考慮組合時不應包括未命中;例如,D3 與 0 D3 和 0 0 D3 相同。 令人難以置信的是,總共有 42336 種不同的結賬方式。 得分低於 100 的玩家可以通過多少種不同的方式進行結賬? +Note that D1 D2 is considered different from D2 D1 as they finish on different doubles. However, the combination S1 T1 D1 is considered the same as T1 S1 D1. In addition, we shall not include misses in considering combinations; for example, D3 is the same as 0 D3 and 0 0 D3. Incredibly there are 42336 distinct ways of checking out in total. How many distinct ways can a player checkout with a score less than 100? # --hints-- -`darts()` 應該返回 `38182`。 +`darts()` should return `38182`. ```js assert.strictEqual(darts(), 38182); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-124-ordered-radicals.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-124-ordered-radicals.md index a9615bb44a..899171a973 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-124-ordered-radicals.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-124-ordered-radicals.md @@ -1,6 +1,6 @@ --- id: 5900f3e81000cf542c50fefb -title: '問題 124:根數排序' +title: 'Problem 124: Ordered radicals' challengeType: 1 forumTopicId: 301751 dashedName: problem-124-ordered-radicals @@ -10,7 +10,7 @@ dashedName: problem-124-ordered-radicals The radical of $n$, $rad(n)$, is the product of the distinct prime factors of $n$. For example, $504 = 2^3 × 3^2 × 7$, so $rad(504) = 2 × 3 × 7 = 42$. -如果我們爲 $1 ≤ n ≤ 10$ 計算 $rad(n)$,然後按 $rad(n)$ 對它們進行排序,如果部首值相等則按 $n$ 排序,我們得到: +If we calculate $rad(n)$ for $1 ≤ n ≤ 10$, then sort them on $rad(n)$, and sorting on $n$ if the radical values are equal, we get:
@@ -112,11 +112,11 @@ The radical of $n$, $rad(n)$, is the product of the distinct prime factors of $n

-記 $E(k)$ 爲已經排序的 $n$ 列中的第 $k$ 個元素;例如,$E(4) = 8$ 且 $E(6) = 9$。 如果 $rad(n)$ 按 $1 ≤ n ≤ 100000$ 排序,找到 $E(10000)$。 +Let $E(k)$ be the $k$th element in the sorted $n$ column; for example, $E(4) = 8$ and $E(6) = 9$. If $rad(n)$ is sorted for $1 ≤ n ≤ 100000$, find $E(10000)$. # --hints-- -`orderedRadicals()` 應該返回 `21417`。 +`orderedRadicals()` should return `21417`. ```js assert.strictEqual(orderedRadicals(), 21417); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-133-repunit-nonfactors.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-133-repunit-nonfactors.md index 1b751a5f95..ee861a1442 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-133-repunit-nonfactors.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-133-repunit-nonfactors.md @@ -1,6 +1,6 @@ --- id: 5900f3f21000cf542c50ff04 -title: '問題 133:純元數非因子' +title: 'Problem 133: Repunit nonfactors' challengeType: 1 forumTopicId: 301761 dashedName: problem-133-repunit-nonfactors @@ -10,15 +10,15 @@ dashedName: problem-133-repunit-nonfactors A number consisting entirely of ones is called a repunit. We shall define $R(k)$ to be a repunit of length $k$; for example, $R(6) = 111111$. -讓我們考慮形式爲 $R({10}^n)$ 的純元數。 +Let us consider repunits of the form $R({10}^n)$. -儘管 $R(10)$、$R(100)$ 或 $R(1000)$ 不能被 17 整除,但 $R(10000)$ 可以被 17 整除。 然而沒有 $R({10}^n)$ 可以被 19 整除。 值得注意的是,11、17、41 和 73 是僅有的四個小於 100 的質數可以是 $R({10}^n)$ 的因數。 +Although $R(10)$, $R(100)$, or $R(1000)$ are not divisible by 17, $R(10000)$ is divisible by 17. Yet there is no value of n for which $R({10}^n)$ will divide by 19. Remarkably, 11, 17, 41, and 73 are the only four primes below one-hundred that can be a factor of $R({10}^n)$. -求十萬以內不能成爲 $R({10}^n)$ 因子的素數的和。 +Find the sum of all the primes below one-hundred thousand that will never be a factor of $R({10}^n)$. # --hints-- -`repunitNonfactors()` 應該返回 `453647705`。 +`repunitNonfactors()` should return `453647705`. ```js assert.strictEqual(repunitNonfactors(), 453647705); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-140-modified-fibonacci-golden-nuggets.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-140-modified-fibonacci-golden-nuggets.md index 2c469013f0..bdd6612a63 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-140-modified-fibonacci-golden-nuggets.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-140-modified-fibonacci-golden-nuggets.md @@ -1,6 +1,6 @@ --- id: 5900f3fa1000cf542c50ff0c -title: '問題 140:改進的斐波那契金塊' +title: 'Problem 140: Modified Fibonacci golden nuggets' challengeType: 1 forumTopicId: 301769 dashedName: problem-140-modified-fibonacci-golden-nuggets @@ -10,9 +10,9 @@ dashedName: problem-140-modified-fibonacci-golden-nuggets Consider the infinite polynomial series $A_G(x) = xG_1 + x^2G_2 + x^3G_3 + \cdots$, where $G_k$ is the $k$th term of the second order recurrence relation $G_k = G_{k − 1} + G_{k − 2}, G_1 = 1$ and $G_2 = 4$; that is, $1, 4, 5, 9, 14, 23, \ldots$. -在這個問題中,我們關注的是那些使得 $A_G(x)$ 爲正整數的 $x$ 的值。 +For this problem we shall be concerned with values of $x$ for which $A_G(x)$ is a positive integer. -前五個對應的自然數 $x$ 如下。 +The corresponding values of $x$ for the first five natural numbers are shown below. | $x$ | $A_G(x)$ | | ----------------------------- | -------- | @@ -22,11 +22,11 @@ Consider the infinite polynomial series $A_G(x) = xG_1 + x^2G_2 + x^3G_3 + \cdot | $\frac{\sqrt{137} − 5}{14}$ | $4$ | | $\frac{1}{2}$ | $5$ | -當 $x$ 是有理數時,我們稱 $A_G(x)$ 是一個金磚,因爲這樣的數字逐漸變得稀少;例如,第 20 個金磚是 211345365。 請計算出前三十個金磚之和。 +We shall call $A_G(x)$ a golden nugget if $x$ is rational because they become increasingly rarer; for example, the 20th golden nugget is 211345365. Find the sum of the first thirty golden nuggets. # --hints-- -`modifiedGoldenNuggets()` 應該返回 `5673835352990` +`modifiedGoldenNuggets()` should return `5673835352990` ```js assert.strictEqual(modifiedGoldenNuggets(), 5673835352990); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-148-exploring-pascals-triangle.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-148-exploring-pascals-triangle.md index 5d9f95c23d..d30e62b544 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-148-exploring-pascals-triangle.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-148-exploring-pascals-triangle.md @@ -1,6 +1,6 @@ --- id: 5900f4021000cf542c50ff14 -title: '問題 148:帕斯卡三角形的研究' +title: 'Problem 148: Exploring Pascal''s triangle' challengeType: 1 forumTopicId: 301777 dashedName: problem-148-exploring-pascals-triangle @@ -20,15 +20,15 @@ We can easily verify that none of the entries in the first seven rows of Pascal' 1 6 15 20 15 6 1 ``` -但是如果我們檢查前一百行,會發現在 5050 個數中只有 2361 個數字不能被 7 整除。 +However, if we check the first one hundred rows, we will find that only 2361 of the 5050 entries are not divisible by 7. # --instructions-- -請找出帕斯卡三角形前十億(${10}^9$)行中不能被 7 整除的數的個數。 +Find the number of entries which are not divisible by 7 in the first one billion (${10}^9$) rows of Pascal's triangle. # --hints-- -`entriesOfPascalsTriangle()` 應該返回 `2129970655314432`。 +`entriesOfPascalsTriangle()` should return `2129970655314432`. ```js assert.strictEqual(entriesOfPascalsTriangle(), 2129970655314432); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-154-exploring-pascals-pyramid.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-154-exploring-pascals-pyramid.md index 659eb31593..cf5c6b242f 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-154-exploring-pascals-pyramid.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-154-exploring-pascals-pyramid.md @@ -1,6 +1,6 @@ --- id: 5900f4071000cf542c50ff19 -title: '問題 154:探索帕斯卡金字塔' +title: 'Problem 154: Exploring Pascal''s pyramid' challengeType: 1 forumTopicId: 301785 dashedName: problem-154-exploring-pascals-pyramid @@ -10,17 +10,17 @@ dashedName: problem-154-exploring-pascals-pyramid A triangular pyramid is constructed using spherical balls so that each ball rests on exactly three balls of the next lower level. -用球形搭建的四級三角形金字塔 +triangular pyramid constructed using spherical balls with four levels -然後,我們計算從頂點到每個位置的路徑數量:路徑從頂點開始並向下前進到當前位置正下方的三個球體中的任何一個。 因此,到達某個位置的路徑數是緊接在其上方的數字的總和(取決於位置,在其上方最多有三個數字)。 +Then, we calculate the number of paths leading from the apex to each position: A path starts at the apex and progresses downwards to any of the three spheres directly below the current position. Consequently, the number of paths to reach a certain position is the sum of the numbers immediately above it (depending on the position, there are up to three numbers above it). -其結果是帕斯卡金字塔(Pascal's pyramid),每個級別 n 的數字是三項式 ${(x + y + z)}^n$ 展開的係數. +The result is Pascal's pyramid and the numbers at each level n are the coefficients of the trinomial expansion ${(x + y + z)}^n$. -${(x + y + z)}^{200000}$ 的展開式中有多少個係數是 ${10}^{12}$ 的倍數? +How many coefficients in the expansion of ${(x + y + z)}^{200000}$ are multiples of ${10}^{12}$? # --hints-- -`pascalsPyramid()` 應該返回 `479742450`。 +`pascalsPyramid()` should return `479742450`. ```js assert.strictEqual(pascalsPyramid(), 479742450); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-167-investigating-ulam-sequences.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-167-investigating-ulam-sequences.md index 6b773789ea..37f3fd53c2 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-167-investigating-ulam-sequences.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-167-investigating-ulam-sequences.md @@ -1,6 +1,6 @@ --- id: 5900f4141000cf542c50ff26 -title: '問題167:研究Ulam序列' +title: 'Problem 167: Investigating Ulam sequences' challengeType: 1 forumTopicId: 301801 dashedName: problem-167-investigating-ulam-sequences @@ -10,11 +10,11 @@ dashedName: problem-167-investigating-ulam-sequences For two positive integers $a$ and $b$, the Ulam sequence $U(a,b)$ is defined by ${U{(a,b)}\_1} = a$, ${U{(a,b)}\_2} = b$ and for $k > 2$, ${U{(a,b)}\_k}$ is the smallest integer greater than ${U{(a,b)}\_{(k-1)}}$ which can be written in exactly one way as the sum of two distinct previous members of $U(a,b)$. -例如,序列 $U(1,2)$ 開頭以 +For example, the sequence $U(1,2)$ begins with $$1, 2, 3 = 1 + 2, 4 = 1 + 3, 6 = 2 + 4, 8 = 2 + 6, 11 = 3 + 8$$ -5 不屬於它,因爲5=1+4=2+3有兩個方法,是兩個前成員的總和。 同樣,$7=$1+6=$3+4$。 +5 does not belong to it because $5 = 1 + 4 = 2 + 3$ has two representations as the sum of two previous members, likewise $7 = 1 + 6 = 3 + 4$. Find $\sum {U(2, 2n + 1)_k}$ for $2 ≤ n ≤ 10$, where $k = {10}^{11}$. diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-168-number-rotations.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-168-number-rotations.md index e100f68cf4..5080241537 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-168-number-rotations.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-168-number-rotations.md @@ -1,6 +1,6 @@ --- id: 5900f4151000cf542c50ff27 -title: '問題168:數字輪換' +title: 'Problem 168: Number Rotations' challengeType: 1 forumTopicId: 301802 dashedName: problem-168-number-rotations @@ -10,15 +10,15 @@ dashedName: problem-168-number-rotations Consider the number 142857. We can right-rotate this number by moving the last digit (7) to the front of it, giving us 714285. -它可以驗證714285美元=5 × 142857美元。 +It can be verified that $714285 = 5 × 142857$. -這證明了142857的一個不尋常的屬性:它是右旋的除數 +This demonstrates an unusual property of 142857: it is a divisor of its right-rotation. -對於數字$a$和$b$的整數,都有這個屬性 找到所有整數$n$的最後5位數,$10^a < n < 10^b$, 都有這個屬性 +For integer number of digits $a$ and $b$, find the last 5 digits of the sum of all integers $n$, $10^a < n < 10^b$, that have this property. # --hints-- -`數字輪轉(2, 10)`應該返回`98311`. +`numberRotations(2, 10)` should return `98311`. ```js assert.strictEqual(numberRotations(2, 10), 98311); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md index 66369ae0cd..eee7cba85b 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md @@ -1,7 +1,7 @@ --- id: 5900f41a1000cf542c50ff2c title: >- - 問題173:使用多達一百萬個瓷磚可以形成多少個不同的“空心”方形薄片? + Problem 173: Using up to one million tiles how many different "hollow" square laminae can be formed? challengeType: 1 forumTopicId: 301808 dashedName: >- diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-178-step-numbers.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-178-step-numbers.md index a369cff439..22f44139de 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-178-step-numbers.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-178-step-numbers.md @@ -1,6 +1,6 @@ --- id: 5900f41e1000cf542c50ff31 -title: '問題178:步驟編號' +title: 'Problem 178: Step Numbers' challengeType: 1 forumTopicId: 301813 dashedName: problem-178-step-numbers @@ -10,7 +10,7 @@ dashedName: problem-178-step-numbers Consider the number 45656. -有多少pandigital步數小於1040? +It can be seen that each pair of consecutive digits of 45656 has a difference of one. A number for which every pair of consecutive digits has a difference of one is called a step number. diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-182-rsa-encryption.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-182-rsa-encryption.md index e1060d003e..e971434b3e 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-182-rsa-encryption.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-182-rsa-encryption.md @@ -1,6 +1,6 @@ --- id: 5900f4231000cf542c50ff35 -title: '問題182:RSA 加密' +title: 'Problem 182: RSA encryption' challengeType: 1 forumTopicId: 301818 dashedName: problem-182-rsa-encryption @@ -10,45 +10,45 @@ dashedName: problem-182-rsa-encryption The RSA encryption is based on the following procedure: -生成兩個截然不同的素數 `p` and `q`. 計算 `n=p*q` and `φ=(p-1)(q-1)`。 尋找一個整數 `e`, `1 < e < φ`, such that `gcd(e,φ) = 1` +Generate two distinct primes `p` and `q`. Compute `n=p*q` and `φ=(p-1)(q-1)`. Find an integer `e`, `1 < e < φ`, such that `gcd(e,φ) = 1` -有個信息在這個系統中是個數字在這個時間間隔 `[0,n-1]`. 將要加密的內容會以某種方式轉換爲消息(數字在這個間隔 `[0,n-1]`)。 爲了加密內容,計算每條消息的 `m`, c=me mod n 。 +A message in this system is a number in the interval `[0,n-1]`. A text to be encrypted is then somehow converted to messages (numbers in the interval `[0,n-1]`). To encrypt the text, for each message, `m`, c=me mod n is calculated. -爲了解密內容,以下程序是必須的:計算 `d` such that `ed=1 mod φ`then for each encrypted message,`c`, calculate m=cd mod n。 +To decrypt the text, the following procedure is needed: calculate `d` such that `ed=1 mod φ`, then for each encrypted message, `c`, calculate m=cd mod n. -存在的數值是`e` and `m` such that me mod n = m. 我們調用消息 `m` me mod n=m 未隱藏的消息。 +There exist values of `e` and `m` such that me mod n = m. We call messages `m` for which me mod n=m unconcealed messages. -當選擇 `e` 出現了一個問題就是不應該有太多未隱藏的消息。 例如,讓 `p=19` and `q=37`。 然後 `n=19*37=703` and `φ=18*36=648`. 如果我們選擇 `e=181`, 那麼, 儘管 `gcd(181,648)=1` 結果顯示所有可能信息 m`(0≤m≤n-1)` 是未隱藏的當在計算 me mod n. 對於任何有效的選擇 `e` 都存在一些未隱藏的消息。 重要的是,未隱藏的消息數量必須是最低的。 +An issue when choosing `e` is that there should not be too many unconcealed messages. For instance, let `p=19` and `q=37`. Then `n=19*37=703` and `φ=18*36=648`. If we choose `e=181`, then, although `gcd(181,648)=1` it turns out that all possible messages m `(0≤m≤n-1)` are unconcealed when calculating me mod n. For any valid choice of `e` there exist some unconcealed messages. It's important that the number of unconcealed messages is at a minimum. -對於任何指定 `p` 和 `q`, 尋找所有值的總和 `e`, `1 < e < φ(p,q)`和 `gcd(e,φ)=1`, 因此此值的 `e` 的未隱藏消息數量是最低的。 +For any given `p` and `q`, find the sum of all values of `e`, `1 < e < φ(p,q)` and `gcd(e,φ)=1`, so that the number of unconcealed messages for this value of `e` is at a minimum. # --hints-- -`RSAEncryption` 應該是一個函數。 +`RSAEncryption` should be a function. ```js assert(typeof RSAEncryption === 'function') ``` -`RSAEncryption` 應該返回個數字 +`RSAEncryption` should return a number. ```js assert.strictEqual(typeof RSAEncryption(19, 37), 'number'); ``` -`RSAEncryption(19, 37)` 返回 `17766`。 +`RSAEncryption(19, 37)` should return `17766`. ```js assert.strictEqual(RSAEncryption(19, 37), 17766); ``` -`RSAEncryption(283, 409)` 返回 `466196580`. +`RSAEncryption(283, 409)` should return `466196580`. ```js assert.strictEqual(RSAEncryption(283, 409), 466196580); ``` -`RSAEncryption(1009, 3643)` 應該返回 `399788195976`. +`RSAEncryption(1009, 3643)` should return `399788195976`. ```js assert.strictEqual(RSAEncryption(19, 37), 17766); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-186-connectedness-of-a-network.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-186-connectedness-of-a-network.md index 736064521b..8d1fed78cd 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-186-connectedness-of-a-network.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-101-to-200/problem-186-connectedness-of-a-network.md @@ -1,6 +1,6 @@ --- id: 5900f4281000cf542c50ff39 -title: '問題186:網絡連接' +title: 'Problem 186: Connectedness of a network' challengeType: 1 forumTopicId: 301822 dashedName: problem-186-connectedness-of-a-network @@ -10,28 +10,28 @@ dashedName: problem-186-connectedness-of-a-network Here are the records from a busy telephone system with one million users: -| RecNr | 呼叫者 | 已撥打電話 | +| RecNr | Caller | Called | | ----- | ------ | ------ | | 1 | 200007 | 100053 | | 2 | 600183 | 500439 | | 3 | 600863 | 701497 | | ... | ... | ... | -打電話者的電話號碼和接電話者的電話號碼在記錄裏 $n$ 是 $Caller(n) = S_{2n - 1}$ 和 $Called(n) = S_{2n}$ 當${S}_{1,, 3,\ldots}$ 來自 "Lagged Fibonacci Generator": +The telephone number of the caller and the called number in record $n$ are $Caller(n) = S_{2n - 1}$ and $Called(n) = S_{2n}$ where ${S}_{1,2,3,\ldots}$ come from the "Lagged Fibonacci Generator": -對於$1 ≤ k ≤ 55$, $S_k = [100003 - 200003k + 300007{k}^3]\\;(\text{modulo}\\;1000000)$ +For $1 ≤ k ≤ 55$, $S_k = [100003 - 200003k + 300007{k}^3]\\;(\text{modulo}\\;1000000)$ -對於$56 ≤ k$, $S_k = [S_{k - 24} + S_{k - 55}]\\;(\text{modulo}\\;1000000)$ +For $56 ≤ k$, $S_k = [S_{k - 24} + S_{k - 55}]\\;(\text{modulo}\\;1000000)$ -如果$Caller(n) = Called(n)$,則假定用戶誤操作並且呼叫失敗; 否則通話成功。 +If $Caller(n) = Called(n)$ then the user is assumed to have misdialled and the call fails; otherwise the call is successful. -從記錄一開始,我們就說任何用戶 $X$ 和 $Y$ 都是朋友如果 $X$ 打電話給 $Y$ 或反之亦然。 類似地, $X$ 是 $Z$ 的朋友,如果 $X$ 是 $Y$ 的朋友, $Y$ 是 $Z$的朋友; 等於更長的鏈。 +From the start of the records, we say that any pair of users $X$ and $Y$ are friends if $X$ calls $Y$ or vice-versa. Similarly, $X$ is a friend of a friend of $Z$ if $X$ is a friend of $Y$ and $Y$ is a friend of $Z$; and so on for longer chains. -總理的電話號碼爲524287。 After how many successful calls, not counting misdials, will 99% of the users (including the PM) be a friend, or a friend of a friend etc., of the Prime Minister? +The Prime Minister's phone number is 524287. After how many successful calls, not counting misdials, will 99% of the users (including the PM) be a friend, or a friend of a friend etc., of the Prime Minister? # --hints-- -`connectednessOfANetwork()` 應該返回`2325629` +`connectednessOfANetwork()` should return `2325629`. ```js assert.strictEqual(connectednessOfANetwork(), 2325629); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-213-flea-circus.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-213-flea-circus.md index 4d3dce1f9f..a18eb63525 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-213-flea-circus.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-213-flea-circus.md @@ -1,6 +1,6 @@ --- id: 5900f4411000cf542c50ff54 -title: '問題213:跳蚤馬戲團' +title: 'Problem 213: Flea Circus' challengeType: 1 forumTopicId: 301855 dashedName: problem-213-flea-circus @@ -10,9 +10,9 @@ dashedName: problem-213-flea-circus A 30×30 grid of squares contains 900 fleas, initially one flea per square. -當響鈴響起時,每個跳蚤隨機跳到相鄰的廣場(通常有4種可能,除了網格邊緣或角落處的跳蚤)。 +When a bell is rung, each flea jumps to an adjacent square at random (usually 4 possibilities, except for fleas on the edge of the grid or at the corners). -在響鈴50次後,預計的未佔用方格數量是多少? 將您的答案四捨五入到小數點後六位。 +What is the expected number of unoccupied squares after 50 rings of the bell? Give your answer rounded to six decimal places. # --hints-- diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md index 513fed3dd9..3dbeca51b3 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md @@ -1,6 +1,6 @@ --- id: 5900f4691000cf542c50ff7c -title: '問題253:整理' +title: 'Problem 253: Tidying up' challengeType: 1 forumTopicId: 301901 dashedName: problem-253-tidying-up @@ -10,11 +10,11 @@ dashedName: problem-253-tidying-up A small child has a "number caterpillar" consisting of forty jigsaw pieces, each with one number on it, which, when connected together in a line, reveal the numbers 1 to 40 in order. -每天晚上,孩子的父親必須拿起散落在遊戲室的毛毛蟲的碎片。 他隨機拿起碎片並按正確順序放置。 +Every night, the child's father has to pick up the pieces of the caterpillar that have been scattered across the play room. He picks up the pieces at random and places them in the correct order. As the caterpillar is built up in this way, it forms distinct segments that gradually merge together. The number of segments starts at zero (no pieces placed), generally increases up to about eleven or twelve, then tends to drop again before finishing at a single segment (all pieces placed). -例如: +For example: | Piece Placed | Segments So Far | | ------------ | --------------- | diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md index 5a0cf31e06..bd295d89e6 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md @@ -1,7 +1,7 @@ --- id: 5900f4791000cf542c50ff8b title: >- - 問題 268:計算至少有四個不同的質因數小於 100 的數 + Problem 268: Counting numbers with at least four distinct prime factors less than 100 challengeType: 1 forumTopicId: 301917 dashedName: >- diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-295-lenticular-holes.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-295-lenticular-holes.md index 382e6d81f1..96b2a4bfdd 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-295-lenticular-holes.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-201-to-300/problem-295-lenticular-holes.md @@ -1,6 +1,6 @@ --- id: 5900f4931000cf542c50ffa6 -title: '問題295:透鏡孔' +title: 'Problem 295: Lenticular holes' challengeType: 1 forumTopicId: 301947 dashedName: problem-295-lenticular-holes @@ -11,8 +11,8 @@ dashedName: problem-295-lenticular-holes We call the convex area enclosed by two circles a lenticular hole if: - The centres of both circles are on lattice points. -- 兩個圓在兩個不同的晶格點處相交。 -- 被兩個圓包圍的凸區域的內部不包含任何晶格點。 +- The two circles intersect at two distinct lattice points. +- The interior of the convex area enclosed by both circles does not contain any lattice points. Consider the circles: diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-311-biclinic-integral-quadrilaterals.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-311-biclinic-integral-quadrilaterals.md index 8c8b14f235..1aefa2589a 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-311-biclinic-integral-quadrilaterals.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-311-biclinic-integral-quadrilaterals.md @@ -1,6 +1,6 @@ --- id: 5900f4a31000cf542c50ffb6 -title: '問題311:雙斜積分四邊形' +title: 'Problem 311: Biclinic Integral Quadrilaterals' challengeType: 1 forumTopicId: 301967 dashedName: problem-311-biclinic-integral-quadrilaterals diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-313-sliding-game.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-313-sliding-game.md index d688008484..c264174218 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-313-sliding-game.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-313-sliding-game.md @@ -1,6 +1,6 @@ --- id: 5900f4a61000cf542c50ffb8 -title: '問題313:滑行遊戲' +title: 'Problem 313: Sliding game' challengeType: 1 forumTopicId: 301969 dashedName: problem-313-sliding-game diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-320-factorials-divisible-by-a-huge-integer.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-320-factorials-divisible-by-a-huge-integer.md index 636dc8d9bc..b0f0cc5c6a 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-320-factorials-divisible-by-a-huge-integer.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-320-factorials-divisible-by-a-huge-integer.md @@ -1,6 +1,6 @@ --- id: 5900f4ae1000cf542c50ffbf -title: '問題320:可被一個巨大整數整除的階乘' +title: 'Problem 320: Factorials divisible by a huge integer' challengeType: 1 forumTopicId: 301977 dashedName: problem-320-factorials-divisible-by-a-huge-integer @@ -10,15 +10,15 @@ dashedName: problem-320-factorials-divisible-by-a-huge-integer Let $N(i)$ be the smallest integer $n$ such that $n!$ is divisible by $(i!)^{1234567890}$ -令$S(u) = \sum N(i)$,且$10 ≤ i ≤ u$。 +Let $S(u) = \sum N(i)$ for $10 ≤ i ≤ u$. -$S(1000)=614\\,538\\,266\\,565\\,663$。 +$S(1000)=614\\,538\\,266\\,565\\,663$. -找出$S(1\\,000\\,000)\對{10}^{18}$取模後的結果。 +Find $S(1\\,000\\,000)\bmod {10}^{18}$. # --hints-- -`divisibleByHugeInteger()`應該返回`278157919195482660`。 +`divisibleByHugeInteger()` should return `278157919195482660`. ```js assert.strictEqual(divisibleByHugeInteger(), 278157919195482660); diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-323-bitwise-or-operations-on-random-integers.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-323-bitwise-or-operations-on-random-integers.md index 70051dad79..7cd5acf36c 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-323-bitwise-or-operations-on-random-integers.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-323-bitwise-or-operations-on-random-integers.md @@ -1,6 +1,6 @@ --- id: 5900f4b01000cf542c50ffc2 -title: '問題323:對隨機整數進行按位或運算' +title: 'Problem 323: Bitwise-OR operations on random integers' challengeType: 1 forumTopicId: 301980 dashedName: problem-323-bitwise-or-operations-on-random-integers diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-341-golombs-self-describing-sequence.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-341-golombs-self-describing-sequence.md index 8f256e2253..f3ebbd9cdd 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-341-golombs-self-describing-sequence.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-341-golombs-self-describing-sequence.md @@ -1,6 +1,6 @@ --- id: 5900f4c11000cf542c50ffd3 -title: '問題 341:Golomb 的自描述序列' +title: 'Problem 341: Golomb''s self-describing sequence' challengeType: 1 forumTopicId: 302000 dashedName: problem-341-golombs-self-describing-sequence diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-344-silver-dollar-game.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-344-silver-dollar-game.md index 98f133c45b..c5a70d8e8c 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-344-silver-dollar-game.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-344-silver-dollar-game.md @@ -1,6 +1,6 @@ --- id: 5900f4c51000cf542c50ffd7 -title: '問題344:銀元遊戲' +title: 'Problem 344: Silver dollar game' challengeType: 1 forumTopicId: 302003 dashedName: problem-344-silver-dollar-game @@ -10,13 +10,13 @@ dashedName: problem-344-silver-dollar-game One variant of N.G. de Bruijn's silver dollar game can be described as follows: -在正方形條上放置了許多硬幣,每平方最多一枚硬幣。 只有一枚硬幣,稱爲銀元,具有任何價值。 兩名球員輪流做出動作。 在每個回合中,玩家必須進行常規或特殊動作。 +On a strip of squares a number of coins are placed, at most one coin per square. Only one coin, called the silver dollar, has any value. Two players take turns making moves. At each turn a player must make either a regular or a special move. -常規移動包括選擇一個硬幣並將其移動到左側的一個或多個方塊。 硬幣不能從條帶中移出或跳到另一個硬幣上或上方。 +A regular move consists of selecting one coin and moving it one or more squares to the left. The coin cannot move out of the strip or jump on or over another coin. -或者,玩家可以選擇將最左邊的硬幣扒竊而不是定期移動。 如果沒有可能的常規動作,則玩家被迫掏出最左邊的硬幣。 +Alternatively, the player can choose to make the special move of pocketing the leftmost coin rather than making a regular move. If no regular moves are possible, the player is forced to pocket the leftmost coin. -獲勝者是兜售銀元的玩家。 +The winner is the player who pockets the silver dollar. silver dollar game diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-356-largest-roots-of-cubic-polynomials.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-356-largest-roots-of-cubic-polynomials.md index 257beec0ae..ec4939b68f 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-356-largest-roots-of-cubic-polynomials.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-356-largest-roots-of-cubic-polynomials.md @@ -1,6 +1,6 @@ --- id: 5900f4d01000cf542c50ffe3 -title: '問題 356:三次多項式的最大根數' +title: 'Problem 356: Largest roots of cubic polynomials' challengeType: 1 forumTopicId: 302016 dashedName: problem-356-largest-roots-of-cubic-polynomials diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-361-subsequence-of-thue-morse-sequence.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-361-subsequence-of-thue-morse-sequence.md index d6df2d5a9e..efae1fb220 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-361-subsequence-of-thue-morse-sequence.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-361-subsequence-of-thue-morse-sequence.md @@ -1,6 +1,6 @@ --- id: 5900f4d51000cf542c50ffe8 -title: '問題361:Thue-Morse序列的子序列' +title: 'Problem 361: Subsequence of Thue-Morse sequence' challengeType: 1 forumTopicId: 302022 dashedName: problem-361-subsequence-of-thue-morse-sequence diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-368-a-kempner-like-series.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-368-a-kempner-like-series.md index ec7b5aded4..afc2e6dc9b 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-368-a-kempner-like-series.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-368-a-kempner-like-series.md @@ -1,6 +1,6 @@ --- id: 5900f4dd1000cf542c50ffef -title: '問題368:類似肯珀納的系列' +title: 'Problem 368: A Kempner-like series' challengeType: 1 forumTopicId: 302029 dashedName: problem-368-a-kempner-like-series @@ -10,9 +10,9 @@ dashedName: problem-368-a-kempner-like-series The harmonic series $1 + \dfrac{1}{2} + \dfrac{1}{3} + \dfrac{1}{4} + \ldots$ is well known to be divergent. -然而,如果我們在這個系列中省略了分母中有9個的每個項,則該系列顯着地收斂到大約22.9206766193。 這種改進的諧波系列稱爲肯普納系列。 +If we however omit from this series every term where the denominator has a 9 in it, the series remarkably enough converges to approximately 22.9206766193. This modified harmonic series is called the Kempner series. -現在讓我們通過省略分母具有3個或更多相等連續數字的每個項的諧波系列來考慮另一個修正的諧波系列。 可以驗證在諧波系列的前1200個項中,僅省略20個項。 +Let us now consider another modified harmonic series by omitting from the harmonic series every term where the denominator has 3 or more equal consecutive digits. One can verify that out of the first 1200 terms of the harmonic series, only 20 terms will be omitted. These 20 omitted terms are: diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-380-amazing-mazes.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-380-amazing-mazes.md index b82c0bbb24..5594654687 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-380-amazing-mazes.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-301-to-400/problem-380-amazing-mazes.md @@ -1,6 +1,6 @@ --- id: 5900f4e81000cf542c50fffb -title: '問題380:驚人的迷宮!' +title: 'Problem 380: Amazing Mazes!' challengeType: 1 forumTopicId: 302044 dashedName: problem-380-amazing-mazes @@ -18,7 +18,7 @@ It can be verified that $C(1, 1) = 1$, $C(2, 2) = 4$, $C(3, 4) = 2415$, and $C(9 Find $C(100, 500)$ and write your answer as a string in scientific notation rounded to 5 significant digits. -When giving your answer, use a lowercase e to separate mantissa and exponent. 例如: if the answer is 1234567891011 then the answer format would be the string `1.2346e12`. +When giving your answer, use a lowercase e to separate mantissa and exponent. E.g. if the answer is 1234567891011 then the answer format would be the string `1.2346e12`. # --hints-- diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-405-a-rectangular-tiling.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-405-a-rectangular-tiling.md index 99f8f99eab..9bf02e4036 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-405-a-rectangular-tiling.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-405-a-rectangular-tiling.md @@ -1,6 +1,6 @@ --- id: 5900f5021000cf542c510014 -title: '問題405:矩形平鋪' +title: 'Problem 405: A rectangular tiling' challengeType: 1 forumTopicId: 302073 dashedName: problem-405-a-rectangular-tiling diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-416-a-frogs-trip.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-416-a-frogs-trip.md index 762a47dc7c..048adb254c 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-416-a-frogs-trip.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-416-a-frogs-trip.md @@ -1,6 +1,6 @@ --- id: 5900f50e1000cf542c510020 -title: '問題416:青蛙的旅行' +title: 'Problem 416: A frog''s trip' challengeType: 1 forumTopicId: 302085 dashedName: problem-416-a-frogs-trip diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-434-rigid-graphs.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-434-rigid-graphs.md index 74484e4fb9..f1cab82e72 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-434-rigid-graphs.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-434-rigid-graphs.md @@ -1,6 +1,6 @@ --- id: 5900f51f1000cf542c510031 -title: '問題434:剛性圖' +title: 'Problem 434: Rigid graphs' challengeType: 1 forumTopicId: 302105 dashedName: problem-434-rigid-graphs @@ -10,13 +10,13 @@ dashedName: problem-434-rigid-graphs Recall that a graph is a collection of vertices and edges connecting the vertices, and that two vertices connected by an edge are called adjacent. -通過將每個頂點與歐氏空間中的一個點相關聯,可以將圖嵌入到歐氏空間中。 +Graphs can be embedded in Euclidean space by associating each vertex with a point in the Euclidean space. -柔性圖是圖的嵌入,其中可以連續移動一個或多個頂點,以便至少兩個不相鄰頂點之間的距離發生變化,而每對相鄰頂點之間的距離保持恆定。 +A flexible graph is an embedding of a graph where it is possible to move one or more vertices continuously so that the distance between at least two nonadjacent vertices is altered while the distances between each pair of adjacent vertices is kept constant. -剛性圖是不靈活的圖的嵌入。 +A rigid graph is an embedding of a graph which is not flexible. -非正式地,如果通過用完全旋轉的鉸鏈替換頂點,並用不彎曲且無彈性的杆代替邊,則圖形是剛性的,則圖形的任何部分都不能獨立於圖形的其餘部分移動。 +Informally, a graph is rigid if by replacing the vertices with fully rotating hinges and the edges with rods that are unbending and inelastic, no parts of the graph can be moved independently from the rest of the graph. The grid graphs embedded in the Euclidean plane are not rigid, as the following animation demonstrates: diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-436-unfair-wager.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-436-unfair-wager.md index 2f11523b73..444c6f95d1 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-436-unfair-wager.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-436-unfair-wager.md @@ -1,6 +1,6 @@ --- id: 5900f5221000cf542c510033 -title: '問題436:不公平的賭注' +title: 'Problem 436: Unfair wager' challengeType: 1 forumTopicId: 302107 dashedName: problem-436-unfair-wager @@ -10,9 +10,9 @@ dashedName: problem-436-unfair-wager Julie proposes the following wager to her sister Louise. -她建議他們玩一場機會遊戲,以確定誰來洗碗。 +She suggests they play a game of chance to determine who will wash the dishes. -對於此遊戲,他們應使用獨立隨機數的生成器,該生成器均勻分佈在0和1之間。 +For this game, they shall use a generator of independent random numbers uniformly distributed between 0 and 1. The game starts with $S = 0$. diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-448-average-least-common-multiple.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-448-average-least-common-multiple.md index 9ba6142843..26643961a3 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-448-average-least-common-multiple.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-448-average-least-common-multiple.md @@ -1,6 +1,6 @@ --- id: 5900f52c1000cf542c51003f -title: '問題 448:平均最小公倍數' +title: 'Problem 448: Average least common multiple' challengeType: 1 forumTopicId: 302120 dashedName: problem-448-average-least-common-multiple diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md index b628df9d53..6e5e9d84ca 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md @@ -65,89 +65,54 @@ function almostPi(n) { ```js function almostPi(n) { - - // Find all possible values where f(k, n) <= PI - const f = []; - let max = 0; - while (1) { - let current = Math.exp(max / n) - 1; - - if (current > Math.PI) break; - - f.push(current); - ++max; - } - - // Get all pairs where f[i] + f[j] <= PI - const pairs = []; - for (let i = 0; i < max; ++i) { - for (let j = 0; j < max; ++j) { - if (f[i] + f[j] > Math.PI) break; - pairs.push(f[i] + f[j]); + const max_k = Math.ceil(n * Math.log(Math.PI + 1)) + 1; + const f = Array(max_k) + .fill(0) + .map((_, i) => Math.exp(i / n) - 1); + + // Pairs of values + const pairs = Array(max_k * (max_k - 1) / 2); + let num_pairs = 0; + + for (let b = 1; b < max_k; b++) { + for (let a = 0; a < b; a++) { + const value = f[a] + f[b]; + + if (value > Math.PI) break; + pairs[num_pairs] = {a, b, value}; + num_pairs++; } } + pairs.sort((a, b) => a.value - b.value); - // Sort all values - pairs.sort((a, b) => a - b); - - // Optimal Value for (a + b) - let left = 0; - // Optimal Value for (c + d) - let right = 0; - // minimum error with Math.abs(a + b - Math.PI) - let minError = Math.PI; - - // Binary Search for the best match - for (let i = 0; i < pairs.length; ++i) { - let current = pairs[i]; - let need = Math.PI - current; - - if (need < current) break; + // Find lowest matching pair for each pair + let min_error = Math.PI; + let min_abcd = -1; - let match; - for (let i = 1; i < pairs.length; ++i) { - if (pairs[i] > need) { - match = i; - break; - } - } + for (let i = 0; i < num_pairs; i++) { + const error = Math.PI - pairs[i].value; + let start = i; + let stop = num_pairs - 1; - let error = Math.abs(need - pairs[match]); - if (error < minError) - { - minError = error; - left = i; - right = match; - } + // Find best match + while (stop - start > 1) { + let mid = start + Math.floor((stop - start) / 2); - --match; - error = Math.abs(need - pairs[match]); - if (error < minError) { - minError = error; - left = i; - right = match; + if (pairs[mid].value > error) stop = mid - 1; + else start = mid + 1; } - } - let a, b, c, d; - - OuterLoop1: - for (a = 0; a < max; ++a) { - for (b = a; b < max; ++b) { - if (pairs[left] == f[a] + f[b]) { - break OuterLoop1; - } - } - } + // Compute new best error + for (const j of [start, stop]) { + const new_error = Math.abs(error - pairs[j].value); - OuterLoop2: - for (c = 0; c < max; ++c) { - for (d = c; d < max; ++d) { - if (pairs[right] == f[c] + f[d]) { - break OuterLoop2; + if (new_error < min_error) { + min_error = new_error; + min_abcd = pairs[i].a * pairs[i].a + pairs[i].b * pairs[i].b + + pairs[j].a * pairs[j].a + pairs[j].b * pairs[j].b; } } } - return a*a + b*b + c*c + d*d; + return min_abcd; } ``` diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-467-superinteger.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-467-superinteger.md index 8975861bb6..9b0caad170 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-467-superinteger.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-467-superinteger.md @@ -1,6 +1,6 @@ --- id: 5900f5411000cf542c510052 -title: '問題467:超級整數' +title: 'Problem 467: Superinteger' challengeType: 1 forumTopicId: 302142 dashedName: problem-467-superinteger @@ -10,7 +10,7 @@ dashedName: problem-467-superinteger An integer $s$ is called a superinteger of another integer $n$ if the digits of $n$ form a subsequence of the digits of $s$. -例如,2718281828是18828的超級整數,而314159不是151的超級整數。 +For example, 2718281828 is a superinteger of 18828, while 314159 is not a superinteger of 151. Let $p(n)$ be the $n$th prime number, and let $c(n)$ be the $n$th composite number. For example, $p(1) = 2$, $p(10) = 29$, $c(1) = 4$ and $c(10) = 18$. diff --git a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md index 6a97cc8ec9..dbd4119b93 100644 --- a/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md +++ b/curriculum/challenges/chinese-traditional/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md @@ -1,6 +1,6 @@ --- id: 5900f5411000cf542c510054 -title: '問題 468:二項式係數的平滑除數' +title: 'Problem 468: Smooth divisors of binomial coefficients' challengeType: 1 forumTopicId: 302143 dashedName: problem-468-smooth-divisors-of-binomial-coefficients @@ -12,14 +12,14 @@ An integer is called B-smooth if none of its prime factors is greater than $B$. Let $SB(n)$ be the largest B-smooth divisor of $n$. -示例: +Examples: $$\begin{align} & S_1(10) = 1 \\\\ & S_4(2\\,100) = 12 \\\\ & S_{17}(2\\,496\\,144) = 5\\,712 \end{align}$$ Define $F(n) = \displaystyle\sum_{B = 1}^n \sum_{r = 0}^n S_B(\displaystyle\binom{n}{r})$. Here, $\displaystyle\binom{n}{r}$ denotes the binomial coefficient. -示例: +Examples: $$\begin{align} & F(11) = 3132 \\\\ & F(1\\,111)\bmod 1\\,000\\,000\\,993 = 706\\,036\\,312 \\\\ & F(111\\,111)\bmod 1\\,000\\,000\\,993 = 22\\,156\\,169 \end{align}$$ diff --git a/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md b/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md index b7fbe43420..fecc4b1443 100644 --- a/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md +++ b/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md @@ -1,38 +1,38 @@ --- id: 647e214b8acb466c97ccbee0 -title: '在 C# 中使用 switch-case 結構對代碼流進行分支' +title: 'Branch the Flow of Code Using the switch-case Construct in C#' challengeType: 19 dashedName: branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp --- # --description-- -這個挑戰將有一部分在 Microsoft Learn 平臺上完成。 請按照如下說明來完成挑戰: +This challenge will be partially completed on the Microsoft Learn platform. Follow these instructions to complete the challenge: -1. 跳轉到 https://learn.microsoft.com/training/modules/csharp-switch-case/,然後完成“在 C# 中使用 switch-case 結構對代碼流進行分支”模塊的所有任務。 這是在 Microsoft Learn 上獲得“向 C# 控制檯應用程序添加邏輯”的獎盃以及參加認證考試所**必需**的。 -1. 完成後,返回並正確回答下面的問題。 +1. Go to https://learn.microsoft.com/training/modules/csharp-switch-case/ and complete all the tasks for the "Branch the Flow of Code Using the switch-case Construct in C#" module. This is **required** to earn the "Add Logic to C# Console Applications" trophy on Microsoft Learn, and qualify for the certification exam. +1. When you are finished, come back and correctly answer the question below. -# --任務-- +# --assignment-- -在 Microsoft Learn 上完成 在 C# 中使用 switch-case 結構對代碼流進行分支 模塊。 然後,回答下面的問題。 +Complete the Branch the Flow of Code Using the `switch`-`case` Construct in C# module on Microsoft Learn. Then, answer the question below. # --questions-- ## --text-- -`break` 關鍵字的目的是什麼? +What is the purpose of the `break` keyword? ## --answers-- -`break` 關鍵字告訴運行時繼續評估 `switch` 結構中的其他情況。 +The `break` keyword tells the runtime to continue evaluating other cases in the `switch` construct. --- -`break` 關鍵字告訴運行時停止評估 `switch` 結構中的其他情況。 +The `break` keyword tells the runtime to stop evaluating other cases in the `switch` construct. --- -`break` 關鍵字告訴運行時退出應用程序。 +The `break` keyword tells the runtime to exit the application. ## --video-solution-- diff --git a/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/control-variable-scope-and-logic-using-code-blocks-in-c-sharp.md b/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/control-variable-scope-and-logic-using-code-blocks-in-c-sharp.md index 8d8f385d41..510db0aba8 100644 --- a/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/control-variable-scope-and-logic-using-code-blocks-in-c-sharp.md +++ b/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/control-variable-scope-and-logic-using-code-blocks-in-c-sharp.md @@ -1,38 +1,38 @@ --- id: 647e21658acb466c97ccbee2 -title: '在 C# 中使用代碼塊控制變量作用域和邏輯' +title: 'Control Variable Scope and Logic Using Code Blocks in C#' challengeType: 19 dashedName: control-variable-scope-and-logic-using-code-blocks-in-c-sharp --- # --description-- -這個挑戰將有一部分在 Microsoft Learn 平臺上完成。 請按照如下說明來完成挑戰: +This challenge will be partially completed on the Microsoft Learn platform. Follow these instructions to complete the challenge: -1. 跳轉到 https://learn.microsoft.com/training/modules/csharp-code-blocks/,然後完成“在 C# 中使用代碼塊控制變量作用域和邏輯”模塊的所有任務。 這是在 Microsoft Learn 上獲得“向 C# 控制檯應用程序添加邏輯”的獎盃以及參加認證考試所**必需**的。 -1. 完成後,返回並正確回答下面的問題。 +1. Go to https://learn.microsoft.com/training/modules/csharp-code-blocks/ and complete all the tasks for the "Control Variable Scope and Logic Using Code Blocks in C#" module. This is **required** to earn the "Add Logic to C# Console Applications" trophy on Microsoft Learn, and qualify for the certification exam. +1. When you are finished, come back and correctly answer the question below. -# --任務-- +# --assignment-- -在 Microsoft Learn 上完成 在 C# 中使用代碼塊控制變量作用域和邏輯 模塊。 然後,回答下面的問題。 +Complete the Control Variable Scope and Logic Using Code Blocks in C# module on Microsoft Learn. Then, answer the question below. # --questions-- ## --text-- -關於顯示/刪除與 `if` 語句關聯的代碼塊的大括號,以下哪項陳述是正確的? +Which of the following statements is true about showing/removing the curly braces for code blocks associated with an `if` statement? ## --answers-- -不能從 `else if` 和 `else` 語句的代碼塊中刪除大括號。 +The curly braces can't be removed from the code block for `else if` and `else` statements. --- -如果從 `if-elseif-else` 代碼塊中刪除大括號,則也必須刪除空格。 +If the curly braces are removed from the code blocks of an `if-elseif-else`, the white space must also be removed. --- -始終選擇能夠提高可讀性的代碼風格。 +Always choose a style that improves readability. ## --video-solution-- diff --git a/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/guided-project-develop-conditional-branching-and-looping-structures-in-c-sharp.md b/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/guided-project-develop-conditional-branching-and-looping-structures-in-c-sharp.md index 6861636979..c3855ded53 100644 --- a/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/guided-project-develop-conditional-branching-and-looping-structures-in-c-sharp.md +++ b/curriculum/challenges/chinese-traditional/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/guided-project-develop-conditional-branching-and-looping-structures-in-c-sharp.md @@ -1,38 +1,38 @@ --- id: 647e217e8acb466c97ccbee4 -title: '引導項目 - 在 C# 中開發條件分支和循環結構' +title: 'Guided Project - Develop Conditional Branching and Looping Structures in C#' challengeType: 19 dashedName: guided-project-develop-conditional-branching-and-looping-structures-in-c-sharp --- # --description-- -這個挑戰將有一部分在 Microsoft Learn 平臺上完成。 請按照如下說明來完成挑戰: +This challenge will be partially completed on the Microsoft Learn platform. Follow these instructions to complete the challenge: -1. 跳轉到 https://learn.microsoft.com/training/modules/guided-project-develop-conditional-branching-looping/,然後完成“引導項目 - 在 C# 中開發條件分支和循環結構”模塊的所有任務。 這是在 Microsoft Learn 上獲得“向 C# 控制檯應用程序添加邏輯”的獎盃以及參加認證考試所**必需**的。 -1. 完成後,返回並正確回答下面的問題。 +1. Go to https://learn.microsoft.com/training/modules/guided-project-develop-conditional-branching-looping/ and complete all the tasks for the "Guided Project - Develop Conditional Branching and Looping Structures in C#" module. This is **required** to earn the "Add Logic to C# Console Applications" trophy on Microsoft Learn, and qualify for the certification exam. +1. When you are finished, come back and correctly answer the question below. -# --任務-- +# --assignment-- -在 Microsoft Learn 上完成 在 C# 中開發條件分支和循環結構 的引導項目。 然後,回答下面的問題。 +Complete the Develop Conditional Branching and Looping Structures in C# guided project on Microsoft Learn. Then, answer the question below. # --questions-- ## --text-- -何時宜使用 `switch-case` 結構而不是 `if-elseif-else` 結構? +When is it appropriate to use a `switch-case` construct rather than a `if-elseif-else` construct? ## --answers-- -`switch-case` 結構適用於需要超過 2-3 個 `else if` 代碼塊時。 +A `switch-case` construct is appropriate when more than 2-3 `else if` code blocks are required. --- -`switch-case` 結構適用於 `case` 模式數量較少時。 +A `switch-case` construct is appropriate when the number of `case` patterns is small. --- -`switch-case` 結構適用於選擇語句在循環中時。 +A `switch-case` construct is appropriate when the selection statement is inside a loop. ## --video-solution-- diff --git a/curriculum/challenges/chinese-traditional/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md b/curriculum/challenges/chinese-traditional/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md index fce8fba2f0..f09a7e5ade 100644 --- a/curriculum/challenges/chinese-traditional/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md +++ b/curriculum/challenges/chinese-traditional/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md @@ -1,6 +1,6 @@ --- id: 5daa813381b9e3db6c126b43 -title: 步驟 1 +title: Step 1 challengeType: 20 dashedName: step-1 --- diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-conversation-starters-in-the-break-room/657dcafa1e1a4a62dc03cb76.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-conversation-starters-in-the-break-room/657dcafa1e1a4a62dc03cb76.md index c8a360b733..ecd9541e93 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-conversation-starters-in-the-break-room/657dcafa1e1a4a62dc03cb76.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-conversation-starters-in-the-break-room/657dcafa1e1a4a62dc03cb76.md @@ -9,7 +9,7 @@ dashedName: dialogue-5-knowing-the-area-around-the-company Watch the video above to understand the context of the upcoming lessons. -# --作業-- +# --assignment-- Watch the video diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-greetings-in-your-first-day-at-the-office/656d23d22a488510bca0e418.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-greetings-in-your-first-day-at-the-office/656d23d22a488510bca0e418.md index f30f8a3463..da2c239ace 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-greetings-in-your-first-day-at-the-office/656d23d22a488510bca0e418.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-greetings-in-your-first-day-at-the-office/656d23d22a488510bca0e418.md @@ -9,7 +9,7 @@ dashedName: dialogue-5-end-of-the-first-day What the video above to understand the context of the upcoming lessons. -# --作業-- +# --assignment-- Watch the video diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md index 681817a3a2..d04f96c2cc 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md @@ -9,7 +9,7 @@ dashedName: task-8 # --description-- -Questions in the past tense with the verb `to be` are very similar to how you do it in the present tense. The only difference is that you need to remember to conjugate the verb to `were` or `was`, followed by the subject and then the main verb. 例如: +Questions in the past tense with the verb `to be` are very similar to how you do it in the present tense. The only difference is that you need to remember to conjugate the verb to `were` or `was`, followed by the subject and then the main verb. For example: `Were you at the meeting yesterday?` Notice how `were` comes before `you` to for a question. `What was my assignment?` For a specific question, notice how `was` comes after `what` and before `my`. diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b1d4ec0e2587e8bcc95f7.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b1d4ec0e2587e8bcc95f7.md index 63bf5df052..f4e6e2284a 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b1d4ec0e2587e8bcc95f7.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b1d4ec0e2587e8bcc95f7.md @@ -9,7 +9,7 @@ dashedName: dialogue-3-two-workmates-talk-about-their-backgrounds Watch the video above to understand the context of the upcoming lessons. -# --作業-- +# --assignment-- Watch the video diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b227f7ad32ea17e2cdf28.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b227f7ad32ea17e2cdf28.md index 162ac9ebd0..96f4cd2f91 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b227f7ad32ea17e2cdf28.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b227f7ad32ea17e2cdf28.md @@ -9,7 +9,7 @@ dashedName: dialogue-4-a-developer-with-a-different-background Watch the video above to understand the context of the upcoming lessons. -# --作業-- +# --assignment-- Watch the video diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md index 5264662758..399607c440 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md @@ -9,7 +9,7 @@ dashedName: task-8 # --description-- -`Stay` is used to indicate remaining in a particular state or condition. It's often used in instructions or advice to keep oneself in a certain situation. 例如: +`Stay` is used to indicate remaining in a particular state or condition. It's often used in instructions or advice to keep oneself in a certain situation. For example: `Stay safe online` (continue being safe while using the internet) diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md index d57f844e9a..4003df9904 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md @@ -13,7 +13,7 @@ To `experiment` means to try new ideas or methods. An `interview` is a conversation where someone asks questions to get information. -An `infographic` is a visual image like a chart or diagram used to represent information. 例如: +An `infographic` is a visual image like a chart or diagram used to represent information. For example: `Readers` are people who read, especially those who read a particular publication. diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md index ea6167f428..f7eb6d6073 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md @@ -9,11 +9,11 @@ dashedName: task-27 # --description-- -The word `never` is an adverb used to mean `not at any time` or `not ever`. It's often used to talk about things that someone doesn't do or hasn't done. 例如: +The word `never` is an adverb used to mean `not at any time` or `not ever`. It's often used to talk about things that someone doesn't do or hasn't done. For example: `I have never been to Australia.` (this means the person has not visited Australia at any time) `She never eats fast food.` (this means she does not eat fast food at any time) -The word `thought` is the past tense of `think`. `Thought of that` means to have considered or come up with an idea in the past. 例如: +The word `thought` is the past tense of `think`. `Thought of that` means to have considered or come up with an idea in the past. For example: `I thought of going to the beach, but it was too cold.` (this means the person considered going to the beach) diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md index 62207e8bf5..68912a95b0 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md @@ -9,7 +9,7 @@ dashedName: task-58 # --description-- -Conditional sentences often use `if` to describe a situation (cause) that will lead to a particular result (consequence). They typically consist of two parts: the `if` clause (condition) and the main clause (result). 例如: +Conditional sentences often use `if` to describe a situation (cause) that will lead to a particular result (consequence). They typically consist of two parts: the `if` clause (condition) and the main clause (result). For example: `If you sleep well, you will feel refreshed.` (condition: sleeping well; result: feeling refreshed) diff --git a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md index f95f0336cd..f5a7de951d 100644 --- a/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md +++ b/curriculum/challenges/chinese-traditional/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md @@ -9,11 +9,11 @@ dashedName: task-96 # --description-- -`Indoor` refers to activities done inside a building, while `outdoor` means activities done outside. 例如: +`Indoor` refers to activities done inside a building, while `outdoor` means activities done outside. For example: `Indoor activities include reading and cooking. Outdoor activities involve hiking and gardening.` -`Though` is an expression you use to show contrast between two sentences, similar to `but`. It can also be used in the middle or in the end of a sentence, not only in the beginning. 例如: +`Though` is an expression you use to show contrast between two sentences, similar to `but`. It can also be used in the middle or in the end of a sentence, not only in the beginning. For example: `I know we wanted to travel. We don't have the money for the tickets, though.` diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/ackermann-function.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/ackermann-function.md index ed3f46e0db..f6443aee8c 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/ackermann-function.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/ackermann-function.md @@ -1,6 +1,6 @@ --- id: 594810f028c0303b75339acf -title: 阿克曼函數 +title: Ackermann function challengeType: 1 forumTopicId: 302223 dashedName: ackermann-function @@ -10,43 +10,43 @@ dashedName: ackermann-function The Ackermann function is a classic example of a recursive function, notable especially because it is not a primitive recursive function. It grows very quickly in value, as does the size of its call tree. -阿克曼函數通常定義如下: +The Ackermann function is usually defined as follows: $A(m, n) = \\begin{cases} n+1 & \\mbox{if } m = 0 \\\\ A(m-1, 1) & \\mbox{if } m > 0 \\mbox{ and } n = 0 \\\\ A(m-1, A(m, n-1)) & \\mbox{if } m > 0 \\mbox{ and } n > 0. \\end{cases}$ -它的參數從不是負的,而且總是有終點。 +Its arguments are never negative and it always terminates. # --instructions-- -編寫一個函數,返回 $A(m, n)$ 的值。 任意精度是首選(因爲函數增長如此之快),但不是必需的。 +Write a function which returns the value of $A(m, n)$. Arbitrary precision is preferred (since the function grows so quickly), but not required. # --hints-- -`ack` 應該是一個函數。 +`ack` should be a function. ```js assert(typeof ack === 'function'); ``` -`ack(0, 0)` 應該返回 1。 +`ack(0, 0)` should return 1. ```js assert(ack(0, 0) === 1); ``` -`ack(1, 1)` 應該返回 3。 +`ack(1, 1)` should return 3. ```js assert(ack(1, 1) === 3); ``` -`ack(2, 5)` 應該返回 13。 +`ack(2, 5)` should return 13. ```js assert(ack(2, 5) === 13); ``` -`ack(3, 3)` 應該返回 61。 +`ack(3, 3)` should return 61. ```js assert(ack(3, 3) === 61); diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/circles-of-given-radius-through-two-points.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/circles-of-given-radius-through-two-points.md index 1c31c49688..2254ea4c44 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/circles-of-given-radius-through-two-points.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/circles-of-given-radius-through-two-points.md @@ -1,6 +1,6 @@ --- id: 5951815dd895584b06884620 -title: 通過兩點的給定半徑的圓 +title: Circles of given radius through two points challengeType: 1 forumTopicId: 302231 dashedName: circles-of-given-radius-through-two-points @@ -10,7 +10,7 @@ dashedName: circles-of-given-radius-through-two-points Given two points on a plane and a radius, usually two circles of given radius can be drawn through the points. -**例外:** +**Exceptions:**
  • A radius of zero should be treated as never describing circles (except in the case where the points are coincident).
  • @@ -21,17 +21,17 @@ Given two points on a plane and a radius, usually two circles of given radius ca # --instructions-- -實現一個函數,它接受兩個點和一個半徑,並返回通過這些點的兩個圓。 對於每個結果圓,提供四捨五入到四位小數的每個圓的中心座標。 將每個座標作爲數組返回,並將所有座標組作爲數組返回。 +Implement a function that takes two points and a radius and returns the two circles through those points. For each resulting circle, provide the coordinates for the center of each circle rounded to four decimal digits. Return each coordinate as an array, and coordinates as an array of arrays. -**對於邊緣情況,返回以下內容:** +**For edge cases, return the following:**
    • If points are on the diameter, return one point. If the radius is also zero however, return "Radius Zero".
    • -
    • 如果點重合,返回 "Coincident point. Infinite solutions".
    • -
    • 如果點相距比直徑更遠,則返回 "No intersection. Points further apart than circle diameter".
    • +
    • If points are coincident, return "Coincident point. Infinite solutions".
    • +
    • If points are farther apart than the diameter, return "No intersection. Points further apart than circle diameter".
    -**示例輸入:** +**Sample inputs:**
          p1                p2           r
     0.1234, 0.9876    0.8765, 0.2345    2.0
    @@ -43,37 +43,37 @@ Given two points on a plane and a radius, usually two circles of given radius ca
     
     # --hints--
     
    -`getCircles` 應該是一個函數。
    +`getCircles` should be a function.
     
     ```js
     assert(typeof getCircles === 'function');
     ```
     
    -`getCircles([0.1234, 0.9876], [0.8765, 0.2345], 2.0)` 應該返回 `[[1.8631, 1.9742], [-0.8632, -0.7521]]`。
    +`getCircles([0.1234, 0.9876], [0.8765, 0.2345], 2.0)` should return `[[1.8631, 1.9742], [-0.8632, -0.7521]]`.
     
     ```js
     assert.deepEqual(getCircles(...testCases[0]), answers[0]);
     ```
     
    -`getCircles([0.0000, 2.0000], [0.0000, 0.0000], 1.0)` 應該返回 `[0, 1]`
    +`getCircles([0.0000, 2.0000], [0.0000, 0.0000], 1.0)` should return `[0, 1]`
     
     ```js
     assert.deepEqual(getCircles(...testCases[1]), answers[1]);
     ```
     
    -`getCircles([0.1234, 0.9876], [0.1234, 0.9876], 2.0)` 應該返回 `Coincident point. Infinite solutions`
    +`getCircles([0.1234, 0.9876], [0.1234, 0.9876], 2.0)` should return `Coincident point. Infinite solutions`
     
     ```js
     assert.deepEqual(getCircles(...testCases[2]), answers[2]);
     ```
     
    -`getCircles([0.1234, 0.9876], [0.8765, 0.2345], 0.5)` 應該返回 `No intersection. Points further apart than circle diameter`
    +`getCircles([0.1234, 0.9876], [0.8765, 0.2345], 0.5)` should return `No intersection. Points further apart than circle diameter`
     
     ```js
     assert.deepEqual(getCircles(...testCases[3]), answers[3]);
     ```
     
    -`getCircles([0.1234, 0.9876], [0.1234, 0.9876], 0.0)` 應該返回 `Radius Zero`
    +`getCircles([0.1234, 0.9876], [0.1234, 0.9876], 0.0)` should return `Radius Zero`
     
     ```js
     assert.deepEqual(getCircles(...testCases[4]), answers[4]);
    diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/combinations.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/combinations.md
    index a8d557192e..39498bf8ed 100644
    --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/combinations.md
    +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/combinations.md
    @@ -1,6 +1,6 @@
     ---
     id: 5958469238c0d8d2632f46db
    -title: 組合
    +title: Combinations
     challengeType: 1
     forumTopicId: 302233
     dashedName: combinations
    @@ -10,9 +10,9 @@ dashedName: combinations
     
     Given non-negative integers `m` and `n`, generate all size `m` combinations of the integers from `0` (zero) to `n-1` in sorted order (each combination is sorted and the entire table is sorted).
     
    -**例如:**
    +**Example:**
     
    -例:
    +`3` comb `5` is:
     
     
    0 1 2
     0 1 3
    @@ -28,19 +28,19 @@ Given non-negative integers `m` and `n`, generate all size `m` combinations of t
     
     # --hints--
     
    -3梳子5是:
    +`combinations` should be a function.
     
     ```js
     assert(typeof combinations === 'function');
     ```
     
    -`combinations(3, 5)`應返回`[[0, 1, 2], [0, 1, 3], [0, 1, 4], [0, 2, 3], [0, 2, 4], [0, 3, 4], [1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4]]` 。
    +`combinations(3, 5)` should return `[[0, 1, 2], [0, 1, 3], [0, 1, 4], [0, 2, 3], [0, 2, 4], [0, 3, 4], [1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4]]`.
     
     ```js
     assert.deepEqual(combinations(testInput1[0], testInput1[1]), testOutput1);
     ```
     
    -`combinations`是一種功能。
    +`combinations(4, 6)` should return `[[0,1,2,3], [0,1,2,4], [0,1,2,5], [0,1,3,4], [0,1,3,5], [0,1,4,5], [0,2,3,4], [0,2,3,5], [0,2,4,5], [0,3,4,5], [1,2,3,4], [1,2,3,5], [1,2,4,5], [1,3,4,5], [2,3,4,5]]`
     
     ```js
     assert.deepEqual(combinations(testInput2[0], testInput2[1]), testOutput2);
    diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/convert-seconds-to-compound-duration.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/convert-seconds-to-compound-duration.md
    index 2da72ede26..f829063ec2 100644
    --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/convert-seconds-to-compound-duration.md
    +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/convert-seconds-to-compound-duration.md
    @@ -12,14 +12,14 @@ Implement a function which:
     
     
    • takes a positive integer representing a duration in seconds as input (e.g., 100), and
    • -
    • 返回一個字符串,該字符串顯示分解爲周、天、小時、分鐘和秒的相同持續時間,如下詳述(例如,1 min, 40 sec)。
    • +
    • returns a string which shows the same duration decomposed into weeks, days, hours, minutes, and seconds as detailed below (e.g., 1 min, 40 sec).
    -證明它通過了以下三個測試用例: +Demonstrate that it passes the following three test-cases:
    Test Cases
    -| Input number | 輸出結果 | +| Input number | Output number | | ------------ | ------------------------- | | 7259 | 2 hr, 59 sec | | 86400 | 1 d | @@ -40,37 +40,37 @@ Implement a function which:
  • - 但是, 在輸出中包含具有非零值的數量(例如,返回 1 d 而不是 0 wk, 1 d, 0 hr, 0 min, 0 sec)。 + However, only include quantities with non-zero values in the output (e.g., return 1 d and not 0 wk, 1 d, 0 hr, 0 min, 0 sec).
  • - 儘可能讓較大的單位優先於較小的單位(例如,返回 2 min, 10 sec 而不是 1 min, 70 sec130 sec)。 + Give larger units precedence over smaller ones as much as possible (e.g., return 2 min, 10 sec and not 1 min, 70 sec or 130 sec).
  • - 模仿測試用例中顯示的格式(數量從最大單位到最小單位排序並用逗號+空格分隔;每個數量的值和單位用空格分隔)。 + Mimic the formatting shown in the test-cases (quantities sorted from largest unit to smallest and separated by comma+space; value and unit of each quantity separated by space).
# --hints-- -`convertSeconds` 應該是一個函數。 +`convertSeconds` should be a function. ```js assert(typeof convertSeconds === 'function'); ``` -`convertSeconds(7259)` 應該返回 `2 hr, 59 sec`。 +`convertSeconds(7259)` should return `2 hr, 59 sec`. ```js assert.equal(convertSeconds(testCases[0]), results[0]); ``` -`convertSeconds(86400)` 應該返回 `1 d`。 +`convertSeconds(86400)` should return `1 d`. ```js assert.equal(convertSeconds(testCases[1]), results[1]); ``` -`convertSeconds(6000000)` 應該返回 `9 wk, 6 d, 10 hr, 40 min`。 +`convertSeconds(6000000)` should return `9 wk, 6 d, 10 hr, 40 min`. ```js assert.equal(convertSeconds(testCases[2]), results[2]); diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/factors-of-a-mersenne-number.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/factors-of-a-mersenne-number.md index eba455e5af..23502e3743 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/factors-of-a-mersenne-number.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/factors-of-a-mersenne-number.md @@ -1,6 +1,6 @@ --- id: 598eea87e5cf4b116c3ff81a -title: 梅森數的因數 +title: Factors of a Mersenne number challengeType: 1 forumTopicId: 302264 dashedName: factors-of-a-mersenne-number @@ -10,23 +10,23 @@ dashedName: factors-of-a-mersenne-number A Mersenne number is a number in the form of 2P-1. -如果 `P` 是素數,則梅森數可能是梅森素數。 (如果 `P` 不是素數,梅森數也不是素數。) +If `P` is prime, the Mersenne number may be a Mersenne prime. (If `P` is not prime, the Mersenne number is also not prime.) In the search for Mersenne prime numbers it is advantageous to eliminate exponents by finding a small factor before starting a, potentially lengthy, Lucas-Lehmer test. -有非常有效的算法可以確定一個數是否可​​以整除 2P-1(或者等效地,如果 2P mod(數字)= 1)。 +There are very efficient algorithms for determining if a number divides 2P-1 (or equivalently, if 2P mod (the number) = 1). -一些語言已經內置了這種指數和模運算的實現(稱爲 modPow 或類似的)。 +Some languages already have built-in implementations of this exponent-and-mod operation (called modPow or similar). -下面是如何自己實現這個modPow: +The following is how to implement this modPow yourself: -例如,讓我們計算 223 mod 47。 +For example, let's compute 223 mod 47. -將指數 23 轉換爲二進制,得到 10111。 從 square = 1 開始,重複平方。 +Convert the exponent 23 to binary, you get 10111. Starting with square = 1, repeatedly square it. -去除指數的最高位,如果它是 1 乘以 `square` 乘以冪的底數 (2),然後計算 square modulo 47。 +Remove the top bit of the exponent, and if it's 1 multiply `square` by the base of the exponentiation (2), then compute square modulo 47. -使用上一步取模的結果作爲下一步 `square` 的初始值: +Use the result of the modulo from the last step as the initial value of `square` in the next step:
Remove   Optional
 square        top bit  multiply by 2  mod 47
@@ -38,51 +38,51 @@ square        top bit  multiply by 2  mod 47
 27*27 = 729   1        729*2 = 1458      1
 
-由於 223 mod 47 = 1,47 是 2P-1。 +Since 223 mod 47 = 1, 47 is a factor of 2P-1. -(要看到這一點,從兩邊減去 1:223-1 = 0 mod 47。) +(To see this, subtract 1 from both sides: 223-1 = 0 mod 47.) -由於我們已經證明 47 是一個因式,223-1 不是質數。 +Since we've shown that 47 is a factor, 223-1 is not prime. -梅森數的其他性質使我們能夠進一步完善該過程。 +Further properties of Mersenne numbers allow us to refine the process even more. -2P-1 的任何因子 `q` 必須是 `2kP+1` 的形式,`k` 爲正整數或零。 此外,`q` 必須是 `1` 或 `7 mod 8`。 +Any factor `q` of 2P-1 must be of the form `2kP+1`, `k` being a positive integer or zero. Furthermore, `q` must be `1` or `7 mod 8`. Finally any potential factor `q` must be prime. -與其他試除算法一樣,算法在 `2kP+1 > sqrt(N)` 時停止。這些主要測試僅適用於 `P` 爲質數的梅森數。 例如,M4=15 使用這些技術不會產生因數,但會產生 3 和 5 的因數,它們都不適合 `2kP+1`。 +As in other trial division algorithms, the algorithm stops when `2kP+1 > sqrt(N)`.These primarily tests only work on Mersenne numbers where `P` is prime. For example, M4=15 yields no factors using these techniques, but factors into 3 and 5, neither of which fit `2kP+1`. # --instructions-- -用上面的方法找到 2p-1 的因數。 +Using the above method find a factor of 2p-1. # --hints-- -`check_mersenne` 應該是一個函數。 +`check_mersenne` should be a function. ```js assert(typeof check_mersenne === 'function'); ``` -`check_mersenne(3)` 應該返回一個字符串。 +`check_mersenne(3)` should return a string. ```js assert(typeof check_mersenne(3) == 'string'); ``` -`check_mersenne(3)` 應該返回字符串 `M3 = 2^3-1 is prime`。 +`check_mersenne(3)` should return the string `M3 = 2^3-1 is prime`. ```js assert.equal(check_mersenne(3), 'M3 = 2^3-1 is prime'); ``` -`check_mersenne(23)` 應該返回字符串 `M23 = 2^23-1 is composite with factor 47`。 +`check_mersenne(23)` should return the string `M23 = 2^23-1 is composite with factor 47`. ```js assert.equal(check_mersenne(23), 'M23 = 2^23-1 is composite with factor 47'); ``` -`check_mersenne(929)` 應該返回字符串 `M929 = 2^929-1 is composite with factor 13007`。 +`check_mersenne(929)` should return the string `M929 = 2^929-1 is composite with factor 13007`. ```js assert.equal( diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/gamma-function.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/gamma-function.md index 07a6a1b5d7..91b6b01786 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/gamma-function.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/gamma-function.md @@ -10,13 +10,13 @@ dashedName: gamma-function Implement one algorithm (or more) to compute the Gamma function (in the real field only). -$ \\ Gamma(x)= \\ displaystyle \\ int_0 ^ \\ infty t ^ {x-1} e ^ { - t} dt $ +The Gamma function can be defined as:
$\Gamma(x) = \displaystyle\int_0^\infty t^{x-1}e^{-t} dt$
# --hints-- -`gamma`應該是一個功能。 +`gamma` should be a function. ```js assert(typeof gamma == 'function'); diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/generate-lower-case-ascii-alphabet.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/generate-lower-case-ascii-alphabet.md index b7f389ce12..eb31c80170 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/generate-lower-case-ascii-alphabet.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/generate-lower-case-ascii-alphabet.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc7e7a -title: 生成小寫 ASCII 字母表 +title: Generate lower case ASCII alphabet challengeType: 1 forumTopicId: 302274 dashedName: generate-lower-case-ascii-alphabet @@ -12,43 +12,43 @@ Write a function to generate an array of lower case ASCII characters for a given # --hints-- -`lascii` 應該是一個函數。 +`lascii` should be a function. ```js assert(typeof lascii == 'function'); ``` -`lascii("a","d")` 應該返回一個數組。 +`lascii("a","d")` should return an array. ```js assert(Array.isArray(lascii('a', 'd'))); ``` -`lascii('a','d')` 應該返回 `[ 'a', 'b', 'c', 'd' ]`。 +`lascii('a','d')` should return `[ 'a', 'b', 'c', 'd' ]`. ```js assert.deepEqual(lascii('a', 'd'), results[0]); ``` -`lascii('c','i')` 應該返回 `[ 'c', 'd', 'e', 'f', 'g', 'h', 'i' ]`。 +`lascii('c','i')` should return `[ 'c', 'd', 'e', 'f', 'g', 'h', 'i' ]`. ```js assert.deepEqual(lascii('c', 'i'), results[1]); ``` -`lascii('m','q')` 應該返回 `[ 'm', 'n', 'o', 'p', 'q' ]`。 +`lascii('m','q')` should return `[ 'm', 'n', 'o', 'p', 'q' ]`. ```js assert.deepEqual(lascii('m', 'q'), results[2]); ``` -`lascii('k','n')` 應該返回 `[ 'k', 'l', 'm', 'n' ]`。 +`lascii('k','n')` should return `[ 'k', 'l', 'm', 'n' ]`. ```js assert.deepEqual(lascii('k', 'n'), results[3]); ``` -`lascii('t','z')` 應該返回 `[ 't', 'u', 'v', 'w', 'x', 'y', 'z' ]`。 +`lascii('t','z')` should return `[ 't', 'u', 'v', 'w', 'x', 'y', 'z' ]`. ```js assert.deepEqual(lascii('t', 'z'), results[4]); diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md index dafe92119e..75facd682a 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md @@ -1,6 +1,6 @@ --- id: 595671d4d2cdc305f0d5b36f -title: 來自兩個數組的散列 +title: Hash from two arrays challengeType: 1 forumTopicId: 302283 dashedName: hash-from-two-arrays @@ -10,7 +10,7 @@ dashedName: hash-from-two-arrays Given two arrays, create a hash object where the elements from one array (the keys) are linked to the elements of the other (the values). -例如: +Example: ```js const firstArr = [1, 2, 3]; diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/k-d-tree.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/k-d-tree.md index 12d1a8e216..9f038dd908 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/k-d-tree.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/k-d-tree.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc7ecb -title: K-d 樹 +title: K-d tree challengeType: 1 forumTopicId: 302295 dashedName: k-d-tree @@ -12,17 +12,17 @@ A k-d tree (short for *k*-dimensional tree) is a space-partitioning data structu # --instructions-- -編寫一個函數來使用 k-d 樹執行最近鄰搜索。 該函數採用兩個參數:一個 k 維點數組和一個 k 維點,其最近鄰點應由函數返回。 K 維點將作爲 k 個元素的數組給出。 +Write a function to perform a nearest neighbour search using k-d tree. The function takes two parameters: an array of k-dimensional points, and a single k-dimensional point whose nearest neighbour should be returned by the function. A k-dimensional point will be given as an array of k elements. # --hints-- -`kdNN` 應該是一個函數。 +`kdNN` should be a function. ```js assert(typeof kdNN == 'function'); ``` -`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [9, 2])` 應該返回一個數組。 +`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [9, 2])` should return an array. ```js assert( @@ -42,7 +42,7 @@ assert( ); ``` -`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [9, 2])` 應該返回 `[ 8, 1 ]`。 +`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [9, 2])` should return `[ 8, 1 ]`. ```js assert.deepEqual( @@ -61,7 +61,7 @@ assert.deepEqual( ); ``` -`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [7, 1])` 應該返回 `[ 8, 1 ]`。 +`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [7, 1])` should return `[ 8, 1 ]`. ```js assert.deepEqual( @@ -80,7 +80,7 @@ assert.deepEqual( ); ``` -`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [3, 2])` 應該返回 `[ 2, 3 ]`。 +`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [3, 2])` should return `[ 2, 3 ]`. ```js assert.deepEqual( @@ -99,7 +99,7 @@ assert.deepEqual( ); ``` -`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [1, 2, 3])` 應該返回 `[ 1, 2, 5 ]`。 +`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [1, 2, 3])` should return `[ 1, 2, 5 ]`. ```js assert.deepEqual( @@ -118,7 +118,7 @@ assert.deepEqual( ); ``` -`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [4, 5, 6])` 應該返回 `[ 4, 6, 7 ]`。 +`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [4, 5, 6])` should return `[ 4, 6, 7 ]`. ```js assert.deepEqual( @@ -137,7 +137,7 @@ assert.deepEqual( ); ``` -`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [8, 8, 8])` 應該返回 `[ 7, 8, 9 ]`。 +`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [8, 8, 8])` should return `[ 7, 8, 9 ]`. ```js assert.deepEqual( diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md index 198bb7bcd0..ab84dea263 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc7ed1 -title: 揹包問題/0-1 +title: Knapsack problem/0-1 challengeType: 1 forumTopicId: 323649 dashedName: knapsack-problem0-1 @@ -10,15 +10,15 @@ dashedName: knapsack-problem0-1 The 0-1 knapsack problem is defined as follows: -您將獲得一組對象,這些對象表示要放入揹包的物品。 對象有 3 個屬性:名稱、權重和值。 需要選擇物品,使總重量不超過最大重量,並且價值最大化。 +You are given an array of objects representing items to be put in a knapsack. The objects have 3 attributes: name, weight, and value. The items need to be selected so that the total weight does not exceed the maximum weight and the value is maximized. # --instructions-- -寫一個函數來解決揹包問題。 該函數以對象數組和最大權重作爲參數。 它應該返回可能的最大總值。 +Write a function to solve the knapsack problem. The function is given the array of objects and the maximum weight as parameters. It should return the maximum total value possible. # --hints-- -`knapsack([{ name:'map', weight:9, value:150 }, { name:'compass', weight:13, value:35 }, { name:'water', weight:153, value:200 }, { name:'sandwich', weight:50, value:160 }, { name:'glucose', weight:15, value:60 }, { name:'tin', weight:68, value:45 }, { name:'banana', weight:27, value:60 }, { name:'apple', weight:39, value:40 }], 100)` 應該返回 `405`。 +`knapsack([{ name:'map', weight:9, value:150 }, { name:'compass', weight:13, value:35 }, { name:'water', weight:153, value:200 }, { name:'sandwich', weight:50, value:160 }, { name:'glucose', weight:15, value:60 }, { name:'tin', weight:68, value:45 }, { name:'banana', weight:27, value:60 }, { name:'apple', weight:39, value:40 }], 100)` should return `405`. ```js assert.equal( @@ -39,7 +39,7 @@ assert.equal( ); ``` -`knapsack([{ name:'map', weight:9, value:150 }, { name:'compass', weight:13, value:35 }, { name:'water', weight:153, value:200 }, { name:'sandwich', weight:50, value:160 }, { name:'glucose', weight:15, value:60 }, { name:'tin', weight:68, value:45 }, { name:'banana', weight:27, value:60 }, { name:'apple', weight:39, value:40 }], 200)` 應該返回 `510`。 +`knapsack([{ name:'map', weight:9, value:150 }, { name:'compass', weight:13, value:35 }, { name:'water', weight:153, value:200 }, { name:'sandwich', weight:50, value:160 }, { name:'glucose', weight:15, value:60 }, { name:'tin', weight:68, value:45 }, { name:'banana', weight:27, value:60 }, { name:'apple', weight:39, value:40 }], 200)` should return `510`. ```js assert.equal( @@ -60,7 +60,7 @@ assert.equal( ); ``` -`knapsack([{ name:'cheese', weight:23, value:30 }, { name:'beer', weight:52, value:10 }, { name:'suntan cream', weight:11, value:70 }, { name:'camera', weight:32, value:30 }, { name:'T-shirt', weight:24, value:15 }, { name:'trousers', weight:48, value:10 }, { name:'umbrella', weight:73, value:40 }], 100)` 應該返回 `145`。 +`knapsack([{ name:'cheese', weight:23, value:30 }, { name:'beer', weight:52, value:10 }, { name:'suntan cream', weight:11, value:70 }, { name:'camera', weight:32, value:30 }, { name:'T-shirt', weight:24, value:15 }, { name:'trousers', weight:48, value:10 }, { name:'umbrella', weight:73, value:40 }], 100)` should return `145`. ```js assert.equal( @@ -80,7 +80,7 @@ assert.equal( ); ``` -`knapsack([{ name:'cheese', weight:23, value:30 }, { name:'beer', weight:52, value:10 }, { name:'suntan cream', weight:11, value:70 }, { name:'camera', weight:32, value:30 }, { name:'T-shirt', weight:24, value:15 }, { name:'trousers', weight:48, value:10 }, { name:'umbrella', weight:73, value:40 }], 200)` 應該返回 `185`。 +`knapsack([{ name:'cheese', weight:23, value:30 }, { name:'beer', weight:52, value:10 }, { name:'suntan cream', weight:11, value:70 }, { name:'camera', weight:32, value:30 }, { name:'T-shirt', weight:24, value:15 }, { name:'trousers', weight:48, value:10 }, { name:'umbrella', weight:73, value:40 }], 200)` should return `185`. ```js assert.equal( @@ -100,7 +100,7 @@ assert.equal( ); ``` -`knapsack([{ name:'waterproof trousers', weight:42, value:70 }, { name:'waterproof overclothes', weight:43, value:75 }, { name:'note-case', weight:22, value:80 }, { name:'sunglasses', weight:7, value:20 }, { name:'towel', weight:18, value:12 }, { name:'socks', weight:4, value:50 }, { name:'book', weight:30, value:10 }], 100)` 應該返回 `237`。 +`knapsack([{ name:'waterproof trousers', weight:42, value:70 }, { name:'waterproof overclothes', weight:43, value:75 }, { name:'note-case', weight:22, value:80 }, { name:'sunglasses', weight:7, value:20 }, { name:'towel', weight:18, value:12 }, { name:'socks', weight:4, value:50 }, { name:'book', weight:30, value:10 }], 100)` should return `237`. ```js assert.equal( @@ -120,7 +120,7 @@ assert.equal( ); ``` -`knapsack([{ name:'waterproof trousers', weight:42, value:70 }, { name:'waterproof overclothes', weight:43, value:75 }, { name:'note-case', weight:22, value:80 }, { name:'sunglasses', weight:7, value:20 }, { name:'towel', weight:18, value:12 }, { name:'socks', weight:4, value:50 }, { name:'book', weight:30, value:10 }], 200)` 應該返回 `317`。 +`knapsack([{ name:'waterproof trousers', weight:42, value:70 }, { name:'waterproof overclothes', weight:43, value:75 }, { name:'note-case', weight:22, value:80 }, { name:'sunglasses', weight:7, value:20 }, { name:'towel', weight:18, value:12 }, { name:'socks', weight:4, value:50 }, { name:'book', weight:30, value:10 }], 200)` should return `317`.' ```js assert.equal( diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/least-common-multiple.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/least-common-multiple.md index 4ec1c02e7f..d84da1b8b6 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/least-common-multiple.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/least-common-multiple.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc7edf -title: 最小公倍數 +title: Least common multiple challengeType: 1 forumTopicId: 302301 dashedName: least-common-multiple diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/long-multiplication.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/long-multiplication.md index a4c050950f..174bde8279 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/long-multiplication.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/long-multiplication.md @@ -1,6 +1,6 @@ --- id: 5e4ce2a1ac708cc68c1df25d -title: 長乘法 +title: Long multiplication challengeType: 1 forumTopicId: 385269 dashedName: long-multiplication @@ -10,29 +10,29 @@ dashedName: long-multiplication Explicitly implement long multiplication. -這是實現任意精度整數代數的一種可能方法。 +This is one possible approach to arbitrary-precision integer algebra. # --instructions-- -編寫一個函數,將兩個大數字符串作爲參數。 您的函數應該將這兩個大數的乘積作爲字符串返回。 +Write a function that takes two strings of large numbers as parameters. Your function should return the product of these two large numbers as a string. -**注意:** 在 JavaScript 中,算術運算對於大數是不準確的,因此你必須自己實現精確的乘法。 +**Note:** In JavaScript, arithmetic operations are inaccurate with large numbers, so you will have to implement precise multiplication yourself. # --hints-- -`mult` 應該是一個函數。 +`mult` should be a function. ```js assert(typeof mult == 'function'); ``` -`mult("18446744073709551616", "18446744073709551616")` 應該返回一個字符串。 +`mult("18446744073709551616", "18446744073709551616")` should return a string. ```js assert(typeof mult('18446744073709551616', '18446744073709551616') == 'string'); ``` -`mult("18446744073709551616", "18446744073709551616")` 應該返回 `"340282366920938463463374607431768211456"`。 +`mult("18446744073709551616", "18446744073709551616")` should return `"340282366920938463463374607431768211456"`. ```js assert.equal( @@ -41,7 +41,7 @@ assert.equal( ); ``` -`mult("31844674073709551616", "1844674407309551616")` 應該返回 `"58743055272886011737990786529368211456"`。 +`mult("31844674073709551616", "1844674407309551616")` should return `"58743055272886011737990786529368211456"`. ```js assert.equal( @@ -50,7 +50,7 @@ assert.equal( ); ``` -`mult("1846744073709551616", "44844644073709551616")` 應該返回 `"82816580680737279241781007431768211456"`。 +`mult("1846744073709551616", "44844644073709551616")` should return `"82816580680737279241781007431768211456"`. ```js assert.equal( @@ -59,7 +59,7 @@ assert.equal( ); ``` -`mult("1844674407370951616", "1844674407709551616")` 應該返回 `"3402823669833978308014392742590611456"`。 +`mult("1844674407370951616", "1844674407709551616")` should return `"3402823669833978308014392742590611456"`. ```js assert.equal( @@ -68,7 +68,7 @@ assert.equal( ); ``` -`mult("2844674407370951616", "1844674407370955616")` 應該返回 `"5247498076580334548376218009219475456"`。 +`mult("2844674407370951616", "1844674407370955616")` should return `"5247498076580334548376218009219475456"`. ```js assert.equal( diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/lucas-lehmer-test.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/lucas-lehmer-test.md index af9e832e29..e909f6b3f6 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/lucas-lehmer-test.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/lucas-lehmer-test.md @@ -1,6 +1,6 @@ --- id: 5e6dee7749a0b85a3f1fc7d5 -title: 盧卡斯-萊默檢驗 +title: Lucas-Lehmer test challengeType: 1 forumTopicId: 385281 dashedName: lucas-lehmer-test @@ -12,53 +12,53 @@ Lucas-Lehmer Test: for $p$ an odd prime, the Mersenne number $2^p-1$ is prime if # --instructions-- -編寫一個函數,返回給定的梅森數是否爲素數。 +Write a function that returns whether the given Mersenne number is prime or not. # --hints-- -`lucasLehmer` 應該是一個函數。 +`lucasLehmer` should be a function. ```js assert(typeof lucasLehmer == 'function'); ``` -`lucasLehmer(11)` 應該返回一個布爾值。 +`lucasLehmer(11)` should return a boolean. ```js assert(typeof lucasLehmer(11) == 'boolean'); ``` -`lucasLehmer(11)` 應該返回 `false`。 +`lucasLehmer(11)` should return `false`. ```js assert.equal(lucasLehmer(11), false); ``` -`lucasLehmer(15)` 應該返回 `false`。 +`lucasLehmer(15)` should return `false`. ```js assert.equal(lucasLehmer(15), false); ``` -`lucasLehmer(13)` 應該返回 `true`。 +`lucasLehmer(13)` should return `true`. ```js assert.equal(lucasLehmer(13), true); ``` -`lucasLehmer(17)` 應該返回 `true`。 +`lucasLehmer(17)` should return `true`. ```js assert.equal(lucasLehmer(17), true); ``` -`lucasLehmer(19)` 應該返回 `true`。 +`lucasLehmer(19)` should return `true`. ```js assert.equal(lucasLehmer(19), true); ``` -`lucasLehmer(21)` 應該返回 `false`。 +`lucasLehmer(21)` should return `false`. ```js assert.equal(lucasLehmer(21), false); diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/luhn-test-of-credit-card-numbers.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/luhn-test-of-credit-card-numbers.md index efc073387e..596dfd6287 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/luhn-test-of-credit-card-numbers.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/luhn-test-of-credit-card-numbers.md @@ -1,6 +1,6 @@ --- id: 5ea28156e79528a9ab248f27 -title: 信用卡號的 Luhn 測試 +title: Luhn test of credit card numbers challengeType: 1 forumTopicId: 385284 dashedName: luhn-test-of-credit-card-numbers @@ -10,20 +10,20 @@ dashedName: luhn-test-of-credit-card-numbers The Luhn test is used by some credit card companies to distinguish valid credit card numbers from what could be a random selection of digits. -那些使用可以通過 Luhn 測試驗證的信用卡號碼的公司擁有通過以下測試的號碼: +Those companies using credit card numbers that can be validated by the Luhn test have numbers that pass the following test:
  1. Reverse the order of the digits in the number.
  2. -
  3. 取第一個、第三個 ... 以及反轉數字中的每隔一個奇數,並將它們相加以形成部分和 s1
  4. -
  5. 取倒數第二個、第四個 … 以及反轉數字中每隔一個的偶數:
  6. +
  7. Take the first, third, ... and every other odd digit in the reversed digits and sum them to form the partial sum s1
  8. +
  9. Taking the second, fourth ... and every other even digit in the reversed digits:
    1. Multiply each digit by two and sum the digits if the answer is greater than nine to form partial sums for the even digits.
    2. -
    3. 將偶數位的部分和相加以形成 s2。
    4. +
    5. Sum the partial sums of the even digits to form s2.
    -
  10. 如果 s1 + s2 以零結尾,則原始號碼採用 Luhn 測試驗證的有效信用卡號碼的形式。
  11. +
  12. If s1 + s2 ends in zero then the original number is in the form of a valid credit card number as verified by the Luhn test.
-例如,如果試用號是 49927398716: +For example, if the trial number is 49927398716: ```bash Reverse the digits: @@ -44,53 +44,53 @@ s1 + s2 = 70 which ends in zero which means that 49927398716 passes the Luhn tes # --instructions-- -編寫一個函數,用 Luhn 測試驗證一個數字。 如果它是一個有效數字,則返回 true。 否則,返回 false。 +Write a function that will validate a number with the Luhn test. Return true if it's a valid number. Otherwise, return false. # --hints-- -`luhnTest` 應該是一個函數。 +`luhnTest` should be a function. ```js assert(typeof luhnTest === 'function'); ``` -`luhnTest("4111111111111111")` 應該返回一個布爾值。 +`luhnTest("4111111111111111")` should return a boolean. ```js assert(typeof luhnTest('4111111111111111') === 'boolean'); ``` -`luhnTest("4111111111111111")` 應該返回 `true`。 +`luhnTest("4111111111111111")` should return `true`. ```js assert.equal(luhnTest('4111111111111111'), true); ``` -`luhnTest("4111111111111112")` 應該返回 `false`。 +`luhnTest("4111111111111112")` should return `false`. ```js assert.equal(luhnTest('4111111111111112'), false); ``` -`luhnTest("49927398716")` 應該返回 `true`。 +`luhnTest("49927398716")` should return `true`. ```js assert.equal(luhnTest('49927398716'), true); ``` -`luhnTest("49927398717")` 應該返回 `false`。 +`luhnTest("49927398717")` should return `false`. ```js assert.equal(luhnTest('49927398717'), false); ``` -`luhnTest("1234567812345678")` 應該返回 `false`。 +`luhnTest("1234567812345678")` should return `false`. ```js assert.equal(luhnTest('1234567812345678'), false); ``` -`luhnTest("1234567812345670")` 應該返回 `true`。 +`luhnTest("1234567812345670")` should return `true`. ```js assert.equal(luhnTest('1234567812345670'), true); diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/sorting-algorithms-stooge-sort.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/sorting-algorithms-stooge-sort.md index 27d6f55119..23819a80eb 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/sorting-algorithms-stooge-sort.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/sorting-algorithms-stooge-sort.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc8012 -title: 排序算法/Stooge 排序 +title: Sorting algorithms/Stooge sort challengeType: 1 forumTopicId: 302318 dashedName: sorting-algorithmsstooge-sort @@ -10,7 +10,7 @@ dashedName: sorting-algorithmsstooge-sort Write a function to perform Stooge Sort on an array of integers. The function should return a sorted array. -Stooge Sort 算法如下: +The Stooge Sort algorithm is as follows:
algorithm stoogesort(array L, i = 0, j = length(L)-1)
   if L[j] < L[i] then
@@ -25,37 +25,37 @@ Stooge Sort 算法如下:
 
 # --hints--
 
-`stoogeSort` 應該是一個函數。
+`stoogeSort` should be a function.
 
 ```js
 assert(typeof stoogeSort == 'function');
 ```
 
-`stoogeSort([25, 32, 12, 7, 20])` 應該返回一個數組。
+`stoogeSort([25, 32, 12, 7, 20])` should return an array.
 
 ```js
 assert(Array.isArray(stoogeSort([25, 32, 12, 7, 20])));
 ```
 
-`stoogeSort([25, 32, 12, 7, 20])` 應該返回 `[7, 12, 20, 25, 32]`。
+`stoogeSort([25, 32, 12, 7, 20])` should return `[7, 12, 20, 25, 32]`.
 
 ```js
 assert.deepEqual(stoogeSort([25, 32, 12, 7, 20]), [7, 12, 20, 25, 32]);
 ```
 
-`stoogeSort([38, 45, 35, 8, 13])` 應該返回 `[8, 13, 35, 38, 45]`。
+`stoogeSort([38, 45, 35, 8, 13])` should return `[8, 13, 35, 38, 45]`.
 
 ```js
 assert.deepEqual(stoogeSort([38, 45, 35, 8, 13]), [8, 13, 35, 38, 45]);
 ```
 
-`stoogeSort([43, 36, 20, 34, 24])` 應該返回 `[20, 24, 34, 36, 43]`。
+`stoogeSort([43, 36, 20, 34, 24])` should return `[20, 24, 34, 36, 43]`.
 
 ```js
 assert.deepEqual(stoogeSort([43, 36, 20, 34, 24]), [20, 24, 34, 36, 43]);
 ```
 
-`stoogeSort([12, 33, 26, 18, 1, 16, 38])` 應該返回 `[1, 12, 16, 18, 26, 33, 38]`。
+`stoogeSort([12, 33, 26, 18, 1, 16, 38])` should return `[1, 12, 16, 18, 26, 33, 38]`.
 
 ```js
 assert.deepEqual(stoogeSort([12, 33, 26, 18, 1, 16, 38]), [
@@ -69,7 +69,7 @@ assert.deepEqual(stoogeSort([12, 33, 26, 18, 1, 16, 38]), [
 ]);
 ```
 
-`stoogeSort([3, 39, 48, 16, 1, 4, 29])` 應該返回 `[1, 3, 4, 16, 29, 39, 48]`。
+`stoogeSort([3, 39, 48, 16, 1, 4, 29])` should return `[1, 3, 4, 16, 29, 39, 48]`.
 
 ```js
 assert.deepEqual(stoogeSort([3, 39, 48, 16, 1, 4, 29]), [
diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/taxicab-numbers.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/taxicab-numbers.md
index e7471e198d..e968d09157 100644
--- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/taxicab-numbers.md
+++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/taxicab-numbers.md
@@ -1,6 +1,6 @@
 ---
 id: 594ecc0d9a8cf816e3340187
-title: 出租車號碼
+title: Taxicab numbers
 challengeType: 1
 forumTopicId: 302337
 dashedName: taxicab-numbers
@@ -10,58 +10,58 @@ dashedName: taxicab-numbers
 
 A taxicab number (the definition that is being used here) is a positive integer that can be expressed as the sum of two positive cubes in more than one way.
 
-第一個出租車號碼是`1729`,即:
+The first taxicab number is `1729`, which is:
 
-13 + 123 和
+13 + 123 and
 
-93 + 103。
+93 + 103.
 
-出租車號碼也被稱爲:
+Taxicab numbers are also known as:
 
 
  • taxi numbers
  • -
  • 出租車號碼(taxi-cab numbers)
  • -
  • 出租車號碼(taxi cab numbers)
  • -
  • Hardy-Ramanujan 數
  • +
  • taxi-cab numbers
  • +
  • taxi cab numbers
  • +
  • Hardy-Ramanujan numbers
# --instructions-- -編寫一個返回最低的 `n` 個出租車號碼的函數。 對於每個出租車號碼,顯示該號碼及其組成的立方體。 +Write a function that returns the lowest `n` taxicab numbers. For each of the taxicab numbers, show the number as well as its constituent cubes. # --hints-- -`taxicabNumbers` 應該是一個函數。 +`taxicabNumbers` should be a function. ```js assert(typeof taxicabNumbers === 'function'); ``` -`taxicabNumbers` 應該返回一個數組。 +`taxicabNumbers` should return an array. ```js assert(typeof taxicabNumbers(2) === 'object'); ``` -`taxicabNumbers` 應該返回一個數字數組。 +`taxicabNumbers` should return an array of numbers. ```js assert(typeof taxicabNumbers(100)[0] === 'number'); ``` -`taxicabNumbers(4)` 應該返回 [1729, 4104, 13832, 20683]。 +`taxicabNumbers(4)` should return [1729, 4104, 13832, 20683]. ```js assert.deepEqual(taxicabNumbers(4), res4); ``` -`taxicabNumbers(25)` 應該返回 [1729, 4104, 13832, 20683, 32832, 39312, 40033, 46683, 64232, 65728, 110656, 110808, 134379, 149389, 165464, 171288, 195841, 216027, 216125, 262656, 314496, 320264, 327763, 373464, 402597] +`taxicabNumbers(25)` should return [1729, 4104, 13832, 20683, 32832, 39312, 40033, 46683, 64232, 65728, 110656, 110808, 134379, 149389, 165464, 171288, 195841, 216027, 216125, 262656, 314496, 320264, 327763, 373464, 402597] ```js assert.deepEqual(taxicabNumbers(25), res25); ``` -`taxicabNumbers(39)` 的第 20 - 29 位結果數字應該是 [314496,320264,327763,373464,402597,439101,443889,513000,513856]。 +`taxicabNumbers(39)` resulting numbers from 20 - 29 should be [314496,320264,327763,373464,402597,439101,443889,513000,513856]. ```js assert.deepEqual(taxicabNumbers(39).slice(20, 29), res39From20To29); diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/tokenize-a-string-with-escaping.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/tokenize-a-string-with-escaping.md index 617699657f..2abd8b10dd 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/tokenize-a-string-with-escaping.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/tokenize-a-string-with-escaping.md @@ -1,6 +1,6 @@ --- id: 594faaab4e2a8626833e9c3d -title: 使用轉義標記字符串 +title: Tokenize a string with escaping challengeType: 1 forumTopicId: 302338 dashedName: tokenize-a-string-with-escaping @@ -10,7 +10,7 @@ dashedName: tokenize-a-string-with-escaping Write a function or program that can split a string at each non-escaped occurrence of a separator character. -它應該接受三個輸入參數: +It should accept three input parameters:
  • The string
  • @@ -18,55 +18,55 @@ Write a function or program that can split a string at each non-escaped occurren
  • The escape character
-它應該輸出一個字符串列表。 +It should output a list of strings. -拆分規則: +Rules for splitting:
  • The fields that were separated by the separators, become the elements of the output list.
  • -
  • 即使在開始和結束時,也應保留空字段。
  • +
  • Empty fields should be preserved, even at the start and end.
-轉義規則: +Rules for escaping:
  • "Escaped" means preceded by an occurrence of the escape character that is not already escaped itself.
  • -
  • 當轉義字符位於沒有特殊含義的字符之前時,它仍然算作轉義字符(但不會做任何特殊的事情)。
  • -
  • 用於轉義某些內容的每次出現的轉義字符不應成爲輸出的一部分。
  • +
  • When the escape character precedes a character that has no special meaning, it still counts as an escape (but does not do anything special).
  • +
  • Each occurrences of the escape character that was used to escape something, should not become part of the output.
-證明您的函數滿足以下測試用例: +Demonstrate that your function satisfies the following test-case: -給定字符串 +Given the string
one^|uno||three^^^^|four^^^|^cuatro|
-並使用 `|` 作爲分隔符和 `^` 作爲轉義字符,你的函數應輸出以下數組: +and using `|` as a separator and `^` as escape character, your function should output the following array:
  ['one|uno', '', 'three^^', 'four^|cuatro', '']
 
# --hints-- -`tokenize` 應該是一個函數。 +`tokenize` should be a function. ```js assert(typeof tokenize === 'function'); ``` -`tokenize` 應該返回一個數組。 +`tokenize` should return an array. ```js assert(typeof tokenize('a', 'b', 'c') === 'object'); ``` -`tokenize('one^|uno||three^^^^|four^^^|^cuatro|', '|', '^')` 應該返回 `['one|uno', '', 'three^^', 'four^|cuatro', '']` +`tokenize('one^|uno||three^^^^|four^^^|^cuatro|', '|', '^')` should return `['one|uno', '', 'three^^', 'four^|cuatro', '']` ```js assert.deepEqual(tokenize(testStr1, '|', '^'), res1); ``` -`tokenize('a@&bcd&ef&&@@hi', '&', '@')` 應該返回 `['a&bcd', 'ef', '', '@hi']` +`tokenize('a@&bcd&ef&&@@hi', '&', '@')` should return `['a&bcd', 'ef', '', '@hi']` ```js assert.deepEqual(tokenize(testStr2, '&', '@'), res2); diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/vector-cross-product.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/vector-cross-product.md index 2116e07383..20dff2183d 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/vector-cross-product.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/vector-cross-product.md @@ -1,6 +1,6 @@ --- id: 594810f028c0303b75339ad2 -title: 矢量叉積 +title: Vector cross product challengeType: 1 forumTopicId: 302342 dashedName: vector-cross-product @@ -12,23 +12,23 @@ A vector is defined as having three dimensions as being represented by an ordere # --instructions-- -編寫一個函數,將兩個向量(數組)作爲輸入並計算它們的叉積。 該函數應該在無效輸入(例如不同長度的向量)上返回 `null`。 +Write a function that takes two vectors (arrays) as input and computes their cross product. Your function should return `null` on invalid inputs such as vectors of different lengths. # --hints-- -`crossProduct` 應該是一個函數。 +`crossProduct` should be a function. ```js assert.equal(typeof crossProduct, 'function'); ``` -`crossProduct()` 應該返回 null。 +`crossProduct()` should return null. ```js assert.equal(crossProduct(), null); ``` -`crossProduct([1, 2, 3], [4, 5, 6])` 應該返回 `[-3, 6, -3]`。 +`crossProduct([1, 2, 3], [4, 5, 6])` should return `[-3, 6, -3]`. ```js assert.deepEqual(res12, exp12); diff --git a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/word-wrap.md b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/word-wrap.md index 694b75ead0..5ea8d8161d 100644 --- a/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/word-wrap.md +++ b/curriculum/challenges/chinese-traditional/22-rosetta-code/rosetta-code-challenges/word-wrap.md @@ -1,6 +1,6 @@ --- id: 594810f028c0303b75339ad4 -title: 自動換行 +title: Word wrap challengeType: 1 forumTopicId: 302344 dashedName: word-wrap @@ -23,37 +23,37 @@ than a simple minimum length algorithm. # --hints-- -任務: +wrap should be a function. ```js assert.equal(typeof wrap, 'function'); ``` -例如,包裝爲80個字符的文本應如下所示: +wrap should return a string. ```js assert.equal(typeof wrap('abc', 10), 'string'); ``` -wrap(42)必須返回7行。 +wrap(80) should return 4 lines. ```js assert(wrapped80.split('\n').length === 4); ``` -`wrap`是一個功能。 +Your `wrap` function should return our expected text. ```js assert.equal(wrapped80.split('\n')[0], firstRow80); ``` -wrap(42) 應該返回 7 行。 +wrap(42) should return 7 lines. ```js assert(wrapped42.split('\n').length === 7); ``` -你的 `wrap` 函數應該返回我們預期的文本。 +Your `wrap` function should return our expected text. ```js assert.equal(wrapped42.split('\n')[0], firstRow42); diff --git a/curriculum/challenges/chinese-traditional/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md b/curriculum/challenges/chinese-traditional/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md index a274036d04..9fa6c64fac 100644 --- a/curriculum/challenges/chinese-traditional/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md +++ b/curriculum/challenges/chinese-traditional/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md @@ -1,6 +1,6 @@ --- id: 5e7b9f0b0b6c005b0e76f06d -title: Tuples 的比較和排序 +title: Comparing and Sorting Tuples challengeType: 11 videoId: dZXzBXUxxCs bilibiliIds: @@ -14,13 +14,13 @@ dashedName: comparing-and-sorting-tuples More resources: -\- 練習 +\- Exercise # --questions-- ## --text-- -哪個代碼與示例代碼完成相同的功能? +Which does the same thing as the following code?: ```python lst = [] diff --git a/curriculum/challenges/chinese-traditional/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md b/curriculum/challenges/chinese-traditional/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md index 8637233e98..fde02a6863 100644 --- a/curriculum/challenges/chinese-traditional/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md +++ b/curriculum/challenges/chinese-traditional/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md @@ -1,6 +1,6 @@ --- id: 5e6a54af58d3af90110a60a1 -title: '導言:硬件架構' +title: 'Introduction: Hardware Architecture' challengeType: 11 videoId: H6qtjRTfSog bilibiliIds: @@ -18,15 +18,15 @@ Where are your programs stored when they are running? ## --answers-- -硬盤。 +Hard Drive. --- -內存。 +Memory. --- -中央處理器。 +Central Processing Unit. ## --video-solution-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md index 411124133a..3ed4d8cd26 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md @@ -9,7 +9,7 @@ demoType: onClick # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md index fd6436366d..af49b89730 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md @@ -7,7 +7,7 @@ dashedName: build-a-cash-register # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md index 132aade402..22609d06e5 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md @@ -40,13 +40,16 @@ const currentDateOnly = new Date(currentDate.getFullYear(), currentDate.getMonth assert.equal(currentDateOnly.toString(), expectedDateOnly.toString()); ``` -You should have a variable named `currentDateFormat` that holds the current date in the format `Current Date and Time: [current date]`. +You should have a variable named `currentDateFormat` that holds the current date in the format `Current Date and Time:
:: `. ```js const expectedDate = new Date(); -const expectedDateFormat = `Current Date and Time: ${expectedDate}`; +const expectedDateString = `Current Date and Time: `; +assert.include(currentDateFormat, expectedDateString); -assert.equal(currentDateFormat, expectedDateFormat); +const currentTimestamp = new Date(currentDateFormat.replace(expectedDateString, '')).getTime(); +const expectedTimestamp = expectedDate.getTime(); +assert.approximately(currentTimestamp, expectedTimestamp, 1000); ``` You should log the value of `currentDateFormat` to the console. diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md index 43aa9cae9f..cefbcfd944 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md @@ -9,7 +9,7 @@ dashedName: build-a-leap-year-calculator A leap year is a year that is divisible by `4`, except for years that are divisible by `100` and not divisible by `400`. For example, `2000` is a leap year, but `1900` is not. Also, a leap year has an extra day in February, which is the 29th day of the month. -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md new file mode 100644 index 0000000000..06bd6c5e6c --- /dev/null +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md @@ -0,0 +1,261 @@ +--- +id: 66db529d37ad966480ebb633 +title: Build a Lunch Picker Program +challengeType: 14 +dashedName: build-a-lunch-picker-program +--- + +# --description-- + +In this lab, you'll build a program that helps in managing lunch options. You'll work with an array of lunches, add and remove items from the array, and randomly select a lunch option. + +**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. + +**User Stories:** + +1. You should create a `lunches` variable and assign it an empty array that will be used to store lunch items. + +2. You should create a function `addLunchToEnd` that takes a string parameter and adds it to the end of the `lunches` array and returns a string in the format: `"[Lunch Item] added to the end of the lunch menu."` + +3. You should create a function `addLunchToStart` that takes a string parameter and adds it to the start of the `lunches` array and returns a string in the format: `"[Lunch Item] added to the start of the lunch menu."` + +4. You should create a function `removeLastLunch` that removes the last lunch item from the `lunches` array and: + - If successful, returns a string in the format: `"[Lunch Item] removed from the end of the lunch menu."` + - If the `lunches` array is empty, returns a string: `"No lunches to remove."` + +5. You should create a function `removeFirstLunch` that removes the first lunch item from the `lunches` array and: + - If successful, returns a string in the format: `"[Lunch Item] removed from the start of the lunch menu."` + - If the `lunches` array is empty, returns a string: `"No lunches to remove."` + +6. You should create a function `getRandomLunch` that selects a random lunch item from the `lunches` array and: + - If successful, returns a string in the format: `"Randomly selected lunch: [Lunch Item]"` + - If the `lunches` array is empty, returns a string: `"No lunches available."` + +7. You should create a function `showLunchMenu` that: + - If there are items in the `lunches` array, returns a string in the format: `"Menu items: [Lunch Item], [Lunch Item]...` + - If the `lunches` array is empty, returns a string: `"The menu is empty."` + +# --hints-- + +You should declare a variable `lunches` and assign it an empty array to store the lunch items. + +```js +assert.isArray(lunches); +``` + +You should define a function `addLunchToEnd`. + +```js +assert.isFunction(addLunchToEnd); +``` + +The function `addLunchToEnd` should take a single argument. + +```js +assert.lengthOf(addLunchToEnd, 1); +``` + +`addLunchToEnd("Tacos")` should return the string `"Tacos added to the end of the lunch menu."`. + +```js +assert.strictEqual(addLunchToEnd("Tacos"), "Tacos added to the end of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(addLunchToEnd("Pizza"), "Pizza added to the end of the lunch menu."); +assert.strictEqual(addLunchToEnd("Burger"), "Burger added to the end of the lunch menu."); +``` + +You should define a function `addLunchToStart`. + +```js +assert.isFunction(addLunchToStart); +``` + +The function `addLunchToStart` should take a single argument. + +```js +assert.lengthOf(addLunchToStart, 1); +``` + +`addLunchToStart("Sushi")` should return the string `"Sushi added to the start of the lunch menu."`. + +```js +assert.strictEqual(addLunchToStart("Sushi"), "Sushi added to the start of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(addLunchToStart("Salad"), "Salad added to the start of the lunch menu."); +assert.strictEqual(addLunchToStart("Pasta"), "Pasta added to the start of the lunch menu."); +``` + +You should define a function `removeLastLunch`. + +```js +assert.isFunction(removeLastLunch) +``` + +When the `lunches` array is empty, the function `removeLastLunch` should return the string `"No lunches to remove."`. + +```js +lunches = []; +assert.strictEqual(removeLastLunch(), "No lunches to remove."); +``` + +When `lunches = ["Stew", "Soup", "Toast"]`, the function `removeLastLunch` should return the string `"Toast removed from the end of the lunch menu."`. + +```js +lunches = ["Stew", "Soup", "Toast"]; +assert.strictEqual(removeLastLunch(), "Toast removed from the end of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(removeLastLunch(), "Soup removed from the end of the lunch menu."); +assert.strictEqual(removeLastLunch(), "Stew removed from the end of the lunch menu."); +``` + +When the `lunches` array is empty, the function `removeFirstLunch` should return the string `"No lunches to remove."`. + +```js +lunches = []; +assert.strictEqual(removeFirstLunch(), "No lunches to remove."); +``` + +When `lunches = ["Salad", "Eggs", "Cheese"]`, the function `removeFirstLunch` should return the string `"Salad removed from the start of the lunch menu."`. + +```js +lunches = ["Salad", "Eggs", "Cheese"]; +assert.strictEqual(removeFirstLunch(), "Salad removed from the start of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(removeFirstLunch(), "Eggs removed from the start of the lunch menu."); +assert.strictEqual(removeFirstLunch(), "Cheese removed from the start of the lunch menu."); +``` + +You should define a function `getRandomLunch`. + +```js +assert.isFunction(getRandomLunch); +``` + +When the `lunches` array is empty, the function `getRandomLunch` should return the string `"No lunches available."`. + +```js +lunches = []; +assert.strictEqual(getRandomLunch(), "No lunches available."); +``` + +When `lunches = ["Fish", "Fries", "Roast"]`, the function `getRandomLunch` should return a string in the format `"Randomly selected lunch: [Lunch Item]"`. + +```js +const temp = Math.random; + +lunches = ["Fish", "Fries", "Roast"]; + +// check that it correctly outputs the first item +Math.random = () => 0; +assert.equal(getRandomLunch(), `Randomly selected lunch: ${lunches[0]}`); + +// second item +Math.random = () => 0.4; +assert.equal(getRandomLunch(), `Randomly selected lunch: ${lunches[1]}`); + +// third item +Math.random = () => 0.8; +assert.equal(getRandomLunch(), `Randomly selected lunch: ${lunches[2]}`); + +// restore Math.random +Math.random = temp; +``` + +You should define a function `showLunchMenu`. + +```js +assert.isFunction(showLunchMenu); +``` + +When the `lunches` array is empty, the function `showLunchMenu` should return the string `"The menu is empty."`. + +```js +lunches = []; +assert.strictEqual(showLunchMenu(), "The menu is empty."); +``` + +When `lunches = ["Greens", "Corns", "Beans"]`, the function `showLunchMenu` should return a string in the format `"Menu items: Greens, Corns, Beans"`. + +```js +lunches = ["Greens", "Corns", "Beans"]; +assert.strictEqual(showLunchMenu(), "Menu items: Greens, Corns, Beans"); + +lunches = ["Pizza", "Burger", "Fries"]; +assert.strictEqual(showLunchMenu(), "Menu items: Pizza, Burger, Fries"); +``` + +# --seed-- + +## --seed-contents-- + +```js + +``` + +# --solutions-- + +```js +const lunches = []; + +// Add a new lunch to the list (at the end) +function addLunchToEnd(newLunch) { + lunches.push(newLunch); + return `${newLunch} added to the end of the lunch menu.`; +} + +// Add a new lunch to the start of the list +function addLunchToStart(newLunch) { + lunches.unshift(newLunch); + return `${newLunch} added to the start of the lunch menu.`; +} + +// Remove the last lunch from the list +function removeLastLunch() { + const removedLunch = lunches.pop(); + if (removedLunch) { + return `${removedLunch} removed from the end of the lunch menu.`; + } else { + return "No lunches to remove."; + } +} + +// Remove the first lunch from the list +function removeFirstLunch() { + const removedLunch = lunches.shift(); + if (removedLunch) { + return `${removedLunch} removed from the start of the lunch menu.`; + } else { + return "No lunches to remove."; + } +} + +// Function to get a random lunch from the list +function getRandomLunch() { + if (lunches.length === 0) { + return "No lunches available."; + } + const randomIndex = Math.floor(Math.random() * lunches.length); + const randomLunch = lunches[randomIndex]; + return `Randomly selected lunch: ${randomLunch}`; +} + +// New function to display the lunches as a numbered menu using a for loop +function showLunchMenu() { + if (lunches.length === 0) { + return "The menu is empty."; + } + return `Menu items: ${lunches.join(', ')}`; +} + +addLunchToEnd("Tacos"); +addLunchToStart("Sushi"); +removeLastLunch(); +removeFirstLunch(); +getRandomLunch(); +showLunchMenu(); + +``` diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md index c12912cc2f..fefe88b58d 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md @@ -10,7 +10,7 @@ demoType: onClick In this lab, you will create a simple animation of the Moon's orbit around the Earth using HTML and CSS. The Earth will be at the center of the system, and the Moon will orbit around it. -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md index 0980e4f0cc..8ddd5cb53b 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md @@ -8,7 +8,7 @@ demoType: onClick # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md index 66026c3aa6..775ca4a00b 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md @@ -10,7 +10,7 @@ demoType: onClick Camperbot is learning JavaScript and has tried to build their own Random Background Color Changer. However, they have made a few mistakes along the way. -**Objective:** Fulfill the user stories below and get all the tests to pass so the lab is functioning properly. +Fulfill the user stories below and get all the tests to pass so the lab is functioning properly. **User Stories:** diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md index 9125b9c8e4..5236a86549 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md @@ -8,7 +8,7 @@ demoType: onClick # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** @@ -77,19 +77,19 @@ assert(code.match(/<\s*html[\s\S]*>[\s\S]*<\s*head\s*>[\s\S]*<\/\s*head\s*>[\s\S You should have an `h1` element with the name of your recipe. ```js -assert.isAbove(document.querySelector('h1')?.innerText.length, 0) +assert.isAbove(document.querySelector('h1')?.innerText.length, 0); ``` You should only have one `h1` element. ```js -assert.lengthOf(document.querySelectorAll('h1'), 1) +assert.lengthOf(document.querySelectorAll('h1'), 1); ``` You should have a `p` element below your `h1` element with text describing your recipe. ```js -assert($('p')[0].previousElementSibling.tagName === 'H1'); +assert.strictEqual(document.querySelector('p')?.previousElementSibling.tagName, 'H1'); ``` Your first `h2` element should have the text `Ingredients`. @@ -101,7 +101,7 @@ assert.equal(document.querySelectorAll('h2')[0]?.innerText, 'Ingredients'); You should have an unordered list element below your first `h2` element. ```js -assert($('ul')[0].previousElementSibling.tagName === 'H2'); +assert.strictEqual(document.querySelector('ul')?.previousElementSibling.tagName, 'H2'); ``` You should have at least four list item elements in your unordered list with the ingredients. @@ -121,7 +121,7 @@ assert.equal(document.querySelectorAll('h2')[1]?.innerText, 'Instructions'); You should have an ordered list element below your second `h2` element. ```js -assert($('ol')[0].previousElementSibling.tagName === 'H2'); +assert.strictEqual(document.querySelector('ol')?.previousElementSibling.tagName, 'H2'); ``` You should have at least four list item elements in your ordered list with the instructions. @@ -135,19 +135,19 @@ els.forEach(el => assert.isAbove(el.innerText.trim().length, 0)) You should have at least one `img` element. ```js -assert.exists($('img')[0]); +assert.exists(document.querySelector('img')); ``` All your `img` elements should have a valid `src` attribute and value. ```js -assert.isAbove($('img')[0].src.length, 0); +assert.isAbove(document.querySelector('img')?.src.length, 0); ``` All your `img` elements should have an `alt` attribute to describe the image. ```js -assert.isAbove($('img')[0].alt.length, 0); +assert.isAbove(document.querySelector('img')?.alt.length, 0); ``` # --seed-- diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md index b4fa1502be..45cb0bbe3f 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md @@ -9,7 +9,7 @@ dashedName: build-a-sentence-maker In this lab, you will create two different stories using a sentence template. You will use variables to store different parts of the story and then output the stories to the console. -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md index 814ad6f430..6621062fba 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What command is used to see the path of the working directory? #### --distractors-- -Placeholder distractor 1 +`mv` --- -Placeholder distractor 2 +`cd` --- -Placeholder distractor 3 +`ls` #### --answer-- -Placeholder answer +`pwd` ### --question-- #### --text-- -Placeholder question +Which command is used to see what is present in a file? #### --distractors-- -Placeholder distractor 1 +`touch` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`ls` #### --answer-- -Placeholder answer +`more` ### --question-- #### --text-- -Placeholder question +Which command is used to create a new file? #### --distractors-- -Placeholder distractor 1 +`mkdir` --- -Placeholder distractor 2 +`cd` --- -Placeholder distractor 3 +`ls` #### --answer-- -Placeholder answer +`touch` ### --question-- #### --text-- -Placeholder question +Which command is used to remove a file? #### --distractors-- -Placeholder distractor 1 +`cp` --- -Placeholder distractor 2 +`cd` --- -Placeholder distractor 3 +`mv` #### --answer-- -Placeholder answer +`rm` ### --question-- #### --text-- -Placeholder question +Which command is used to copy a particular file to a folder? #### --distractors-- -Placeholder distractor 1 +`rm ` --- -Placeholder distractor 2 +`mv ` --- -Placeholder distractor 3 +`cd ` #### --answer-- -Placeholder answer +`cp ` ### --question-- #### --text-- -Placeholder question +Which command is used to see the list of files an folder present in a directory? #### --distractors-- -Placeholder distractor 1 +`touch` --- -Placeholder distractor 2 +`ls -l` --- -Placeholder distractor 3 +`mv` #### --answer-- -Placeholder answer +`ls` ### --question-- #### --text-- -Placeholder question +Which command will rename the 'menlo.font' file to 'menlo.otf'? #### --distractors-- -Placeholder distractor 1 +`rm menlo.font menlo.otf` --- -Placeholder distractor 2 +`cp menlo.font menlo.otf` --- -Placeholder distractor 3 +`ls menlo.font menlo.otf` #### --answer-- -Placeholder answer +`mv menlo.font menlo.otf` ### --question-- #### --text-- -Placeholder question +Which command can be used to find files or view a file tree ? #### --distractors-- -Placeholder distractor 1 +`ls` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`rm` #### --answer-- -Placeholder answer +`find` ### --question-- #### --text-- -Placeholder question +Which command is used to make a directory? #### --distractors-- -Placeholder distractor 1 +`dir` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`touch` #### --answer-- -Placeholder answer +`mkdir` ### --question-- #### --text-- -Placeholder question +Which command would print the text `I finished the example quiz`? #### --distractors-- -Placeholder distractor 1 +`cd I finished the example quiz` --- -Placeholder distractor 2 +`cp I finished the example quiz` --- -Placeholder distractor 3 +`ls I finished the example quiz` #### --answer-- -Placeholder answer +`echo I finished the example quiz` ### --question-- #### --text-- -Placeholder question +Which command would you use if you want to add text a to file directly from the terminal? #### --distractors-- -Placeholder distractor 1 +`ls >> ` --- -Placeholder distractor 2 +`cp >> ` --- -Placeholder distractor 3 +`mv >> ` #### --answer-- -Placeholder answer +`echo >> ` ### --question-- #### --text-- -Placeholder question +Which command is used to remove directories and their content recursively? #### --distractors-- -Placeholder distractor 1 +`cd -r` --- -Placeholder distractor 2 +`cp -r` --- -Placeholder distractor 3 +`dir -r` #### --answer-- -Placeholder answer +`rm -r` ### --question-- #### --text-- -Placeholder question +Which command is used to remove a complete directory? #### --distractors-- -Placeholder distractor 1 +`rm -r` --- -Placeholder distractor 2 +`rm` --- -Placeholder distractor 3 +`rm --help` #### --answer-- -Placeholder answer +`rmdir` ### --question-- #### --text-- -Placeholder question +Which command is used to go back to the previous directory? #### --distractors-- -Placeholder distractor 1 +`mv ..` --- -Placeholder distractor 2 +`dir ..` --- -Placeholder distractor 3 +`cp ..` #### --answer-- -Placeholder answer +`cd ..` ### --question-- #### --text-- -Placeholder question +Which flag can be used for any command to get a help menu? #### --distractors-- -Placeholder distractor 1 +`--info` --- -Placeholder distractor 2 +`--r` --- -Placeholder distractor 3 +`-l` #### --answer-- -Placeholder answer +`--help` ### --question-- #### --text-- -Placeholder question +Which command is used to close the terminal? #### --distractors-- -Placeholder distractor 1 +`close` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`off` #### --answer-- -Placeholder answer +`exit` ### --question-- #### --text-- -Placeholder question +Which command is used to clear the terminal? #### --distractors-- -Placeholder distractor 1 +`clr` --- -Placeholder distractor 2 +`clean` --- -Placeholder distractor 3 +`clrscr` #### --answer-- -Placeholder answer +`clear` ### --question-- #### --text-- -Placeholder question +Which command is used to copy the whole folder? #### --distractors-- -Placeholder distractor 1 +`dir -r ` --- -Placeholder distractor 2 +`mv -r ` --- -Placeholder distractor 3 +`cd -r ` #### --answer-- -Placeholder answer +`cp -r ` ### --question-- #### --text-- -Placeholder question +Which flag is used with find to search for an exact folder? #### --distractors-- -Placeholder distractor 1 +`-rf` --- -Placeholder distractor 2 +`-r` --- -Placeholder distractor 3 +`-l` #### --answer-- -Placeholder answer +`-name` ### --question-- #### --text-- -Placeholder question +Which flag is used with the `ls` command to list the contents of a folder in long list format? #### --distractors-- -Placeholder distractor 1 +`ls -f` --- -Placeholder distractor 2 +`ls -rf` --- -Placeholder distractor 3 +`ls --help` #### --answer-- -Placeholder answer +`ls -l` diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md index 7755f89f3f..1cf62c4c83 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md @@ -17,439 +17,454 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is a correct shebang line in bash script? #### --distractors-- -Placeholder distractor 1 +`!#/bin/bash` --- -Placeholder distractor 2 +`/#!bin/bash` --- -Placeholder distractor 3 +`/#!/bin/bash` #### --answer-- -Placeholder answer +`#!/bin/bash` ### --question-- #### --text-- -Placeholder question +Which command would define `MY_VAR` and print it to the console? #### --distractors-- -Placeholder distractor 1 +`MY_VAR=10; echo MY_VAR` --- -Placeholder distractor 2 +`$MY_VAR=10; echo MY_VAR` --- -Placeholder distractor 3 +`$MY_VAR=10; echo $MY_VAR` #### --answer-- -Placeholder answer +`MY_VAR=10; echo $MY_VAR` ### --question-- #### --text-- -Placeholder question +How do you declare a numeric variable? #### --distractors-- -Placeholder distractor 1 +`declare -n MY_VAR=1` --- -Placeholder distractor 2 +`declare -d MY_VAR=1` --- -Placeholder distractor 3 +`declare -x MY_VAR=1` #### --answer-- -Placeholder answer +`declare -i MY_VAR=1` ### --question-- #### --text-- -Placeholder question +Which command would not run a `script.sh` file? #### --distractors-- -Placeholder distractor 1 +`./script.sh` --- -Placeholder distractor 2 +`/tmp/script.sh` --- -Placeholder distractor 3 +`bash script.sh` #### --answer-- -Placeholder answer +`script.sh` ### --question-- #### --text-- -Placeholder question +How to view the manual for the `less` command in bash? #### --distractors-- -Placeholder distractor 1 +`less man` --- -Placeholder distractor 2 +`less --man` --- -Placeholder distractor 3 +`man --less` #### --answer-- -Placeholder answer +`man less` ### --question-- #### --text-- -Placeholder question +How would you call `print_arguments` to print `a` and `b` to the terminal? + +```bash +print_arguments() { + echo "Argument 1: $1" + echo "Argument 2: $2" +} + +``` #### --distractors-- -Placeholder distractor 1 +`print_arguments("a", "b")` --- -Placeholder distractor 2 +`print_arguments(a, b)` --- -Placeholder distractor 3 +`print_arguments{a, b}` #### --answer-- -Placeholder answer +`print_arguments "a" "b"` ### --question-- #### --text-- -Placeholder question +How do you initialize an array in bash? #### --distractors-- -Placeholder distractor 1 +`ARR=["item1" "item2" "item3"]` --- -Placeholder distractor 2 +`ARR=[["item1" "item2" "item3"]]` --- -Placeholder distractor 3 +`ARR={"item1" "item2" "item3"}` #### --answer-- -Placeholder answer +`ARR=("item1" "item2" "item3")` ### --question-- #### --text-- -Placeholder question +How do you print the third value of an array in bash? #### --distractors-- -Placeholder distractor 1 +`echo ${ARR[3]}` --- -Placeholder distractor 2 +`echo $ARR[2]` --- -Placeholder distractor 3 +`echo $ARR[3]` #### --answer-- -Placeholder answer +`echo ${ARR[2]}` ### --question-- #### --text-- -Placeholder question +How do you assign user input to a variable in bash? #### --distractors-- -Placeholder distractor 1 +`input MY_VAR` --- -Placeholder distractor 2 +`cin MY_VAR` --- -Placeholder distractor 3 +`get MY_VAR` #### --answer-- -Placeholder answer +`read MY_VAR` ### --question-- #### --text-- -Placeholder question +What will be the permission flags for the `1.txt` file after executing the command `chmod 765 1.txt`? #### --distractors-- -Placeholder distractor 1 +`rwxrwxrwx` --- -Placeholder distractor 2 +`rwxr-xrw-` --- -Placeholder distractor 3 +`r-xrw-rwx` #### --answer-- -Placeholder answer +`rwxrw-r-x` ### --question-- #### --text-- -Placeholder question +What keyword does the statement `if ... then ...` end with? #### --distractors-- -Placeholder distractor 1 +`end` --- -Placeholder distractor 2 +`done` --- -Placeholder distractor 3 +`stop` #### --answer-- -Placeholder answer +`fi` ### --question-- #### --text-- -Placeholder question +What keyword does the statement `for ... do ...` end with? #### --distractors-- -Placeholder distractor 1 +`end` --- -Placeholder distractor 2 +`od` --- -Placeholder distractor 3 +`stop` #### --answer-- -Placeholder answer +`done` ### --question-- #### --text-- -Placeholder question +How do you create a comment in bash? #### --distractors-- -Placeholder distractor 1 +`// comment` --- -Placeholder distractor 2 +`!comment` --- -Placeholder distractor 3 +`/* comment` #### --answer-- -Placeholder answer +`# comment` ### --question-- #### --text-- -Placeholder question +What line should you add to the beginning of this snippet to create a `for` loop? + +```bash + +do + echo $i +done +``` #### --distractors-- -Placeholder distractor 1 +`for ( int i = 0; i < 10; i++ )` --- -Placeholder distractor 2 +`for (( int i = 0; i < 10; i++ ))` --- -Placeholder distractor 3 +`for (( let i = 0; i < 10; i++ ))` #### --answer-- -Placeholder answer +`for (( i = 0; i < 10; i++ ))` ### --question-- #### --text-- -Placeholder question +How would you assign the result of the sum of variables `A` and `B` to the variable `C`? #### --distractors-- -Placeholder distractor 1 +`C=$A + $B` --- -Placeholder distractor 2 +`C=$(( A + B ))` --- -Placeholder distractor 3 +`$C=$(( $A + $B ))` #### --answer-- -Placeholder answer +`C=$(( $A + $B ))` ### --question-- #### --text-- -Placeholder question +What keyword in a loop skips the rest of the current iteration and begins the next iteration? #### --distractors-- -Placeholder distractor 1 +`break` --- -Placeholder distractor 2 +`until` --- -Placeholder distractor 3 +`done` #### --answer-- -Placeholder answer +`continue` ### --question-- #### --text-- -Placeholder question +What does the command `echo $?` do? #### --distractors-- -Placeholder distractor 1 +Prints the value of the last used variable --- -Placeholder distractor 2 +Prints the value of the last used arithmetic operation --- -Placeholder distractor 3 +Prints the value of the last executed condition #### --answer-- -Placeholder answer +Prints the exit code of the last executed command ### --question-- #### --text-- -Placeholder question +What value of `MY_VAR` would satisfy the condition `[[ $MY_VAR =~ ^[A-Z]{1}[a-z]+$ ]]` ? #### --distractors-- -Placeholder distractor 1 +`freeCodeCamp` --- -Placeholder distractor 2 +`FreeCodeCamp` --- -Placeholder distractor 3 +`freecodecamp` #### --answer-- -Placeholder answer +`Freecodecamp` ### --question-- #### --text-- -Placeholder question +What types of loops exist in bash? #### --distractors-- -Placeholder distractor 1 +`for` --- -Placeholder distractor 2 +`for`, `while` --- -Placeholder distractor 3 +`for`, `while`, `until`, `forEach` #### --answer-- -Placeholder answer +`for`, `while`, `until` ### --question-- #### --text-- -Placeholder question +How do you print all values of an array in bash? #### --distractors-- -Placeholder distractor 1 +`echo $ARR[@]` --- -Placeholder distractor 2 +`echo {ARR[@]}` --- -Placeholder distractor 3 +`echo ${ARR[$@]}` #### --answer-- -Placeholder answer +`echo ${ARR[@]}` diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md index 2cb570fbcd..968ab56073 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md @@ -17,439 +17,487 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +Which of the following is a valid way to represent a color in CSS? #### --distractors-- -Placeholder distractor 1 +`color-value: black;` --- -Placeholder distractor 2 +`text-color: blue;` --- -Placeholder distractor 3 +`font-color: red;` #### --answer-- -Placeholder answer +`#ff5733` ### --question-- #### --text-- -Placeholder question +What is the correct syntax for setting the background color of an element? #### --distractors-- -Placeholder distractor 1 +`bg-color: red;` --- -Placeholder distractor 2 +`background_color: red;` --- -Placeholder distractor 3 +`style: background-color: red;` #### --answer-- -Placeholder answer +`background: red;` ### --question-- #### --text-- -Placeholder question +How can you set the transparency of an element to 50%? #### --distractors-- -Placeholder distractor 1 +`bg-opacity: 0.5;` --- -Placeholder distractor 2 +`transparency: 50%;` --- -Placeholder distractor 3 +`alpha: 0.5;` #### --answer-- -Placeholder answer +`opacity: 0.5;` ### --question-- #### --text-- -Placeholder question +What is the equivalent `HSL` value for the color `#FF0000`? #### --distractors-- -Placeholder distractor 1 +`hsl(180%, 100%, 50%)` --- -Placeholder distractor 2 +`hsl(180, 100%, 50%)` --- -Placeholder distractor 3 +`hsl(360, 100%, 50%)` #### --answer-- -Placeholder answer +`hsl(0, 100%, 50%)` ### --question-- #### --text-- -Placeholder question +How can you set the color of an element to a random color? #### --distractors-- -Placeholder distractor 1 +`color: random();` --- -Placeholder distractor 2 +`color: #random;` --- -Placeholder distractor 3 +`color: any();` #### --answer-- -Placeholder answer +There is no direct way to do so. ### --question-- #### --text-- -Placeholder question +What is the default value of alpha in `rgba` if it's not specified? #### --distractors-- -Placeholder distractor 1 +`0` (completely transparent) --- -Placeholder distractor 2 +`2` (completely opaque) --- -Placeholder distractor 3 +`0.5` (half transparent) #### --answer-- -Placeholder answer +`1` (completely opaque) ### --question-- #### --text-- -Placeholder question +Which of the following is a valid hex color code? #### --distractors-- -Placeholder distractor 1 +`#12345G` --- -Placeholder distractor 2 +`#12ffg0` --- -Placeholder distractor 3 +`#12ffgg` #### --answer-- -Placeholder answer +`#ff12ff` ### --question-- #### --text-- -Placeholder question +How many hexadecimal characters are used to define a color in shorthand hex notation? #### --distractors-- -Placeholder distractor 1 +5 --- -Placeholder distractor 2 +4 --- -Placeholder distractor 3 +2 #### --answer-- -Placeholder answer +3 ### --question-- #### --text-- -Placeholder question +Which of these functions allows specifying the transparency of a color? #### --distractors-- -Placeholder distractor 1 +`rgb()` --- -Placeholder distractor 2 +`hsl()` --- -Placeholder distractor 3 +`rgba()` #### --answer-- -Placeholder answer +`opacity()` ### --question-- #### --text-- -Placeholder question +Which of the following hex codes represents a shade of red? #### --distractors-- -Placeholder distractor 1 +`#0000ff` --- -Placeholder distractor 2 +`#ffff00` --- -Placeholder distractor 3 +`#00ff00` #### --answer-- -Placeholder answer +`#ff0000` ### --question-- #### --text-- -Placeholder question +Which keyword sets the text color to inherit from the parent element? #### --distractors-- -Placeholder distractor 1 +`null` --- -Placeholder distractor 2 +`auto` --- -Placeholder distractor 3 +`default` #### --answer-- -Placeholder answer +`inherit` ### --question-- #### --text-- -Placeholder question +How many colors are required to create a valid CSS gradient? #### --distractors-- -Placeholder distractor 1 +At least `4` --- -Placeholder distractor 2 +Exactly `2` --- -Placeholder distractor 3 +Exactly `3` #### --answer-- -Placeholder answer +At least `2` ### --question-- #### --text-- -Placeholder question +What unit is used to express the lightness value in the `hsl` color model? #### --distractors-- -Placeholder distractor 1 +`Degrees` --- -Placeholder distractor 2 +`Hex` --- -Placeholder distractor 3 +`Pixels` #### --answer-- -Placeholder answer +`Percent (%)` ### --question-- #### --text-- -Placeholder question +Which CSS property would you use to add a solid color around an element? #### --distractors-- -Placeholder distractor 1 +`color` --- -Placeholder distractor 2 +`outline-color` --- -Placeholder distractor 3 +`text-color` #### --answer-- -Placeholder answer +`border-color` ### --question-- #### --text-- -Placeholder question +What does the `hsl()` function stand for? #### --distractors-- -Placeholder distractor 1 +`Hue, Saturation, Luminosity` --- -Placeholder distractor 2 +`Hue, Shadow, Lightness` --- -Placeholder distractor 3 +`Hue, Shadow, Luminosity` #### --answer-- -Placeholder answer +`Hue, Saturation, Lightness` ### --question-- #### --text-- -Placeholder question +Which of these is a valid CSS color keyword? #### --distractors-- -Placeholder distractor 1 +`purple-red` --- -Placeholder distractor 2 +`electricblue` --- -Placeholder distractor 3 +`goldy` #### --answer-- -Placeholder answer +`gold` ### --question-- #### --text-- -Placeholder question +What is the maximum value allowed for a single color component in the `RGB` color system? #### --distractors-- -Placeholder distractor 1 +`200` --- -Placeholder distractor 2 +`500` --- -Placeholder distractor 3 +`128` #### --answer-- -Placeholder answer +`255` ### --question-- #### --text-- -Placeholder question +Which color model includes the `hue` component? #### --distractors-- -Placeholder distractor 1 +`rgb` --- -Placeholder distractor 2 +`hex` --- -Placeholder distractor 3 +`cmyk` #### --answer-- -Placeholder answer +`hsl` ### --question-- #### --text-- -Placeholder question +Which of the following is the correct syntax to create a CSS variable with a fallback value? #### --distractors-- -Placeholder distractor 1 +```css +.element { + color: var(--main-color, red); +} +``` --- -Placeholder distractor 2 +```css +.element { + color: var(--main-color); +} +``` --- -Placeholder distractor 3 +```css +.element { + color: var(--main-color: red); +} +``` #### --answer-- -Placeholder answer +```css +.element { + color: var(--main-color, red); +} +``` ### --question-- #### --text-- -Placeholder question +How can you use CSS variables to dynamically change the color of multiple elements? #### --distractors-- -Placeholder distractor 1 +```css +:root { + primary-color: blue; +} + +.element1, .element2 { + color: --primary-color; +} +``` --- -Placeholder distractor 2 +```css +body { + --color: blue; +} + +.element1, .element2 { + color: var(color); +} +``` --- -Placeholder distractor 3 +```css +:root { + --primary: blue; +} + +.element1, .element2 { + color: var(--primary); +} +``` #### --answer-- -Placeholder answer +```css +:root { + --primary-color: blue; +} + +.element1, .element2 { + color: var(--primary-color); +} +``` diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md index f2a46be218..bd4e2d51bf 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What are some reasons why whitespace is important for good design? #### --distractors-- -Placeholder distractor 1 +Improves readability by placing many elements on the page --- -Placeholder distractor 2 +Focuses the viewer's attention by having elements placed close together --- -Placeholder distractor 3 +Creates breathing space in the design to make users scroll for more information #### --answer-- -Placeholder answer +Creates visual hierarchy, improves readability, focuses the viewer's attention on different elements ### --question-- #### --text-- -Placeholder question +What is the design principle of carefully choosing the size of elements in relation to each other and the layout? #### --distractors-- -Placeholder distractor 1 +Visual hierarchy --- -Placeholder distractor 2 +Proportion --- -Placeholder distractor 3 +Balance #### --answer-- -Placeholder answer +Scale ### --question-- #### --text-- -Placeholder question +What design tool in Figma would you use to combine multiple elements together without flattening the layers of the elements? #### --distractors-- -Placeholder distractor 1 +Frames --- -Placeholder distractor 2 +Blocks --- -Placeholder distractor 3 +Class #### --answer-- -Placeholder answer +Groups ### --question-- #### --text-- -Placeholder question +What design pattern allows users to access and interact with specific elements and content on a website without or while deferring registration? #### --distractors-- -Placeholder distractor 1 +Captcha validation --- -Placeholder distractor 2 +Lazy loading --- -Placeholder distractor 3 +Progressive enhancement #### --answer-- -Placeholder answer +Deferred/lazy registration ### --question-- #### --text-- -Placeholder question +What are the three main types of text alignment? #### --distractors-- -Placeholder distractor 1 +Vertical, center, horizontal --- -Placeholder distractor 2 +Left, right, justified --- -Placeholder distractor 3 +Vertical, horizontal, justified #### --answer-- -Placeholder answer +Left, right, center ### --question-- #### --text-- -Placeholder question +Which interaction design pattern reduces the complexity of interaction by hiding parts of interfaces progressively so that content is only introduced to the user as they progress through the application? #### --distractors-- -Placeholder distractor 1 +Extended discoverability --- -Placeholder distractor 2 +Delayed implementation --- -Placeholder distractor 3 +Gradual engagement #### --answer-- -Placeholder answer +Progressive disclosure ### --question-- #### --text-- -Placeholder question +What is contrast in design? #### --distractors-- -Placeholder distractor 1 +Elements that are visually similar --- -Placeholder distractor 2 +The difference in saturation between two colors --- -Placeholder distractor 3 +Matching elements on a page #### --answer-- -Placeholder answer +Elements that are strikingly different from each other visually ### --question-- #### --text-- -Placeholder question +In the examples below, which one is an example of visual hierarchy in design? #### --distractors-- -Placeholder distractor 1 +Headline and title text are a similar color to the background and other elements to blend in --- -Placeholder distractor 2 +Text and images are all the same size on the page --- -Placeholder distractor 3 +The logo banner is smaller than all the minor images on the main landing page #### --answer-- -Placeholder answer +Making the headline of the page larger than other text that comprise the body or sub-headings ### --question-- #### --text-- -Placeholder question +Which Figma tools allows users to specify a region on the screen they would like to export? #### --distractors-- -Placeholder distractor 1 +Frames --- -Placeholder distractor 2 +Section --- -Placeholder distractor 3 +Blocks #### --answer-- -Placeholder answer +Slice ### --question-- #### --text-- -Placeholder question +What is user centered design? #### --distractors-- -Placeholder distractor 1 +A design process where once the design is completed, designers test the product by getting user feedback --- -Placeholder distractor 2 +A design process where designers consider user accessibility requirements --- -Placeholder distractor 3 +A design process focused on client requirements at every stage of the process #### --answer-- -Placeholder answer +An iterative design process where designers design a product considering user requirements at every stage of the process ### --question-- #### --text-- -Placeholder question +What is the minimum required contrast ratio for regular text for accessibility according to WCAG guidelines? #### --distractors-- -Placeholder distractor 1 +1:1 --- -Placeholder distractor 2 +7:1 --- -Placeholder distractor 3 +3:1 #### --answer-- -Placeholder answer +4.5:1 ### --question-- #### --text-- -Placeholder question +What are some colors to consider when designing dark mode? #### --distractors-- -Placeholder distractor 1 +Pure white --- -Placeholder distractor 2 +Highly saturated colors --- -Placeholder distractor 3 +Bright highly contrasting colors #### --answer-- -Placeholder answer +Dark colors and muted light colors for contrast in dim lighting conditions ### --question-- #### --text-- -Placeholder question +What is one good design practice when considering color palettes for a design? #### --distractors-- -Placeholder distractor 1 +Using a variety of colors with strong saturation and contrast --- -Placeholder distractor 2 +Focus on vibrancy and saturation and place many non complementary hues --- -Placeholder distractor 3 +Using many complementary colors together #### --answer-- -Placeholder answer +Limit colors and focus on using shades, tones, and tints of one color and add another hue three spaces away from that color ### --question-- #### --text-- -Placeholder question +What is one reason why the rule of thirds is important? #### --distractors-- -Placeholder distractor 1 +Creates symmetry in the composition by dividing it equally --- -Placeholder distractor 2 +By dividing up the composition, it eliminates visual hierarchy --- -Placeholder distractor 3 +Objects at the edge of the composition get more focus #### --answer-- -Placeholder answer +Breaks the composition apart into 9 equal parts, where objects placed on the dividing lines provide focus and hierarchy to the composition ### --question-- #### --text-- -Placeholder question +What is one bad practice method for implementing infinite scroll? #### --distractors-- -Placeholder distractor 1 +Allow users to jump to a page or section through the navbar or a pagination drop down menu --- -Placeholder distractor 2 +Add a load more indicator or symbol after a certain point in the page along with the infinite scroll --- -Placeholder distractor 3 +Integrate a footer reveal at the bottom #### --answer-- -Placeholder answer +No back to top button, alternative methods of navigating the page, and very long inefficient scrolling ### --question-- #### --text-- -Placeholder question +What is one bad practice for working with images? #### --distractors-- -Placeholder distractor 1 +Make important images stand out by being larger in size --- -Placeholder distractor 2 +Separate text and images into columns or rows --- -Placeholder distractor 3 +Put images outside the layout and important ones on their own or full screen #### --answer-- -Placeholder answer +Images placed in the middle of text paragraphs with very little margin space for separation ### --question-- #### --text-- -Placeholder question +What is one way to make shopping cart design intuitive and user friendly? #### --distractors-- -Placeholder distractor 1 +Use a new shopping cart icon that no other website has used before --- -Placeholder distractor 2 +Do not allow users to add or remove items from the cart --- -Placeholder distractor 3 +Include a checkout summary on another page #### --answer-- -Placeholder answer +Include thumbnail images of products in the cart ### --question-- #### --text-- -Placeholder question +Dark mode doesn't mean pure black. What are some colors and good techniques to create a good dark mode color scheme? #### --distractors-- -Placeholder distractor 1 +Make images and elements darker and reduce contrast between different elements to have them blend in --- -Placeholder distractor 2 +Invert the color scheme --- -Placeholder distractor 3 +Use many saturated colors #### --answer-- -Placeholder answer +Use dark gray or a dark shade of the brand color instead of pure black ### --question-- #### --text-- -Placeholder question +What is one good design practice when creating modals? #### --distractors-- -Placeholder distractor 1 +Put a lot of important information inside a modal --- -Placeholder distractor 2 +Have multiple modals on the same screen --- -Placeholder distractor 3 +Ensure the modal draws the user's attention away from it #### --answer-- -Placeholder answer +Make the modal dismiss icon visible ### --question-- #### --text-- -Placeholder question +What is a design brief? #### --distractors-- -Placeholder distractor 1 +A design brief is a document outlining the programming and design standards of the project --- -Placeholder distractor 2 +A design brief is a document explaining how to replicate a design --- -Placeholder distractor 3 +A design brief is a document with detailed information of icons, colors, and assets the designer should use #### --answer-- -Placeholder answer +A design brief states the goals and project scope, budget, design requirements, and other important details of the project diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md index 3d6219cf8c..6028fe2353 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md @@ -17,439 +17,503 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is the correct way to declare a JavaScript array? #### --distractors-- -Placeholder distractor 1 +`let arr = array(1, 2, 3);` --- -Placeholder distractor 2 +`let arr = "1, 2, 3";` --- -Placeholder distractor 3 +`let arr = {1, 2, 3};` #### --answer-- -Placeholder answer +`let arr = [1, 2, 3];` ### --question-- #### --text-- -Placeholder question +What is the key difference between primitive and non-primitive data types? #### --distractors-- -Placeholder distractor 1 +Primitives can store multiple values. --- -Placeholder distractor 2 +Non-primitives cannot hold references to other objects. --- -Placeholder distractor 3 +Non-primitives store values directly. #### --answer-- -Placeholder answer +Primitives hold direct values, non-primitives hold references. ### --question-- #### --text-- -Placeholder question +What value will be assigned to the `index` variable? + +```js +const numbers = [10, 20, 30, 40]; +const index = numbers.indexOf(20); +console.log(index); +``` #### --distractors-- -Placeholder distractor 1 +2 --- -Placeholder distractor 2 +3 --- -Placeholder distractor 3 +-1 #### --answer-- -Placeholder answer +1 ### --question-- #### --text-- -Placeholder question +What value will be assigned to the `arr2` variable? + +```js +const arr1 = [1, 2, 3]; +const arr2 = [...arr1, 4, 5]; +console.log(arr2); +``` #### --distractors-- -Placeholder distractor 1 +`[4, 5, 1, 2, 3]` --- -Placeholder distractor 2 +`[1, 2, [3, 4, 5]]` --- -Placeholder distractor 3 +`[1, 2, 3]` #### --answer-- -Placeholder answer +`[1, 2, 3, 4, 5]` ### --question-- #### --text-- -Placeholder question +What will this code print to the console? + +```js +const colors = ['red', 'blue', 'green', 'yellow']; +colors.splice(1, 2, 'purple'); +console.log(colors); +``` #### --distractors-- -Placeholder distractor 1 +`['red', 'purple', 'green', 'yellow']` --- -Placeholder distractor 2 +`['red', 'blue', 'yellow']` --- -Placeholder distractor 3 +`['red', 'blue', 'green', 'yellow']` #### --answer-- -Placeholder answer +`['red', 'purple', 'yellow']` ### --question-- #### --text-- -Placeholder question +What value will be assigned to the `slicedArr` variable? + +```js +const arr = ['apple', 'banana', 'cherry', 'date']; +const slicedArr = arr.slice(1, 3); +console.log(slicedArr); +``` #### --distractors-- -Placeholder distractor 1 +`['apple', 'banana']` --- -Placeholder distractor 2 +`['cherry', 'date']` --- -Placeholder distractor 3 +`['apple', 'cherry']` #### --answer-- -Placeholder answer +`['banana', 'cherry']` ### --question-- #### --text-- -Placeholder question +Which method returns the first index of a given element in an array? #### --distractors-- -Placeholder distractor 1 +`findIndex()` --- -Placeholder distractor 2 +`lastIndexOf()` --- -Placeholder distractor 3 +`slice()` #### --answer-- -Placeholder answer +`indexOf()` ### --question-- #### --text-- -Placeholder question +Which method removes the first element from an array and shifts all other elements down? #### --distractors-- -Placeholder distractor 1 +`pop()` --- -Placeholder distractor 2 +`slice()` --- -Placeholder distractor 3 +`splice()` #### --answer-- -Placeholder answer +`shift()` ### --question-- #### --text-- -Placeholder question +What does `Array.prototype.concat()` do? #### --distractors-- -Placeholder distractor 1 +Joins array elements into a string. --- -Placeholder distractor 2 +Adds an element to the beginning of an array. --- -Placeholder distractor 3 +Removes an element from the array. #### --answer-- -Placeholder answer +Merges two arrays into a new array. ### --question-- #### --text-- -Placeholder question +What happens if you set an array's length to a value smaller than the current length? #### --distractors-- -Placeholder distractor 1 +It throws a syntax error. --- -Placeholder distractor 2 +The extra space is filled with `undefined`. --- -Placeholder distractor 3 +Nothing happens; the array remains the same size. #### --answer-- -Placeholder answer +The array gets truncated, removing elements beyond the new length. ### --question-- #### --text-- -Placeholder question +What will be the output of this code ? + +```js +const fruits = ['apple', 'banana', 'cherry', 'apple', 'orange']; +const index = fruits.indexOf('apple'); +if (index !== -1) { + fruits.splice(index, 1); +} +console.log(fruits); +``` #### --distractors-- -Placeholder distractor 1 +`['banana', 'cherry', 'orange']` --- -Placeholder distractor 2 +`['apple', 'cherry', 'apple', 'orange']` --- -Placeholder distractor 3 +`['banana', 'cherry', 'apple']` #### --answer-- -Placeholder answer +`['banana', 'cherry', 'apple', 'orange']` ### --question-- #### --text-- -Placeholder question +What is the final value of `result` in the following code? + +```js +const arr1 = [1, 2]; +const arr2 = [3, 4, 5]; +const combined = arr1.concat(arr2); +const result = combined.includes(3); +console.log(result); +``` #### --distractors-- -Placeholder distractor 1 +`false` --- -Placeholder distractor 2 +`[1, 2, 3, 4, 5]` --- -Placeholder distractor 3 +`undefined` #### --answer-- -Placeholder answer +`true` ### --question-- #### --text-- -Placeholder question +What does the following code output? + +```js +const nums = [1, 2, 3, 4]; +const doubled = nums.map(n => n * 2); +console.log(doubled.includes(8)); +``` #### --distractors-- -Placeholder distractor 1 +`false` --- -Placeholder distractor 2 +`[2, 4, 6, 8]` --- -Placeholder distractor 3 +`Error` #### --answer-- -Placeholder answer +`true` ### --question-- #### --text-- -Placeholder question +What is the output when using `splice()` to remove elements from a 2D array? + +```js +let matrix = [ + [1, 2, 3], + [4, 5, 6], + [7, 8, 9] +]; +matrix.splice(1, 1); +console.log(matrix); +``` #### --distractors-- -Placeholder distractor 1 +`[[1, 2, 3], [4, 5, 6]]` --- -Placeholder distractor 2 +`[[1, 2], [4, 5], [7, 8]]` --- -Placeholder distractor 3 +`[[7, 8, 9]]` #### --answer-- -Placeholder answer +`[[1, 2, 3], [7, 8, 9]]` ### --question-- #### --text-- -Placeholder question +Which of the following statements about `.length` is correct? #### --distractors-- -Placeholder distractor 1 +It counts the number of values in a 2D array. --- -Placeholder distractor 2 +It returns `undefined` for empty arrays. --- -Placeholder distractor 3 +It gives the total number of elements in a 2D array. #### --answer-- -Placeholder answer +It counts the number of top-level elements in a 2D array. ### --question-- #### --text-- -Placeholder question +Which of the following is true about the `indexOf()` method in arrays? #### --distractors-- -Placeholder distractor 1 +It always returns the last occurrence of the element. --- -Placeholder distractor 2 +It throws an error if the element is not found. --- -Placeholder distractor 3 +It requires the array to be sorted. #### --answer-- -Placeholder answer +It returns `-1` if the element is not found. ### --question-- #### --text-- -Placeholder question +What is the main difference between `push()` and `concat()` when working with arrays? #### --distractors-- -Placeholder distractor 1 +`push()` adds multiple arrays together, while `concat()` adds a single element. --- -Placeholder distractor 2 +`concat()` modifies the original array, while `push()` creates a new array. --- -Placeholder distractor 3 +Both `push()` and `concat()` are immutable methods. #### --answer-- -Placeholder answer +`push()` modifies the original array, while `concat()` creates a new array. ### --question-- #### --text-- -Placeholder question +How does the rest parameter `...rest` work in array destructuring in JavaScript? #### --distractors-- -Placeholder distractor 1 +It is used to add extra elements to the array. --- -Placeholder distractor 2 +It allows you to access elements outside the array's bounds. --- -Placeholder distractor 3 +It removes the last element of the array. #### --answer-- -Placeholder answer +It collects the remaining elements into a new array after the initial elements are assigned to variables. ### --question-- #### --text-- -Placeholder question +What will be the result of this code ? + +```js +const numbers = [10, 20, 30]; +numbers.push(40); +numbers.pop(); +const length = numbers.length; +console.log(length); +``` #### --distractors-- -Placeholder distractor 1 +2 --- -Placeholder distractor 2 +5 --- -Placeholder distractor 3 +4 #### --answer-- -Placeholder answer +3 ### --question-- #### --text-- -Placeholder question +Which method will return a new array without changing the original array? #### --distractors-- -Placeholder distractor 1 +`splice()` --- -Placeholder distractor 2 +`pop()` --- -Placeholder distractor 3 +`push()` #### --answer-- -Placeholder answer - +`slice()` diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md index 0fa07e57da..5c8b62e21b 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md @@ -17,439 +17,492 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is JavaScript? #### --distractors-- -Placeholder distractor 1 +A markup language used to design websites. --- -Placeholder distractor 2 +A server-side programming language. --- -Placeholder distractor 3 +A database management system. #### --answer-- -Placeholder answer +A programming language primarily used for web development. ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a JavaScript data type? #### --distractors-- -Placeholder distractor 1 +`null` --- -Placeholder distractor 2 +`undefined` --- -Placeholder distractor 3 +`bigint` #### --answer-- -Placeholder answer +`double` ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a valid JavaScript variable declaration? #### --distractors-- -Placeholder distractor 1 +`const x = 0;` --- -Placeholder distractor 2 +`let x;` --- -Placeholder distractor 3 +`var x;` #### --answer-- -Placeholder answer +`public final Long x;` ### --question-- #### --text-- -Placeholder question +Which of the following is a conventional variable name in JavaScript? #### --distractors-- -Placeholder distractor 1 +`let my_var;` --- -Placeholder distractor 2 +`let my-var;` --- -Placeholder distractor 3 +`let MyVar;` #### --answer-- -Placeholder answer +`let myVar;` ### --question-- #### --text-- -Placeholder question +What is the difference between `let` and `const` variable declarations in JavaScript? #### --distractors-- -Placeholder distractor 1 +`let` is block scoped, `const` is not. --- -Placeholder distractor 2 +`const` is block scoped, `let` is not. --- -Placeholder distractor 3 +`const` can be re-assigned but not re-declared. `let` can be re-declared, but not re-assigned. #### --answer-- -Placeholder answer +`const` cannot be re-assigned or re-declared. `let` can be re-assigned, but not re-declared. ### --question-- #### --text-- -Placeholder question +What is the difference between local and global scope in JavaScript? #### --distractors-- -Placeholder distractor 1 +Variables declared in local scope can be accessed from anywhere in the program. --- -Placeholder distractor 2 +Variables declared in global scope can only be accessed from inside a function. --- -Placeholder distractor 3 +Variables declared in global scope cannot be re-declared. #### --answer-- -Placeholder answer +Variables declared in global scope can be accessed from anywhere in the program. ### --question-- #### --text-- -Placeholder question +How would you print out the string `Hello, world!` in the console in JavaScript? #### --distractors-- -Placeholder distractor 1 +`print("Hello, world!")` --- -Placeholder distractor 2 +`alert("Hello, world");` --- -Placeholder distractor 3 +`System.out.println("Hello, world!");` #### --answer-- -Placeholder answer +`console.log("Hello, world!");` ### --question-- #### --text-- -Placeholder question +What does the code below do? + +```js +let hello = "Hello"; +hello += " world"; +console.log(hello); +``` #### --distractors-- -Placeholder distractor 1 +Reassigns `world` to the variable `hello`, and prints it out in the console. --- -Placeholder distractor 2 +Prints out the number of characters in `Hello world` in the console. --- -Placeholder distractor 3 +Adds the string `world` to the variable `hello`, and prints it out in the console. #### --answer-- -Placeholder answer +Creates a third empty string, copies the values of both strings to it, and finally reassigns the `hello` variable to the third string and prints it out in the console. ### --question-- #### --text-- -Placeholder question +Are semicolons required in JavaScript? #### --distractors-- -Placeholder distractor 1 +Yes. The code won't work without semicolons. --- -Placeholder distractor 2 +Semicolons are sometimes required in JavaScript. --- -Placeholder distractor 3 +No. It's recommended not to use semicolons in JavaScript. #### --answer-- -Placeholder answer +No, but it is generally recommended to use semicolons consistently to avoid potential issues in code. ### --question-- #### --text-- -Placeholder question +Which of the following is a valid single line comment syntax in JavaScript? #### --distractors-- -Placeholder distractor 1 +`# This is a single line comment` --- -Placeholder distractor 2 +`-- This is a single line comment` --- -Placeholder distractor 3 +`/* This is a single line comment */` #### --answer-- -Placeholder answer +`// This is a single line comment` ### --question-- #### --text-- -Placeholder question +Dynamic typing in JavaScript means that: #### --distractors-- -Placeholder distractor 1 +You need to declare the data type of a variable before using it. --- -Placeholder distractor 2 +You cannot assign a value of one data type to a variable of a different type. --- -Placeholder distractor 3 +JavaScript performs type checking before execution, meaning type related errors will be thrown before the code is run. #### --answer-- -Placeholder answer +You don't need to declare the data type of a variable before using it. JavaScript infers the type based on the value assigned to the variable. ### --question-- #### --text-- -Placeholder question +Which of the following prints out the type of the variable `x` in the console? #### --distractors-- -Placeholder distractor 1 +`console.log(x.type);` --- -Placeholder distractor 2 +`console.log(typeOf(x));` --- -Placeholder distractor 3 +`console.log(isNaN(x));` #### --answer-- -Placeholder answer +`console.log(typeof x);` ### --question-- #### --text-- -Placeholder question +What will be the output of `console.log(typeof null);`? #### --distractors-- -Placeholder distractor 1 +`undefined` --- -Placeholder distractor 2 +`null` --- -Placeholder distractor 3 +`NaN` #### --answer-- -Placeholder answer +`object` ### --question-- #### --text-- -Placeholder question +Which of the following is a valid multi-line comment in JavaScript? #### --distractors-- -Placeholder distractor 1 +```js +// This is a +// multi-line +// comment +``` --- -Placeholder distractor 2 +```py +''' +This is a +multi-line +comment +''' +``` --- -Placeholder distractor 3 +```html + +``` #### --answer-- -Placeholder answer +```js +/* +This is a +multi-line +comment +*/ +``` ### --question-- #### --text-- -Placeholder question +Which of the following declares a variable in JavaScript that cannot be changed? #### --distractors-- -Placeholder distractor 1 +`var x = 0;` --- -Placeholder distractor 2 +`let x = 0;` --- -Placeholder distractor 3 +`final x = 0;` #### --answer-- -Placeholder answer +`const x = 0;` ### --question-- #### --text-- -Placeholder question +In the code below, which variable is in the global scope in JavaScript: + +```js +let a = 0; + +if (a < 10) { + let b = 1; + return a + b; +} +``` #### --distractors-- -Placeholder distractor 1 +Variable `b` is in the global scope. --- -Placeholder distractor 2 +Both variables `a` and `b` are in the global scope. --- -Placeholder distractor 3 +None of the variables are in the global scope. #### --answer-- -Placeholder answer +Variable `a` is in the global scope, and can be accessed from anywhere in the program. ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a valid string concatenation method in JavaScript? #### --distractors-- -Placeholder distractor 1 +`console.log(string1 + " " + string2);` --- -Placeholder distractor 2 +```js +console.log(`${string1} ${string2}`); +``` --- -Placeholder distractor 3 +`console.log(string1.concat(" ", string2));` #### --answer-- -Placeholder answer +`console.log(string1 string2);` ### --question-- #### --text-- -Placeholder question +What will be the output of the following code: + +```js +let hello = "hello"; +if (true) { + let world = "world"; +} +console.log(hello + " " + world); +``` #### --distractors-- -Placeholder distractor 1 +`hello world` --- -Placeholder distractor 2 +`helloworld` --- -Placeholder distractor 3 +`hello` #### --answer-- -Placeholder answer +`ReferenceError: world is not defined` ### --question-- #### --text-- -Placeholder question +What will be the output of the code below: + +```js +const x = 0; +while (x < 10) x++; +console.log(x); +``` #### --distractors-- -Placeholder distractor 1 +`10` --- -Placeholder distractor 2 +`0` --- -Placeholder distractor 3 +`1 2 3 4 5 6 7 8 9 10` #### --answer-- -Placeholder answer +`TypeError: Assignment to constant variable.` ### --question-- #### --text-- -Placeholder question +Given the string `freeCodeLamp`, which JavaScript string method can be used to turn it into `freeCodeCamp`? #### --distractors-- -Placeholder distractor 1 +`"freeCodeLamp"[8] = "C";` --- -Placeholder distractor 2 +`"freeCodeLamp".charAt(8) = "C";` --- -Placeholder distractor 3 +`"freeCodeLamp".indexOf("L") = "C";` #### --answer-- -Placeholder answer +`"freeCodeLamp".replace("L", "C");` diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md index 0887bf3885..bf02c6d126 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is nano? #### --distractors-- -Placeholder distractor 1 +A word processor. --- -Placeholder distractor 2 +A program that makes text smaller. --- -Placeholder distractor 3 +A prefix that means small, tiny. #### --answer-- -Placeholder answer +Nano is a small, easy-to-use text editor that runs in a terminal. ### --question-- #### --text-- -Placeholder question +How do you run or start nano from a terminal? #### --distractors-- -Placeholder distractor 1 +Type `run nano`, then press the **Enter** key --- -Placeholder distractor 2 +Type `start nano`, then press the **Enter** key --- -Placeholder distractor 3 +Type `nano.exe`, then press the **Enter** key #### --answer-- -Placeholder answer +Type `nano`, then press the **Enter** key ### --question-- #### --text-- -Placeholder question +How do you open a text file using nano? #### --distractors-- -Placeholder distractor 1 +Type `nano.exe [FILE]`, then press the **Enter** key --- -Placeholder distractor 2 +Type `emacs [FILE]`, then press the **Enter** key --- -Placeholder distractor 3 +Type `vim [FILE]`, then press the **Enter** key #### --answer-- -Placeholder answer +Type `nano [FILE]`, then press the **Enter** key ### --question-- #### --text-- -Placeholder question +What type of files is nano capable of creating and modifiying? #### --distractors-- -Placeholder distractor 1 +PDF files --- -Placeholder distractor 2 +Word documents --- -Placeholder distractor 3 +Excel spreadsheets #### --answer-- -Placeholder answer +Plain text files ### --question-- #### --text-- -Placeholder question +With nano already running, what is the command or sequence of keystrokes to save the current file? #### --distractors-- -Placeholder distractor 1 +**Alt + E** --- -Placeholder distractor 2 +**Ctrl + T** --- -Placeholder distractor 3 +**Ctrl + U** #### --answer-- -Placeholder answer +**Ctrl + S** ### --question-- #### --text-- -Placeholder question +While running nano, how can you find help about using nano? #### --distractors-- -Placeholder distractor 1 +Type `nano -?` --- -Placeholder distractor 2 +Type `nano --help` --- -Placeholder distractor 3 +Perform a web search. #### --answer-- -Placeholder answer +Press **Ctrl + G** ### --question-- #### --text-- -Placeholder question +Where can you find the official documentation for nano? #### --distractors-- -Placeholder distractor 1 +GNU.org --- -Placeholder distractor 2 +SuperUser.com --- -Placeholder distractor 3 +StackOverflow.com #### --answer-- -Placeholder answer +https://www.nano-editor.org/dist/latest/nano.html ### --question-- #### --text-- -Placeholder question +What is/are the keystroke(s) to exit nano? #### --distractors-- -Placeholder distractor 1 +Press **Ctrl + Alt + Del** --- -Placeholder distractor 2 +Type `exit` --- -Placeholder distractor 3 +Press **Esc** #### --answer-- -Placeholder answer +Press **Ctrl + X** ### --question-- #### --text-- -Placeholder question +What keystrokes allow you to begin a search of the current file? #### --distractors-- -Placeholder distractor 1 +Press **Alt + E** --- -Placeholder distractor 2 +Press **Ctrl + U** --- -Placeholder distractor 3 +Press **Ctrl + K** #### --answer-- -Placeholder answer +Press **Ctrl + B** or **Ctrl + F** ### --question-- #### --text-- -Placeholder question +What keystrokes allow you to begin a spell check of the current file? #### --distractors-- -Placeholder distractor 1 +Press **Ctrl + D** --- -Placeholder distractor 2 +Press **Ctrl + T Ctrl + O** --- -Placeholder distractor 3 +Press **Ctrl + G** #### --answer-- -Placeholder answer +Press **Ctrl + T Ctrl + S** ### --question-- #### --text-- -Placeholder question +How can you comment or uncomment a line of text? #### --distractors-- -Placeholder distractor 1 +Press **Ctrl + U** --- -Placeholder distractor 2 +Press **Alt + C** --- -Placeholder distractor 3 +Press **Alt + 2** #### --answer-- -Placeholder answer +Press **Alt + 3** ### --question-- #### --text-- -Placeholder question +How can you display/hide line numbers while using nano? #### --distractors-- -Placeholder distractor 1 +Press **Alt + H** --- -Placeholder distractor 2 +Press **Ctrl + 1** --- -Placeholder distractor 3 +Press **Alt + 3** #### --answer-- -Placeholder answer +Press **Alt + N** ### --question-- #### --text-- -Placeholder question +How do you undo a previous action in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + Shift + U** --- -Placeholder distractor 2 +**Ctrl + Y** --- -Placeholder distractor 3 +**Ctrl + Z** #### --answer-- -Placeholder answer +**Alt + U** ### --question-- #### --text-- -Placeholder question +How do you move the cursor to the beginning of the file in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + Y** --- -Placeholder distractor 2 +**Ctrl + PgUp** --- -Placeholder distractor 3 +**Ctrl + Home** #### --answer-- -Placeholder answer +**Alt + \\** ### --question-- #### --text-- -Placeholder question +What is the command to paste a cut line in nano? #### --distractors-- -Placeholder distractor 1 +**Alt + V** --- -Placeholder distractor 2 +**Ctrl + Y** --- -Placeholder distractor 3 +**Ctrl + V** #### --answer-- -Placeholder answer +**Ctrl + U** ### --question-- #### --text-- -Placeholder question +What is the command to a cut line in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + S** --- -Placeholder distractor 2 +**Ctrl + R** --- -Placeholder distractor 3 +**Ctrl + C** #### --answer-- -Placeholder answer +**Ctrl + K** ### --question-- #### --text-- -Placeholder question +What is the command to go to a specific line number? #### --distractors-- -Placeholder distractor 1 +**Alt + 2** --- -Placeholder distractor 2 +**Ctrl + 1** --- -Placeholder distractor 3 +**Ctrl + G** #### --answer-- -Placeholder answer +**Alt + G** ### --question-- #### --text-- -Placeholder question +What is the command to justify text in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + T** --- -Placeholder distractor 2 +**Ctrl + B** --- -Placeholder distractor 3 +**Alt + J** #### --answer-- -Placeholder answer +**Ctrl + J** ### --question-- #### --text-- -Placeholder question +What is the command to run a syntax check in nano? #### --distractors-- -Placeholder distractor 1 +**Alt + /** --- -Placeholder distractor 2 +**Ctrl + L** --- -Placeholder distractor 3 +**Ctrl + T Ctrl + O** #### --answer-- -Placeholder answer +**Ctrl + T Ctrl + Y** ### --question-- #### --text-- -Placeholder question +What is the command to move the cursor to the beginning of a line? #### --distractors-- -Placeholder distractor 1 +**Ctrl + B** --- -Placeholder distractor 2 +**Ctrl + E** --- -Placeholder distractor 3 +**Alt + A** #### --answer-- -Placeholder answer +**Ctrl + A** diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md index 027bbea383..dc82ddd0d8 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is the difference between security and privacy? #### --distractors-- -Placeholder distractor 1 +Security handles identity verification, whereas privacy handles encryption. --- -Placeholder distractor 2 +Security ensures the accuracy of data, whereas privacy focuses on data anonymity. --- -Placeholder distractor 3 +Security monitors data integrity to prevent corruption, whereas privacy restricts the sharing of data between authorized users. #### --answer-- -Placeholder answer +Security involves protecting data from unauthorized access, whereas privacy involves controlling who can access the data. ### --question-- #### --text-- -Placeholder question +What is the main reason HTTPS is important for websites? #### --distractors-- -Placeholder distractor 1 +It allows for more data storage capacity when visiting a website. --- -Placeholder distractor 2 +It restricts websites from accessing specific data from the user. --- -Placeholder distractor 3 +It protects users from potential malware that may go undetected by the website. #### --answer-- -Placeholder answer +It encrypts the information shared between the user and the website. ### --question-- #### --text-- -Placeholder question +What does HTTPS stand for? #### --distractors-- -Placeholder distractor 1 +HighText Transfer Protocol Secure. --- -Placeholder distractor 2 +HyperText Transfer Protocol Service. --- -Placeholder distractor 3 +HyperText Transmission Protocol Secure. #### --answer-- -Placeholder answer +HyperText Transfer Protocol Secure. ### --question-- #### --text-- -Placeholder question +Why does the Same-Origin Policy exist in web browsers? #### --distractors-- -Placeholder distractor 1 +To allow webpages to access resources from domains without restrictions, thereby enabling seamless integration of content. --- -Placeholder distractor 2 +To ensure that all webpages are encrypted during data transfer. --- -Placeholder distractor 3 +To allow scripts to automatically run on all web pages when making a request. #### --answer-- -Placeholder answer +To prevent data leaks by restricting web pages from making requests to domains outside of their own. ### --question-- #### --text-- -Placeholder question +What does CORS do in web development? #### --distractors-- -Placeholder distractor 1 +Increases the speed of webpages by preventing them from overloading their cache. --- -Placeholder distractor 2 +Ensures that all scripts on a web page run in a single-threaded environment. --- -Placeholder distractor 3 +Encrypts all cross-origin network communications, preventing memory leaks. #### --answer-- -Placeholder answer +Enables web pages to securely request resources from different domains. ### --question-- #### --text-- -Placeholder question +Which of the following CORS headers is responsible for permitting HTTP methods for cross-origin requests? #### --distractors-- -Placeholder distractor 1 +`Access-Control-Expose-Headers` --- -Placeholder distractor 2 +`Access-Control-Allow-Credentials` --- -Placeholder distractor 3 +`Access-Control-Allow-Headers` #### --answer-- -Placeholder answer +`Access-Control-Allow-Methods` ### --question-- #### --text-- -Placeholder question +What is the potential security or privacy risk associated with the use of cookies? #### --distractors-- -Placeholder distractor 1 +Cookies store unencrypted settings and preferences. --- -Placeholder distractor 2 +Cookies can be accessed by third-party advertisers to cater to user interests. --- -Placeholder distractor 3 +Cookies enhance page load speed by storing user data; however, this can prevent your local machine from detecting abnormalities. #### --answer-- -Placeholder answer +Cookies may store session data that can potentially be intercepted or exploited by a malicious user. ### --question-- #### --text-- -Placeholder question +Which of the following best describes a tracking cookie? #### --distractors-- -Placeholder distractor 1 +A cookie that saves a user's login credentials for the current session. --- -Placeholder distractor 2 +A cookie that stores user settings and preferences to enhance load speed in future sessions. --- -Placeholder distractor 3 +A cookie that stores user settings and preferences across all devices. #### --answer-- -Placeholder answer +A cookie that monitors user behavior across all websites for advertising purposes. ### --question-- #### --text-- -Placeholder question +Which of the following is a common web security issue? #### --distractors-- -Placeholder distractor 1 +Insecure Direct Object References --- -Placeholder distractor 2 +Distributed Denial of Service --- -Placeholder distractor 3 +SQL Injection #### --answer-- -Placeholder answer +Cross-Site Scripting ### --question-- #### --text-- -Placeholder question +Which of the following is an effective against Cross-Site Request Forgery attacks? #### --distractors-- -Placeholder distractor 1 +Encrypting all data inputted by the user. --- -Placeholder distractor 2 +Setting a short cookie expiration date. --- -Placeholder distractor 3 +Using SSL certificates to securely transmit data and verify domain ownership. #### --answer-- -Placeholder answer +Using CSRF tokens and SameSite cookies to validate all requests. ### --question-- #### --text-- -Placeholder question +What is the purpose of Content Security Policy (CSP) #### --distractors-- -Placeholder distractor 1 +To encrypt all user login credentials before sending them to the server --- -Placeholder distractor 2 +To protect data from unauthorized access. --- -Placeholder distractor 3 +To monitor user behavior and activity on a website #### --answer-- -Placeholder answer +To restrict the sources of resources and prevent the execution of malicious scripts. ### --question-- #### --text-- -Placeholder question +What is the role of permission policies in web security? #### --distractors-- -Placeholder distractor 1 +To prevent the installation of unauthorized software. --- -Placeholder distractor 2 +To grant or deny access to data that is stored on the user's device. --- -Placeholder distractor 3 +To restrict all JavaScript and TypeScript execution within the user's browser. #### --answer-- -Placeholder answer +To specify which browser features a website is allowed to use (e.g., camera access or location). ### --question-- #### --text-- -Placeholder question +Which one of these is an example of Personally Identifiable Information (PII)? #### --distractors-- -Placeholder distractor 1 +City or Zip Code --- -Placeholder distractor 2 +Gender --- -Placeholder distractor 3 +Device Type #### --answer-- -Placeholder answer +Name or Email ### --question-- #### --text-- -Placeholder question +What is the consequence of a PII data breach? #### --distractors-- -Placeholder distractor 1 +Minor inconvenience with no long-term impact. --- -Placeholder distractor 2 +Increase search engine ranking. --- -Placeholder distractor 3 +Increase transparency of user data for internal reporting. #### --answer-- -Placeholder answer +Identity theft, financial loss, and legal consequences. ### --question-- #### --text-- -Placeholder question +What are key strategies for organizations to protect PII while ensuring user privacy and confidentiality? #### --distractors-- -Placeholder distractor 1 +Allow unrestricted access to employee data for transparency. --- -Placeholder distractor 2 +Sharing PII with third-party vendors to create better market insights. --- -Placeholder distractor 3 +Using unencrypted storage systems for faster and easier data access. #### --answer-- -Placeholder answer +Minimizing data collection and only gathering essential information from users. ### --question-- #### --text-- -Placeholder question +Which of the following statements is true about GDPR and COPPA? #### --distractors-- -Placeholder distractor 1 +GDPR is a United States regulation, whereas COPPA is an EU regulation. --- -Placeholder distractor 2 +GDPR and COPPA only apply to large corporations. --- -Placeholder distractor 3 +GDPR focuses on encryption for all websites, while COPPA only applies to companies considered financial institutions #### --answer-- -Placeholder answer +COPPA focuses on protecting children's data and GDPR is concerned with protecting all user data within the EU. ### --question-- #### --text-- -Placeholder question +Under GDPR, what is required from organizations when collecting user data? #### --distractors-- -Placeholder distractor 1 +User data must be fully anonymized to protect privacy. --- -Placeholder distractor 2 +All data must be encrypted upon collection. --- -Placeholder distractor 3 +Organizations are not allowed collect data from users that are not residing in the EU. #### --answer-- -Placeholder answer +Organizations must acquire consent from users before collecting any data. ### --question-- #### --text-- -Placeholder question +What is the key difference between authentication and authorization? #### --distractors-- -Placeholder distractor 1 +Authentication determines access rights, whereas authorization allows users to manage their data. --- -Placeholder distractor 2 +Authentication grants permissions, and authorization verifies credentials. --- -Placeholder distractor 3 +Authentication ensures data integrity and authorization is responsible for encrypting the data. #### --answer-- -Placeholder answer +Authentication involves verifying a user's identity, while authorization determines their access rights. ### --question-- #### --text-- -Placeholder question +How does Two-Factor Authentication (2FA) contribute to the authentication process? #### --distractors-- -Placeholder distractor 1 +It replaces all passwords with QR codes. --- -Placeholder distractor 2 +It allows users to enter their password more seamlessly. --- -Placeholder distractor 3 +It provides a more secure and streamlined verification process. #### --answer-- -Placeholder answer +It adds an extra layer of security by requiring additional verification. ### --question-- #### --text-- -Placeholder question +Which of the following is an example of an authorization process? #### --distractors-- -Placeholder distractor 1 +Sending a user's verification code to different devices. --- -Placeholder distractor 2 +Allowing employees unrestricted access to all company data. --- -Placeholder distractor 3 +Verifying if the email is associated with a human during sign-up. #### --answer-- -Placeholder answer +Allowing users with a manager role to view employee records. diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md index 66eb172bde..fdc0076d70 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is presentational HTML? #### --distractors-- -Placeholder distractor 1 +Presentational HTML controls how data is stored on the server. --- -Placeholder distractor 2 +Presentational HTML determines the website's overall layout and navigation structure. --- -Placeholder distractor 3 +Presentational HTML is used for embedding multimedia content. #### --answer-- -Placeholder answer +Presentational HTML uses elements to control the appearance of content, rather than its meaning or structure. ### --question-- #### --text-- -Placeholder question +What is the role of the `pre` element? #### --distractors-- -Placeholder distractor 1 +It is used to represent a placeholder inside a web component. --- -Placeholder distractor 2 +It is used to display an indicator showing the completion progress of a task. --- -Placeholder distractor 3 +It is used to convey seriousness or strong importance. #### --answer-- -Placeholder answer +It is used to represent preformatted text. ### --question-- #### --text-- -Placeholder question +What is the role of the `h1` element? #### --distractors-- -Placeholder distractor 1 +It is used for embedding images. --- -Placeholder distractor 2 +It creates a link to another page. --- -Placeholder distractor 3 +It formats text as bold. #### --answer-- -Placeholder answer +It defines the main heading of a webpage, indicating its primary topic. ### --question-- #### --text-- -Placeholder question +What is the role of the `address` element? #### --distractors-- -Placeholder distractor 1 +It specifies the font size for the main content. --- -Placeholder distractor 2 +It creates a navigation menu for the website. --- -Placeholder distractor 3 +It formats text as superscript. #### --answer-- -Placeholder answer +It is used to represent contact information for a section on a web page. ### --question-- #### --text-- -Placeholder question +Which of the following elements holds no semantic meaning? #### --distractors-- -Placeholder distractor 1 +`article` --- -Placeholder distractor 2 +`main` --- -Placeholder distractor 3 +`footer` #### --answer-- -Placeholder answer +`div` ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to represent a specific moment in time? #### --distractors-- -Placeholder distractor 1 +`output` --- -Placeholder distractor 2 +`ins` --- -Placeholder distractor 3 +`div` #### --answer-- -Placeholder answer +`time` ### --question-- #### --text-- -Placeholder question +What is a typical use case of the `ruby` element? #### --distractors-- -Placeholder distractor 1 +It specifies the document’s character encoding. --- -Placeholder distractor 2 +It inserts a table for displaying tabular data. --- -Placeholder distractor 3 +It embeds a video or audio player in the document. #### --answer-- -Placeholder answer +It is used to show the pronunciation of East Asian characters. ### --question-- #### --text-- -Placeholder question +Which element is used to highlight keywords in summaries or product names in reviews? #### --distractors-- -Placeholder distractor 1 +`ruby` --- -Placeholder distractor 2 +`table` --- -Placeholder distractor 3 +`template` #### --answer-- -Placeholder answer +`b` ### --question-- #### --text-- -Placeholder question +What is the role of the `u` element? #### --distractors-- -Placeholder distractor 1 +It styles text with custom fonts. --- -Placeholder distractor 2 +It specifies the document’s character encoding. --- -Placeholder distractor 3 +It creates a dropdown menu for selecting options. #### --answer-- -Placeholder answer +It is used to represent inline text that has non-textual annotation applied. ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to represent an extended quotation? #### --distractors-- -Placeholder distractor 1 +`textarea` --- -Placeholder distractor 2 +`sup` --- -Placeholder distractor 3 +`article` #### --answer-- -Placeholder answer +`blockquote` ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to provide a description, or definition for the term inside a description list? #### --distractors-- -Placeholder distractor 1 +`dt` --- -Placeholder distractor 2 +`dl` --- -Placeholder distractor 3 +`div` #### --answer-- -Placeholder answer +`dd` ### --question-- #### --text-- -Placeholder question +Which of the following elements is typically used with the `code` element? #### --distractors-- -Placeholder distractor 1 +`ins` --- -Placeholder distractor 2 +`summary` --- -Placeholder distractor 3 +`div` #### --answer-- -Placeholder answer +`pre` ### --question-- #### --text-- -Placeholder question +Which of the following attributes is used to translate dates and times into a machine-readable format? #### --distractors-- -Placeholder distractor 1 +`alt` --- -Placeholder distractor 2 +`rel` --- -Placeholder distractor 3 +`accept` #### --answer-- -Placeholder answer +`datetime` ### --question-- #### --text-- -Placeholder question +Why is it important to not skip heading levels? #### --distractors-- -Placeholder distractor 1 +Skipping heading levels improves website design aesthetics. --- -Placeholder distractor 2 +Skipping heading levels makes text appear in different colors. --- -Placeholder distractor 3 +Skipping heading levels enhances page loading speed. #### --answer-- -Placeholder answer +Skipping heading levels can confuse screen readers and hinder content accessibility by disrupting the logical content hierarchy. ### --question-- #### --text-- -Placeholder question +Which of the following is a deprecated presentational HTML element? #### --distractors-- -Placeholder distractor 1 +`div` --- -Placeholder distractor 2 +`footer` --- -Placeholder distractor 3 +`article` #### --answer-- -Placeholder answer +`font` ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to represent navigation links? #### --distractors-- -Placeholder distractor 1 +`figure` --- -Placeholder distractor 2 +`div` --- -Placeholder distractor 3 +`section` #### --answer-- -Placeholder answer +`nav` ### --question-- #### --text-- -Placeholder question +Which of the following elements represents a description term inside a description list? #### --distractors-- -Placeholder distractor 1 +`dd` --- -Placeholder distractor 2 +`dfn` --- -Placeholder distractor 3 +`del` #### --answer-- -Placeholder answer +`dt` ### --question-- #### --text-- -Placeholder question +What is the role of the idiomatic text element? #### --distractors-- -Placeholder distractor 1 +It creates interactive buttons. --- -Placeholder distractor 2 +It handles user authentication and login. --- -Placeholder distractor 3 +It formats numerical data. #### --answer-- -Placeholder answer +It is used to represent idiomatic text, technical terms, and taxonomical designations. ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to emphasize text? #### --distractors-- -Placeholder distractor 1 +`anchor` --- -Placeholder distractor 2 +`div` --- -Placeholder distractor 3 +`optgroup` #### --answer-- -Placeholder answer +`em` ### --question-- #### --text-- -Placeholder question +Which of the following attributes is used to specify the source or reference of the quoted content for a blockquote? #### --distractors-- -Placeholder distractor 1 +`alt` --- -Placeholder distractor 2 +`class` --- -Placeholder distractor 3 +`lang` #### --answer-- -Placeholder answer +`cite` diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md index 031e77cc07..f41f1c1a03 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md @@ -17,439 +17,454 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is Typescript? #### --distractors-- -Placeholder distractor 1 +A framework used for system programming. --- -Placeholder distractor 2 +A database management tool. --- -Placeholder distractor 3 +A programming language used for styling websites. #### --answer-- -Placeholder answer +A superset of JavaScript that adds static typing. ### --question-- #### --text-- -Placeholder question +Why should TypeScript be used in a project? #### --distractors-- -Placeholder distractor 1 +It eliminates the need for testing in applications. --- -Placeholder distractor 2 +It is faster than all other programming languages. --- -Placeholder distractor 3 +It makes styling websites easier. #### --answer-- -Placeholder answer +It improves maintainability by adding type definitions to JavaScript. ### --question-- #### --text-- -Placeholder question +What language is TypeScript compiled down to? #### --distractors-- -Placeholder distractor 1 +Java --- -Placeholder distractor 2 +Python --- -Placeholder distractor 3 +C++ #### --answer-- -Placeholder answer +JavaScript ### --question-- #### --text-- -Placeholder question +What would be the output of the following code snippet? + +```ts +function sum(a: number, b: number): number { + return a + b; +} +console.log(sum(2, 3)); +``` #### --distractors-- -Placeholder distractor 1 +`2 + 3` --- -Placeholder distractor 2 +`undefined` --- -Placeholder distractor 3 +`Error: Type 'number' is not assignable to type 'string'` #### --answer-- -Placeholder answer +`5` ### --question-- #### --text-- -Placeholder question +What is the primary purpose of an interface in TypeScript? #### --distractors-- -Placeholder distractor 1 +To compile TypeScript code into JavaScript. --- -Placeholder distractor 2 +To create a new data type. --- -Placeholder distractor 3 +To create a new JavaScript Object. #### --answer-- -Placeholder answer +To define the structure of an object. ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a basic primitive in TypeScript? #### --distractors-- -Placeholder distractor 1 +string --- -Placeholder distractor 2 +boolean --- -Placeholder distractor 3 +number #### --answer-- -Placeholder answer +array ### --question-- #### --text-- -Placeholder question +Which of the following correctly defines a literal type in TypeScript? #### --distractors-- -Placeholder distractor 1 +`let y: string;` --- -Placeholder distractor 2 +`let z: boolean;` --- -Placeholder distractor 3 +`let a: number[];` #### --answer-- -Placeholder answer +`let x: 5;` ### --question-- #### --text-- -Placeholder question +What is the primary purpose of the `type` keyword in TypeScript? #### --distractors-- -Placeholder distractor 1 +To declare variables. --- -Placeholder distractor 2 +To create classes. --- -Placeholder distractor 3 +To implement interfaces. #### --answer-- -Placeholder answer +To define custom types. ### --question-- #### --text-- -Placeholder question +Which of the following correctly defines a union type? #### --distractors-- -Placeholder distractor 1 +`type Result = Pass && Fail;` --- -Placeholder distractor 2 +`type Result = Pass & Fail;` --- -Placeholder distractor 3 +`type Result = Pass + Fail;` #### --answer-- -Placeholder answer +`type Result = Pass | Fail;` ### --question-- #### --text-- -Placeholder question +Which of the following capabilities is unique to `interface` and CANNOT be achieved using `type` in TypeScript? #### --distractors-- -Placeholder distractor 1 +Defining object shapes. --- -Placeholder distractor 2 +Creating union types. --- -Placeholder distractor 3 +Creating intersection types. #### --answer-- -Placeholder answer +Declaring class implementations. ### --question-- #### --text-- -Placeholder question +What is the primary purpose of using generics in TypeScript? #### --distractors-- -Placeholder distractor 1 +To implement inheritance between classes. --- -Placeholder distractor 2 +To define structure of an object. --- -Placeholder distractor 3 +To create a new data type. #### --answer-- -Placeholder answer +To write reusable code that can work with multiple types. ### --question-- #### --text-- -Placeholder question +Which of the following is a **proper example** of a generic function in TypeScript? #### --distractors-- -Placeholder distractor 1 +`function add(a: number, b: number): number { return a + b; }` --- -Placeholder distractor 2 +`function multiply(a: number, b: number): { return a * b; }` --- -Placeholder distractor 3 +`function getValue(value: any): any { return value; }` #### --answer-- -Placeholder answer +`function identity(value: T): T { return value; }` ### --question-- #### --text-- -Placeholder question +What is type narrowing in TypeScript? #### --distractors-- -Placeholder distractor 1 +Reducing the size of compiled JavaScript. --- -Placeholder distractor 2 +Limiting the number of types in a union. --- -Placeholder distractor 3 +Removing unused types from a TypeScript project. #### --answer-- -Placeholder answer +To write code that narrows down a union type to a more specific type. ### --question-- #### --text-- -Placeholder question +Which file is typically used to configure TypeScript compiler options? #### --distractors-- -Placeholder distractor 1 +`package.json` --- -Placeholder distractor 2 +`package.config.json` --- -Placeholder distractor 3 +`typescript.config.js` #### --answer-- -Placeholder answer +`tsconfig.json` ### --question-- #### --text-- -Placeholder question +What does the `target` option in the `tsconfig.json` file specify? #### --distractors-- -Placeholder distractor 1 +The version of TypeScript to use during compilation. --- -Placeholder distractor 2 +The target runtime environment (e.g., Node.js or browser) for the TypeScript code. --- -Placeholder distractor 3 +The specific module system to use for imports and exports. #### --answer-- -Placeholder answer +The ECMAScript version to which the TypeScript compiler will transpile the code. ### --question-- #### --text-- -Placeholder question +What does the `noImplicitReturns` option in the `tsconfig.json` file enforce? #### --distractors-- -Placeholder distractor 1 +It forces all functions to return a `number`. --- -Placeholder distractor 2 +It requires that all functions return either `true` or `false`. --- -Placeholder distractor 3 +It prevents using the `any` type in TypeScript code. #### --answer-- -Placeholder answer +It ensures all code paths in a function return a value. ### --question-- #### --text-- -Placeholder question +Which TypeScript option prevents implicit `any` types? #### --distractors-- -Placeholder distractor 1 +`noImplicitReturns` --- -Placeholder distractor 2 +`alwaysStrict` --- -Placeholder distractor 3 +`strictNullChecks` #### --answer-- -Placeholder answer +`noImplicitAny` ### --question-- #### --text-- -Placeholder question +What is the purpose of the `never` type in TypeScript? #### --distractors-- -Placeholder distractor 1 +To represent null or undefined. --- -Placeholder distractor 2 +To represent any possible value. --- -Placeholder distractor 3 +To represent a type that can be anything except null. #### --answer-- -Placeholder answer +To represent the type of values that never occur. ### --question-- #### --text-- -Placeholder question +What will be the output of the following TypeScript code? + +```ts +enum Color { + Red, + Blue, +} +console.log(Color.Red, Color.Blue); +``` #### --distractors-- -Placeholder distractor 1 +`Red Blue` --- -Placeholder distractor 2 +`1, 2` --- -Placeholder distractor 3 +`Red 2` #### --answer-- -Placeholder answer +`0 1` ### --question-- #### --text-- -Placeholder question +How can you specify that a function parameter is optional in TypeScript? #### --distractors-- -Placeholder distractor 1 +By using the `optional` keyword. --- -Placeholder distractor 2 +By setting a default value. --- -Placeholder distractor 3 +By using the `any` type. #### --answer-- -Placeholder answer +By adding a `?` after the parameter name diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md index 1d9a518708..c44896365d 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md @@ -27,7 +27,6 @@ Start by creating a function called `addTwoAndSeven`. You can choose to use the regular function syntax or the arrow function syntax. - # --hints-- You should declare a function called `addTwoAndSeven`. diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md index 804577d17f..ab6f21177d 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md @@ -13,7 +13,7 @@ Here is a reminder of how to return a value from a function: ```js function myFunction() { - return 'Hello World'; + return "Hello World"; } ``` @@ -21,7 +21,7 @@ Inside your `addTwoAndSeven` function, return the sum of `2` and `7`. # --hints-- -Your `addTwoAndSeven` function should return the sum of `2` and `7` +Your `addTwoAndSeven` function should return the sum of `2` and `7`. ```js assert.strictEqual(addTwoAndSeven(), 9); diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md index 717f08d386..5e50bc1beb 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md @@ -7,7 +7,7 @@ dashedName: step-3 # --description-- -In the previous lecture videos, you learned how to call(invoke) a function. Calling a function means to execute the code inside the function. +In the previous lecture videos, you learned how to call (invoke) a function. Calling a function means to execute the code inside the function. Here is a reminder of how to call a function: diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md index e04a7eba38..38c836a4fd 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md @@ -14,7 +14,7 @@ A function parameter is a variable that is defined in the function's declaration Here is an example of a function that has a parameter: ```js -// The parameter is 'name' +// The parameter is `name` function greetUser(name) { return `Hello, ${name}!`; } diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md index 71275cdc0f..693e522043 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md @@ -18,8 +18,8 @@ function greetUser(name) { } // function calls -greetUser('John'); // 'Hello John!' -greetUser('Jane'); // 'Hello Jane!' +greetUser("John"); // "Hello John!" +greetUser("Jane"); // "Hello Jane!" ``` Add a `console.log` that calls the `calculateSum` function with the arguments `2` and `5`. diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md index c56c174fe7..92b2b4a435 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md @@ -7,7 +7,7 @@ dashedName: step-14 # --description-- -Your `calculateQuotient` appears to working correctly but there is one case that you have not tested yet. +Your `calculateQuotient` appears to be working correctly but there is one case that you have not tested yet. Add a `console.log` that calls the `calculateQuotient` function with the arguments `3` and `0`. diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md index 8d11b9d73a..8fecadb7ca 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md @@ -13,11 +13,11 @@ The division by zero is not a valid operation in mathematics. To account for this edge case, you should update your `calculateQuotient` function to instead check if `num2` is zero. -If it is, the function should return the string `'Error: Division by zero'`. Otherwise, it should return the result of dividing `num1` by `num2`. +If it is, the function should return the string `"Error: Division by zero"`. Otherwise, it should return the result of dividing `num1` by `num2`. # --hints-- -Your `calculateQuotient` function should return the string `'Error: Division by zero'` if `num2` is zero. +Your `calculateQuotient` function should return the string `"Error: Division by zero"` if `num2` is zero. ```js assert.strictEqual(calculateQuotient(10, 0), 'Error: Division by zero'); diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md index 766c408841..12dae238f0 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md @@ -20,7 +20,6 @@ You can also use the exponentiation operator (`**`) to calculate the square of a // the exponent is 2 Math.pow(5, 2); // 25 - // using the exponentiation operator 5 ** 2; // 25 ``` diff --git a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md index d4ca8d5423..8d049d9c00 100644 --- a/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md +++ b/curriculum/challenges/chinese-traditional/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md @@ -16,7 +16,7 @@ Remember that you learned about `console.log()` and strings in the previous lect Here is a reminder of how to use `console.log()` with strings: ```js -console.log('Hello, World!'); +console.log("Hello, World!"); ``` Add a `console.log()` statement that outputs the string `"Hi there!"` to the console. Don't forget your quotes around the message! diff --git a/curriculum/challenges/chinese/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml b/curriculum/challenges/chinese/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml index 37b6917600..3ea323ff9d 100644 --- a/curriculum/challenges/chinese/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml @@ -1,10 +1,10 @@ --- id: 651dd7e01d697d0aab7833b7 -title: 开发者 A2 英语认证 +title: A2 English for Developers Certification certification: a2-english-for-developers challengeType: 7 isPrivate: true tests: - id: 651dd3e06ffb500e3f2ce478 - title: 挑战 1 + title: Challenge 1 diff --git a/curriculum/challenges/chinese/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml b/curriculum/challenges/chinese/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml index 60ed77a492..9cdf793113 100644 --- a/curriculum/challenges/chinese/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml @@ -1,10 +1,10 @@ --- id: 66607e53317411dd5e8aae21 -title: 面向开发者的 B1 英语认证 +title: B1 English for Developers Certification certification: b1-english-for-developers challengeType: 7 isPrivate: true tests: - id: 66607e5b317411dd5e8aae22 - title: "对话 1:我是汤姆" + title: "Dialogue 1: I'm Tom" diff --git a/curriculum/challenges/chinese/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml b/curriculum/challenges/chinese/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml index 7274bf1ded..d020e8c1e5 100644 --- a/curriculum/challenges/chinese/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml @@ -1,22 +1,22 @@ --- id: 561add10cb82ac38a17523bc -title: 后端开发和 API 认证 +title: Back End Development and APIs Certification certification: back-end-development-and-apis challengeType: 7 isPrivate: true tests: - id: bd7158d8c443edefaeb5bdef - title: 时间戳微服务 + title: Timestamp Microservice - id: bd7158d8c443edefaeb5bdff - title: 请求头解析器微服务 + title: Request Header Parser Microservice - id: bd7158d8c443edefaeb5bd0e - title: 短网址微服务 + title: URL Shortener Microservice - id: 5a8b073d06fa14fcfde687aa - title: 运动追踪器 + title: Exercise Tracker - id: bd7158d8c443edefaeb5bd0f - title: 文件元数据微服务 + title: File Metadata Microservice diff --git a/curriculum/challenges/chinese/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml b/curriculum/challenges/chinese/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml index 97c7a0b508..707d18c049 100644 --- a/curriculum/challenges/chinese/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml @@ -1,22 +1,22 @@ --- id: 61531b20cc9dfa2741a5b800 -title: Python 与大学代数认证 +title: College Algebra with Python Certification certification: college-algebra-with-python challengeType: 7 isPrivate: true tests: - id: 63d83ff239c73468b059cd3f - title: 创建一个多功能计算器 + title: Build a Multi-Function Calculator - id: 63d83ffd39c73468b059cd40 - title: 创建一个图形计算器 + title: Build a Graphing Calculator - id: 63d8401039c73468b059cd41 - title: 创建三个数学游戏 + title: Build Three Math Games - id: 63d8401e39c73468b059cd42 - title: 创建一个财务计算器 + title: Build a Financial Calculator - id: 63d8402e39c73468b059cd43 - title: 创建一个数据图表浏览器 + title: Build a Data Graph Explorer diff --git a/curriculum/challenges/chinese/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml b/curriculum/challenges/chinese/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml index 637cbd5a21..d867faab96 100644 --- a/curriculum/challenges/chinese/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e46fc95ac417301a38fb934 -title: Python 与数据分析认证 +title: Data Analysis with Python Certification certification: data-analysis-with-python challengeType: 7 isPrivate: true tests: - id: 5e46f7e5ac417301a38fb928 - title: 均值-方差-标准差计算器 + title: Mean-Variance-Standard Deviation Calculator - id: 5e46f7e5ac417301a38fb929 - title: 人口统计数据分析器 + title: Demographic Data Analyzer - id: 5e46f7f8ac417301a38fb92a - title: 医疗数据可视化工具 + title: Medical Data Visualizer - id: 5e46f802ac417301a38fb92b - title: 页面访问量的时间序列可视化工具 + title: Page View Time Series Visualizer - id: 5e4f5c4b570f7e3a4949899f - title: 海平面预测器 + title: Sea Level Predictor diff --git a/curriculum/challenges/chinese/00-certifications/data-visualization-certification/data-visualization-certification.yml b/curriculum/challenges/chinese/00-certifications/data-visualization-certification/data-visualization-certification.yml index 8cc479c92f..cfda40657c 100644 --- a/curriculum/challenges/chinese/00-certifications/data-visualization-certification/data-visualization-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/data-visualization-certification/data-visualization-certification.yml @@ -1,22 +1,21 @@ ---- id: 5a553ca864b52e1d8bceea14 -title: 数据可视化认证 +title: Data Visualization Certification certification: data-visualization challengeType: 7 isPrivate: true tests: - id: bd7168d8c242eddfaeb5bd13 - title: 用条形图可视化数据 + title: Visualize Data with a Bar Chart - id: bd7178d8c242eddfaeb5bd13 - title: 用散点图可视化数据 + title: Visualize Data with a Scatterplot Graph - id: bd7188d8c242eddfaeb5bd13 - title: 用热图可视化数据 + title: Visualize Data with a Heat Map - id: 587d7fa6367417b2b2512bbf - title: 用等值区域图可视化数据 + title: Visualize Data with a Choropleth Map - id: 587d7fa6367417b2b2512bc0 - title: 用树形图可视化数据 + title: Visualize Data with a Treemap Diagram diff --git a/curriculum/challenges/chinese/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml b/curriculum/challenges/chinese/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml index f42c95261d..a145a188e7 100644 --- a/curriculum/challenges/chinese/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml +++ b/curriculum/challenges/chinese/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml @@ -1,10 +1,10 @@ --- id: 647f7da207d29547b3bee1ba -title: '基础 C# 和微软认证' +title: 'Foundational C# with Microsoft Certification' certification: foundational-c-sharp-with-microsoft challengeType: 7 isPrivate: true tests: - id: 647e22d18acb466c97ccbef8 - title: '基础 C# 和微软认证考试' + title: 'Foundational C# with Microsoft Certification Exam' diff --git a/curriculum/challenges/chinese/00-certifications/front-end-development-certification/front-end-development.yml b/curriculum/challenges/chinese/00-certifications/front-end-development-certification/front-end-development.yml index bc80d9ea00..25d1e08129 100644 --- a/curriculum/challenges/chinese/00-certifications/front-end-development-certification/front-end-development.yml +++ b/curriculum/challenges/chinese/00-certifications/front-end-development-certification/front-end-development.yml @@ -1,10 +1,10 @@ --- id: 64514fda6c245de4d11eb7bb -title: 前端开发认证 +title: Front End Development Certification certification: front-end-development challengeType: 7 isPrivate: true tests: - id: 645147516c245de4d11eb7ba - title: 前端开发认证考试 + title: Front End Development Certification Exam diff --git a/curriculum/challenges/chinese/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml b/curriculum/challenges/chinese/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml index c0a1ef049a..adacd42f16 100644 --- a/curriculum/challenges/chinese/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml @@ -1,22 +1,22 @@ --- id: 561acd10cb82ac38a17513bc -title: 前端开发库认证 +title: Front End Development Libraries Certification certification: front-end-development-libraries challengeType: 7 isPrivate: true tests: - id: bd7158d8c442eddfaeb5bd13 - title: 创建一个随机引语生成器 + title: Build a Random Quote Machine - id: bd7157d8c242eddfaeb5bd13 - title: 创建一个 Markdown 文件预览器 + title: Build a Markdown Previewer - id: 587d7dbc367417b2b2512bae - title: 创建一台鼓式机器 + title: Build a Drum Machine - id: bd7158d8c442eddfaeb5bd17 - title: 创建一个 JavaScript 计算器 + title: Build a JavaScript Calculator - id: bd7158d8c442eddfaeb5bd0f - title: 创建一个番茄时钟 + title: Build a 25 + 5 Clock diff --git a/curriculum/challenges/chinese/00-certifications/information-security-certification/information-security-certification.yml b/curriculum/challenges/chinese/00-certifications/information-security-certification/information-security-certification.yml index 23e903599e..b3fba222c8 100644 --- a/curriculum/challenges/chinese/00-certifications/information-security-certification/information-security-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/information-security-certification/information-security-certification.yml @@ -1,22 +1,21 @@ ---- id: 5e6021435ac9d0ecd8b94b00 -title: 信息安全认证 +title: Information Security Certification certification: information-security challengeType: 7 isPrivate: true tests: - id: 587d824a367417b2b2512c44 - title: 股票价格检查器 + title: Stock Price Checker - id: 587d824a367417b2b2512c45 - title: 匿名留言板 + title: Anonymous Message Board - id: 5e46f979ac417301a38fb932 - title: 端口扫描器 + title: Port Scanner - id: 5e46f983ac417301a38fb933 - title: SHA-1 密码破解器 + title: SHA-1 Password Cracker - id: 5e601c775ac9d0ecd8b94aff - title: 安全的实时多人游戏 + title: Secure Real Time Multiplayer Game diff --git a/curriculum/challenges/chinese/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml b/curriculum/challenges/chinese/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml index e0bffca3f0..2b2ce86ac8 100644 --- a/curriculum/challenges/chinese/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml @@ -1,22 +1,21 @@ ---- id: 561abd10cb81ac38a17513bc -title: JavaScript 算法和数据结构认证 +title: JavaScript Algorithms and Data Structures Certification certification: javascript-algorithms-and-data-structures challengeType: 7 isPrivate: true tests: - id: aaa48de84e1ecc7c742e1124 - title: 回文检查器 + title: Palindrome Checker - id: a7f4d8f2483413a6ce226cac - title: 罗马数字转换器 + title: Roman Numeral Converter - id: 56533eb9ac21ba0edf2244e2 - title: 凯撒密码 + title: Caesars Cipher - id: aff0395860f5d3034dc0bfc9 - title: 电话号码验证器 + title: Telephone Number Validator - id: aa2e6f85cab2ab736c9a9b24 - title: 现金登记 + title: Cash Register diff --git a/curriculum/challenges/chinese/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml b/curriculum/challenges/chinese/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml index 5f1c0a9581..90d4241ee7 100644 --- a/curriculum/challenges/chinese/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml +++ b/curriculum/challenges/chinese/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml @@ -1,21 +1,21 @@ id: 658180220947283cdc0689ce -title: JavaScript 算法和数据结构(Beta)认证 +title: JavaScript Algorithms and Data Structures (Beta) Certification certification: javascript-algorithms-and-data-structures-v8 challengeType: 7 isPrivate: true tests: - id: 657bdc55a322aae1eac3838f - title: 构建一个回文检测器 + title: Build a Palindrome Checker - id: 657bdc8ba322aae1eac38390 - title: 构建一个罗马数字转换器 + title: Build a Roman Numeral Converter - id: 657bdcb9a322aae1eac38391 - title: 构建一个电话号码验证器 + title: Build a Telephone Number Validator - id: 657bdcc3a322aae1eac38392 - title: 构建一个收银机项目 + title: Build a Cash Register - id: 6555c1d3e11a1574434cf8b5 - title: 构建一个宝可梦 (Pokémon) 搜索应用程序 + title: Build a Pokémon Search App diff --git a/curriculum/challenges/chinese/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml b/curriculum/challenges/chinese/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml index f302e10bb3..aac4f8e0cb 100644 --- a/curriculum/challenges/chinese/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml @@ -1,37 +1,36 @@ ---- id: 660add10cb82ac38a17513be -title: 旧版后端认证 +title: Legacy Back End Certification certification: legacy-back-end challengeType: 7 isPrivate: true tests: - id: bd7158d8c443edefaeb5bdef - title: 时间戳微服务 + title: Timestamp Microservice - id: bd7158d8c443edefaeb5bdff - title: 请求头解析器微服务 + title: Request Header Parser Microservice - id: bd7158d8c443edefaeb5bd0e - title: 短网址微服务 + title: URL Shortener Microservice - id: bd7158d8c443edefaeb5bdee - title: 图像搜索抽象层 + title: Image Search Abstraction Layer - id: bd7158d8c443edefaeb5bd0f - title: 文件元数据微服务 + title: File Metadata Microservice - id: bd7158d8c443eddfaeb5bdef - title: 编写一个投票程序 + title: Build a Voting App - id: bd7158d8c443eddfaeb5bdff - title: 建立一个夜间生活协调程序 + title: Build a Nightlife Coordination App - id: bd7158d8c443eddfaeb5bd0e - title: 绘制股市图 + title: Chart the Stock Market - id: bd7158d8c443eddfaeb5bd0f - title: 管理一个图书交易俱乐部 + title: Manage a Book Trading Club - id: bd7158d8c443eddfaeb5bdee - title: 建立一个 Pinterest 克隆 + title: Build a Pinterest Clone diff --git a/curriculum/challenges/chinese/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml b/curriculum/challenges/chinese/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml index 4e660baf40..3066d439be 100644 --- a/curriculum/challenges/chinese/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml @@ -1,37 +1,36 @@ ---- id: 561add10cb82ac39a17513bc -title: 旧版数据可视化认证 +title: Legacy Data Visualization Certification certification: legacy-data-visualization challengeType: 7 isPrivate: true tests: - id: bd7157d8c242eddfaeb5bd13 - title: 创建一个 Markdown 文件预览器 + title: Build a Markdown Previewer - id: bd7156d8c242eddfaeb5bd13 - title: 建立一个 Camper 排行榜 + title: Build a Camper Leaderboard - id: bd7155d8c242eddfaeb5bd13 - title: 建立一个食谱盒 + title: Build a Recipe Box - id: bd7154d8c242eddfaeb5bd13 - title: 构建生命游戏 + title: Build the Game of Life - id: bd7153d8c242eddfaeb5bd13 - title: 创建 Roguelike Dungeon Crawler 游戏 + title: Build a Roguelike Dungeon Crawler Game - id: bd7168d8c242eddfaeb5bd13 - title: 用条形图可视化数据 + title: Visualize Data with a Bar Chart - id: bd7178d8c242eddfaeb5bd13 - title: 用散点图可视化数据 + title: Visualize Data with a Scatterplot Graph - id: bd7188d8c242eddfaeb5bd13 - title: 用热图可视化数据 + title: Visualize Data with a Heat Map - id: bd7198d8c242eddfaeb5bd13 - title: 用力导向图显示国家接壤 + title: Show National Contiguity with a Force Directed Graph - id: bd7108d8c242eddfaeb5bd13 - title: 全球地图数据 + title: Map Data Across the Globe diff --git a/curriculum/challenges/chinese/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml b/curriculum/challenges/chinese/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml index 9b4c9d4120..2ad2f1cb19 100644 --- a/curriculum/challenges/chinese/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml @@ -1,37 +1,36 @@ ---- id: 561add10cb82ac38a17513be -title: 旧版前端认证 +title: Legacy Front End Certification certification: legacy-front-end challengeType: 7 isPrivate: true tests: - id: bd7158d8c242eddfaeb5bd13 - title: 创建一个个人作品集页面 + title: Build a Personal Portfolio Webpage - id: bd7158d8c442eddfaeb5bd13 - title: 创建一个随机引语生成器 + title: Build a Random Quote Machine - id: bd7158d8c442eddfaeb5bd0f - title: 创建一个番茄时钟 + title: Build a 25 + 5 Clock - id: bd7158d8c442eddfaeb5bd17 - title: 创建一个 JavaScript 计算器 + title: Build a JavaScript Calculator - id: bd7158d8c442eddfaeb5bd10 - title: 显示当地天气 + title: Show the Local Weather - id: bd7158d8c442eddfaeb5bd1f - title: 使用 Twitch JSON API + title: Use the Twitch JSON API - id: bd7158d8c442eddfaeb5bd18 - title: 风格化学员故事 + title: Stylize Stories on Camper News - id: bd7158d8c442eddfaeb5bd19 - title: 创建一个维基百科查看器 + title: Build a Wikipedia Viewer - id: bd7158d8c442eedfaeb5bd1c - title: 建立一个 Tic Tac Toe 游戏 + title: Build a Tic Tac Toe Game - id: bd7158d8c442eddfaeb5bd1c - title: 创建一个西蒙游戏 + title: Build a Simon Game diff --git a/curriculum/challenges/chinese/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml b/curriculum/challenges/chinese/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml index a7bdb38f1e..9800c4a117 100644 --- a/curriculum/challenges/chinese/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml @@ -1,25 +1,24 @@ ---- id: 561add10cb82ac38a17213bd -title: 旧版全栈证书 +title: Legacy Full Stack Certification certification: legacy-full-stack challengeType: 7 isPrivate: true tests: - id: 561add10cb82ac38a17513bc - title: 响应式 Web 设计认证 + title: Responsive Web Design Certification - id: 561abd10cb81ac38a17513bc - title: JavaScript 算法和数据结构认证 + title: JavaScript Algorithms and Data Structures Certification - id: 561acd10cb82ac38a17513bc - title: 前端库认证 + title: Front End Libraries Certification - id: 5a553ca864b52e1d8bceea14 - title: 数据可视化认证 + title: Data Visualization Certification - id: 561add10cb82ac38a17523bc - title: API 和微服务认证 + title: API's and Microservices Certification - id: 561add10cb82ac38a17213bc - title: 旧版信息安全和质量保证认证 + title: Legacy Information Security and Quality Assurance Certification diff --git a/curriculum/challenges/chinese/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml b/curriculum/challenges/chinese/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml index 44743e00f3..199f3f4894 100644 --- a/curriculum/challenges/chinese/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml @@ -1,22 +1,21 @@ ---- id: 561add10cb82ac38a17213bc -title: 旧版信息安全和质量保证认证 +title: Legacy Information Security and Quality Assurance Certification certification: legacy-information-security-and-quality-assurance challengeType: 7 isPrivate: true tests: - id: 587d8249367417b2b2512c41 - title: 公英制转换器 + title: Metric-Imperial Converter - id: 587d8249367417b2b2512c42 - title: 问题追踪器 + title: Issue Tracker - id: 587d824a367417b2b2512c43 - title: 个人图书馆 + title: Personal Library - id: 587d824a367417b2b2512c44 - title: 股票价格检查器 + title: Stock Price Checker - id: 587d824a367417b2b2512c45 - title: 匿名留言板 + title: Anonymous Message Board diff --git a/curriculum/challenges/chinese/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml b/curriculum/challenges/chinese/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml index e898bb64a4..3d8683875b 100644 --- a/curriculum/challenges/chinese/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e46fc95ac417301a38fb935 -title: Python 与机器学习认证 +title: Machine Learning with Python Certification certification: machine-learning-with-python challengeType: 7 isPrivate: true tests: - id: 5e46f8d6ac417301a38fb92d - title: 剪刀石头布 + title: Rock Paper Scissors - id: 5e46f8dcac417301a38fb92e - title: 猫和狗图像分类器 + title: Cat and Dog Image Classifier - id: 5e46f8e3ac417301a38fb92f - title: 基于 KNN 的图书推荐引擎 + title: Book Recommendation Engine using KNN - id: 5e46f8edac417301a38fb930 - title: 线性回归健康成本计算器 + title: Linear Regression Health Costs Calculator - id: 5e46f8edac417301a38fb931 - title: 神经网络短信分类器 + title: Neural Network SMS Text Classifier diff --git a/curriculum/challenges/chinese/00-certifications/quality-assurance-certification/quality-assurance-certification.yml b/curriculum/challenges/chinese/00-certifications/quality-assurance-certification/quality-assurance-certification.yml index d9c74d3ab1..7d4651bd38 100644 --- a/curriculum/challenges/chinese/00-certifications/quality-assurance-certification/quality-assurance-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/quality-assurance-certification/quality-assurance-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e611829481575a52dc59c0e -title: 质量保证认证 +title: Quality Assurance Certification certification: quality-assurance challengeType: 7 isPrivate: true tests: - id: 587d8249367417b2b2512c41 - title: 公英制转换器 + title: Metric-Imperial Converter - id: 587d8249367417b2b2512c42 - title: 问题追踪器 + title: Issue Tracker - id: 587d824a367417b2b2512c43 - title: 个人图书馆 + title: Personal Library - id: 5e601bf95ac9d0ecd8b94afd - title: 数独求解器 + title: Sudoku Solver - id: 5e601c0d5ac9d0ecd8b94afe - title: 美式英语与英式英语转换器 + title: American British Translator diff --git a/curriculum/challenges/chinese/00-certifications/relational-database-certification/relational-database-certification.yml b/curriculum/challenges/chinese/00-certifications/relational-database-certification/relational-database-certification.yml index ff2c9c2eed..02094ba181 100644 --- a/curriculum/challenges/chinese/00-certifications/relational-database-certification/relational-database-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/relational-database-certification/relational-database-certification.yml @@ -1,22 +1,21 @@ ---- id: 606243f50267e718b1e755f4 -title: 关系数据库认证 +title: Relational Database Certification certification: relational-database challengeType: 7 isPrivate: true tests: - id: 5f1a4ef5d5d6b5ab580fc6ae - title: 天体数据库 + title: Celestial Bodies Database - id: 5f9771307d4d22b9d2b75a94 - title: 世界杯数据库 + title: World Cup Database - id: 5f87ac112ae598023a42df1a - title: 沙龙预约安排程序 + title: Salon Appointment Scheduler - id: 602d9ff222201c65d2a019f2 - title: 元素周期表数据库 + title: Periodic Table Database - id: 602da04c22201c65d2a019f4 - title: 猜数字游戏 + title: Number Guessing Game diff --git a/curriculum/challenges/chinese/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml b/curriculum/challenges/chinese/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml index 8b95a68e71..d0e6d17039 100644 --- a/curriculum/challenges/chinese/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml @@ -1,22 +1,21 @@ ---- id: 561add10cb82ac38a17513bc -title: 响应式 Web 设计认证 +title: Responsive Web Design Certification certification: responsive-web-design challengeType: 7 isPrivate: true tests: - id: bd7158d8c442eddfaeb5bd18 - title: 制作一个致敬页 + title: Build a Tribute Page - id: 587d78af367417b2b2512b03 - title: 制作一个调查表格 + title: Build a Survey Form - id: 587d78af367417b2b2512b04 - title: 制作一个产品登录页 + title: Build a Product Landing Page - id: 587d78b0367417b2b2512b05 - title: 制作一个技术文档页面 + title: Build a Technical Documentation Page - id: bd7158d8c242eddfaeb5bd13 - title: 制作一个个人作品集展示页 + title: Build a Personal Portfolio Webpage diff --git a/curriculum/challenges/chinese/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml b/curriculum/challenges/chinese/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml index a6fbc4a0e1..b0b734fe03 100644 --- a/curriculum/challenges/chinese/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml @@ -1,22 +1,21 @@ ---- id: 5e44431b903586ffb414c951 -title: Python 与科学计算认证 +title: Scientific Computing with Python Certification certification: scientific-computing-with-python challengeType: 7 isPrivate: true tests: - id: 5e44412c903586ffb414c94c - title: 算数格式化 + title: Arithmetic Formatter - id: 5e444136903586ffb414c94d - title: 时间计算器 + title: Time Calculator - id: 5e44413e903586ffb414c94e - title: 预算应用 + title: Budget App - id: 5e444147903586ffb414c94f - title: 多边形面积计算器 + title: Polygon Area Calculator - id: 5e44414f903586ffb414c950 - title: 概率计算器 + title: Probability Calculator diff --git a/curriculum/challenges/chinese/00-certifications/upcoming-python-certification/upcoming-python-certification.yml b/curriculum/challenges/chinese/00-certifications/upcoming-python-certification/upcoming-python-certification.yml index 5211a7e949..71963dffb5 100644 --- a/curriculum/challenges/chinese/00-certifications/upcoming-python-certification/upcoming-python-certification.yml +++ b/curriculum/challenges/chinese/00-certifications/upcoming-python-certification/upcoming-python-certification.yml @@ -1,10 +1,10 @@ --- id: 64afc4e8f3b37856e035b85f -title: 即将推出的 Python 证书 +title: Upcoming Python Certification certification: upcoming-python-certification challengeType: 7 isPrivate: true tests: - id: 64afc37bf3b37856e035b85e - title: 即将推出的 Python 项目 + title: Upcoming Python Project diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md index 4cfcf78fc0..eefd832bac 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md @@ -1,6 +1,6 @@ --- id: 587d778b367417b2b2512aa8 -title: 添加可访问的日期选择器 +title: Add an Accessible Date Picker challengeType: 0 videoUrl: 'https://scrimba.com/c/cR3bRbCV' forumTopicId: 301008 @@ -9,13 +9,13 @@ dashedName: add-an-accessible-date-picker # --description-- -表单中经常出现 `input` 标签,它可以用来创建多种表单控件。 它的 `type` 属性指定了所要创建的 `input` 标签类型。 +Forms often include the `input` field, which can be used to create several different form controls. The `type` attribute on this element indicates what kind of `input` element will be created. -在以前的挑战中,我们已经见过 `text` 与 `submit` 类型的 input 标签。 HTML5 规范添加了 `date` 类型来创建日期选择器。 如果浏览器支持,在点击 `input` 标签时,日期选择器会显示出来,这让用户填写表单变得更加容易。 +You may have noticed the `text` and `submit` input types in prior challenges, and HTML5 introduced an option to specify a `date` field. Depending on browser support, a date picker shows up in the `input` field when it's in focus, which makes filling in a form easier for all users. -对于较老的浏览器,类型将默认为 `text`, 这样它可以通过 `label` 或 `placeholder` 文本向用户显示预期的日期格式。 +For older browsers, the type will default to `text`, so it helps to show users the expected date format in the `label` or `placeholder` text just in case. -举个例子: +Here's an example: ```html @@ -24,29 +24,29 @@ dashedName: add-an-accessible-date-picker # --instructions-- -Camper Cat 想举办一场比武大会,他想收集参赛者的最佳参赛时间。 请为 Camper Cat 的页面添加一个`input` 标签,起 `type` 属性值为 `date`,`id` 属性为 `pickdate`,`name` 属性为 `date`。 +Camper Cat is setting up a Mortal Kombat tournament and wants to ask his competitors to see what date works best. Add an `input` tag with a `type` attribute of `date`, an `id` attribute of `pickdate`, and a `name` attribute of `date`. # --hints-- -日期选择器应有一个 `input` 标签。 +Your code should add one `input` tag for the date selector field. ```js assert.lengthOf(document.querySelectorAll('input'), 2); ``` -`input` 标签应有一个值为 `date` 的 `type` 属性。 +Your `input` tag should have a `type` attribute with a value of `date`. ```js assert.equal(document.querySelector('input')?.getAttribute('type'), 'date'); ``` -`input` 标签应有一个值为 `pickdate` 的 `id` 属性。 +Your `input` tag should have an `id` attribute with a value of `pickdate`. ```js assert.equal(document.querySelector('input')?.getAttribute('id'),'pickdate'); ``` -`input` 标签应有一个值为 `date` 的 `name` 属性。 +Your `input` tag should have a `name` attribute with a value of `date`. ```js assert.equal(document.querySelector('input')?.getAttribute('name'), 'date'); diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md index 78e4e0aa84..97e1a79043 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md @@ -1,6 +1,6 @@ --- id: 587d7787367417b2b2512aa1 -title: 使用 header 元素来让屏幕阅读器更容易进行导航 +title: Make Screen Reader Navigation Easier with the header Landmark challengeType: 0 videoUrl: 'https://scrimba.com/c/cB76vtv' forumTopicId: 301023 @@ -9,25 +9,25 @@ dashedName: make-screen-reader-navigation-easier-with-the-header-landmark # --description-- -`header` 也是一个具有语义化的、可以提升页面可访问性的 HTML5 标签。 它可以为父级标签呈现简介信息或者导航链接,适用于那些在多个页面顶部重复出现的内容。 +The next HTML5 element that adds semantic meaning and improves accessibility is the `header` tag. It's used to wrap introductory information or navigation links for its parent tag and works well around content that's repeated at the top on multiple pages. -与 `main` 类似,`header` 的语义化特性也可以让辅助工具快速定位到它的内容。 +`header` shares the embedded landmark feature you saw with `main`, allowing assistive technologies to quickly navigate to that content. -**注意:** `header` 应当在 HTML 文档的 `body` 标签内使用。 它与包含页面标题、元信息的 `head` 标签不同。 +**Note:** The `header` is meant for use in the `body` tag of your HTML document. It is different than the `head` element, which contains the page's title, meta information, etc. # --instructions-- -Camper Cat 正在创作一些训练忍者的精彩文章,并打算为这些文章创建一个新的页面。 请把包含 `h1` 的 `div` 标签替换为 `header` 标签。 +Camper Cat is writing some great articles about ninja training, and wants to add a page for them to his site. Change the top `div` that currently contains the `h1` to a `header` tag instead. # --hints-- -应该存在一个 `header` 标签。 +Your code should have one `header` tag. ```js assert.lengthOf(document.querySelectorAll('header'),1); ``` -`header` 标签中应包含 `h1`。 +Your `header` tags should wrap around the `h1`. ```js const header = document.querySelector('header'); @@ -35,13 +35,13 @@ const children = header?.querySelectorAll(`:scope ${'h1'}`); assert.lengthOf(children , 1); ``` -不应存在 `div` 标签。 +Your code should not have any `div` tags. ```js assert.lengthOf(document.querySelectorAll('div') , 0); ``` -确保 `header` 标签是闭合的。 +Your `header` element should have a closing tag. ```js assert.isTrue(code.match(/<\/header>/g)?.length === code.match(/
/g)?.length); diff --git a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md index 65210042ff..521c762591 100644 --- a/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md +++ b/curriculum/challenges/chinese/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md @@ -1,6 +1,6 @@ --- id: 587d7788367417b2b2512aa2 -title: 使用 nav 元素使屏幕阅读器更容易导航 +title: Make Screen Reader Navigation Easier with the nav Landmark challengeType: 0 videoUrl: 'https://scrimba.com/c/czVwWSv' forumTopicId: 301024 @@ -9,23 +9,23 @@ dashedName: make-screen-reader-navigation-easier-with-the-nav-landmark # --description-- -`nav` 也是一个具有语义化特性的 HTML5 标签,它可以使屏幕阅读器快速识别出页面中的导航信息。 它用于呈现页面中的主导航链接。 +The `nav` element is another HTML5 item with the embedded landmark feature for easy screen reader navigation. This tag is meant to wrap around the main navigation links in your page. -对于在多个页面底部出现的站点链接,我们不需要使用 `nav` 标签。 我们将会在下个挑战中学习 `footer` 标签的使用。 +If there are repeated site links at the bottom of the page, it isn't necessary to markup those with a `nav` tag as well. Using a `footer` (covered in the next challenge) is sufficient. # --instructions-- -Camper Cat 在他的忍者训练页面顶端放置了多个导航链接,但这些链接都写在了 `div` 中。 请将 `div` 标签更改为 `nav` 标签,以提升页面的可访问性。 +Camper Cat included navigation links at the top of his training page, but wrapped them in a `div`. Change the `div` to a `nav` tag to improve the accessibility on his page. # --hints-- -应存在一个 `nav` 标签。 +Your code should have one `nav` tag. ```js assert.lengthOf(document.querySelectorAll('nav') , 1); ``` -`nav` 标签应包含 `ul` 标签及其列表项。 +Your `nav` tags should wrap around the `ul` and its list items. ```js const nav = document.querySelector('nav'); @@ -33,13 +33,13 @@ const children = nav?.querySelectorAll(`:scope ${'ul'}`); assert.lengthOf(children,1); ``` -不应存在 `div` 标签。 +Your code should not have any `div` tags. ```js assert.lengthOf(document.querySelectorAll('div') , 0); ``` -确保 `nav` 标签是闭合的。 +Your `nav` element should have a closing tag. ```js assert.isTrue(code.match(/<\/nav>/g)?.length === code.match(/
-14 = 2×7 +The first three consecutive numbers to have three distinct prime factors are:
644 = 22 × 7 × 23
@@ -23,7 +23,7 @@ The first two consecutive numbers to have two distinct prime factors are: 646 = 2 × 17 × 19
-找到前四个连续的整数,每个整数有四个不同的素数因子。 这些数字中的第一个是什么? +Find the first four consecutive integers to have four distinct prime factors each. What is the first of these numbers? # --hints-- diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-1-to-100/problem-56-powerful-digit-sum.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-1-to-100/problem-56-powerful-digit-sum.md index 3514031245..e445973f33 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-1-to-100/problem-56-powerful-digit-sum.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-1-to-100/problem-56-powerful-digit-sum.md @@ -1,6 +1,6 @@ --- id: 5900f3a41000cf542c50feb7 -title: '问题56:强大的数字总和' +title: 'Problem 56: Powerful digit sum' challengeType: 1 forumTopicId: 302167 dashedName: problem-56-powerful-digit-sum diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-1-to-100/problem-88-product-sum-numbers.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-1-to-100/problem-88-product-sum-numbers.md index 44f50cab80..4677989639 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-1-to-100/problem-88-product-sum-numbers.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-1-to-100/problem-88-product-sum-numbers.md @@ -1,6 +1,6 @@ --- id: 5900f3c51000cf542c50fed6 -title: '问题88:产品总和数' +title: 'Problem 88: Product-sum numbers' challengeType: 1 forumTopicId: 302203 dashedName: problem-88-product-sum-numbers diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-105-special-subset-sums-testing.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-105-special-subset-sums-testing.md index 2b338a9e72..1636463728 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-105-special-subset-sums-testing.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-105-special-subset-sums-testing.md @@ -1,6 +1,6 @@ --- id: 5900f3d61000cf542c50fee8 -title: '问题 105:特殊子集和:测试' +title: 'Problem 105: Special subset sums: testing' challengeType: 1 forumTopicId: 301729 dashedName: problem-105-special-subset-sums-testing @@ -11,17 +11,17 @@ dashedName: problem-105-special-subset-sums-testing Let $S(A)$ represent the sum of elements in set A of size n. We shall call it a special sum set if for any two non-empty disjoint subsets, B and C, the following properties are true: 1. $S(B) ≠ S(C)$; that is, sums of subsets cannot be equal. -2. 如果 B 包含的元素多于 C,则 $S(B) > S(C)$。 +2. If B contains more elements than C then $S(B) > S(C)$. -例如,{81, 88, 75, 42, 87, 84, 86, 65} 不是特殊和集,因为 65 + 87 + 88 = 75 + 81 + 84,而 {157, 150, 164, 119, 79, 159, 161, 139, 158} 满足所有可能的子集对组合的规则和 $S(A) = 1286$。 +For example, {81, 88, 75, 42, 87, 84, 86, 65} is not a special sum set because 65 + 87 + 88 = 75 + 81 + 84, whereas {157, 150, 164, 119, 79, 159, 161, 139, 158} satisfies both rules for all possible subset pair combinations and $S(A) = 1286$. -使用 `sets`,一个一百个集合的数组,包含七到十二个元素(上面给出的两个例子是前两个集合),识别所有的特殊和集,$A_1, A_2, \ldots, A_k$,并求出 $(A_1) + S(A_2) + \cdots + S(A_k)$ 的值。 +Using `sets`, an array with one-hundred sets, containing seven to twelve elements (the two examples given above are the first two sets), identify all the special sum sets, $A_1, A_2, \ldots, A_k$, and find the value of $(A_1) + S(A_2) + \cdots + S(A_k)$. -**注意:** 此问题与问题 103 和问题 106 相关。 +**Note:** This problem is related to Problem 103 and Problem 106. # --hints-- -`testingSpecialSubsetSums(testSets)` 应该返回 `73702`。 +`testingSpecialSubsetSums(testSets)` should return `73702`. ```js assert.strictEqual(testingSpecialSubsetSums(_testSets), 73702); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-109-darts.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-109-darts.md index 637c32c6c7..47034cdd92 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-109-darts.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-109-darts.md @@ -1,6 +1,6 @@ --- id: 5900f3db1000cf542c50feec -title: '问题 109:飞镖' +title: 'Problem 109: Darts' challengeType: 1 forumTopicId: 301733 dashedName: problem-109-darts @@ -10,15 +10,15 @@ dashedName: problem-109-darts In the game of darts a player throws three darts at a target board which is split into twenty equal sized sections numbered one to twenty. -黑色棋盘 +Darts board -The score of a dart is determined by the number of the region that the dart lands in. A dart landing outside the red/green outer ring scores zero. The black and cream regions inside this ring represent single scores. 然而,红/绿外环和中环得分分别是双倍和三倍。 +The score of a dart is determined by the number of the region that the dart lands in. A dart landing outside the red/green outer ring scores zero. The black and cream regions inside this ring represent single scores. However, the red/green outer ring and middle ring score double and treble scores respectively. -在棋盘的中心是两个同心圆,称为牛市区域或靶心。 外牛市价值 25 分,内牛市双倍,价值 50 分。 +At the center of the board are two concentric circles called the bull region, or bulls-eye. The outer bull is worth 25 points and the inner bull is a double, worth 50 points. -规则有很多变化,但在最流行的游戏中,玩家将以 301 或 501 的分数开始,第一个将总分减少到零的玩家是赢家。 但是,玩“双打”系统是正常的,这意味着玩家必须在最后一个飞镖上打出一个双打(包括棋盘中央的双靶心)才能获胜;任何其他将其总得分减少到一个或更低的飞镖意味着该组三个飞镖的得分为“失败”。 +There are many variations of rules but in the most popular game the players will begin with a score of 301 or 501 and the first player to reduce their running total to zero is a winner. However, it is normal to play a "doubles out" system, which means that the player must land a double (including the double bulls-eye at the center of the board) on their final dart to win; any other dart that would reduce their running total to one or lower means the score for that set of three darts is "bust". -当玩家能够完成他们当前的分数时,它被称为“结账”,最高结账是 170:T20 T20 D25(两个高音 20 秒和双牛)。 有 11 种不同的方式可以在 6 分的情况下结账: +When a player is able to finish on their current score it is called a "checkout" and the highest checkout is 170: T20 T20 D25 (two treble 20s and double bull). There are exactly eleven distinct ways to checkout on a score of 6: $$\begin{array} \text{D3} & & \\\\ D1 & D2 & \\\\ S2 & D2 & \\\\ @@ -27,11 +27,11 @@ $$\begin{array} \text{D3} & & \\\\ S1 & S3 & D1 \\\\ D1 & D1 & D1 \\\\ D1 & S2 & D1 \\\\ S2 & S2 & D1 \end{array}$$ -请注意,D1 D2 被认为与 D2 D1 不同,因为他们完成了不同的双打。 然而,组合 S1 T1 D1 被认为与 T1 S1 D1 相同。 此外,我们在考虑组合时不应包括未命中;例如,D3 与 0 D3 和 0 0 D3 相同。 令人难以置信的是,总共有 42336 种不同的结账方式。 得分低于 100 的玩家可以通过多少种不同的方式进行结账? +Note that D1 D2 is considered different from D2 D1 as they finish on different doubles. However, the combination S1 T1 D1 is considered the same as T1 S1 D1. In addition, we shall not include misses in considering combinations; for example, D3 is the same as 0 D3 and 0 0 D3. Incredibly there are 42336 distinct ways of checking out in total. How many distinct ways can a player checkout with a score less than 100? # --hints-- -`darts()` 应该返回 `38182`。 +`darts()` should return `38182`. ```js assert.strictEqual(darts(), 38182); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-124-ordered-radicals.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-124-ordered-radicals.md index 4564a55caf..899171a973 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-124-ordered-radicals.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-124-ordered-radicals.md @@ -1,6 +1,6 @@ --- id: 5900f3e81000cf542c50fefb -title: '问题 124:根数排序' +title: 'Problem 124: Ordered radicals' challengeType: 1 forumTopicId: 301751 dashedName: problem-124-ordered-radicals @@ -10,7 +10,7 @@ dashedName: problem-124-ordered-radicals The radical of $n$, $rad(n)$, is the product of the distinct prime factors of $n$. For example, $504 = 2^3 × 3^2 × 7$, so $rad(504) = 2 × 3 × 7 = 42$. -如果我们为 $1 ≤ n ≤ 10$ 计算 $rad(n)$,然后按 $rad(n)$ 对它们进行排序,如果部首值相等则按 $n$ 排序,我们得到: +If we calculate $rad(n)$ for $1 ≤ n ≤ 10$, then sort them on $rad(n)$, and sorting on $n$ if the radical values are equal, we get:
@@ -112,11 +112,11 @@ The radical of $n$, $rad(n)$, is the product of the distinct prime factors of $n

-记 $E(k)$ 为已经排序的 $n$ 列中的第 $k$ 个元素;例如,$E(4) = 8$ 且 $E(6) = 9$。 如果 $rad(n)$ 按 $1 ≤ n ≤ 100000$ 排序,找到 $E(10000)$。 +Let $E(k)$ be the $k$th element in the sorted $n$ column; for example, $E(4) = 8$ and $E(6) = 9$. If $rad(n)$ is sorted for $1 ≤ n ≤ 100000$, find $E(10000)$. # --hints-- -`orderedRadicals()` 应该返回 `21417`。 +`orderedRadicals()` should return `21417`. ```js assert.strictEqual(orderedRadicals(), 21417); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-133-repunit-nonfactors.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-133-repunit-nonfactors.md index c2ccd4abc0..ee861a1442 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-133-repunit-nonfactors.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-133-repunit-nonfactors.md @@ -1,6 +1,6 @@ --- id: 5900f3f21000cf542c50ff04 -title: '问题 133:纯元数非因子' +title: 'Problem 133: Repunit nonfactors' challengeType: 1 forumTopicId: 301761 dashedName: problem-133-repunit-nonfactors @@ -10,15 +10,15 @@ dashedName: problem-133-repunit-nonfactors A number consisting entirely of ones is called a repunit. We shall define $R(k)$ to be a repunit of length $k$; for example, $R(6) = 111111$. -让我们考虑形式为 $R({10}^n)$ 的纯元数。 +Let us consider repunits of the form $R({10}^n)$. -尽管 $R(10)$、$R(100)$ 或 $R(1000)$ 不能被 17 整除,但 $R(10000)$ 可以被 17 整除。 然而没有 $R({10}^n)$ 可以被 19 整除。 值得注意的是,11、17、41 和 73 是仅有的四个小于 100 的质数可以是 $R({10}^n)$ 的因数。 +Although $R(10)$, $R(100)$, or $R(1000)$ are not divisible by 17, $R(10000)$ is divisible by 17. Yet there is no value of n for which $R({10}^n)$ will divide by 19. Remarkably, 11, 17, 41, and 73 are the only four primes below one-hundred that can be a factor of $R({10}^n)$. -求十万以内不能成为 $R({10}^n)$ 因子的素数的和。 +Find the sum of all the primes below one-hundred thousand that will never be a factor of $R({10}^n)$. # --hints-- -`repunitNonfactors()` 应该返回 `453647705`。 +`repunitNonfactors()` should return `453647705`. ```js assert.strictEqual(repunitNonfactors(), 453647705); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-140-modified-fibonacci-golden-nuggets.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-140-modified-fibonacci-golden-nuggets.md index 41cb04d818..bdd6612a63 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-140-modified-fibonacci-golden-nuggets.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-140-modified-fibonacci-golden-nuggets.md @@ -1,6 +1,6 @@ --- id: 5900f3fa1000cf542c50ff0c -title: '问题 140:改进的斐波那契金块' +title: 'Problem 140: Modified Fibonacci golden nuggets' challengeType: 1 forumTopicId: 301769 dashedName: problem-140-modified-fibonacci-golden-nuggets @@ -10,9 +10,9 @@ dashedName: problem-140-modified-fibonacci-golden-nuggets Consider the infinite polynomial series $A_G(x) = xG_1 + x^2G_2 + x^3G_3 + \cdots$, where $G_k$ is the $k$th term of the second order recurrence relation $G_k = G_{k − 1} + G_{k − 2}, G_1 = 1$ and $G_2 = 4$; that is, $1, 4, 5, 9, 14, 23, \ldots$. -在这个问题中,我们关注的是那些使得 $A_G(x)$ 为正整数的 $x$ 的值。 +For this problem we shall be concerned with values of $x$ for which $A_G(x)$ is a positive integer. -前五个对应的自然数 $x$ 如下。 +The corresponding values of $x$ for the first five natural numbers are shown below. | $x$ | $A_G(x)$ | | ----------------------------- | -------- | @@ -22,11 +22,11 @@ Consider the infinite polynomial series $A_G(x) = xG_1 + x^2G_2 + x^3G_3 + \cdot | $\frac{\sqrt{137} − 5}{14}$ | $4$ | | $\frac{1}{2}$ | $5$ | -当 $x$ 是有理数时,我们称 $A_G(x)$ 是一个金砖,因为这样的数字逐渐变得稀少;例如,第 20 个金砖是 211345365。 请计算出前三十个金砖之和。 +We shall call $A_G(x)$ a golden nugget if $x$ is rational because they become increasingly rarer; for example, the 20th golden nugget is 211345365. Find the sum of the first thirty golden nuggets. # --hints-- -`modifiedGoldenNuggets()` 应该返回 `5673835352990` +`modifiedGoldenNuggets()` should return `5673835352990` ```js assert.strictEqual(modifiedGoldenNuggets(), 5673835352990); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-148-exploring-pascals-triangle.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-148-exploring-pascals-triangle.md index ebb0b82833..d30e62b544 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-148-exploring-pascals-triangle.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-148-exploring-pascals-triangle.md @@ -1,6 +1,6 @@ --- id: 5900f4021000cf542c50ff14 -title: '问题 148:帕斯卡三角形的研究' +title: 'Problem 148: Exploring Pascal''s triangle' challengeType: 1 forumTopicId: 301777 dashedName: problem-148-exploring-pascals-triangle @@ -20,15 +20,15 @@ We can easily verify that none of the entries in the first seven rows of Pascal' 1 6 15 20 15 6 1 ``` -但是如果我们检查前一百行,会发现在 5050 个数中只有 2361 个数字不能被 7 整除。 +However, if we check the first one hundred rows, we will find that only 2361 of the 5050 entries are not divisible by 7. # --instructions-- -请找出帕斯卡三角形前十亿(${10}^9$)行中不能被 7 整除的数的个数。 +Find the number of entries which are not divisible by 7 in the first one billion (${10}^9$) rows of Pascal's triangle. # --hints-- -`entriesOfPascalsTriangle()` 应该返回 `2129970655314432`。 +`entriesOfPascalsTriangle()` should return `2129970655314432`. ```js assert.strictEqual(entriesOfPascalsTriangle(), 2129970655314432); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-154-exploring-pascals-pyramid.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-154-exploring-pascals-pyramid.md index 755d607bd8..cf5c6b242f 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-154-exploring-pascals-pyramid.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-154-exploring-pascals-pyramid.md @@ -1,6 +1,6 @@ --- id: 5900f4071000cf542c50ff19 -title: '问题 154:探索帕斯卡金字塔' +title: 'Problem 154: Exploring Pascal''s pyramid' challengeType: 1 forumTopicId: 301785 dashedName: problem-154-exploring-pascals-pyramid @@ -10,17 +10,17 @@ dashedName: problem-154-exploring-pascals-pyramid A triangular pyramid is constructed using spherical balls so that each ball rests on exactly three balls of the next lower level. -用球形搭建的四级三角形金字塔 +triangular pyramid constructed using spherical balls with four levels -然后,我们计算从顶点到每个位置的路径数量:路径从顶点开始并向下前进到当前位置正下方的三个球体中的任何一个。 因此,到达某个位置的路径数是紧接在其上方的数字的总和(取决于位置,在其上方最多有三个数字)。 +Then, we calculate the number of paths leading from the apex to each position: A path starts at the apex and progresses downwards to any of the three spheres directly below the current position. Consequently, the number of paths to reach a certain position is the sum of the numbers immediately above it (depending on the position, there are up to three numbers above it). -其结果是帕斯卡金字塔(Pascal's pyramid),每个级别 n 的数字是三项式 ${(x + y + z)}^n$ 展开的系数. +The result is Pascal's pyramid and the numbers at each level n are the coefficients of the trinomial expansion ${(x + y + z)}^n$. -${(x + y + z)}^{200000}$ 的展开式中有多少个系数是 ${10}^{12}$ 的倍数? +How many coefficients in the expansion of ${(x + y + z)}^{200000}$ are multiples of ${10}^{12}$? # --hints-- -`pascalsPyramid()` 应该返回 `479742450`。 +`pascalsPyramid()` should return `479742450`. ```js assert.strictEqual(pascalsPyramid(), 479742450); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-167-investigating-ulam-sequences.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-167-investigating-ulam-sequences.md index 987ed6d6e7..37f3fd53c2 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-167-investigating-ulam-sequences.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-167-investigating-ulam-sequences.md @@ -1,6 +1,6 @@ --- id: 5900f4141000cf542c50ff26 -title: '问题167:研究Ulam序列' +title: 'Problem 167: Investigating Ulam sequences' challengeType: 1 forumTopicId: 301801 dashedName: problem-167-investigating-ulam-sequences @@ -10,11 +10,11 @@ dashedName: problem-167-investigating-ulam-sequences For two positive integers $a$ and $b$, the Ulam sequence $U(a,b)$ is defined by ${U{(a,b)}\_1} = a$, ${U{(a,b)}\_2} = b$ and for $k > 2$, ${U{(a,b)}\_k}$ is the smallest integer greater than ${U{(a,b)}\_{(k-1)}}$ which can be written in exactly one way as the sum of two distinct previous members of $U(a,b)$. -例如,序列 $U(1,2)$ 开头以 +For example, the sequence $U(1,2)$ begins with $$1, 2, 3 = 1 + 2, 4 = 1 + 3, 6 = 2 + 4, 8 = 2 + 6, 11 = 3 + 8$$ -5 不属于它,因为5=1+4=2+3有两个方法,是两个前成员的总和。 同样,$7=$1+6=$3+4$。 +5 does not belong to it because $5 = 1 + 4 = 2 + 3$ has two representations as the sum of two previous members, likewise $7 = 1 + 6 = 3 + 4$. Find $\sum {U(2, 2n + 1)_k}$ for $2 ≤ n ≤ 10$, where $k = {10}^{11}$. diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-168-number-rotations.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-168-number-rotations.md index d30c5104d6..5080241537 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-168-number-rotations.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-168-number-rotations.md @@ -1,6 +1,6 @@ --- id: 5900f4151000cf542c50ff27 -title: '问题168:数字轮换' +title: 'Problem 168: Number Rotations' challengeType: 1 forumTopicId: 301802 dashedName: problem-168-number-rotations @@ -10,15 +10,15 @@ dashedName: problem-168-number-rotations Consider the number 142857. We can right-rotate this number by moving the last digit (7) to the front of it, giving us 714285. -它可以验证714285美元=5 × 142857美元。 +It can be verified that $714285 = 5 × 142857$. -这证明了142857的一个不寻常的属性:它是右旋的除数 +This demonstrates an unusual property of 142857: it is a divisor of its right-rotation. -对于数字$a$和$b$的整数,都有这个属性 找到所有整数$n$的最后5位数,$10^a < n < 10^b$, 都有这个属性 +For integer number of digits $a$ and $b$, find the last 5 digits of the sum of all integers $n$, $10^a < n < 10^b$, that have this property. # --hints-- -`数字轮转(2, 10)`应该返回`98311`. +`numberRotations(2, 10)` should return `98311`. ```js assert.strictEqual(numberRotations(2, 10), 98311); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md index 64013d80e4..eee7cba85b 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-173-using-up-to-one-million-tiles-how-many-different-hollow-square-laminae-can-be-formed.md @@ -1,7 +1,7 @@ --- id: 5900f41a1000cf542c50ff2c title: >- - 问题173:使用多达一百万个瓷砖可以形成多少个不同的“空心”方形薄片? + Problem 173: Using up to one million tiles how many different "hollow" square laminae can be formed? challengeType: 1 forumTopicId: 301808 dashedName: >- diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-178-step-numbers.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-178-step-numbers.md index c62417c0cf..22f44139de 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-178-step-numbers.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-178-step-numbers.md @@ -1,6 +1,6 @@ --- id: 5900f41e1000cf542c50ff31 -title: '问题178:步骤编号' +title: 'Problem 178: Step Numbers' challengeType: 1 forumTopicId: 301813 dashedName: problem-178-step-numbers @@ -10,7 +10,7 @@ dashedName: problem-178-step-numbers Consider the number 45656. -有多少pandigital步数小于1040? +It can be seen that each pair of consecutive digits of 45656 has a difference of one. A number for which every pair of consecutive digits has a difference of one is called a step number. diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-182-rsa-encryption.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-182-rsa-encryption.md index 6f325b00a4..e971434b3e 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-182-rsa-encryption.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-182-rsa-encryption.md @@ -1,6 +1,6 @@ --- id: 5900f4231000cf542c50ff35 -title: '问题182:RSA 加密' +title: 'Problem 182: RSA encryption' challengeType: 1 forumTopicId: 301818 dashedName: problem-182-rsa-encryption @@ -10,45 +10,45 @@ dashedName: problem-182-rsa-encryption The RSA encryption is based on the following procedure: -生成两个截然不同的素数 `p` and `q`. 计算 `n=p*q` and `φ=(p-1)(q-1)`。 寻找一个整数 `e`, `1 < e < φ`, such that `gcd(e,φ) = 1` +Generate two distinct primes `p` and `q`. Compute `n=p*q` and `φ=(p-1)(q-1)`. Find an integer `e`, `1 < e < φ`, such that `gcd(e,φ) = 1` -有个信息在这个系统中是个数字在这个时间间隔 `[0,n-1]`. 将要加密的内容会以某种方式转换为消息(数字在这个间隔 `[0,n-1]`)。 为了加密内容,计算每条消息的 `m`, c=me mod n 。 +A message in this system is a number in the interval `[0,n-1]`. A text to be encrypted is then somehow converted to messages (numbers in the interval `[0,n-1]`). To encrypt the text, for each message, `m`, c=me mod n is calculated. -为了解密内容,以下程序是必须的:计算 `d` such that `ed=1 mod φ`then for each encrypted message,`c`, calculate m=cd mod n。 +To decrypt the text, the following procedure is needed: calculate `d` such that `ed=1 mod φ`, then for each encrypted message, `c`, calculate m=cd mod n. -存在的数值是`e` and `m` such that me mod n = m. 我们调用消息 `m` me mod n=m 未隐藏的消息。 +There exist values of `e` and `m` such that me mod n = m. We call messages `m` for which me mod n=m unconcealed messages. -当选择 `e` 出现了一个问题就是不应该有太多未隐藏的消息。 例如,让 `p=19` and `q=37`。 然后 `n=19*37=703` and `φ=18*36=648`. 如果我们选择 `e=181`, 那么, 尽管 `gcd(181,648)=1` 结果显示所有可能信息 m`(0≤m≤n-1)` 是未隐藏的当在计算 me mod n. 对于任何有效的选择 `e` 都存在一些未隐藏的消息。 重要的是,未隐藏的消息数量必须是最低的。 +An issue when choosing `e` is that there should not be too many unconcealed messages. For instance, let `p=19` and `q=37`. Then `n=19*37=703` and `φ=18*36=648`. If we choose `e=181`, then, although `gcd(181,648)=1` it turns out that all possible messages m `(0≤m≤n-1)` are unconcealed when calculating me mod n. For any valid choice of `e` there exist some unconcealed messages. It's important that the number of unconcealed messages is at a minimum. -对于任何指定 `p` 和 `q`, 寻找所有值的总和 `e`, `1 < e < φ(p,q)`和 `gcd(e,φ)=1`, 因此此值的 `e` 的未隐藏消息数量是最低的。 +For any given `p` and `q`, find the sum of all values of `e`, `1 < e < φ(p,q)` and `gcd(e,φ)=1`, so that the number of unconcealed messages for this value of `e` is at a minimum. # --hints-- -`RSAEncryption` 应该是一个函数。 +`RSAEncryption` should be a function. ```js assert(typeof RSAEncryption === 'function') ``` -`RSAEncryption` 应该返回个数字 +`RSAEncryption` should return a number. ```js assert.strictEqual(typeof RSAEncryption(19, 37), 'number'); ``` -`RSAEncryption(19, 37)` 返回 `17766`。 +`RSAEncryption(19, 37)` should return `17766`. ```js assert.strictEqual(RSAEncryption(19, 37), 17766); ``` -`RSAEncryption(283, 409)` 返回 `466196580`. +`RSAEncryption(283, 409)` should return `466196580`. ```js assert.strictEqual(RSAEncryption(283, 409), 466196580); ``` -`RSAEncryption(1009, 3643)` 应该返回 `399788195976`. +`RSAEncryption(1009, 3643)` should return `399788195976`. ```js assert.strictEqual(RSAEncryption(19, 37), 17766); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-186-connectedness-of-a-network.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-186-connectedness-of-a-network.md index 71746ae942..8d1fed78cd 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-186-connectedness-of-a-network.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-101-to-200/problem-186-connectedness-of-a-network.md @@ -1,6 +1,6 @@ --- id: 5900f4281000cf542c50ff39 -title: '问题186:网络连接' +title: 'Problem 186: Connectedness of a network' challengeType: 1 forumTopicId: 301822 dashedName: problem-186-connectedness-of-a-network @@ -10,28 +10,28 @@ dashedName: problem-186-connectedness-of-a-network Here are the records from a busy telephone system with one million users: -| RecNr | 呼叫者 | 已拨打电话 | +| RecNr | Caller | Called | | ----- | ------ | ------ | | 1 | 200007 | 100053 | | 2 | 600183 | 500439 | | 3 | 600863 | 701497 | | ... | ... | ... | -打电话者的电话号码和接电话者的电话号码在记录里 $n$ 是 $Caller(n) = S_{2n - 1}$ 和 $Called(n) = S_{2n}$ 当${S}_{1,, 3,\ldots}$ 来自 "Lagged Fibonacci Generator": +The telephone number of the caller and the called number in record $n$ are $Caller(n) = S_{2n - 1}$ and $Called(n) = S_{2n}$ where ${S}_{1,2,3,\ldots}$ come from the "Lagged Fibonacci Generator": -对于$1 ≤ k ≤ 55$, $S_k = [100003 - 200003k + 300007{k}^3]\\;(\text{modulo}\\;1000000)$ +For $1 ≤ k ≤ 55$, $S_k = [100003 - 200003k + 300007{k}^3]\\;(\text{modulo}\\;1000000)$ -对于$56 ≤ k$, $S_k = [S_{k - 24} + S_{k - 55}]\\;(\text{modulo}\\;1000000)$ +For $56 ≤ k$, $S_k = [S_{k - 24} + S_{k - 55}]\\;(\text{modulo}\\;1000000)$ -如果$Caller(n) = Called(n)$,则假定用户误操作并且呼叫失败; 否则通话成功。 +If $Caller(n) = Called(n)$ then the user is assumed to have misdialled and the call fails; otherwise the call is successful. -从记录一开始,我们就说任何用户 $X$ 和 $Y$ 都是朋友如果 $X$ 打电话给 $Y$ 或反之亦然。 类似地, $X$ 是 $Z$ 的朋友,如果 $X$ 是 $Y$ 的朋友, $Y$ 是 $Z$的朋友; 等于更长的链。 +From the start of the records, we say that any pair of users $X$ and $Y$ are friends if $X$ calls $Y$ or vice-versa. Similarly, $X$ is a friend of a friend of $Z$ if $X$ is a friend of $Y$ and $Y$ is a friend of $Z$; and so on for longer chains. -总理的电话号码为524287。 After how many successful calls, not counting misdials, will 99% of the users (including the PM) be a friend, or a friend of a friend etc., of the Prime Minister? +The Prime Minister's phone number is 524287. After how many successful calls, not counting misdials, will 99% of the users (including the PM) be a friend, or a friend of a friend etc., of the Prime Minister? # --hints-- -`connectednessOfANetwork()` 应该返回`2325629` +`connectednessOfANetwork()` should return `2325629`. ```js assert.strictEqual(connectednessOfANetwork(), 2325629); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-213-flea-circus.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-213-flea-circus.md index ae3fa4df2f..a18eb63525 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-213-flea-circus.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-213-flea-circus.md @@ -1,6 +1,6 @@ --- id: 5900f4411000cf542c50ff54 -title: '问题213:跳蚤马戏团' +title: 'Problem 213: Flea Circus' challengeType: 1 forumTopicId: 301855 dashedName: problem-213-flea-circus @@ -10,9 +10,9 @@ dashedName: problem-213-flea-circus A 30×30 grid of squares contains 900 fleas, initially one flea per square. -当响铃响起时,每个跳蚤随机跳到相邻的广场(通常有4种可能,除了网格边缘或角落处的跳蚤)。 +When a bell is rung, each flea jumps to an adjacent square at random (usually 4 possibilities, except for fleas on the edge of the grid or at the corners). -在响铃50次后,预计的未占用方格数量是多少? 将您的答案四舍五入到小数点后六位。 +What is the expected number of unoccupied squares after 50 rings of the bell? Give your answer rounded to six decimal places. # --hints-- diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md index beb96099de..3dbeca51b3 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-253-tidying-up.md @@ -1,6 +1,6 @@ --- id: 5900f4691000cf542c50ff7c -title: '问题253:整理' +title: 'Problem 253: Tidying up' challengeType: 1 forumTopicId: 301901 dashedName: problem-253-tidying-up @@ -10,11 +10,11 @@ dashedName: problem-253-tidying-up A small child has a "number caterpillar" consisting of forty jigsaw pieces, each with one number on it, which, when connected together in a line, reveal the numbers 1 to 40 in order. -每天晚上,孩子的父亲必须拿起散落在游戏室的毛毛虫的碎片。 他随机拿起碎片并按正确顺序放置。 +Every night, the child's father has to pick up the pieces of the caterpillar that have been scattered across the play room. He picks up the pieces at random and places them in the correct order. As the caterpillar is built up in this way, it forms distinct segments that gradually merge together. The number of segments starts at zero (no pieces placed), generally increases up to about eleven or twelve, then tends to drop again before finishing at a single segment (all pieces placed). -例如: +For example: | Piece Placed | Segments So Far | | ------------ | --------------- | diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md index c75a539376..bd295d89e6 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-268-counting-numbers-with-at-least-four-distinct-prime-factors-less-than-100.md @@ -1,7 +1,7 @@ --- id: 5900f4791000cf542c50ff8b title: >- - 问题 268:计算至少有四个不同的质因数小于 100 的数 + Problem 268: Counting numbers with at least four distinct prime factors less than 100 challengeType: 1 forumTopicId: 301917 dashedName: >- diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-295-lenticular-holes.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-295-lenticular-holes.md index 96f122abfd..96b2a4bfdd 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-295-lenticular-holes.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-201-to-300/problem-295-lenticular-holes.md @@ -1,6 +1,6 @@ --- id: 5900f4931000cf542c50ffa6 -title: '问题295:透镜孔' +title: 'Problem 295: Lenticular holes' challengeType: 1 forumTopicId: 301947 dashedName: problem-295-lenticular-holes @@ -11,8 +11,8 @@ dashedName: problem-295-lenticular-holes We call the convex area enclosed by two circles a lenticular hole if: - The centres of both circles are on lattice points. -- 两个圆在两个不同的晶格点处相交。 -- 被两个圆包围的凸区域的内部不包含任何晶格点。 +- The two circles intersect at two distinct lattice points. +- The interior of the convex area enclosed by both circles does not contain any lattice points. Consider the circles: diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-311-biclinic-integral-quadrilaterals.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-311-biclinic-integral-quadrilaterals.md index 96fdb366c1..1aefa2589a 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-311-biclinic-integral-quadrilaterals.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-311-biclinic-integral-quadrilaterals.md @@ -1,6 +1,6 @@ --- id: 5900f4a31000cf542c50ffb6 -title: '问题311:双斜积分四边形' +title: 'Problem 311: Biclinic Integral Quadrilaterals' challengeType: 1 forumTopicId: 301967 dashedName: problem-311-biclinic-integral-quadrilaterals diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-313-sliding-game.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-313-sliding-game.md index 6d94cdc7e0..c264174218 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-313-sliding-game.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-313-sliding-game.md @@ -1,6 +1,6 @@ --- id: 5900f4a61000cf542c50ffb8 -title: '问题313:滑行游戏' +title: 'Problem 313: Sliding game' challengeType: 1 forumTopicId: 301969 dashedName: problem-313-sliding-game diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-320-factorials-divisible-by-a-huge-integer.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-320-factorials-divisible-by-a-huge-integer.md index 0778494fe4..b0f0cc5c6a 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-320-factorials-divisible-by-a-huge-integer.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-320-factorials-divisible-by-a-huge-integer.md @@ -1,6 +1,6 @@ --- id: 5900f4ae1000cf542c50ffbf -title: '问题320:可被一个巨大整数整除的阶乘' +title: 'Problem 320: Factorials divisible by a huge integer' challengeType: 1 forumTopicId: 301977 dashedName: problem-320-factorials-divisible-by-a-huge-integer @@ -10,15 +10,15 @@ dashedName: problem-320-factorials-divisible-by-a-huge-integer Let $N(i)$ be the smallest integer $n$ such that $n!$ is divisible by $(i!)^{1234567890}$ -令$S(u) = \sum N(i)$,且$10 ≤ i ≤ u$。 +Let $S(u) = \sum N(i)$ for $10 ≤ i ≤ u$. -$S(1000)=614\\,538\\,266\\,565\\,663$。 +$S(1000)=614\\,538\\,266\\,565\\,663$. -找出$S(1\\,000\\,000)\对{10}^{18}$取模后的结果。 +Find $S(1\\,000\\,000)\bmod {10}^{18}$. # --hints-- -`divisibleByHugeInteger()`应该返回`278157919195482660`。 +`divisibleByHugeInteger()` should return `278157919195482660`. ```js assert.strictEqual(divisibleByHugeInteger(), 278157919195482660); diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-323-bitwise-or-operations-on-random-integers.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-323-bitwise-or-operations-on-random-integers.md index 5e703632da..7cd5acf36c 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-323-bitwise-or-operations-on-random-integers.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-323-bitwise-or-operations-on-random-integers.md @@ -1,6 +1,6 @@ --- id: 5900f4b01000cf542c50ffc2 -title: '问题323:对随机整数进行按位或运算' +title: 'Problem 323: Bitwise-OR operations on random integers' challengeType: 1 forumTopicId: 301980 dashedName: problem-323-bitwise-or-operations-on-random-integers diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-341-golombs-self-describing-sequence.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-341-golombs-self-describing-sequence.md index 8de0284a4d..f3ebbd9cdd 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-341-golombs-self-describing-sequence.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-341-golombs-self-describing-sequence.md @@ -1,6 +1,6 @@ --- id: 5900f4c11000cf542c50ffd3 -title: '问题 341:Golomb 的自描述序列' +title: 'Problem 341: Golomb''s self-describing sequence' challengeType: 1 forumTopicId: 302000 dashedName: problem-341-golombs-self-describing-sequence diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-344-silver-dollar-game.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-344-silver-dollar-game.md index 281e266c62..c5a70d8e8c 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-344-silver-dollar-game.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-344-silver-dollar-game.md @@ -1,6 +1,6 @@ --- id: 5900f4c51000cf542c50ffd7 -title: '问题344:银元游戏' +title: 'Problem 344: Silver dollar game' challengeType: 1 forumTopicId: 302003 dashedName: problem-344-silver-dollar-game @@ -10,13 +10,13 @@ dashedName: problem-344-silver-dollar-game One variant of N.G. de Bruijn's silver dollar game can be described as follows: -在正方形条上放置了许多硬币,每平方最多一枚硬币。 只有一枚硬币,称为银元,具有任何价值。 两名球员轮流做出动作。 在每个回合中,玩家必须进行常规或特殊动作。 +On a strip of squares a number of coins are placed, at most one coin per square. Only one coin, called the silver dollar, has any value. Two players take turns making moves. At each turn a player must make either a regular or a special move. -常规移动包括选择一个硬币并将其移动到左侧的一个或多个方块。 硬币不能从条带中移出或跳到另一个硬币上或上方。 +A regular move consists of selecting one coin and moving it one or more squares to the left. The coin cannot move out of the strip or jump on or over another coin. -或者,玩家可以选择将最左边的硬币扒窃而不是定期移动。 如果没有可能的常规动作,则玩家被迫掏出最左边的硬币。 +Alternatively, the player can choose to make the special move of pocketing the leftmost coin rather than making a regular move. If no regular moves are possible, the player is forced to pocket the leftmost coin. -获胜者是兜售银元的玩家。 +The winner is the player who pockets the silver dollar. silver dollar game diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-356-largest-roots-of-cubic-polynomials.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-356-largest-roots-of-cubic-polynomials.md index 9cd6d39465..ec4939b68f 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-356-largest-roots-of-cubic-polynomials.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-356-largest-roots-of-cubic-polynomials.md @@ -1,6 +1,6 @@ --- id: 5900f4d01000cf542c50ffe3 -title: '问题 356:三次多项式的最大根数' +title: 'Problem 356: Largest roots of cubic polynomials' challengeType: 1 forumTopicId: 302016 dashedName: problem-356-largest-roots-of-cubic-polynomials diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-361-subsequence-of-thue-morse-sequence.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-361-subsequence-of-thue-morse-sequence.md index 8c15a952bb..efae1fb220 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-361-subsequence-of-thue-morse-sequence.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-361-subsequence-of-thue-morse-sequence.md @@ -1,6 +1,6 @@ --- id: 5900f4d51000cf542c50ffe8 -title: '问题361:Thue-Morse序列的子序列' +title: 'Problem 361: Subsequence of Thue-Morse sequence' challengeType: 1 forumTopicId: 302022 dashedName: problem-361-subsequence-of-thue-morse-sequence diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-368-a-kempner-like-series.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-368-a-kempner-like-series.md index 9e187056a6..afc2e6dc9b 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-368-a-kempner-like-series.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-368-a-kempner-like-series.md @@ -1,6 +1,6 @@ --- id: 5900f4dd1000cf542c50ffef -title: '问题368:类似肯珀纳的系列' +title: 'Problem 368: A Kempner-like series' challengeType: 1 forumTopicId: 302029 dashedName: problem-368-a-kempner-like-series @@ -10,9 +10,9 @@ dashedName: problem-368-a-kempner-like-series The harmonic series $1 + \dfrac{1}{2} + \dfrac{1}{3} + \dfrac{1}{4} + \ldots$ is well known to be divergent. -然而,如果我们在这个系列中省略了分母中有9个的每个项,则该系列显着地收敛到大约22.9206766193。 这种改进的谐波系列称为肯普纳系列。 +If we however omit from this series every term where the denominator has a 9 in it, the series remarkably enough converges to approximately 22.9206766193. This modified harmonic series is called the Kempner series. -现在让我们通过省略分母具有3个或更多相等连续数字的每个项的谐波系列来考虑另一个修正的谐波系列。 可以验证在谐波系列的前1200个项中,仅省略20个项。 +Let us now consider another modified harmonic series by omitting from the harmonic series every term where the denominator has 3 or more equal consecutive digits. One can verify that out of the first 1200 terms of the harmonic series, only 20 terms will be omitted. These 20 omitted terms are: diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-380-amazing-mazes.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-380-amazing-mazes.md index 3bcf39d9a0..5594654687 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-380-amazing-mazes.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-301-to-400/problem-380-amazing-mazes.md @@ -1,6 +1,6 @@ --- id: 5900f4e81000cf542c50fffb -title: '问题380:惊人的迷宫!' +title: 'Problem 380: Amazing Mazes!' challengeType: 1 forumTopicId: 302044 dashedName: problem-380-amazing-mazes @@ -18,7 +18,7 @@ It can be verified that $C(1, 1) = 1$, $C(2, 2) = 4$, $C(3, 4) = 2415$, and $C(9 Find $C(100, 500)$ and write your answer as a string in scientific notation rounded to 5 significant digits. -When giving your answer, use a lowercase e to separate mantissa and exponent. 例如: if the answer is 1234567891011 then the answer format would be the string `1.2346e12`. +When giving your answer, use a lowercase e to separate mantissa and exponent. E.g. if the answer is 1234567891011 then the answer format would be the string `1.2346e12`. # --hints-- diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-405-a-rectangular-tiling.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-405-a-rectangular-tiling.md index 6df1697120..9bf02e4036 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-405-a-rectangular-tiling.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-405-a-rectangular-tiling.md @@ -1,6 +1,6 @@ --- id: 5900f5021000cf542c510014 -title: '问题405:矩形平铺' +title: 'Problem 405: A rectangular tiling' challengeType: 1 forumTopicId: 302073 dashedName: problem-405-a-rectangular-tiling diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-416-a-frogs-trip.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-416-a-frogs-trip.md index 2da1e7e7db..048adb254c 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-416-a-frogs-trip.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-416-a-frogs-trip.md @@ -1,6 +1,6 @@ --- id: 5900f50e1000cf542c510020 -title: '问题416:青蛙的旅行' +title: 'Problem 416: A frog''s trip' challengeType: 1 forumTopicId: 302085 dashedName: problem-416-a-frogs-trip diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-434-rigid-graphs.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-434-rigid-graphs.md index 77ae146355..f1cab82e72 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-434-rigid-graphs.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-434-rigid-graphs.md @@ -1,6 +1,6 @@ --- id: 5900f51f1000cf542c510031 -title: '问题434:刚性图' +title: 'Problem 434: Rigid graphs' challengeType: 1 forumTopicId: 302105 dashedName: problem-434-rigid-graphs @@ -10,13 +10,13 @@ dashedName: problem-434-rigid-graphs Recall that a graph is a collection of vertices and edges connecting the vertices, and that two vertices connected by an edge are called adjacent. -通过将每个顶点与欧氏空间中的一个点相关联,可以将图嵌入到欧氏空间中。 +Graphs can be embedded in Euclidean space by associating each vertex with a point in the Euclidean space. -柔性图是图的嵌入,其中可以连续移动一个或多个顶点,以便至少两个不相邻顶点之间的距离发生变化,而每对相邻顶点之间的距离保持恒定。 +A flexible graph is an embedding of a graph where it is possible to move one or more vertices continuously so that the distance between at least two nonadjacent vertices is altered while the distances between each pair of adjacent vertices is kept constant. -刚性图是不灵活的图的嵌入。 +A rigid graph is an embedding of a graph which is not flexible. -非正式地,如果通过用完全旋转的铰链替换顶点,并用不弯曲且无弹性的杆代替边,则图形是刚性的,则图形的任何部分都不能独立于图形的其余部分移动。 +Informally, a graph is rigid if by replacing the vertices with fully rotating hinges and the edges with rods that are unbending and inelastic, no parts of the graph can be moved independently from the rest of the graph. The grid graphs embedded in the Euclidean plane are not rigid, as the following animation demonstrates: diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-436-unfair-wager.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-436-unfair-wager.md index df3d6b346f..444c6f95d1 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-436-unfair-wager.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-436-unfair-wager.md @@ -1,6 +1,6 @@ --- id: 5900f5221000cf542c510033 -title: '问题436:不公平的赌注' +title: 'Problem 436: Unfair wager' challengeType: 1 forumTopicId: 302107 dashedName: problem-436-unfair-wager @@ -10,9 +10,9 @@ dashedName: problem-436-unfair-wager Julie proposes the following wager to her sister Louise. -她建议他们玩一场机会游戏,以确定谁来洗碗。 +She suggests they play a game of chance to determine who will wash the dishes. -对于此游戏,他们应使用独立随机数的生成器,该生成器均匀分布在0和1之间。 +For this game, they shall use a generator of independent random numbers uniformly distributed between 0 and 1. The game starts with $S = 0$. diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-448-average-least-common-multiple.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-448-average-least-common-multiple.md index 80f2f1ecb2..26643961a3 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-448-average-least-common-multiple.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-448-average-least-common-multiple.md @@ -1,6 +1,6 @@ --- id: 5900f52c1000cf542c51003f -title: '问题 448:平均最小公倍数' +title: 'Problem 448: Average least common multiple' challengeType: 1 forumTopicId: 302120 dashedName: problem-448-average-least-common-multiple diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md index 7a683fe815..e4e011c5d6 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-461-almost-pi.md @@ -65,89 +65,54 @@ function almostPi(n) { ```js function almostPi(n) { - - // Find all possible values where f(k, n) <= PI - const f = []; - let max = 0; - while (1) { - let current = Math.exp(max / n) - 1; - - if (current > Math.PI) break; - - f.push(current); - ++max; - } - - // Get all pairs where f[i] + f[j] <= PI - const pairs = []; - for (let i = 0; i < max; ++i) { - for (let j = 0; j < max; ++j) { - if (f[i] + f[j] > Math.PI) break; - pairs.push(f[i] + f[j]); + const max_k = Math.ceil(n * Math.log(Math.PI + 1)) + 1; + const f = Array(max_k) + .fill(0) + .map((_, i) => Math.exp(i / n) - 1); + + // Pairs of values + const pairs = Array(max_k * (max_k - 1) / 2); + let num_pairs = 0; + + for (let b = 1; b < max_k; b++) { + for (let a = 0; a < b; a++) { + const value = f[a] + f[b]; + + if (value > Math.PI) break; + pairs[num_pairs] = {a, b, value}; + num_pairs++; } } + pairs.sort((a, b) => a.value - b.value); - // Sort all values - pairs.sort((a, b) => a - b); - - // Optimal Value for (a + b) - let left = 0; - // Optimal Value for (c + d) - let right = 0; - // minimum error with Math.abs(a + b - Math.PI) - let minError = Math.PI; - - // Binary Search for the best match - for (let i = 0; i < pairs.length; ++i) { - let current = pairs[i]; - let need = Math.PI - current; - - if (need < current) break; + // Find lowest matching pair for each pair + let min_error = Math.PI; + let min_abcd = -1; - let match; - for (let i = 1; i < pairs.length; ++i) { - if (pairs[i] > need) { - match = i; - break; - } - } + for (let i = 0; i < num_pairs; i++) { + const error = Math.PI - pairs[i].value; + let start = i; + let stop = num_pairs - 1; - let error = Math.abs(need - pairs[match]); - if (error < minError) - { - minError = error; - left = i; - right = match; - } + // Find best match + while (stop - start > 1) { + let mid = start + Math.floor((stop - start) / 2); - --match; - error = Math.abs(need - pairs[match]); - if (error < minError) { - minError = error; - left = i; - right = match; + if (pairs[mid].value > error) stop = mid - 1; + else start = mid + 1; } - } - let a, b, c, d; - - OuterLoop1: - for (a = 0; a < max; ++a) { - for (b = a; b < max; ++b) { - if (pairs[left] == f[a] + f[b]) { - break OuterLoop1; - } - } - } + // Compute new best error + for (const j of [start, stop]) { + const new_error = Math.abs(error - pairs[j].value); - OuterLoop2: - for (c = 0; c < max; ++c) { - for (d = c; d < max; ++d) { - if (pairs[right] == f[c] + f[d]) { - break OuterLoop2; + if (new_error < min_error) { + min_error = new_error; + min_abcd = pairs[i].a * pairs[i].a + pairs[i].b * pairs[i].b + + pairs[j].a * pairs[j].a + pairs[j].b * pairs[j].b; } } } - return a*a + b*b + c*c + d*d; + return min_abcd; } ``` diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-467-superinteger.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-467-superinteger.md index 7a6d93d523..9b0caad170 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-467-superinteger.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-467-superinteger.md @@ -1,6 +1,6 @@ --- id: 5900f5411000cf542c510052 -title: '问题467:超级整数' +title: 'Problem 467: Superinteger' challengeType: 1 forumTopicId: 302142 dashedName: problem-467-superinteger @@ -10,7 +10,7 @@ dashedName: problem-467-superinteger An integer $s$ is called a superinteger of another integer $n$ if the digits of $n$ form a subsequence of the digits of $s$. -例如,2718281828是18828的超级整数,而314159不是151的超级整数。 +For example, 2718281828 is a superinteger of 18828, while 314159 is not a superinteger of 151. Let $p(n)$ be the $n$th prime number, and let $c(n)$ be the $n$th composite number. For example, $p(1) = 2$, $p(10) = 29$, $c(1) = 4$ and $c(10) = 18$. diff --git a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md index d0fe5bd08f..dbd4119b93 100644 --- a/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md +++ b/curriculum/challenges/chinese/18-project-euler/project-euler-problems-401-to-480/problem-468-smooth-divisors-of-binomial-coefficients.md @@ -1,6 +1,6 @@ --- id: 5900f5411000cf542c510054 -title: '问题 468:二项式系数的平滑除数' +title: 'Problem 468: Smooth divisors of binomial coefficients' challengeType: 1 forumTopicId: 302143 dashedName: problem-468-smooth-divisors-of-binomial-coefficients @@ -12,14 +12,14 @@ An integer is called B-smooth if none of its prime factors is greater than $B$. Let $SB(n)$ be the largest B-smooth divisor of $n$. -示例: +Examples: $$\begin{align} & S_1(10) = 1 \\\\ & S_4(2\\,100) = 12 \\\\ & S_{17}(2\\,496\\,144) = 5\\,712 \end{align}$$ Define $F(n) = \displaystyle\sum_{B = 1}^n \sum_{r = 0}^n S_B(\displaystyle\binom{n}{r})$. Here, $\displaystyle\binom{n}{r}$ denotes the binomial coefficient. -示例: +Examples: $$\begin{align} & F(11) = 3132 \\\\ & F(1\\,111)\bmod 1\\,000\\,000\\,993 = 706\\,036\\,312 \\\\ & F(111\\,111)\bmod 1\\,000\\,000\\,993 = 22\\,156\\,169 \end{align}$$ diff --git a/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md b/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md index 516097b912..fecc4b1443 100644 --- a/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md +++ b/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp.md @@ -1,38 +1,38 @@ --- id: 647e214b8acb466c97ccbee0 -title: '在 C# 中使用 switch-case 结构对代码流进行分支' +title: 'Branch the Flow of Code Using the switch-case Construct in C#' challengeType: 19 dashedName: branch-the-flow-of-code-using-the-switch-case-construct-in-c-sharp --- # --description-- -这个挑战将有一部分在 Microsoft Learn 平台上完成。 请按照如下说明来完成挑战: +This challenge will be partially completed on the Microsoft Learn platform. Follow these instructions to complete the challenge: -1. 跳转到 https://learn.microsoft.com/training/modules/csharp-switch-case/,然后完成“在 C# 中使用 switch-case 结构对代码流进行分支”模块的所有任务。 这是在 Microsoft Learn 上获得“向 C# 控制台应用程序添加逻辑”的奖杯以及参加认证考试所**必需**的。 -1. 完成后,返回并正确回答下面的问题。 +1. Go to https://learn.microsoft.com/training/modules/csharp-switch-case/ and complete all the tasks for the "Branch the Flow of Code Using the switch-case Construct in C#" module. This is **required** to earn the "Add Logic to C# Console Applications" trophy on Microsoft Learn, and qualify for the certification exam. +1. When you are finished, come back and correctly answer the question below. -# --任务-- +# --assignment-- -在 Microsoft Learn 上完成 在 C# 中使用 switch-case 结构对代码流进行分支 模块。 然后,回答下面的问题。 +Complete the Branch the Flow of Code Using the `switch`-`case` Construct in C# module on Microsoft Learn. Then, answer the question below. # --questions-- ## --text-- -`break` 关键字的目的是什么? +What is the purpose of the `break` keyword? ## --answers-- -`break` 关键字告诉运行时继续评估 `switch` 结构中的其他情况。 +The `break` keyword tells the runtime to continue evaluating other cases in the `switch` construct. --- -`break` 关键字告诉运行时停止评估 `switch` 结构中的其他情况。 +The `break` keyword tells the runtime to stop evaluating other cases in the `switch` construct. --- -`break` 关键字告诉运行时退出应用程序。 +The `break` keyword tells the runtime to exit the application. ## --video-solution-- diff --git a/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/control-variable-scope-and-logic-using-code-blocks-in-c-sharp.md b/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/control-variable-scope-and-logic-using-code-blocks-in-c-sharp.md index ebda6235ea..510db0aba8 100644 --- a/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/control-variable-scope-and-logic-using-code-blocks-in-c-sharp.md +++ b/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/control-variable-scope-and-logic-using-code-blocks-in-c-sharp.md @@ -1,38 +1,38 @@ --- id: 647e21658acb466c97ccbee2 -title: '在 C# 中使用代码块控制变量作用域和逻辑' +title: 'Control Variable Scope and Logic Using Code Blocks in C#' challengeType: 19 dashedName: control-variable-scope-and-logic-using-code-blocks-in-c-sharp --- # --description-- -这个挑战将有一部分在 Microsoft Learn 平台上完成。 请按照如下说明来完成挑战: +This challenge will be partially completed on the Microsoft Learn platform. Follow these instructions to complete the challenge: -1. 跳转到 https://learn.microsoft.com/training/modules/csharp-code-blocks/,然后完成“在 C# 中使用代码块控制变量作用域和逻辑”模块的所有任务。 这是在 Microsoft Learn 上获得“向 C# 控制台应用程序添加逻辑”的奖杯以及参加认证考试所**必需**的。 -1. 完成后,返回并正确回答下面的问题。 +1. Go to https://learn.microsoft.com/training/modules/csharp-code-blocks/ and complete all the tasks for the "Control Variable Scope and Logic Using Code Blocks in C#" module. This is **required** to earn the "Add Logic to C# Console Applications" trophy on Microsoft Learn, and qualify for the certification exam. +1. When you are finished, come back and correctly answer the question below. -# --任务-- +# --assignment-- -在 Microsoft Learn 上完成 在 C# 中使用代码块控制变量作用域和逻辑 模块。 然后,回答下面的问题。 +Complete the Control Variable Scope and Logic Using Code Blocks in C# module on Microsoft Learn. Then, answer the question below. # --questions-- ## --text-- -关于显示/删除与 `if` 语句关联的代码块的大括号,以下哪项陈述是正确的? +Which of the following statements is true about showing/removing the curly braces for code blocks associated with an `if` statement? ## --answers-- -不能从 `else if` 和 `else` 语句的代码块中删除大括号。 +The curly braces can't be removed from the code block for `else if` and `else` statements. --- -如果从 `if-elseif-else` 代码块中删除大括号,则也必须删除空格。 +If the curly braces are removed from the code blocks of an `if-elseif-else`, the white space must also be removed. --- -始终选择能够提高可读性的代码风格。 +Always choose a style that improves readability. ## --video-solution-- diff --git a/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/guided-project-develop-conditional-branching-and-looping-structures-in-c-sharp.md b/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/guided-project-develop-conditional-branching-and-looping-structures-in-c-sharp.md index d9f4e050c2..c3855ded53 100644 --- a/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/guided-project-develop-conditional-branching-and-looping-structures-in-c-sharp.md +++ b/curriculum/challenges/chinese/19-foundational-c-sharp-with-microsoft/add-logic-to-c-sharp-console-applications/guided-project-develop-conditional-branching-and-looping-structures-in-c-sharp.md @@ -1,38 +1,38 @@ --- id: 647e217e8acb466c97ccbee4 -title: '引导项目 - 在 C# 中开发条件分支和循环结构' +title: 'Guided Project - Develop Conditional Branching and Looping Structures in C#' challengeType: 19 dashedName: guided-project-develop-conditional-branching-and-looping-structures-in-c-sharp --- # --description-- -这个挑战将有一部分在 Microsoft Learn 平台上完成。 请按照如下说明来完成挑战: +This challenge will be partially completed on the Microsoft Learn platform. Follow these instructions to complete the challenge: -1. 跳转到 https://learn.microsoft.com/training/modules/guided-project-develop-conditional-branching-looping/,然后完成“引导项目 - 在 C# 中开发条件分支和循环结构”模块的所有任务。 这是在 Microsoft Learn 上获得“向 C# 控制台应用程序添加逻辑”的奖杯以及参加认证考试所**必需**的。 -1. 完成后,返回并正确回答下面的问题。 +1. Go to https://learn.microsoft.com/training/modules/guided-project-develop-conditional-branching-looping/ and complete all the tasks for the "Guided Project - Develop Conditional Branching and Looping Structures in C#" module. This is **required** to earn the "Add Logic to C# Console Applications" trophy on Microsoft Learn, and qualify for the certification exam. +1. When you are finished, come back and correctly answer the question below. -# --任务-- +# --assignment-- -在 Microsoft Learn 上完成 在 C# 中开发条件分支和循环结构 的引导项目。 然后,回答下面的问题。 +Complete the Develop Conditional Branching and Looping Structures in C# guided project on Microsoft Learn. Then, answer the question below. # --questions-- ## --text-- -何时宜使用 `switch-case` 结构而不是 `if-elseif-else` 结构? +When is it appropriate to use a `switch-case` construct rather than a `if-elseif-else` construct? ## --answers-- -`switch-case` 结构适用于需要超过 2-3 个 `else if` 代码块时。 +A `switch-case` construct is appropriate when more than 2-3 `else if` code blocks are required. --- -`switch-case` 结构适用于 `case` 模式数量较少时。 +A `switch-case` construct is appropriate when the number of `case` patterns is small. --- -`switch-case` 结构适用于选择语句在循环中时。 +A `switch-case` construct is appropriate when the selection statement is inside a loop. ## --video-solution-- diff --git a/curriculum/challenges/chinese/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md b/curriculum/challenges/chinese/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md index 6f79b329d0..f09a7e5ade 100644 --- a/curriculum/challenges/chinese/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md +++ b/curriculum/challenges/chinese/20-upcoming-python/learn-python-by-building-a-blackjack-game/5daa813381b9e3db6c126b43.md @@ -1,6 +1,6 @@ --- id: 5daa813381b9e3db6c126b43 -title: 步骤 1 +title: Step 1 challengeType: 20 dashedName: step-1 --- diff --git a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-conversation-starters-in-the-break-room/657dcafa1e1a4a62dc03cb76.md b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-conversation-starters-in-the-break-room/657dcafa1e1a4a62dc03cb76.md index 9f3b097963..ecd9541e93 100644 --- a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-conversation-starters-in-the-break-room/657dcafa1e1a4a62dc03cb76.md +++ b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-conversation-starters-in-the-break-room/657dcafa1e1a4a62dc03cb76.md @@ -9,7 +9,7 @@ dashedName: dialogue-5-knowing-the-area-around-the-company Watch the video above to understand the context of the upcoming lessons. -# --作业-- +# --assignment-- Watch the video diff --git a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-greetings-in-your-first-day-at-the-office/656d23d22a488510bca0e418.md b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-greetings-in-your-first-day-at-the-office/656d23d22a488510bca0e418.md index d02c3966f1..da2c239ace 100644 --- a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-greetings-in-your-first-day-at-the-office/656d23d22a488510bca0e418.md +++ b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-greetings-in-your-first-day-at-the-office/656d23d22a488510bca0e418.md @@ -9,7 +9,7 @@ dashedName: dialogue-5-end-of-the-first-day What the video above to understand the context of the upcoming lessons. -# --作业-- +# --assignment-- Watch the video diff --git a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md index 681817a3a2..d04f96c2cc 100644 --- a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md +++ b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b11f87368cf463ea4fe46.md @@ -9,7 +9,7 @@ dashedName: task-8 # --description-- -Questions in the past tense with the verb `to be` are very similar to how you do it in the present tense. The only difference is that you need to remember to conjugate the verb to `were` or `was`, followed by the subject and then the main verb. 例如: +Questions in the past tense with the verb `to be` are very similar to how you do it in the present tense. The only difference is that you need to remember to conjugate the verb to `were` or `was`, followed by the subject and then the main verb. For example: `Were you at the meeting yesterday?` Notice how `were` comes before `you` to for a question. `What was my assignment?` For a specific question, notice how `was` comes after `what` and before `my`. diff --git a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b1d4ec0e2587e8bcc95f7.md b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b1d4ec0e2587e8bcc95f7.md index 755c8eb3ac..f4e6e2284a 100644 --- a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b1d4ec0e2587e8bcc95f7.md +++ b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b1d4ec0e2587e8bcc95f7.md @@ -9,7 +9,7 @@ dashedName: dialogue-3-two-workmates-talk-about-their-backgrounds Watch the video above to understand the context of the upcoming lessons. -# --作业-- +# --assignment-- Watch the video diff --git a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b227f7ad32ea17e2cdf28.md b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b227f7ad32ea17e2cdf28.md index 33b9ec12ed..96f4cd2f91 100644 --- a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b227f7ad32ea17e2cdf28.md +++ b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-ask-and-share-about-educational-and-professional-background/657b227f7ad32ea17e2cdf28.md @@ -9,7 +9,7 @@ dashedName: dialogue-4-a-developer-with-a-different-background Watch the video above to understand the context of the upcoming lessons. -# --作业-- +# --assignment-- Watch the video diff --git a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md index 5264662758..399607c440 100644 --- a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md +++ b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-describe-your-current-project/655b67f02eecf57fa75ceecf.md @@ -9,7 +9,7 @@ dashedName: task-8 # --description-- -`Stay` is used to indicate remaining in a particular state or condition. It's often used in instructions or advice to keep oneself in a certain situation. 例如: +`Stay` is used to indicate remaining in a particular state or condition. It's often used in instructions or advice to keep oneself in a certain situation. For example: `Stay safe online` (continue being safe while using the internet) diff --git a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md index d57f844e9a..4003df9904 100644 --- a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md +++ b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-describe-your-current-project/656a46e84a0ad845901ea907.md @@ -13,7 +13,7 @@ To `experiment` means to try new ideas or methods. An `interview` is a conversation where someone asks questions to get information. -An `infographic` is a visual image like a chart or diagram used to represent information. 例如: +An `infographic` is a visual image like a chart or diagram used to represent information. For example: `Readers` are people who read, especially those who read a particular publication. diff --git a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md index ea6167f428..f7eb6d6073 100644 --- a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md +++ b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/6557d782bc7613c06aa7dafd.md @@ -9,11 +9,11 @@ dashedName: task-27 # --description-- -The word `never` is an adverb used to mean `not at any time` or `not ever`. It's often used to talk about things that someone doesn't do or hasn't done. 例如: +The word `never` is an adverb used to mean `not at any time` or `not ever`. It's often used to talk about things that someone doesn't do or hasn't done. For example: `I have never been to Australia.` (this means the person has not visited Australia at any time) `She never eats fast food.` (this means she does not eat fast food at any time) -The word `thought` is the past tense of `think`. `Thought of that` means to have considered or come up with an idea in the past. 例如: +The word `thought` is the past tense of `think`. `Thought of that` means to have considered or come up with an idea in the past. For example: `I thought of going to the beach, but it was too cold.` (this means the person considered going to the beach) diff --git a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md index 62207e8bf5..68912a95b0 100644 --- a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md +++ b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655a54506b259313b2d59577.md @@ -9,7 +9,7 @@ dashedName: task-58 # --description-- -Conditional sentences often use `if` to describe a situation (cause) that will lead to a particular result (consequence). They typically consist of two parts: the `if` clause (condition) and the main clause (result). 例如: +Conditional sentences often use `if` to describe a situation (cause) that will lead to a particular result (consequence). They typically consist of two parts: the `if` clause (condition) and the main clause (result). For example: `If you sleep well, you will feel refreshed.` (condition: sleeping well; result: feeling refreshed) diff --git a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md index f95f0336cd..f5a7de951d 100644 --- a/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md +++ b/curriculum/challenges/chinese/21-a2-english-for-developers/learn-how-to-discuss-your-morning-or-evening-routine/655b39e59c29d16d64a2ce8e.md @@ -9,11 +9,11 @@ dashedName: task-96 # --description-- -`Indoor` refers to activities done inside a building, while `outdoor` means activities done outside. 例如: +`Indoor` refers to activities done inside a building, while `outdoor` means activities done outside. For example: `Indoor activities include reading and cooking. Outdoor activities involve hiking and gardening.` -`Though` is an expression you use to show contrast between two sentences, similar to `but`. It can also be used in the middle or in the end of a sentence, not only in the beginning. 例如: +`Though` is an expression you use to show contrast between two sentences, similar to `but`. It can also be used in the middle or in the end of a sentence, not only in the beginning. For example: `I know we wanted to travel. We don't have the money for the tickets, though.` diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/ackermann-function.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/ackermann-function.md index 041375fd88..f6443aee8c 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/ackermann-function.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/ackermann-function.md @@ -1,6 +1,6 @@ --- id: 594810f028c0303b75339acf -title: 阿克曼函数 +title: Ackermann function challengeType: 1 forumTopicId: 302223 dashedName: ackermann-function @@ -10,43 +10,43 @@ dashedName: ackermann-function The Ackermann function is a classic example of a recursive function, notable especially because it is not a primitive recursive function. It grows very quickly in value, as does the size of its call tree. -阿克曼函数通常定义如下: +The Ackermann function is usually defined as follows: $A(m, n) = \\begin{cases} n+1 & \\mbox{if } m = 0 \\\\ A(m-1, 1) & \\mbox{if } m > 0 \\mbox{ and } n = 0 \\\\ A(m-1, A(m, n-1)) & \\mbox{if } m > 0 \\mbox{ and } n > 0. \\end{cases}$ -它的参数从不是负的,而且总是有终点。 +Its arguments are never negative and it always terminates. # --instructions-- -编写一个函数,返回 $A(m, n)$ 的值。 任意精度是首选(因为函数增长如此之快),但不是必需的。 +Write a function which returns the value of $A(m, n)$. Arbitrary precision is preferred (since the function grows so quickly), but not required. # --hints-- -`ack` 应该是一个函数。 +`ack` should be a function. ```js assert(typeof ack === 'function'); ``` -`ack(0, 0)` 应该返回 1。 +`ack(0, 0)` should return 1. ```js assert(ack(0, 0) === 1); ``` -`ack(1, 1)` 应该返回 3。 +`ack(1, 1)` should return 3. ```js assert(ack(1, 1) === 3); ``` -`ack(2, 5)` 应该返回 13。 +`ack(2, 5)` should return 13. ```js assert(ack(2, 5) === 13); ``` -`ack(3, 3)` 应该返回 61。 +`ack(3, 3)` should return 61. ```js assert(ack(3, 3) === 61); diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/circles-of-given-radius-through-two-points.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/circles-of-given-radius-through-two-points.md index 976d780c27..2254ea4c44 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/circles-of-given-radius-through-two-points.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/circles-of-given-radius-through-two-points.md @@ -1,6 +1,6 @@ --- id: 5951815dd895584b06884620 -title: 通过两点的给定半径的圆 +title: Circles of given radius through two points challengeType: 1 forumTopicId: 302231 dashedName: circles-of-given-radius-through-two-points @@ -10,7 +10,7 @@ dashedName: circles-of-given-radius-through-two-points Given two points on a plane and a radius, usually two circles of given radius can be drawn through the points. -**例外:** +**Exceptions:**
  • A radius of zero should be treated as never describing circles (except in the case where the points are coincident).
  • @@ -21,17 +21,17 @@ Given two points on a plane and a radius, usually two circles of given radius ca # --instructions-- -实现一个函数,它接受两个点和一个半径,并返回通过这些点的两个圆。 对于每个结果圆,提供四舍五入到四位小数的每个圆的中心坐标。 将每个坐标作为数组返回,并将所有坐标组作为数组返回。 +Implement a function that takes two points and a radius and returns the two circles through those points. For each resulting circle, provide the coordinates for the center of each circle rounded to four decimal digits. Return each coordinate as an array, and coordinates as an array of arrays. -**对于边缘情况,返回以下内容:** +**For edge cases, return the following:**
    • If points are on the diameter, return one point. If the radius is also zero however, return "Radius Zero".
    • -
    • 如果点重合,返回 "Coincident point. Infinite solutions".
    • -
    • 如果点相距比直径更远,则返回 "No intersection. Points further apart than circle diameter".
    • +
    • If points are coincident, return "Coincident point. Infinite solutions".
    • +
    • If points are farther apart than the diameter, return "No intersection. Points further apart than circle diameter".
    -**示例输入:** +**Sample inputs:**
          p1                p2           r
     0.1234, 0.9876    0.8765, 0.2345    2.0
    @@ -43,37 +43,37 @@ Given two points on a plane and a radius, usually two circles of given radius ca
     
     # --hints--
     
    -`getCircles` 应该是一个函数。
    +`getCircles` should be a function.
     
     ```js
     assert(typeof getCircles === 'function');
     ```
     
    -`getCircles([0.1234, 0.9876], [0.8765, 0.2345], 2.0)` 应该返回 `[[1.8631, 1.9742], [-0.8632, -0.7521]]`。
    +`getCircles([0.1234, 0.9876], [0.8765, 0.2345], 2.0)` should return `[[1.8631, 1.9742], [-0.8632, -0.7521]]`.
     
     ```js
     assert.deepEqual(getCircles(...testCases[0]), answers[0]);
     ```
     
    -`getCircles([0.0000, 2.0000], [0.0000, 0.0000], 1.0)` 应该返回 `[0, 1]`
    +`getCircles([0.0000, 2.0000], [0.0000, 0.0000], 1.0)` should return `[0, 1]`
     
     ```js
     assert.deepEqual(getCircles(...testCases[1]), answers[1]);
     ```
     
    -`getCircles([0.1234, 0.9876], [0.1234, 0.9876], 2.0)` 应该返回 `Coincident point. Infinite solutions`
    +`getCircles([0.1234, 0.9876], [0.1234, 0.9876], 2.0)` should return `Coincident point. Infinite solutions`
     
     ```js
     assert.deepEqual(getCircles(...testCases[2]), answers[2]);
     ```
     
    -`getCircles([0.1234, 0.9876], [0.8765, 0.2345], 0.5)` 应该返回 `No intersection. Points further apart than circle diameter`
    +`getCircles([0.1234, 0.9876], [0.8765, 0.2345], 0.5)` should return `No intersection. Points further apart than circle diameter`
     
     ```js
     assert.deepEqual(getCircles(...testCases[3]), answers[3]);
     ```
     
    -`getCircles([0.1234, 0.9876], [0.1234, 0.9876], 0.0)` 应该返回 `Radius Zero`
    +`getCircles([0.1234, 0.9876], [0.1234, 0.9876], 0.0)` should return `Radius Zero`
     
     ```js
     assert.deepEqual(getCircles(...testCases[4]), answers[4]);
    diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/combinations.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/combinations.md
    index 9a322c91af..39498bf8ed 100644
    --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/combinations.md
    +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/combinations.md
    @@ -1,6 +1,6 @@
     ---
     id: 5958469238c0d8d2632f46db
    -title: 组合
    +title: Combinations
     challengeType: 1
     forumTopicId: 302233
     dashedName: combinations
    @@ -10,9 +10,9 @@ dashedName: combinations
     
     Given non-negative integers `m` and `n`, generate all size `m` combinations of the integers from `0` (zero) to `n-1` in sorted order (each combination is sorted and the entire table is sorted).
     
    -**例如:**
    +**Example:**
     
    -例:
    +`3` comb `5` is:
     
     
    0 1 2
     0 1 3
    @@ -28,19 +28,19 @@ Given non-negative integers `m` and `n`, generate all size `m` combinations of t
     
     # --hints--
     
    -3梳子5是:
    +`combinations` should be a function.
     
     ```js
     assert(typeof combinations === 'function');
     ```
     
    -`combinations(3, 5)`应返回`[[0, 1, 2], [0, 1, 3], [0, 1, 4], [0, 2, 3], [0, 2, 4], [0, 3, 4], [1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4]]` 。
    +`combinations(3, 5)` should return `[[0, 1, 2], [0, 1, 3], [0, 1, 4], [0, 2, 3], [0, 2, 4], [0, 3, 4], [1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4]]`.
     
     ```js
     assert.deepEqual(combinations(testInput1[0], testInput1[1]), testOutput1);
     ```
     
    -`combinations`是一种功能。
    +`combinations(4, 6)` should return `[[0,1,2,3], [0,1,2,4], [0,1,2,5], [0,1,3,4], [0,1,3,5], [0,1,4,5], [0,2,3,4], [0,2,3,5], [0,2,4,5], [0,3,4,5], [1,2,3,4], [1,2,3,5], [1,2,4,5], [1,3,4,5], [2,3,4,5]]`
     
     ```js
     assert.deepEqual(combinations(testInput2[0], testInput2[1]), testOutput2);
    diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/convert-seconds-to-compound-duration.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/convert-seconds-to-compound-duration.md
    index 0998b5ebb3..f829063ec2 100644
    --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/convert-seconds-to-compound-duration.md
    +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/convert-seconds-to-compound-duration.md
    @@ -12,14 +12,14 @@ Implement a function which:
     
     
    • takes a positive integer representing a duration in seconds as input (e.g., 100), and
    • -
    • 返回一个字符串,该字符串显示分解为周、天、小时、分钟和秒的相同持续时间,如下详述(例如,1 min, 40 sec)。
    • +
    • returns a string which shows the same duration decomposed into weeks, days, hours, minutes, and seconds as detailed below (e.g., 1 min, 40 sec).
    -证明它通过了以下三个测试用例: +Demonstrate that it passes the following three test-cases:
    Test Cases
    -| Input number | 输出结果 | +| Input number | Output number | | ------------ | ------------------------- | | 7259 | 2 hr, 59 sec | | 86400 | 1 d | @@ -40,37 +40,37 @@ Implement a function which:
  • - 但是, 在输出中包含具有非零值的数量(例如,返回 1 d 而不是 0 wk, 1 d, 0 hr, 0 min, 0 sec)。 + However, only include quantities with non-zero values in the output (e.g., return 1 d and not 0 wk, 1 d, 0 hr, 0 min, 0 sec).
  • - 尽可能让较大的单位优先于较小的单位(例如,返回 2 min, 10 sec 而不是 1 min, 70 sec130 sec)。 + Give larger units precedence over smaller ones as much as possible (e.g., return 2 min, 10 sec and not 1 min, 70 sec or 130 sec).
  • - 模仿测试用例中显示的格式(数量从最大单位到最小单位排序并用逗号+空格分隔;每个数量的值和单位用空格分隔)。 + Mimic the formatting shown in the test-cases (quantities sorted from largest unit to smallest and separated by comma+space; value and unit of each quantity separated by space).
# --hints-- -`convertSeconds` 应该是一个函数。 +`convertSeconds` should be a function. ```js assert(typeof convertSeconds === 'function'); ``` -`convertSeconds(7259)` 应该返回 `2 hr, 59 sec`。 +`convertSeconds(7259)` should return `2 hr, 59 sec`. ```js assert.equal(convertSeconds(testCases[0]), results[0]); ``` -`convertSeconds(86400)` 应该返回 `1 d`。 +`convertSeconds(86400)` should return `1 d`. ```js assert.equal(convertSeconds(testCases[1]), results[1]); ``` -`convertSeconds(6000000)` 应该返回 `9 wk, 6 d, 10 hr, 40 min`。 +`convertSeconds(6000000)` should return `9 wk, 6 d, 10 hr, 40 min`. ```js assert.equal(convertSeconds(testCases[2]), results[2]); diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/factors-of-a-mersenne-number.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/factors-of-a-mersenne-number.md index 9952160435..23502e3743 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/factors-of-a-mersenne-number.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/factors-of-a-mersenne-number.md @@ -1,6 +1,6 @@ --- id: 598eea87e5cf4b116c3ff81a -title: 梅森数的因数 +title: Factors of a Mersenne number challengeType: 1 forumTopicId: 302264 dashedName: factors-of-a-mersenne-number @@ -10,23 +10,23 @@ dashedName: factors-of-a-mersenne-number A Mersenne number is a number in the form of 2P-1. -如果 `P` 是素数,则梅森数可能是梅森素数。 (如果 `P` 不是素数,梅森数也不是素数。) +If `P` is prime, the Mersenne number may be a Mersenne prime. (If `P` is not prime, the Mersenne number is also not prime.) In the search for Mersenne prime numbers it is advantageous to eliminate exponents by finding a small factor before starting a, potentially lengthy, Lucas-Lehmer test. -有非常有效的算法可以确定一个数是否可​​以整除 2P-1(或者等效地,如果 2P mod(数字)= 1)。 +There are very efficient algorithms for determining if a number divides 2P-1 (or equivalently, if 2P mod (the number) = 1). -一些语言已经内置了这种指数和模运算的实现(称为 modPow 或类似的)。 +Some languages already have built-in implementations of this exponent-and-mod operation (called modPow or similar). -下面是如何自己实现这个modPow: +The following is how to implement this modPow yourself: -例如,让我们计算 223 mod 47。 +For example, let's compute 223 mod 47. -将指数 23 转换为二进制,得到 10111。 从 square = 1 开始,重复平方。 +Convert the exponent 23 to binary, you get 10111. Starting with square = 1, repeatedly square it. -去除指数的最高位,如果它是 1 乘以 `square` 乘以幂的底数 (2),然后计算 square modulo 47。 +Remove the top bit of the exponent, and if it's 1 multiply `square` by the base of the exponentiation (2), then compute square modulo 47. -使用上一步取模的结果作为下一步 `square` 的初始值: +Use the result of the modulo from the last step as the initial value of `square` in the next step:
Remove   Optional
 square        top bit  multiply by 2  mod 47
@@ -38,51 +38,51 @@ square        top bit  multiply by 2  mod 47
 27*27 = 729   1        729*2 = 1458      1
 
-由于 223 mod 47 = 1,47 是 2P-1。 +Since 223 mod 47 = 1, 47 is a factor of 2P-1. -(要看到这一点,从两边减去 1:223-1 = 0 mod 47。) +(To see this, subtract 1 from both sides: 223-1 = 0 mod 47.) -由于我们已经证明 47 是一个因式,223-1 不是质数。 +Since we've shown that 47 is a factor, 223-1 is not prime. -梅森数的其他性质使我们能够进一步完善该过程。 +Further properties of Mersenne numbers allow us to refine the process even more. -2P-1 的任何因子 `q` 必须是 `2kP+1` 的形式,`k` 为正整数或零。 此外,`q` 必须是 `1` 或 `7 mod 8`。 +Any factor `q` of 2P-1 must be of the form `2kP+1`, `k` being a positive integer or zero. Furthermore, `q` must be `1` or `7 mod 8`. Finally any potential factor `q` must be prime. -与其他试除算法一样,算法在 `2kP+1 > sqrt(N)` 时停止。这些主要测试仅适用于 `P` 为质数的梅森数。 例如,M4=15 使用这些技术不会产生因数,但会产生 3 和 5 的因数,它们都不适合 `2kP+1`。 +As in other trial division algorithms, the algorithm stops when `2kP+1 > sqrt(N)`.These primarily tests only work on Mersenne numbers where `P` is prime. For example, M4=15 yields no factors using these techniques, but factors into 3 and 5, neither of which fit `2kP+1`. # --instructions-- -用上面的方法找到 2p-1 的因数。 +Using the above method find a factor of 2p-1. # --hints-- -`check_mersenne` 应该是一个函数。 +`check_mersenne` should be a function. ```js assert(typeof check_mersenne === 'function'); ``` -`check_mersenne(3)` 应该返回一个字符串。 +`check_mersenne(3)` should return a string. ```js assert(typeof check_mersenne(3) == 'string'); ``` -`check_mersenne(3)` 应该返回字符串 `M3 = 2^3-1 is prime`。 +`check_mersenne(3)` should return the string `M3 = 2^3-1 is prime`. ```js assert.equal(check_mersenne(3), 'M3 = 2^3-1 is prime'); ``` -`check_mersenne(23)` 应该返回字符串 `M23 = 2^23-1 is composite with factor 47`。 +`check_mersenne(23)` should return the string `M23 = 2^23-1 is composite with factor 47`. ```js assert.equal(check_mersenne(23), 'M23 = 2^23-1 is composite with factor 47'); ``` -`check_mersenne(929)` 应该返回字符串 `M929 = 2^929-1 is composite with factor 13007`。 +`check_mersenne(929)` should return the string `M929 = 2^929-1 is composite with factor 13007`. ```js assert.equal( diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/gamma-function.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/gamma-function.md index c202c2ae94..91b6b01786 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/gamma-function.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/gamma-function.md @@ -10,13 +10,13 @@ dashedName: gamma-function Implement one algorithm (or more) to compute the Gamma function (in the real field only). -$ \\ Gamma(x)= \\ displaystyle \\ int_0 ^ \\ infty t ^ {x-1} e ^ { - t} dt $ +The Gamma function can be defined as:
$\Gamma(x) = \displaystyle\int_0^\infty t^{x-1}e^{-t} dt$
# --hints-- -`gamma`应该是一个功能。 +`gamma` should be a function. ```js assert(typeof gamma == 'function'); diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/generate-lower-case-ascii-alphabet.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/generate-lower-case-ascii-alphabet.md index 68d235b538..eb31c80170 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/generate-lower-case-ascii-alphabet.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/generate-lower-case-ascii-alphabet.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc7e7a -title: 生成小写 ASCII 字母表 +title: Generate lower case ASCII alphabet challengeType: 1 forumTopicId: 302274 dashedName: generate-lower-case-ascii-alphabet @@ -12,43 +12,43 @@ Write a function to generate an array of lower case ASCII characters for a given # --hints-- -`lascii` 应该是一个函数。 +`lascii` should be a function. ```js assert(typeof lascii == 'function'); ``` -`lascii("a","d")` 应该返回一个数组。 +`lascii("a","d")` should return an array. ```js assert(Array.isArray(lascii('a', 'd'))); ``` -`lascii('a','d')` 应该返回 `[ 'a', 'b', 'c', 'd' ]`。 +`lascii('a','d')` should return `[ 'a', 'b', 'c', 'd' ]`. ```js assert.deepEqual(lascii('a', 'd'), results[0]); ``` -`lascii('c','i')` 应该返回 `[ 'c', 'd', 'e', 'f', 'g', 'h', 'i' ]`。 +`lascii('c','i')` should return `[ 'c', 'd', 'e', 'f', 'g', 'h', 'i' ]`. ```js assert.deepEqual(lascii('c', 'i'), results[1]); ``` -`lascii('m','q')` 应该返回 `[ 'm', 'n', 'o', 'p', 'q' ]`。 +`lascii('m','q')` should return `[ 'm', 'n', 'o', 'p', 'q' ]`. ```js assert.deepEqual(lascii('m', 'q'), results[2]); ``` -`lascii('k','n')` 应该返回 `[ 'k', 'l', 'm', 'n' ]`。 +`lascii('k','n')` should return `[ 'k', 'l', 'm', 'n' ]`. ```js assert.deepEqual(lascii('k', 'n'), results[3]); ``` -`lascii('t','z')` 应该返回 `[ 't', 'u', 'v', 'w', 'x', 'y', 'z' ]`。 +`lascii('t','z')` should return `[ 't', 'u', 'v', 'w', 'x', 'y', 'z' ]`. ```js assert.deepEqual(lascii('t', 'z'), results[4]); diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md index dc2ae82642..75facd682a 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/hash-from-two-arrays.md @@ -1,6 +1,6 @@ --- id: 595671d4d2cdc305f0d5b36f -title: 来自两个数组的散列 +title: Hash from two arrays challengeType: 1 forumTopicId: 302283 dashedName: hash-from-two-arrays @@ -10,7 +10,7 @@ dashedName: hash-from-two-arrays Given two arrays, create a hash object where the elements from one array (the keys) are linked to the elements of the other (the values). -例如: +Example: ```js const firstArr = [1, 2, 3]; diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/k-d-tree.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/k-d-tree.md index 88f6453815..9f038dd908 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/k-d-tree.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/k-d-tree.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc7ecb -title: K-d 树 +title: K-d tree challengeType: 1 forumTopicId: 302295 dashedName: k-d-tree @@ -12,17 +12,17 @@ A k-d tree (short for *k*-dimensional tree) is a space-partitioning data structu # --instructions-- -编写一个函数来使用 k-d 树执行最近邻搜索。 该函数采用两个参数:一个 k 维点数组和一个 k 维点,其最近邻点应由函数返回。 K 维点将作为 k 个元素的数组给出。 +Write a function to perform a nearest neighbour search using k-d tree. The function takes two parameters: an array of k-dimensional points, and a single k-dimensional point whose nearest neighbour should be returned by the function. A k-dimensional point will be given as an array of k elements. # --hints-- -`kdNN` 应该是一个函数。 +`kdNN` should be a function. ```js assert(typeof kdNN == 'function'); ``` -`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [9, 2])` 应该返回一个数组。 +`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [9, 2])` should return an array. ```js assert( @@ -42,7 +42,7 @@ assert( ); ``` -`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [9, 2])` 应该返回 `[ 8, 1 ]`。 +`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [9, 2])` should return `[ 8, 1 ]`. ```js assert.deepEqual( @@ -61,7 +61,7 @@ assert.deepEqual( ); ``` -`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [7, 1])` 应该返回 `[ 8, 1 ]`。 +`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [7, 1])` should return `[ 8, 1 ]`. ```js assert.deepEqual( @@ -80,7 +80,7 @@ assert.deepEqual( ); ``` -`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [3, 2])` 应该返回 `[ 2, 3 ]`。 +`kdNN([[[2, 3], [5, 4], [9, 6], [4, 7], [8, 1], [7, 2]], [3, 2])` should return `[ 2, 3 ]`. ```js assert.deepEqual( @@ -99,7 +99,7 @@ assert.deepEqual( ); ``` -`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [1, 2, 3])` 应该返回 `[ 1, 2, 5 ]`。 +`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [1, 2, 3])` should return `[ 1, 2, 5 ]`. ```js assert.deepEqual( @@ -118,7 +118,7 @@ assert.deepEqual( ); ``` -`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [4, 5, 6])` 应该返回 `[ 4, 6, 7 ]`。 +`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [4, 5, 6])` should return `[ 4, 6, 7 ]`. ```js assert.deepEqual( @@ -137,7 +137,7 @@ assert.deepEqual( ); ``` -`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [8, 8, 8])` 应该返回 `[ 7, 8, 9 ]`。 +`kdNN([[2, 3, 1], [9, 4, 5], [4, 6, 7], [1, 2, 5], [7, 8, 9], [3, 6, 1]], [8, 8, 8])` should return `[ 7, 8, 9 ]`. ```js assert.deepEqual( diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md index a15075c628..ab84dea263 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/knapsack-problem-0-1.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc7ed1 -title: 背包问题/0-1 +title: Knapsack problem/0-1 challengeType: 1 forumTopicId: 323649 dashedName: knapsack-problem0-1 @@ -10,15 +10,15 @@ dashedName: knapsack-problem0-1 The 0-1 knapsack problem is defined as follows: -您将获得一组对象,这些对象表示要放入背包的物品。 对象有 3 个属性:名称、权重和值。 需要选择物品,使总重量不超过最大重量,并且价值最大化。 +You are given an array of objects representing items to be put in a knapsack. The objects have 3 attributes: name, weight, and value. The items need to be selected so that the total weight does not exceed the maximum weight and the value is maximized. # --instructions-- -写一个函数来解决背包问题。 该函数以对象数组和最大权重作为参数。 它应该返回可能的最大总值。 +Write a function to solve the knapsack problem. The function is given the array of objects and the maximum weight as parameters. It should return the maximum total value possible. # --hints-- -`knapsack([{ name:'map', weight:9, value:150 }, { name:'compass', weight:13, value:35 }, { name:'water', weight:153, value:200 }, { name:'sandwich', weight:50, value:160 }, { name:'glucose', weight:15, value:60 }, { name:'tin', weight:68, value:45 }, { name:'banana', weight:27, value:60 }, { name:'apple', weight:39, value:40 }], 100)` 应该返回 `405`。 +`knapsack([{ name:'map', weight:9, value:150 }, { name:'compass', weight:13, value:35 }, { name:'water', weight:153, value:200 }, { name:'sandwich', weight:50, value:160 }, { name:'glucose', weight:15, value:60 }, { name:'tin', weight:68, value:45 }, { name:'banana', weight:27, value:60 }, { name:'apple', weight:39, value:40 }], 100)` should return `405`. ```js assert.equal( @@ -39,7 +39,7 @@ assert.equal( ); ``` -`knapsack([{ name:'map', weight:9, value:150 }, { name:'compass', weight:13, value:35 }, { name:'water', weight:153, value:200 }, { name:'sandwich', weight:50, value:160 }, { name:'glucose', weight:15, value:60 }, { name:'tin', weight:68, value:45 }, { name:'banana', weight:27, value:60 }, { name:'apple', weight:39, value:40 }], 200)` 应该返回 `510`。 +`knapsack([{ name:'map', weight:9, value:150 }, { name:'compass', weight:13, value:35 }, { name:'water', weight:153, value:200 }, { name:'sandwich', weight:50, value:160 }, { name:'glucose', weight:15, value:60 }, { name:'tin', weight:68, value:45 }, { name:'banana', weight:27, value:60 }, { name:'apple', weight:39, value:40 }], 200)` should return `510`. ```js assert.equal( @@ -60,7 +60,7 @@ assert.equal( ); ``` -`knapsack([{ name:'cheese', weight:23, value:30 }, { name:'beer', weight:52, value:10 }, { name:'suntan cream', weight:11, value:70 }, { name:'camera', weight:32, value:30 }, { name:'T-shirt', weight:24, value:15 }, { name:'trousers', weight:48, value:10 }, { name:'umbrella', weight:73, value:40 }], 100)` 应该返回 `145`。 +`knapsack([{ name:'cheese', weight:23, value:30 }, { name:'beer', weight:52, value:10 }, { name:'suntan cream', weight:11, value:70 }, { name:'camera', weight:32, value:30 }, { name:'T-shirt', weight:24, value:15 }, { name:'trousers', weight:48, value:10 }, { name:'umbrella', weight:73, value:40 }], 100)` should return `145`. ```js assert.equal( @@ -80,7 +80,7 @@ assert.equal( ); ``` -`knapsack([{ name:'cheese', weight:23, value:30 }, { name:'beer', weight:52, value:10 }, { name:'suntan cream', weight:11, value:70 }, { name:'camera', weight:32, value:30 }, { name:'T-shirt', weight:24, value:15 }, { name:'trousers', weight:48, value:10 }, { name:'umbrella', weight:73, value:40 }], 200)` 应该返回 `185`。 +`knapsack([{ name:'cheese', weight:23, value:30 }, { name:'beer', weight:52, value:10 }, { name:'suntan cream', weight:11, value:70 }, { name:'camera', weight:32, value:30 }, { name:'T-shirt', weight:24, value:15 }, { name:'trousers', weight:48, value:10 }, { name:'umbrella', weight:73, value:40 }], 200)` should return `185`. ```js assert.equal( @@ -100,7 +100,7 @@ assert.equal( ); ``` -`knapsack([{ name:'waterproof trousers', weight:42, value:70 }, { name:'waterproof overclothes', weight:43, value:75 }, { name:'note-case', weight:22, value:80 }, { name:'sunglasses', weight:7, value:20 }, { name:'towel', weight:18, value:12 }, { name:'socks', weight:4, value:50 }, { name:'book', weight:30, value:10 }], 100)` 应该返回 `237`。 +`knapsack([{ name:'waterproof trousers', weight:42, value:70 }, { name:'waterproof overclothes', weight:43, value:75 }, { name:'note-case', weight:22, value:80 }, { name:'sunglasses', weight:7, value:20 }, { name:'towel', weight:18, value:12 }, { name:'socks', weight:4, value:50 }, { name:'book', weight:30, value:10 }], 100)` should return `237`. ```js assert.equal( @@ -120,7 +120,7 @@ assert.equal( ); ``` -`knapsack([{ name:'waterproof trousers', weight:42, value:70 }, { name:'waterproof overclothes', weight:43, value:75 }, { name:'note-case', weight:22, value:80 }, { name:'sunglasses', weight:7, value:20 }, { name:'towel', weight:18, value:12 }, { name:'socks', weight:4, value:50 }, { name:'book', weight:30, value:10 }], 200)` 应该返回 `317`。 +`knapsack([{ name:'waterproof trousers', weight:42, value:70 }, { name:'waterproof overclothes', weight:43, value:75 }, { name:'note-case', weight:22, value:80 }, { name:'sunglasses', weight:7, value:20 }, { name:'towel', weight:18, value:12 }, { name:'socks', weight:4, value:50 }, { name:'book', weight:30, value:10 }], 200)` should return `317`.' ```js assert.equal( diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/least-common-multiple.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/least-common-multiple.md index 4e25910190..d84da1b8b6 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/least-common-multiple.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/least-common-multiple.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc7edf -title: 最小公倍数 +title: Least common multiple challengeType: 1 forumTopicId: 302301 dashedName: least-common-multiple diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/long-multiplication.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/long-multiplication.md index 459bb905aa..174bde8279 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/long-multiplication.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/long-multiplication.md @@ -1,6 +1,6 @@ --- id: 5e4ce2a1ac708cc68c1df25d -title: 长乘法 +title: Long multiplication challengeType: 1 forumTopicId: 385269 dashedName: long-multiplication @@ -10,29 +10,29 @@ dashedName: long-multiplication Explicitly implement long multiplication. -这是实现任意精度整数代数的一种可能方法。 +This is one possible approach to arbitrary-precision integer algebra. # --instructions-- -编写一个函数,将两个大数字符串作为参数。 您的函数应该将这两个大数的乘积作为字符串返回。 +Write a function that takes two strings of large numbers as parameters. Your function should return the product of these two large numbers as a string. -**注意:** 在 JavaScript 中,算术运算对于大数是不准确的,因此你必须自己实现精确的乘法。 +**Note:** In JavaScript, arithmetic operations are inaccurate with large numbers, so you will have to implement precise multiplication yourself. # --hints-- -`mult` 应该是一个函数。 +`mult` should be a function. ```js assert(typeof mult == 'function'); ``` -`mult("18446744073709551616", "18446744073709551616")` 应该返回一个字符串。 +`mult("18446744073709551616", "18446744073709551616")` should return a string. ```js assert(typeof mult('18446744073709551616', '18446744073709551616') == 'string'); ``` -`mult("18446744073709551616", "18446744073709551616")` 应该返回 `"340282366920938463463374607431768211456"`。 +`mult("18446744073709551616", "18446744073709551616")` should return `"340282366920938463463374607431768211456"`. ```js assert.equal( @@ -41,7 +41,7 @@ assert.equal( ); ``` -`mult("31844674073709551616", "1844674407309551616")` 应该返回 `"58743055272886011737990786529368211456"`。 +`mult("31844674073709551616", "1844674407309551616")` should return `"58743055272886011737990786529368211456"`. ```js assert.equal( @@ -50,7 +50,7 @@ assert.equal( ); ``` -`mult("1846744073709551616", "44844644073709551616")` 应该返回 `"82816580680737279241781007431768211456"`。 +`mult("1846744073709551616", "44844644073709551616")` should return `"82816580680737279241781007431768211456"`. ```js assert.equal( @@ -59,7 +59,7 @@ assert.equal( ); ``` -`mult("1844674407370951616", "1844674407709551616")` 应该返回 `"3402823669833978308014392742590611456"`。 +`mult("1844674407370951616", "1844674407709551616")` should return `"3402823669833978308014392742590611456"`. ```js assert.equal( @@ -68,7 +68,7 @@ assert.equal( ); ``` -`mult("2844674407370951616", "1844674407370955616")` 应该返回 `"5247498076580334548376218009219475456"`。 +`mult("2844674407370951616", "1844674407370955616")` should return `"5247498076580334548376218009219475456"`. ```js assert.equal( diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/lucas-lehmer-test.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/lucas-lehmer-test.md index ccac8759fa..e909f6b3f6 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/lucas-lehmer-test.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/lucas-lehmer-test.md @@ -1,6 +1,6 @@ --- id: 5e6dee7749a0b85a3f1fc7d5 -title: 卢卡斯-莱默检验 +title: Lucas-Lehmer test challengeType: 1 forumTopicId: 385281 dashedName: lucas-lehmer-test @@ -12,53 +12,53 @@ Lucas-Lehmer Test: for $p$ an odd prime, the Mersenne number $2^p-1$ is prime if # --instructions-- -编写一个函数,返回给定的梅森数是否为素数。 +Write a function that returns whether the given Mersenne number is prime or not. # --hints-- -`lucasLehmer` 应该是一个函数。 +`lucasLehmer` should be a function. ```js assert(typeof lucasLehmer == 'function'); ``` -`lucasLehmer(11)` 应该返回一个布尔值。 +`lucasLehmer(11)` should return a boolean. ```js assert(typeof lucasLehmer(11) == 'boolean'); ``` -`lucasLehmer(11)` 应该返回 `false`。 +`lucasLehmer(11)` should return `false`. ```js assert.equal(lucasLehmer(11), false); ``` -`lucasLehmer(15)` 应该返回 `false`。 +`lucasLehmer(15)` should return `false`. ```js assert.equal(lucasLehmer(15), false); ``` -`lucasLehmer(13)` 应该返回 `true`。 +`lucasLehmer(13)` should return `true`. ```js assert.equal(lucasLehmer(13), true); ``` -`lucasLehmer(17)` 应该返回 `true`。 +`lucasLehmer(17)` should return `true`. ```js assert.equal(lucasLehmer(17), true); ``` -`lucasLehmer(19)` 应该返回 `true`。 +`lucasLehmer(19)` should return `true`. ```js assert.equal(lucasLehmer(19), true); ``` -`lucasLehmer(21)` 应该返回 `false`。 +`lucasLehmer(21)` should return `false`. ```js assert.equal(lucasLehmer(21), false); diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/luhn-test-of-credit-card-numbers.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/luhn-test-of-credit-card-numbers.md index bebea06b88..596dfd6287 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/luhn-test-of-credit-card-numbers.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/luhn-test-of-credit-card-numbers.md @@ -1,6 +1,6 @@ --- id: 5ea28156e79528a9ab248f27 -title: 信用卡号的 Luhn 测试 +title: Luhn test of credit card numbers challengeType: 1 forumTopicId: 385284 dashedName: luhn-test-of-credit-card-numbers @@ -10,20 +10,20 @@ dashedName: luhn-test-of-credit-card-numbers The Luhn test is used by some credit card companies to distinguish valid credit card numbers from what could be a random selection of digits. -那些使用可以通过 Luhn 测试验证的信用卡号码的公司拥有通过以下测试的号码: +Those companies using credit card numbers that can be validated by the Luhn test have numbers that pass the following test:
  1. Reverse the order of the digits in the number.
  2. -
  3. 取第一个、第三个 ... 以及反转数字中的每隔一个奇数,并将它们相加以形成部分和 s1
  4. -
  5. 取倒数第二个、第四个 … 以及反转数字中每隔一个的偶数:
  6. +
  7. Take the first, third, ... and every other odd digit in the reversed digits and sum them to form the partial sum s1
  8. +
  9. Taking the second, fourth ... and every other even digit in the reversed digits:
    1. Multiply each digit by two and sum the digits if the answer is greater than nine to form partial sums for the even digits.
    2. -
    3. 将偶数位的部分和相加以形成 s2。
    4. +
    5. Sum the partial sums of the even digits to form s2.
    -
  10. 如果 s1 + s2 以零结尾,则原始号码采用 Luhn 测试验证的有效信用卡号码的形式。
  11. +
  12. If s1 + s2 ends in zero then the original number is in the form of a valid credit card number as verified by the Luhn test.
-例如,如果试用号是 49927398716: +For example, if the trial number is 49927398716: ```bash Reverse the digits: @@ -44,53 +44,53 @@ s1 + s2 = 70 which ends in zero which means that 49927398716 passes the Luhn tes # --instructions-- -编写一个函数,用 Luhn 测试验证一个数字。 如果它是一个有效数字,则返回 true。 否则,返回 false。 +Write a function that will validate a number with the Luhn test. Return true if it's a valid number. Otherwise, return false. # --hints-- -`luhnTest` 应该是一个函数。 +`luhnTest` should be a function. ```js assert(typeof luhnTest === 'function'); ``` -`luhnTest("4111111111111111")` 应该返回一个布尔值。 +`luhnTest("4111111111111111")` should return a boolean. ```js assert(typeof luhnTest('4111111111111111') === 'boolean'); ``` -`luhnTest("4111111111111111")` 应该返回 `true`。 +`luhnTest("4111111111111111")` should return `true`. ```js assert.equal(luhnTest('4111111111111111'), true); ``` -`luhnTest("4111111111111112")` 应该返回 `false`。 +`luhnTest("4111111111111112")` should return `false`. ```js assert.equal(luhnTest('4111111111111112'), false); ``` -`luhnTest("49927398716")` 应该返回 `true`。 +`luhnTest("49927398716")` should return `true`. ```js assert.equal(luhnTest('49927398716'), true); ``` -`luhnTest("49927398717")` 应该返回 `false`。 +`luhnTest("49927398717")` should return `false`. ```js assert.equal(luhnTest('49927398717'), false); ``` -`luhnTest("1234567812345678")` 应该返回 `false`。 +`luhnTest("1234567812345678")` should return `false`. ```js assert.equal(luhnTest('1234567812345678'), false); ``` -`luhnTest("1234567812345670")` 应该返回 `true`。 +`luhnTest("1234567812345670")` should return `true`. ```js assert.equal(luhnTest('1234567812345670'), true); diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/sorting-algorithms-stooge-sort.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/sorting-algorithms-stooge-sort.md index c752c05715..23819a80eb 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/sorting-algorithms-stooge-sort.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/sorting-algorithms-stooge-sort.md @@ -1,6 +1,6 @@ --- id: 5a23c84252665b21eecc8012 -title: 排序算法/Stooge 排序 +title: Sorting algorithms/Stooge sort challengeType: 1 forumTopicId: 302318 dashedName: sorting-algorithmsstooge-sort @@ -10,7 +10,7 @@ dashedName: sorting-algorithmsstooge-sort Write a function to perform Stooge Sort on an array of integers. The function should return a sorted array. -Stooge Sort 算法如下: +The Stooge Sort algorithm is as follows:
algorithm stoogesort(array L, i = 0, j = length(L)-1)
   if L[j] < L[i] then
@@ -25,37 +25,37 @@ Stooge Sort 算法如下:
 
 # --hints--
 
-`stoogeSort` 应该是一个函数。
+`stoogeSort` should be a function.
 
 ```js
 assert(typeof stoogeSort == 'function');
 ```
 
-`stoogeSort([25, 32, 12, 7, 20])` 应该返回一个数组。
+`stoogeSort([25, 32, 12, 7, 20])` should return an array.
 
 ```js
 assert(Array.isArray(stoogeSort([25, 32, 12, 7, 20])));
 ```
 
-`stoogeSort([25, 32, 12, 7, 20])` 应该返回 `[7, 12, 20, 25, 32]`。
+`stoogeSort([25, 32, 12, 7, 20])` should return `[7, 12, 20, 25, 32]`.
 
 ```js
 assert.deepEqual(stoogeSort([25, 32, 12, 7, 20]), [7, 12, 20, 25, 32]);
 ```
 
-`stoogeSort([38, 45, 35, 8, 13])` 应该返回 `[8, 13, 35, 38, 45]`。
+`stoogeSort([38, 45, 35, 8, 13])` should return `[8, 13, 35, 38, 45]`.
 
 ```js
 assert.deepEqual(stoogeSort([38, 45, 35, 8, 13]), [8, 13, 35, 38, 45]);
 ```
 
-`stoogeSort([43, 36, 20, 34, 24])` 应该返回 `[20, 24, 34, 36, 43]`。
+`stoogeSort([43, 36, 20, 34, 24])` should return `[20, 24, 34, 36, 43]`.
 
 ```js
 assert.deepEqual(stoogeSort([43, 36, 20, 34, 24]), [20, 24, 34, 36, 43]);
 ```
 
-`stoogeSort([12, 33, 26, 18, 1, 16, 38])` 应该返回 `[1, 12, 16, 18, 26, 33, 38]`。
+`stoogeSort([12, 33, 26, 18, 1, 16, 38])` should return `[1, 12, 16, 18, 26, 33, 38]`.
 
 ```js
 assert.deepEqual(stoogeSort([12, 33, 26, 18, 1, 16, 38]), [
@@ -69,7 +69,7 @@ assert.deepEqual(stoogeSort([12, 33, 26, 18, 1, 16, 38]), [
 ]);
 ```
 
-`stoogeSort([3, 39, 48, 16, 1, 4, 29])` 应该返回 `[1, 3, 4, 16, 29, 39, 48]`。
+`stoogeSort([3, 39, 48, 16, 1, 4, 29])` should return `[1, 3, 4, 16, 29, 39, 48]`.
 
 ```js
 assert.deepEqual(stoogeSort([3, 39, 48, 16, 1, 4, 29]), [
diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/taxicab-numbers.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/taxicab-numbers.md
index 76548575ce..e968d09157 100644
--- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/taxicab-numbers.md
+++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/taxicab-numbers.md
@@ -1,6 +1,6 @@
 ---
 id: 594ecc0d9a8cf816e3340187
-title: 出租车号码
+title: Taxicab numbers
 challengeType: 1
 forumTopicId: 302337
 dashedName: taxicab-numbers
@@ -10,58 +10,58 @@ dashedName: taxicab-numbers
 
 A taxicab number (the definition that is being used here) is a positive integer that can be expressed as the sum of two positive cubes in more than one way.
 
-第一个出租车号码是`1729`,即:
+The first taxicab number is `1729`, which is:
 
-13 + 123 和
+13 + 123 and
 
-93 + 103。
+93 + 103.
 
-出租车号码也被称为:
+Taxicab numbers are also known as:
 
 
  • taxi numbers
  • -
  • 出租车号码(taxi-cab numbers)
  • -
  • 出租车号码(taxi cab numbers)
  • -
  • Hardy-Ramanujan 数
  • +
  • taxi-cab numbers
  • +
  • taxi cab numbers
  • +
  • Hardy-Ramanujan numbers
# --instructions-- -编写一个返回最低的 `n` 个出租车号码的函数。 对于每个出租车号码,显示该号码及其组成的立方体。 +Write a function that returns the lowest `n` taxicab numbers. For each of the taxicab numbers, show the number as well as its constituent cubes. # --hints-- -`taxicabNumbers` 应该是一个函数。 +`taxicabNumbers` should be a function. ```js assert(typeof taxicabNumbers === 'function'); ``` -`taxicabNumbers` 应该返回一个数组。 +`taxicabNumbers` should return an array. ```js assert(typeof taxicabNumbers(2) === 'object'); ``` -`taxicabNumbers` 应该返回一个数字数组。 +`taxicabNumbers` should return an array of numbers. ```js assert(typeof taxicabNumbers(100)[0] === 'number'); ``` -`taxicabNumbers(4)` 应该返回 [1729, 4104, 13832, 20683]。 +`taxicabNumbers(4)` should return [1729, 4104, 13832, 20683]. ```js assert.deepEqual(taxicabNumbers(4), res4); ``` -`taxicabNumbers(25)` 应该返回 [1729, 4104, 13832, 20683, 32832, 39312, 40033, 46683, 64232, 65728, 110656, 110808, 134379, 149389, 165464, 171288, 195841, 216027, 216125, 262656, 314496, 320264, 327763, 373464, 402597] +`taxicabNumbers(25)` should return [1729, 4104, 13832, 20683, 32832, 39312, 40033, 46683, 64232, 65728, 110656, 110808, 134379, 149389, 165464, 171288, 195841, 216027, 216125, 262656, 314496, 320264, 327763, 373464, 402597] ```js assert.deepEqual(taxicabNumbers(25), res25); ``` -`taxicabNumbers(39)` 的第 20 - 29 位结果数字应该是 [314496,320264,327763,373464,402597,439101,443889,513000,513856]。 +`taxicabNumbers(39)` resulting numbers from 20 - 29 should be [314496,320264,327763,373464,402597,439101,443889,513000,513856]. ```js assert.deepEqual(taxicabNumbers(39).slice(20, 29), res39From20To29); diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/tokenize-a-string-with-escaping.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/tokenize-a-string-with-escaping.md index 53264e6136..2abd8b10dd 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/tokenize-a-string-with-escaping.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/tokenize-a-string-with-escaping.md @@ -1,6 +1,6 @@ --- id: 594faaab4e2a8626833e9c3d -title: 使用转义标记字符串 +title: Tokenize a string with escaping challengeType: 1 forumTopicId: 302338 dashedName: tokenize-a-string-with-escaping @@ -10,7 +10,7 @@ dashedName: tokenize-a-string-with-escaping Write a function or program that can split a string at each non-escaped occurrence of a separator character. -它应该接受三个输入参数: +It should accept three input parameters:
  • The string
  • @@ -18,55 +18,55 @@ Write a function or program that can split a string at each non-escaped occurren
  • The escape character
-它应该输出一个字符串列表。 +It should output a list of strings. -拆分规则: +Rules for splitting:
  • The fields that were separated by the separators, become the elements of the output list.
  • -
  • 即使在开始和结束时,也应保留空字段。
  • +
  • Empty fields should be preserved, even at the start and end.
-转义规则: +Rules for escaping:
  • "Escaped" means preceded by an occurrence of the escape character that is not already escaped itself.
  • -
  • 当转义字符位于没有特殊含义的字符之前时,它仍然算作转义字符(但不会做任何特殊的事情)。
  • -
  • 用于转义某些内容的每次出现的转义字符不应成为输出的一部分。
  • +
  • When the escape character precedes a character that has no special meaning, it still counts as an escape (but does not do anything special).
  • +
  • Each occurrences of the escape character that was used to escape something, should not become part of the output.
-证明您的函数满足以下测试用例: +Demonstrate that your function satisfies the following test-case: -给定字符串 +Given the string
one^|uno||three^^^^|four^^^|^cuatro|
-并使用 `|` 作为分隔符和 `^` 作为转义字符,你的函数应输出以下数组: +and using `|` as a separator and `^` as escape character, your function should output the following array:
  ['one|uno', '', 'three^^', 'four^|cuatro', '']
 
# --hints-- -`tokenize` 应该是一个函数。 +`tokenize` should be a function. ```js assert(typeof tokenize === 'function'); ``` -`tokenize` 应该返回一个数组。 +`tokenize` should return an array. ```js assert(typeof tokenize('a', 'b', 'c') === 'object'); ``` -`tokenize('one^|uno||three^^^^|four^^^|^cuatro|', '|', '^')` 应该返回 `['one|uno', '', 'three^^', 'four^|cuatro', '']` +`tokenize('one^|uno||three^^^^|four^^^|^cuatro|', '|', '^')` should return `['one|uno', '', 'three^^', 'four^|cuatro', '']` ```js assert.deepEqual(tokenize(testStr1, '|', '^'), res1); ``` -`tokenize('a@&bcd&ef&&@@hi', '&', '@')` 应该返回 `['a&bcd', 'ef', '', '@hi']` +`tokenize('a@&bcd&ef&&@@hi', '&', '@')` should return `['a&bcd', 'ef', '', '@hi']` ```js assert.deepEqual(tokenize(testStr2, '&', '@'), res2); diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/vector-cross-product.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/vector-cross-product.md index 2db317b461..20dff2183d 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/vector-cross-product.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/vector-cross-product.md @@ -1,6 +1,6 @@ --- id: 594810f028c0303b75339ad2 -title: 矢量叉积 +title: Vector cross product challengeType: 1 forumTopicId: 302342 dashedName: vector-cross-product @@ -12,23 +12,23 @@ A vector is defined as having three dimensions as being represented by an ordere # --instructions-- -编写一个函数,将两个向量(数组)作为输入并计算它们的叉积。 该函数应该在无效输入(例如不同长度的向量)上返回 `null`。 +Write a function that takes two vectors (arrays) as input and computes their cross product. Your function should return `null` on invalid inputs such as vectors of different lengths. # --hints-- -`crossProduct` 应该是一个函数。 +`crossProduct` should be a function. ```js assert.equal(typeof crossProduct, 'function'); ``` -`crossProduct()` 应该返回 null。 +`crossProduct()` should return null. ```js assert.equal(crossProduct(), null); ``` -`crossProduct([1, 2, 3], [4, 5, 6])` 应该返回 `[-3, 6, -3]`。 +`crossProduct([1, 2, 3], [4, 5, 6])` should return `[-3, 6, -3]`. ```js assert.deepEqual(res12, exp12); diff --git a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/word-wrap.md b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/word-wrap.md index c48ea8c180..5ea8d8161d 100644 --- a/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/word-wrap.md +++ b/curriculum/challenges/chinese/22-rosetta-code/rosetta-code-challenges/word-wrap.md @@ -1,6 +1,6 @@ --- id: 594810f028c0303b75339ad4 -title: 自动换行 +title: Word wrap challengeType: 1 forumTopicId: 302344 dashedName: word-wrap @@ -23,37 +23,37 @@ than a simple minimum length algorithm. # --hints-- -任务: +wrap should be a function. ```js assert.equal(typeof wrap, 'function'); ``` -例如,包装为80个字符的文本应如下所示: +wrap should return a string. ```js assert.equal(typeof wrap('abc', 10), 'string'); ``` -wrap(42)必须返回7行。 +wrap(80) should return 4 lines. ```js assert(wrapped80.split('\n').length === 4); ``` -`wrap`是一个功能。 +Your `wrap` function should return our expected text. ```js assert.equal(wrapped80.split('\n')[0], firstRow80); ``` -wrap(42) 应该返回 7 行。 +wrap(42) should return 7 lines. ```js assert(wrapped42.split('\n').length === 7); ``` -你的 `wrap` 函数应该返回我们预期的文本。 +Your `wrap` function should return our expected text. ```js assert.equal(wrapped42.split('\n')[0], firstRow42); diff --git a/curriculum/challenges/chinese/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md b/curriculum/challenges/chinese/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md index 91cfa193d2..9fa6c64fac 100644 --- a/curriculum/challenges/chinese/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md +++ b/curriculum/challenges/chinese/23-python-for-everybody/python-for-everybody/comparing-and-sorting-tuples.md @@ -1,6 +1,6 @@ --- id: 5e7b9f0b0b6c005b0e76f06d -title: Tuples 的比较和排序 +title: Comparing and Sorting Tuples challengeType: 11 videoId: dZXzBXUxxCs bilibiliIds: @@ -14,13 +14,13 @@ dashedName: comparing-and-sorting-tuples More resources: -\- 练习 +\- Exercise # --questions-- ## --text-- -哪个代码与示例代码完成相同的功能? +Which does the same thing as the following code?: ```python lst = [] diff --git a/curriculum/challenges/chinese/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md b/curriculum/challenges/chinese/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md index a529576534..fde02a6863 100644 --- a/curriculum/challenges/chinese/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md +++ b/curriculum/challenges/chinese/23-python-for-everybody/python-for-everybody/introduction-hardware-achitecture.md @@ -1,6 +1,6 @@ --- id: 5e6a54af58d3af90110a60a1 -title: '导言:硬件架构' +title: 'Introduction: Hardware Architecture' challengeType: 11 videoId: H6qtjRTfSog bilibiliIds: @@ -18,15 +18,15 @@ Where are your programs stored when they are running? ## --answers-- -硬盘。 +Hard Drive. --- -内存。 +Memory. --- -中央处理器。 +Central Processing Unit. ## --video-solution-- diff --git a/curriculum/challenges/chinese/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md b/curriculum/challenges/chinese/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md index 411124133a..3ed4d8cd26 100644 --- a/curriculum/challenges/chinese/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md +++ b/curriculum/challenges/chinese/25-front-end-development/lab-book-inventory-app/66a207974c806a19d6607073.md @@ -9,7 +9,7 @@ demoType: onClick # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md b/curriculum/challenges/chinese/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md index fd6436366d..af49b89730 100644 --- a/curriculum/challenges/chinese/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md +++ b/curriculum/challenges/chinese/25-front-end-development/lab-cash-register/aa2e6f85cab2ab736c9a9b24.md @@ -7,7 +7,7 @@ dashedName: build-a-cash-register # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md b/curriculum/challenges/chinese/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md index 63bd05ffed..9c17dfc865 100644 --- a/curriculum/challenges/chinese/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md +++ b/curriculum/challenges/chinese/25-front-end-development/lab-date-conversion/66f686b8ebdb982fa8e14330.md @@ -40,13 +40,16 @@ const currentDateOnly = new Date(currentDate.getFullYear(), currentDate.getMonth assert.equal(currentDateOnly.toString(), expectedDateOnly.toString()); ``` -You should have a variable named `currentDateFormat` that holds the current date in the format `Current Date and Time: [current date]`. +You should have a variable named `currentDateFormat` that holds the current date in the format `Current Date and Time:
:: `. ```js const expectedDate = new Date(); -const expectedDateFormat = `Current Date and Time: ${expectedDate}`; +const expectedDateString = `Current Date and Time: `; +assert.include(currentDateFormat, expectedDateString); -assert.equal(currentDateFormat, expectedDateFormat); +const currentTimestamp = new Date(currentDateFormat.replace(expectedDateString, '')).getTime(); +const expectedTimestamp = expectedDate.getTime(); +assert.approximately(currentTimestamp, expectedTimestamp, 1000); ``` You should log the value of `currentDateFormat` to the console. diff --git a/curriculum/challenges/chinese/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md b/curriculum/challenges/chinese/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md index 43aa9cae9f..cefbcfd944 100644 --- a/curriculum/challenges/chinese/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md +++ b/curriculum/challenges/chinese/25-front-end-development/lab-leap-year-calculator/66c06fad3475cd92421b9ac2.md @@ -9,7 +9,7 @@ dashedName: build-a-leap-year-calculator A leap year is a year that is divisible by `4`, except for years that are divisible by `100` and not divisible by `400`. For example, `2000` is a leap year, but `1900` is not. Also, a leap year has an extra day in February, which is the 29th day of the month. -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md b/curriculum/challenges/chinese/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md new file mode 100644 index 0000000000..06bd6c5e6c --- /dev/null +++ b/curriculum/challenges/chinese/25-front-end-development/lab-lunch-picker-program/66db529d37ad966480ebb633.md @@ -0,0 +1,261 @@ +--- +id: 66db529d37ad966480ebb633 +title: Build a Lunch Picker Program +challengeType: 14 +dashedName: build-a-lunch-picker-program +--- + +# --description-- + +In this lab, you'll build a program that helps in managing lunch options. You'll work with an array of lunches, add and remove items from the array, and randomly select a lunch option. + +**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. + +**User Stories:** + +1. You should create a `lunches` variable and assign it an empty array that will be used to store lunch items. + +2. You should create a function `addLunchToEnd` that takes a string parameter and adds it to the end of the `lunches` array and returns a string in the format: `"[Lunch Item] added to the end of the lunch menu."` + +3. You should create a function `addLunchToStart` that takes a string parameter and adds it to the start of the `lunches` array and returns a string in the format: `"[Lunch Item] added to the start of the lunch menu."` + +4. You should create a function `removeLastLunch` that removes the last lunch item from the `lunches` array and: + - If successful, returns a string in the format: `"[Lunch Item] removed from the end of the lunch menu."` + - If the `lunches` array is empty, returns a string: `"No lunches to remove."` + +5. You should create a function `removeFirstLunch` that removes the first lunch item from the `lunches` array and: + - If successful, returns a string in the format: `"[Lunch Item] removed from the start of the lunch menu."` + - If the `lunches` array is empty, returns a string: `"No lunches to remove."` + +6. You should create a function `getRandomLunch` that selects a random lunch item from the `lunches` array and: + - If successful, returns a string in the format: `"Randomly selected lunch: [Lunch Item]"` + - If the `lunches` array is empty, returns a string: `"No lunches available."` + +7. You should create a function `showLunchMenu` that: + - If there are items in the `lunches` array, returns a string in the format: `"Menu items: [Lunch Item], [Lunch Item]...` + - If the `lunches` array is empty, returns a string: `"The menu is empty."` + +# --hints-- + +You should declare a variable `lunches` and assign it an empty array to store the lunch items. + +```js +assert.isArray(lunches); +``` + +You should define a function `addLunchToEnd`. + +```js +assert.isFunction(addLunchToEnd); +``` + +The function `addLunchToEnd` should take a single argument. + +```js +assert.lengthOf(addLunchToEnd, 1); +``` + +`addLunchToEnd("Tacos")` should return the string `"Tacos added to the end of the lunch menu."`. + +```js +assert.strictEqual(addLunchToEnd("Tacos"), "Tacos added to the end of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(addLunchToEnd("Pizza"), "Pizza added to the end of the lunch menu."); +assert.strictEqual(addLunchToEnd("Burger"), "Burger added to the end of the lunch menu."); +``` + +You should define a function `addLunchToStart`. + +```js +assert.isFunction(addLunchToStart); +``` + +The function `addLunchToStart` should take a single argument. + +```js +assert.lengthOf(addLunchToStart, 1); +``` + +`addLunchToStart("Sushi")` should return the string `"Sushi added to the start of the lunch menu."`. + +```js +assert.strictEqual(addLunchToStart("Sushi"), "Sushi added to the start of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(addLunchToStart("Salad"), "Salad added to the start of the lunch menu."); +assert.strictEqual(addLunchToStart("Pasta"), "Pasta added to the start of the lunch menu."); +``` + +You should define a function `removeLastLunch`. + +```js +assert.isFunction(removeLastLunch) +``` + +When the `lunches` array is empty, the function `removeLastLunch` should return the string `"No lunches to remove."`. + +```js +lunches = []; +assert.strictEqual(removeLastLunch(), "No lunches to remove."); +``` + +When `lunches = ["Stew", "Soup", "Toast"]`, the function `removeLastLunch` should return the string `"Toast removed from the end of the lunch menu."`. + +```js +lunches = ["Stew", "Soup", "Toast"]; +assert.strictEqual(removeLastLunch(), "Toast removed from the end of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(removeLastLunch(), "Soup removed from the end of the lunch menu."); +assert.strictEqual(removeLastLunch(), "Stew removed from the end of the lunch menu."); +``` + +When the `lunches` array is empty, the function `removeFirstLunch` should return the string `"No lunches to remove."`. + +```js +lunches = []; +assert.strictEqual(removeFirstLunch(), "No lunches to remove."); +``` + +When `lunches = ["Salad", "Eggs", "Cheese"]`, the function `removeFirstLunch` should return the string `"Salad removed from the start of the lunch menu."`. + +```js +lunches = ["Salad", "Eggs", "Cheese"]; +assert.strictEqual(removeFirstLunch(), "Salad removed from the start of the lunch menu."); + +// prevent hardcoding +assert.strictEqual(removeFirstLunch(), "Eggs removed from the start of the lunch menu."); +assert.strictEqual(removeFirstLunch(), "Cheese removed from the start of the lunch menu."); +``` + +You should define a function `getRandomLunch`. + +```js +assert.isFunction(getRandomLunch); +``` + +When the `lunches` array is empty, the function `getRandomLunch` should return the string `"No lunches available."`. + +```js +lunches = []; +assert.strictEqual(getRandomLunch(), "No lunches available."); +``` + +When `lunches = ["Fish", "Fries", "Roast"]`, the function `getRandomLunch` should return a string in the format `"Randomly selected lunch: [Lunch Item]"`. + +```js +const temp = Math.random; + +lunches = ["Fish", "Fries", "Roast"]; + +// check that it correctly outputs the first item +Math.random = () => 0; +assert.equal(getRandomLunch(), `Randomly selected lunch: ${lunches[0]}`); + +// second item +Math.random = () => 0.4; +assert.equal(getRandomLunch(), `Randomly selected lunch: ${lunches[1]}`); + +// third item +Math.random = () => 0.8; +assert.equal(getRandomLunch(), `Randomly selected lunch: ${lunches[2]}`); + +// restore Math.random +Math.random = temp; +``` + +You should define a function `showLunchMenu`. + +```js +assert.isFunction(showLunchMenu); +``` + +When the `lunches` array is empty, the function `showLunchMenu` should return the string `"The menu is empty."`. + +```js +lunches = []; +assert.strictEqual(showLunchMenu(), "The menu is empty."); +``` + +When `lunches = ["Greens", "Corns", "Beans"]`, the function `showLunchMenu` should return a string in the format `"Menu items: Greens, Corns, Beans"`. + +```js +lunches = ["Greens", "Corns", "Beans"]; +assert.strictEqual(showLunchMenu(), "Menu items: Greens, Corns, Beans"); + +lunches = ["Pizza", "Burger", "Fries"]; +assert.strictEqual(showLunchMenu(), "Menu items: Pizza, Burger, Fries"); +``` + +# --seed-- + +## --seed-contents-- + +```js + +``` + +# --solutions-- + +```js +const lunches = []; + +// Add a new lunch to the list (at the end) +function addLunchToEnd(newLunch) { + lunches.push(newLunch); + return `${newLunch} added to the end of the lunch menu.`; +} + +// Add a new lunch to the start of the list +function addLunchToStart(newLunch) { + lunches.unshift(newLunch); + return `${newLunch} added to the start of the lunch menu.`; +} + +// Remove the last lunch from the list +function removeLastLunch() { + const removedLunch = lunches.pop(); + if (removedLunch) { + return `${removedLunch} removed from the end of the lunch menu.`; + } else { + return "No lunches to remove."; + } +} + +// Remove the first lunch from the list +function removeFirstLunch() { + const removedLunch = lunches.shift(); + if (removedLunch) { + return `${removedLunch} removed from the start of the lunch menu.`; + } else { + return "No lunches to remove."; + } +} + +// Function to get a random lunch from the list +function getRandomLunch() { + if (lunches.length === 0) { + return "No lunches available."; + } + const randomIndex = Math.floor(Math.random() * lunches.length); + const randomLunch = lunches[randomIndex]; + return `Randomly selected lunch: ${randomLunch}`; +} + +// New function to display the lunches as a numbered menu using a for loop +function showLunchMenu() { + if (lunches.length === 0) { + return "The menu is empty."; + } + return `Menu items: ${lunches.join(', ')}`; +} + +addLunchToEnd("Tacos"); +addLunchToStart("Sushi"); +removeLastLunch(); +removeFirstLunch(); +getRandomLunch(); +showLunchMenu(); + +``` diff --git a/curriculum/challenges/chinese/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md b/curriculum/challenges/chinese/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md index c12912cc2f..fefe88b58d 100644 --- a/curriculum/challenges/chinese/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md +++ b/curriculum/challenges/chinese/25-front-end-development/lab-moon-orbit/66a37f37ef5823a313de8c26.md @@ -10,7 +10,7 @@ demoType: onClick In this lab, you will create a simple animation of the Moon's orbit around the Earth using HTML and CSS. The Earth will be at the center of the system, and the Moon will orbit around it. -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md b/curriculum/challenges/chinese/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md index 0980e4f0cc..8ddd5cb53b 100644 --- a/curriculum/challenges/chinese/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md +++ b/curriculum/challenges/chinese/25-front-end-development/lab-page-of-playing-cards/66be24cb4144f955b6bcc550.md @@ -8,7 +8,7 @@ demoType: onClick # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md b/curriculum/challenges/chinese/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md index 66026c3aa6..775ca4a00b 100644 --- a/curriculum/challenges/chinese/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md +++ b/curriculum/challenges/chinese/25-front-end-development/lab-random-background-color-changer/66b62d0ad68488dd76228d6c.md @@ -10,7 +10,7 @@ demoType: onClick Camperbot is learning JavaScript and has tried to build their own Random Background Color Changer. However, they have made a few mistakes along the way. -**Objective:** Fulfill the user stories below and get all the tests to pass so the lab is functioning properly. +Fulfill the user stories below and get all the tests to pass so the lab is functioning properly. **User Stories:** diff --git a/curriculum/challenges/chinese/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md b/curriculum/challenges/chinese/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md index 9125b9c8e4..5236a86549 100644 --- a/curriculum/challenges/chinese/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md +++ b/curriculum/challenges/chinese/25-front-end-development/lab-recipe-page/668f08ea07b99b1f4a91acab.md @@ -8,7 +8,7 @@ demoType: onClick # --description-- -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** @@ -77,19 +77,19 @@ assert(code.match(/<\s*html[\s\S]*>[\s\S]*<\s*head\s*>[\s\S]*<\/\s*head\s*>[\s\S You should have an `h1` element with the name of your recipe. ```js -assert.isAbove(document.querySelector('h1')?.innerText.length, 0) +assert.isAbove(document.querySelector('h1')?.innerText.length, 0); ``` You should only have one `h1` element. ```js -assert.lengthOf(document.querySelectorAll('h1'), 1) +assert.lengthOf(document.querySelectorAll('h1'), 1); ``` You should have a `p` element below your `h1` element with text describing your recipe. ```js -assert($('p')[0].previousElementSibling.tagName === 'H1'); +assert.strictEqual(document.querySelector('p')?.previousElementSibling.tagName, 'H1'); ``` Your first `h2` element should have the text `Ingredients`. @@ -101,7 +101,7 @@ assert.equal(document.querySelectorAll('h2')[0]?.innerText, 'Ingredients'); You should have an unordered list element below your first `h2` element. ```js -assert($('ul')[0].previousElementSibling.tagName === 'H2'); +assert.strictEqual(document.querySelector('ul')?.previousElementSibling.tagName, 'H2'); ``` You should have at least four list item elements in your unordered list with the ingredients. @@ -121,7 +121,7 @@ assert.equal(document.querySelectorAll('h2')[1]?.innerText, 'Instructions'); You should have an ordered list element below your second `h2` element. ```js -assert($('ol')[0].previousElementSibling.tagName === 'H2'); +assert.strictEqual(document.querySelector('ol')?.previousElementSibling.tagName, 'H2'); ``` You should have at least four list item elements in your ordered list with the instructions. @@ -135,19 +135,19 @@ els.forEach(el => assert.isAbove(el.innerText.trim().length, 0)) You should have at least one `img` element. ```js -assert.exists($('img')[0]); +assert.exists(document.querySelector('img')); ``` All your `img` elements should have a valid `src` attribute and value. ```js -assert.isAbove($('img')[0].src.length, 0); +assert.isAbove(document.querySelector('img')?.src.length, 0); ``` All your `img` elements should have an `alt` attribute to describe the image. ```js -assert.isAbove($('img')[0].alt.length, 0); +assert.isAbove(document.querySelector('img')?.alt.length, 0); ``` # --seed-- diff --git a/curriculum/challenges/chinese/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md b/curriculum/challenges/chinese/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md index b4fa1502be..45cb0bbe3f 100644 --- a/curriculum/challenges/chinese/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md +++ b/curriculum/challenges/chinese/25-front-end-development/lab-sentence-maker/66c057041df6394ca796bf33.md @@ -9,7 +9,7 @@ dashedName: build-a-sentence-maker In this lab, you will create two different stories using a sentence template. You will use variables to store different parts of the story and then output the stories to the console. -**Objective:** Fulfill the user stories below and get all the tests to pass to complete the lab. +Fulfill the user stories below and get all the tests to pass to complete the lab. **User Stories:** diff --git a/curriculum/challenges/chinese/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md b/curriculum/challenges/chinese/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md index 814ad6f430..6621062fba 100644 --- a/curriculum/challenges/chinese/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md +++ b/curriculum/challenges/chinese/25-front-end-development/quiz-bash-commands/66f1af4fedf643c78d024c5e.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What command is used to see the path of the working directory? #### --distractors-- -Placeholder distractor 1 +`mv` --- -Placeholder distractor 2 +`cd` --- -Placeholder distractor 3 +`ls` #### --answer-- -Placeholder answer +`pwd` ### --question-- #### --text-- -Placeholder question +Which command is used to see what is present in a file? #### --distractors-- -Placeholder distractor 1 +`touch` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`ls` #### --answer-- -Placeholder answer +`more` ### --question-- #### --text-- -Placeholder question +Which command is used to create a new file? #### --distractors-- -Placeholder distractor 1 +`mkdir` --- -Placeholder distractor 2 +`cd` --- -Placeholder distractor 3 +`ls` #### --answer-- -Placeholder answer +`touch` ### --question-- #### --text-- -Placeholder question +Which command is used to remove a file? #### --distractors-- -Placeholder distractor 1 +`cp` --- -Placeholder distractor 2 +`cd` --- -Placeholder distractor 3 +`mv` #### --answer-- -Placeholder answer +`rm` ### --question-- #### --text-- -Placeholder question +Which command is used to copy a particular file to a folder? #### --distractors-- -Placeholder distractor 1 +`rm ` --- -Placeholder distractor 2 +`mv ` --- -Placeholder distractor 3 +`cd ` #### --answer-- -Placeholder answer +`cp ` ### --question-- #### --text-- -Placeholder question +Which command is used to see the list of files an folder present in a directory? #### --distractors-- -Placeholder distractor 1 +`touch` --- -Placeholder distractor 2 +`ls -l` --- -Placeholder distractor 3 +`mv` #### --answer-- -Placeholder answer +`ls` ### --question-- #### --text-- -Placeholder question +Which command will rename the 'menlo.font' file to 'menlo.otf'? #### --distractors-- -Placeholder distractor 1 +`rm menlo.font menlo.otf` --- -Placeholder distractor 2 +`cp menlo.font menlo.otf` --- -Placeholder distractor 3 +`ls menlo.font menlo.otf` #### --answer-- -Placeholder answer +`mv menlo.font menlo.otf` ### --question-- #### --text-- -Placeholder question +Which command can be used to find files or view a file tree ? #### --distractors-- -Placeholder distractor 1 +`ls` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`rm` #### --answer-- -Placeholder answer +`find` ### --question-- #### --text-- -Placeholder question +Which command is used to make a directory? #### --distractors-- -Placeholder distractor 1 +`dir` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`touch` #### --answer-- -Placeholder answer +`mkdir` ### --question-- #### --text-- -Placeholder question +Which command would print the text `I finished the example quiz`? #### --distractors-- -Placeholder distractor 1 +`cd I finished the example quiz` --- -Placeholder distractor 2 +`cp I finished the example quiz` --- -Placeholder distractor 3 +`ls I finished the example quiz` #### --answer-- -Placeholder answer +`echo I finished the example quiz` ### --question-- #### --text-- -Placeholder question +Which command would you use if you want to add text a to file directly from the terminal? #### --distractors-- -Placeholder distractor 1 +`ls >> ` --- -Placeholder distractor 2 +`cp >> ` --- -Placeholder distractor 3 +`mv >> ` #### --answer-- -Placeholder answer +`echo >> ` ### --question-- #### --text-- -Placeholder question +Which command is used to remove directories and their content recursively? #### --distractors-- -Placeholder distractor 1 +`cd -r` --- -Placeholder distractor 2 +`cp -r` --- -Placeholder distractor 3 +`dir -r` #### --answer-- -Placeholder answer +`rm -r` ### --question-- #### --text-- -Placeholder question +Which command is used to remove a complete directory? #### --distractors-- -Placeholder distractor 1 +`rm -r` --- -Placeholder distractor 2 +`rm` --- -Placeholder distractor 3 +`rm --help` #### --answer-- -Placeholder answer +`rmdir` ### --question-- #### --text-- -Placeholder question +Which command is used to go back to the previous directory? #### --distractors-- -Placeholder distractor 1 +`mv ..` --- -Placeholder distractor 2 +`dir ..` --- -Placeholder distractor 3 +`cp ..` #### --answer-- -Placeholder answer +`cd ..` ### --question-- #### --text-- -Placeholder question +Which flag can be used for any command to get a help menu? #### --distractors-- -Placeholder distractor 1 +`--info` --- -Placeholder distractor 2 +`--r` --- -Placeholder distractor 3 +`-l` #### --answer-- -Placeholder answer +`--help` ### --question-- #### --text-- -Placeholder question +Which command is used to close the terminal? #### --distractors-- -Placeholder distractor 1 +`close` --- -Placeholder distractor 2 +`mv` --- -Placeholder distractor 3 +`off` #### --answer-- -Placeholder answer +`exit` ### --question-- #### --text-- -Placeholder question +Which command is used to clear the terminal? #### --distractors-- -Placeholder distractor 1 +`clr` --- -Placeholder distractor 2 +`clean` --- -Placeholder distractor 3 +`clrscr` #### --answer-- -Placeholder answer +`clear` ### --question-- #### --text-- -Placeholder question +Which command is used to copy the whole folder? #### --distractors-- -Placeholder distractor 1 +`dir -r ` --- -Placeholder distractor 2 +`mv -r ` --- -Placeholder distractor 3 +`cd -r ` #### --answer-- -Placeholder answer +`cp -r ` ### --question-- #### --text-- -Placeholder question +Which flag is used with find to search for an exact folder? #### --distractors-- -Placeholder distractor 1 +`-rf` --- -Placeholder distractor 2 +`-r` --- -Placeholder distractor 3 +`-l` #### --answer-- -Placeholder answer +`-name` ### --question-- #### --text-- -Placeholder question +Which flag is used with the `ls` command to list the contents of a folder in long list format? #### --distractors-- -Placeholder distractor 1 +`ls -f` --- -Placeholder distractor 2 +`ls -rf` --- -Placeholder distractor 3 +`ls --help` #### --answer-- -Placeholder answer +`ls -l` diff --git a/curriculum/challenges/chinese/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md b/curriculum/challenges/chinese/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md index 7755f89f3f..1cf62c4c83 100644 --- a/curriculum/challenges/chinese/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md +++ b/curriculum/challenges/chinese/25-front-end-development/quiz-bash-scripting/66f1afbd9998e9c985d8e73b.md @@ -17,439 +17,454 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is a correct shebang line in bash script? #### --distractors-- -Placeholder distractor 1 +`!#/bin/bash` --- -Placeholder distractor 2 +`/#!bin/bash` --- -Placeholder distractor 3 +`/#!/bin/bash` #### --answer-- -Placeholder answer +`#!/bin/bash` ### --question-- #### --text-- -Placeholder question +Which command would define `MY_VAR` and print it to the console? #### --distractors-- -Placeholder distractor 1 +`MY_VAR=10; echo MY_VAR` --- -Placeholder distractor 2 +`$MY_VAR=10; echo MY_VAR` --- -Placeholder distractor 3 +`$MY_VAR=10; echo $MY_VAR` #### --answer-- -Placeholder answer +`MY_VAR=10; echo $MY_VAR` ### --question-- #### --text-- -Placeholder question +How do you declare a numeric variable? #### --distractors-- -Placeholder distractor 1 +`declare -n MY_VAR=1` --- -Placeholder distractor 2 +`declare -d MY_VAR=1` --- -Placeholder distractor 3 +`declare -x MY_VAR=1` #### --answer-- -Placeholder answer +`declare -i MY_VAR=1` ### --question-- #### --text-- -Placeholder question +Which command would not run a `script.sh` file? #### --distractors-- -Placeholder distractor 1 +`./script.sh` --- -Placeholder distractor 2 +`/tmp/script.sh` --- -Placeholder distractor 3 +`bash script.sh` #### --answer-- -Placeholder answer +`script.sh` ### --question-- #### --text-- -Placeholder question +How to view the manual for the `less` command in bash? #### --distractors-- -Placeholder distractor 1 +`less man` --- -Placeholder distractor 2 +`less --man` --- -Placeholder distractor 3 +`man --less` #### --answer-- -Placeholder answer +`man less` ### --question-- #### --text-- -Placeholder question +How would you call `print_arguments` to print `a` and `b` to the terminal? + +```bash +print_arguments() { + echo "Argument 1: $1" + echo "Argument 2: $2" +} + +``` #### --distractors-- -Placeholder distractor 1 +`print_arguments("a", "b")` --- -Placeholder distractor 2 +`print_arguments(a, b)` --- -Placeholder distractor 3 +`print_arguments{a, b}` #### --answer-- -Placeholder answer +`print_arguments "a" "b"` ### --question-- #### --text-- -Placeholder question +How do you initialize an array in bash? #### --distractors-- -Placeholder distractor 1 +`ARR=["item1" "item2" "item3"]` --- -Placeholder distractor 2 +`ARR=[["item1" "item2" "item3"]]` --- -Placeholder distractor 3 +`ARR={"item1" "item2" "item3"}` #### --answer-- -Placeholder answer +`ARR=("item1" "item2" "item3")` ### --question-- #### --text-- -Placeholder question +How do you print the third value of an array in bash? #### --distractors-- -Placeholder distractor 1 +`echo ${ARR[3]}` --- -Placeholder distractor 2 +`echo $ARR[2]` --- -Placeholder distractor 3 +`echo $ARR[3]` #### --answer-- -Placeholder answer +`echo ${ARR[2]}` ### --question-- #### --text-- -Placeholder question +How do you assign user input to a variable in bash? #### --distractors-- -Placeholder distractor 1 +`input MY_VAR` --- -Placeholder distractor 2 +`cin MY_VAR` --- -Placeholder distractor 3 +`get MY_VAR` #### --answer-- -Placeholder answer +`read MY_VAR` ### --question-- #### --text-- -Placeholder question +What will be the permission flags for the `1.txt` file after executing the command `chmod 765 1.txt`? #### --distractors-- -Placeholder distractor 1 +`rwxrwxrwx` --- -Placeholder distractor 2 +`rwxr-xrw-` --- -Placeholder distractor 3 +`r-xrw-rwx` #### --answer-- -Placeholder answer +`rwxrw-r-x` ### --question-- #### --text-- -Placeholder question +What keyword does the statement `if ... then ...` end with? #### --distractors-- -Placeholder distractor 1 +`end` --- -Placeholder distractor 2 +`done` --- -Placeholder distractor 3 +`stop` #### --answer-- -Placeholder answer +`fi` ### --question-- #### --text-- -Placeholder question +What keyword does the statement `for ... do ...` end with? #### --distractors-- -Placeholder distractor 1 +`end` --- -Placeholder distractor 2 +`od` --- -Placeholder distractor 3 +`stop` #### --answer-- -Placeholder answer +`done` ### --question-- #### --text-- -Placeholder question +How do you create a comment in bash? #### --distractors-- -Placeholder distractor 1 +`// comment` --- -Placeholder distractor 2 +`!comment` --- -Placeholder distractor 3 +`/* comment` #### --answer-- -Placeholder answer +`# comment` ### --question-- #### --text-- -Placeholder question +What line should you add to the beginning of this snippet to create a `for` loop? + +```bash + +do + echo $i +done +``` #### --distractors-- -Placeholder distractor 1 +`for ( int i = 0; i < 10; i++ )` --- -Placeholder distractor 2 +`for (( int i = 0; i < 10; i++ ))` --- -Placeholder distractor 3 +`for (( let i = 0; i < 10; i++ ))` #### --answer-- -Placeholder answer +`for (( i = 0; i < 10; i++ ))` ### --question-- #### --text-- -Placeholder question +How would you assign the result of the sum of variables `A` and `B` to the variable `C`? #### --distractors-- -Placeholder distractor 1 +`C=$A + $B` --- -Placeholder distractor 2 +`C=$(( A + B ))` --- -Placeholder distractor 3 +`$C=$(( $A + $B ))` #### --answer-- -Placeholder answer +`C=$(( $A + $B ))` ### --question-- #### --text-- -Placeholder question +What keyword in a loop skips the rest of the current iteration and begins the next iteration? #### --distractors-- -Placeholder distractor 1 +`break` --- -Placeholder distractor 2 +`until` --- -Placeholder distractor 3 +`done` #### --answer-- -Placeholder answer +`continue` ### --question-- #### --text-- -Placeholder question +What does the command `echo $?` do? #### --distractors-- -Placeholder distractor 1 +Prints the value of the last used variable --- -Placeholder distractor 2 +Prints the value of the last used arithmetic operation --- -Placeholder distractor 3 +Prints the value of the last executed condition #### --answer-- -Placeholder answer +Prints the exit code of the last executed command ### --question-- #### --text-- -Placeholder question +What value of `MY_VAR` would satisfy the condition `[[ $MY_VAR =~ ^[A-Z]{1}[a-z]+$ ]]` ? #### --distractors-- -Placeholder distractor 1 +`freeCodeCamp` --- -Placeholder distractor 2 +`FreeCodeCamp` --- -Placeholder distractor 3 +`freecodecamp` #### --answer-- -Placeholder answer +`Freecodecamp` ### --question-- #### --text-- -Placeholder question +What types of loops exist in bash? #### --distractors-- -Placeholder distractor 1 +`for` --- -Placeholder distractor 2 +`for`, `while` --- -Placeholder distractor 3 +`for`, `while`, `until`, `forEach` #### --answer-- -Placeholder answer +`for`, `while`, `until` ### --question-- #### --text-- -Placeholder question +How do you print all values of an array in bash? #### --distractors-- -Placeholder distractor 1 +`echo $ARR[@]` --- -Placeholder distractor 2 +`echo {ARR[@]}` --- -Placeholder distractor 3 +`echo ${ARR[$@]}` #### --answer-- -Placeholder answer +`echo ${ARR[@]}` diff --git a/curriculum/challenges/chinese/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md b/curriculum/challenges/chinese/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md index 2cb570fbcd..968ab56073 100644 --- a/curriculum/challenges/chinese/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md +++ b/curriculum/challenges/chinese/25-front-end-development/quiz-css-colors/66ed8fe1f45ce3ece4053eb1.md @@ -17,439 +17,487 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +Which of the following is a valid way to represent a color in CSS? #### --distractors-- -Placeholder distractor 1 +`color-value: black;` --- -Placeholder distractor 2 +`text-color: blue;` --- -Placeholder distractor 3 +`font-color: red;` #### --answer-- -Placeholder answer +`#ff5733` ### --question-- #### --text-- -Placeholder question +What is the correct syntax for setting the background color of an element? #### --distractors-- -Placeholder distractor 1 +`bg-color: red;` --- -Placeholder distractor 2 +`background_color: red;` --- -Placeholder distractor 3 +`style: background-color: red;` #### --answer-- -Placeholder answer +`background: red;` ### --question-- #### --text-- -Placeholder question +How can you set the transparency of an element to 50%? #### --distractors-- -Placeholder distractor 1 +`bg-opacity: 0.5;` --- -Placeholder distractor 2 +`transparency: 50%;` --- -Placeholder distractor 3 +`alpha: 0.5;` #### --answer-- -Placeholder answer +`opacity: 0.5;` ### --question-- #### --text-- -Placeholder question +What is the equivalent `HSL` value for the color `#FF0000`? #### --distractors-- -Placeholder distractor 1 +`hsl(180%, 100%, 50%)` --- -Placeholder distractor 2 +`hsl(180, 100%, 50%)` --- -Placeholder distractor 3 +`hsl(360, 100%, 50%)` #### --answer-- -Placeholder answer +`hsl(0, 100%, 50%)` ### --question-- #### --text-- -Placeholder question +How can you set the color of an element to a random color? #### --distractors-- -Placeholder distractor 1 +`color: random();` --- -Placeholder distractor 2 +`color: #random;` --- -Placeholder distractor 3 +`color: any();` #### --answer-- -Placeholder answer +There is no direct way to do so. ### --question-- #### --text-- -Placeholder question +What is the default value of alpha in `rgba` if it's not specified? #### --distractors-- -Placeholder distractor 1 +`0` (completely transparent) --- -Placeholder distractor 2 +`2` (completely opaque) --- -Placeholder distractor 3 +`0.5` (half transparent) #### --answer-- -Placeholder answer +`1` (completely opaque) ### --question-- #### --text-- -Placeholder question +Which of the following is a valid hex color code? #### --distractors-- -Placeholder distractor 1 +`#12345G` --- -Placeholder distractor 2 +`#12ffg0` --- -Placeholder distractor 3 +`#12ffgg` #### --answer-- -Placeholder answer +`#ff12ff` ### --question-- #### --text-- -Placeholder question +How many hexadecimal characters are used to define a color in shorthand hex notation? #### --distractors-- -Placeholder distractor 1 +5 --- -Placeholder distractor 2 +4 --- -Placeholder distractor 3 +2 #### --answer-- -Placeholder answer +3 ### --question-- #### --text-- -Placeholder question +Which of these functions allows specifying the transparency of a color? #### --distractors-- -Placeholder distractor 1 +`rgb()` --- -Placeholder distractor 2 +`hsl()` --- -Placeholder distractor 3 +`rgba()` #### --answer-- -Placeholder answer +`opacity()` ### --question-- #### --text-- -Placeholder question +Which of the following hex codes represents a shade of red? #### --distractors-- -Placeholder distractor 1 +`#0000ff` --- -Placeholder distractor 2 +`#ffff00` --- -Placeholder distractor 3 +`#00ff00` #### --answer-- -Placeholder answer +`#ff0000` ### --question-- #### --text-- -Placeholder question +Which keyword sets the text color to inherit from the parent element? #### --distractors-- -Placeholder distractor 1 +`null` --- -Placeholder distractor 2 +`auto` --- -Placeholder distractor 3 +`default` #### --answer-- -Placeholder answer +`inherit` ### --question-- #### --text-- -Placeholder question +How many colors are required to create a valid CSS gradient? #### --distractors-- -Placeholder distractor 1 +At least `4` --- -Placeholder distractor 2 +Exactly `2` --- -Placeholder distractor 3 +Exactly `3` #### --answer-- -Placeholder answer +At least `2` ### --question-- #### --text-- -Placeholder question +What unit is used to express the lightness value in the `hsl` color model? #### --distractors-- -Placeholder distractor 1 +`Degrees` --- -Placeholder distractor 2 +`Hex` --- -Placeholder distractor 3 +`Pixels` #### --answer-- -Placeholder answer +`Percent (%)` ### --question-- #### --text-- -Placeholder question +Which CSS property would you use to add a solid color around an element? #### --distractors-- -Placeholder distractor 1 +`color` --- -Placeholder distractor 2 +`outline-color` --- -Placeholder distractor 3 +`text-color` #### --answer-- -Placeholder answer +`border-color` ### --question-- #### --text-- -Placeholder question +What does the `hsl()` function stand for? #### --distractors-- -Placeholder distractor 1 +`Hue, Saturation, Luminosity` --- -Placeholder distractor 2 +`Hue, Shadow, Lightness` --- -Placeholder distractor 3 +`Hue, Shadow, Luminosity` #### --answer-- -Placeholder answer +`Hue, Saturation, Lightness` ### --question-- #### --text-- -Placeholder question +Which of these is a valid CSS color keyword? #### --distractors-- -Placeholder distractor 1 +`purple-red` --- -Placeholder distractor 2 +`electricblue` --- -Placeholder distractor 3 +`goldy` #### --answer-- -Placeholder answer +`gold` ### --question-- #### --text-- -Placeholder question +What is the maximum value allowed for a single color component in the `RGB` color system? #### --distractors-- -Placeholder distractor 1 +`200` --- -Placeholder distractor 2 +`500` --- -Placeholder distractor 3 +`128` #### --answer-- -Placeholder answer +`255` ### --question-- #### --text-- -Placeholder question +Which color model includes the `hue` component? #### --distractors-- -Placeholder distractor 1 +`rgb` --- -Placeholder distractor 2 +`hex` --- -Placeholder distractor 3 +`cmyk` #### --answer-- -Placeholder answer +`hsl` ### --question-- #### --text-- -Placeholder question +Which of the following is the correct syntax to create a CSS variable with a fallback value? #### --distractors-- -Placeholder distractor 1 +```css +.element { + color: var(--main-color, red); +} +``` --- -Placeholder distractor 2 +```css +.element { + color: var(--main-color); +} +``` --- -Placeholder distractor 3 +```css +.element { + color: var(--main-color: red); +} +``` #### --answer-- -Placeholder answer +```css +.element { + color: var(--main-color, red); +} +``` ### --question-- #### --text-- -Placeholder question +How can you use CSS variables to dynamically change the color of multiple elements? #### --distractors-- -Placeholder distractor 1 +```css +:root { + primary-color: blue; +} + +.element1, .element2 { + color: --primary-color; +} +``` --- -Placeholder distractor 2 +```css +body { + --color: blue; +} + +.element1, .element2 { + color: var(color); +} +``` --- -Placeholder distractor 3 +```css +:root { + --primary: blue; +} + +.element1, .element2 { + color: var(--primary); +} +``` #### --answer-- -Placeholder answer +```css +:root { + --primary-color: blue; +} + +.element1, .element2 { + color: var(--primary-color); +} +``` diff --git a/curriculum/challenges/chinese/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md b/curriculum/challenges/chinese/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md index f2a46be218..bd4e2d51bf 100644 --- a/curriculum/challenges/chinese/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md +++ b/curriculum/challenges/chinese/25-front-end-development/quiz-design-fundamentals/66ed901ff45ce3ece4053eba.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What are some reasons why whitespace is important for good design? #### --distractors-- -Placeholder distractor 1 +Improves readability by placing many elements on the page --- -Placeholder distractor 2 +Focuses the viewer's attention by having elements placed close together --- -Placeholder distractor 3 +Creates breathing space in the design to make users scroll for more information #### --answer-- -Placeholder answer +Creates visual hierarchy, improves readability, focuses the viewer's attention on different elements ### --question-- #### --text-- -Placeholder question +What is the design principle of carefully choosing the size of elements in relation to each other and the layout? #### --distractors-- -Placeholder distractor 1 +Visual hierarchy --- -Placeholder distractor 2 +Proportion --- -Placeholder distractor 3 +Balance #### --answer-- -Placeholder answer +Scale ### --question-- #### --text-- -Placeholder question +What design tool in Figma would you use to combine multiple elements together without flattening the layers of the elements? #### --distractors-- -Placeholder distractor 1 +Frames --- -Placeholder distractor 2 +Blocks --- -Placeholder distractor 3 +Class #### --answer-- -Placeholder answer +Groups ### --question-- #### --text-- -Placeholder question +What design pattern allows users to access and interact with specific elements and content on a website without or while deferring registration? #### --distractors-- -Placeholder distractor 1 +Captcha validation --- -Placeholder distractor 2 +Lazy loading --- -Placeholder distractor 3 +Progressive enhancement #### --answer-- -Placeholder answer +Deferred/lazy registration ### --question-- #### --text-- -Placeholder question +What are the three main types of text alignment? #### --distractors-- -Placeholder distractor 1 +Vertical, center, horizontal --- -Placeholder distractor 2 +Left, right, justified --- -Placeholder distractor 3 +Vertical, horizontal, justified #### --answer-- -Placeholder answer +Left, right, center ### --question-- #### --text-- -Placeholder question +Which interaction design pattern reduces the complexity of interaction by hiding parts of interfaces progressively so that content is only introduced to the user as they progress through the application? #### --distractors-- -Placeholder distractor 1 +Extended discoverability --- -Placeholder distractor 2 +Delayed implementation --- -Placeholder distractor 3 +Gradual engagement #### --answer-- -Placeholder answer +Progressive disclosure ### --question-- #### --text-- -Placeholder question +What is contrast in design? #### --distractors-- -Placeholder distractor 1 +Elements that are visually similar --- -Placeholder distractor 2 +The difference in saturation between two colors --- -Placeholder distractor 3 +Matching elements on a page #### --answer-- -Placeholder answer +Elements that are strikingly different from each other visually ### --question-- #### --text-- -Placeholder question +In the examples below, which one is an example of visual hierarchy in design? #### --distractors-- -Placeholder distractor 1 +Headline and title text are a similar color to the background and other elements to blend in --- -Placeholder distractor 2 +Text and images are all the same size on the page --- -Placeholder distractor 3 +The logo banner is smaller than all the minor images on the main landing page #### --answer-- -Placeholder answer +Making the headline of the page larger than other text that comprise the body or sub-headings ### --question-- #### --text-- -Placeholder question +Which Figma tools allows users to specify a region on the screen they would like to export? #### --distractors-- -Placeholder distractor 1 +Frames --- -Placeholder distractor 2 +Section --- -Placeholder distractor 3 +Blocks #### --answer-- -Placeholder answer +Slice ### --question-- #### --text-- -Placeholder question +What is user centered design? #### --distractors-- -Placeholder distractor 1 +A design process where once the design is completed, designers test the product by getting user feedback --- -Placeholder distractor 2 +A design process where designers consider user accessibility requirements --- -Placeholder distractor 3 +A design process focused on client requirements at every stage of the process #### --answer-- -Placeholder answer +An iterative design process where designers design a product considering user requirements at every stage of the process ### --question-- #### --text-- -Placeholder question +What is the minimum required contrast ratio for regular text for accessibility according to WCAG guidelines? #### --distractors-- -Placeholder distractor 1 +1:1 --- -Placeholder distractor 2 +7:1 --- -Placeholder distractor 3 +3:1 #### --answer-- -Placeholder answer +4.5:1 ### --question-- #### --text-- -Placeholder question +What are some colors to consider when designing dark mode? #### --distractors-- -Placeholder distractor 1 +Pure white --- -Placeholder distractor 2 +Highly saturated colors --- -Placeholder distractor 3 +Bright highly contrasting colors #### --answer-- -Placeholder answer +Dark colors and muted light colors for contrast in dim lighting conditions ### --question-- #### --text-- -Placeholder question +What is one good design practice when considering color palettes for a design? #### --distractors-- -Placeholder distractor 1 +Using a variety of colors with strong saturation and contrast --- -Placeholder distractor 2 +Focus on vibrancy and saturation and place many non complementary hues --- -Placeholder distractor 3 +Using many complementary colors together #### --answer-- -Placeholder answer +Limit colors and focus on using shades, tones, and tints of one color and add another hue three spaces away from that color ### --question-- #### --text-- -Placeholder question +What is one reason why the rule of thirds is important? #### --distractors-- -Placeholder distractor 1 +Creates symmetry in the composition by dividing it equally --- -Placeholder distractor 2 +By dividing up the composition, it eliminates visual hierarchy --- -Placeholder distractor 3 +Objects at the edge of the composition get more focus #### --answer-- -Placeholder answer +Breaks the composition apart into 9 equal parts, where objects placed on the dividing lines provide focus and hierarchy to the composition ### --question-- #### --text-- -Placeholder question +What is one bad practice method for implementing infinite scroll? #### --distractors-- -Placeholder distractor 1 +Allow users to jump to a page or section through the navbar or a pagination drop down menu --- -Placeholder distractor 2 +Add a load more indicator or symbol after a certain point in the page along with the infinite scroll --- -Placeholder distractor 3 +Integrate a footer reveal at the bottom #### --answer-- -Placeholder answer +No back to top button, alternative methods of navigating the page, and very long inefficient scrolling ### --question-- #### --text-- -Placeholder question +What is one bad practice for working with images? #### --distractors-- -Placeholder distractor 1 +Make important images stand out by being larger in size --- -Placeholder distractor 2 +Separate text and images into columns or rows --- -Placeholder distractor 3 +Put images outside the layout and important ones on their own or full screen #### --answer-- -Placeholder answer +Images placed in the middle of text paragraphs with very little margin space for separation ### --question-- #### --text-- -Placeholder question +What is one way to make shopping cart design intuitive and user friendly? #### --distractors-- -Placeholder distractor 1 +Use a new shopping cart icon that no other website has used before --- -Placeholder distractor 2 +Do not allow users to add or remove items from the cart --- -Placeholder distractor 3 +Include a checkout summary on another page #### --answer-- -Placeholder answer +Include thumbnail images of products in the cart ### --question-- #### --text-- -Placeholder question +Dark mode doesn't mean pure black. What are some colors and good techniques to create a good dark mode color scheme? #### --distractors-- -Placeholder distractor 1 +Make images and elements darker and reduce contrast between different elements to have them blend in --- -Placeholder distractor 2 +Invert the color scheme --- -Placeholder distractor 3 +Use many saturated colors #### --answer-- -Placeholder answer +Use dark gray or a dark shade of the brand color instead of pure black ### --question-- #### --text-- -Placeholder question +What is one good design practice when creating modals? #### --distractors-- -Placeholder distractor 1 +Put a lot of important information inside a modal --- -Placeholder distractor 2 +Have multiple modals on the same screen --- -Placeholder distractor 3 +Ensure the modal draws the user's attention away from it #### --answer-- -Placeholder answer +Make the modal dismiss icon visible ### --question-- #### --text-- -Placeholder question +What is a design brief? #### --distractors-- -Placeholder distractor 1 +A design brief is a document outlining the programming and design standards of the project --- -Placeholder distractor 2 +A design brief is a document explaining how to replicate a design --- -Placeholder distractor 3 +A design brief is a document with detailed information of icons, colors, and assets the designer should use #### --answer-- -Placeholder answer +A design brief states the goals and project scope, budget, design requirements, and other important details of the project diff --git a/curriculum/challenges/chinese/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md b/curriculum/challenges/chinese/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md index 3d6219cf8c..6028fe2353 100644 --- a/curriculum/challenges/chinese/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md +++ b/curriculum/challenges/chinese/25-front-end-development/quiz-javascript-arrays/66edcccbba6dacdb65a59067.md @@ -17,439 +17,503 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is the correct way to declare a JavaScript array? #### --distractors-- -Placeholder distractor 1 +`let arr = array(1, 2, 3);` --- -Placeholder distractor 2 +`let arr = "1, 2, 3";` --- -Placeholder distractor 3 +`let arr = {1, 2, 3};` #### --answer-- -Placeholder answer +`let arr = [1, 2, 3];` ### --question-- #### --text-- -Placeholder question +What is the key difference between primitive and non-primitive data types? #### --distractors-- -Placeholder distractor 1 +Primitives can store multiple values. --- -Placeholder distractor 2 +Non-primitives cannot hold references to other objects. --- -Placeholder distractor 3 +Non-primitives store values directly. #### --answer-- -Placeholder answer +Primitives hold direct values, non-primitives hold references. ### --question-- #### --text-- -Placeholder question +What value will be assigned to the `index` variable? + +```js +const numbers = [10, 20, 30, 40]; +const index = numbers.indexOf(20); +console.log(index); +``` #### --distractors-- -Placeholder distractor 1 +2 --- -Placeholder distractor 2 +3 --- -Placeholder distractor 3 +-1 #### --answer-- -Placeholder answer +1 ### --question-- #### --text-- -Placeholder question +What value will be assigned to the `arr2` variable? + +```js +const arr1 = [1, 2, 3]; +const arr2 = [...arr1, 4, 5]; +console.log(arr2); +``` #### --distractors-- -Placeholder distractor 1 +`[4, 5, 1, 2, 3]` --- -Placeholder distractor 2 +`[1, 2, [3, 4, 5]]` --- -Placeholder distractor 3 +`[1, 2, 3]` #### --answer-- -Placeholder answer +`[1, 2, 3, 4, 5]` ### --question-- #### --text-- -Placeholder question +What will this code print to the console? + +```js +const colors = ['red', 'blue', 'green', 'yellow']; +colors.splice(1, 2, 'purple'); +console.log(colors); +``` #### --distractors-- -Placeholder distractor 1 +`['red', 'purple', 'green', 'yellow']` --- -Placeholder distractor 2 +`['red', 'blue', 'yellow']` --- -Placeholder distractor 3 +`['red', 'blue', 'green', 'yellow']` #### --answer-- -Placeholder answer +`['red', 'purple', 'yellow']` ### --question-- #### --text-- -Placeholder question +What value will be assigned to the `slicedArr` variable? + +```js +const arr = ['apple', 'banana', 'cherry', 'date']; +const slicedArr = arr.slice(1, 3); +console.log(slicedArr); +``` #### --distractors-- -Placeholder distractor 1 +`['apple', 'banana']` --- -Placeholder distractor 2 +`['cherry', 'date']` --- -Placeholder distractor 3 +`['apple', 'cherry']` #### --answer-- -Placeholder answer +`['banana', 'cherry']` ### --question-- #### --text-- -Placeholder question +Which method returns the first index of a given element in an array? #### --distractors-- -Placeholder distractor 1 +`findIndex()` --- -Placeholder distractor 2 +`lastIndexOf()` --- -Placeholder distractor 3 +`slice()` #### --answer-- -Placeholder answer +`indexOf()` ### --question-- #### --text-- -Placeholder question +Which method removes the first element from an array and shifts all other elements down? #### --distractors-- -Placeholder distractor 1 +`pop()` --- -Placeholder distractor 2 +`slice()` --- -Placeholder distractor 3 +`splice()` #### --answer-- -Placeholder answer +`shift()` ### --question-- #### --text-- -Placeholder question +What does `Array.prototype.concat()` do? #### --distractors-- -Placeholder distractor 1 +Joins array elements into a string. --- -Placeholder distractor 2 +Adds an element to the beginning of an array. --- -Placeholder distractor 3 +Removes an element from the array. #### --answer-- -Placeholder answer +Merges two arrays into a new array. ### --question-- #### --text-- -Placeholder question +What happens if you set an array's length to a value smaller than the current length? #### --distractors-- -Placeholder distractor 1 +It throws a syntax error. --- -Placeholder distractor 2 +The extra space is filled with `undefined`. --- -Placeholder distractor 3 +Nothing happens; the array remains the same size. #### --answer-- -Placeholder answer +The array gets truncated, removing elements beyond the new length. ### --question-- #### --text-- -Placeholder question +What will be the output of this code ? + +```js +const fruits = ['apple', 'banana', 'cherry', 'apple', 'orange']; +const index = fruits.indexOf('apple'); +if (index !== -1) { + fruits.splice(index, 1); +} +console.log(fruits); +``` #### --distractors-- -Placeholder distractor 1 +`['banana', 'cherry', 'orange']` --- -Placeholder distractor 2 +`['apple', 'cherry', 'apple', 'orange']` --- -Placeholder distractor 3 +`['banana', 'cherry', 'apple']` #### --answer-- -Placeholder answer +`['banana', 'cherry', 'apple', 'orange']` ### --question-- #### --text-- -Placeholder question +What is the final value of `result` in the following code? + +```js +const arr1 = [1, 2]; +const arr2 = [3, 4, 5]; +const combined = arr1.concat(arr2); +const result = combined.includes(3); +console.log(result); +``` #### --distractors-- -Placeholder distractor 1 +`false` --- -Placeholder distractor 2 +`[1, 2, 3, 4, 5]` --- -Placeholder distractor 3 +`undefined` #### --answer-- -Placeholder answer +`true` ### --question-- #### --text-- -Placeholder question +What does the following code output? + +```js +const nums = [1, 2, 3, 4]; +const doubled = nums.map(n => n * 2); +console.log(doubled.includes(8)); +``` #### --distractors-- -Placeholder distractor 1 +`false` --- -Placeholder distractor 2 +`[2, 4, 6, 8]` --- -Placeholder distractor 3 +`Error` #### --answer-- -Placeholder answer +`true` ### --question-- #### --text-- -Placeholder question +What is the output when using `splice()` to remove elements from a 2D array? + +```js +let matrix = [ + [1, 2, 3], + [4, 5, 6], + [7, 8, 9] +]; +matrix.splice(1, 1); +console.log(matrix); +``` #### --distractors-- -Placeholder distractor 1 +`[[1, 2, 3], [4, 5, 6]]` --- -Placeholder distractor 2 +`[[1, 2], [4, 5], [7, 8]]` --- -Placeholder distractor 3 +`[[7, 8, 9]]` #### --answer-- -Placeholder answer +`[[1, 2, 3], [7, 8, 9]]` ### --question-- #### --text-- -Placeholder question +Which of the following statements about `.length` is correct? #### --distractors-- -Placeholder distractor 1 +It counts the number of values in a 2D array. --- -Placeholder distractor 2 +It returns `undefined` for empty arrays. --- -Placeholder distractor 3 +It gives the total number of elements in a 2D array. #### --answer-- -Placeholder answer +It counts the number of top-level elements in a 2D array. ### --question-- #### --text-- -Placeholder question +Which of the following is true about the `indexOf()` method in arrays? #### --distractors-- -Placeholder distractor 1 +It always returns the last occurrence of the element. --- -Placeholder distractor 2 +It throws an error if the element is not found. --- -Placeholder distractor 3 +It requires the array to be sorted. #### --answer-- -Placeholder answer +It returns `-1` if the element is not found. ### --question-- #### --text-- -Placeholder question +What is the main difference between `push()` and `concat()` when working with arrays? #### --distractors-- -Placeholder distractor 1 +`push()` adds multiple arrays together, while `concat()` adds a single element. --- -Placeholder distractor 2 +`concat()` modifies the original array, while `push()` creates a new array. --- -Placeholder distractor 3 +Both `push()` and `concat()` are immutable methods. #### --answer-- -Placeholder answer +`push()` modifies the original array, while `concat()` creates a new array. ### --question-- #### --text-- -Placeholder question +How does the rest parameter `...rest` work in array destructuring in JavaScript? #### --distractors-- -Placeholder distractor 1 +It is used to add extra elements to the array. --- -Placeholder distractor 2 +It allows you to access elements outside the array's bounds. --- -Placeholder distractor 3 +It removes the last element of the array. #### --answer-- -Placeholder answer +It collects the remaining elements into a new array after the initial elements are assigned to variables. ### --question-- #### --text-- -Placeholder question +What will be the result of this code ? + +```js +const numbers = [10, 20, 30]; +numbers.push(40); +numbers.pop(); +const length = numbers.length; +console.log(length); +``` #### --distractors-- -Placeholder distractor 1 +2 --- -Placeholder distractor 2 +5 --- -Placeholder distractor 3 +4 #### --answer-- -Placeholder answer +3 ### --question-- #### --text-- -Placeholder question +Which method will return a new array without changing the original array? #### --distractors-- -Placeholder distractor 1 +`splice()` --- -Placeholder distractor 2 +`pop()` --- -Placeholder distractor 3 +`push()` #### --answer-- -Placeholder answer - +`slice()` diff --git a/curriculum/challenges/chinese/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md b/curriculum/challenges/chinese/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md index 0fa07e57da..5c8b62e21b 100644 --- a/curriculum/challenges/chinese/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md +++ b/curriculum/challenges/chinese/25-front-end-development/quiz-javascript-variables-and-data-types/66edc25ae5ea80bf6f785552.md @@ -17,439 +17,492 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is JavaScript? #### --distractors-- -Placeholder distractor 1 +A markup language used to design websites. --- -Placeholder distractor 2 +A server-side programming language. --- -Placeholder distractor 3 +A database management system. #### --answer-- -Placeholder answer +A programming language primarily used for web development. ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a JavaScript data type? #### --distractors-- -Placeholder distractor 1 +`null` --- -Placeholder distractor 2 +`undefined` --- -Placeholder distractor 3 +`bigint` #### --answer-- -Placeholder answer +`double` ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a valid JavaScript variable declaration? #### --distractors-- -Placeholder distractor 1 +`const x = 0;` --- -Placeholder distractor 2 +`let x;` --- -Placeholder distractor 3 +`var x;` #### --answer-- -Placeholder answer +`public final Long x;` ### --question-- #### --text-- -Placeholder question +Which of the following is a conventional variable name in JavaScript? #### --distractors-- -Placeholder distractor 1 +`let my_var;` --- -Placeholder distractor 2 +`let my-var;` --- -Placeholder distractor 3 +`let MyVar;` #### --answer-- -Placeholder answer +`let myVar;` ### --question-- #### --text-- -Placeholder question +What is the difference between `let` and `const` variable declarations in JavaScript? #### --distractors-- -Placeholder distractor 1 +`let` is block scoped, `const` is not. --- -Placeholder distractor 2 +`const` is block scoped, `let` is not. --- -Placeholder distractor 3 +`const` can be re-assigned but not re-declared. `let` can be re-declared, but not re-assigned. #### --answer-- -Placeholder answer +`const` cannot be re-assigned or re-declared. `let` can be re-assigned, but not re-declared. ### --question-- #### --text-- -Placeholder question +What is the difference between local and global scope in JavaScript? #### --distractors-- -Placeholder distractor 1 +Variables declared in local scope can be accessed from anywhere in the program. --- -Placeholder distractor 2 +Variables declared in global scope can only be accessed from inside a function. --- -Placeholder distractor 3 +Variables declared in global scope cannot be re-declared. #### --answer-- -Placeholder answer +Variables declared in global scope can be accessed from anywhere in the program. ### --question-- #### --text-- -Placeholder question +How would you print out the string `Hello, world!` in the console in JavaScript? #### --distractors-- -Placeholder distractor 1 +`print("Hello, world!")` --- -Placeholder distractor 2 +`alert("Hello, world");` --- -Placeholder distractor 3 +`System.out.println("Hello, world!");` #### --answer-- -Placeholder answer +`console.log("Hello, world!");` ### --question-- #### --text-- -Placeholder question +What does the code below do? + +```js +let hello = "Hello"; +hello += " world"; +console.log(hello); +``` #### --distractors-- -Placeholder distractor 1 +Reassigns `world` to the variable `hello`, and prints it out in the console. --- -Placeholder distractor 2 +Prints out the number of characters in `Hello world` in the console. --- -Placeholder distractor 3 +Adds the string `world` to the variable `hello`, and prints it out in the console. #### --answer-- -Placeholder answer +Creates a third empty string, copies the values of both strings to it, and finally reassigns the `hello` variable to the third string and prints it out in the console. ### --question-- #### --text-- -Placeholder question +Are semicolons required in JavaScript? #### --distractors-- -Placeholder distractor 1 +Yes. The code won't work without semicolons. --- -Placeholder distractor 2 +Semicolons are sometimes required in JavaScript. --- -Placeholder distractor 3 +No. It's recommended not to use semicolons in JavaScript. #### --answer-- -Placeholder answer +No, but it is generally recommended to use semicolons consistently to avoid potential issues in code. ### --question-- #### --text-- -Placeholder question +Which of the following is a valid single line comment syntax in JavaScript? #### --distractors-- -Placeholder distractor 1 +`# This is a single line comment` --- -Placeholder distractor 2 +`-- This is a single line comment` --- -Placeholder distractor 3 +`/* This is a single line comment */` #### --answer-- -Placeholder answer +`// This is a single line comment` ### --question-- #### --text-- -Placeholder question +Dynamic typing in JavaScript means that: #### --distractors-- -Placeholder distractor 1 +You need to declare the data type of a variable before using it. --- -Placeholder distractor 2 +You cannot assign a value of one data type to a variable of a different type. --- -Placeholder distractor 3 +JavaScript performs type checking before execution, meaning type related errors will be thrown before the code is run. #### --answer-- -Placeholder answer +You don't need to declare the data type of a variable before using it. JavaScript infers the type based on the value assigned to the variable. ### --question-- #### --text-- -Placeholder question +Which of the following prints out the type of the variable `x` in the console? #### --distractors-- -Placeholder distractor 1 +`console.log(x.type);` --- -Placeholder distractor 2 +`console.log(typeOf(x));` --- -Placeholder distractor 3 +`console.log(isNaN(x));` #### --answer-- -Placeholder answer +`console.log(typeof x);` ### --question-- #### --text-- -Placeholder question +What will be the output of `console.log(typeof null);`? #### --distractors-- -Placeholder distractor 1 +`undefined` --- -Placeholder distractor 2 +`null` --- -Placeholder distractor 3 +`NaN` #### --answer-- -Placeholder answer +`object` ### --question-- #### --text-- -Placeholder question +Which of the following is a valid multi-line comment in JavaScript? #### --distractors-- -Placeholder distractor 1 +```js +// This is a +// multi-line +// comment +``` --- -Placeholder distractor 2 +```py +''' +This is a +multi-line +comment +''' +``` --- -Placeholder distractor 3 +```html + +``` #### --answer-- -Placeholder answer +```js +/* +This is a +multi-line +comment +*/ +``` ### --question-- #### --text-- -Placeholder question +Which of the following declares a variable in JavaScript that cannot be changed? #### --distractors-- -Placeholder distractor 1 +`var x = 0;` --- -Placeholder distractor 2 +`let x = 0;` --- -Placeholder distractor 3 +`final x = 0;` #### --answer-- -Placeholder answer +`const x = 0;` ### --question-- #### --text-- -Placeholder question +In the code below, which variable is in the global scope in JavaScript: + +```js +let a = 0; + +if (a < 10) { + let b = 1; + return a + b; +} +``` #### --distractors-- -Placeholder distractor 1 +Variable `b` is in the global scope. --- -Placeholder distractor 2 +Both variables `a` and `b` are in the global scope. --- -Placeholder distractor 3 +None of the variables are in the global scope. #### --answer-- -Placeholder answer +Variable `a` is in the global scope, and can be accessed from anywhere in the program. ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a valid string concatenation method in JavaScript? #### --distractors-- -Placeholder distractor 1 +`console.log(string1 + " " + string2);` --- -Placeholder distractor 2 +```js +console.log(`${string1} ${string2}`); +``` --- -Placeholder distractor 3 +`console.log(string1.concat(" ", string2));` #### --answer-- -Placeholder answer +`console.log(string1 string2);` ### --question-- #### --text-- -Placeholder question +What will be the output of the following code: + +```js +let hello = "hello"; +if (true) { + let world = "world"; +} +console.log(hello + " " + world); +``` #### --distractors-- -Placeholder distractor 1 +`hello world` --- -Placeholder distractor 2 +`helloworld` --- -Placeholder distractor 3 +`hello` #### --answer-- -Placeholder answer +`ReferenceError: world is not defined` ### --question-- #### --text-- -Placeholder question +What will be the output of the code below: + +```js +const x = 0; +while (x < 10) x++; +console.log(x); +``` #### --distractors-- -Placeholder distractor 1 +`10` --- -Placeholder distractor 2 +`0` --- -Placeholder distractor 3 +`1 2 3 4 5 6 7 8 9 10` #### --answer-- -Placeholder answer +`TypeError: Assignment to constant variable.` ### --question-- #### --text-- -Placeholder question +Given the string `freeCodeLamp`, which JavaScript string method can be used to turn it into `freeCodeCamp`? #### --distractors-- -Placeholder distractor 1 +`"freeCodeLamp"[8] = "C";` --- -Placeholder distractor 2 +`"freeCodeLamp".charAt(8) = "C";` --- -Placeholder distractor 3 +`"freeCodeLamp".indexOf("L") = "C";` #### --answer-- -Placeholder answer +`"freeCodeLamp".replace("L", "C");` diff --git a/curriculum/challenges/chinese/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md b/curriculum/challenges/chinese/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md index 0887bf3885..bf02c6d126 100644 --- a/curriculum/challenges/chinese/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md +++ b/curriculum/challenges/chinese/25-front-end-development/quiz-nano/66f1b03b922a53cb231e1c0d.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is nano? #### --distractors-- -Placeholder distractor 1 +A word processor. --- -Placeholder distractor 2 +A program that makes text smaller. --- -Placeholder distractor 3 +A prefix that means small, tiny. #### --answer-- -Placeholder answer +Nano is a small, easy-to-use text editor that runs in a terminal. ### --question-- #### --text-- -Placeholder question +How do you run or start nano from a terminal? #### --distractors-- -Placeholder distractor 1 +Type `run nano`, then press the **Enter** key --- -Placeholder distractor 2 +Type `start nano`, then press the **Enter** key --- -Placeholder distractor 3 +Type `nano.exe`, then press the **Enter** key #### --answer-- -Placeholder answer +Type `nano`, then press the **Enter** key ### --question-- #### --text-- -Placeholder question +How do you open a text file using nano? #### --distractors-- -Placeholder distractor 1 +Type `nano.exe [FILE]`, then press the **Enter** key --- -Placeholder distractor 2 +Type `emacs [FILE]`, then press the **Enter** key --- -Placeholder distractor 3 +Type `vim [FILE]`, then press the **Enter** key #### --answer-- -Placeholder answer +Type `nano [FILE]`, then press the **Enter** key ### --question-- #### --text-- -Placeholder question +What type of files is nano capable of creating and modifiying? #### --distractors-- -Placeholder distractor 1 +PDF files --- -Placeholder distractor 2 +Word documents --- -Placeholder distractor 3 +Excel spreadsheets #### --answer-- -Placeholder answer +Plain text files ### --question-- #### --text-- -Placeholder question +With nano already running, what is the command or sequence of keystrokes to save the current file? #### --distractors-- -Placeholder distractor 1 +**Alt + E** --- -Placeholder distractor 2 +**Ctrl + T** --- -Placeholder distractor 3 +**Ctrl + U** #### --answer-- -Placeholder answer +**Ctrl + S** ### --question-- #### --text-- -Placeholder question +While running nano, how can you find help about using nano? #### --distractors-- -Placeholder distractor 1 +Type `nano -?` --- -Placeholder distractor 2 +Type `nano --help` --- -Placeholder distractor 3 +Perform a web search. #### --answer-- -Placeholder answer +Press **Ctrl + G** ### --question-- #### --text-- -Placeholder question +Where can you find the official documentation for nano? #### --distractors-- -Placeholder distractor 1 +GNU.org --- -Placeholder distractor 2 +SuperUser.com --- -Placeholder distractor 3 +StackOverflow.com #### --answer-- -Placeholder answer +https://www.nano-editor.org/dist/latest/nano.html ### --question-- #### --text-- -Placeholder question +What is/are the keystroke(s) to exit nano? #### --distractors-- -Placeholder distractor 1 +Press **Ctrl + Alt + Del** --- -Placeholder distractor 2 +Type `exit` --- -Placeholder distractor 3 +Press **Esc** #### --answer-- -Placeholder answer +Press **Ctrl + X** ### --question-- #### --text-- -Placeholder question +What keystrokes allow you to begin a search of the current file? #### --distractors-- -Placeholder distractor 1 +Press **Alt + E** --- -Placeholder distractor 2 +Press **Ctrl + U** --- -Placeholder distractor 3 +Press **Ctrl + K** #### --answer-- -Placeholder answer +Press **Ctrl + B** or **Ctrl + F** ### --question-- #### --text-- -Placeholder question +What keystrokes allow you to begin a spell check of the current file? #### --distractors-- -Placeholder distractor 1 +Press **Ctrl + D** --- -Placeholder distractor 2 +Press **Ctrl + T Ctrl + O** --- -Placeholder distractor 3 +Press **Ctrl + G** #### --answer-- -Placeholder answer +Press **Ctrl + T Ctrl + S** ### --question-- #### --text-- -Placeholder question +How can you comment or uncomment a line of text? #### --distractors-- -Placeholder distractor 1 +Press **Ctrl + U** --- -Placeholder distractor 2 +Press **Alt + C** --- -Placeholder distractor 3 +Press **Alt + 2** #### --answer-- -Placeholder answer +Press **Alt + 3** ### --question-- #### --text-- -Placeholder question +How can you display/hide line numbers while using nano? #### --distractors-- -Placeholder distractor 1 +Press **Alt + H** --- -Placeholder distractor 2 +Press **Ctrl + 1** --- -Placeholder distractor 3 +Press **Alt + 3** #### --answer-- -Placeholder answer +Press **Alt + N** ### --question-- #### --text-- -Placeholder question +How do you undo a previous action in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + Shift + U** --- -Placeholder distractor 2 +**Ctrl + Y** --- -Placeholder distractor 3 +**Ctrl + Z** #### --answer-- -Placeholder answer +**Alt + U** ### --question-- #### --text-- -Placeholder question +How do you move the cursor to the beginning of the file in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + Y** --- -Placeholder distractor 2 +**Ctrl + PgUp** --- -Placeholder distractor 3 +**Ctrl + Home** #### --answer-- -Placeholder answer +**Alt + \\** ### --question-- #### --text-- -Placeholder question +What is the command to paste a cut line in nano? #### --distractors-- -Placeholder distractor 1 +**Alt + V** --- -Placeholder distractor 2 +**Ctrl + Y** --- -Placeholder distractor 3 +**Ctrl + V** #### --answer-- -Placeholder answer +**Ctrl + U** ### --question-- #### --text-- -Placeholder question +What is the command to a cut line in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + S** --- -Placeholder distractor 2 +**Ctrl + R** --- -Placeholder distractor 3 +**Ctrl + C** #### --answer-- -Placeholder answer +**Ctrl + K** ### --question-- #### --text-- -Placeholder question +What is the command to go to a specific line number? #### --distractors-- -Placeholder distractor 1 +**Alt + 2** --- -Placeholder distractor 2 +**Ctrl + 1** --- -Placeholder distractor 3 +**Ctrl + G** #### --answer-- -Placeholder answer +**Alt + G** ### --question-- #### --text-- -Placeholder question +What is the command to justify text in nano? #### --distractors-- -Placeholder distractor 1 +**Ctrl + T** --- -Placeholder distractor 2 +**Ctrl + B** --- -Placeholder distractor 3 +**Alt + J** #### --answer-- -Placeholder answer +**Ctrl + J** ### --question-- #### --text-- -Placeholder question +What is the command to run a syntax check in nano? #### --distractors-- -Placeholder distractor 1 +**Alt + /** --- -Placeholder distractor 2 +**Ctrl + L** --- -Placeholder distractor 3 +**Ctrl + T Ctrl + O** #### --answer-- -Placeholder answer +**Ctrl + T Ctrl + Y** ### --question-- #### --text-- -Placeholder question +What is the command to move the cursor to the beginning of a line? #### --distractors-- -Placeholder distractor 1 +**Ctrl + B** --- -Placeholder distractor 2 +**Ctrl + E** --- -Placeholder distractor 3 +**Alt + A** #### --answer-- -Placeholder answer +**Ctrl + A** diff --git a/curriculum/challenges/chinese/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md b/curriculum/challenges/chinese/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md index 027bbea383..dc82ddd0d8 100644 --- a/curriculum/challenges/chinese/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md +++ b/curriculum/challenges/chinese/25-front-end-development/quiz-security-and-privacy/66f1b0a939e913ccd3d4fa18.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is the difference between security and privacy? #### --distractors-- -Placeholder distractor 1 +Security handles identity verification, whereas privacy handles encryption. --- -Placeholder distractor 2 +Security ensures the accuracy of data, whereas privacy focuses on data anonymity. --- -Placeholder distractor 3 +Security monitors data integrity to prevent corruption, whereas privacy restricts the sharing of data between authorized users. #### --answer-- -Placeholder answer +Security involves protecting data from unauthorized access, whereas privacy involves controlling who can access the data. ### --question-- #### --text-- -Placeholder question +What is the main reason HTTPS is important for websites? #### --distractors-- -Placeholder distractor 1 +It allows for more data storage capacity when visiting a website. --- -Placeholder distractor 2 +It restricts websites from accessing specific data from the user. --- -Placeholder distractor 3 +It protects users from potential malware that may go undetected by the website. #### --answer-- -Placeholder answer +It encrypts the information shared between the user and the website. ### --question-- #### --text-- -Placeholder question +What does HTTPS stand for? #### --distractors-- -Placeholder distractor 1 +HighText Transfer Protocol Secure. --- -Placeholder distractor 2 +HyperText Transfer Protocol Service. --- -Placeholder distractor 3 +HyperText Transmission Protocol Secure. #### --answer-- -Placeholder answer +HyperText Transfer Protocol Secure. ### --question-- #### --text-- -Placeholder question +Why does the Same-Origin Policy exist in web browsers? #### --distractors-- -Placeholder distractor 1 +To allow webpages to access resources from domains without restrictions, thereby enabling seamless integration of content. --- -Placeholder distractor 2 +To ensure that all webpages are encrypted during data transfer. --- -Placeholder distractor 3 +To allow scripts to automatically run on all web pages when making a request. #### --answer-- -Placeholder answer +To prevent data leaks by restricting web pages from making requests to domains outside of their own. ### --question-- #### --text-- -Placeholder question +What does CORS do in web development? #### --distractors-- -Placeholder distractor 1 +Increases the speed of webpages by preventing them from overloading their cache. --- -Placeholder distractor 2 +Ensures that all scripts on a web page run in a single-threaded environment. --- -Placeholder distractor 3 +Encrypts all cross-origin network communications, preventing memory leaks. #### --answer-- -Placeholder answer +Enables web pages to securely request resources from different domains. ### --question-- #### --text-- -Placeholder question +Which of the following CORS headers is responsible for permitting HTTP methods for cross-origin requests? #### --distractors-- -Placeholder distractor 1 +`Access-Control-Expose-Headers` --- -Placeholder distractor 2 +`Access-Control-Allow-Credentials` --- -Placeholder distractor 3 +`Access-Control-Allow-Headers` #### --answer-- -Placeholder answer +`Access-Control-Allow-Methods` ### --question-- #### --text-- -Placeholder question +What is the potential security or privacy risk associated with the use of cookies? #### --distractors-- -Placeholder distractor 1 +Cookies store unencrypted settings and preferences. --- -Placeholder distractor 2 +Cookies can be accessed by third-party advertisers to cater to user interests. --- -Placeholder distractor 3 +Cookies enhance page load speed by storing user data; however, this can prevent your local machine from detecting abnormalities. #### --answer-- -Placeholder answer +Cookies may store session data that can potentially be intercepted or exploited by a malicious user. ### --question-- #### --text-- -Placeholder question +Which of the following best describes a tracking cookie? #### --distractors-- -Placeholder distractor 1 +A cookie that saves a user's login credentials for the current session. --- -Placeholder distractor 2 +A cookie that stores user settings and preferences to enhance load speed in future sessions. --- -Placeholder distractor 3 +A cookie that stores user settings and preferences across all devices. #### --answer-- -Placeholder answer +A cookie that monitors user behavior across all websites for advertising purposes. ### --question-- #### --text-- -Placeholder question +Which of the following is a common web security issue? #### --distractors-- -Placeholder distractor 1 +Insecure Direct Object References --- -Placeholder distractor 2 +Distributed Denial of Service --- -Placeholder distractor 3 +SQL Injection #### --answer-- -Placeholder answer +Cross-Site Scripting ### --question-- #### --text-- -Placeholder question +Which of the following is an effective against Cross-Site Request Forgery attacks? #### --distractors-- -Placeholder distractor 1 +Encrypting all data inputted by the user. --- -Placeholder distractor 2 +Setting a short cookie expiration date. --- -Placeholder distractor 3 +Using SSL certificates to securely transmit data and verify domain ownership. #### --answer-- -Placeholder answer +Using CSRF tokens and SameSite cookies to validate all requests. ### --question-- #### --text-- -Placeholder question +What is the purpose of Content Security Policy (CSP) #### --distractors-- -Placeholder distractor 1 +To encrypt all user login credentials before sending them to the server --- -Placeholder distractor 2 +To protect data from unauthorized access. --- -Placeholder distractor 3 +To monitor user behavior and activity on a website #### --answer-- -Placeholder answer +To restrict the sources of resources and prevent the execution of malicious scripts. ### --question-- #### --text-- -Placeholder question +What is the role of permission policies in web security? #### --distractors-- -Placeholder distractor 1 +To prevent the installation of unauthorized software. --- -Placeholder distractor 2 +To grant or deny access to data that is stored on the user's device. --- -Placeholder distractor 3 +To restrict all JavaScript and TypeScript execution within the user's browser. #### --answer-- -Placeholder answer +To specify which browser features a website is allowed to use (e.g., camera access or location). ### --question-- #### --text-- -Placeholder question +Which one of these is an example of Personally Identifiable Information (PII)? #### --distractors-- -Placeholder distractor 1 +City or Zip Code --- -Placeholder distractor 2 +Gender --- -Placeholder distractor 3 +Device Type #### --answer-- -Placeholder answer +Name or Email ### --question-- #### --text-- -Placeholder question +What is the consequence of a PII data breach? #### --distractors-- -Placeholder distractor 1 +Minor inconvenience with no long-term impact. --- -Placeholder distractor 2 +Increase search engine ranking. --- -Placeholder distractor 3 +Increase transparency of user data for internal reporting. #### --answer-- -Placeholder answer +Identity theft, financial loss, and legal consequences. ### --question-- #### --text-- -Placeholder question +What are key strategies for organizations to protect PII while ensuring user privacy and confidentiality? #### --distractors-- -Placeholder distractor 1 +Allow unrestricted access to employee data for transparency. --- -Placeholder distractor 2 +Sharing PII with third-party vendors to create better market insights. --- -Placeholder distractor 3 +Using unencrypted storage systems for faster and easier data access. #### --answer-- -Placeholder answer +Minimizing data collection and only gathering essential information from users. ### --question-- #### --text-- -Placeholder question +Which of the following statements is true about GDPR and COPPA? #### --distractors-- -Placeholder distractor 1 +GDPR is a United States regulation, whereas COPPA is an EU regulation. --- -Placeholder distractor 2 +GDPR and COPPA only apply to large corporations. --- -Placeholder distractor 3 +GDPR focuses on encryption for all websites, while COPPA only applies to companies considered financial institutions #### --answer-- -Placeholder answer +COPPA focuses on protecting children's data and GDPR is concerned with protecting all user data within the EU. ### --question-- #### --text-- -Placeholder question +Under GDPR, what is required from organizations when collecting user data? #### --distractors-- -Placeholder distractor 1 +User data must be fully anonymized to protect privacy. --- -Placeholder distractor 2 +All data must be encrypted upon collection. --- -Placeholder distractor 3 +Organizations are not allowed collect data from users that are not residing in the EU. #### --answer-- -Placeholder answer +Organizations must acquire consent from users before collecting any data. ### --question-- #### --text-- -Placeholder question +What is the key difference between authentication and authorization? #### --distractors-- -Placeholder distractor 1 +Authentication determines access rights, whereas authorization allows users to manage their data. --- -Placeholder distractor 2 +Authentication grants permissions, and authorization verifies credentials. --- -Placeholder distractor 3 +Authentication ensures data integrity and authorization is responsible for encrypting the data. #### --answer-- -Placeholder answer +Authentication involves verifying a user's identity, while authorization determines their access rights. ### --question-- #### --text-- -Placeholder question +How does Two-Factor Authentication (2FA) contribute to the authentication process? #### --distractors-- -Placeholder distractor 1 +It replaces all passwords with QR codes. --- -Placeholder distractor 2 +It allows users to enter their password more seamlessly. --- -Placeholder distractor 3 +It provides a more secure and streamlined verification process. #### --answer-- -Placeholder answer +It adds an extra layer of security by requiring additional verification. ### --question-- #### --text-- -Placeholder question +Which of the following is an example of an authorization process? #### --distractors-- -Placeholder distractor 1 +Sending a user's verification code to different devices. --- -Placeholder distractor 2 +Allowing employees unrestricted access to all company data. --- -Placeholder distractor 3 +Verifying if the email is associated with a human during sign-up. #### --answer-- -Placeholder answer +Allowing users with a manager role to view employee records. diff --git a/curriculum/challenges/chinese/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md b/curriculum/challenges/chinese/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md index 66eb172bde..fdc0076d70 100644 --- a/curriculum/challenges/chinese/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md +++ b/curriculum/challenges/chinese/25-front-end-development/quiz-semantic-html/66ed903cf45ce3ece4053ebe.md @@ -17,439 +17,439 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is presentational HTML? #### --distractors-- -Placeholder distractor 1 +Presentational HTML controls how data is stored on the server. --- -Placeholder distractor 2 +Presentational HTML determines the website's overall layout and navigation structure. --- -Placeholder distractor 3 +Presentational HTML is used for embedding multimedia content. #### --answer-- -Placeholder answer +Presentational HTML uses elements to control the appearance of content, rather than its meaning or structure. ### --question-- #### --text-- -Placeholder question +What is the role of the `pre` element? #### --distractors-- -Placeholder distractor 1 +It is used to represent a placeholder inside a web component. --- -Placeholder distractor 2 +It is used to display an indicator showing the completion progress of a task. --- -Placeholder distractor 3 +It is used to convey seriousness or strong importance. #### --answer-- -Placeholder answer +It is used to represent preformatted text. ### --question-- #### --text-- -Placeholder question +What is the role of the `h1` element? #### --distractors-- -Placeholder distractor 1 +It is used for embedding images. --- -Placeholder distractor 2 +It creates a link to another page. --- -Placeholder distractor 3 +It formats text as bold. #### --answer-- -Placeholder answer +It defines the main heading of a webpage, indicating its primary topic. ### --question-- #### --text-- -Placeholder question +What is the role of the `address` element? #### --distractors-- -Placeholder distractor 1 +It specifies the font size for the main content. --- -Placeholder distractor 2 +It creates a navigation menu for the website. --- -Placeholder distractor 3 +It formats text as superscript. #### --answer-- -Placeholder answer +It is used to represent contact information for a section on a web page. ### --question-- #### --text-- -Placeholder question +Which of the following elements holds no semantic meaning? #### --distractors-- -Placeholder distractor 1 +`article` --- -Placeholder distractor 2 +`main` --- -Placeholder distractor 3 +`footer` #### --answer-- -Placeholder answer +`div` ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to represent a specific moment in time? #### --distractors-- -Placeholder distractor 1 +`output` --- -Placeholder distractor 2 +`ins` --- -Placeholder distractor 3 +`div` #### --answer-- -Placeholder answer +`time` ### --question-- #### --text-- -Placeholder question +What is a typical use case of the `ruby` element? #### --distractors-- -Placeholder distractor 1 +It specifies the document’s character encoding. --- -Placeholder distractor 2 +It inserts a table for displaying tabular data. --- -Placeholder distractor 3 +It embeds a video or audio player in the document. #### --answer-- -Placeholder answer +It is used to show the pronunciation of East Asian characters. ### --question-- #### --text-- -Placeholder question +Which element is used to highlight keywords in summaries or product names in reviews? #### --distractors-- -Placeholder distractor 1 +`ruby` --- -Placeholder distractor 2 +`table` --- -Placeholder distractor 3 +`template` #### --answer-- -Placeholder answer +`b` ### --question-- #### --text-- -Placeholder question +What is the role of the `u` element? #### --distractors-- -Placeholder distractor 1 +It styles text with custom fonts. --- -Placeholder distractor 2 +It specifies the document’s character encoding. --- -Placeholder distractor 3 +It creates a dropdown menu for selecting options. #### --answer-- -Placeholder answer +It is used to represent inline text that has non-textual annotation applied. ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to represent an extended quotation? #### --distractors-- -Placeholder distractor 1 +`textarea` --- -Placeholder distractor 2 +`sup` --- -Placeholder distractor 3 +`article` #### --answer-- -Placeholder answer +`blockquote` ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to provide a description, or definition for the term inside a description list? #### --distractors-- -Placeholder distractor 1 +`dt` --- -Placeholder distractor 2 +`dl` --- -Placeholder distractor 3 +`div` #### --answer-- -Placeholder answer +`dd` ### --question-- #### --text-- -Placeholder question +Which of the following elements is typically used with the `code` element? #### --distractors-- -Placeholder distractor 1 +`ins` --- -Placeholder distractor 2 +`summary` --- -Placeholder distractor 3 +`div` #### --answer-- -Placeholder answer +`pre` ### --question-- #### --text-- -Placeholder question +Which of the following attributes is used to translate dates and times into a machine-readable format? #### --distractors-- -Placeholder distractor 1 +`alt` --- -Placeholder distractor 2 +`rel` --- -Placeholder distractor 3 +`accept` #### --answer-- -Placeholder answer +`datetime` ### --question-- #### --text-- -Placeholder question +Why is it important to not skip heading levels? #### --distractors-- -Placeholder distractor 1 +Skipping heading levels improves website design aesthetics. --- -Placeholder distractor 2 +Skipping heading levels makes text appear in different colors. --- -Placeholder distractor 3 +Skipping heading levels enhances page loading speed. #### --answer-- -Placeholder answer +Skipping heading levels can confuse screen readers and hinder content accessibility by disrupting the logical content hierarchy. ### --question-- #### --text-- -Placeholder question +Which of the following is a deprecated presentational HTML element? #### --distractors-- -Placeholder distractor 1 +`div` --- -Placeholder distractor 2 +`footer` --- -Placeholder distractor 3 +`article` #### --answer-- -Placeholder answer +`font` ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to represent navigation links? #### --distractors-- -Placeholder distractor 1 +`figure` --- -Placeholder distractor 2 +`div` --- -Placeholder distractor 3 +`section` #### --answer-- -Placeholder answer +`nav` ### --question-- #### --text-- -Placeholder question +Which of the following elements represents a description term inside a description list? #### --distractors-- -Placeholder distractor 1 +`dd` --- -Placeholder distractor 2 +`dfn` --- -Placeholder distractor 3 +`del` #### --answer-- -Placeholder answer +`dt` ### --question-- #### --text-- -Placeholder question +What is the role of the idiomatic text element? #### --distractors-- -Placeholder distractor 1 +It creates interactive buttons. --- -Placeholder distractor 2 +It handles user authentication and login. --- -Placeholder distractor 3 +It formats numerical data. #### --answer-- -Placeholder answer +It is used to represent idiomatic text, technical terms, and taxonomical designations. ### --question-- #### --text-- -Placeholder question +Which of the following elements is used to emphasize text? #### --distractors-- -Placeholder distractor 1 +`anchor` --- -Placeholder distractor 2 +`div` --- -Placeholder distractor 3 +`optgroup` #### --answer-- -Placeholder answer +`em` ### --question-- #### --text-- -Placeholder question +Which of the following attributes is used to specify the source or reference of the quoted content for a blockquote? #### --distractors-- -Placeholder distractor 1 +`alt` --- -Placeholder distractor 2 +`class` --- -Placeholder distractor 3 +`lang` #### --answer-- -Placeholder answer +`cite` diff --git a/curriculum/challenges/chinese/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md b/curriculum/challenges/chinese/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md index 031e77cc07..f41f1c1a03 100644 --- a/curriculum/challenges/chinese/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md +++ b/curriculum/challenges/chinese/25-front-end-development/quiz-typescript/66f1ae758b77cfc3e4da6151.md @@ -17,439 +17,454 @@ Answer all of the questions below correctly to pass the quiz. #### --text-- -Placeholder question +What is Typescript? #### --distractors-- -Placeholder distractor 1 +A framework used for system programming. --- -Placeholder distractor 2 +A database management tool. --- -Placeholder distractor 3 +A programming language used for styling websites. #### --answer-- -Placeholder answer +A superset of JavaScript that adds static typing. ### --question-- #### --text-- -Placeholder question +Why should TypeScript be used in a project? #### --distractors-- -Placeholder distractor 1 +It eliminates the need for testing in applications. --- -Placeholder distractor 2 +It is faster than all other programming languages. --- -Placeholder distractor 3 +It makes styling websites easier. #### --answer-- -Placeholder answer +It improves maintainability by adding type definitions to JavaScript. ### --question-- #### --text-- -Placeholder question +What language is TypeScript compiled down to? #### --distractors-- -Placeholder distractor 1 +Java --- -Placeholder distractor 2 +Python --- -Placeholder distractor 3 +C++ #### --answer-- -Placeholder answer +JavaScript ### --question-- #### --text-- -Placeholder question +What would be the output of the following code snippet? + +```ts +function sum(a: number, b: number): number { + return a + b; +} +console.log(sum(2, 3)); +``` #### --distractors-- -Placeholder distractor 1 +`2 + 3` --- -Placeholder distractor 2 +`undefined` --- -Placeholder distractor 3 +`Error: Type 'number' is not assignable to type 'string'` #### --answer-- -Placeholder answer +`5` ### --question-- #### --text-- -Placeholder question +What is the primary purpose of an interface in TypeScript? #### --distractors-- -Placeholder distractor 1 +To compile TypeScript code into JavaScript. --- -Placeholder distractor 2 +To create a new data type. --- -Placeholder distractor 3 +To create a new JavaScript Object. #### --answer-- -Placeholder answer +To define the structure of an object. ### --question-- #### --text-- -Placeholder question +Which of the following is NOT a basic primitive in TypeScript? #### --distractors-- -Placeholder distractor 1 +string --- -Placeholder distractor 2 +boolean --- -Placeholder distractor 3 +number #### --answer-- -Placeholder answer +array ### --question-- #### --text-- -Placeholder question +Which of the following correctly defines a literal type in TypeScript? #### --distractors-- -Placeholder distractor 1 +`let y: string;` --- -Placeholder distractor 2 +`let z: boolean;` --- -Placeholder distractor 3 +`let a: number[];` #### --answer-- -Placeholder answer +`let x: 5;` ### --question-- #### --text-- -Placeholder question +What is the primary purpose of the `type` keyword in TypeScript? #### --distractors-- -Placeholder distractor 1 +To declare variables. --- -Placeholder distractor 2 +To create classes. --- -Placeholder distractor 3 +To implement interfaces. #### --answer-- -Placeholder answer +To define custom types. ### --question-- #### --text-- -Placeholder question +Which of the following correctly defines a union type? #### --distractors-- -Placeholder distractor 1 +`type Result = Pass && Fail;` --- -Placeholder distractor 2 +`type Result = Pass & Fail;` --- -Placeholder distractor 3 +`type Result = Pass + Fail;` #### --answer-- -Placeholder answer +`type Result = Pass | Fail;` ### --question-- #### --text-- -Placeholder question +Which of the following capabilities is unique to `interface` and CANNOT be achieved using `type` in TypeScript? #### --distractors-- -Placeholder distractor 1 +Defining object shapes. --- -Placeholder distractor 2 +Creating union types. --- -Placeholder distractor 3 +Creating intersection types. #### --answer-- -Placeholder answer +Declaring class implementations. ### --question-- #### --text-- -Placeholder question +What is the primary purpose of using generics in TypeScript? #### --distractors-- -Placeholder distractor 1 +To implement inheritance between classes. --- -Placeholder distractor 2 +To define structure of an object. --- -Placeholder distractor 3 +To create a new data type. #### --answer-- -Placeholder answer +To write reusable code that can work with multiple types. ### --question-- #### --text-- -Placeholder question +Which of the following is a **proper example** of a generic function in TypeScript? #### --distractors-- -Placeholder distractor 1 +`function add(a: number, b: number): number { return a + b; }` --- -Placeholder distractor 2 +`function multiply(a: number, b: number): { return a * b; }` --- -Placeholder distractor 3 +`function getValue(value: any): any { return value; }` #### --answer-- -Placeholder answer +`function identity(value: T): T { return value; }` ### --question-- #### --text-- -Placeholder question +What is type narrowing in TypeScript? #### --distractors-- -Placeholder distractor 1 +Reducing the size of compiled JavaScript. --- -Placeholder distractor 2 +Limiting the number of types in a union. --- -Placeholder distractor 3 +Removing unused types from a TypeScript project. #### --answer-- -Placeholder answer +To write code that narrows down a union type to a more specific type. ### --question-- #### --text-- -Placeholder question +Which file is typically used to configure TypeScript compiler options? #### --distractors-- -Placeholder distractor 1 +`package.json` --- -Placeholder distractor 2 +`package.config.json` --- -Placeholder distractor 3 +`typescript.config.js` #### --answer-- -Placeholder answer +`tsconfig.json` ### --question-- #### --text-- -Placeholder question +What does the `target` option in the `tsconfig.json` file specify? #### --distractors-- -Placeholder distractor 1 +The version of TypeScript to use during compilation. --- -Placeholder distractor 2 +The target runtime environment (e.g., Node.js or browser) for the TypeScript code. --- -Placeholder distractor 3 +The specific module system to use for imports and exports. #### --answer-- -Placeholder answer +The ECMAScript version to which the TypeScript compiler will transpile the code. ### --question-- #### --text-- -Placeholder question +What does the `noImplicitReturns` option in the `tsconfig.json` file enforce? #### --distractors-- -Placeholder distractor 1 +It forces all functions to return a `number`. --- -Placeholder distractor 2 +It requires that all functions return either `true` or `false`. --- -Placeholder distractor 3 +It prevents using the `any` type in TypeScript code. #### --answer-- -Placeholder answer +It ensures all code paths in a function return a value. ### --question-- #### --text-- -Placeholder question +Which TypeScript option prevents implicit `any` types? #### --distractors-- -Placeholder distractor 1 +`noImplicitReturns` --- -Placeholder distractor 2 +`alwaysStrict` --- -Placeholder distractor 3 +`strictNullChecks` #### --answer-- -Placeholder answer +`noImplicitAny` ### --question-- #### --text-- -Placeholder question +What is the purpose of the `never` type in TypeScript? #### --distractors-- -Placeholder distractor 1 +To represent null or undefined. --- -Placeholder distractor 2 +To represent any possible value. --- -Placeholder distractor 3 +To represent a type that can be anything except null. #### --answer-- -Placeholder answer +To represent the type of values that never occur. ### --question-- #### --text-- -Placeholder question +What will be the output of the following TypeScript code? + +```ts +enum Color { + Red, + Blue, +} +console.log(Color.Red, Color.Blue); +``` #### --distractors-- -Placeholder distractor 1 +`Red Blue` --- -Placeholder distractor 2 +`1, 2` --- -Placeholder distractor 3 +`Red 2` #### --answer-- -Placeholder answer +`0 1` ### --question-- #### --text-- -Placeholder question +How can you specify that a function parameter is optional in TypeScript? #### --distractors-- -Placeholder distractor 1 +By using the `optional` keyword. --- -Placeholder distractor 2 +By setting a default value. --- -Placeholder distractor 3 +By using the `any` type. #### --answer-- -Placeholder answer +By adding a `?` after the parameter name diff --git a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md index 4116c9a6b7..127cebf1a6 100644 --- a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md +++ b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc06012e46aa6bc9b8c001.md @@ -27,7 +27,6 @@ Start by creating a function called `addTwoAndSeven`. You can choose to use the regular function syntax or the arrow function syntax. - # --hints-- You should declare a function called `addTwoAndSeven`. diff --git a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md index 2329f1f3a6..8519e2dd9f 100644 --- a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md +++ b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc095dfe1682753d2ab030.md @@ -13,7 +13,7 @@ Here is a reminder of how to return a value from a function: ```js function myFunction() { - return 'Hello World'; + return "Hello World"; } ``` @@ -21,7 +21,7 @@ Inside your `addTwoAndSeven` function, return the sum of `2` and `7`. # --hints-- -Your `addTwoAndSeven` function should return the sum of `2` and `7` +Your `addTwoAndSeven` function should return the sum of `2` and `7`. ```js assert.strictEqual(addTwoAndSeven(), 9); diff --git a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md index 4b199daa34..2f8a3054da 100644 --- a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md +++ b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc0a9e06e00b75d6782be9.md @@ -7,7 +7,7 @@ dashedName: step-3 # --description-- -In the previous lecture videos, you learned how to call(invoke) a function. Calling a function means to execute the code inside the function. +In the previous lecture videos, you learned how to call (invoke) a function. Calling a function means to execute the code inside the function. Here is a reminder of how to call a function: diff --git a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md index 06b6c0dd9b..78a2fe0b16 100644 --- a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md +++ b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc0f1ae40802781b2ea972.md @@ -14,7 +14,7 @@ A function parameter is a variable that is defined in the function's declaration Here is an example of a function that has a parameter: ```js -// The parameter is 'name' +// The parameter is `name` function greetUser(name) { return `Hello, ${name}!`; } diff --git a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md index 2a2428623b..5fb103a5dd 100644 --- a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md +++ b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc12fa504b0479dac479a0.md @@ -18,8 +18,8 @@ function greetUser(name) { } // function calls -greetUser('John'); // 'Hello John!' -greetUser('Jane'); // 'Hello Jane!' +greetUser("John"); // "Hello John!" +greetUser("Jane"); // "Hello Jane!" ``` Add a `console.log` that calls the `calculateSum` function with the arguments `2` and `5`. diff --git a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md index c56c174fe7..92b2b4a435 100644 --- a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md +++ b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc1ccfefdd727e18c2ab20.md @@ -7,7 +7,7 @@ dashedName: step-14 # --description-- -Your `calculateQuotient` appears to working correctly but there is one case that you have not tested yet. +Your `calculateQuotient` appears to be working correctly but there is one case that you have not tested yet. Add a `console.log` that calls the `calculateQuotient` function with the arguments `3` and `0`. diff --git a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md index f4f1972b7c..9449c97f9f 100644 --- a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md +++ b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc1deb1f04647f2aabee2b.md @@ -13,11 +13,11 @@ The division by zero is not a valid operation in mathematics. To account for this edge case, you should update your `calculateQuotient` function to instead check if `num2` is zero. -If it is, the function should return the string `'Error: Division by zero'`. Otherwise, it should return the result of dividing `num1` by `num2`. +If it is, the function should return the string `"Error: Division by zero"`. Otherwise, it should return the result of dividing `num1` by `num2`. # --hints-- -Your `calculateQuotient` function should return the string `'Error: Division by zero'` if `num2` is zero. +Your `calculateQuotient` function should return the string `"Error: Division by zero"` if `num2` is zero. ```js assert.strictEqual(calculateQuotient(10, 0), 'Error: Division by zero'); diff --git a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md index 3d49bbb0fb..97ebd4f7b2 100644 --- a/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md +++ b/curriculum/challenges/chinese/25-front-end-development/workshop-calculator/66cc21d23238dc8240a8a182.md @@ -20,7 +20,6 @@ You can also use the exponentiation operator (`**`) to calculate the square of a // the exponent is 2 Math.pow(5, 2); // 25 - // using the exponentiation operator 5 ** 2; // 25 ``` diff --git a/curriculum/challenges/chinese/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md b/curriculum/challenges/chinese/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md index f4fc5932cd..003ec2eb18 100644 --- a/curriculum/challenges/chinese/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md +++ b/curriculum/challenges/chinese/25-front-end-development/workshop-greeting-bot/66ad8294a0ad902f1b31b612.md @@ -16,7 +16,7 @@ Remember that you learned about `console.log()` and strings in the previous lect Here is a reminder of how to use `console.log()` with strings: ```js -console.log('Hello, World!'); +console.log("Hello, World!"); ``` Add a `console.log()` statement that outputs the string `"Hi there!"` to the console. Don't forget your quotes around the message! diff --git a/curriculum/challenges/espanol/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml b/curriculum/challenges/espanol/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml index 06f30f308e..3ea323ff9d 100644 --- a/curriculum/challenges/espanol/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/a2-english-for-developers-certification/a2-english-for-developers-certification.yml @@ -1,10 +1,10 @@ --- id: 651dd7e01d697d0aab7833b7 -title: Certificación en Inglés A2 para desarrolladores +title: A2 English for Developers Certification certification: a2-english-for-developers challengeType: 7 isPrivate: true tests: - id: 651dd3e06ffb500e3f2ce478 - title: Desafío 1 + title: Challenge 1 diff --git a/curriculum/challenges/espanol/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml b/curriculum/challenges/espanol/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml index c75ff27697..9cdf793113 100644 --- a/curriculum/challenges/espanol/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/b1-english-for-developers-certification/b1-english-for-developers-certification.yml @@ -7,4 +7,4 @@ isPrivate: true tests: - id: 66607e5b317411dd5e8aae22 - title: "Diálogo 1: Soy Tom" + title: "Dialogue 1: I'm Tom" diff --git a/curriculum/challenges/espanol/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml b/curriculum/challenges/espanol/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml index 72187c7def..d020e8c1e5 100644 --- a/curriculum/challenges/espanol/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/back-end-development-and-apis-certification/back-end-development-and-apis-certification.yml @@ -1,22 +1,22 @@ --- id: 561add10cb82ac38a17523bc -title: Certificación en Desarrollo Back End y APIs +title: Back End Development and APIs Certification certification: back-end-development-and-apis challengeType: 7 isPrivate: true tests: - id: bd7158d8c443edefaeb5bdef - title: Microservicio de Marca de Tiempo + title: Timestamp Microservice - id: bd7158d8c443edefaeb5bdff - title: Microservicio de análisis de cabeceras de solicitud + title: Request Header Parser Microservice - id: bd7158d8c443edefaeb5bd0e - title: Microservicio Acortador de URL + title: URL Shortener Microservice - id: 5a8b073d06fa14fcfde687aa - title: Rastreador de ejercicios + title: Exercise Tracker - id: bd7158d8c443edefaeb5bd0f - title: Microservicio de Metadatos de Archivo + title: File Metadata Microservice diff --git a/curriculum/challenges/espanol/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml b/curriculum/challenges/espanol/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml index f9b09a59c5..707d18c049 100644 --- a/curriculum/challenges/espanol/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/college-algebra-with-python-certification/college-algebra-with-python-certification.yml @@ -1,22 +1,22 @@ --- id: 61531b20cc9dfa2741a5b800 -title: Certificación en Álgebra universitaria con Python +title: College Algebra with Python Certification certification: college-algebra-with-python challengeType: 7 isPrivate: true tests: - id: 63d83ff239c73468b059cd3f - title: Construye una Calculadora Multifuncional + title: Build a Multi-Function Calculator - id: 63d83ffd39c73468b059cd40 - title: Construye una Calculadora Gráfica + title: Build a Graphing Calculator - id: 63d8401039c73468b059cd41 - title: Construye Tres Juegos Matemáticos + title: Build Three Math Games - id: 63d8401e39c73468b059cd42 - title: Construye una Calculadora Financiera + title: Build a Financial Calculator - id: 63d8402e39c73468b059cd43 - title: Construye un Explorador de Gráficos de Datos + title: Build a Data Graph Explorer diff --git a/curriculum/challenges/espanol/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml b/curriculum/challenges/espanol/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml index 58c4630a4b..d867faab96 100644 --- a/curriculum/challenges/espanol/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/data-analysis-with-python-certification/data-analysis-with-python-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e46fc95ac417301a38fb934 -title: Certificación en Análisis de Datos con Python +title: Data Analysis with Python Certification certification: data-analysis-with-python challengeType: 7 isPrivate: true tests: - id: 5e46f7e5ac417301a38fb928 - title: Calculadora de Varianza, Desviación media, y estándar + title: Mean-Variance-Standard Deviation Calculator - id: 5e46f7e5ac417301a38fb929 - title: Analizador de Datos Demográficos + title: Demographic Data Analyzer - id: 5e46f7f8ac417301a38fb92a - title: Visualizador de Datos Médicos + title: Medical Data Visualizer - id: 5e46f802ac417301a38fb92b - title: Visualizador de Vistas de Página en Determinados periodos de tiempo + title: Page View Time Series Visualizer - id: 5e4f5c4b570f7e3a4949899f - title: Pronosticador del nivel del mar + title: Sea Level Predictor diff --git a/curriculum/challenges/espanol/00-certifications/data-visualization-certification/data-visualization-certification.yml b/curriculum/challenges/espanol/00-certifications/data-visualization-certification/data-visualization-certification.yml index 87a76aef0d..cfda40657c 100644 --- a/curriculum/challenges/espanol/00-certifications/data-visualization-certification/data-visualization-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/data-visualization-certification/data-visualization-certification.yml @@ -1,22 +1,21 @@ ---- id: 5a553ca864b52e1d8bceea14 -title: Certificación en Visualización de Datos +title: Data Visualization Certification certification: data-visualization challengeType: 7 isPrivate: true tests: - id: bd7168d8c242eddfaeb5bd13 - title: Visualiza Datos con un Gráfico de Barras + title: Visualize Data with a Bar Chart - id: bd7178d8c242eddfaeb5bd13 - title: Visualiza Datos con un Gráfico de Dispersión + title: Visualize Data with a Scatterplot Graph - id: bd7188d8c242eddfaeb5bd13 - title: Visualiza Datos con un Mapa de Calor + title: Visualize Data with a Heat Map - id: 587d7fa6367417b2b2512bbf - title: Visualiza Datos con un Mapa Coroplético + title: Visualize Data with a Choropleth Map - id: 587d7fa6367417b2b2512bc0 - title: Visualiza Datos con un Diagrama de Mapa de Árbol + title: Visualize Data with a Treemap Diagram diff --git a/curriculum/challenges/espanol/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml b/curriculum/challenges/espanol/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml index 43c45d970a..a145a188e7 100644 --- a/curriculum/challenges/espanol/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml +++ b/curriculum/challenges/espanol/00-certifications/foundational-c-sharp-with-microsoft-certification/foundational-c-sharp-with-microsoft.yml @@ -1,10 +1,10 @@ --- id: 647f7da207d29547b3bee1ba -title: 'C# básico con certificación de Microsoft' +title: 'Foundational C# with Microsoft Certification' certification: foundational-c-sharp-with-microsoft challengeType: 7 isPrivate: true tests: - id: 647e22d18acb466c97ccbef8 - title: 'C# básico con examen de certificación de Microsoft' + title: 'Foundational C# with Microsoft Certification Exam' diff --git a/curriculum/challenges/espanol/00-certifications/front-end-development-certification/front-end-development.yml b/curriculum/challenges/espanol/00-certifications/front-end-development-certification/front-end-development.yml index d0cb014632..25d1e08129 100644 --- a/curriculum/challenges/espanol/00-certifications/front-end-development-certification/front-end-development.yml +++ b/curriculum/challenges/espanol/00-certifications/front-end-development-certification/front-end-development.yml @@ -1,10 +1,10 @@ --- id: 64514fda6c245de4d11eb7bb -title: Certificación de Desarrollo Front End +title: Front End Development Certification certification: front-end-development challengeType: 7 isPrivate: true tests: - id: 645147516c245de4d11eb7ba - title: Examen de Certificación en Desarrollo Front End + title: Front End Development Certification Exam diff --git a/curriculum/challenges/espanol/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml b/curriculum/challenges/espanol/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml index 50bafbb357..adacd42f16 100644 --- a/curriculum/challenges/espanol/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/front-end-development-libraries-certification/front-end-development-libraries-certification.yml @@ -1,22 +1,22 @@ --- id: 561acd10cb82ac38a17513bc -title: Certificación en Librerías de Desarrollo Front End +title: Front End Development Libraries Certification certification: front-end-development-libraries challengeType: 7 isPrivate: true tests: - id: bd7158d8c442eddfaeb5bd13 - title: Construye una Máquina de Frases Aleatorias + title: Build a Random Quote Machine - id: bd7157d8c242eddfaeb5bd13 - title: Construye un Previsualizador de Markdown + title: Build a Markdown Previewer - id: 587d7dbc367417b2b2512bae - title: Construye una Caja de Ritmos + title: Build a Drum Machine - id: bd7158d8c442eddfaeb5bd17 - title: Construye una Calculadora JavaScript + title: Build a JavaScript Calculator - id: bd7158d8c442eddfaeb5bd0f - title: Construye un Reloj 25 + 5 + title: Build a 25 + 5 Clock diff --git a/curriculum/challenges/espanol/00-certifications/information-security-certification/information-security-certification.yml b/curriculum/challenges/espanol/00-certifications/information-security-certification/information-security-certification.yml index 42da155c4f..b3fba222c8 100644 --- a/curriculum/challenges/espanol/00-certifications/information-security-certification/information-security-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/information-security-certification/information-security-certification.yml @@ -1,22 +1,21 @@ ---- id: 5e6021435ac9d0ecd8b94b00 -title: Certificación en Seguridad de la Información +title: Information Security Certification certification: information-security challengeType: 7 isPrivate: true tests: - id: 587d824a367417b2b2512c44 - title: Verificador de Precio de Stock + title: Stock Price Checker - id: 587d824a367417b2b2512c45 - title: Tablero de Mensaje Anónimo + title: Anonymous Message Board - id: 5e46f979ac417301a38fb932 - title: Escáner de Puertos + title: Port Scanner - id: 5e46f983ac417301a38fb933 - title: Quebrador de Contraseña SHA-1 + title: SHA-1 Password Cracker - id: 5e601c775ac9d0ecd8b94aff - title: Juego Multijugador Seguro en Tiempo Real + title: Secure Real Time Multiplayer Game diff --git a/curriculum/challenges/espanol/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml b/curriculum/challenges/espanol/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml index f66129cfa8..2b2ce86ac8 100644 --- a/curriculum/challenges/espanol/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/javascript-algorithms-and-data-structures-certification/javascript-algorithms-and-data-structures-certification.yml @@ -1,22 +1,21 @@ ---- id: 561abd10cb81ac38a17513bc -title: Certificación en estructura de datos y Algoritmos de Javascript +title: JavaScript Algorithms and Data Structures Certification certification: javascript-algorithms-and-data-structures challengeType: 7 isPrivate: true tests: - id: aaa48de84e1ecc7c742e1124 - title: Verificador de Palíndromos + title: Palindrome Checker - id: a7f4d8f2483413a6ce226cac - title: Conversor de Números Romanos + title: Roman Numeral Converter - id: 56533eb9ac21ba0edf2244e2 - title: Cifrador Caesars + title: Caesars Cipher - id: aff0395860f5d3034dc0bfc9 - title: Validador de Número Telefónico + title: Telephone Number Validator - id: aa2e6f85cab2ab736c9a9b24 - title: Caja Registradora + title: Cash Register diff --git a/curriculum/challenges/espanol/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml b/curriculum/challenges/espanol/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml index 6eec4e9475..90d4241ee7 100644 --- a/curriculum/challenges/espanol/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml +++ b/curriculum/challenges/espanol/00-certifications/javascript-algorithms-and-data-structures-v8/javascript-algorithms-and-data-structures-certification-v8.yml @@ -1,21 +1,21 @@ id: 658180220947283cdc0689ce -title: Certificación en Algoritmos y Estructuras de Datos de JavaScript (Beta) +title: JavaScript Algorithms and Data Structures (Beta) Certification certification: javascript-algorithms-and-data-structures-v8 challengeType: 7 isPrivate: true tests: - id: 657bdc55a322aae1eac3838f - title: Construye un comprobador de palíndromos + title: Build a Palindrome Checker - id: 657bdc8ba322aae1eac38390 - title: Construye un convertidor de números romanos + title: Build a Roman Numeral Converter - id: 657bdcb9a322aae1eac38391 - title: Construye un validador de números de teléfono + title: Build a Telephone Number Validator - id: 657bdcc3a322aae1eac38392 - title: Construye una caja registradora + title: Build a Cash Register - id: 6555c1d3e11a1574434cf8b5 - title: Construye una aplicación de búsqueda de Pokémon + title: Build a Pokémon Search App diff --git a/curriculum/challenges/espanol/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml b/curriculum/challenges/espanol/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml index 660654f6fc..aac4f8e0cb 100644 --- a/curriculum/challenges/espanol/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/legacy-back-end-certification/legacy-back-end-certification.yml @@ -1,37 +1,36 @@ ---- id: 660add10cb82ac38a17513be -title: Certificación en Back End Heredado +title: Legacy Back End Certification certification: legacy-back-end challengeType: 7 isPrivate: true tests: - id: bd7158d8c443edefaeb5bdef - title: Microservicio de Marca de Tiempo + title: Timestamp Microservice - id: bd7158d8c443edefaeb5bdff - title: Microservicio de Analizador de Solicitud de Encabezado + title: Request Header Parser Microservice - id: bd7158d8c443edefaeb5bd0e - title: Microservicio de Abreviador de URL + title: URL Shortener Microservice - id: bd7158d8c443edefaeb5bdee - title: Capa de Abstracción de Búsqueda de Imagen + title: Image Search Abstraction Layer - id: bd7158d8c443edefaeb5bd0f - title: Microservicio de Metadatos de Archivo + title: File Metadata Microservice - id: bd7158d8c443eddfaeb5bdef - title: Construye una Aplicación de Sufragio + title: Build a Voting App - id: bd7158d8c443eddfaeb5bdff - title: Construye una Aplicación de Coordinación de Vida Nocturna + title: Build a Nightlife Coordination App - id: bd7158d8c443eddfaeb5bd0e - title: Traza el Mercado de Valores + title: Chart the Stock Market - id: bd7158d8c443eddfaeb5bd0f - title: Administrar un Club de Intercambio de Libros + title: Manage a Book Trading Club - id: bd7158d8c443eddfaeb5bdee - title: Construye una Copia de Pinterest + title: Build a Pinterest Clone diff --git a/curriculum/challenges/espanol/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml b/curriculum/challenges/espanol/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml index f289ee16a6..3066d439be 100644 --- a/curriculum/challenges/espanol/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/legacy-data-visualization-certification/legacy-data-visualization-certification.yml @@ -1,37 +1,36 @@ ---- id: 561add10cb82ac39a17513bc -title: Certificación en Visualización de Datos Heredado +title: Legacy Data Visualization Certification certification: legacy-data-visualization challengeType: 7 isPrivate: true tests: - id: bd7157d8c242eddfaeb5bd13 - title: Crea un visor de Markdown + title: Build a Markdown Previewer - id: bd7156d8c242eddfaeb5bd13 - title: Construye una Tabla de Clasificación de "Camper" + title: Build a Camper Leaderboard - id: bd7155d8c242eddfaeb5bd13 - title: Crea una Caja de Recetas + title: Build a Recipe Box - id: bd7154d8c242eddfaeb5bd13 - title: Crea el Juego de la Vida + title: Build the Game of Life - id: bd7153d8c242eddfaeb5bd13 - title: Crea un juego de mazmorras estilo "Roguelike Crawler" + title: Build a Roguelike Dungeon Crawler Game - id: bd7168d8c242eddfaeb5bd13 - title: Visualiza datos con una gráfica de barras + title: Visualize Data with a Bar Chart - id: bd7178d8c242eddfaeb5bd13 - title: Visualiza datos con un diagrama de dispersión + title: Visualize Data with a Scatterplot Graph - id: bd7188d8c242eddfaeb5bd13 - title: Visualiza datos con un mapa térmico + title: Visualize Data with a Heat Map - id: bd7198d8c242eddfaeb5bd13 - title: Muestra la contigüidad nacional con un gráfico dirigido por fuerzas + title: Show National Contiguity with a Force Directed Graph - id: bd7108d8c242eddfaeb5bd13 - title: Mapea datos a través del globo + title: Map Data Across the Globe diff --git a/curriculum/challenges/espanol/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml b/curriculum/challenges/espanol/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml index 09daf2792b..2ad2f1cb19 100644 --- a/curriculum/challenges/espanol/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/legacy-front-end-certification/legacy-front-end-certification.yml @@ -1,37 +1,36 @@ ---- id: 561add10cb82ac38a17513be -title: Certificación en Front End Heredado +title: Legacy Front End Certification certification: legacy-front-end challengeType: 7 isPrivate: true tests: - id: bd7158d8c242eddfaeb5bd13 - title: Construye una Página Web de Portafolio Personal + title: Build a Personal Portfolio Webpage - id: bd7158d8c442eddfaeb5bd13 - title: Construye una Máquina de Frases Aleatorias + title: Build a Random Quote Machine - id: bd7158d8c442eddfaeb5bd0f - title: Construye un Reloj 25 + 5 + title: Build a 25 + 5 Clock - id: bd7158d8c442eddfaeb5bd17 - title: Construye una Calculadora JavaScript + title: Build a JavaScript Calculator - id: bd7158d8c442eddfaeb5bd10 - title: Muestra el Clima Local + title: Show the Local Weather - id: bd7158d8c442eddfaeb5bd1f - title: Utiliza la API JSON de Twitch + title: Use the Twitch JSON API - id: bd7158d8c442eddfaeb5bd18 - title: Estilizar historias en Camper News + title: Stylize Stories on Camper News - id: bd7158d8c442eddfaeb5bd19 - title: Construye un Visor de Wikipedia + title: Build a Wikipedia Viewer - id: bd7158d8c442eedfaeb5bd1c - title: Construye un Ta-Te-Ti + title: Build a Tic Tac Toe Game - id: bd7158d8c442eddfaeb5bd1c - title: Construye un "Simón dice" + title: Build a Simon Game diff --git a/curriculum/challenges/espanol/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml b/curriculum/challenges/espanol/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml index 43257c06bb..9800c4a117 100644 --- a/curriculum/challenges/espanol/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/legacy-full-stack-certification/legacy-full-stack-certification.yml @@ -1,25 +1,24 @@ ---- id: 561add10cb82ac38a17213bd -title: Certificado de Full Stack Heredado +title: Legacy Full Stack Certification certification: legacy-full-stack challengeType: 7 isPrivate: true tests: - id: 561add10cb82ac38a17513bc - title: Certificación en Diseño Web Adaptativo + title: Responsive Web Design Certification - id: 561abd10cb81ac38a17513bc - title: Certificación en Estructura de Datos y Algoritmos de Javascript + title: JavaScript Algorithms and Data Structures Certification - id: 561acd10cb82ac38a17513bc - title: Certificación en Librerías de Desarrollo Front End + title: Front End Libraries Certification - id: 5a553ca864b52e1d8bceea14 - title: Certificación en Visualización de Datos + title: Data Visualization Certification - id: 561add10cb82ac38a17523bc - title: Certificación de APIs y Microservicios + title: API's and Microservices Certification - id: 561add10cb82ac38a17213bc - title: Certificación de Garantía de Calidad Y Seguridad de la información Heredada + title: Legacy Information Security and Quality Assurance Certification diff --git a/curriculum/challenges/espanol/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml b/curriculum/challenges/espanol/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml index 42339a9f1d..199f3f4894 100644 --- a/curriculum/challenges/espanol/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/legacy-information-security-and-quality-assurance-certification/legacy-information-security-and-quality-assurance-certification.yml @@ -1,22 +1,21 @@ ---- id: 561add10cb82ac38a17213bc -title: Certificación de Garantía de Calidad Y Seguridad de la información Heredada +title: Legacy Information Security and Quality Assurance Certification certification: legacy-information-security-and-quality-assurance challengeType: 7 isPrivate: true tests: - id: 587d8249367417b2b2512c41 - title: Convertidor Métrico-Imperial + title: Metric-Imperial Converter - id: 587d8249367417b2b2512c42 - title: Rastreador de Problemas + title: Issue Tracker - id: 587d824a367417b2b2512c43 - title: Librería Personal + title: Personal Library - id: 587d824a367417b2b2512c44 - title: Verificador de Precio de Producto + title: Stock Price Checker - id: 587d824a367417b2b2512c45 - title: Tablero de Mensajes Anónimos + title: Anonymous Message Board diff --git a/curriculum/challenges/espanol/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml b/curriculum/challenges/espanol/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml index e0fd648419..3d8683875b 100644 --- a/curriculum/challenges/espanol/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/machine-learning-with-python-certification/machine-learning-with-python-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e46fc95ac417301a38fb935 -title: Certificación en Aprendizaje Automático con Python +title: Machine Learning with Python Certification certification: machine-learning-with-python challengeType: 7 isPrivate: true tests: - id: 5e46f8d6ac417301a38fb92d - title: Piedra, Papel y Tijeras + title: Rock Paper Scissors - id: 5e46f8dcac417301a38fb92e - title: Clasificador de Imagen de Gatos y Perros + title: Cat and Dog Image Classifier - id: 5e46f8e3ac417301a38fb92f - title: Motor de Recomendación de Libros Usando KNN + title: Book Recommendation Engine using KNN - id: 5e46f8edac417301a38fb930 - title: Calculadora de Costos de Salud por Regresión Lineal + title: Linear Regression Health Costs Calculator - id: 5e46f8edac417301a38fb931 - title: Clasificador de Textos SMS Basado en Redes Neuronales + title: Neural Network SMS Text Classifier diff --git a/curriculum/challenges/espanol/00-certifications/quality-assurance-certification/quality-assurance-certification.yml b/curriculum/challenges/espanol/00-certifications/quality-assurance-certification/quality-assurance-certification.yml index 9c2147905b..7d4651bd38 100644 --- a/curriculum/challenges/espanol/00-certifications/quality-assurance-certification/quality-assurance-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/quality-assurance-certification/quality-assurance-certification.yml @@ -1,23 +1,22 @@ ---- id: 5e611829481575a52dc59c0e -title: Certificado de Control de Calidad +title: Quality Assurance Certification certification: quality-assurance challengeType: 7 isPrivate: true tests: - id: 587d8249367417b2b2512c41 - title: Convertidor de métricas imperiales + title: Metric-Imperial Converter - id: 587d8249367417b2b2512c42 - title: Seguidor de incidentes + title: Issue Tracker - id: 587d824a367417b2b2512c43 - title: Biblioteca personal + title: Personal Library - id: 5e601bf95ac9d0ecd8b94afd - title: Solucionador de Sudoku + title: Sudoku Solver - id: 5e601c0d5ac9d0ecd8b94afe - title: Traductor británico americano + title: American British Translator diff --git a/curriculum/challenges/espanol/00-certifications/relational-database-certification/relational-database-certification.yml b/curriculum/challenges/espanol/00-certifications/relational-database-certification/relational-database-certification.yml index 0dcfb697f2..02094ba181 100644 --- a/curriculum/challenges/espanol/00-certifications/relational-database-certification/relational-database-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/relational-database-certification/relational-database-certification.yml @@ -1,22 +1,21 @@ ---- id: 606243f50267e718b1e755f4 -title: Certificación en Base de Datos Relacionales +title: Relational Database Certification certification: relational-database challengeType: 7 isPrivate: true tests: - id: 5f1a4ef5d5d6b5ab580fc6ae - title: Base de datos de cuerpos celestes + title: Celestial Bodies Database - id: 5f9771307d4d22b9d2b75a94 - title: Base de datos de la copa del mundo + title: World Cup Database - id: 5f87ac112ae598023a42df1a - title: Planificador de turnos de salón + title: Salon Appointment Scheduler - id: 602d9ff222201c65d2a019f2 - title: Base de datos de la tabla periódica + title: Periodic Table Database - id: 602da04c22201c65d2a019f4 - title: Juego de adivinanza de números + title: Number Guessing Game diff --git a/curriculum/challenges/espanol/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml b/curriculum/challenges/espanol/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml index e6b9403f8d..d0e6d17039 100644 --- a/curriculum/challenges/espanol/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/responsive-web-design-certification/responsive-web-design-certification.yml @@ -1,22 +1,21 @@ ---- id: 561add10cb82ac38a17513bc -title: Certificación en Diseño Web Adaptativo +title: Responsive Web Design Certification certification: responsive-web-design challengeType: 7 isPrivate: true tests: - id: bd7158d8c442eddfaeb5bd18 - title: Crea una página de homenaje + title: Build a Tribute Page - id: 587d78af367417b2b2512b03 - title: Crea un formulario de encuesta + title: Build a Survey Form - id: 587d78af367417b2b2512b04 - title: Crea una página de producto + title: Build a Product Landing Page - id: 587d78b0367417b2b2512b05 - title: Construye una página de documentación técnica + title: Build a Technical Documentation Page - id: bd7158d8c242eddfaeb5bd13 - title: Crea un portafolio personal + title: Build a Personal Portfolio Webpage diff --git a/curriculum/challenges/espanol/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml b/curriculum/challenges/espanol/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml index fa35820af2..b0b734fe03 100644 --- a/curriculum/challenges/espanol/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/scientific-computing-with-python-certification/scientific-computing-with-python-certification.yml @@ -1,22 +1,21 @@ ---- id: 5e44431b903586ffb414c951 -title: Certificación en Computación científica con Python +title: Scientific Computing with Python Certification certification: scientific-computing-with-python challengeType: 7 isPrivate: true tests: - id: 5e44412c903586ffb414c94c - title: Formateador Aritmético + title: Arithmetic Formatter - id: 5e444136903586ffb414c94d - title: Calculadora de Tiempo + title: Time Calculator - id: 5e44413e903586ffb414c94e - title: Aplicación de Presupuesto + title: Budget App - id: 5e444147903586ffb414c94f - title: Calculadora de Área de Polígonos + title: Polygon Area Calculator - id: 5e44414f903586ffb414c950 - title: Calculadora de Probabilidad + title: Probability Calculator diff --git a/curriculum/challenges/espanol/00-certifications/upcoming-python-certification/upcoming-python-certification.yml b/curriculum/challenges/espanol/00-certifications/upcoming-python-certification/upcoming-python-certification.yml index 9b8de78b90..71963dffb5 100644 --- a/curriculum/challenges/espanol/00-certifications/upcoming-python-certification/upcoming-python-certification.yml +++ b/curriculum/challenges/espanol/00-certifications/upcoming-python-certification/upcoming-python-certification.yml @@ -1,10 +1,10 @@ --- id: 64afc4e8f3b37856e035b85f -title: Próxima certificación de Python +title: Upcoming Python Certification certification: upcoming-python-certification challengeType: 7 isPrivate: true tests: - id: 64afc37bf3b37856e035b85e - title: Próximo proyecto Python + title: Upcoming Python Project diff --git a/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md b/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md index 3cd1a2da26..eefd832bac 100644 --- a/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md +++ b/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/add-an-accessible-date-picker.md @@ -1,6 +1,6 @@ --- id: 587d778b367417b2b2512aa8 -title: Agrega un selector de fechas accesible +title: Add an Accessible Date Picker challengeType: 0 videoUrl: 'https://scrimba.com/c/cR3bRbCV' forumTopicId: 301008 @@ -9,13 +9,13 @@ dashedName: add-an-accessible-date-picker # --description-- -Los formularios suelen incluir el campo `input`, que puede usarse para crear diferentes tipos de controles en los formularios. El atributo `type` en este elemento indica el tipo de elemento `input` a crear. +Forms often include the `input` field, which can be used to create several different form controls. The `type` attribute on this element indicates what kind of `input` element will be created. -Puede que hayas visto los tipos de campo `text` y `submit` en desafíos anteriores. HTML5 además introdujo una opción para especificar un campo `date` para fechas. Dependiendo del soporte de los navegadores, un selector de fechas debería aparecer cuando el campo `input` esté en foco, y esto hace mucho más sencillo para los usuarios cargar información en el formulario. +You may have noticed the `text` and `submit` input types in prior challenges, and HTML5 introduced an option to specify a `date` field. Depending on browser support, a date picker shows up in the `input` field when it's in focus, which makes filling in a form easier for all users. -Para los navegadores más antiguos, el tipo será por defecto `text`, por lo que ayuda a mostrar a los usuarios el formato de fecha(date) esperado en el texto `label` o `placeholder` por si acaso. +For older browsers, the type will default to `text`, so it helps to show users the expected date format in the `label` or `placeholder` text just in case. -Aquí hay un ejemplo: +Here's an example: ```html @@ -24,29 +24,29 @@ Aquí hay un ejemplo: # --instructions-- -Camper Cat está organizando un torneo de Mortal Kombat y quiere pedir a los participantes que consideren cuál fecha les resultaría mejor. Agrega una etiqueta `input` con un atributo `type` de `date`, un atributo `id` de `pickdate` y un atributo `name` con valor `date`. +Camper Cat is setting up a Mortal Kombat tournament and wants to ask his competitors to see what date works best. Add an `input` tag with a `type` attribute of `date`, an `id` attribute of `pickdate`, and a `name` attribute of `date`. # --hints-- -Tu código debería añadir una etiqueta `input` para el campo de selección de fecha. +Your code should add one `input` tag for the date selector field. ```js assert.lengthOf(document.querySelectorAll('input'), 2); ``` -Tu etiqueta `input` debe tener un atributo `type` con un valor de `date`. +Your `input` tag should have a `type` attribute with a value of `date`. ```js assert.equal(document.querySelector('input')?.getAttribute('type'), 'date'); ``` -Tu etiqueta `input` debe tener un atributo `id` con un valor de `pickdate`. +Your `input` tag should have an `id` attribute with a value of `pickdate`. ```js assert.equal(document.querySelector('input')?.getAttribute('id'),'pickdate'); ``` -Tu etiqueta `input` debe tener un atributo `name` con un valor de `date`. +Your `input` tag should have a `name` attribute with a value of `date`. ```js assert.equal(document.querySelector('input')?.getAttribute('name'), 'date'); diff --git a/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md b/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md index e8c638c448..97e1a79043 100644 --- a/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md +++ b/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-header-landmark.md @@ -1,6 +1,6 @@ --- id: 587d7787367417b2b2512aa1 -title: Haz que la navegación del lector de pantalla sea más fácil con el encabezado Landmark +title: Make Screen Reader Navigation Easier with the header Landmark challengeType: 0 videoUrl: 'https://scrimba.com/c/cB76vtv' forumTopicId: 301023 @@ -9,25 +9,25 @@ dashedName: make-screen-reader-navigation-easier-with-the-header-landmark # --description-- -El siguiente elemento HTML5 que agrega significado semántico y mejora la accesibilidad es la etiqueta `header`. Se usa para envolver información introductoria o enlaces de navegación para su etiqueta principal y funciona bien con el contenido que se repite en la parte superior en varias páginas. +The next HTML5 element that adds semantic meaning and improves accessibility is the `header` tag. It's used to wrap introductory information or navigation links for its parent tag and works well around content that's repeated at the top on multiple pages. -`header` comparte la función landmark integrada que viste con `main`, lo que permite a las tecnologías de asistencia navegar rápidamente a ese contenido. +`header` shares the embedded landmark feature you saw with `main`, allowing assistive technologies to quickly navigate to that content. -**Nota:** El `header` está diseñado para usarse dentro de la etiqueta `body` de tu documento HTML. Es diferente al elemento `head`, que contiene el título de la página, la meta información, etc. +**Note:** The `header` is meant for use in the `body` tag of your HTML document. It is different than the `head` element, which contains the page's title, meta information, etc. # --instructions-- -Camper Cat está escribiendo algunos grandes artículos sobre el entrenamiento ninja, y quiere añadir una página para ellos a su sitio. Cambia la parte superior `div` que actualmente contiene el `h1` a una etiqueta `header`. +Camper Cat is writing some great articles about ninja training, and wants to add a page for them to his site. Change the top `div` that currently contains the `h1` to a `header` tag instead. # --hints-- -Tu código debe tener una etiqueta `header`. +Your code should have one `header` tag. ```js assert.lengthOf(document.querySelectorAll('header'),1); ``` -Tus etiquetas `header` deben envolver `h1`. +Your `header` tags should wrap around the `h1`. ```js const header = document.querySelector('header'); @@ -35,13 +35,13 @@ const children = header?.querySelectorAll(`:scope ${'h1'}`); assert.lengthOf(children , 1); ``` -Tu código no debe tener ninguna etiqueta `div`. +Your code should not have any `div` tags. ```js assert.lengthOf(document.querySelectorAll('div') , 0); ``` -Tu elemento `header` debe tener una etiqueta de cierre. +Your `header` element should have a closing tag. ```js assert.isTrue(code.match(/<\/header>/g)?.length === code.match(/
/g)?.length); diff --git a/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md b/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md index 858459e2aa..521c762591 100644 --- a/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md +++ b/curriculum/challenges/espanol/01-responsive-web-design/applied-accessibility/make-screen-reader-navigation-easier-with-the-nav-landmark.md @@ -1,6 +1,6 @@ --- id: 587d7788367417b2b2512aa2 -title: Haz que la navegación del lector de pantalla sea más fácil con el nav Landmark +title: Make Screen Reader Navigation Easier with the nav Landmark challengeType: 0 videoUrl: 'https://scrimba.com/c/czVwWSv' forumTopicId: 301024 @@ -9,23 +9,23 @@ dashedName: make-screen-reader-navigation-easier-with-the-nav-landmark # --description-- -El elemento `nav` es otro elemento de HTML5 con la función de punto de referencia insertado para facilitar la navegación del lector de pantalla. Esta etiqueta esta destinada a envolver los principales enlaces de navegación en tu página. +The `nav` element is another HTML5 item with the embedded landmark feature for easy screen reader navigation. This tag is meant to wrap around the main navigation links in your page. -Si hay enlaces internos repetidos en la parte de la página, no es necesario usar el lenguaje de marcado con aquellos con una etiqueta `nav` también. Usando una etiqueta `footer` (cubierto en el próximo desafío) es suficiente. +If there are repeated site links at the bottom of the page, it isn't necessary to markup those with a `nav` tag as well. Using a `footer` (covered in the next challenge) is sufficient. # --instructions-- -Camper Cat incluyó enlaces de navegación en la parte superior de su página de entrenamiento, pero los envolvió en un `div`. Cambia la etiqueta `div` a una etiqueta `nav` para mejorar la accesibilidad en su página. +Camper Cat included navigation links at the top of his training page, but wrapped them in a `div`. Change the `div` to a `nav` tag to improve the accessibility on his page. # --hints-- -Tu código debe tener una etiqueta `nav`. +Your code should have one `nav` tag. ```js assert.lengthOf(document.querySelectorAll('nav') , 1); ``` -Tus etiquetas `nav` deben envolver la etiqueta `ul` y sus elementos de la lista. +Your `nav` tags should wrap around the `ul` and its list items. ```js const nav = document.querySelector('nav'); @@ -33,13 +33,13 @@ const children = nav?.querySelectorAll(`:scope ${'ul'}`); assert.lengthOf(children,1); ``` -Tu código no debe tener ninguna etiqueta `div`. +Your code should not have any `div` tags. ```js assert.lengthOf(document.querySelectorAll('div') , 0); ``` -Tu elemento `nav` debería tener un cierre. +Your `nav` element should have a closing tag. ```js assert.isTrue(code.match(/<\/nav>/g)?.length === code.match(/