Hamming

Hamming

سهل

التعليمات

احسب مسافة هامينغ بين خيطَي DNA.

يتكوّن جسمك من خلايا تحتوي على DNA. وهذه الخلايا تبلى بانتظام وتحتاج إلى استبدال، وهو ما يحدث عبر انقسامها إلى خلايا وليدة. في الواقع، يمرّ جسم الإنسان في المتوسط بنحو 10 كوادريليون انقسام خلوي خلال حياته!

عندما تنقسم الخلايا، يتضاعف DNA الخاص بها أيضًا. وأحيانًا تحدث أخطاء أثناء هذه العملية، فتُشفَّر قطع مفردة من DNA بمعلومات غير صحيحة. وإذا قارنّا بين خيطين من DNA وأحصينا الفروق بينهما، أمكننا أن نرى عدد الأخطاء التي وقعت. وهذا ما يُعرف بـ«مسافة هامينغ».

نقرأ DNA باستخدام الحروف C وA وG وT. وقد يبدو خيطان كالتالي:

GAGCCTACTAACGGGAT
CATCGTAATGACGGCCT
^ ^ ^  ^ ^    ^^

بينهما 7 فروق، وبالتالي فإن مسافة هامينغ تساوي 7.

مسافة هامينغ مفيدة في أمور كثيرة في العلوم، وليس في علم الأحياء وحده، لذا فهي عبارة من الجيد أن تألفها :)

ملاحظات التنفيذ

لا تُعرَّف مسافة هامينغ إلا للتسلسلات المتساوية في الطول، لذا فإن محاولة حسابها بين تسلسلين مختلفَي الطول لا ينبغي أن تنجح.

ملاحظة

في Smalltalk، الاستثناءات نسخ من أصناف فرعية للصنف Exception. وبينما يمكنك إنشاء استثناءاتك الخاصة لمجال عملك، فإن تصفّح هذا التسلسل الهرمي يتيح لك اختيار ما يناسبك لتبسيط حلّك.

تعديل عبر GitHub يفتح الرابط في نافذة أو علامة تبويب جديدة
Pharo Exercism

مستعد لبدء Hamming؟

سجّل في Exercism لتتعلّم وتتقن Pharo عبر 50 تمرينًا، وإرشاد بشري حقيقي، وكل ذلك مجانًا.