الوحدة الثانية
الدرس الثاني
خطوات كتابة برنامج
عند حل أي مشكلة تواجه الشخص لابد من وضع خطة أو طريقة أو أكثر من طريقة بهدف إيجاد حل لهذه
المشكلة وهو ما يسمى (بالخوارزمية) ؛ ومن هنا لابد عند كتابة برنامج حاسوبي في أي لغة من لغات
المستوى العلي لابد من وضع طريقة أو عدة طرق للبدء في كتابة البرنامج.
يمكن إيجاد أكثر من طريقة لحل أو كتابة البرنامج حيث إن كل طريقة تختلف من شخص إلى آخر حسب
طبيعة تفكيره ؛ وعند ممارسة كتابة البرنامج بكثرة يصبح الشخص قادر على إيجاد طرق أسهل وأسرع في
كتابة البرنامج ؛ مما يصبح تصميم أو كتابة البرنامج من الأمور الممتعة والسبب:
ويمكن تلخيص ذلك بالمثال التالي :
انطلقت سيارتان من( مدينة اربد) متجهتان إلى( العاصمة عمان) في نفس الوقت ؛ حيث قامت السيارة
الأولى باتخاذ طريق (اربد جرش عمان) وقامت السيارة الثانية باتخاذ طريق( اربد الزرقاء العقبة عمان).
المشكلة : هي كيفية الوصول إلى العاصمة عمان.
الهدف أو المطلوب : الوصول إلى العاصمة عمان.
الطريقة أو الحل :
؛. إما من خلال طريق (اربد جرش عمان)
.٠ أو من خلال طريق ( اربد الزرقاء العقبة عمان).
ونلاحظ أن سائق السيارة الأولى له خبرة أكثر من سائق السيارة الثانية لهذا فقد وصلت سيارته بوقت اقل
بكثير من السيارة الثانية مع العلم بان السيارتان قد وصلتا إلى نفس الهدف المطلوب ؛ مما يترتب على سائق
السيارة الثانية الإلمام بشكل اكبر في الطرق ( الممارسة).
الوحدة الثانية
حيث تعتبر من الأمور والخطوات المهمة في حل المسالة ؛ فمن غير الممكن حل مسالة ما دون
"-اختيار أو تصميم خوارزمية لحل المسالة:
عند فهمك للمسالة بشكل جيد قم بوضع طريقة أو عدة طرق من خلال الورقة والقلم وقم بوضع
أفكارك لحل هذه المشكلة وقم بعد ذلك باختيار الطريقة الأسهل وذات وقت اقل ؛ حيث أن بعض
المبرمجين يقوموا بإهمال هذه الخطوة ظنا منهم أنها أخذ وقت طويل في العمل ولكن التجربة أثبتت
بعد التأكد من أن الخوارزمية جاهزة وصحيحة قم بتحويلها إلى برنامج يكتب بإحدى لغات
البرمجة؛ وهي من الخطوات والأمور السهلة خصوصا بعد الممارسة ويجب أيضا هنا مراعاة قواعد
لغت البرمجة لكتابة البرنامج.
بعد كتابة البرنامج قم بالتأكد من أن البرنامج الذي كبته خالي من أي نوع من أنواع الأخطاء سواء
كان إملاء أو منطقيا أو قواعدي وذلك بتنفيذه أكثر من مرة باستخدام معطيات مختلفة يتم فيها تغطية
ينصح باستخدام هذه الخطوة ولكن هذا لا يعني أن هذه الخطوة إذا لم تستخدم أن البرنامج لن يعمل
أولن ينفذ ؛ بل الهدف من هذه الخطوة هو إضافة جمل توضيحية للمستخدم تخبره عن وظيفة هذا
البرنامج والهدف من تصميمه ؛ كما أنها تصمن حق المبرمج بوضع جمل تخبر المستخدم إن هذا
البرنامج قد صمم أو برمج من قبل شخص معين وتارب يخ التصميم أو الإعداد أو حتى هاتف المبرمج
للرجوع إليه في حال الطلب.
الوحدة الثانية
والشكل أو المخطط التالي يبين خطوات حل المسأئة:
ويقسم هذا الشكل إلى مرحلتين :
» المرحلة الأولى وهي ( مرحلة الورقة والقلم.
المرحلة الثانية وهي ( مرحلة البرمجة).
البداية ترجمة الخوارزمية الى برنامج
فهم المسألة وتحليلها تنفيذ البرنامج واختباره
1 تصميم الخوارزمية توثيق البرنامج
المرحلة الاولى المرحلة الثانية
المثال التالي يوضح عمل أو مبدأ عمل هذا المخطط:
إذا أريد منك جمع عددين صحيحين و من ثم إيجاد ناتج جمعهما ؟
(المرحلة الأولى):
فهم المسالة وتحليلها :
يراد جمع عددين (راص) ومن ثم إيجاد الناتج (,حس+ص)
أو أكثر من طريقة لإيجاد حل للمشكلة وذلك من خلال الخوارزميات التالية:
.١ أدخل العدد الأول (س) .١ أدخل العدد الأول(س)
". أدخل العدد الثاني (ص) ".أدخل العدد الثاني (ص)
©. كتابة المعادلة (بحس+ص) “.أطبع(س+ص)
؟. أطبع الناتج (م)
ء التأكد من صحة الخوارزمية:
وذلك من خلال مراجعتك للخوارزميتين السابقتين والتأكد من خلوهما من أي خطأً قد يتسبب في
ظهور نتائج خاطئة.
ّْ محمد خباص
الوحدة الثانية
(المرحلة الثانية):
ترجمة الخوارزمية إلى برنامج :
اختر الخوارزمية التي تراها مناسبة لك من حيث السرعة والسهولة ؛ وسوف أقوم باختيار
الخوارزمية الأولى ترجمة الخوارزمية إلى برنامج
أدخل العدد الأول (س) عد" وطسلا أوط عط عمط" 1110171
أدخل العدد الثاني (رص) لجةطتسلا تمصمععة عد علصا" 1110171
كتابة المعادلة (ججس+ص) 11-7 11
أطبع الناتج (م) 8ط
تنفيذ البرنامج واختباره:
وذلك من خلال إدخال قيم مختلفة للعددين وفحص الناتج .
» توثيق البرنامج:
أي انه تم إعداد هذا البرنامج من قبل المدرس محمد خباص في تاريخ 7٠٠١/1/79
للمراجعة يرجى الاتصال على الرقم ١١38871
الوحدة الثانية
أسئلة الدرس الثاني
س١: بين المراحل الرئيسية لكتابة برنامج والهدف منها.
؟". اختيار أو تصميم خوارزمية لحل المسالة: وضع طريقة أو عدة طرق من خلال الورقة
والقلم و وضع الأفكار لحل هذه المشكلة و بعد ذلك اختيار الطريقة الأسهل وذات وقت اقل.
*. .ترجمة الخوارزمية أو تحويلها إلى برنامج حاسوب يكتبه المبرمج بإحدى لغات_البرمجة:
بعد التأكد من أن الخوارزمية جاهزة وصحيحة قم بتحويلها إلى برنامج يكتب بإحدى لغات
البرمجة؛ وهي من الخطوات والأمور السهلة خصوصا بعد الممارسة ويجب أيضا هنا مراعاة قواعد
لغت البرمجة لكتابة البرنامج.
؛. تنفيذ البرنامج واختباره باستخدام جهاز الحاسوب: بعد كتابة البرنامج قم بالتأكد من أن
البرنامج الذي كبته خالي من أي نوع من أنواع الأخطاء سواء كان إملاء أو منطقيا أو قواعدي
وذلك بتنفيذه أكثر من مرة باستخدام معطيات مختلفة يتم فيها تغطية الحالات المختلفة للمسلة.
.٠ توثيق البرنامج: الهدف من هذه الخطوة هو إضافة جمل توضيحية للمستخدم تخبره عن وظيفة
هذا البرنامج والهدف من تصميمه ؛ كما أنها تصمن حق المبرمج بوضع جمل تخبر المستخدم إن
هذا البرنامج قد صمم أو برمج من قبل شخص معين وتاريخ التصميم أو الإعداد أو حتى هاتف
المبرمج للرجوع إليه في حال الطلب.
س١: فرق بين التحقق من صحة البرنامج و توثيق البرنامج ؛ مبينا فائدة كل منهما.
التحقق من صحة البرنامج توثيق البرنامج
بالتأكد من أن البرنامج الذي كبته خالي من أي نوع | . أنها تصمن حق المبرمج بوضع جمل تخبر
من أنواع الأخطاء سواء كان إملاء أو منطقيا أو المستخدم إن هذا البرنامج قد صمم أو برمج من
قواعدي قبل شخص معين وتاريخ التصميم أو الإعداد
أو حتى هاتف المبرمج للرجوع إليه في حال
الوحدة الثانية
الدرس الثالث
٠ه ©3510 اختصار إلى (0006 تزمنا1150112 عنام طصدرة عقدترسم الخ مصاع 138)
و تعني ( التعليمات الرمزية لكافة أغراض المبتدئين )
( أي تقسيم البرنامج إلى أجزاء كل جزء يقوم بمهمة محددة لتسهيل تتبع البرنامج).
"._تحتوي على محرر خاص بها:
(أي اكتشاف الأخطاء الموجودة أثناء تنفيذ البرنامج سواء لغوياً أو تنفيذيا أو منطقي).
اء جمل برمجية ؛ مثلها مثل أي لغة من
يتعلم حروف هذه اللغة كذلك بنسبة للغات
ه إن لغة بيسك لها حروفها ورموزها الخاصة حتى نتمكن من إن
لغات الإنسان ؛ فالإنسان لا يستطيع تكوين كلمة أو جملة دون
الحاسوب ذات المستوى العلي.
ء تقسم رموز اللغة إلى مجموعات:
*. المجموعة الثالثة (مجموعة الرموز الخاصة(ي :011318266 /قادطسدرة لف66م5)):
وتستخدم في كتابة البرامج منها :
٠ رموز العمليات الحسابية : (+- 0 */2).
٠ رموز للمقارنات ( المنطقية ): ( > < < >. الخ).
.):.,9! #896 8(: رموز أخرى ٠
الوحدة الثانية
الثوابت
ء الثوابت : قيمة ثابتة لا تتغير في أثناء تنفيذ البرنامج.
( حيث تبقى قيمة العدد 2 هي 2 ولن تتغير مع تغير الزمن )
تقسم الثوابت إلى :
١ ثوابت عددية : و هي الأعداد الحقيقية سواء كانت صحيحة أم غير صحيحة .
مجموعة من الحروف الانجليزية و الأرقام العربية و بقية الرموز الخاصة
؛ يتم وضعها بين إشارتي اقتباس مزدوجة (" ").
المتغيرات: أسماء لمواقع في الذاكرة ذات قيم قابلة للتغير في أثناء فترة تنفيذ البرنامج.
قيمة المتغير في وقت معين هي القيمة المخزونة في موضع التخزين الذي يمثله ذلك المتغير.
*مثال: معادلة مساحة المستطيل: (/آ*177-)
في الشكل السابق تم حجز موقع للمتغير 157 و موقع للمتغير ,آ و موقع للمتغير كرفي الذاكرة حيث أن
كل موقع من هذه المواقع له قيمة معينة و يمكن أن تتغير هذه القيمة في كل موقع أي:
الوحدة الثانية
نلاحظ أن مواقع التخزين و أسمائها بقيت كما هي لكن قيمها هي التي تغيرت بمعنى أن :
الموقع أو المتغير 157 كانت قيمته 2 وتحولت أو تغيرت إلى 5.
الموقع أو المتغير ,آ كانت قيمته 4 وتحولت أو تغيرت إلى 6.
الموقع أو المتغير .هر كانت قيمته 8 وتحولت أو تغيرت إلى 30.
ه يعرف أسم المتغير : بأنه سلسلة من الحروف و الأرقام على أن بيدا بحرف.
* بمعنى انه يمكن للمستخدم أن يسمي المتغير بالاسم الذي يريده دون أن يبدأ برقم:
مثال :
(ليس متغير السبب بدأ المتغير برقم) //ا21//2
*كما انه لا يسمح باستخدام فراغ أو رموز خاصة مع أسماء المتغيرات : 0
(ليس متغير السبب بدا المتغير برمز خاص) /0/10/ا5
(ليس متغير السبب وجود فراغ في المتغير ) //ا2 لاا
(ليس متغير السبب وجود رمز خاص ) /2/62//ا
(ليس متغير السبب انته المتغير برمز خاص) 0/0/22#//
الوحدة الثانية
١-أن يبدأ المتغير بحرف.
"-أن لا يبدأ المتغير برقم.
*- أن لا يستخدم أي رمز من الرموز الخاصة مع اسم المتغير سواء في بداية أو وسط أو
نهاية المتغير.
؛-يفضل أن يكون لاسم المتغير معنى.
©- يجب أن لا يكون المتغير كلمة من كلمات اللغة أي ( كلمة محجوزة)
*من المنطق أن يكون لاسم المتغير ( اسم ذو معنى) فالمتغير 1 هو متغير لكن لا يعرف احد إلى ماذا
يرمز فهو ليس له معنى ؛ لكن المتغير 5017 متغير ذو معنى ويقصد به المجموع ؛ و الهدف من ذلك أن
يسهل على المستخدم فهم وظيفة المتغير.
تقسم المتغيرات إلى :
"- المتغيرات الرمزية : هي متغيرات تستخدم لخزن القيم الرمزية و يجب أن تحتوي على (إشارة 5)
بعد اسم المتغير مثل:
« ومن هنا نستنتج أن المتغير الرمزي هو عبارة عن متغير عددي مضاف إلى آخره إشارة أو الرمز
1 قاعدة مهمة :
ثابت عددي (يمين المساواة) 3-2 متغير عددي ( يسار المساواة)
ثابت عددي (يمين المساواة) "2"-326 متغير عددي ( يسار المساواة)