الترقيم يبدأ من الصفر

الترقيم الصفري هو أسلوب ترقيم يُخصص فيه الفهرس 0 للعنصر الأول في المتتالية ، بدلاً من الفهرس 1 كما هو شائع في التطبيقات غير الرياضية وغير البرمجية. في هذا النظام، يُطلق على العنصر الأول أحيانًا اسم " العنصر الصفري" [ 1 ] ، بدلاً من "العنصر الأول " ؛ و"الصفري" مصطلح مُستحدث للدلالة على العدد الترتيبي صفر. في بعض الحالات، قد يُطلق على عنصر أو قيمة لا تنتمي (أصلاً) إلى متتالية معينة، ولكن يمكن وضعها بشكل طبيعي قبل العنصر الأول، اسم "العنصر الصفري". لا يوجد اتفاق واسع النطاق حول صحة استخدام الصفر كعدد ترتيبي (ولا حول استخدام مصطلح "الصفري" )، لأنه يُسبب غموضًا لجميع العناصر اللاحقة في المتتالية عند غياب السياق.  

يُعدّ ترقيم المتتاليات بدءًا من الصفر شائعًا في الترميز الرياضي، لا سيما في التوافقية ، على الرغم من أن لغات البرمجة الرياضية تبدأ عادةً من 1. [ 2 ] [ 3 ] [ 4 ] في علوم الحاسوب ، تبدأ مؤشرات المصفوفات عادةً من الصفر في لغات البرمجة الحديثة، لذا قد يستخدم مبرمجو الحاسوب " الصفر " في مواقف قد يستخدم فيها آخرون " الأول" ، وهكذا. في بعض السياقات الرياضية، يمكن استخدام الترقيم الصفري دون لبس، عندما يكون للأشكال الترتيبية معنى راسخ مع وجود مرشح واضح ليسبق " الأول" ؛ على سبيل المثال، المشتقة الصفرية لدالة ما هي الدالة نفسها، التي يتم الحصول عليها عن طريق اشتقاقها صفر مرة. يتوافق هذا الاستخدام مع تسمية عنصر لا ينتمي بشكل صحيح إلى المتتالية ولكنه يسبقها: المشتقة الصفرية ليست مشتقة في الواقع. ومع ذلك، كما تسبق المشتقة الأولى المشتقة الثانية ، كذلك تسبق المشتقة الصفرية (أو الدالة الأصلية نفسها) المشتقة الأولى . 

برمجة الحاسوب

أصل

صمّم مارتن ريتشاردز ، مبتكر لغة BCPL (التي سبقت لغة C )، المصفوفات بحيث تبدأ من الصفر كموقع طبيعي لبدء الوصول إلى محتويات المصفوفة في اللغة، لأن قيمة المؤشر p المستخدم كعنوان تصل إلى الموقع p + 0 في الذاكرة. [ 5 ] [ 6 ] جُمعت لغة BCPL لأول مرة لجهاز IBM 7094 ؛ ولم تُدخل اللغة عمليات بحث غير مباشرة أثناء التشغيل ، لذا تم تحسين الوصول غير المباشر الذي توفره هذه المصفوفات أثناء عملية التجميع. [ 6 ] ومع ذلك، كان هذا التحسين مهمًا. [ 6 ] [ 7 ]

في عام 1982، جادل إدسكار دبليو ديكسترا في ملاحظته المهمة " لماذا يجب أن يبدأ الترقيم من الصفر " [ 8 ] بأن مؤشرات المصفوفات يجب أن تبدأ من الصفر لأنه الرقم الأكثر طبيعية . ناقش ديكسترا التصاميم الممكنة لنطاقات المصفوفات من خلال تضمينها في متباينة متسلسلة، جامعًا بين المتباينات الحادة والقياسية في أربعة احتمالات، موضحًا أن المصفوفات التي تبدأ من الصفر، حسب قناعته، تُمثَّل على أفضل وجه بنطاقات مؤشرات غير متداخلة، تبدأ من الصفر، مشيرًا إلى الفترات المفتوحة وشبه المفتوحة والمغلقة كما هو الحال مع الأعداد الحقيقية. تتمثل معايير ديكسترا لتفضيل هذا الاصطلاح بالتفصيل في أنه يمثل المتتاليات الفارغة بطريقة أكثر طبيعية ( ai < a  ?) من "الفترات" المغلقة ( ai ≤ ( a − 1)  ? )، وأنه مع "الفترات" شبه المفتوحة للأعداد الطبيعية، فإن طول المتتالية الفرعية يساوي الحد الأعلى ناقص الحد الأدنى ( ai < b يعطي ( ba ) قيمة ممكنة لـ i ، حيث a و b و i جميعها أعداد صحيحة).

الاستخدام في لغات البرمجة

ينبع هذا الاستخدام من خيارات التصميم المضمنة في العديد من لغات البرمجة المؤثرة ، بما في ذلك C و Java و Lisp . في هذه اللغات الثلاث، تُفهرس أنواع التسلسل (مصفوفات C، ومصفوفات وقوائم Java، وقوائم ومتجهات Lisp) بدءًا من الفهرس الصفري. في لغة C تحديدًا، حيث ترتبط المصفوفات ارتباطًا وثيقًا بحسابات المؤشرات ، يُسهّل هذا الأمر عملية التنفيذ: يشير الفهرس إلى إزاحة من موضع بداية المصفوفة، لذا فإن العنصر الأول له إزاحة صفرية.

يُستخدم عنوان الذاكرة وإزاحتها كمرجع مباشر في مكونات الحاسوب المادية في جميع بنيات الحاسوب تقريبًا، مما يُسهّل عملية الترجمة البرمجية في لغة C، وإن كان ذلك على حساب بعض العوامل البشرية. في هذا السياق، لا يُعدّ استخدام "الصفر" كرقم ترتيبي صحيحًا تمامًا، ولكنه عادة شائعة في هذا المجال. بعض لغات البرمجة، مثل فورتران وكوبول ، تبدأ فهارس المصفوفات فيها بالرقم واحد، لأنها صُممت كلغات برمجة عالية المستوى ، ولذلك كان لا بدّ من وجود ما يُقابلها من الأرقام الترتيبية المعتادة التي سبقت اختراع الصفر بزمن طويل. كما تسمح بعض لغات البرمجة الأخرى، مثل آدا وألغول 60 وبي إل/آي ، بحد أدنى اختياري لكل فهرس.

تسمح لغة باسكال بأن يكون نطاق المصفوفة من أي نوع ترتيبي (بما في ذلك الأنواع المُعدّدة)، بينما تسمح لغة آدا بأي نوع فرعي منفصل. وتتيح لغة APL تعيين قيمة بداية الفهرس إلى 0 أو 1 برمجيًا أثناء وقت التشغيل. [ 9 ] [ 10 ] وقد تبنت بعض اللغات الأحدث، مثل لوا وفيجوال بيسك ، نفس الاصطلاح للسبب نفسه.

الصفر هو أصغر قيمة عددية صحيحة غير مُوقَّعة، وهو أحد أهم الأنواع الأساسية في البرمجة وتصميم الأجهزة. في علوم الحاسوب، يُستخدم الصفر غالبًا كحالة أساسية للعديد من أنواع الاستدعاء الذاتي العددي . تبدأ البراهين وأنواع الاستدلال الرياضي الأخرى في علوم الحاسوب عادةً بالصفر. لهذه الأسباب، ليس من غير المألوف في علوم الحاسوب الترقيم من الصفر بدلًا من الواحد.

إذا تم استخدام مصفوفة لتمثيل دورة، فمن الملائم الحصول على الفهرس باستخدام دالة باقي القسمة ، والتي يمكن أن تؤدي إلى الصفر.

الخصائص العددية

باستخدام الترقيم الصفري، يمكن التعبير عن نطاق ما كفترة نصف مفتوحة ( [0, n )) ، على عكس الفترة المغلقة ([1, n ]) . يصعب التعبير عن النطاقات الفارغة، التي تكثر في الخوارزميات، بفترة مغلقة دون اللجوء إلى اصطلاحات معقدة مثل [1, 0] . وبسبب هذه الخاصية، يقلل الترقيم الصفري من احتمالية حدوث أخطاء في تحديد النطاقات، مثل أخطاء التكرار (بمقدار واحد) وأخطاء تحديد النطاقات . [ 8 ] من ناحية أخرى، يتم حساب عدد التكرارات (n) مسبقًا، مما يجعل استخدام العد من 0 إلى (n - 1 ) (شاملًا) أقل سهولة. يفضل بعض المؤلفين الترقيم الأحادي، لأنه يتوافق بشكل أدق مع كيفية ترقيم الكيانات في سياقات أخرى. [ 11 ]

من خصائص هذا الأسلوب استخدام الحساب النمطي كما هو مُطبق في الحواسيب الحديثة. عادةً، تُحوّل دالة باقي القسمة (modulo) أي عدد صحيح بتردد N إلى أحد الأعداد 0، 1، 2، ...، N − 1 ، حيث N ≥ 1. لهذا السبب، يُمكن التعبير عن العديد من الصيغ في الخوارزميات (مثل صيغة حساب مؤشرات جداول التجزئة) بشكل أنيق في الشيفرة باستخدام عملية باقي القسمة عندما تبدأ مؤشرات المصفوفة من الصفر.

يمكن أيضًا التعبير عن عمليات المؤشر بشكل أكثر أناقة باستخدام فهرس يبدأ من الصفر، وذلك بفضل منطق العنوان/الإزاحة المذكور أعلاه. على سبيل المثال، لنفترض أن a هو عنوان الذاكرة للعنصر الأول في مصفوفة، و i هو فهرس العنصر المطلوب. لحساب عنوان العنصر المطلوب، إذا كانت أرقام الفهرس تبدأ من 1، يُحسب العنوان المطلوب باستخدام التعبير التالي:

أ+s×(أنا-1)،{\displaystyle a+s\times (i-1),}

حيث s هو حجم كل عنصر. في المقابل، إذا كانت أرقام الفهرس تبدأ من 0، يصبح التعبير

أ+s×أنا.{\displaystyle a+s\times i.}

هذا التعبير الأبسط أكثر كفاءة في الحساب أثناء وقت التشغيل .

مع ذلك، يمكن للغة التي ترغب في فهرسة المصفوفات بدءًا من 1 أن تتبنى الاصطلاح القائل بأن كل عنوان مصفوفة يُمثَّل بـ a ′ = as ؛ أي أنه بدلًا من استخدام عنوان العنصر الأول في المصفوفة، ستستخدم هذه اللغة عنوان عنصر وهمي يقع مباشرةً قبل العنصر الفعلي الأول. ويكون تعبير الفهرسة للفهرسة التي تبدأ من 1 هو

أ+s×أنا.{\displaystyle a'+s\times i.}

لذا، فإنّ فائدة الكفاءة أثناء التشغيل للفهرسة التي تبدأ من الصفر ليست جوهرية، بل هي نتاج قرار تمثيل المصفوفة بعنوان عنصرها الأول بدلاً من عنوان العنصر الصفري الوهمي. مع ذلك، قد يكون عنوان هذا العنصر الوهمي عنوان عنصر آخر في الذاكرة لا علاقة له بالمصفوفة.

ظاهريًا، لا يتناسب العنصر الوهمي جيدًا مع المصفوفات متعددة الأبعاد. ففهرسة المصفوفات متعددة الأبعاد بدءًا من الصفر تجعل التحويل البسيط (المتجاور) إلى فضاء عناوين خطي (يتغير فيه فهرس واحد تلو الآخر بشكل منهجي) يبدو أبسط من الفهرسة بدءًا من واحد. على سبيل المثال، عند تحويل المصفوفة ثلاثية الأبعاد A[ P ][ N ][ M ] إلى مصفوفة خطية L[ M⋅N⋅P ] ، وكلاهما يحتوي على M⋅N⋅P عنصرًا، يتم حساب الفهرس r في المصفوفة الخطية للوصول إلى عنصر معين، حيث L[ r ] = A[ z ][ y ][ x ] في الفهرسة الصفرية، أي [0 ≤ x < P ] ، [0 ≤ y < N ] ، [0 ≤ z < M ] ، و [0 ≤ r < M⋅N⋅P ] ، بواسطة

ر=zمشمال+yم+x.{\displaystyle r=z\cdot M\cdot N+y\cdot M+x.}

تنظيم جميع المصفوفات بفهارس تبدأ من 1 ( [1 ≤ x′P ] ، [1 ≤ y′N ] ، [1 ≤ z′M ] ، [1 ≤ r′M ⋅ N ⋅ P ] )، وبافتراض ترتيب مماثل للعناصر، يُعطي

ر=(z-1)مشمال+(y-1)م+(x-0){\displaystyle r'=(z'-1)\cdot M\cdot N+(y'-1)\cdot M+(x'-0)}

للوصول إلى العنصر نفسه، وهو ما يبدو أكثر تعقيدًا. بالطبع، r ′ = r + 1، لأن [ z = z ′ – 1]، و[ y = y ′ – 1]، و [ x = x ′ – 1]. مثال بسيط وشائع الاستخدام هو الترميز الموضعي ، الذي أصبح ممكنًا بفضل اختراع الصفر. في الترميز الموضعي، تبدأ العشرات والمئات والآلاف وجميع الأرقام الأخرى من الصفر، بينما تبدأ الآحاد فقط من واحد. [ 12 ]

  • الفهارس التي تبدأ من الصفر
    x
    y
    012..x=x-1{\displaystyle x=x'-1}..89
    00 00 10 20 80 9
    11011121819
    22021222829
    ..
    y=y-1{\displaystyle y=y'-1}yم+x{\displaystyle y\cdot M+x}
    ..
    88081828889
    99091929899
    يمثل محتوى الجدول الفهرس r .
  • المؤشرات التي تبدأ برقم واحد
    x'
    ي
    123..x=x+1{\displaystyle x'=x+1}..910
    10 10 20 30 910
    21112131920
    32122232930
    ..
    y=y+1{\displaystyle y'=y+1}(y-1)م+x{\displaystyle (y'-1)\cdot M+x'}
    ..
    98182838990
    1091929399100
    يمثل محتوى الجدول المؤشر r′ .

قد يُؤدي هذا الوضع إلى بعض الالتباس في المصطلحات. في نظام الترقيم الذي يبدأ من الصفر، يُسمى العنصر الأول "العنصر رقم صفر"؛ وبالمثل، يُسمى العنصر الثاني عشر "العنصر رقم أحد عشر". لذا، يظهر تشبيه بين الأعداد الترتيبية وعدد العناصر المُرقمة؛ حيث يكون أعلى فهرس لـ n عنصرًا هو n - 1 ، ويُشير إلى العنصر رقم n . لهذا السبب، يُشار أحيانًا إلى العنصر الأول بالعنصر الصفري ، تجنبًا للالتباس.

علوم

في الرياضيات ، يتم فهرسة العديد من متواليات الأرقام أو كثيرات الحدود بواسطة أعداد صحيحة غير سالبة، على سبيل المثال، أعداد برنولي وأعداد بيل .

في كل من الميكانيكا والإحصاء ، يتم تعريف العزم الصفري ، الذي يمثل الكتلة الكلية في حالة الكثافة الفيزيائية ، أو الاحتمال الكلي، أي واحد، لتوزيع احتمالي .

تمت صياغة القانون الصفري للديناميكا الحرارية بعد القوانين الأول والثاني والثالث، ولكنه يعتبر أكثر جوهرية، ومن هنا جاء اسمه.

في علم الأحياء، يُقال إن الكائن الحي لا يمتلك قصدية من الدرجة الصفرية إذا لم يُظهر "أي نية على الإطلاق". ويشمل ذلك حالة يكون فيها النمط الظاهري المحدد وراثيًا للكائن الحي مفيدًا له من حيث اللياقة، لأنه لم "ينوِ" التعبير عن جيناته. [ 13 ] وبالمثل، يمكن اعتبار الحاسوب من هذا المنظور كيانًا ذا قصدية من الدرجة الصفرية، لأنه لا "ينوي" التعبير عن شفرة البرامج التي يُشغلها. [ 14 ]

في التجارب البيولوجية أو الطبية، غالبًا ما يتم ترقيم اليوم الأول من التجربة على أنه اليوم 0. [ 15 ]

المريض صفر (أو الحالة المؤشرة ) هو المريض الأولي في عينة السكان للتحقيق الوبائي .

مجالات أخرى

يُعدّ استخدام الترقيم الصفري شائعًا في معظم الثقافات، حيث يُحسب عمر الطفل بصفر سنة في عامه الأول، وسنة واحدة في عيد ميلاده الأول بعد عام. في المقابل، تعتمد العديد من أنظمة حساب العمر في شرق آسيا على الترقيم الواحد، حيث يُحدد عمر المولود بسنة واحدة. [ 16 ]

في كتاب "العلامات المتبقية من القرون الماضية" ، [ 17 ] قام البيروني بترقيم سنوات الدورة الميتونية من 0 إلى 18.

لا يوجد عام صفر في التقويم الغريغوري الشائع الاستخدام، ولا في سلفه التقويم اليولياني . ففي هذين النظامين، يتبع عام 1 قبل الميلاد عام 1 ميلادي . ومع ذلك، يوجد عام صفر في الترقيم الفلكي للسنوات (حيث يتطابق مع عام 1  قبل الميلاد في التقويم اليولياني)، وفي معيار ISO  8601:2004 (حيث يتطابق مع عام 1  قبل الميلاد في التقويم الغريغوري)، وكذلك في جميع التقاويم البوذية والهندوسية .

في العديد من البلدان، يُعتبر الطابق الأرضي  في المباني هو الطابق رقم صفر بدلاً من "  الطابق الأول"، وهو نظام التسمية الشائع في الولايات المتحدة الأمريكية. وهذا يُنشئ نظامًا متسقًا مع الطوابق السفلية التي تحمل أرقامًا سالبة.

بينما يُستخدم الترتيب الصفري في الغالب في الأوساط المرتبطة مباشرةً بالرياضيات والفيزياء وعلوم الحاسوب، إلا أن له استخدامات في الموسيقى الكلاسيكية أيضًا. فقد اعتبر الملحن أنطون بروكنر سيمفونيته المبكرة في سلم ري الصغير غير جديرة بالإدراج ضمن أعماله الكلاسيكية، فكتب عبارة " gilt nicht " (لا تُحتسب) على النوتة الموسيقية، ورسم دائرةً عليها خط أفقي، قاصدًا بذلك معنى "غير صالحة". ولكن بعد وفاته، عُرفت هذه السيمفونية باسم " السيمفونية رقم  صفر في سلم ري الصغير" ، على الرغم من أنها كُتبت في الواقع بعد السيمفونية رقم  واحد في سلم دو الصغير . وهناك سيمفونية أخرى لبروكنر في سلم فا الصغير ، تُسمى أحيانًا "رقم  صفر" . كما كتب الملحن الروسي ألفريد شنيتك سيمفونية تحمل الرقم  صفر .

في بعض الجامعات، بما فيها أكسفورد وكامبريدج،  يُشير مصطلح "الأسبوع صفر" أو أحيانًا "الأسبوع التسعة" إلى الأسبوع الذي يسبق الأسبوع الأول من المحاضرات في الفصل الدراسي. وفي أستراليا، تُطلق بعض الجامعات على هذا الأسبوع اسم "  الأسبوع O"، وهو تورية على " أسبوع التوجيه ". وعلى نحو مماثل، تُسمى الأسابيع التمهيدية في التعليم الجامعي في السويد عمومًا "نولنينغ " (التهيئة).

يبدأ سلاح الجو الأمريكي التدريب الأساسي كل أربعاء، ويُعتبر الأسبوع الأول (من ثمانية أسابيع) بدايةً من يوم الأحد التالي. أما الأيام الأربعة التي تسبق ذلك الأحد فتُعرف عادةً باسم "الأسبوع الصفري".

تستخدم الساعات ذات نظام الـ 24 ساعة والمعيار الدولي ISO 8601 الرقم 0 للدلالة على الساعة الأولى (الصفر) من اليوم، بما يتوافق مع استخدام الرقم 0 للدلالة على الدقيقة الأولى (الصفر) من الساعة والثانية الأولى (الصفر) من الدقيقة. كذلك، تستخدم الساعات ذات نظام الـ 12 ساعة المستخدمة في اليابان الرقم 0 للدلالة على الساعة التي تلي منتصف الليل والظهيرة مباشرةً، على عكس الرقم 12 المستخدم في أماكن أخرى، وذلك لتجنب الالتباس حول ما إذا كانت الساعة 12  صباحًا و12  مساءً تمثلان الظهيرة أو منتصف الليل .

سُرقت رسومات روبرت كرامب للعدد الأول من مجلة Zap Comix  ، فقام برسم عدد جديد بالكامل، والذي نُشر كعدد 1. وفي وقت لاحق، أعاد تحبير نسخه المصورة من العمل الفني المسروق ونشره كعدد  0.

الطريق الدائري لبروكسل في بلجيكا يحمل الرقم R0. وقد بُني بعد الطريق الدائري حول أنتويرب ، ولكن نظرًا لكون بروكسل العاصمة، فقد رُئي أنها تستحق رقمًا أبسط. وبالمثل، يُطلق على الطريق السريع الدائري (غير المكتمل) حول بودابست في المجر اسم M0 .

يُستخدم الصفر أحيانًا في عناوين الشوارع ، خاصةً في المخططات التي تكون فيها الأرقام الزوجية على جانب من الشارع والأرقام الفردية على الجانب الآخر. ومن الأمثلة على ذلك كنيسة المسيح في ساحة هارفارد ، التي عنوانها هو 0  شارع جاردن.

في السابق، في سباقات الفورمولا 1 ، عندما لا يشارك بطل العالم في الموسم التالي،  لم يكن الرقم 1 يُمنح لأي سائق، بل كان أحد سائقي الفريق البطل يحمل الرقم  0، والآخر الرقم  2. وقد حدث هذا بالفعل في عامي 1993 و1994، حيث حمل دامون هيل الرقم 0 في كلا الموسمين، بعد أن اعتزل حامل اللقب نايجل مانسيل بعد عام 1992، وحامل اللقب آلان بروست بعد عام 1993. لكن في عام 2014، انتقلت البطولة إلى نظام يحمل فيه السائقون أرقامًا شخصية طوال مسيرتهم، بدلًا من الأرقام التي تُخصصها الفرق، باستثناء حامل اللقب الذي لا يزال بإمكانه حمل الرقم 1. لذا، لم يعد الرقم 0 يُستخدم في هذا النظام. ليس من الواضح ما إذا كان متاحًا كرقم يختاره السائق، أو ما إذا كان يجب أن يكون بين 2 و99، لكنه لم يُستخدم حتى الآن في ظل هذا النظام.

تسمح بعض الرياضات الجماعية باختيار الرقم 0 كرقم لقميص اللاعب (بالإضافة إلى النطاق المعتاد من 1 إلى 99). وقد صوّت الاتحاد الوطني لكرة القدم الأمريكية (NFL) على السماح بذلك بدءًا من عام 2023.

قد يتم ترقيم الجزء السابق لسلسلة ما زمنيًا بالرقم 0، مثل Ring 0: Birthday أو Zork Zero .

تقوم السكك الحديدية الفيدرالية السويسرية بترقيم فئات معينة من عربات السكك الحديدية من الصفر، على سبيل المثال، من 460000 ريال  إلى 118.

في عالم الخيال، أضاف إسحاق أسيموف في النهاية قانونًا صفريًا إلى قوانينه الثلاثة للروبوتات ، مما جعلها في الأساس أربعة قوانين.

تحتوي عجلة الروليت القياسية على الرقم صفر بالإضافة إلى الأرقام من 1 إلى 36. يظهر الرقم صفر باللون الأخضر، لذا لا يُصنف ضمن الأرقام "الحمراء" أو "السوداء" لأغراض المراهنة. أما لعبة الورق أونو، فتتضمن بطاقات مرقمة من 0 إلى 9، بالإضافة إلى بطاقات خاصة، ضمن كل لون من ألوان المجموعة.

تُرقّم الحريات الأربع الأساسية للبرمجيات الحرة بدءاً من الصفر. ويعود ذلك لأسباب تاريخية: إذ كانت القائمة في الأصل تضم ثلاث حريات فقط، وعندما أُضيفت الرابعة وُضعت في الموضع صفر لأنها اعتُبرت أكثر أساسية.

انظر أيضاً

مراجع

الاقتباسات

  1. م. سيد، غراهام (1965). مقدمة في البرمجة الكائنية التوجه بلغة C++ مع تطبيقات في رسومات الحاسوب (  الطبعة الثانية). المكتبة البريطانية: سبرينغر. ص  391. ISBN 1852334509تم الاطلاع عليه بتاريخ 11 فبراير 2020 .
  2. ستيف إيدينز ولورين شور. "فهرسة المصفوفات في MATLAB" . تم الاطلاع عليه بتاريخ 23 فبراير 2021 .
  3. "كيفية الحصول على عناصر القوائم" . وولفرام . تم الاطلاع عليه بتاريخ 23 فبراير 2021 . 
  4. "فهرسة المصفوفات والمصفوفات والمتجهات" . مابل سوفت . تم الاطلاع عليه بتاريخ 23 فبراير 2021 .
  5. مارتن ريتشاردز (1967). دليل مرجع مكتبة مقاطعة كولومبيا البريطانية (ملف PDF) . معهد ماساتشوستس للتكنولوجيا. ص 11. مؤرشف من الأصل (ملف PDF) بتاريخ 20 يناير 2013. تم الاطلاع عليه بتاريخ 28 يناير 2014 . 
  6. 1 2 3 مايك هوي. "مطلوب مصدر" . تم الاطلاع عليه بتاريخ 28 يناير 2014 .
  7. توم فان فليك (1995). "جهاز IBM 7094 ونظام CTSS" . تم الاطلاع عليه بتاريخ 28 يناير 2014 .
  8. 1 2 دايجسترا، إدسكار ويب (2 مايو 2008). "لماذا يجب أن يبدأ الترقيم من الصفر (EWD 831)" . أرشيف إي دبليو دايجسترا . جامعة تكساس في أوستن . تم الاسترجاع في 16 مارس 2011 .
  9. براون، جيم (ديسمبر 1978). "دفاعًا عن فهرس الأصل 0". ACM SIGAPL APL Quote Quad . 9 (2): 7. doi : 10.1145/586050.586053 . S2CID 40187000 . 
  10. هوي، روجر. "هل يُعدّ أصل الفهرس 0 عائقًا؟" . jsoftware.com . JSoftware . تاريخ الاسترجاع: 19 يناير 2015 .
  11. برمجة Microsoft® Visual C# 2005 بواسطة دونيس مارشال.
  12. سال خان. رياضيات الصف الأول / القيمة المكانية / شبكة الأعداد . أكاديمية خان . تم الاطلاع عليه في 28 يوليو 2018. عنوان الفيديو على يوتيوب: شبكة الأعداد / العد / الرياضيات التمهيدية / أكاديمية خان.
  13. بيرن، ريتشارد دبليو. "القرد المفكر: الأصول التطورية للذكاء" . تم الاسترجاع في 18-05-2010 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  14. دنبار، روبن. "قصة الإنسان - تاريخ جديد لتطور البشرية" . مؤرشف من الأصل بتاريخ 27 أغسطس 2010. تم الاطلاع عليه بتاريخ 18 مايو 2010 .
  15. تاول، ألبرت (1989). علم الأحياء الحديث . هولت ماكدوغال. ص 35. ISBN  9780030139277.
  16. "كيف يُحسب العمر بشكل مختلف حول العالم" . كالكوليتوريان . 7 مارس 2026. تاريخ الاسترجاع: 18 مايو 2026 .
  17. بين الصفحتين 154 و 155

مصادر