<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>FizzBuzz on kenji.blog</title><link>http://kenji.blog/ar/tags/fizzbuzz/</link><description>Recent content in FizzBuzz on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>ar</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 18 Apr 2025 00:58:11 +0900</lastBuildDate><atom:link href="http://kenji.blog/ar/tags/fizzbuzz/index.xml" rel="self" type="application/rss+xml"/><item><title>FizzBuzz</title><link>http://kenji.blog/ar/p/fizzbuzz/</link><pubDate>Fri, 18 Apr 2025 00:58:11 +0900</pubDate><guid>http://kenji.blog/ar/p/fizzbuzz/</guid><description>&lt;img src="http://kenji.blog/p/fizzbuzz/img.png" alt="Featured image of post FizzBuzz" />&lt;h2 id="ما-هو-fizzbuzz-في-النهاية">ما هو FizzBuzz في النهاية؟
&lt;/h2>&lt;p>مرحباً!&lt;/p>
&lt;p>اليوم أود أن أكتب عن &amp;ldquo;FizzBuzz&amp;rdquo;.&lt;/p>
&lt;p>سواء كنت شخصاً يقول &amp;ldquo;آه، أعرف ذلك!&amp;quot;، أو شخصاً يقول &amp;ldquo;سمعت عنه نوعاً ما، لكنني لا أفهمه حقاً&amp;rdquo;، يرجى البقاء معي لبعض الوقت. يمكنك قراءته في بضع دقائق، وربما تجعلك تفكر &amp;ldquo;أفهم ذلك الآن&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h3 id="هل-صحيح-أنك-لست-مبرمجا-إذا-لم-تستطع-كتابة-fizzbuzz">هل صحيح أنك &amp;ldquo;لست مبرمجاً إذا لم تستطع كتابة FizzBuzz&amp;rdquo;؟
&lt;/h3>&lt;p>بشكل تقريبي، هذا هو FizzBuzz.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;span class="lnt">8
&lt;/span>&lt;span class="lnt">9
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">101&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">15&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;FizzBuzz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">elif&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Fizz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">elif&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;Buzz&amp;#34;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">else&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>نعم، هذه هي &amp;ldquo;مشكلة FizzBuzz&amp;rdquo; الشهيرة.&lt;/p>
&lt;p>أنت تنظر إلى الأرقام من 1 إلى 100 بالترتيب،&lt;br>
إذا كانت من مضاعفات العدد 3، فقم بطباعة &amp;ldquo;Fizz&amp;rdquo;، وإذا كانت من مضاعفات العدد 5، فقم بطباعة &amp;ldquo;Buzz&amp;rdquo;،&lt;br>
وإذا كانت من مضاعفات كليهما، فقم بطباعة &amp;ldquo;FizzBuzz&amp;rdquo;. إنه أمر بسيط للغاية.&lt;/p>
&lt;p>ومع ذلك، لسبب ما، غالباً ما يتم التعامل معها على أنها &amp;ldquo;اختبار كحد أدنى للمبرمجين&amp;rdquo;. يتم تقديمها في المقابلات، وهناك أحياناً تعليقات متعالية على وسائل التواصل الاجتماعي مثل &amp;ldquo;الأشخاص الذين لا يستطيعون حتى كتابة FizzBuzz&amp;hellip;&amp;rdquo;.&lt;/p>
&lt;p>لكن انتظر دقيقة.&lt;/p>
&lt;p>هل يمكننا حقاً القول &amp;ldquo;لا يمكنك كتابة FizzBuzz = لا يمكنك البرمجة&amp;rdquo;؟&lt;/p>
&lt;hr>
&lt;h3 id="لا-يتعلق-الأمر-بما-إذا-كان-بإمكانك-القيام-بذلك-بل-ما-إذا-كان-لديك-الحالة-للقيام-بذلك">لا يتعلق الأمر بما إذا كان بإمكانك القيام بذلك، بل ما إذا كان لديك &amp;ldquo;الحالة&amp;rdquo; للقيام بذلك
&lt;/h3>&lt;p>بالتأكيد، تتطلب مشكلة FizzBuzz فهماً للقواعد والتفكير المنطقي الأساسي. لذلك من المنطقي استخدامها &amp;ldquo;للتحقق من الأساسيات&amp;rdquo;.&lt;/p>
&lt;p>لكن مهلاً.&lt;/p>
&lt;p>إذا كانت البيئة مختلفة، فإن النتائج ستكون مختلفة.&lt;/p>
&lt;p>على سبيل المثال،&lt;/p>
&lt;ul>
&lt;li>عندما تكون متوتراً أمام محاور تقابله لأول مرة&lt;/li>
&lt;li>عندما يتم تسليمك فجأة سبورة بيضاء وليس لديك محرر نصوص في متناول يدك&lt;/li>
&lt;li>عندما لا تستطيع التذكر فجأة &amp;ldquo;مهلاً، ما هو modulo مرة أخرى؟&amp;rdquo;&lt;/li>
&lt;/ul>
&lt;p>&amp;hellip; ألا تحدث أشياء كهذه؟ نحن بشر بعد كل شيء. أعتقد أن ذلك يحدث.&lt;/p>
&lt;p>لذا، بدلاً من &amp;ldquo;ما إذا كان بإمكانك كتابة FizzBuzz&amp;rdquo;، أعتقد أن الأهم حقاً هو &amp;ldquo;ما إذا كان يمكنك وضع نفسك في حالة يمكنك فيها كتابة FizzBuzz&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h3 id="فخ-النصيحة-الشائعة-ما-عليك-سوى-التدرب-وستكون-بخير">فخ النصيحة الشائعة &amp;ldquo;ما عليك سوى التدرب وستكون بخير&amp;rdquo;
&lt;/h3>&lt;p>عندما يتعلق الأمر بهذا الموضوع، غالباً ما تظهر نصيحة &amp;ldquo;لذا تدرب كل يوم!&amp;rdquo;.&lt;/p>
&lt;p>بالتأكيد، من الصحيح أن التدريب المتكرر سيسمح لك بالكتابة بطلاقة، وهذا في حد ذاته أمر جيد. ومع ذلك، إذا بدأت بافتراض أنك &amp;ldquo;فاشل إذا لم تتمكن من كتابة FizzBuzz&amp;rdquo;، فقد يتحول الأمر ببساطة إلى خوف.&lt;/p>
&lt;p>بمعنى آخر، من السهل الوقوع في هيكل حيث تشعر &amp;ldquo;لقد ارتكبت خطأ = أنا لست جيداً&amp;rdquo;.&lt;/p>
&lt;p>على سبيل المثال، في الأيام التي تنام فيها متأخراً، ألا تميل إلى الاعتقاد &amp;ldquo;أنا كسول&amp;hellip;&amp;quot;؟ لكن قد يكون جسدك متعباً فقط بالصدفة.&lt;/p>
&lt;p>الشيء نفسه ينطبق على FizzBuzz.&lt;/p>
&lt;hr>
&lt;h3 id="مع-ذلك-fizzbuzz-لا-يزال-سؤالا-جيدا-حقا">مع ذلك، FizzBuzz لا يزال سؤالاً جيداً حقاً
&lt;/h3>&lt;p>مع ذلك، فإن FizzBuzz ليس سيئاً.&lt;/p>
&lt;p>بدلاً من ذلك، أعتقد أنه سؤال مدروس جيداً. القواعد بسيطة، ومن السهل توسيعها. على سبيل المثال، إذا قمت بتغييره على هذا النحو، فإن التفكير يتعمق أكثر.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="k">for&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="ow">in&lt;/span> &lt;span class="nb">range&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">1&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">101&lt;/span>&lt;span class="p">):&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="s2">&amp;#34;&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">3&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="s2">&amp;#34;Fizz&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="k">if&lt;/span> &lt;span class="n">i&lt;/span> &lt;span class="o">%&lt;/span> &lt;span class="mi">5&lt;/span> &lt;span class="o">==&lt;/span> &lt;span class="mi">0&lt;/span>&lt;span class="p">:&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="n">output&lt;/span> &lt;span class="o">+=&lt;/span> &lt;span class="s2">&amp;#34;Buzz&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">output&lt;/span> &lt;span class="ow">or&lt;/span> &lt;span class="n">i&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>هذا مثال يوضح أنه &amp;ldquo;يمكنك كتابته بدون if-elif-else&amp;rdquo;. إنه ذكي قليلاً، أليس كذلك؟&lt;/p>
&lt;p>بعبارة أخرى، لا يقتصر دور FizzBuzz على التحقق &amp;ldquo;ما إذا كان بإمكانك القيام بذلك&amp;rdquo;، بل يمكن أن يكون أيضاً نقطة دخول لمعرفة &amp;ldquo;كيف تكتبه&amp;rdquo; و &amp;ldquo;إلى أي مدى تفهمه&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h3 id="في-الختام">في الختام
&lt;/h3>&lt;p>أعتقد أنه لا ينبغي لنا أن نعطي أهمية مفرطة لما إذا كان بإمكان شخص ما إكمال FizzBuzz.&lt;/p>
&lt;p>حتى لو لم تتمكن من كتابته، فقد يعني ذلك ببساطة أنك &amp;ldquo;لم تكن في حالة جيدة في تلك اللحظة&amp;rdquo;، وغالباً ما يمكنك القيام بذلك إذا فكرت في الأمر بعناية لاحقاً.&lt;/p>
&lt;p>لا تتسرع، فلنأخذ الأمور ببطء.&lt;/p>
&lt;p>الكود مكتوب بواسطة بشر. لأننا بشر، ننسى الأشياء أحياناً، وأحياناً نشعر بالتوتر. أعتقد أنه يكفي أن نتقبل ذلك ونمضي قدماً شيئاً فشيئاً.&lt;/p>
&lt;p>حسناً إذن، دعونا نأخذ الأمور ببساطة ونكتب بعض الأكواد اليوم.&lt;/p></description></item></channel></rss>