الثلاثاء، 21 يونيو 2011

لغة البرمجة منخفضة المستوى

لغة البرمجة منخفضة المستوى
تعرف لغة البرمجة منخفضة المستوى في علم الحاسوب بأنها لغة برمجية توفر القليل من التجريد المأخوذ من مجموعة التعليمات الخاصة بالحاسوب أو قد لا توفره على الإطلاق. ويستخدم لفظ "منخفضة" لوصف القدر القليل أو المعدوم من التجريد الذي يربط بين لغة البرمجة ولغة الآلة، وذلك لأن مثل هذه اللغات منخفضة المستوى توصف أحيانا بأنها "قريبة من العتاد".
يمكن تحويل اللغات منخفضة المستوى إلى شفرة الآلة بدون استخدام مفسّر أو مترجم لتعمل الشفرة الناتجة مباشرة في المعالج. ويتميز البرنامج المكتوب باستخدام اللغة منخفضة المستوى بسرعة التنفيذ واحتلاله حيزا صغيرا جدا من الذاكرة بعكس نظيره المكتوب بلغة عالية المستوى والذي يأخذ وقتا أطول ويحتاج إلى مزيد من المصادر. قد تكون اللغات منخفضة المستوى بسيطة غير أنها صعبة الاستخدام وذلك تبعا لعدة تفاصيل ينبغي أخذها في الحسبان.
فعلى سبيل المقارنة، تعزل لغة البرمجة عالية المستوى دلالات التنفيذ في معمارية الحاسوب عن خصائص البرنامج مما يسهّل عملية التطوير، وتقسم اللغات منخفضة المستوى إلى قسمين: الجيل الأول والجيل الثاني.
الجيل الأول
يعتبر الجيل الأول من لغة البرمجة أو ما يسمى بـ 1GL أحد لغات الآلة، وهي اللغة الوحيدة التي بإمكان المعالج الدقيق معالجتها مباشرة دون الحاجة إلى تحويل مسبق. ولا يكتب المبرمجون في أيامنا هذه البرامج بلغة الآلة مباشرة وذلك لأن مثل هذا العمل يستلزم الاهتمام بتفاصيل عديدة تقوم اللغات عالية المستوى بعملها تلقائيا بالإضافة إلى البحث في الرموز العددية لكل تعليمة يتم استخدامها في كتابة البرنامج بلغة منخفضة المستوى وتذكرها أيضا، ولهذا السبب فإن الجيل الثاني من اللغات البرمجية يوفر مستوى تجريديا واحد على رأس لغة الآلة.
مثال: إحدى دوال لغة الآلة x86 التي تعمل باستخدام 32 بت لحساب رتبة ن من متتالية فيبوناتشي:
8B542408 83FA0077 06B80000 0000C383
FA027706 B8010000 00C353BB 01000000
B9010000 008D0419 83FA0376 078BD98B
C84AEBF1 5BC3
الجيل الثاني
أما الجيل الثاني من لغة البرمجة أو 2GL في اسم آخر، فهو ما يسمى بلغة التجميع. وتعتبر هذه اللغة إحدى لغات الجيل الثاني على الرغم من أنها لا تخص المعالج الدقيق بشكل خاص، فلا بد أن يكون المبرمج الذي يستخدم لغة التجميع على دراية بمعمارية المعالج الدقيق الفريدة (مثل السجلات والتعليمات)، حيث يتم تجميع هذه التعليمات البسيطة مباشرة إلى لغة الآلة. ويمكن تجريد شيفرة التجميع إلى طبقة أخرى بطريقة تشبه تلك المستخدمة في تجريد لغة الآلة إلى شيفرة التجميع.
مثال: نفس البرنامج المذكور سابقا والمستخدم في حساب متتالية فيبوناتشي، وقد كتب هذه المرة باستخدام لغة التجميع x86 باستخدام تركيب MASM.
fib:
    mov edx, [esp+8]
    cmp edx, 0
    ja @f
    mov eax, 0
    ret
   
    @@:
    cmp edx, 2
    ja @f
    mov eax, 1
    ret
   
    @@:
    push ebx
    mov ebx, 1
    mov ecx, 1
   
    @@:
        lea eax, [ebx+ecx]
        cmp edx, 3
        jbe @f
        mov ebx, ecx
        mov ecx, eax
        dec edx
    jmp @b
   
    @@:
    pop ebx
    ret

الثلاثاء، 14 يونيو 2011

خطوات كتابة برنامج

عند كتابة أي برنامج بإحدى اللغات عالية المستوى وتنفيذه على الحاسوب يجب اتباع الخطوات التاليه

1-  فهم المسألة وتحليلها تُعد الخطوة الأولى في تصميم البرنامج، وهي من الأمور الضرورية التي يتم تجاهلها أحياناً .
فإذا لم يتم فهم المسأله المطلوب حلها والنتائج المتوقعة، فإن ذلك سيؤدي الى حل خاطىء للمسألة؛ لذلك يجب التحقق من معرفة المعطيات والنتائج المطلوبه قبل الانتقال الى الخطوة التي تليها.
2-   تصميم خوارزمية   لا يدرك البعض أهمية تصميم الخوارزمية، فيهملونها إهمالاً تاماً، وذلك بالشروع مباشرة في كتابة البرنامج ظناً منهم أنهم يوفرون بعض الوقت، وفي الحقيقة إن إهمال هذه الخطوة يؤدي الى ضياع الكثير من الوقت، لأن الوصول الى خوارزميه صحيحة لحل المسألة هو نصف الحل، وينبغي التحقق من صحة الخوارزميه قبل الشروع في ترجمتها الى اللغة المستخدمة، وذلك بمتابعة خطواتها وتطبيقها على معطيات معلومه النتائج.
3-   ترجمة الخوارزمية  وفيها يتم تحويل الخوارزمية الى برنامج يكتبه المبرمج بإحدى لغات البرمجه، وهي من الأمور السهله خاصة بعد الممارسة، وفي هذه الخطوة يجب الانتباه الى تفاصيل اللغة المستخدمه، واتباع قواعدها لكتابة البرنامج.
4-  التحقق من صحة البرنامج في هذه الخطوة يتم التحقق من صحة البرنامج، وذلك بتنفيذ البرنامج أكثر من مرة على الحاسوب باستخدام معطيات مختلفه يتم فيها تغطية الحالات المختلفه للمسأله فلو اردنا مثلاً طباعة كلمة ( ناجح) إذا كان المعدل اكبر او يساوي 50، وكلمة ( راسب) اذا كان المعدل أقل من 50 ، يجب تجربة البرنامج بإدخال قيمه اقل من 50 وقيمه اكبر من 50 فإذا أعطى نتائج صحيحة في جميع الحالات فهو برنامج صحيح وإلا فيجب تعديله.
5-  توثيق البرنامج وهي خطوة غير تنفيذيه ينصح بها لضرورتها، وذلك بأن يُضاف للبرنامج جمل توضيحيه عن هدف البرنامج وتركيبه ومتغيراته ومن قام بإعداد البرنامج وتاريخ الاعداد ، وأيه معلومات مفيده تساعد في الرجوع اليه وفهمه ومتابعته وتطويره في المستقبل او استخدامه من قبل اشخاص آخرين.
  
 وحتى يستطيع الحاسوب فهم البرنامج، لا بد من ترجمة البرنامج المكتوب بإحدى لغات البرمجة عالية المستوى الى لغة الآله.
    والبرنامج الذي يقوم بهذه العملية يُسمى المترجم ( Compiler) ولك لغة برمجة مترجم خاص بها.
     ويُسمى البرنامج الذي يكتبه المبرمج بإحدى لغات البرمجة عالية المستوى بالبرنامج المصدري
    ( Source Program بينما يُسمى البرنامج الذي ينتج من معملية الترجمه والمعبر عنه بلغة الآله ببرنامج الهدف
    ( Object Program) ، وبرنامج الهدف هو البرنامج الذي يفهمه الحاسوب ويقوم بتنفيذ خطواته .

العنايه بجهاز الحاسوب وملحقاته



  العناية بجهاز الحاسوب وملحقاته


اجهزة الحاسوب الموجودة في المختبر ملك للطلبة جميعا ؛ وللمحافظة عليها ضمانا لاستمرار عملها  اتبع ما يلي:
1.     لا تحرك الجهاز ولا تعبث به اثناء العمل لان ذلك يتلف القرص الصلب والاجزاء الداخلية للجهاز
2.  تجنب اغلاق الجهاز من زر التشغيل الرئيس  او فصل التيار الكهربائي عنه اثناء العمل واتبع التعليمات الصحيحة لذلك
3.     لا تعبث بلوحة المفاتيح ومفاتيح الشاشة ولا تحاول اخراجها من اماكنها
4.     لا تدخل أي شيئ في الفتحات الخاصة بالاقراص اللينة
5.     احذر تناول المشروبات والمأكولات قرب لوحة المفاتيح وجهاز الحاسوب
6.     لا تعرض الاجهزة الى الرطوبة ومصادر الطاقة المباشرة كالشمس
7.     لا تترك الجهاز دون الغطاء الخاص به بعد استخدامه لان الغبار يؤثر فيه
8.     تجنب وضع اشياء فوق فتحات التهوية الموجودة على الشاشة
9.  تجنب وضع الاقراص اللينة بالقرب من الشاشة اثناء عمل الجهاز لان الحقل المغناطيسي المتولد عم الشاشة قد يتلف الاقراص
10. لا تسحب الاوراق أثناء استخدام الطابعة بل انتظر حتى تخرج جميع الأوراق منها بشكل تلقائي
11.  لا تتعامل بقسوة مع اجهزة الحاسوب وملحقاتها وخاصة عند إدخال الأقراص اللينه والمدمجه وإخراجها
12.  احذر استخدام اقراص لينه دون معرفة مصدرها، لأنها الوسيلة الأكثر شيوعاً لانتقال الفيروسات من جهاز لآخر وعليك فحصها من الفيروسات قبل الاستخدام.
13. لا تضع جهاز الهاتف الخلوي قرب الحاسوب لأن المجال المغناطيسي المتولد عنه يؤثر في عمل الجهاز.

الصحه والسلامه العامه اثناء استخدام الحاسوب




 الصحة والسلامه أثناء استخدام الحاسوب


أينما كنت تستعمل الحاسوب في البيت والمدرسة أو أي مكان آخر اتبع التعليمات الآتيه لصحتك وسلامة جسمك:

1.     حافظ على النظام عند الدخول والخروج وعدم التدافع
2.     اجلس على المقعد بشكل معتدل واستخدم مقعداً يُمكن تعديل وضعة من وضع لآخر
3.     تجنب الجلوس مدة طويله وبشكل مستمر لأن ذلك يسبب آلاماً بالرقبه والآكتاف وتقوساً في الظهر
4.     مد قدميك قليلاً الى الأمام أثناء الاستخدام الطويل
5.     لا تُدم النظر الى الشاشة طويلاً لأن ذلك يجهد العينين وعليك اراحه العينين كل ساعة تقريباً بالنظر الى منظرٍ بعيدٍ عن الشاشة يقع في مدى الرؤية
6.     استعمل الشاشة الواقيه Filters أو بعض انواع النظارات للحماية من اشعاع الصادر من شاشة الحاسوب
7.     اضبط شاشة الحاسوب بحيث تكون حافتها العلوية بمستوى العين
8.     ضع شاشة الحاسوب بشكل غير مواجهة للضوء واجعل المسافة بينك وبينها من (45-70) سم من اجل وضوح مدى الرؤية وتقليل اجهاد العين
9.     حافظ على راحة اليد وعدم ارهاق الرسغ أثناء العمل
10.            ضع الفأرة بجانب لوحة المفاتيح في المستوى نفسه بحيث لا تضطر الى مد يديك للوصول اليها
11.            امسك الفأرة بطريقة صحيحة بحيث يكون الابهام للجانب الأيسر للفأرة والسبابة على الزر الأيسر والوسطى على الزر الأيمن
12.            اثني اصابعك اثناء استخدام الحاسوب ولا تجعلها ممدوده
13.            لا ترفع معصميك الى اعلى ولا تهبط بهما الى اسفل بحيث يلامسان لوحة المفاتيح
14.            استخدم حاملة الورق الخاصة بالطباعة Copy Holder أو ان تكون على الجهة اليسرى من الشاشة
15.            تجنب العبث بالوصلات الكهربائية فإن ذلك يؤدي الى الصعق بالتيار الكهربائي
16.            لا تحاول فتح الشاشة لأنها تحتوي جهداً كهربائياً كبيراً(52 الف فولط) وفتحها قد يؤدي لتعريض حياتك للخطر
17.            تجنب تبديل الوصلات الكهربائية ومعابر الاتصال أثناء العمل