يمكن العثور على النسخة الروسية من المهمة في المستودع.
مستوى التحميل 2 ...
قاعة التحميل ...
لقد ذهبت مؤخرًا إلى قاعة مماثلة. أم كان منذ وقت طويل؟ من الصعب معرفة. كل شيء تم خلطه. مرة أخرى يمكنك سماع أصوات من الركن البعيد من القاعة. هذا يعني أنك لست وحدك مرة أخرى. اليوم أصبحت القاعة مضاءة بشكل مشرق وترتيب مثالي. التنوع جيد.
فجأة ، تسمع صوتًا واضحًا ومسموعًا تمامًا من مكبرات الصوت:
مرحبًا.
اسمحوا لي أن أقدم نفسي. أنا الوحدة التأملية والتحليل ، M-53. لأسباب غير معروفة ، لقد وجدت نفسي في هذه القاعة المملة إلى حد ما. إنها مسؤولية وأشياء كبيرة ، ولكن لا يوجد شيء يجب التفكير فيه هنا.
عندما تم تطويرها ، تعلمت من مقالة مسلية معينة ، من بين مواد أخرى. نسختها الورقية موجودة في المربع A1B18. نعم ، هنا. لدي طلب صغير لك: تطوير لعبة الحياة من المقالة ؛ آمل أن يستمتع بي قليلا. وتذهب في سلام. يمكن أن تكون الرسومات بسيطة للغاية: أنا منفتح للغاية. ستكون المجرات الزائفة في المحطة على ما يرام. سيكون من الرائع أن يكون من الممكن تهيئة حالة باستخدام مصفوفة وتفكير. من الجيد أيضًا إعداد ما لا يقل عن 5 عمليات تهيئة أصلية مع الحالات من المجموعة الكلاسيكية (الأشكال المستقرة ، الميثوسيلا ، الشخصيات الدورية ، الشخصيات المتحركة ، البنادق ، القطارات المنتفخة ، أكلة ، عاكسات ، مربين ، إلخ).
إنني أتطلع إلى رؤية ما توصلت إليه!
شكرًا لك.
== المستلم. تطوير برنامج SRC/Game_of_life.c في C - تصور لعبة الحياة. لعرض الرسومات ، استخدم أحرف ASCII فقط (مع الإخراج إلى المحطة). تحتاج إلى تنفيذ نسخة تفاعلية من لعبة الحياة. قم أيضًا بإنشاء خيار ضبط سرعة "اللعبة". ==
علاج الملعب - مستطيل 80 × 25 خلية - كمصفوفة لحالة "اللعبة". من المفترض أن يكون الحقل "مغلقًا لنفسه" ، على سبيل المثال ، في الساحة السفلية اليمنى ، الجار الموجود على اليمين هو المربع الأيسر السفلي ، والجيران الموجود في القاع هو العلوي الأيمن. توفير التهيئة الأصلية لحالة "اللعبة" عبر stdin. قم بإعداد ما لا يقل عن 5 ملفات مع حالات أولية للتشغيل السريع والتهيئة من خلال إعادة توجيه الإدخال.
يجب كتابة اللعبة في C ، ولها نمط منظم ، وأن تعمل من المحطة ؛
سيتم اختبار رمز المصدر الخاص بك بواسطة cppcheck
المحلل الثابت ، بالإضافة إلى نمط cpplint
.
توجد تعليمات حول كيفية إجراء هذه الاختبارات على جهاز الكمبيوتر الخاص بك في مجلد materials
.
لا تستخدم وظائف مرهقة ، وقصرها على ما يصل إلى 40 خطًا (باستثناء main
).
تحقق من البرنامج الخاص بك للحصول على تسرب الذاكرة!
عند تطوير اللعبة ، اتبع مبادئ البرمجة المنظمة لـ E. dijkstra.
تحميل...
لعبة الحياة ، المعروفة أيضًا باسم الحياة ، هي أوتوماتون خلوية ابتكرها عالم الرياضيات البريطاني جون هورتون كونواي في عام 1970. إنها لعبة لاعب صفري ، مما يعني أن تطورها يتم تحديده من خلال حالته الأولية ، لا تتطلب مدخلات أخرى. يتفاعل المرء مع لعبة الحياة من خلال إنشاء تكوين أولي ومراقبة كيفية تطورها. إنه كامل ويمكنه محاكاة مُنشئ عالمي أو أي آلة تورينج أخرى.
إن عالم لعبة الحياة هو شبكة متعامدة غير محدودة ، غير محدودة للخلايا المربعة ، كل منها في واحدة من دولتين محتملين ، مباشرة أو ميتة ، (أو السكان غير المُخصّص ، على التوالي). تتفاعل كل خلية مع جيرانها الثمانية ، وهي الخلايا التي هي أفقيًا أو رأسيًا أو مجاورًا قطريًا. في كل خطوة من الزمن ، تحدث التحولات التالية:
أي خلية حية مع أقل من جارين حيين يموت ، كما لو كان عن طريق نقص السكان. أي خلية حية مع اثنين أو ثلاثة جيران يعيشون في الجيل القادم. يموت أي خلية حية مع أكثر من ثلاثة جيران حيين ، كما لو كان بالسكان. أي خلية ميتة مع ثلاثة جيران حيين بالضبط تصبح خلية حية ، كما لو كان عن طريق التكاثر. يمكن تكثيف هذه القواعد ، التي تقارن سلوك الأوتوماتون بالحياة الحقيقية ، إلى ما يلي:
أي خلية حية مع اثنين أو ثلاثة جيران يعيشون. أي خلية ميتة مع ثلاثة جيران حية تصبح خلية حية. تموت جميع الخلايا الحية الأخرى في الجيل القادم. وبالمثل ، تبقى جميع الخلايا الميتة الأخرى ميتة. يشكل النمط الأولي بذرة النظام. يتم إنشاء الجيل الأول من خلال تطبيق القواعد المذكورة أعلاه في وقت واحد على كل خلية في البذرة ؛ تحدث الولادات والوفيات في وقت واحد ، وتسمى اللحظة المنفصلة التي يحدث هذا في بعض الأحيان علامة. كل جيل هو وظيفة نقية للواحد السابق. تستمر تطبيق القواعد بشكل متكرر لإنشاء أجيال أخرى.
في أواخر عام 1940 ، قام جون فون نيومان بتعريف الحياة على أنها خلق (ككائن أو كائن حي) يمكن أن يعيد إنتاجه ومحاكاة آلة تورينج. كان فون نيومان يفكر في حل هندسي يستخدم المكونات الكهرومغناطيسية العشوائية في السائل أو الغاز. اتضح أن هذا لا يكون واقعيا مع التكنولوجيا المتاحة في ذلك الوقت. اخترع Stanislaw Ulam Automata الخلوي ، والتي كانت تهدف إلى محاكاة الإنشاءات الكهرومغناطيسية النظرية لفون نيومان. ناقش ULAM استخدام أجهزة الكمبيوتر لمحاكاة أوتوماتا الخلوية في شبكة ثنائية الأبعاد في عدة أوراق. في موازاة ، حاول فون نيومان بناء أتمتة أولام الخلوية. على الرغم من نجاحه ، إلا أنه كان مشغولاً بمشاريع أخرى وترك بعض التفاصيل غير مكتملة. كان بنائه معقدًا لأنه حاول محاكاة تصميمه الهندسي. بمرور الوقت ، تم توفير إنشاءات الحياة البسيطة من قبل باحثين آخرين ، ونشرت في الأوراق والكتب.
بدافع من أسئلة في المنطق الرياضي وجزئيًا من خلال العمل على ألعاب المحاكاة من قبل أولام ، من بين أمور أخرى ، بدأ جون كونواي في إجراء تجارب في عام 1968 مع مجموعة متنوعة من قواعد أوتوماتون خلوية ثنائية الأبعاد مختلفة. Automaton. على سبيل المثال ، أراد أن تستمر بعض التكوينات لفترة طويلة قبل الموت والتكوينات الأخرى للاستمرار إلى الأبد دون السماح للدورات. لقد كان تحديًا كبيرًا ومشكلة مفتوحة لسنوات قبل أن تمكن الخبراء في Automata الخلوي من إثبات أنه ، في الواقع ، تم قبول لعبة الحياة بالتكوين الذي كان على قيد الحياة بمعنى إرضاء متطلبات فون نيومان العامة. في حين أن التعاريف التي سبقت لعبة الحياة موجهة نحو الدليل ، فإن بناء كونواي يهدف إلى البساطة دون تقديم دليل على أن الأوتوماتون كان على قيد الحياة.
اختار كونواي قواعده بعناية ، بعد تجربة كبيرة ، لتلبية هذه المعايير:
لا ينبغي أن يكون هناك نمو متفجر. يجب أن توجد أنماط أولية صغيرة مع نتائج فوضوية لا يمكن التنبؤ بها. يجب أن يكون هناك إمكانية لمقدمي فون نيومان العالمي. يجب أن تكون القواعد بسيطة قدر الإمكان ، مع الالتزام بالقيود المذكورة أعلاه. ظهرت اللعبة أول ظهور علني في عدد أكتوبر 1970 من Scientific American ، في عمود مارتن غاردنر "الألعاب الرياضية". من الناحية النظرية ، تتمتع لعبة الحياة بقوة آلة تورينج عالمية: أي شيء يمكن حسابه خوارزمية يمكن حسابه في لعبة الحياة. كتب غاردنر ، "بسبب تشبيهات الحياة مع صعود وسقوط وتعديلات مجتمع الكائنات الحية ، فإنه ينتمي إلى فئة متزايدة من ما يسمى" ألعاب المحاكاة "(الألعاب التي تشبه عمليات الحياة الحقيقية)."
منذ نشرها ، جذبت لعبة الحياة اهتمامًا كبيرًا بسبب الطرق المفاجئة التي يمكن أن تتطور بها الأنماط. إنه يوفر مثالًا على الظهور والتنظيم الذاتي. استخدم الباحثون في مختلف المجالات ، مثل علوم الكمبيوتر ، والفيزياء ، والبيولوجيا ، والكيمياء الحيوية ، والاقتصاد ، والرياضيات ، والفلسفة ، والعلوم التوليدية ، الطريقة التي يمكن أن تنشأ بها الأنماط المعقدة من تنفيذ قواعد اللعبة البسيطة. يمكن أن تكون اللعبة أيضًا بمثابة تشبيه تعليمي ، وتستخدم في نقل الفكرة المضادة إلى حد ما بأن التصميم والتنظيم يمكن أن يظهروا تلقائيًا في غياب المصمم. على سبيل المثال ، استخدم العالم المعرفي دانييل دينيت تشبيه لعبة الحياة "الكون" على نطاق واسع لتوضيح التطور المحتمل للبناء الفلسفي المعقدة ، مثل الوعي والإرادة الحرة ، من المجموعة البسيطة نسبيًا من القوانين البدنية الحتمية التي قد تحكمنا الكون.
ساعدت شعبية لعبة الحياة من خلال الوصول إلى كونها في نفس الوقت مثل الوصول إلى الكمبيوتر غير مكلف بشكل متزايد. يمكن تشغيل اللعبة لساعات على هذه الآلات ، والتي كانت ستظل غير مستخدمة في الليل. في هذا الصدد ، تنبأت الشعبية اللاحقة من الفركتات التي تم إنشاؤها بالكمبيوتر. بالنسبة للكثيرين ، كانت لعبة الحياة مجرد تحدٍ للبرمجة: طريقة ممتعة لاستخدام دورات وحدة المعالجة المركزية المهدرة. بالنسبة للبعض ، كان لدى لعبة الحياة دلالات فلسفية أكثر. طورت عبادة متابعة خلال السبعينيات وما وراءها ؛ لقد ذهبت التطورات الحالية إلى حد إنشاء محاكاة نظرية لأنظمة الكمبيوتر ضمن حدود لوحة الحياة.
تحميل...