0% found this document useful (0 votes)
95 views22 pages

Lec 2

يقوم البرنامج بقراءة القيمة x ثم يحسب قيمة الدالة f(x) وفقًا للعلاقات المعطاة حسب قيمة x.

Uploaded by

Omer Ismaeel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
95 views22 pages

Lec 2

يقوم البرنامج بقراءة القيمة x ثم يحسب قيمة الدالة f(x) وفقًا للعلاقات المعطاة حسب قيمة x.

Uploaded by

Omer Ismaeel
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 22

‫تحليل وتصميم الخوارزميات‬

‫‪Design & Analysis of Algorithms‬‬

‫محاضرة (‪)2‬‬
‫‪ ‬‬
‫أ‪ .‬مها أبو‪ 8‬يوسف أبو‪ - 8‬جامعة النيلين ‪ -‬كلية علوم الحاسوب وتقانة المعلومات‬
‫مقدمة‬
‫تعريف‬
‫(‪)1‬الخوارزمية هى مجموعة محددة من الخطوات الرياضية‬
‫والمنطقية لحل مسالة او اداء مهمة معينة‪.‬‬

‫(‪ )2‬الخوارزمية هى مجموعة منتهية من التعليمات والتي باتباعها‬


‫يتم إنجاز مهمة محددة‪ .‬هذه التعلميات يجب أن تكون محددة و‬
‫خالية من الغموض كما يجب أن تكون بسيطة يمكن تطبيقها من‬
‫قبل أي شخص باستخدام الورقة و القلم فقط‪.‬‬

‫أ‪ .‬مها أبو‪ 8‬يوسف أبو‪ - 8‬جامعة النيلين ‪ -‬كلية علوم الحاسو‪8‬ب وتقانة المعلومات‬
‫• سميت الخوار‪8‬زمية بهذا االسم نسبة إلى العالم العربى‬
‫ابوجعفر محمد بن موسى الخوارزمى‪.‬‬
‫• تم ابتكارها في القرن التاسع الميالدي‪.‬‬
‫• كلمة خوار‪8‬زم (‪ )algorism‬في األصل كانت مقتصرة‬
‫على القوانين الرياضية وتطورت لتشمل جميع إجراءات‬
‫حل المشكالت و تنفيذ المهمات‪.‬‬

‫أ‪ .‬مها أبو يوسف أبو ‪ -‬جامعة النيلين ‪ -‬كلية علوم الحاسو‪8‬ب وتقانة المعلومات‬
‫مميزات الخوارزمية‬

‫وصف خطوات الحل بشكل واضح ومحدد‪.‬‬ ‫‪.1‬‬


‫عدم اعتماد الخوارزمية على اسلوب معين في المعالجة‬ ‫‪.2‬‬
‫امكانية استخدام الخوارزمية نفسها لحل جميع المشاكل‬ ‫‪.3‬‬
‫المشابهة‪.‬‬
‫سهولة فهم خطوات حل المشكلة واستيعابها‪.‬‬ ‫‪.4‬‬
‫امكانية اكتشاف االخطاء التي قد تحدث بيسر‪ 8‬وسهولة‪.‬‬ ‫‪.5‬‬
‫تعد الخوارزمية وسيلة من وسائل التوثيق‪.‬‬ ‫‪.6‬‬
‫أ‪ .‬مها أبو يوسف أبو ‪ -‬جامعة النيلين ‪ -‬كلية علوم الحاسوب و‪8‬تقانة المعلو‪8‬مات‬
‫شروط الخوارزمية‬
‫المدخالت ‪Input‬‬ ‫‪.1‬‬
‫المخرجات ‪Output‬‬ ‫‪.2‬‬
‫الوضوح ‪Definiteness‬‬ ‫‪.3‬‬
‫المحدودية ‪Finiteness‬‬ ‫‪.4‬‬
‫امكانية الحل ‪Effectiveness‬‬ ‫‪.5‬‬

‫أ‪ .‬مها أبو‪ 8‬يوسف أبو‪ - 8‬جامعة النيلين ‪ -‬كلية علوم الحاسوب وتقانة المعلومات‬
‫ما الفرق بين الخوارزمية والبرنامج؟‬

‫أ‪ .‬مها أبو يو‪8‬سف أبو ‪ -‬جامعة النيلين ‪ -‬كلية علوم الحاسوب و‪8‬تقانة المعلو‪8‬مات‬
‫طرق تمثيل الخوارزمية‬

‫(‪ )1‬المخطط االنسيابي (‪)Flowchart‬‬


‫• هو تمثيل مصور او رسم تخطيطى للخوارزمية ويتألف‬
‫من مجموعة األشكال والر‪8‬موز الخاصة يوضح خطوات‬
‫حل المشكلة من البداية إلى النهاية مع إخفاء التفاصيل‬
‫إلعطاء الصورة العامة للحل‪.‬‬

‫أ‪ .‬مها أبو‪ 8‬يوسف أبو‪ - 8‬جامعة النيلين ‪ -‬كلية علوم الحاسوب وتقانة المعلومات‬
‫االشكال المستخدم‪3‬ة فى رسم المخططات االنسيابية‬
‫البداية او النهاية‬
‫االدخال او االخراج‬

‫المعالجة‬
‫اتخاذ القرار‬

‫خط االنسياب‬
‫وصلة‬ ‫‪A‬‬
‫و يمكن تصنيف المخططات االنسيابية إلى ‪:‬‬
‫(أ) مخططات سير‪ 8‬العمليات التتابعية‬
‫(‪)Sequential Flowcharts‬‬
‫(ب) مخططات سير العمليات ذات التكرار والدوران‬
‫(‪)Loop Flowcharts‬‬
‫(ج) مخططات سير العمليات ذات األختيار‬
‫(‪)Selection Flowcharts‬‬
‫أ‪ .‬مها أبو يو‪8‬سف أبو ‪ -‬جامعة النيلين ‪ -‬كلية علوم الحاسوب و‪8‬تقانة المعلو‪8‬مات‬
‫مثال‪ -:‬ارسم المخطط االنسيابى لحساب مساحة الدائرة ‪ a‬والتى‬
‫نصف قطرها ‪.r‬‬

‫أ‪ .‬مها أبو‪ 8‬يوسف أبو‪ - 8‬جامعة النيلين ‪ -‬كلية علوم الحاسو‪8‬ب وتقانة المعلومات‬
‫البداية‬

‫ادخل ‪pi,r‬‬

‫‪a=pi*r2‬‬

‫اطبع ‪a‬‬

‫النهاية‬
‫(‪ )2‬اللغة الطبيعية (‪)Natural language‬‬
‫وهى استعمال اى لغة مثل العربية او االنجليزية او الفرنسية ‪ ...‬الخ‬
‫لتمثيل الخوارزمية‬
‫مثال‪ -:‬اكتب خوارزمية جمع عددين‪.‬‬
‫البداية‬ ‫‪.1‬‬
‫ادخل العددين‬ ‫‪.2‬‬
‫اجمع العددين‬ ‫‪.3‬‬
‫اخرج النتيجة‬ ‫‪.4‬‬
‫النهاية‬ ‫‪.5‬‬
‫مثال ‪ :‬اكتب خوارزمية لحساب مساحة الدائرة ‪ a‬والتى‬
‫نصف قطرها ‪.r‬‬
‫البداية‪.‬‬ ‫‪.1‬‬
‫أقرا نصف القطر ‪r‬‬ ‫‪.2‬‬
‫أقرا قيمة النسبة الثابتة ‪Pi‬‬ ‫‪.3‬‬
‫احسب مساحة الدائرة من العالقة ‪a=Pi*r2‬‬ ‫‪.4‬‬
‫أطبع قيمة المساحة ‪a‬‬ ‫‪.5‬‬
‫النهاية‪.‬‬ ‫‪.6‬‬
‫أ‪ .‬مها أبو‪ 8‬يوسف أبو ‪ -‬جامعة النيلين ‪ -‬كلية علوم الحاسو‪8‬ب وتقانة المعلومات‬
‫(‪ )3‬الشفرة المزيفة (‪  )pseudo-code‬‬
‫هى تمثيل الخوارزمية بلغات قريبة من لغات البرمجة‬
‫كالباسكال (‪ )Pascal‬البعض يستخدم الكثير من التفاصيل‬
‫و البعض اآلخر يستخدم القليل ‪ ...‬فال قاعدة معينة لكتابة‬
‫هذا النوع من الشفرات‪.‬‬
‫‪read a,b‬‬
‫)‪add a to b (c=a+b‬‬
‫‪write c‬‬
‫أ‪ .‬مها أبو‪ 8‬يوسف أبو‪ - 8‬جامعة النيلين ‪ -‬كلية علوم الحاسوب وتقانة المعلومات‬
‫مثال ‪:‬‬
‫اكتب الخوارز‪8‬مية وارسم المخطط االنسيابى لبرنامج يقرا‬
‫المتغير ‪ x‬ثم يحسب قيمة الدالة )‪ f(x‬وفقا ً لآلتى‪:‬‬

‫‪ x 3  cos( x) x  0‬‬


‫‪f ( x)   2‬‬
‫‪3x  x‬‬ ‫‪x0‬‬

‫أ‪ .‬مها أبو يو‪8‬سف أبو ‪ -‬جامعة النيلين ‪ -‬كلية علوم الحاسوب وتقانة المعلومات‬
‫الخوارزمية‬
‫‪ .1‬البداية‬
‫‪ .2‬اقرأ ‪x‬‬
‫‪ .3‬قارن قيمة ‪ x‬بالصفر‬
‫‪ .4‬إذا كانت موجبه اذهب إلى الخطوة (‪ )5‬وإال اذهب إلى الخطوة‬
‫(‪)6‬‬
‫‪ .5‬احسب قيمة)‪ f(x‬من المعادلة )‪ f(x) = x3 + cos(x‬ثم اذهب‬
‫للخطوة ‪7‬‬

‫أ‪ .‬مها أبو‪ 8‬يوسف أبو ‪ -‬جامعة النيلين ‪ -‬كلية علوم الحاسو‪8‬ب وتقانة المعلومات‬
‫‪ .6‬احسب قيمة )‪ f(x‬من المعادلة ‪3x2+x‬‬
‫‪ .7‬اطبع قيمة )‪f(x‬‬
‫‪ .8‬النهاية‪.‬‬

‫أ‪ .‬مها أبو‪ 8‬يوسف أبو‪ - 8‬جامعة النيلين ‪ -‬كلية علوم الحاسوب وتقانة المعلومات‬
start
‫المخطط االنسيابى‬
Read x

no x>0 yes

f(x) = 3x +x
2 f(x) = x3+cos(x)

Print f(x)

end
‫قواعد البرمجة‬

‫(‪ )1‬التتابع (التسلسل) ‪Sequence‬‬


‫تكون الخوارزمية عبارة عن مجموعة من التعليمات‬
‫المتسلسلة‪ ،‬هذه التعليمات قد تكون إما بسيطة أو مركبة‪.‬‬

‫أ‪ .‬مها أبو‪ 8‬يوسف أبو‪ - 8‬جامعة النيلين ‪ -‬كلية علوم الحاسوب وتقانة المعلومات‬
‫(‪ )2‬االختيار ‪Selection‬‬
‫بعض المشاكل ال يمكن حلها بتسلسل بسيط للتعليمات‪ ،‬وقد‬
‫تحتاج إلى اختبار بعض الشروط وتنظر إلى نتيجة‬
‫االختبار‪ ،‬إذا كانت النتيجة صحيحة تتبع مسار‪ 8‬يحوي‬
‫تعليمات متسلسلة‪ ،‬وإذا كانت خاطئة تتبع مسار آخر‬
‫مختلف من التعليمات‪ .‬هذه الطريقة هي ما تسمى اتخاذ‬
‫القرار أو االختيار‪.‬‬

‫أ‪ .‬مها أبو‪ 8‬يوسف أبو‪ - 8‬جامعة النيلين ‪ -‬كلية علوم الحاسوب وتقانة المعلومات‬
‫(‪ )3‬التكرار ‪Looping‬‬
‫عند حل بعض المشاكل ال بد من إعادة نفس تسلسل‬
‫الخطوات عدد من المرات‪.‬‬

‫أ‪ .‬مها أبو يوسف أبو ‪ -‬جامعة النيلين ‪ -‬كلية علوم الحاسوب و‪8‬تقانة المعلو‪8‬مات‬
‫واجب ‪:‬‬
‫اكتب الخوارز‪8‬مية وارسم المخطط االنسيابى لبرنامج يقرأ‬
‫ثالثة اعداد ويطبع العدد االكبر من بينهم‪.‬‬

‫أ‪ .‬مها أبو‪ 8‬يوسف أبو‪ - 8‬جامعة النيلين ‪ -‬كلية علوم الحاسو‪8‬ب وتقانة المعلومات‬

You might also like