تعرف على علم الحاسوب و لغة الآلة
سنتعرف في الدرس الأول من كورس cs50 عن مفهومي علم الحاسوب Computer science و لغة الآلة binary language و كيف يمكن للبشر التواصل مع الآلة .
ما هو علم الحاسوب ؟
علم الحاسوب ( Computer science) مبني على مبدأ حل المشاكل و هو قدرة الآلة على تحليل أي مشكلة و إيجاد حلول لها ، يعني أننا ندخل للآلة مشكلة أو مدخل (input) فيقوم الحاسوب باستقباله و تحليله ثم معالجته في داخله بعدة طرق بعدها تقوم بتقديم لك حلول للمشكلة أو ما يسمى بالمُخرج (output) . ولكن كيف تفهم الآلة مشكلتك التي أدخلتها؟ لهذا وجد ما يسمى بـ “لغة الآلة” .
لغة الآلة binary language
لغة الآلة هي اللغة الأساسية و الوحيدة التي يفهمها و يتعامل بها الحاسوب بدون أي وساطة، و تعتمد على النظام الثنائي أي أنها تتكون فقط من رقمين و هما الصفر و الواحد .قد تظن أن الأمر معقد و غير عملي بتاتا و تتراود في ذهنك الكثير من الأسئلة.. لا تقلق تابع معي و ستفهم كل شيء بالتفصيل .
طريقة العد البشرية
أولاً، لفهم لغة الآلة نحتاج قبل ذلك لفهم طريقة العدّ البشرية فنحن كبشر عندما تعلمنا العد لأول مرة تعلمنا عشر أرقام أساسية {0 ,1 , 2, 3, 4, 5, 6, 7, 8, 9} و أي عدد من الأعداد حتى المالا نهاية يتكون من هذه الأعداد أمام بعضها و كون عدد هذه الأرقام هو عشرة راجع لعدد الأصابع في يدي الإنسان .
لو أتينا بأي عدد كبير مثلا “2967” إعتماداً على الرياضيات التي نعرفها سنقرأ هذا الرقم “ألفين و تسعمائة و سبعة و ستون” كما تلاحظ لماذا قرأناه بهذه الطريقة بدلا من ” سبعة ستة تسعة إثنان “؟ ذلك راجع للقوانين التي وضعناها نحن البشر في الرياضيات عن الحساب كأساس لا يمكن تغييره . أي أننا نتعامل مع الأعداد بضرب الرقم في الخانة الأولى في رقم واحد (×1) فنتحصل على الأحاد و نضرب الرقم في الخانة الثانية في عشرة (×10) فنتحصل على العشرات ، نضرب الرقم في الخانة الثالثة في مئة (×100) فنتحصل على المئات و كذا إلى المالا نهاية ففي مثالنا السابق عقلنا يقوم بحل العملية “7 + 60 + 900 + 2000” وكل هذا يتم في ثواني .
طريقة العد عند الحاسوب
على عكس البشر ، فالحاسوب لن يتمكن من معالجة الأعداد مثل الإنسان، ببساطة لأنه لا يمتلك عشر أصابع مثلنا .
يتعرف الحاسوب على حالتين فقط من العد فهو عبارة عن آلة مرتبطة بالكهرباء يعني أنه مرة ما يكون مرتبط بالتيار فيشتغل و عند قطع الكهرباء يكون غير متعرف على حالته و يتوقف و هاذين الحالتين ولّدت لنا رقمين رئيسيين و هما الصفر و الواحد {0 ,1 }.
الكمبيوتر في الأساس يتكون من مجموعة من الترانزستورات (transistors ) عندما يتوصل بالكهرباء تكون قيمته 1 أما إذا لم يتوصل به فقيمته تكون 0 . و تسمى وحدة هذه القيمتين بالبيت bit تشكل ثمانية قيم منها وحدة أخرى تسمى بالبايت Byte أي أن بينهما العلاقة التالية :
1 Byte = 8 bits.
تمثل البايت الوحدة التي بتغير قيمتها تتشكل الرموز و الحروف التي نعرفها نحن أي أن لكل حرف أو رقم أو رمز في لغاتنا كبشر نعوضه بقيمة معينة في البايت و التي تتكون من ثمنية بيت مرة تساوي واحد ومرة أخرى تساوي صفر .
مثال :
فل نأخذ كمثال الحرف اللاتيني “N”، كما تعلمنا مسبقا فكل حرف معين نعوض عنه ببايت و تلك البايت تتغير بتغير البيت الذي يشكلها. قيمة الحرف N هو :
N = 8 bits = 01001110
لكن كيف يفهم الكمبيوتر الثمان ثنائيات و يترجمهم إلى حروف ؟
الكمبيوتر لديه طرق معينة لاستبدال هذه الثنائيات إلى أعداد طبيعية ومن خلالها يستبدل تلك القيمة إما بحرف لاتيني أو بعدد أو رمز ( ولتلاحظ أنني قلت “حرف لاتيني ” لأن باقي الحروف من لغات أخرى تستلزم أمراً آخر و سنتعرف عليه فيما بعد) . و لكن العملية لا تتم بجمع الثنائيات ببساطة، فطريقة عد الكمبيوتر تختلف عنا ففي الحاسوب قيمة كل بت ضمن البايت الواحد تختلف عن بقية البت الأخرى و لكن إذا كانت قيمتها بلغة الآلة صفر فنعوضها بصفر في الأعداد الطبيعة حتى لو اختلف ترتيبها .
قيمة البت رقم واحد من على اليمين هي “واحد في الأعداد الطبيعية”، و قيمة البت رقم إثنين هي “إثنين”، أما قيمة البت رقم ثلاثة فهي ” أربعة ” و البت الرابع قيمته “ثمانية ” إلى أخره . كما ترى، كلما انتقلنا إلى البت الموالي تضاعفت قيمته في الأعداد الطبيعية مرتين و كل هذا إذا كانت قيمة البت بلغة الآلة هي واحد. كما هو مبين في الصورة .
إذن، يمكننا حسابة قيمة أي بايت بجمع قيمة كل بت قيمته واحد ، ففي المثال السابق لدينا N= 01001110 بجمع القيم نتحصل على العدد الطبيعي 78 فهذا يعني أن الحرف اللاتيني N قيمته كعدد طبيعي تساوي 78 .
تمرين
باستعمال لغة الآلة binary language و إعتماداً على ما تعلمنا في هذا الدرس، قم بتحويل هذه الأعداد الطبيعية إلى قيمها بلغة الآلة : 100, 83, 11, 41 . قم بالإجابة على هذا التمرين البسيط في التعليقات من أجل تنمية معارفك و ترسيخها .
كان هذا كل ما في درسنا اليوم، نتمنى أن تكونوا قد استفدتم و في أمان الله .