الفصل الثالث والعشرين بعنوان: Using Programming Organizational Techniques and Interpret Logic الأجزء الأول

Safely LocK
0

 الفصل : 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.





لماذا نستخدم الشيفرة الكاذبة؟ من خلال إنشاء وصف باستخدام الشيفرة الكاذبة لبرنامجك، فإنك تساعد في التأكد من أن المبرمجين وغير المبرمجين يتفقون حول ما هو هدف البرنامج والأساسيات حول كيفية إتمام المهمة.

في المسودة الأولى التي تم عرضها، هناك بعض الخطوات المفقودة، وإليك مثالًا محسنًا قد تنشئه بعد التشاور مع المبرمجين والمديرين (كما فعلت أنا):


Open file
Do
        READ the first name (FirstName).
        Use PROPER to make the first name a proper name (initial
capital).
       READ the last name (LastName).
       Use PROPER to make the lastname a proper name.
       READ the phone number (PhoneNum).
       WRITE FirstName, space, LastName, PhoneNum.
        Go forward to next name.
While not at end of file


ملاحظة:

توفر صفحة wikiHow "كيفية كتابة الشيفرة الكاذبة" ملخصًا سريعًا للعملية وتعرض كيفية دمج ممارسات برامج الكمبيوتر الأساسية مثل الكتل، والخوارزميات، والتسلسل، والحلقات مع النصوص الإنجليزية أثناء تحسين الشيفرة الكاذبة.



مفاهيم المخطط الانسيابي (Flowchart Concepts):

المخطط الانسيابي (Flowchart) يظهر تدفق أي نوع من العمليات بشكل مرئي، وهو وسيلة رائعة لمساعدتك على تصور منطق البرنامج المخطط، وهناك العديد من أدوات الرسم البياني المتاحة لمساعدتك في تصور برنامجك، وفيما يلي بعض الأشكال التقليدية للمخططات الانسيابية المستخدمة في مفاهيم البرمجة:

  • العملية (مستطيل)
  • القرار (معين)
  • البيانات (متوازي الأضلاع)
  • البداية/النهاية (كبسولة)
  • قاعدة البيانات (أسطوانة)


يمكنك رؤية هذه الأشكال وغيرها في الشكل الأول #1، الذي يوضح مخططًا انسيابيًا استنادًا إلى الشيفرة الكاذبة في القسم السابق؛ تم إنشاء هذا المثال باستخدام Microsoft Visio Professional.



#1 الشكل الأول من الفصل


ملاحظة:

لتطبيقات المخطط الانسيابي، راجع قسم "برمجيات الرسم البياني المرئية" في الفصل 18، "الغرض والاستخدام الصحيح للبرمجيات"، لمزيد من المعلومات حول رموز المخطط الانسيابي في البرمجة، راجع الموقع من هنا.  (يتطلب التسجيل للحصول على المحتوى الكامل).


التسلسل (Sequence):

مخطط التسلسل هو وسيلة مرئية أخرى لتصميم البرنامج، تحديدًا البرمجة الموجهة للكائنات. يظهر مخطط التسلسل كيف تتفاعل الكائنات في البرنامج مع بعضها البعض أثناء عملية معينة. مخطط التسلسل هو مثال على لغة النمذجة الموحدة (UML).

ملاحظة:

البرمجة الموجهة للكائنات (OOP) هي نموذج لغوي للبرمجة يعرف الكائنات وكيفية ارتباطها ببعضها البعض. قارن هذا مع البرمجة التقليدية التي تهتم بالبيانات المدخلة ومعالجتها باستخدام العمليات المنطقية المختلفة، مما يؤدي إلى بيانات مخرجات. لمزيد من التفاصيل، راجع  الموقع الأتي



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


ملاحظة:

الشيفرة المصدرية هي الشيفرة البرمجية كما كتبها المبرمج. قبل أن يتم استخدام الشيفرة المصدرية بواسطة جهاز، يجب تحويلها إلى شيفرة خاصة بالجهاز.


يوضح الشكل الثاني #2 مخطط تسلسل تم إنشاؤه من برنامج Java باستخدام تطبيق Visual Paradigm  (؛ هذا الأداة متوفرة في إصدارات Standard و Professional و Enterprise)، يستخدم هذا المثال ملف برنامج Sample.zip Java المقدم من البائع.




#2 الشكل الثاني من الفصل


ملاحظة:

كما ذكرنا سابقًا، يمكن أن يكون مخطط UML مفيدًا في مساعدة غير المبرمجين على فهم منطق البرنامج، للحصول على التطبيقات الموصى بها التي يمكنها تحويل شيفرة لغة C إلى مخططات UML، راجع هنا.




مكونات المنطق (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--;
        }
    }
}



النتيجة:




ملاحظة:

لتعلم المزيد حول كيفية إنشاء حلقة While، راجع هذا المرجع و هذا أيضاً المرجع



حلقة 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



ملاحظة:

لتعلم المزيد حول كيفية إنشاء حلقة For،هذه المراجع (الأول ، الثاني )




حلقة Do...While

حلقة Do...While مشابهة لحلقة While إلا أن الاختبار يتم في أسفل الحلقة بدلاً من الأعلى. في هذا المثال، المقتبس من الموقع التالي ، يتم عرض مصفوفة من الأرقام، رقمًا تلو الآخر، بينما يكون العداد (i) أقل من 4، وفي تلك اللحظة ينتهي العملية:


public class DoWhileLoopExample2 {
    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); ، الآن، تصبح المخرجات كما يلي:




النتيجة كما يلي:





ملاحظة:

لتعلم المزيد حول كيفية إنشاء حلقة Do...While، راجع هذه المراجع (المرجع الأول ، والمرجع الثاني). 


النهاية:

بالطبع تستطيع ان تشاركنا برأيك في الأنضمام الى مجتمعنا على تلجرام على الرابط التالي من هنا 

 



إرسال تعليق

0تعليقات

إرسال تعليق (0)

#buttons=(موافق!) #days=(20)

يستخدم موقعنا ملفات تعريف الارتباط لتحسين تجربتك. تاكد الان
Ok, Go it!