From 8735fd92af95a0c9269766cca78bc23e6f0b433d Mon Sep 17 00:00:00 2001 From: Lucas Delobelle Date: Mon, 8 Apr 2024 08:20:30 +0200 Subject: [PATCH] :sparkles: add While loop exercise --- src/app/php/exercises/page.tsx | 2 + .../exercises/php/loops/WhileLoop.tsx | 60 +++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 src/components/exercises/php/loops/WhileLoop.tsx diff --git a/src/app/php/exercises/page.tsx b/src/app/php/exercises/page.tsx index 2bea618..acb99cd 100644 --- a/src/app/php/exercises/page.tsx +++ b/src/app/php/exercises/page.tsx @@ -7,6 +7,7 @@ import DisplayLastElement from "@/components/exercises/php/arrays/DisplayLastEle import ForLoop from "@/components/exercises/php/loops/ForLoop"; import usePhp from "@/hooks/usePhp"; import Section from "@/components/exercises/Section"; +import WhileLoop from "@/components/exercises/php/loops/WhileLoop"; export default function Exercises() { const php = usePhp(); @@ -21,6 +22,7 @@ export default function Exercises() {
+
); diff --git a/src/components/exercises/php/loops/WhileLoop.tsx b/src/components/exercises/php/loops/WhileLoop.tsx new file mode 100644 index 0000000..6e9a982 --- /dev/null +++ b/src/components/exercises/php/loops/WhileLoop.tsx @@ -0,0 +1,60 @@ +import PhpPractice from "@/components/practice/PhpPractice"; +import Enonce from "../../Enonce"; +import Anchor from "@/components/utils/Anchor"; + +const initialCode = ` ( +
+ Pour afficher les éléments dans l'ordre inverse, vous devez partir du + dernier élément. +
+ L'index du dernier élément est donc{" "} + + count($users) - 1 + +
+); + +const WhileLoop = () => { + const checkCode = (code: string) => code.match(/while\s*\(/) !== null; + + const checkResult = (output: string[]): boolean => { + return ( + output.length === 7 && output[0] === "Calvin" && output[6] === "Amanda" + ); + }; + + return ( +
+

+ Utiliser la boucle while +

+ + Affichez tous les éléments de ce tableau à l'aide d'une boucle + while, mais en partant de la fin. +
+ + Affichez un utilisateur par ligne : utilisez la constante{" "} + PHP_EOL{" "} + pour revenir à la ligne + +
+ Vous devez afficher les éléments en sens inverse. +
+ Pour valider, le premier prénom qui devra apparaître sera donc + "Calvin" et le dernier "Amanda" +
+ } + checkCode={checkCode} + checkOutput={checkResult} + /> +
+ ); +}; + +export default WhileLoop;