الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف تخطط لبرنامجك – دليل للمبتدئين

مغلق
بدأه إسماعيل ابراهيم في 22 نوفمبر 2002 · 3 رد · 994 مشاهدة · في المواضيع والدروس
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

هذا المقال الصغير اعجبني فقمت بترجمته – يعني مش انا المؤلف! :)

*** الجملة بين [قوسين مربعين] هي تعليق مني.

*** تم التصرّف في ترجمة المقال .

الكثير يراسلني سائلاً : ما هي الطريقة للابتداء ببرمجة برنامجي؟

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

هناك طريقتان اساسيتان في تصميم البرامج :اسلوب (من اعى الى اسفل) واسلوب(من اسفل الى اعلى) : الاسلوب الاول (اعلى الى اسفل) ويشمل كتابة الكود الذي يستدعي دوال تقوم بوظائف ما , هذه الدوال انت لم تكتبها بعد – تكتبها لاحقا- مركّزا على الالجوريثم العام لآداء برنامجك [مثلا يكون الكود هكذا : استدعاء دالة لايجاد الجذر ثم استعي دالة لحساب اكبر قيمة مدخلة ثم استدعي دالة لحفظ النتائج في ملف ثم دالة لمسح الشاشة ثم دالة لاعادة عرض المعلومات ثم..... {كل هذه الدوال انا ستبرمجها لاحقا , طبعا كلامي السابق يكون بلغة برمجة وليس باللغة العربية :) } ]

هذا الاسلوب جيد , لكنه يميل الى كونه نظري جدا فانت تستخدم دوال لم تكتبها بعد! وربما لا تعرف طريقة كتابتها ولا كيف ستفعل!

الاسلوب الثاني(من اسفل لأعلى) اسلوب عكس الاول تماماً : المبرمج يكتب الدوال التي يظن انه يحتاجها في هذا البرنامج, ثم بعد ذلك يبدأ في تركيب برنامجه.

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

هناك اهمية اخرى لكتابة المتغيرات قبل كتابة الكود وهي عندما تقوم بانجاز برنامج كامل دون دوال (اذا كنت مبتدئ وتكتب برنامج صغير) فان المتغيرات هي مواد خام تحتاجها للتعامل مع الادوات ( حلقات, جمل شرطية, دوال سي++, وربما دوالك الخاصة).

لنلق نظرة على مثال لكيفية التخطيط لبرنامج. لنفرض انك تريد كتابة برنامج لمحاكاة دكان تأجير اشرطة فيديو والذي يحسب مجموع الدخل من تأجير الاشرطة, وطلب منك ان تكتب برنامج فيه كود يخبرك هل ثمن التاجير 3$ لليوم ( المدخل يكون 3) ام 2$ لليوم(المدخل يكون 2) ثم يسأل عن عدد ايام الاسائجار , واخيرا اذا كانت النتيجة (اي الدخل) =0 ينتهي البرنامج. وربما تقوم بعَد الايام التي كان الايجار فيها ب2$ وتلك التي كان فيها بـ3$. افضل طريقة للتخطيط لهذا البرنامج هي ان تتصوّر ما هي المعلومات التي تحتاجها لحساب الدخل.

* تحتاج لمتغير لتخزين عدد الدولارات في نهاية البرنامج.

* تحتاج متغير مؤقت لتخزين قيمة ثمن الاستئجار لليوم.

* تحتاج متغير مؤقت لتخزين عدد الايام التي فيها شريط بعينه كان مستأجراً.

* تحتاج متغير اتخزين عدد الايام لأي شريط كان مستأجرا.

* تحتاج متغير لعَد مجمل الايما التي فيها شريط ثمن ايجاره 3$ كان مستأجراً.

* تحتاج متغير لعَد مجمل الايما التي فيها شريط ثمن ايجاره 2$ كان مستأجراً.

عندما تدرك انك تحتاج هذه المتغيرات سيسهل عليك تصور كيفية استخلاص النتائج منها

(تحويل قيمة الى اخرى) مثلا, انت تعرف ان مجموع الدخل هو:

عدد الايام التي فيها شريط ثمنه 2$ كان مستأجرا * 2 , هنا قمنا بتحويل عدد الايام الى مجموع الدخل. وهكذا كل الامور الاخرى لم تعد معقدة. طبعا لكي لا ينتهي البرنامج فور قيامه بحساب القيمة المطلوبة (فقد اتفقنا ان البرنامج لا ينتهي الا اذا كان الدخل=0 اليس كذلك؟)

اذن نحتاج الى حلقة لضمان هذا .

سيبدو الكود هكذا : انتبه ان transaction_code (كدو المعاملة) يكون عبارة عن ثمن تاجير الشريط المعني.

Int main()
{
	int total _dolars=0;
	int total_days_at_3_dolars=0;
	int total_days_at_2_dolars=0;
	int transaction_code=0;
	int days_for_one_video=0;

do{
	if(transaction_code==2)
	total_days_at_2_dolars+=int days_for_one_video   ;
	if(transaction_code==3)
	total_days_at_3_dolars+=int days_for_one_video   ;
	cout<<" please Enter transaction code and number of days video was rented";
cin>>transaction_code>> days_for_one_video ;
      }while(transaction_code!=0)
}

نتمنى ان تكون قد امتلكت فكرة اساسية حول تكوين فكرة عن برنامجك قبل ان تبدأ بكتابة الكود...

المقال الاصلي


#2

شكرا أخي

أنا احس بلمل لان مو جيه فكرة برنامج على بالي

شكرا اخي مره اخرى

If you think yourself that you are nobody, you should go somewhere to find yourself

#3

شكرا جزيلا

#4

ألف شكر ........هذا إلي نبحث عنه من زمااااااااااااااااان...(f)

تسلم ايدي إلي حطك مشرف............;)ياأغلى مشرف .........(gift)

هذا الموضوع مغلق.

مواضيع مشابهة