1. ترصيف المتطلبات (0 قم لمعصد تسود :
هو تحديد المدخاتت والمخرجات.
2. التصميم (صعة:006:
. هو تحديد العمليات الرئيسية التي تطبق على كل كيان بياني وافتراض وجود أجهزة معالجة
هيات المتوقرة التي تحل نفس المسألة تبعاً لمقاييس مقاضنة متققاً
ات الفراغ (الحزن) ) باختيار أقضلها .
. التحسين و التشفير (ع00702 على )0 عستعصتاع2):
2 لى التتائج الظاهرة في نهاية البرنامج.
التحقق من الصائحية (17611563160):
تتضمن هذه الخطوة ثلاث جواتبا هي :
قبل استخدام البرتامج يجب إثبات آنه صحيح حيث يتم استخدام الطرق المعروفة للبرهنة على
الصحة _
اب الاختبار (عستد1):
هي عملية توليد نماذج بياتية يعمل عليها البرتامج حيث إن الهدف متها هو إعطاء إشارة على
وجود أخطاء في البرناج.
ج- تشخيص الاخطاء (جمتوعنط:00:
عملية تحديد مواقع الأخطاء البرهجية قي البرنامج وتصحيحها
ملاحظة : إن التعريف يختلف عن الصلاحية فالتعريف هو معرفة شيء قد يكون صحيح أو خطأً
في علم الحاسيات يتم أولا الاختبار وبعدها يتم البرهنة بينما في علم الرياضيات يتم البرهان
وبعدة الاختبار.
2-1: كيفية تحليل الكرارزمية (دزرتحسة سنطةهعل4)
تحليل الخوارزمية هو تحديد الكفاءة للخوارزمية ومن ثم تحسينها حيث يوجد مقياسين مرتبطين
1 - مقياس تعقيدات الفراع أي الخزن ( فكع 01001 50362): هي كمية الذاكرة التي يتطلبها
أ جزء ثابت : أو مستقل عن خصائص المدخلات والمخرجات حيث يتضمن هذا الجزء فراع
التعليمات (©5086 ع34م0) .القراغ المخصص للمتغيرات ( 50868 03:3 سواء كانت
لبه جزء متغير - يتألف من الفراغ الذي يتطليه البرنامج بالمتغيرات المركبة والتي يتمد حجمها
على مثال المسالة المراد حله » إضاقة إلى فراغ المكدس المستخدم قي التداخل (5610501).
شكل(1): تحليل الخوارزهية
يتحكم بأعانها قيي معتمدة على إدخال المبرمج للبرنامج.
أما القيم المركبة قهي المصفوقة التي تمثل بالمكنس حيث المؤشر هو (50) معمارياً وبرمجياً
يسمى (100) ٠ وفيما يخص تصميم الخوارزميات قان المهم هنا هو محنوى المصفوفة أي
يمكن صياغة تعقيدات الخزن للبرنامج كالتالي :
فيكون للمتغيرات التي يستخدمها البرناهج .
وعلية يمكن صياعَة تعقيدات القراع (50 للبرنامج (0)
06 :تمثل جزء (؟تتعنتجع: 03#) والمتغيرات البسيطة
: تمثل خصائص المذال
2- تعقيدات الوشّت (010016<16© 11006) : هي كمية الوقت التي يتطلبها تشكيل البرنامج
:0 تيمثل ثابت خاص يوقت الترجمة أو التكيف.
(: يمثل وقت تشعيل البرنامج .
مثال1/ لبيان تعقيدات القراغ (الخزن) والوقت لدالة معينة (بلغة ++ع):
:(4.0+ز0+) اء+جوجو)ى +6 جو +ج )صمت
تعقيدات الفراغ أو الخزن :
تتطلب الدالة (©80) خمسة خاتيا خزتية لخزن قيم المتغيرات (©,8.,0) والمتغير الذي يحمل اسم
الدالة وعنوان العودة (204:855 .05650170 وهو حزن ثابت لا يعتمد على خصائص
إن قيمة الصفر هنا تعني إن الخزن ثايت أي لا يعتمد على خصائص المثال
تعقيدات الوقت : تستخدم صيغة عد الخطوات (00205© 5:05) لقياس تقدير الورقت حيث إن
إن قيمة الصقر هنا أيضا تعني إن الوقت ثابت.
مثال2/ اكتب خوارزمية لإيجاد القنم المشترك الأعظم ( #متتده تفعتية:
7 ))0) 6610 لعددين صحيحين
معدل 0 -> د :0 0 > ده 15
05 تشصلحظ
سد لزت دم #عسستقلل 11:5
[كفستسه: عدا ه5] :2 5:0
1 3123 لاد 660
[ #عتقتل عتما ]:4 5:0
مثال تطبيق 1//
مثال تطبيق 2 //
عدد مرات تََفيدٌ العبارة (5ه2ت01 01007و77) :
التتقيدَ المفرد للعبارة (©21 510 1201 عدص م«متتععن) .
نوع الحانية (#جو 6001710:67).
لعة البرمجة (12050322 0:02
. نوع المترجم او المقر (:110:677012:6 2204 01[65ل0ه).
مثال 3// اقترض وجود الأجزاء البرهجية الآتية مرتبة من 1 إلى 3 كالتالي :
ساد با عا
ألو افترضنا إن ( 10 < « ) فان مثال رقم (2) قيه عدد مرات تكرار الخطوة التتفينية
هو(10 ) وعدد المرات قي المثال رقم (3) هر (100 )-
مثل
تنظيم الترتيب للخَرار زم (مسةتد0علة آه 16و تمتخ آه 0:1) :
هو مجموج تكرارات جميع العبارات التنقيذية التي بموجبها يحدد التقدير المسيق لوقت تنقيد
إن العبارة الغير تنفيئية تعني العبارة التي ليس لها تأثير على البرنامج مثل عيارة التعليق قي
مثال)/ لدينا مصفوفة ميل «أحسب مجموع كل صف واخزن قيمته في مصفوفة اسمها ١5 ثم
احسب المجموع الكلي لعناصر المصفوقة إثر ؛ لم اعطي عدد تكرارات المرات
الحل // توجد طريقتين:
© الأولى ج10 ؛ والثانية 0.5
(25,30) فان وقت الخوارزهيه الأولى يكون اقل ٠هذه المرة (ينتج العكس)
عندما تقوم باحتساب وقت النتقيد للخوارزهية معني تلك إتنا تجد ((0)2)0) وهذا يعني إن
وقت التنفيذ لن يستغرق أكثر من )6*8)0(( حيث إن (©) هو كمية ثابتة وال « تمثل عدد
العمليات المطلوية بموجب الخوارزمية لمدخاتت حجمها 122 -
(© لها صيع :
1 (0)1 معنى ذلك إن وقت الاحتساب ثابت مثل (++ج<) ضمن الإرتافج .
2 (©0 وهي إن وقت الاحتساب ذو صيغة خطية مثل طباعة جميع عناصر مصقوقة حجمها
أو ذلا إيجاد عنصر في قائمة موصولة
3. ©ة:0030: (وقت تربيع (0)07) مثل وقت ترتيب عناصر قائمة ياىتخدام عتاصر
الترقيب الفقاعي
4. (0)07 : هي الوقت التنزم لجعل عناصر مصفرفة (0 - و*د*د )
5. ("0)2 : يعني إن الوقت اللنزم لجعل جميع عتاصر مصقوفة مثلاً مسارياً الصقر هر
امتخدام الصيغ الآسية
6. ((00082 : هذه الصيغة تمثل وقت التنفيذ باستخدام الصيغ اللوغارتيمية مثال ذلك
الوصول إلى عقدة نهائية في شجرة ثناثية.
ملتحظة)/ قيمة ال ج10 دائماً تكون محصورة بين (1(160) أي أقسام عشرية
القيم التائية لل (12)1,2,4,8,16
2 (ى موماد © -
تمرين // ارسم الدوال السابقة ووضح عملية الفرق بين الخوارزميات.
ال () صغيرة؛ حيث إذا كانتت قيمة ال « صغيرة قان عدد العمليات قليل ويالتالي قان وقت
التتقيذ أسرع ويالتائي التغير سيكون واضح.
(ق+ع)++ قبن _
علماً إن الثوابت (5.0-م,2.0,0-3.0<ة) +
ملاحظة// عند التعويض بالمعادلة 33 دح »الخزن يعني هنا ما هي المتغيرات الموجودة في
تعقيدات الخزن : توجد لدينا خمسة خانيا خزتيه هي ,8,0 وعنوان العودة 7 ومتغير الاسم الدالة
+ معنى تلك إن م «زء.تبة) .., 5 أي لايوجد جزء متغير هنا أي انه جزء ثابت
فقي حالة إن يكون المطلوب إعادة هذه الدالة « من المرات ما هي تعقيدات الخزن هنا ؛علماً إن
ذحير
اللحل تقوم بالثاني : ِ ا
تقوم بعمل جدول كالسابق معنى ذلك انه توجد قيم متغيرة للمتغيرات فالتتيجة لا تساوي صقر
وتعتمد على قيم المتغيرات .
تح تعقيدات الوقت :
في الحالة الأولى وقت الدالة يساوي واحد (00051) لأنها تتقذ مرة واحدة »وقي الحالة الثانية
الوقت يعتمد على عند المرات (010777-0©) -
مثال/ لإيجاد مجموع عناصر مصفوقة أحادية البعد كما قي المعادلة التالية:
(عدد الخطوات -.....)1- : 20:5-00)
الخزن : تتطلب الدالة (50) ستة خاتيا خزتيه لخزن قيم (0ر5,]) وعنوان المصقوفة
[] والمتغير الذي يحمل اسم الدالة إضافة إلى عتوان العودة). ب"
تعقيدات الوقت :
ناتحظ إن العلاقة التي تربط الوقت بعدد العناصر هي علاقة خطية وهي أفضل من التربيعية
مثال// سوف تأخذ تقس المثال السابق ولكن هته المرة بطريقة الاستدعاء الذاتي (20055300:))
8 لام - 0
(احه مإ ث | - عاد
(5+(1.ة) تسعفا) تمعز