أسرار وخفايا لوحة المفاتيح KeyBoard

mardi 6 décembre 2011 · 0 commentaires




و الصلاة و السلام على أشــرف المــرسليـن ..

الحمـد لله وحده نحمده و نشكره و نستعـينه و نستـغفره و نعـود بالله

مـن شـرور أنـفسنا و من سيـئات أعمالنا .. من يـهده الله فلا مظل لـه و مـن يظـلل فلن تـجد له ولياً

مرشدا ..و أشـهد ألا إلاه إلا الله وحده لا شريك له و أشهد أن محــمداً عبده و رسـوله صــلى الله عليه و

سلم و على آله و صحبه أجمعين و من تبعهم بإحسـان إلى يوم الدين ..ربنا لا علم لنا إلا ما علمتنا إنك أنت العليم

الـخـبــيـر .. ربـنـا لا فــهم لـنا إلا ما فهــمتنا إنــك أنـت الجــواد الـكـريـم .

ربـي اشرح لي صــدري و يســر لي أمــري و احــلل عقــدة من لســاني يفقــهوا قــولي ..

فإن أصــدق الحــديث كــتاب الله تعــالى و خير الــهدي هــديُ محمد صلى الله عليه و سلم ..

و شــر الأمــور مــحدثــاتها و كــل محــدثة بدعة و كل بدعـة ظـلالة و كل ظـلالة فــي النار ..

فاللــهم أجــرنا و قــنا عذابــها برحمتــك يا أرحــم الراحميــن

اهلا بكم اخوانى اعضاء ومشرفى ومحبى منتدى المعرفة.




أقدم لكم موضوع اتمنى ينال اعجابكم
-
-
-

أسرار وخفايا لوحة المفاتيح



ctrl+d امر يجعل برنامج التصفح يحفظ الصفحة المعروضة الي المفضلة

Ctrl + F9 : فتح قوسين جاهزين

ctrl+b يمكن لك ترتيب ملف المفضلة عن طريق هذا الامر

ctrl+f يمكن لك بحث في البرنامج عن الكلمة

ctrl+s حفظ العمل الذي قمت به

ctrl+shift يجعل مؤشر الكتابة يذهب الى اليسار

ctrl+shift يجعل المؤشريذهب الى اليمين

alt+f4 أمر مفيد يقوم بإغلاق النوافذ

alt+esc يمكنك التنقل من نافذة الى نافذة

alt+tab امر مفيد جداً لك اذا كان هنالك نوافذ كثيرة مفتوح يمكنك اختيار النافذة المطلوبة

alt+shift اليسار يحول الكتابة من العربي الى انجليزي

alt+shift اليمين يحول الكتابة من انجليزي الى عربي

f2 امر مفيد وسريع يمكنك من تغير اسم ملف محدد



Shift + E : الضمة

Shift + X : السكون

Shift + Q : الفتحة

Shift + A : الكسرة

ذ + Shift : الشدة

Shift + Z : المدة

Shift + W : تنوين فتح

Shift + S : تنوين كسرة

Shift + R : تنوين ضم

Shift + T : لإ

Shift + G : لأ

Shift + Y : إ

Shift + H : أ

Shift + N : آ

Shift + B : لآ

Shift + V : {

Shift + C : }

Shift + F : ]

Shift + D : [

Shift + J : تمديد الحرف


Ctrl + C : نسخ

Ctrl + X : قص

Ctrl + V : لصق

Ctrl + Z : تراجع

Ctrl + A : تعليم الملف

Shift + U : فاصلة معكوسة

Ctrl + ESC : قائمة المهام( ابـدا )

Ctrl + Enter : ابتداء صفحة جديدة

Ctrl + Shift : لغة عربية ( يمين )

Ctrl + Shift : لغة إنجليزية ( يسار )

Ctrl + 1 : مسافة مفردة

Ctrl + 5 : مسافة سطر ونصف

Ctrl + 2 : مسافة مزدوجة

Ctrl + G : الانتقال إلى صفحة

Ctrl + END : الانتقال إلى نهاية الملف

Ctrl + F5 : تصغير نافذة الملف

Ctrl + F6 : الانتقال من ملف لأخر

Ctrl + F2 : معاينة الصفحة قبل الطباعة

= + Ctrl : تكبير وتصغير درجة واحدة

F4 : تكرار أخر عملية

Alt + Enter : تكرار أخر عملية

Ctrl + Y : تكرار أخر عملية

Shift + F10 : تعداد نقطي ورقمي

F12 : حفظ بأسم

Shift + F12 : حفظ الملف

Ctrl + Home : أول المستند

Ctrl + End : أخر المستند

Shift + F1 : معلومات عن نوع التنسيق

Ctrl + U : سطر تحت النص

Ctrl + F4 : خروج من الملف

Ctrl + N : ملف جديد

Ctrl + H : استبدال

Ctrl + I : خط مائل

Ctrl + K : تنسيق المستند

Ctrl + P : طباعة

Ctrl + O : فتح منطقة

د + Ctrl : تكبير النص

ج + Ctrl : تصغير النص



Alt + S : قائمة تنسيق

Alt + J : قائمة تعليمات

[ + Alt : قائمة جدول

] + Alt : قائمة أدوات

Alt + U : قائمة عرض

Alt + P : قائمة تحرير

Alt + L : قائمة ملف

“ + Alt : قائمة إطار

Alt + Q : تعديل مسطرة



Ctrl + E : توسيط النص

Ctrl + F : بحث

Ctrl + B : خط أسود

Ctrl+Shift + P : حجم الخط

Ctrl+Shift + S : نمط

Ctrl + D : خط

Ctrl+Shift + K : تحويل الحروف - Capital

Shift + F3 : تحويل الحروف - Capital

Ctrl+Shift + L : وضع نقطة عند بداية النص

Ctrl+Alt + E : حواشي سفلية ترقيم روماني

Ctrl+Alt + R : وضع علامة ®

Ctrl+Alt + T : وضع علامة ™

Ctrl+Alt + C : وضع علامة ©

Ctrl+Alt + I : معاينة الصفحة قبل الطباعة

Shift + F7 : قاموس المرادفات

Ctrl+Alt + F1 : معلومات النظام

Ctrl+Alt + F2 : فتح الدلائل

Ctrl + J : تسوية النص من الجانبين

Ctrl + L : بداية النص من الجانب الأيسر

Ctrl + Q : بداية النص من الجانب الأيمن

Ctrl + E : توسيط النص

Ctrl + M : تغيير المقاس الأعلى للفقرة

Shift + F5 : رجوع إلى الموضع الذي انتهيت منه عند إغلاق الملف

= + Ctrl + Alt : تخصيص



F3 : إدخال نص تلقائي

F9 : تدقيق حقول

F10 : تحريك إطار لفتح النوافذ

F1 : تعليمات

F5 : الانتقال إلى

F7 : تدقيق إملائي

F8 : تعليم منطقة

ctrl+a يعمل هذا الامر بتحديد الكل للنص اوالكائن
ctrl+c يعمل هذا الامر بنسخ الذي تم تحديده
ctrl+v يعمل هذا الامر بلصق المنسوخ
ctrl+x يعمل هذا الامر بقص الذي تم تحديدة
ctrl+z هذا الامر مهم جداً يمكنك التراجع عن اي امر عملته
ctrl+p هذا الامر يعطي لبرنامج المتصفح او اي برنامج امر بالطباعة
ctrl+o يمكنك فتح ملف من اي برنامج عن طريق هذا الامر
ctrl+w يمكنك اغلاق اي نافذة مفتوحة.


أرخص لابتوب في العالم.. بـ7 يورو!!!

· 0 commentaires


ستطلق الهند قريبا جهاز كومبيوتر محمول سيكون سعره أقل من ثمن وجبة غداء في أي محل للوجبات السريعة، حيث كشفت الحكومة الهندية يوم 4 فبراير الماضي عن خطة لإنتاج لابتوب سيبلغ ثمنه 7 يورو، بهدف توفير جهاز لابتوب لكل طالب في مراحل التعليم المختلفة في الهند.
وفي حين تبقى حتى هذه اللحظة تفاصيل مواصفات هذا الجهاز غير معروفة إلا أن القائمين عليه سربوا بعض المعلومات مثل أنه سيكون قادرا على الاتصال بالإنترنت لاسلكيا وسيحوي قرص صلب مساحته 2 جيجا باستهلاك كهرباء لا يتعدى الـ2 وات، ويتوقع أن يكون متاحا في الأسواق في خلال 6 أشهر.

أثار هذا الإعلان بالطبع ضجة كبيرة في عالم الكومبيوتر، وقوبل بالرفض من قبل العديد من الخبراء الذين يرون أن هذا الرقم بعيد عن الواقع وأن رقم 70 يورو على سبيل المثال سيكون أكثر واقعية. وذهب البعض أكثر من ذلك بمهاجمتهم لتلك الفكرة وربط موعد الإعلان بموعد الانتخابات الهندية على اعتبار أنه ليس أكثر من مجرد دعاية انتخابية، وتوقع آخرون أنه سيكون مجرد آلة حاسبة بلوحة مفاتيح، ولكن يبقى الخبر على مسؤولية الحكومة الهندية.
ويقول المسؤولون في وزارة التعليم العالي الهندية أنه يوجد أمامهم الكثير من الاختبارات لتحويل هذا الجهاز إلى حقيقة عملية، ليتم تسويقه تجاريا في خلال 6 أشهر.
ومن الجدير بالذكر أن الهند أنتجت قبل ذلك سيارة باسم تاتو نانو(هي التي في الصورة التي بالأعلى)، وتعتبر أرخص سيارة في العالم بسعر 1450 يورو ، كما أنتجت الهند أيضا أرخص موبايل في العالم بسعر 10 يورو، فهل تستطيع أن تحدث سبقا جديدا في مجال الكومبيوتر بهذا السعر؟



قريباً.. أسماء عناوين الإنترنت ستكون ممكنة باللغة العربية!

· 0 commentaires


سنكون على موعد نهاية هذا الأسبوع مع أكبر تغيير دراماتيكي في شبكة الإنترنت منذ 40 عاماً، حيث يُفترض أن تعتمد الآيكان ICANN (هيئة الإنترنت للأسماء والأرقام المخصصة) مشروع كتابة عناوين مواقع الإنترنت بلغات أخرى غير اللغة الإنجليزية.
ستقوم الآيكان بعمل اجتماع هذا الأسبوع في سيؤول لتقرر ما إذا كانت ستسمح بكتابة عناوين مواقع الإنترنت بلغات أخرى غير اللغة الإنجليزية، وإذا تم اعتماد هذا التغيير فسيكون هو التغيير الأكبر منذ اختراع شبكة الإنترنت منذ 40 عاماً كما يقول بيتر دينجات مدير اجتماع ICANN القادم.
سيكون من الممكن كتابة عناوين الإنترنت بالعديد من لغات العالم بدءاً من اللغة العربية وصولاً إلى الكورية واليابانية والهندية وغيرها من اللغات التي سيتم اعتمادها. ويُتوقع أن توافق الآيكان بالفعل على هذا المشروع يوم الجمعة القادم، وهو اليوم الأخير لهذا المؤتمر.
ويُتوقع أيضاً البدء في تسجيل العناوين الجديدة بلغات العالم المختلفة بدءاً من منتصف العام القادم 2010.
لا أستسيغ فكرة أن يكون عنوان الـHotmail مثلاً: هوتميل.شبكة بدلاً من hotmail.com! وكيف سيكوف الوضع مع الأسماء المركبة من اسمين أو أكثر مثل “عالم الإبداع“؟ ثم لا أدري أيضاً كيف سأتمكن من فهم عنوان موقع بالصينية أو اليابانية مثلاً؟!
لا أظن عن نفسي أنها خطوة جيدة على الإطلاق، لأن اللغة الإنجليزية استطاعت توحيد العالم كلغة للعلم والتكنولوجيا. فأستطيع الدخول بدون أي مشاكل على موقع صيني على سبيل المثال لأن عنوانه بالإنجليزية، ولو كان موقعاً شهيراً فسيكون محتواه بالإنجليزية أيضاً. ما الحاجه إذاً لكتابة العناوين بلغات أخرى؟!
على أي حال وجدت هذا الموضوع فرصة جيدة لنتحدث عن هيئة الآيكان ICANN المثيرة للجدل. هل سمعت عن هذه الهيئة من قبل؟

مقر هيئة الآيكان
هيئة الآيكان ICANN هي المؤسسة التي تعمل على حماية وضمان استقرار وانسيابية عمل نظام أسماء مواقع الإنترنت في العالم بأسره، وإذا أردنا أن ننظر بنظرية المؤامرة، فنستطيع أن نقول أن دور هيئة الآيكان هو السيطرة على شبكة الإنترنت!
ولنفهم دور هذه الهيئة لنفهم أولاً حقيقة أسماء مواقع الإنترنت ببساطة. ولتقريب الصورة لنشبه شبكة الإنترنت بشبكة الهواتف.
إذا أردت عمل اتصال أو استقبال اتصال من الآخرين على الهاتف، فيجب أن يكون لك رقم لتستطيع التحدث به أو لتستقبل المكالمات عليه. وهذا هو ما يحدث على شبكة الإنترنت أيضاً، فبمجرد دخولك على شبكة الإنترنت تحصل على رقم من الشركة مقدمة خدمة الإنترنت التي تعاقدت معها. هذا الرقم يحمل اسم IP Number، وهو الرقم الذي يحل محل رقم الهاتف في شبكة الهواتف.
إذاً لتستطيع أن تتصل بأحد المواقع يجب أن يكون لك هذا رقم، وبالمثل يجب أن يكون للموقع الذي تريد الاتصال به رقم أيضاً، وعندما تريد أن تطلب الموقع، وبدلاً من الضغط على الأرقام في الهاتف تقوم بكتابة هذه الأرقام في المتصفح. لكن هل تتصور كيف سيكون صعوبة العمل على شبكة الإنترنت مع حجمها الهائل حين تجد نفسك مضطراً لحفظ قائمة هائلة من الأرقام لمواقع الإنترنت المختلفة؟!
فإذا أردت أن تدخل على موقع الآيكان مثلاً عليك أن تكتب 192.0.34.65 في المتصفح!!
لذا وجد القائمون على شبكة الإنترنت فكرة رائعة لمعالجة هذه المشكلة، وهي إعطاء مواقع الإنترنت أسماء وحروف لاتينية ذات معنى وسهلة الحفظ والفهم، وبمجرد أن تكتب اسم الموقع الذي تريد في المتصفح، سيقوم المتصفح بالاتصال بنظام يعرف باسم “نظام أسماء مواقع الإنترنت” DNS ليقوم هذا النظام بتحويل هذا الاسم إلى الرقم الذي تريد.
بمعنى أنك إذا أردت الدخول على موقع الآيكان مثلاً فكل ما عليك فعله هو كتابة: www.icann.org، سيقوم المتصفح بالاتصال بنظام أسماء مواقع الإنترنت DNS، ليقوم هذا النظام بإخباره أن الموقع الذي يبحث عنه هو الرقم 192.0.34.65، من خلال مجموعة هائلة من السجلات التي تحتوي أسماء كل مواقع الإنترنت في العالم!
وهنا تكمن المشكلة كلها. لأن هيئة الآيكان قدرما تعمل على تسهيل وضمان انسيابية عمل نظام أسماء المواقع، قدرما تسيطر بالفعل على شبكة الإنترنت كلها! لذا طالبت العديد من دول العالم وعلى رأسها دول العشرين بكسر احتكار هيئة الآيكان لشبكة الإنترنت، وكان المقابل أن وعد الرئيس أوباما بتخفيف القيود التي تفرضها الآيكان على شبكة الإنترنت.. ويبقى الوضع كما هو عليه!
للمزيد من المعلومات عن الآيكان يمكنكم زيارة موقعها:



++C

· 0 commentaires

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

طور بيارن ستروستروب (Bjarne Stroustrup) خلال عمله في مختبرات بيل لغة سي++ في الثمانينيات كتحسين للغة سي. تشمل سي++ جميع مزايا السي مع تعديلات طفيفة، بالإضافة إلى مزايا البرمجة الكائنية. تسهّل لغة سي++ الأسلوب المُهيكل والمنهجي لعملية تصميم البرامج، وتعتمد على الكائنات بنيةً أساسية لتشكيل البرامج. كما هو الحال مع لغة سي، فإن سي++ لغة متعددة الاستخدامات، إلا أنها مناسبة لبرامج أنظمة التشغيل. وتكتب معظم أجزاء أنظمة التشغيل وبرامج مساعدة أنظمة التشغيل باستخدامها سي++ ومنها نظام جنو/لينكس.
يجدر بالذكر أن سي++ المستخدمة الآن، أعقد بكثير من تصميم ستروستروب الأولي في ثمانينيات القرن العشرين، ويرجع ذلك إلى التطوير المتلاحق التي شهدته، والاهتمام من قبل المبرمجين. ولعلى أهم تطوير ساهم بتعقيدها هو كتابة ألكسندر ستيبانوف في التسعينيات لمكتبة القوالب القياسية.
الجديد اللغة

الإضافة الأهم التي أتت بها السي++ عن السي هي البرمجة بالكائنات، حيث تعتمد السي على البرمجة الإجرائية والتي كانت كافية في وقتها. إلا أن ظهور أنظمة التشغيل ذات الواجهة الرسومية، وزيادة التعقيد والأخطاء وخاصة مع تداخل الوظائف البرمجية وكبر حجم الملف المصدري، نقل العديد من المبرمجين إلى البرمجة بالكائنات. كما أن أحد أهم خصائصها دعمها للبرمجة العامة.
تضعيف الوظائف

جاءت السي++ بهذه الميزة التي تسمح بكتابة وظيفتين تحملان الاسم نفسه تسهيلاً للمبرمج وتقليلاً لعدد الأخطاء. فمثلاً، إن كان المبرمج قد كتب وظيفة تعمل على ضرب عددين صحيحين وترجع الناتج، فإنه يستطيع أن يكتب وظيفة أخرى تحمل الاسم نفسه ولكنها تستقبل نوعًا آخر من البيانات. هذه الميزة تسهل على المبرمج العمل وتقلل الأخطاء، فهو لا يحتاج لتسمية ثلاث وظائف عملها واحد لكنها تستقبل نوعًا مختلفًا من البيانات، بل يسمي ثلاثتها بفس الاسم، والمصرف بعدها يختار المناسبة طبقًا لنوع البيانات المدخلة. يجدر بالذكر أنه يمكن أن تضعف وظيفة إذا كانت تستقبل بيانات مختلفة، أو تستقبل عددًا مختلفًا من المتغيرات، والمثال التالي يوضح تضعيف الوظائف.
#include using namespace std; int multiply(int x, int y) { // الوظيفة الأولى return x*y; } double multiply(double x, double y) { // الوظيفة الأخرى return x*y; } int main() { int A = 10, B = 2; double Y = 11.5, Z = 2.5; cout<<multiply(A,B)<<"\n"; // سيستخدم تلقيائيا الوظيفة الأولى لأن المتغيرات المدخلة من نوع عدد صحيح وتكون النتيجة 10*2 = 20 cout<<multiply(Y,Z)<<"\n"; // وتكون النتيجة 11.5*2.5 = 28.75 double سيستخدم تلقيائيا الوظيفة الأخرى لأن المتغيرات المدخلة أعداد من نوع return 0; }

  • الصفوف والكائنات.
  • القوالب.
  • التعددية الشكلية.
  • الوراثة: وهي إمكانية تطوير صنف جديد يرث جميع خصائص صنف آخر. في هذه الحالة يسمى الصنف بالصنف المشتق.
بين السي والسي++

  • وفقاً لمواصفات سي++، فإنها تدعم لغة سي بشكل كامل (دعم رجعي). وتقنيًا يمكن لمعظم الملفات المصدرية السي أن تُصرف بمصرفات سي++، ولهذا تسمى هذه المصرفات بمصرفات سي/سي++. إلا أن الأمر لا يخلو من بعض المشاكل غير المتوقعة.
  • استخدام الرمز // لتضمين الملاحظات بطول سطر واحد والتي يتم تجاهلها من قِبل المترجم عند القيام بعملية الترجمة.
سبب صعوبتها

ربما تعود أسباب صعوبة لغتي السي والسي++ لأسباب تاريخية أكثر منها واقعية وهو ما يردده المبرمجين المعتادين على استخدام السي++ وهذا يعود بنا إلى أصل لغة السي وهي لغة السي بي ال CPL والتي اشتهرت بشدة تعقيدها مما تسبب في ابتعاد المبرمجين عنها فتم تطويرها وتبسيطها إلى لغة سميت BCPL ولم تلقى الكثير من النجاح ولكنها تطورت إلى لغة البى B وعندما أرادو تطويرها سموها سي(وهذا هو أصل تسمية السي)، وبالطبع ورثت السي++ خصائص لغة سي.
إلا أنه لا يمكن إنكار أن مفاهيم مثل المؤشرات pointers، والإشارات هي مفاهيم مربكة للمبرمج المبتدئ، بالإضافة إلى مفاهيم التوارث Inheritance وتعدد الشكل polymorphism والقوالب Templates التي تربك حتى المبرمجين المحترفين. وكذلك لا تقدم سي++ الحماية الكافية للمبرمج كي لا يقع في أخطاء التشغيل التي قد تتسبب في توقف الحاسوب عن العمل. كيف؟
في لغة الفيجوال بيسك مثلا عندما تحدد مصفوفة بحجم 20 عنصرا مثلا كالأتي :
Dim A(20) As Integer
ثم تحاول معالجة العنصر رقم 21 مثلا فسوف يبادرك محرك الفيجوال بيسك برسالة خطأ ويتوقف برنامجك.
أما في السي والسي ++ فاذا عرفت مصفوفة بنفس الحجم : int a[20] // integer a from 0-19 not from 0-20
وعندما تحاول الوصول إلى العنصر رقم واحد وعشرين مثلا تكون قد تعديت حدود المصفوفة إلى جزء من الذاكرة ربما تكون مخصصة لبرنامج أخر أو معلومات حساسة لنظام التشغيل وهذا يؤدي إلى إعطائك قيمة لم تكن لتحصل عليها. و المشكلة الأخرى التي تربك الكثيرين أن أول عنصر بالمصفوفة هو 0 وليس 1 وحجمها 20 أى أن العنصر الأخير هو 19 وليس 20 مثل البيسك والباسكال.
أمثلة

طباعة Hello World!

# include int main() using namespace std; { cout << "Hello, World!" << endl; return 0; system("pause"); }

مثال اخر:
# include using namespace std; int main() { cout << "i love my country"; // لم نرجع قيمة إلى الدالة الرئيسة إلا أن تنفيذ البرنامج // بنجاح يعني أن البرنامج أرجع قيمة 0 والتي تعني نجاح التنفيذ }

ملاحظةفي المصرفات القديمة وبعض المصرفات الحديثة يجب وضع iostream.h عوضاً عن iostream لتعمل الشيفرة. التطور المستقبلي

لا تزال لغة سي++ تواصل تطورها. فهناك نسخة جديدة من سي++ قيد التطوير سميت مبدئيًا بـ C++0x (تنطق سي بلس بلس أُوْهْ إكس)[1]، وقد صدرت في مارس 2009، يشير العمل الحالي بأنّ سي++ سيواصل الاستفادة من طبيعته متعددة المثال. boostمجموعة تعمل للاستفادة إلى أبعد الحدود من سي++ في شكله الحالي. هم يتوسّعون كثيرا في سي++ من حيث الوظيفية والقدرات وينصحون أيضا لجنة معايير سي++ التي تعمل فيها الميزّات حسنا والتي تحتاج التحسين.
دروس تعليمية للغة سى بلس بلس

مقدمة على البرمجة بشكل عام

· 0 commentaires

السلام عليكم ورحمة الله وبركاته..

الحاسب الآلي عبارة عن مجموعة مترابطة من الدوائر الكهربائية. تخيّلوا معي زر كهربائي يشغّل عدداً من المصابيح التي إمّا تكون مطفأة أو مشتعلة. لذا، لإإن الكومبيوتر يفهم رقمين في الدنيا، هما (صفر) و (واحد). و يقوم الكومبيوتر بتحويل كل شيء إلى ما يقابله حسب نظام العد الثنائي (يعني 1 و 0) و تسمّى هذه اللغة (التي تتكون من هذين الرقمين فقط) بلغة الآلة (Machine Code).
و كان للسيطرة على الكومبيوتر نكتب ما نطلق عليه اسم (برنامج) و هو يحتوي على عدد من الأوامر الموجهة للكومبيوتر ليحل مسألة معينة.
كان المبرمجون الأوائل (كان الله في عونهم) يكتبون البرامج بهذه اللغة! يكون شكل البرنامج هكذا:
101011101000101001010010
100101001010001001011010
010011110011100001010101
010101000100100000001001
011110111010010101010101

و كما ترون فإنه من الصعب جدّاً فهم شيئاً كالذي ترونه في الأعلى بعقلنا البشري. لذا فقد كان من الصعب أيضاً ايجاد الأخطاء و تصحيحها. ولكن تلك التي تعمل، فأنها تعمل بسرعة شديدة جدّاً نظراً لأنها مكتوبة بلغة تفهمها الآلة بصورة مباشرة. و تسمّى البرامج المكتوبة بلغة الآلة ببرامج الجيل الأول.
لم يستطع أجدادنا المبرمجون الاستمرار على هذا الحال، فقد كان فعلاً صعباً، لذت قاموا باختراع لغة التجميع (Assembly) و هي لغة أبسط من لغة الآلة نظراً لاحتوائها على أوامر مثل (ADD و MOV)، و هكذا كما ترون فقد ابتعدنا قليلاً عن لغة الآلة التي سبق و ركّزت على أنها لا تفهم سوىالصفر والواحد. و هنا ظهرت الحاجة الماسّة إلى المفسّر (Interpreter) و هو برنامج يقوم بتحويل الأوامر بالتتابع من لغة ال Assembly إلى لغة الآلة، و يوقف البرنامج فوراً في حالة مواجهة خطأ في البرنامج و لا يقوم يالنظر (حتى لجبر الخاطر) إلى بقية البرنامج :-)
نلاحظ هنا أننا حصلنا على برنامج تسهل كتابته نسبياً و يمكن بسهولة ايجاد الأخطاء فيه و تصحيحها( بدلاً من البحلقة في الأصفار والآحادهاهاها).
لكن.. التحويل من لغة التجميع إلى لغة الآلة، يأخذ جزء من وقت البرنامج، و هكذا أصبح البرنامج أبطأ قليلاً، و حين أقول قليلاً، فأنا أعني جزء من آلاف الأجزاء من الثانية الواحدة. و تعتبر لغة التجميع من الجيل الثاني (الذي يحتوي على هذه اللغة فقط)
المبرمجون لم يعجبهم الحال (كما لم يعجبني حين درست هذه اللغة اهاهاهها) لذا أرادوا لغات تكون قريبة من لغة الإنسان، يفهمها بسهولة و ليست معقّدة مثل لغة التجميع. لذا قاموا بوضع العديد من لغات البرمجة التي تقوم على أوامر مباشرة بلغتنا البشرية التي نفهمها بسهولة، ففي لغة الباسكال مثلاً إذا أردنا طباعة كلمة (mama) على الشاشة نكتب الأمر التالي ضمن البرنامج:
writeln("mama")
و هذا كفيل بطباعة الكلمة على الشاشة :-)
و لكننا هنا ابتعدنا عن لغة الآلة كثيراً، لذا توجّب علينا استخدام المترجم بدلاً من المفسّر، لتحويل البرنامج إلى لغة الآلة.
و هذه اللغات هي لغات الجيل الثالث و منها: Pascal, COBOL, ForTran, Basic و منها أيضاً لغة ال C و التي تعتبر أسرع لغات الجيل الثالث على الإطلاق، بل انها في كثير من الأحيان تتصرّف كما لو كنت من الجيل الثاني (حيث يقوم بعض المصنّفون تصنيفها ضمن الجيل الثاني لهذا السبب).
إلى هنا و الكلام عند المبرمجين سهل و بسيط، تسألهم ما هو البرنامج فيجيبون فوراً: مجموعة من الأوامر لتأدية وظيفة معيّنة.
مُدخلات ، تحصل عليها -------> عمليات -----> تنتج منها ، مُخرجات
و لكن.. نعم لازالت هناك "لكن"! الإنسان بطبعه لا يفكّر في العمليات التي تحدث دون أن يفكّر في المعلومات أو الأشياء التي حدثت عليها أو صدرت منها هذه الأفعال. لا يمكن أن تكون الجملة الفعلية صحيحة دون فاعل أو مفعول. إذاً ما زالت طريقة البرمجة بطريقة سلسلة العمليات المتلاحقة بعيدة عنّا و عن تفكيرنا.
لقد كنّا خلال ما سبق من الأجيال نفكّر مثل الكومبيوتر. نكتب البرامج بناء على الطريقة التي يفهمها هو، و هذا من الصعوبة بمكان!
لذا قام المبرمجون بايجاد الحل المناسب و هو الجيل الرابع من لغات البرمجة.
وهو موضوع الدرس القادم بإذن الله
وفوق كل ذي علم عليم

إعلانات

 

الحقوق محفوظة 2009 | computers | خلاصة المواضيع | خلاصة التعليقات

تعريب ذؤيب | Copyright © 2009 - Blogger Template Designed By Simrandeep Singh