الفصل : 23
الجزء الاول : #1
استخدام تقنيات تنظيم البرمجة وتفسير المنطق (Using Programming Organizational Techniques and Interpret Logic):
في هذا الفصل، ستتعلم الخطوات الأساسية لتنظيم مشروع البرمجة الخاص بك والأسس المنطقية التي تحتاج إلى إتقانها. يغطي هذا الفصل موضوع CompTIA IT Fundamentals plus هدف: استخدام تقنيات تنظيم البرمجة وتفسير المنطق.
تقنيات التنظيم (ORGANIZATIONAL TECHNIQUES):
قبل أن تكتب سطرًا واحدًا من الشيفرة في أي لغة، يجب عليك تخطيط برنامج ، وما الذي من المفترض أن يفعله برنامجك؟ ما هي العمليات اللازمة؟ ماذا يجب أن يحدث أولًا، ثانيًا، ثالثًا، وهكذا؟ يمكنك استخدام ثلاث طرق لتنظيم برنامجك: الشيفرة الكاذبة (Pseudocode)، رسم المخططات الانسيابية (Flowcharting)، والتسلسل (Sequencing)، وفي الأقسام التالية، ستتعلم عن كل من هذه الطرق.
مفاهيم الشيفرة الكاذبة (Pseudocode Concepts):
كما يوحي الاسم، فإن الشيفرة الكاذبة هي محاكاة لبرنامج رقمي ، هي وصف يمكن للبشر قراءته لما يحتاج برنامج الحاسوب إلى فعله، وفكر فيها كمسودة أو مخطط أولي لبرنامجك؛ حيث تشرح الشيفرة الكاذبة بشكل مبسط باللغة البشرية ما الذي من المفترض أن يفعله البرنامج.
إليك مثال بسيط:
Read the first name of a customer.
Make the first name a proper name (initial capital).
Read the last name of a customer.
Make the last name a proper name.
Read the customer's phone number.
Print the first name, a space, the last name, a space, and the
phone number.
Go to the next name.
Repeat the process.
Continue until all the names are output.
لماذا نستخدم الشيفرة الكاذبة؟ من خلال إنشاء وصف باستخدام الشيفرة الكاذبة لبرنامجك، فإنك تساعد في التأكد من أن المبرمجين وغير المبرمجين يتفقون حول ما هو هدف البرنامج والأساسيات حول كيفية إتمام المهمة.
في المسودة الأولى التي تم عرضها، هناك بعض الخطوات المفقودة، وإليك مثالًا محسنًا قد تنشئه بعد التشاور مع المبرمجين والمديرين (كما فعلت أنا):
Do
While not at end of file
ملاحظة:
مفاهيم المخطط الانسيابي (Flowchart Concepts):
المخطط الانسيابي (Flowchart) يظهر تدفق أي نوع من العمليات بشكل مرئي، وهو وسيلة رائعة لمساعدتك على تصور منطق البرنامج المخطط، وهناك العديد من أدوات الرسم البياني المتاحة لمساعدتك في تصور برنامجك، وفيما يلي بعض الأشكال التقليدية للمخططات الانسيابية المستخدمة في مفاهيم البرمجة:
- العملية (مستطيل)
- القرار (معين)
- البيانات (متوازي الأضلاع)
- البداية/النهاية (كبسولة)
- قاعدة البيانات (أسطوانة)
يمكنك رؤية هذه الأشكال وغيرها في الشكل الأول #1، الذي يوضح مخططًا انسيابيًا استنادًا إلى الشيفرة الكاذبة في القسم السابق؛ تم إنشاء هذا المثال باستخدام Microsoft Visio Professional.
ملاحظة:
التسلسل (Sequence):
مخطط التسلسل هو وسيلة مرئية أخرى لتصميم البرنامج، تحديدًا البرمجة الموجهة للكائنات. يظهر مخطط التسلسل كيف تتفاعل الكائنات في البرنامج مع بعضها البعض أثناء عملية معينة. مخطط التسلسل هو مثال على لغة النمذجة الموحدة (UML).
ملاحظة:
يمكن رسم مخطط التسلسل باستخدام برمجيات الرسم البياني المرئية (راجع الرابط لمثال باستخدام Visio)، بعض بيئات التطوير وتطبيقات الرسم البياني يمكنها إنشاء مخطط تسلسل من الشيفرة المصدرية، يمكن أن يكون إنشاء مخطط تسلسل من الشيفرة المصدرية مفيدًا عند مناقشة برنامج مع غير المبرمجين. بعض التطبيقات يمكنها أيضًا تحويل المخطط إلى الشيفرة المصدرية.
ملاحظة:
يوضح الشكل الثاني #2 مخطط تسلسل تم إنشاؤه من برنامج Java باستخدام تطبيق Visual Paradigm (؛ هذا الأداة متوفرة في إصدارات Standard و Professional و Enterprise)، يستخدم هذا المثال ملف برنامج Sample.zip Java المقدم من البائع.
ملاحظة:
مكونات المنطق (LOGIC COMPONENTS):
يتم استخدام نوعين رئيسيين من المنطق في البرمجة: التفرع والتكرار، ودعونا نلقي نظرة أقرب على كلاهما، والأمثلة التالية تستخدم Java، ولكن هذا النوع من منطق البرامج مدعوم من قبل معظم البرامج.
التفرع (Branching):
يتضمن التفرع الاختيار بين الخيارات بناءً على متغير واحد أو أكثر. إحدى الطرق الشائعة لاختيار بين الخيارات هي استخدام جملة If. في هذا المثال، يتم طباعة رسالة إذا كانت قيمة x أقل من 20:
public class Test {
public static void main(String args[]) {
int x = 10;
if( x < 20 ) {
System.out.print("This prints only if X<20");
}
}
}
إليك المخرجات:
This prints only if X<20
نسخة أكثر تعقيدًا من التفرع هي جملة If...Else: إذا كان شيء ما صحيحًا، قم بتنفيذ عملية واحدة؛ وإلا، قم بتنفيذ عملية مختلفة. إليك مثالًا:
public class Test {
public static void main(String args[]) {
int x = 30;
if( x < 30 ) {
System.out.print("X is less than 30");
}else {
System.out.print("X is greater than or equal to 30");
}
}
}
إليك المخرجات:
X is greater than or equal to 30
ومع ذلك، إذا تم تغيير قيمة x إلى قيمة أقل من 30، فإن المخرجات ستكون كما يلي:
X is less than 30
ملاحظة:
التكرار (Looping):
لتمكين الشيفرة من التشغيل عدة مرات حسب الحاجة حتى تصبح الشرط غير صحيح، يمكنك استخدام تقنية تسمى التكرار. في Java، هناك ثلاثة أنواع من التكرار: While، For، و Do...While. اللغات الأخرى تحتوي على منطق تكرار مشابه.
التكرار باستخدام While:
في حلقة While، يتم التحقق من الشرط في بداية الحلقة. إليك مثالًا لحلقة While التي تعد تنازليًا من 10 إلى 1، وتتوقف عندما تصبح قيمة i (التي كانت في الأصل 10) غير أكبر من 0:
public class WhileLoopExample {
public static void main(String args[]){
int i=10;
while(i>0){
System.out.println(i);
i--;
}
}
}
النتيجة:
ملاحظة:
حلقة For
في حلقة For، تبدأ الحلقة بالقيمة الأصلية ثم تتوقف عندما يتم الوصول إلى قيمة الإنهاء، باستخدام زيادة محددة في الحلقة، إليك مثالًا على حلقة For، وتقوم بالعد التنازلي من 3 إلى 0، وتتوقف عندما تصبح قيمة i (التي كانت في الأصل 3) غير أكبر من -1، لاحظ كيف أن جملة for تتضمن الشروط والعملية في سطر واحد:
public class ForLoopExample {
public static void main(String args[]){
for(int i=3; i>-1; i--){
System.out.println("The value of i is: "+i);
}
}
}
المخرجات:
The value of i is: 3
The value of i is: 2
The value of i is: 1
The value of i is: 0
ملاحظة:
حلقة Do...While
حلقة Do...While مشابهة لحلقة While إلا أن الاختبار يتم في أسفل الحلقة بدلاً من الأعلى. في هذا المثال، المقتبس من الموقع التالي ، يتم عرض مصفوفة من الأرقام، رقمًا تلو الآخر، بينما يكون العداد (i) أقل من 4، وفي تلك اللحظة ينتهي العملية:
public static void main(String args[]){
int arr[]={2,4,6,8,10,12};
//i starts with 0 as array index starts with 0
int i=0;
do{
System.out.println(arr[i]);
i++;
}while(i<4);
}
}
تتضمن المصفوفة ستة أرقام، ولكن تم طباعة أربعة فقط. لماذا؟
يجب زيادة }while(i<4); إلى <6 لعرض جميع الأرقام: }while(i<6); ، الآن، تصبح المخرجات كما يلي:
النتيجة كما يلي:
ملاحظة:
النهاية:
بالطبع تستطيع ان تشاركنا برأيك في الأنضمام الى مجتمعنا على تلجرام على الرابط التالي من هنا