عرض مشاركة واحدة
قديم 19/10/2007   #22
شب و شيخ الشباب دريد عبد الله
مسجّل
-- اخ طازة --
 
الصورة الرمزية لـ دريد عبد الله
دريد عبد الله is offline
 
نورنا ب:
Oct 2007
مشاركات:
2

افتراضي التحليل المقنع


مرحبا:
(هذا الموضوع ليس منقول أيضاً)
بعد ما أجريت عدة تجارب على الموضوع الخاص بما أطلق عليه اسم معجزة الوورد اكتشفت ما يلي:
عند إدخال العبارة المذكورة والتي هي =rand (X1,X2) يتم ما يلي:
المتحول X1 يعبر عن عدد الأسطر التي سيتم إضافتها
و المتحول X2 يعبر عن عدد العبارات " من طلب العلا سهر الليالي" في كل سطر(لكن إن لم يتسع السطر للعدد المحدد من العبارات
فسيتم إكمال العبارة في السطر التالي لكن بدون أن تتم كتابة العلامة الخاصة بالسطر الجديد)
بالتالي سيكون العدد الإجمالي للعبارات يساوي (X1)*(X2)
لنأخذ مثال: افتح برنامج الوورد,أغلق جزء المهام لزيادة عرض الصفحة ثم انسخ العبارة التالية إلى برنامج الوورد:
=rand (5,1)
ثم اضغط على Enter
لاحظ أن قيمة المتحول X1=5 وقيمة المتحول X2=1
بالتالي سترى على الشاشة خمسة أسطر كل سطر يحتوي عبارة واحدة.
جرب مرة أخرى أن تنسخ العبارة التالية إلى برنامج الوورد بعد أن تمسح كل ماهو مكتوب فيه من نص:
=rand (3,2)
ثم إضغط على Enter ستلاحظ أنه أصبح لديك 3 أسطر في كل منها عبارتين.
أعتقد أن تفسير ذلك يعود لحدوث حلقتين تكراريتين متداخلتين حيث:
الحلقة الأولى تقوم بإضافة أسطر جديدة بقدر قيمة المتحول X1 و بعد أن تقوم الحلقة الأولى بإضافة كل سطر تعمل الحلقة الثانية داخل
الحلقة الأولى وتقوم الحلقة الثانية بإضافة العدد X2 من العبارات "من طلب العلا سهر الليالي" وذلك بالشكل التالي:
Counter1=0
Counter2=0
============================
Do While Not X1 = Counter1
Add New line
Counter2=0
---------------------------------------
Do While Not X2 = Counter2
"من طلب العلا سهر الليالي" Print
Counter2 = Counter2 +1
Loop
--------------------------------------
Counter1 = Counter1 +1
Loop
============================
حيث تقوم الحلقة الكبرى بتكرار نفسها حتى تصبح قيمة العداد Counter1 تساوي X1
أو بمعنى آخر تظل الحلقة الكبرى تكرر نفسها مادامت قيمة العداد Counter1 لاتساوي X1
أما الحلقة الثانية فهي داخلية ومحتواة ضمن الحلقة الأولى, حيث كلما نفذت الحلقة الأولى مرة واحدة تنفذ الحلقة الثانية بداخلها بعدد
X2مرة.
وبالطبع لا أستطيع أنا ولا غيري أن يصدق أن كل هذه العمليات تسري لوحدها.
ربما كانت مبرمجة مسبقا على هذه الأمور,وربما كان لتداخل بعض الأوامر أثر في تكوين أوامر جديدة, فمترجم السي ++ الذي ابتُــكر
برنامج الوورد بوساطته يقوم بتحويل الأوامر المعطاة له إلى لغة الآلة بحيث تصبح أصفار وواحدات وغيرها..فمن الممكن أن يكون هناك
عمليات تداخلت مع بعضها وشكلت الحلقات التكرارية التي ذكرتها,ومن الممكن أن يكون هناك خطأ منطقي في البرنامج أدى إلى استعادة
العبارة التي هي "من طلب العلا سهر الليالي" من أحد المتغيرات المخزنة مسبقا في الذاكرة لأنه لم يتم إعطاء المتغير قيمة ابتدائية,(فهذا
الشيء من عيوب لغة البرمجة السي ++) أو من أحد الملفات الخاصة بميزات برنامج الوورد فقام بحلقة تكرارية أدت إلى حصول نتائج
غير النتائج المتوقعة.
أنا لست من ابتكر برنامج الوورد لذلك لا أعرف الكود الخاص به,ولا أعرف ما هي أسماء متغيراته ولا طريقة عمله لذلك لا يمكنني أن
أجزم بسبب حدوث هذه الظاهرة, لكن في الحقيقة أنا أعتقد أن البرنامج مبرمج مسبقا على هذه الأمر, لذلك أرجو من المسؤولين عن نشر
الموضوع التأكد من أن مايكروسوفت أقرت بأن هذه الظاهرة غريبة وليس لمايكروسوفت فكرة عن الموضوع.
وإن كان ذلك صحيحا,فالإحتمالات الأكثر شيوعا هي حدوث خطأ منطقي كعدم إعطاء قيم ابتدائية للمتغيرات,أو تداخل الأوامر
والله أعلم..!
====================\دريد عبد الله====================
-----------------------( العضو الفعّال في جمعية بريل وير)---------------------------
دريد عبد الله
من سوريا
مبرمج فيجوال بيسك
وأدرس السي ++
مبتكر SC Poet Group 2007
العمر 14 سنة
  رد مع اقتباس
 
Page generated in 0.02842 seconds with 11 queries