نقرأ بالتعريفات الواردة. [1] مرجع الزمن وسيط الكتل السابقة. [2] نفصل هذا الفحص عن التنفيذ وانتهاء الصلاحية.
تعد ليلى ورقة لفهم هذا الفحص فقط، بمعاملات عادية مؤلفة ذات مدخلات أعطيناها. لا تنشئ معاملة أو تعليمات إرسال، ولا تبحث القفل النسبي أو شروط البرامج أو جميع شروط قبول الكتلة. نعطي قيمًا ومرجع مقارنة محددًا لكل فرع، ثم نفصل المرور من هذا القيد عن التنفيذ الفعلي أو ضمان وقت وصول أو فكرة انتهاء الصلاحية.
الخلاصة السريعة
القفل ليس انتهاءً. إذا فُعّل، تمر قيمة أصغر من مرجع نوعها، ولا تمر المساواة. الصفر أو نهائية جميع المدخلات يستثنيان القيد. [1] مرجع الزمن وسيط أوقات الكتل الإحدى عشرة السابقة، لا الساعة الشخصية. [2]
- القيمة 900 في فرع ارتفاع: عند مرجع 900 لا تمر، وعند 901 تمر من القيد فقط. لا نضيف وعدًا بإدراج أو قبول باقي الشروط.
- تحت 500,000,000 ارتفاع؛ ومنه وقت. [1] لا يقرأ العدد مدة انتظار.
- عند قيمة زمنية 1,700,000,030 ووسيط مطابق لها، تبقى المقارنة غير مستوفاة؛ وسيط 1,700,000,031 يجعلها مستوفاة، دون أن يثبت حدث إرسال.
- في قائمة أوقاتنا الأحد عشر يكون الوسيط العنصر السادس بعد الفرز؛ المتوسط الحسابي لأصغرها وأكبرها ليس بديله، وساعة المستخدم لا تختار هذا العنصر. [2]
- الصفر ونهائية الجميع يستثنيان القيد. [1] لا تستبدل الغالبية بالجميع.
- قد تمر القيمة بعد المرجع الملائم دون تاريخ انتهاء منها؛ تظل سائر شروط القبول وحالة البيانات خارج الورقة. لا ننقل المقارنة إلى قفل نسبي أو عقد ذكي أو موعد تسوية.
العدد يقرأ بنوعه قبل مقارنته
نعطي 900 ونقرأ نوعه وفق الخلاصة. [1] ليس 900 ثانية أو دقيقة، ولا نستخرج تاريخًا بإضافته إلى ساعة الشرح. هذه التحويلات تستعمل معنى مختلفًا، وإن صحت عملية جمع الوقت في مسألة أخرى.
تمنح ليلى مرجعًا للفحص قيمته 899 في الفرع الأول، و 900 في الثاني، و 901 في الثالث. كل فرع مستقل في هذه المقارنة، مع وجود مدخل غير نهائي يجعلنا خارج استثناء النهائية الكاملة. نراجع العدد 900 مع المرجع المعطى ولا نجمع المراجع الثلاثة في ارتفاع واحد. يختلف السياق المختار من فرع إلىآخر، وتحتاج النتيجة إلى تسمية الفرع الذي أنتجها.
في الأول ليست 900 أصغر من 899 ، وفي الثاني ليست أصغر من نفسها، وفي الثالث هي أصغر من 901. الأول والثاني لا يمران من هذه المقارنة، والثالث يمر منها. لا نسمّي الفرق 1 عند 901 ثانية انتظار، ولا نختار عدد كتل مطلوبًا لقبول دفع من هذه الحسابات. بين عددين للارتفاع فرق عددي؛ لم يعط المثال مدد الكتل أو حالة شبكة فعلية.
قول «وصل المرجع إلى 900 إذن انتهى القيد» لا يوافق مقارنة الخلاصة. [1] تحفظ ليلى الكلمة التي تحدد الحد، ولا تعالج المساواة بالتقريب أو بإخفاء آخر رقم؛ أعدادنا صحيحة معطاة صراحة.
كما لا نستدل من نجاح الفرع الثالث على وجود معاملة ضمن كتلة. أعطينا شرطًا واحدًا ثم حسبناه؛ لم نقدم مجموعة الشروط الأخرى أو شاهد إدراج. تحفظ الورقة نتيجة «مر من هذا الفحص» بدل كلمة نجاح عامة. بذلك يستطيع القارئ معرفة ما أثبته المثال، وما بقي سؤالًا يحتاج معطياته الخاصة من غير تكرار جميع تفاصيل الشبكة.
الحد الفاصل يغير تفسير الحقل
بطاقتان إضافيتان:499,999,999 و 500,000,000. بقاعدة الخلاصة الأولى ارتفاع والثانية وقت. [1] الفارق 1 لا ينقل نوع الأولى إلى الثانية؛ ليس الحد سعرًا أو مقدارًا ماليًا أو سقف تكلفة في ورقتنا.
إذا قارنت ليلى الأولى بمرجع ارتفاع 500,000,000 في فرع تعليمي، فهي أصغر منه. وإذا قدمت للثانية مرجعًا زمنيًا مساويًا، لا تمر من المقارنة. لا توجد مفارقة في هاتين النتيجتين: لكل بطاقة نوع مرجع أعطيناه، مع الحفاظ على قاعدة الأصغر. نكتب اسم الوحدة إلى جانب المدخل بدل عرض الرقمين وحدهما كما لو أنهما مسألتان من النوع نفسه.
لا يدل العدد 500,000,000 على مدة ننتظرها ابتداءً من الآن. عندما يقرأ كوقت فهو قيمة زمنية في النظام الذي يحدده الفحص، لا فترة أضافتها ليلى إلى ساعة بدء المثال. لم نحول الأعداد إلى تواريخ محلية أو نفترض منطقة زمنية. إذا أراد سؤال آخر عرض تاريخ، فإنه يحتاج تحويلًا معلنًا يحفظ الوحدة ولا يستبدل مرجع المقارنة بساعة زميل.
ونضع في بطاقة زمنية لاحقة القيمة 1,700,000,030 ، وهي من الأرقام المؤلفة التي اخترناها للمقارنة وليست موعدًا نسند إليه عملية حقيقية. يقرأ نوعها وفق الحد السابق. لا تعود ارتفاعًا لأن الرقم كبير على شاشة أو لأن عنوان العمود في نسخة مختصرة قال «قفل» فقط. تحفظ النسخة الكاملة نوع الحقل الذي سمح بالمقارنة من البداية.
يفيد النظر إلى الحالتين المحيطتين بالحد في كشف خطأ تصنيف قد تخفيه الأمثلة البعيدة عنه. يستطيع القارئ حساب الفرق بين الرقمين، لكن هذا الفرق وحده لا يقول أي مرجع يستعمل كل منهما. نرجع إلى قاعدة النوع ثم نطبق المقارنة على فرع محدد. لا نستعمل عددًا كبيرًا لإثبات بطء أو أمان أو مدة تجميد مال، إذ لم نعط تلك الأسئلة بيانات.
وسيط القائمة ليس متوسط طرفيها
يعين الوصف الزمني المختار وسيط أوقات الكتل الإحدى عشرة السابقة مرجعًا للفحص. [2] نعطي في نموذجنا قائمة مرتبة قيمها 1,700,000,020 و 1,700,000,025 و 1,700,000,027 و 1,700,000,028 و 1,700,000,029 و 1,700,000,030 و 1,700,000,031 و 1,700,000,035 و 1,700,000,040 و 1,700,000,042 و 1,700,000,050. هذه أوقات مؤلفة، وليست قراءة من سلسلة حية.
بعد فرز إحدى عشرة قيمة، تقع خمس قبل العنصر السادس وخمس بعده. العنصر السادس في قائمتنا 1,700,000,030 ، ولذلك نختاره وسيطًا لهذا المثال. إذا كانت البطاقة الزمنية تحمل العدد نفسه، لا تحقق المقارنة الصارمة. لا يغير وصول ساعة مكتبية إلى قيمة أكبر هذه النتيجة، لأن الساعة ليست قائمة المرجع التي وضعناها للفحص المحدد.
متوسط أصغر القائمة وأكبرها يساوي 1,700,000,035: جمع الطرفين ثم قسمتهما على اثنين. يمكن حسابه، لكنه ليس العنصر السادس الذي طلبناه. لو استبدله زميل بالوسيط فقد يجعل القيمة 1,700,000,030 أصغر من الرقم الجديد ويكتب نتيجة مختلفة. لم يتغير الفحص، بل تغير المدخل الذي استعمله الزميل دون بيان أنه أجاب عن عملية أخرى.
في فرع مستقل نعطي إحدى عشرة قيمة مختلفة يكون سادسها بعد الفرز 1,700,000,031 ، ونعلن هذا الوسيط مع البطاقة الزمنية السابقة. تصبح قيمة البطاقة أصغر منه وتمر من هذا القيد. لا نقدم بقية القائمة القديمة دليلًا لهذا الفرع، ولا ندعي أن أي تقدم في ساعة أحد الأشخاص يغير الوسيط بهذه الطريقة؛ نحن الذين أعطينا المرجع الجديد في القصة.
إذا وصلت قائمة لا تضم إلا عشر قيم وتطلب الورقة مرجع الأحد عشر، لا تضيف ليلى رقمًا من ساعة جهاز كي يكتمل العدد. تطلب القيمة الناقصة أو مرجعًا موثقًا في نطاق السؤال. يمكن أن تحسب إحصاءً لقائمة العشر بعنوانه، لكنه لا يصبح تلقائيًا المرجع المحدد للفحص الذي نشرحه. تحافظ تسمية العملية على الفرق بين حساب متاح ومعلومة ناقصة.
في بديل لقائمتنا نزيد الطرف الأخير من 1,700,000,050 إلى 1,700,000,100 ونترك بقية الأرقام. يبقى العنصر السادس 1,700,000,030 ، بينما متوسط الطرفين الجديد 1,700,000,060. الطرف الجديد يزيد 80 ثانية على الأصغر لا تنقل العنصر الأوسط، رغم تغير الحساب الذي اختار الطرفين فقط. هذه مقارنة أصلية للقائمة، لا قراءة ساعة أو كتلة فعلية.
استثناء جميع المدخلات يحتاج كلمة جميع
معاملة مؤلفة بمدخلين، وقيمة 900 ومرجع 880 ؛ المقارنة غير مستوفاة. نفرض نهائية كليهما فيتحقق استثناء الخلاصة. [1] لم نستخرجه من عدد المدخلات أو قيمتها، بل من الوصف المعطى لكل منهما.
في فرع مختلف نجعل الأول نهائيًا والثاني غير نهائي، مع القيمة والمرجع السابقين نفسيهما. لم يتحقق وصف الجميع، فلا تستعمل ليلى الاستثناء. يبقى الفرع غير مستوف من هذا الفحص بسبب المقارنة المعطاة. لا تقول إن نصف المدخلات النهائية يختصر نصف مدة الانتظار؛ ليس في المعطيات قاعدة تقسم القيد على عدد المدخلات أو تربطه بمتوسط صفاتها.
وفي ثالث نضيف مدخلًا آخر نهائيًا إلى الفرع الثاني. أصبح لدينا اثنان نهائيان وواحد غير نهائي؛ الغالبية لا تستبدل الجميع. لا يتغير جواب الاستثناء لأن الكلمة المطلوبة تشمل كل عنصر، لا الأكثر عددًا. يمكن عد اثنين من ثلاثة لغرض وصف الجدول، لكن النسبة لا تقوم مقام شرط آخر قدمه الفحص باسم مختلف.
أما إذا كانت صفة المدخل الثاني مجهولة، فلا نحفظ نتيجة «جميعها نهائية» اعتمادًا على الأول فقط. لدينا نقص في المعطيات التي يحتاجها هذا الفرع؛ نحفظه بوصفه مجهولًا. وقد تصبح المقارنة مستوفاة بمرجع مختلف نعطيه صراحة، لكن لا نخترع هذا المرجع لتجاوز سؤال الصفة. فشل الاستدلال من بيانات ناقصة لا يساوي بيانًا عن قبول معاملة على شبكة.
يحفظ دفتر ليلى كل مدخل مع وصفه في الفرع الذي ينتمي إليه، دون عرض تعليمات تعديل حقول حقيقية. لا نعلم إرسال معاملة بقيد معطل، ولا نبحث شروطًا إضافية لبرامج القفل. المقارنة تشرح معنى استثناء قرأناه وكيف يتغير الجواب إذا أغفلنا كلمة الجميع، مع بقاء جميع الأسماء والأعداد والصفات المختارة داخل قصة تعليمية معلنة.
الصفر ليس موعدًا يؤول إلى الانتظار
نعطي صفرًا مع مدخل غير نهائي ومرجع محدد، فيتحقق استثناء الخلاصة. [1] لا نحوله إلى تاريخ انتظار، ولا نجعل غياب حقل من الملف مساويًا للصفر؛ المعطى غير المجهول.
في رسالة أخرى يغيب الحقل تمامًا عن نسخة الدفتر التعليمية. لا تستطيع ليلى أن تجيب أن الاستثناء تحقق، لأن الصفر لم يصلها. تحفظ الفرق بين مقدار معلوم يساوي صفرًا وبين مجهول. وإذا أكد الكاتب في نسخة لاحقة القيمة صفر، يصبح ذلك معطى جديدًا يمكن تطبيق القاعدة عليه. لا نستبدل استكمالًا من المصدر باختيار رقم يسهل إنهاء المراجعة.
نستطيع مقارنة الفرع الصفري بفرع القيمة 900 عند المرجع 880 من دون إسناد حالة واحدة لكليهما. الأول له الاستثناء المستقل، والثاني يحتاج المقارنة أو وصف جميع المدخلات النهائي الذي قدمناه في فرع آخر. لا تجمع ليلى استثناءات من قصص بديلة في معاملة واحدة، ولا تقول إن وجود صفر في عمود مختلف يحقق شرط الحقل الذي نقرأه.
وإذا كانت بطاقة أخرى تحمل 900 مع مرجع 901 ، فهي تمر من المقارنة تحت نطاقها المعلن، دون الحاجة إلى الاستثناء الصفري. اختلاف الطريق الذي أعطى نتيجة المرور لا يجعل بيانات البطاقتين متطابقة. تحفظ ليلى السبب بجوار النتيجة كي يعرف الزميل لماذا وصلت إليها، ولا يعتمد على كلمة عامة تخفي الشروط التي ميزت الفروع.
بذلك يمكن إكمال جدول القرار دون تحويله إلى إجراءات إرسال. يحتاج المراجع نوع القيمة ومرجعها وصفة المدخلات عندما يعتمد جواب الاستثناء عليها، ثم يذكر المسار الذي طبق. الحساب لا يضيف توقيتًا أو جهة مستفيدة أو حالة قبول خارجية، ولا يعالج غياب تلك البيانات. كل فرع يجيب فحصًا محددًا على ما قدمته الورقة، لا ما ترغب في حدوثه.
المرور من القيد لا يعني انتهاء أو تنفيذًا
في فرع ارتفاعنا 900 ، يصبح المرجع 901 كافيًا للمقارنة المعطاة، كما يمر مرجع 902 منها في قصة مستقلة بالشروط نفسها. لم يقدم هذا القيد تاريخ انتهاء بعد المرجع الأول؛ لا نقول إن البطاقة صالحة عند 901 وتنتهي عند 902 من هذه المقارنة. يختلف تجاوز قيمة مرجعية من وضع حد أعلى لعمر معاملة، ولم نعط هذا الحد الأعلى في الفحص الذي درسناه.
كذلك لا نترجم المرور إلى ضمان إدراج أو موعد وصول. قد يكون السؤال العملي عن شروط أخرى أو عن حالة بيانات أو سلسلة معينة، ولم يقدم دفترنا جوابه. نحفظ عبارة «مر من القيد المحدد» لأنها أضيق من «نفذت» و«استلم الطرف». إذا أراد زميل معرفة واقعة فعلية، يحتاج شاهدها لا نتيجة معادلة على أرقام أنشأناها للتفسير.
تجهز ليلى جدول تسليم فيه الفرع والقيمة ونوعها ومرجع المقارنة والصفات المطلوبة والنتيجة وحدودها. لا تدخل ساعة المكتب مكان الوسيط، ولا تساوي العدد الغائب بالصفر، ولا تستبدل الغالبية بكلمة جميع. يستطيع قارئ آخر إعادة الفروع التي عرضناها، والتعرف إلى سبب اختلاف المقارنة عند المساواة، من غير إعداد معاملة أو تجربة برنامج.
يبقى كل عدد في مكانه: ارتفاع بوحدته، ووقت بمرجعه، وعدد عناصر القائمة في وظيفة حسابية أخرى. لا يعطينا طول الكتابة أو حجم الرقم حكمًا عن انتظار أو أمان أو تكلفة. إذا نقصت معطيات الفرع، نصرح بالنقص بدل إكماله بما ينجح في قصة أخرى. هكذا تصبح ورقة القراءة جوابًا عن القفل المطلق نفسه، مع ترك سائر أسئلة التنفيذ مفتوحة لمصادرها وبياناتها.
يمكن ترتيب البطاقات بعكس ترتيب عرضها دون أن تتبدل نتيجة المقارنة؛ الذي يتغير هو موضع السطر فقط، لا معطياته ولا السؤال المحدد له.
المصادر ومتابعة القراءة
- بيتكوين (يفتح في نافذة جديدة)raw.githubusercontent.com
- BIP113: المرجع (يفتح في نافذة جديدة)raw.githubusercontent.com
- موضوع: مفردات فقط (يفتح في نافذة جديدة)mawdoo3.com
أُعدّ هذا المقال بصياغة عربية أصلية بالاستناد إلى المصادر أعلاه، وهو مدخل تمهيدي إلى الموضوع. اقرأ منهجية المحتوى وحدوده.