لا أدري مالذي تقصده بالطريقة بالضبط

فإن كان قصدك اللغة فهي مذكورة على اليمين C++ 4.3.2

وإن كنت تقصد بأي بيئة فأي بيئة نصية يمكن كتابته بها حتى النوت باد

أما عمله فبحسب المدخل والمخرج في الأسفل يبدو لي أنه تشفير ثنائي أو شيء من هذا القبيل .

سأسهل السؤال بإخبارك عن الوظيفة : الكود يكشف وجود التسلسل 1010 أو 0101 في المدخلات .

فمثلاً ضمن السلسلة 010101010 سيكون الخرج 000111111 أي أنه خلال أول 3 بت لم يكشف أحد الرمزين السابقين فأخرج 0 ثم كشف 0101 فأخرج 1 ثم كشف 1010 فأخرج 1 وهكذا ..

فهل يمكنك معرفة طريقة تحويل هذه الفكرة إلى كود ؟

مثلاً : اكتب كود مماثل عن طريق if و goto يقوم بكشف التسلسل 100110 أو 100001 في الدخل ..

هل تعرف طريقة كتابة أكواد هذا النوع من المسائل :)

لم يخطر على بالي أنك تطرح السؤال كلغز و تختبر ذكاءنا ؟

ظننتك تستفسر لتعرف .

من الجيد لو أنك وضحت ذلك كأن تكتب في أول العنوان :

أحجية : هل يمكنك معرفة الطريقة التي كتب بها هذا الكود , وما هي وظيفته ؟

حتى لا يبقى الموضوع بلا إجابة , فالإجابة هي:

كُتب هذا الكود اعتماداً على شيء يُدعى "مخطّطات الحالة" أو ما يُعرف بآلات الحالة State Machine

حيث يكون عندم عدة حالات a,b,c.... مثلاً a هي الحالة البدائية وعندما ندخل 1 مثلاً ننتقل إلى الحالة b أما لو أدخلنا 0 ننتقل إلى الحالة c وهكذا .. (آلات الحالة شائعة الاستخدام في الدارات المنطقية ذات الذاكرة )

وكما ذكرت في الرد فإنّ آلة الحالة المكوّدة تقوم بكشف التتابع 1010 أو 0101

وشكراً

الرياضيات

مجتمع يهتم بما يتعلق بالرياضيات

699 متابع