بسم الله الرحمن الرحيم
السلام عليكم
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
..
انطلاقا من حرصنا علي إفادة جميع المستويات العلمية باختلاف ميولها واتجاهاتها في مجال تكنولوجيا المعلومات بصورة عامة والبرمجة وإعدادات التطبيقات بصورة خاصة, فإننا نجيب على سؤال ملح يرد على خاطر العديد من المبتدئين في مجال البرمجة أو حتي المستخدمين المهرة, ألا وهو كيف تصبح مبرمجا محترفا ?
المبرمج هو الشخص القائم علي صنع تطبيقات وبرمجيات الكمبيوتر المختلفة وفقا لاستخدامه لغة برمجة معينة يخاطب بها الكمبيوتر لتحقيق أغراض المستخدمين, أي أنه حلقة الوصل بين الكمبيوتر والمستخدم, فكلاهما لا يعرف لغة الآخر ولكن المبرمج يعرف لغة الاثنين. وكما أن تطبيقات الكمبيوتر تتفاوت من حيث أنواعها كذلك تتفاوت لغات البرمجة من حيث نوعية التطبيقات التي تصنعها ومن حيث القوة والضعف فهناك مثلا لغات خاصة بصنع برامج الوسائط المتعددة Multimedia, وأخرى لصنع تطبيقات قواعد البيانات Database, وثالثة لصنع برامج تهدف إلى أغراض أخرى ... وهكذا.
وإذا تحدثنا عن فريق العمل اللازم لتصميم وإنشاء البرامج أو التطبيقات نجد أنه يندرج تحت التخصصات الآتية ليصبح صالح ا للإستخدام:
محللو النظم System Analysts
وهم الأشخاص القائمون علي دراسة متطلبات قيام النظام ومدخلاته ومخرجاته, وكذلك تحديد الموارد اللازمة لتنفيذه, بالإضافة إلى بيان كيفية التنفيذ وشرح ديناميكية العمل وتنظيم العلاقات المختلفة بين الكائنات الموجودة بالنظام.
مصممو النظم System Designers
ويأتي دورهم بعد مرحلة التحليل وتحديد الاحتياجات, حيث يكون النظام بحاجة الآن إلي كيفية التطبيق من حيث الشكل العام وتصميم كائنات ونماذج النظام وبنية كل كائن علي حده.
المطورون - المبرمجون
Developers - Programmers
ويأتي دورهم بعد المرحلتين السابقتين حيث يتم التنفيذ الفعلي للنماذج المصممة وكتابة الأكواد المسئولة بدورها عن دب روح الحياة في النظام.
فمثلا إذا كنا بصدد إنشاء نظام يهدف إلى القيام بعملية إدارة شركة ما من الناحية المالية والتجارية, فسيقوم المحللون بدراسة الدورة المستندية لهذه الشركة, وكيفية تعاملها مع الشركات الأخري وديناميكية العمل من حيث المستندات المستخدمة فى دورات العمل المختلفة ...الخ وكيفية تدفق البيانات من مرحلة إلي الأخري وبالتالى تحليل النظام ككل بشكل متكامل. بعد ذلك يأتي دور المصممين حيث يتم تصميم نماذج وأشكال الشاشات ومواضعها وطريقة عرضها وربطها ببعض والتي سيصنعها المبرمجون, وبعد ذلك يأتي دور المبرمجين حيث يتم التنفيذ الفعلي لما تم تصميمه سابقأ حيث يتم كتابة الأكواد اللازمة لإنشاء كل النماذج.
وفي بعض الأحيان يقوم المبرمج بعمل المراحل الثلاث السابقة بنفسه, وفي هذه الحالة يكون البرنامج الذي يتم إنشاؤه صغير ا إضافة إلي وجوب إلمام المبرمج بالثلات خبرات السابقة في نفس الوقت -الشيء الذي يتطلب منه خبرة عالية المستوي-, ومن ح سن الحظ أن مهنة البرمجة علي كونها من أكثر المهن شيوع ا في عالمنا المعاصر لا تتطلب الإلتحاق بكلية معينة أو مدرسة بعينها, ولكنها تتطلب ما هو أهم من هذا وذاك ألا وهو ح ب الإبداع وخدمة الآخرين باستخدام أدوات تطوير وبرمجة الكمبيوتر...
بماذا تبدأ ?...وكيف تبدأ?
والآن وبعد هذه المقدمة أنت بحاجة لأن تعرف ماذا تحتاج لكي تبدأ? وإجابتنا تتلخص فى أنه لكي تبدأ فأنت أولا تحتاج إلي ح ب الإبداع ومساعدة الآخرين, بالإضافة إلى اتقان هذا الإبداع بواسطة أدوات البرمجة والتطوير باستخدام الكمبيوتر. وي عد ذلك المقوم الأساسي الذي تقوم عليه رحلتك من الآن وحتي احتراف البرمجة. فمهنة البرمجة ليست من المهن التي يمكن أن تعتمد علي مجرد أداء للمهام فقط, وإنما تحتاج إلي فكر خصب وذهن حاضر إضافة إلي تعايش كامل للموضوع الذي تعمل به.
الأمر الثاني يجب أولا أن تكون مستخدم ا جيد ا للكمبيوتر وتعاملت مرار ا وتكرار ا مع شتي انواع البرمجيات, ولكن يجب أن تتعامل مع البرنامج بنظرة مختلفة عن المستخدم العادي, مما يعنى أنك تنظر إلي البرامج نظرة عميقة لمحاولة فهم كيف تم تصميمه وإنشاؤه, ومن بعدها يمكنك الدخول إلي عالم صناعة البرمجيات بمؤهلات مناسبة.
وفي هذه الحالة سيأتي دورنا لنقوم بإرشادك إلي كيفية السير في ذلك الطريق, وهنا يجب أن تعرف جيد ا تصنيف لغات البرمجة باختلاف أنواعها, والتى تنقسم إلي قسمين:
الأول: وهو البرمجة التقليدية أو ما ي طلق عليه Standard Programming وهي تلك اللغات التي يكون البرنامج فيها مكونا من سلسلة من الخطوات (من 1 إلي 100) مثلا تتسلسل تلقائيا في التنفيذ لتكوين البرنامج, وهي اللغات الخاصة بصنع التطبيقات التي تعتمد علي أنظمة التشغيل غير الرسومية مثل DOS Applications التي تعمل تحت بيئة DOS. ومن أمثلة هذه اللغات لغة الكوبول COBOL ولغة البيسيك Basic.
فعلي سبيل المثال, يكون البرنامج المكتوب بلغة البيسيك مثلا مكونا من مجموعة خطوات متسلسلة, فمثلا سيقوم البرنامج بمسح الشاشة ثم يطبع كلمة WELCOME ثم ينتهي بعد ذلك , فيكون الكود الخاص بكتابته كما يلي:
10 CLS الكود الخاص بمسح الشاشة
20 PRINT "Welcome" الكود الخاص بكتابة الكلمة علي الشاشة.
30 END "كود انهاء البرنامج"
مع الوضع فى الاعتبار أنه إذا كان الأمر مربك ا بعض الشيء فلا تقلق فسوف نذكر ذلك بشيء من التفصيل لاحقا .
النوع الثاني: من لغات البرمجة هو اللغات التي تقوم بصنع البرامج التي تعمل تحت بيئة التشغيل الرسومية GUI وهي ما ي طلق عليها OOP أو البرمجة الشيئية (البرمجة الموجهة بالعناصر أو الكائنات) Object Oriented Programming وفيها يتم إنشاء البرنامج عن طريق مجموعة من الكائنات المرتبطة ببعضها البعض والذي يؤثر كل منها فى الآخر ويتأثر به. وخير مثال علي تطبيق مكتوب بأحد تلك اللغات التي تعتمد علي OOP هو برنامج الرسام مثلا . والموجود ضمن حزمة برامج نظام التشغيل Windows على اختلاف إصداراته. ومن أشهر لغات البرمجة التي تنتهج هذا النهج لغةVisual Basic- ولغة Delphi- والعديد من اللغات الأخري.
ولكي تبدأ بأي من هذين الطريقين السابقين يجب أن تتعلم أولا مفاهيم ومباديء البرمجة بشكل عام Programming Concepts.
مباديء البرمجة Programming Concepts تعتبر مباديء البرمجة ومفاهيمها الأساسية هي الخطوة الأولي والأساسية لتعلم أي لغة برمجة, ومباديء ومفاهيم البرمجيات لا تخص أي لغة برمجة بعينها ولكنها خطوات ومبادئ عامة مشتركة بين جميع اللغات. وفيما يلي شرحا تفصيليا لأهم المباديء والمفاهيم الأساسية التي تحتاج إلىها في هذا الصدد:
حل المشكلات
Solving Problems
يجب أن تعلم أن المبرمج بطبيعة مهنته حلا ل للمشكلات التي تعترض سير العمل وذلك بشكل منطقي ومدروس.
الخوارزم Algorithm
يقصد بالخوارزم التصور الشخصي من قبل المبرمج لحل المشكلة ويكون هذا الحل مكتوبا في خطوات مسلسلة كما يمكن أن يكون للمشكلة الواحدة أكثر من طريقة حل تتفاوت الحلول فيما بينها من حيث سرعة الوصول إلى الهدف.
خريطة التدفق Flow Chart
يقصد بخريطة التدفق أنها رسم برموز معينة متفق عليها توضح التصور الشخصي لحل المشكلة. (طريقة سير البرنامج)
لغة البرمجة
وهي الوسيلة التي يستخدمها المبرمج لصنع التطبيقات المختلفة بها والتي تحل المشكلة. مدي التكامل بين العناصر السابقة لحل المشكلة .
رموز المعهد القياسي القومي الأمريكي (آنسي ANSI):
وهي رموز متفق عليها لرسم خرائط التدفق بشكل قياسي وسنستعرض سويا هذه الرموز وهي كما يلي :
رمزا البداية والنهاية:
حيث يستخدم كل من الرمزين السابقين للتعبير عن بداية ونهاية الخريطة.
رمزا القراءة والكتابة :
ويستخدم ذلك الرمز في عمليات القراءة بنوعيها سواء كانت ادخالا أو إخراجا.والشكل التالى يوضح لنا مثالا علي ذلك.
طباعة قيمة X
إدخال قيمة A,B
رمز إجراء العمليات:
ويستخدم هذ1 الرمز عند إجراء العمليات الحسابية والتخزينية مثل ما يلي:
إجمع A + B ثم خزن الناتج داخل C
رمز العمليات المنطقية :
وهو الرمز المستخدم في اجراء المقارنة بين متغيريين وخاصة في الحالات التي يؤخذ فيها قرار يتم علي ضوئه تنفيذ عملية معينة.
أمثلة عملية :
مثال: إيجاد المتوسط الحسابي لمجموعة من الأرقام :
الحل (Algorithm)
Start
Read A , B ,C
Compute X=(A+B+C)/3
Write X
End
خريطة التدفق
كان ما سبق لمحة عن خرائط التدفق وكيفية التعامل معها والآن سننتقل إلى جزئية أخري من مباديء ومفاهيم البرمجةجملة IF.....Then
من أشهر الجمل البرمجية التي تساعد في اتخاذ القرار والاختيار من بديلين طبقا لمدخلات المستخدمويختلف تطبيق تلك الجملة من لغة برمجة إلى أخري إلا أن الأساس واحد في جميع اللغات
أنظر إلى المثال البرمجي التإلى والذي يوضح أحد أشكال الجملة IF.Then
IF TOTAL <1500 THEN
TAX =0.10*TOTAL
ELSE
TAX=0.15*TOTAL
END IF
في هذا المثال وعند تنفيذ البرنامج يفحص الكمبيوتر قيمة الاجمإلى TOTAL فإذا كانت أقل من 1500 يقوم بحساب الضريبة بمعدل 10% وإذا كانت غير ذلك (أكبر من أو يساوي 1500) يقوم بحساب الضريبة بمعدل 15% علي الاجمإلى.
الإختيار المتعدد DO CASE
وهي أيضا من الجمل الشهيرة في مختلف اللغات البرمجية حيث يتم اختيار احد البدائل وفقا لمعطيات المستخدم , أنظر إلى المثال التالى والذي يوضح أحد أشكال جملة DO CASE واستخدامها.
DO CASE
CASE TOTAL <=1000
TAX=0
CASE 1000 TAX=TOTAL*0.10
CASE 3000 TAX=TOTAL*0.15
CASE 5000 TAX=TOTAL*0.20
END CASE
عند تنفيذ المثال السابق يقوم الكمبيوتر بإختبار قيمة ال- TOTAL ويضع الضريبة حسب الاجمإلى TOTAL كما يلى:
حلقات التكرار Loops
وهي وسيلة يلجأ إلىها المبرمج عند إجراء سلسلة من الأوامر أو العمليات لعدة مرات سواء كانت هذه المرات محددة العدد أو يتوقف ذلك علي حدث معين أو تحقق شرطا ما .
الصيغة العامة
يختلف شكل تنفيذ الحلقات LOOPS من لغة برمجة إلى أخرى الا ان الصيغة العامة لها كما يلي :
FOR A=I TO Z STEP X
A اسم المتغير المستخدم للتكرار
I القيمة الابتدائية للمتغير A
Z القيمة النهائية للمتغير A
X مقدار التغيير في A مع كل تكرارالحلقة اللانهائية
Infinitive Loop
وفي هذا النوع من الحلقات LOOPS تستمر الحلقة بشكل لانهائي ولا تتوقف عن التنفيذ وربما ينتج ذلك عن رغبة المبرمج أو لخطأ منطقي عند كتابة الكود .
أنظر إلى المثال التالى والذي يتم فيه زيادة المتغير X بمقدار واحد عند دوران الحلقة ولكن داخل الحلقة يتم انقاص قيمة X الشيء الذي يتسبب في عدم الوصول إلى القيمة النهائية وبالتإلى استمرار الحلقة إلى مالا نهاية.
FOR X=1 TO 1000
PRINT X
X=X-1
NEXT X
\
/
\
/
\
/
م ن ق و ل