35
ات ي م وازز خ ادئ ي م و ة ج م ر ب اَ ّ ر لف ا ق ي ف ود ز م ح م س/ ي دز اد و ت عد) ا ا اف ج ة غ ت2010-2011 رة ض حا م ل ا ر9 ش ع ادسة س ل ر و ا9 ش ع سة م ا ح ل ا ها ت ا ق ي. ب ط ت وH الدوزان ل م ج وع ي س الأH ن م ا9 ي ل ا ات ي للطا ا ة ب ع9 ش

خوارزميات و مبادئ برمجة

  • Upload
    vienna

  • View
    94

  • Download
    0

Embed Size (px)

DESCRIPTION

خوارزميات و مبادئ برمجة. إعداد و تدريس/ محمود رفيـق الفـرَّا. بلغة جافا. الأسبـوع الثامن. المحاضرة الخامسـة عشر و السـادسـة عشـر جمل الدوران و تطبيقاتها. شعبـة الطالبات. 2010-2011. في هذا الأسبـوع. مفهوم جمل الدوران تطبيقاته أنواعـه و قواعد كتابتها أمثلـة و حلول. - PowerPoint PPT Presentation

Citation preview

Page 1: خوارزميات  و مبادئ  برمجة

و خوارزميات برمجةمبادئ

إعداد و تدريس/ محمود ا �رفيـق الفـر

بلغة جافا

2010-2011

الخامسـة عشر و المحاضرة السـادسـة عشـر

جمل الدوران و تطبيقاتها

الثامناألسبـوع

شعبـة الطالبات

Page 2: خوارزميات  و مبادئ  برمجة

في هذا األسبـوع

مفهوم جمل الدوران

تطبيقاته

أنواعـه و قواعد كتابتها

أمثلـة و حلول

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

Page 3: خوارزميات  و مبادئ  برمجة

مفهوم جمل الدوران الدوران أو التكرار هو تنفيذ عدد من األوامر

ككتلة واحدة بناًءL على شرط معين لعدد من المرات.

و سمي دورانًـا ألن سيـر العمليات يتكرر بشكل دوراني كما تشاهد.

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

1 1 ==ضعقيمةالعدد ضعقيمةالعدد

بدايةبدايةبداية

العددالصحيحمن العددالصحيحمن اقرأ اقرأXXالمستخدم المستخدم

اطبعحاصلالضرب اطبعحاصلالضرب

العدادأقلمنأو العدادأقلمنأو 1212يساوييساوي

نعم نعم

الال

X * 1 X * 1 ==حاصلالضرب حاصلالضرب

1 1 + + قيمةالعدادالحالية قيمةالعدادالحالية = = قيمةالعداد قيمةالعداد

1 1 ==ضعقيمةالعدد ضعقيمةالعدد

بدايةبدايةبداية

العددالصحيحمن العددالصحيحمن اقرأ اقرأXXالمستخدم المستخدم

اطبعحاصلالضرب اطبعحاصلالضرب

العدادأقلمنأو العدادأقلمنأو 1212يساوييساوي

نعم نعم

الال

X * 1 X * 1 ==حاصلالضرب حاصلالضرب

1 1 + + قيمةالعدادالحالية قيمةالعدادالحالية = = قيمةالعداد قيمةالعداد

Page 4: خوارزميات  و مبادئ  برمجة

من تطبيقاته... من التطبيقات التي نحتاج فيها إلى استخدام مفهوم الدوران/ التكرار

طباعة جدول الضرب لألرقام1.

طباعة األرقام الفرديـة.2.

طباعة األرقام الزوجيـة.3.

البحث في مجموعة من األرقام.4.

حساب معدل السكان في دول معينة.5.

ترتيب مجموعة من األرقام تصاعدي أو تنازلي.6.

رسم تشكيالت معينـة. 7.

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

واجبـــــــ

8.1

ا إلى اج فيـه تي نحـت د من التطبيـقات اـل اذـكري المزـياستخدام جمل الدوران

Page 5: خوارزميات  و مبادئ  برمجة

أنواعـه و قواعد كتابتها لتنفيذ عملية الدوران هناك مجموعة من

الجمل التي يمكن استخدام أي منها حسب الحاجـة و حسب التطبيق.و هي

1. for2. while3. do … while

هناك بعض التطبيقات يمكن الحصولعليها )تطبيقها( بكافة األنواع و هناك

البعض اآلخر ال يمكن إال بواحد منها.

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

Page 6: خوارزميات  و مبادئ  برمجة

Forصيـغـة عندما نحتاج إلى تكرار تنفيذ مجموعة من

الجمل أو األوامر بعدد محدد من المرات forفإن أنسب الصيغ هي صيغة

:تكتب كما يلي

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

for( counter ; cond. ; expr)for( counter ; cond. ; expr){ ….. }{ ….. }

بداية لتحديد تعريفه يتم عداديبدأ قد و للتكرار االنطالق

العكس أو للصغير الكبير من

التكرار استمرار شرطبقيمة غالبا مرتبط هو و

العداد

خالله من يتم محدد تعبيرليقترب العداد قيمة على التعديل

الشرط صحة كسـر من مرة كل فيمعين عدد بعد التكرار إيقاف بذلك ليتم و

Page 7: خوارزميات  و مبادئ  برمجة

forطريقة تنفيذ الدوران الدوران باستخدامif يتم من خالل فحص الشرط في كل

دورة ثم ينفذ المطلوب لمرة واحدة ثم يقوم بتعديل قيمة العداد )زيادة / نقصان( ثم يفحص الشرط و هكذا ...

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

انتبـهانتبـه

البدائيـة البدائيـة القيمة القيمةيتم يتم للعداد للعداد

فقط فقط حسابها حسابهاواحدة واحدة مرة مرة

بداية بداية عند عندال و ال الدوران و الدوران

تنفيذها تنفيذها يتكرر يتكررذلك ذلك بعد ..بعد

Page 8: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران Forباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.1

إلى مليون 1اكتبي برنامج يقوم بطباعة األرقام من

باستخدام جملة طباعة واحدة فقط.

الحل

واجبـــــــ

8.2

ارســمي مخطــــط ســــــــير ــات العمليالمناســب للمثـــــال

السابق

Page 9: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران Forباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.1

واجبـــــــ

8.3

أعـيدي برمـجة المـثال العـلوي ـمع طباـعة فـقط إلى مليـون.1األرقام الزوجيـة من

Page 10: خوارزميات  و مبادئ  برمجة

مالحظات وتنبيهات عند وضع فاصلة منقوطة بعد جملةfor المترجم يعتبر هذا � فإن

التكرار ال يقوم بتنفيذ جمل أخرى غير زيادة العداد, و بالتالي

يقوم المترجم بتنفيذ الجمل التي تلي التكرار مرة واحدة فقط.

( في كثير من األحيان.خطأ منطقيخطأ منطقيو هذا يعرف باسم )

( يعتبر خطأ برمجي ,( بفاصلة );استبدال الفاصلة المنقوطة )

(.Compilingيتم اكتشافه من المترجم عند الترجمـة )

)عند الحاجـة لجعل التكرار يشتمل أكثر من جملة )أمر برمجي

ليتم تكرارهم كجملة واحدة.} {البد من احتوائهم داخل أقواس

Page 11: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران Forباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.2

اكتبي برنامج يقوم باستقبال خمسـة أرقام صحيحة موجبة من

المستخدم و يطبع أصغرهم على أن تستخدم جملة إدخال واحدة

فقط.

الحل

واجبـــــــ

8.4

اكتـــــــــــــبي الخوارزميـــــــة المناســــــــــبة ابق. ال الـس للمـث

Page 12: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران Forباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.2

واجبـــــــ

8.5

أعيدي برمجة المثال العلوي لطباعة أكبرهم

Page 13: خوارزميات  و مبادئ  برمجة

whileجملة

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

جملةwhile من الجمل التي تمكننا من تكرار عدد من األوامر حسب عدد معين أو شرط منطقي

معين.و تكتب بالصورة التالية

int x = number;while (Condition) { // actions x--; }

int x = number;while (Condition) { // actions x--; }

كعداد استخدامه يتم متغير تعريف

التكرار سيستمر الذي الشرطعدمه من صحته على Lيتم بناًء و

تكرار كل قبل فحصه

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

ما وقت

Page 14: خوارزميات  و مبادئ  برمجة

whileطريقة عمل جملة

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

true

false

ActionsActionsCondition

Start

End

و جملةwhile كما تالحظ تقوم بفحص الشرط قبل -preكل عملية تنفيذ لألوامر و عليه تسمى على ذلك )

test.)

Page 15: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران whileباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.3

1اكتبي برنامج يقوم بطباعة األرقام الزوجيـة من

.50إلى

الحل

واجبـــــــ

8.6

ارســمي مخطــــط ســــــــير ــات العمليالمناســب للمثـــــال

السابق

Page 16: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران whileباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.3

واجبـــــــ

8.7

أعـيدي برمـجة المـثال العـلوي ـمع طباـعة فـقط .100 إلى 1األرقام األوليـة من

Page 17: خوارزميات  و مبادئ  برمجة

مالحظات وتنبيهاتعند وضع فاصلة منقوطة بعد جملة : خطأ شائع while �فإن

المترجم يعتبر هذا التكرار ال يقوم بتنفيذ جمل أخرى غير فحص

الشرط ألول مرة فقط, و بالتالي يقوم المترجم بتنفيذ الجمل

خطأ خطأ التي تلي التكرار مرة واحدة فقط. و هذا يعرف باسم )

( في كثير من األحيان.منطقيمنطقي

عدم احتواًء متغير التكرار على قيمة بدائية يسبب : خطأ شائع

خطأ برمجيخطأ برمجي

عدم وجود أمر برمجي يتم من خالله تغيير القيمة : خطأ شائع

خطأ و هذا تكرار ال نهائي تكرار ال نهائي التي يعتمد عليها الشرط يؤدي إلى

.منطقي

)عند الحاجـة لجعل التكرار يشتمل أكثر من جملة )أمر برمجي

ليتم تكرارهم كجملة واحدة.} {البد من احتوائهم داخل أقواس

Page 18: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران whileباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.4

يستقبل من المستخدم عدد من األرقام الصحيحة و يطبع أصغرهم على أن

يكون الرقم األول هو عدد األرقام التي سيدخلها المستخدم للبرنامج.

الحل

واجبـــــــ

8.8

اكتـــــــبي ــوارزمي الخ

ة المناـسبة للمثـــــــال العلــــــوي ــالطريقتي ب

ن ــدتي المعتمـ

ن.

Page 19: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران whileباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.4

واجبـــــــ

8.9

ابق ال الـس تخدم أدـخل في المـث افترـضي أن المـسكل أرقامه أكبر من مليون !! فما الحل ؟

Page 20: خوارزميات  و مبادئ  برمجة

do…whileجملة

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

جملةdo…while من الجمل التي تمكننا من تكرار عدد من األوامر حسب عدد معين أو شرط

منطقي معين.و تكتب بالصورة التالية

int x = number;do { // actions x--; } while (Condition)

int x = number;do { // actions x--; } while (Condition)

كعداد يستخدم متغير تعريفتكرار عملية في فحصه يتم علم أو

التكرار سيستمر الذي الشرطعدمه من صحته على Lيتم بناًء و

تكرار كل بعد فحصه

العلم أو العداد قيمة على تعديلمعين وقت بعد يمكن بحيث

الشرط صحة كسر

Page 21: خوارزميات  و مبادئ  برمجة

…doطريقة عمل جملة while

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

صحيح

خاطئ

ActionsActions Condition

بدايـة

نهـايــة

الشرط في جملة � يتم فحصه في كل do…whileالحظي أنتكرار بعد التكرار و ليس قبل و بالتالي فهو ينفذ على

Post-testاألقل تكرار واحد و يسمى بذلك

Page 22: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران do…whileباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.5

اكتبي برنامج يقوم بحسـاب متوسط األعداد

.50 إلى 1الصحيحة من

الحل

واجبـــــــ

8.10

اكتـــــبي الـخوارزمي

ة ــبة المناسللمثـــــال المطلوب

Page 23: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران do…whileباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.5

واجبـــــــ

8.11

بي ال السـابق , اكـت ك للمـث مسـتفيدة من فهـمامج يطبـع مجمـوع مربعـات األرقـام من 1برـن

+ ....(16+ 9+4 +1 )مثال: 50إلى

Page 24: خوارزميات  و مبادئ  برمجة

مالحظات وتنبيهاتبعد شرط جملة نسيـان وضع فاصلة منقوطةنسيـان وضع فاصلة منقوطة: خطأ شائع

do…while المترجم يعتبر هذا �ألن الفاصلة خطأ برمجي فإن

المنقوطة تعتبر جزًء من التكرار في هذه الصيغة.

عدم احتواًء متغير التكرار على قيمة بدائية : خطأ شائع

خطأ برمجيخطأ برمجييسبب

عدم وجود أمر برمجي يتم من خالله تغيير : خطأ شائع

تكرار ال نهائي تكرار ال نهائي القيمة التي يعتمد عليها الشرط يؤدي إلى

.خطأ منطقيو هذا

عند الحاجـة لجعل التكرار يشتمل أكثر من جملة )أمر

ليتم تكرارهم } {برمجي( البد من احتوائهم داخل أقواس

كجملة واحدة.

Page 25: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران do…whileباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.6

اكتبي برنامج يستقبل من الطالب خمس درجات لمساقاته

ليطبع البرنامج مجموعة درجاته و متوسطه.

الحل

واجبـــــــ

8.12

اكتـــــــبي ــوارزمي الخ

ة المناـسبة للمثـــــــال العلــــــوي ــالطريقتي ب

ن ــدتي المعتمـ

ن.

Page 26: خوارزميات  و مبادئ  برمجة

مثـالـ : تطبيق الدوران do…whileباستخدام

إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي 20112011--20102010الفرا الفرا

8.6

واجبـــــــ

8.13افترـضي أن ـعدد المـساقات ـغير مـعروف و ـسيتم ــيطبع ــامج س ــذلك البرن ــالب , ك ــه من الط إدخالللطـالب تقـديره )ممتـاز , جيـد جـدا , ...( و ليس المتوـسط ... ـقومي بتـعديل البرـنامج بـناL على ـهذه

التعديالت

Page 27: خوارزميات  و مبادئ  برمجة

whileالفارق بين صيغ

كل قبل يكون الشرط فحص)Pre-Testتكرار (

( أو ( صفر تكرر تنفذ أن لها يمكنصحة حسب المرات من أكثر

الشرط بفاصلة تنتهي أن يسمح ال

خطأ يعتبر إال و منقوطةمن كثير في منطقي

األحيان.

كل قبل يكون الشرط فحص)Pre-Testتكرار (

( أو ( صفر تكرر تنفذ أن لها يمكنصحة حسب المرات من أكثر

الشرط بفاصلة تنتهي أن يسمح ال

خطأ يعتبر إال و منقوطةمن كثير في منطقي

األحيان.

كل بعد يكون الشرط فحص)Post-Testتكرار (

( على ( تكرر تنفذ أن لها يمكنأكثر أو واحدة مرة األقل

منقوطة بفاصلة االنتهاًء ) برمجي) خطأ يعتبر إال و الزم

كل بعد يكون الشرط فحص)Post-Testتكرار (

( على ( تكرر تنفذ أن لها يمكنأكثر أو واحدة مرة األقل

منقوطة بفاصلة االنتهاًء ) برمجي) خطأ يعتبر إال و الزم

while do…while

while (condition) { // actions }

while (condition) { // actions }

do { // actions }while (condition);

do { // actions }while (condition);

Page 28: خوارزميات  و مبادئ  برمجة

breakمفهوم الجملة الجملة البرمجيـةbreak إلجبــارتستخدم

المترجم على الخروج من التكرار حتى و إن لم

يتم عدد التكرارات المخصصة له سلفًـا.

و بالتالي يخرج المترجم لتنفيذ أول أمر برمجي

بعد التكرار مباشرة.

و يمكن استخدامها في التكرارات أو جمل

switchاالختيار عامة و لكن� استخدامها في جملة

يعتبر إجبـاري.

Page 29: خوارزميات  و مبادئ  برمجة

continueمفهوم الجملة الجملة البرمجيـةcontinue إلجبــارتستخدم

المترجم على إنهاًء الدورة الحالية من التكرار

حتى و إن لم يتم الدورة لنهايتها, و لكن

المترجم يعود لبداية الدوران و يكمل من حيث

وصل العداد.

و يمكن استخدامها في التكرارات أو جمل

switchاالختيار عامة و لكن� استخدامها في جملة

يعتبر إجبـاري.

Page 30: خوارزميات  و مبادئ  برمجة

و breakالفارق بين جملة continueجملة

Page 31: خوارزميات  و مبادئ  برمجة

و breakالفارق بين جملة continueجملة

باستخدام continue

التكرار سيستمرطباعة في

من إلى 1األرقامتصبح 4 عندما و

العداد قيمةcount = 5

بقية تجاهل سيتميعود و الدورةالدوران لبدايةمن مستأنفًـا

يكمل 6العدد وطباعة

باستخدام continue

التكرار سيستمرطباعة في

من إلى 1األرقامتصبح 4 عندما و

العداد قيمةcount = 5

بقية تجاهل سيتميعود و الدورةالدوران لبدايةمن مستأنفًـا

يكمل 6العدد وطباعة

Page 32: خوارزميات  و مبادئ  برمجة

و breakالفارق بين جملة continueجملة

باستخدام break

التكرار سيستمرطباعة فيمن 1األرقام

عندما 4إلى وقيمة تصبح

count = العداد 5

من سيخرجا التكرار nمجبر

سيشاهد النهbreak

باستخدام break

التكرار سيستمرطباعة فيمن 1األرقام

عندما 4إلى وقيمة تصبح

= countالعداد 5

من سيخرجا التكرار nمجبر

سيشاهد النهbreak

Page 33: خوارزميات  و مبادئ  برمجة

ا إلنصاتكم Lشكـر

لنبدأ النقاش إعداد / أ. محمود رفيق حمدي إعداد / أ. محمود رفيق حمدي فنستفيـد...

20112011--20102010الفرا الفرا

Page 34: خوارزميات  و مبادئ  برمجة

إيمانك × ميزانكـقال اإلمام بن تيمية رحمه الله تعالى:

اإلسناد من الدين و لوال اإلسناد

لقال من شاًء ما شاًء

Page 35: خوارزميات  و مبادئ  برمجة

في المحاضرة القادمـة إن شاًء الله

تدريبات شاملة تدريبات شاملة على جمل على جمل

الدورانالدوران / 30آخر موعد لتسليم الواجبات يوم

12 / 2010Lالساعة العاشرة مساًء