Transcript ppsx

‫مديرية التربية لوالية البليدة‬
‫المعهد التكنولوجي لتكوين إطارات التربية – البليدة‬
‫الدورة التكوينية ‪ 2014/2015‬ألساتذة التعليم التقني‬
‫من إعداد األساتذة بوزاوية حميد و عيسى محمد‬
‫الخوارزميات‬
‫‪ALGORITHME‬‬
‫جــــــــــــــــــدول االعمــــــــــــــال‬
‫الخوارزميات‬
‫‪ -1‬تعريف الخوارزمية‬
‫‪ – 2‬الخوارزمية في حياتنا‬
‫‪ - 3‬مكونات الخوارزمية‬
‫امثلة ‪3 - 2 – 1‬‬
‫‪ – 4‬الحلقات التكرارية‬
‫الخوارزميات‬
‫‪ -1‬تعريف الخوارزمية‬
‫الخوارزمية هي مجموعة من الخطوات الرياضية و المنطقية‬
‫والمتسلسلة الالزمة لحل مشكلة ما‪.‬‬
‫وسميت الخوارزمية بهذا االسم نسبة إلى العالم المسلم الطاشقندي‬
‫االصل أبو جعفرمحمد بن موسى الخوارزمي الذي ابتكرها في القرن‬
‫التاسع الميالدي‪.‬‬
‫الكلمة المنتشرة في اللغات الالتينية واألوروبية هي »‪ «algorithm‬وفي‬
‫األصل كان معناها يقتصر على خوارزمية لتراكيب ثالثة فقط وهي ‪:‬‬
‫التسلسل و االختيار )‪(selection‬والتكرار‪.‬‬
‫التسلسل‪ :‬تكون الخوارزمية عبارة عن مجموعة من التعليمات‬
‫المتسلسلة‪ ،‬هذه التعليمات قد تكون إما بسيطة أو من النوعين التاليين‪.‬‬
‫االختيار‪ :‬بعض المشاكل ال يمكن حلها بتسلسل بسيط للتعليمات‪ ،‬وقد‬
‫تحتاج إلى اختبار بعض الشروط وتنظر إلى نتيجة االختبار‪ ،‬إذا كانت‬
‫النتيجة صحيحة تتبع مسار يحوي تعليمات متسلسلة‪ ،‬وإذا كانت خاطئة‬
‫تتبع مسار آخر مختلف من التعليمات‪ .‬هذه الطريقة هي ما تسمى اتخاذ‬
‫القرار أو االختيار‪.‬‬
‫التكرار‪ :‬عند حل بعض المشاكل ال بد من إعادة نفس تسلسل الخطوات‬
‫عدد من المرات‪ .‬وهذا ما يطلق عليه التكرار‪.‬‬
‫‪ – 2‬الخوارزميات في حياتنا اليومية‬
‫مثال من الحياة اليومية ‪.‬‬
‫من أقدم الخوارزميات نذكر على وجه الخصوص‪:‬‬
‫وصفات المطبخ‪.‬‬
‫تتكون الوصفة من ثالثة مراحل‪:‬‬
‫‪.1‬مقادير المكونات‬
‫‪ .2‬االعداد‬
‫‪ .3‬النتيجة‬
‫وصفة(خوارزمية) كعكة الشوكوالتة‬
‫‪ - 1‬المقادير‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫•‬
‫فانيليا ‪ ,‬ملعقة صغيرة‬
‫بيض ‪ ,4‬حبة‬
‫سكر ‪ ,1.50‬كوب‬
‫طحين ‪ ,2‬كوب‬
‫الكاكاو ‪ ,0.25‬كوب‬
‫سمن نباتي ‪ ,0.75‬كوب‬
‫زيت نباتي ‪ ,0.25‬كوب‬
‫حليب سائل ‪ ,1.25‬كوب‬
‫ملح ‪ ,0.25‬ملعقة صغيرة‬
‫‪ – 2‬تجميع المكونات‬
‫ سخني الفرن إلى ‪ 350‬فهرنهايت ثم عند ادخال القالب إلى الفرن اخبزيه على ‪300‬‬‫فهرنهايت‬
‫ جهزي قالب كيك مستدير قياس ‪ 26‬سم بدهنه بطبق ٍة خفيف ٍة من السمن ثم رشي طبقة خفيفة‬‫من الطحين ووزعيها جيدا في‬
‫جميع أطراف وزوايا القالب‪.‬‬
‫ ضعي في وعاء الخالط جميع المكونات معا أي البيض والزيت والسمن والكاكاو والطحين‬‫والبيكنج باودر والفانيليا‬
‫والملح والحليب واخلطي جيدا" حتى يصبح الخليط ناعما" ومتجانسا"‬
‫ صبي الخليط في القالب‪.‬‬‫ أخبزي لمدة ‪ 55-50‬دقيقة‪.‬‬‫ خرجي الكيكة من الفرن واتركيها لمدة ‪ 10‬دقائق في القالب حتى تبرد قليال‪ .‬ثم اقلبيها‬‫واتركيها لتبرد تماما"‬
‫‪ -‬نصب عليها فدج الشوكوالته‪.‬‬
‫‪ – 3‬النتيجـــة‬
‫‪ - 3‬مكونات الخوارزمية‬
‫الخوارزمية موجودة عموما على الشكل التالي‪:‬‬
‫تعريف متغير ‪: Déclaration des variables:‬‬
‫وصف بالتفصيل للعناصر التي سوف تستخدم في الخوارزمية‪.‬‬
‫التهيئة أو إدخال البيانات‪: Initialisation ou Entrée des :‬‬
‫‪données‬‬
‫استعادة البيانات و ‪ /‬أو تهيئتها‪.‬‬
‫معالجة البيانات‪: Traitement des données:‬‬
‫تنفيذ العمليات الالزمة لحل هذه المشكلة‪.‬‬
‫إخراج‪: Sortie:‬‬
‫عرض النتائج‬
‫مثال رقم ‪:1‬‬
‫قم بإيجاد حاصل جمع عددين ثم اطبع الناتج ؟‬
‫‪1-‬البداية‬
‫الحـــــــــل‬
‫‪2‬قم بتعريف العدد االول‬‫‪3‬قم بتعريف العدد الثاني‬‫‪4‬قم بتعريف الناتج‬‫‪5‬الناتج=العدد االول‪+‬العدد الثاني‬‫‪6‬قم بطباعه الناتج‬‫‪7-‬النهاية‬
‫مثـــــــــال رقم ‪:2‬‬
‫قم بايجاد حاصل ضرب عددين يقوم المستخدم بأيجادها ومن ثم قم‬
‫بطباعة الناتج؟‬
‫الحــــــــــــل‬
‫‪1‬البداية‬‫‪5‬قم بطلب ادخال العدد االول‬‫‪2‬قم بتعريف العدد االول‬‫‪6‬قم بطلب ادخال العدد الثاني‬‫‪3‬قم بتعريف العدد الثاني‬‫‪4-‬قم بتعريف الناتج‬
‫‪7‬الناتج=العدد االول* العدد الثاني‬‫‪8‬قم بطباعة الناتج‬‫‪9-‬النهاية‬
‫مثال رقم ‪:3‬‬
‫قم بعمل برنامج يسمح للمستخدم بادخال قيمة عدد زوجي ومن‬
‫ثم يقوم بطباعته؟‬
‫الحـــــــــل‬
‫‪1‬البداية‬‫‪6‬اذا كان العدد غير زوجي‪----‬عد الى الخطوة ‪2‬‬‫‪7‬اذا كان العدد زوجي‬‫‪2‬قم بتعريف العدد‬‫‪3‬قم بتعريف الناتج‬‫‪4-‬قم بأدخال العدد‬
‫‪8‬اطبع العدد‬‫‪9-‬النهاية‬
‫‪5-‬هل العدد يمكن ان يتم تقسيمه على ‪ 2‬بدون باقي(زوجي)؟‬
‫‪ – 4‬الحـــلـقــــات الـتـكـــــراريـــــة‬
‫‪ – 1-4‬الحـــلـقــــة ‪POUR‬‬
‫عموما يتم استخدام هيكل المتكررة ‪Pour‬مرارا وتكرارا عندما‬
‫نريد تغيير قيمة متغير معرف‬
‫من قيمة أولية )‪( valeur initiale‬إلى قيمة نهائية معرفة‬
‫)‪ ،)valeur finale‬أثناء تنفيذ سلسلة من التعليمات على قيمة هذا‬
‫المتغير ‪.‬تشير قيمة الزيادة ‪valeur_incrément‬للتغيير الذي‬
‫يحدث عل المتغير عند تطبيقها في نهاية كل تكرار‪.‬‬
Structure répétitive POUR
POUR variable = valeur_initiale JUSQU'À valeurfinale INCRÉMENT valeur_incrément FAIRE
Séquence d'instructions
FINPOUR
‫المتـغـيــــــرات‬
‫‪ Cm‬من النوع رقــــــم‬
‫‪ Pouce‬من النوع رقـــم‬
‫بداية الخوارزمية‬
‫بداية الحلقة ‪POUR‬‬
‫من اجل ‪ cm‬يبدأ من ‪ 1‬الى ‪10‬‬
‫بداية الحلقة ‪POUR‬‬
‫‪ Pouce‬يتخذ القيمة ‪2.54*cm‬‬
‫إظهار القيمة ‪Pouce‬‬
‫نهــايـــة الحـلـقـــة ‪POUR‬‬
‫نهــايـة الخوارزمية‬
‫مـــثــــــــال‬
‫‪ – 2-4‬الحــــلـقــة ‪TANT QUE‬‬
‫الحلقة )‪ (Tant que‬بنية تكرارية تتكون من الكلمات‬
‫التالية ‪ TANT QUE ,FAIRE‬و ‪FINTANTQUE‬‬
‫تستعمل في حالة وجود شرط وتعليمات متسلسلة للتنفيذ ما دام‬
‫الشرط صحيحا‪.‬‬
Structure répétitive TANTQUE
TANTQUE condition FAIRE
Séquence d'instructions
FINTANTQUE
‫مـــثــــــــال‬
‫المتـغـيــــــرات‬
‫‪ somme‬من النوع رقــــــم‬
‫‪ valeur‬من النوع رقـــم‬
‫بداية الخوارزمية‬
‫‪Somme=0‬‬
‫بداية الحلقة ‪TANTQUE‬‬
‫قـــراءة القـيـمـة ‪valeur‬‬
‫‪Somme=somme+valeur‬‬
‫إظهار القيمة ‪somme‬‬
‫نهــايـــة الحـلـقـــة ‪TANTQUE‬‬
‫نهــايـة الخوارزمية‬
‫‪ – 3-4‬الحــلـقــة ‪RÉPÉTER-JUSQU'À‬‬
‫الحلقة ‪ REPETER JUSQU’A‬تشبه الحلقة ‪ TANT QUE‬لكن‬
‫الفرق بينهما أن الحلقة األولى تسمح بتنفيذ سلسلة من التعليمات‬
‫مرة واحدة على األقل بغض النظر عن قيمة الشرط ‪.‬‬
Structure répétitive RÉPÉTER-JUSQU'À
RÉPÉTER
Séquence d'instructions
JUSQU'À condition
‫المتـغـيــــــرات‬
‫مـــثــــــــال‬
‫‪ X‬من النوع رقــــــم‬
‫بداية الخوارزمية‬
‫بــدايــة الحـلـقــة ‪REPETER JUSQU’A‬‬
‫قـــراءة القـيـمـة ‪x‬‬
‫الشــــــــرط ‪JUSQU’A x>0‬‬
‫نـهـايـة الحـلـقـة ‪REPETER JUSQU’A‬‬
‫كتابة «عدد موجب»‬
‫نهــايـة الخوارزمية‬
‫نهاية العرض النظري‬
‫برمجية ‪Algobox‬‬
‫‪ - 1‬تعريف برمجية ‪Algobox‬‬
‫‪ - 2‬مؤلف البرمجية‬
‫‪ - 3‬تحميـــل برمجية ‪Algobox‬‬
‫‪ - 4‬تنفيذ برمجية ‪Algobox‬‬
‫‪ - 5‬وصف واجهة برمجية ‪Algobox‬‬
‫‪ - 1‬تعريف برمجية ‪Algobox‬‬
‫‪Algobox‬هو برنامج تعليمي يساعد على إنشاء الخوارزميات‪،‬‬
‫وهو متاح ألنظمة لينكس‪ ،‬نظام التشغيل ‪ Mac OS X‬ويندوز كما‬
‫يمكننا تشغيله على مفتاح ‪. USB‬‬
‫تستخدم برمجية ‪Algobox‬لغة خوارزمية باللغة الفرنسية وواجهة‬
‫مستخدم رسومية بسيطة ومريحة‪ ،‬يمكننا هذا البرنامج من تصميم‬
‫واختبار الخوارزميات التي يمكن مواجهتها في تدريس الرياضيات في‬
‫المدرسة الثانوية‪.‬‬
‫‪ Algobox‬مبني على الكود المصدري للخوارزميات خطوة بخطوة‬
‫باستخدام أوامر جاهزة لالستخدام‬
‫( قراءة ‪ ,‬عرض‪ ,‬تعيين‪ ,‬الدالة إذا ‪......‬إذن ‪,‬الحلقات التكرارية ‪...‬الخ)‬
‫و هذا يسمح للمبتدئين بالتركيز على منطق الخوارزميات بدال من تعلم لغة‬
‫معقدة من أجل االقتراب من مختلف الحاالت الرياضية التي يمكن مواجهتها‬
‫في المدرسة الثانوية‪.‬‬
‫ويشمل ‪Algobox‬أيضا القدرة على استخدام الدوال العددية و رسم‬
‫النقاط و المستقيمات على معلم محدد‪.‬‬
Auteur d’algobox ‫ مؤلف البرمجية‬- 2
Pascal Brachet
L'auteur est professeur de mathématiques
au lycée Bernard Palissy d'Agen.
Auteur d’algobox ‫مؤلف البرمجية‬
‫‪ - 3‬تحميـــل برمجية ‪Algobox‬‬
‫لتحميل البرمجية يمكننا تصفح الموقع الرسمي لصاحب البرمجية‬
‫على الرابط التالي ‪:‬‬
‫‪www.xm1math.net‬‬
www.xm1math.net‫نفتح الصفحة‬
Algobox0.9pour Windows‫نختار‬
Démerrer ‫ننقر على‬
‫‪ - 4‬تنفيذ برمجية ‪Algobox‬‬
‫ينفذ البرنامج من خالل االختصار على سطح المكتب‬
‫او باتباع المراحل التية ‪:‬‬
‫‪Démarrer --Tous les programmes --Algobox‬‬
‫‪ - 5‬وصف واجهة برمجية ‪Algobox‬‬
‫يشمل ‪ Algobox‬محررا على شكل شجرة هرمية‪ ،‬حيث ندخل‬
‫معظم األوامر عن طريق الضغط على األزرار الموجودة على‬
‫واجهة المستخدم الرسومية الموافقة للهياكل الحسابية‪.‬‬
‫كما يمكننا ‪ Algobox‬من ادراج الكود مباشرة على محرر‬
‫النصوص التقليدي دون استعمال األوامر الجاهزة االستخدام‪.‬‬
‫التصريح بالمتغيرات ‪Variables‬‬
Type deVariables ‫نختار نوع المغير‬
‫يظهر على قائمة المتغيرات‬
‫‪a EST DU TYPE NOMBRE‬‬
Début Algorithme ‫بداية الخوارزمية‬
‫إلضافة سطر ننقر على ‪Nouvelle ligne‬‬
‫نقر على ‪OK‬‬
‫لقراءة متغيرننقر على ‪Ajouter Lire variable‬‬
‫نحدد المتغير ‪a‬‬
‫نمنح القيمة )‪Sin(30‬‬
Supprimer ligne/Bloc ‫لحذف السطر ننقر على‬
‫نقر على ‪OK‬‬
‫الظهار قيمة متغيرننقر على ‪AFFICHER variable‬‬
‫نقر على ‪OK‬‬
‫الظهار نــص ننقر على ‪AFFICHER Message‬‬
‫الختبار الخوارزمية ننقر على ‪Tester Algorithme‬‬
‫الختبار الخوارزمية ننقر على ‪Lancer Algorithme‬‬
‫النتيجــــــة …‪Sin(30)=-0.988‬‬
‫تحويل نص الخوارزمية الى ملف ‪Pdf‬‬
‫تحديد اسم الملف‪Sinus‬‬
‫للحفظ الننقر على ‪Enregistrer‬‬
‫نص الخوارزمية على شكل ملف ‪Pdf‬‬
‫استعمــــال الدالة ‪Si‬‬
‫نقر على ‪OK‬‬
‫نقر على ‪OK‬‬
‫الستعمال الدالة ننقر على ‪Ajouter SI…ALORS‬‬
‫ندرج الشــرط ‪X>0‬‬
‫إلضافة سطر ننقر على ‪Nouvelle ligne‬‬
OK ‫نقر على‬
X est positive
AFFICHER Message ‫إلظهار نــص ننقر على‬
‫نقر على ‪OK‬‬
‫إلظهار نــص ننقر على ‪AFFICHER Message‬‬
‫الشـــــرط ‪SI x<0‬‬
‫‪X est négative‬‬
‫الختبار الخوارزمية ننقر على ‪Lancer Algorithme‬‬
X=-20
‫النتيجــــــة‬
X est négative
‫استعمــــــال دالة عــــدديـــة‬
‫فتـــــح الصفحــــــة ‪Utiser une fonction numerique‬‬
‫منح القيمة‬
‫)‪Sqrt(2*x+1‬‬
‫للدالة‬
‫)‪F1(x‬‬
‫المتغيـر ‪y‬‬
‫نـكــتــــب )‪F1(x‬‬
‫الختبار الخوارزمية ننقر على ‪Lancer Algorithme‬‬
‫‪X=5‬‬
‫النتيجــــــة‬
‫‪y =3.31….‬‬
‫رسم نقطة على معلم متعامد و متنجانس‬
Dessiner dans un repère ‫لرسم نقطة ننقر على‬
‫الترتيب ‪Y=3‬‬
‫الفاصلة ‪X=2‬‬
‫ننقرعلى‬
‫‪Ajouter Tracer Point‬‬
‫الختبار الخوارزمية ننقر على ‪Lancer Algorithme‬‬
‫النقطة )‪(2,3‬‬
‫رسم مستقيم على معلم متعامد و متجانس‬
Ajouter Tracer Segment ‫لرسم مستقيم ننقر على‬
‫نختار ترتيب‬
‫االنطالق‬
‫‪y=0‬‬
‫نختار ترتيب‬
‫النهاية‬
‫‪y=10‬‬
‫نختار اللون االحمر‬
‫‪Rouge‬‬
‫نختار فاصلة‬
‫االنطالق‬
‫‪x=0‬‬
‫نختار فاصلة‬
‫النهاية‬
‫‪x=10‬‬
‫الختبار الخوارزمية ننقر على ‪Lancer Algorithme‬‬
‫رسم مستقيــــــــم‬
‫تنفيذ ‪ Algobox‬من خالل ادراج الكود‬
‫مباشرة على محرر النصوص التقليدي ‪.‬‬
Mode éditeur texte ‫ننقر على‬
‫برنامج حساب المعدل باستعمال الواجهة‬
‫‪Mode éditeur texte‬‬
‫برنامج حساب المعدل باستعمال الواجهة‬
‫‪Mode Normal‬‬
pour: ‫الحلـــقـــة‬
Boucle pour
n est du type
nombre
n=1
n=10
a
n
Nouvel ligne
POUR ‫الحلقة‬
DEBUT_ POUR
FIN_POUR
Ajouter retour aligne
‫سورة االخالص‬
Nouvel ligne
Ajouter afficher
message
POUR ‫الحلقة‬
Tester Algorithme
Lancer
Algorithme
Tant que:‫الحلــــقـــة‬
Boucle Tant que
Somme est du type nombre
Val est du type nombre
‫الشــــــــــرط‬
Somme<100
Nouvel ligne
‫الحلقة‬
TANTQUE
DEBUT_ TANTQUE
Somme<100
FIN_TANTQUE
val
Ajouter
lire variable
Somme
Affecter
valeur a variable
Nouvel ligne
Somme+val
Somme=
Nouvel ligne
Ajouter afficher
message
Ajouter retour aligne
Ajouter afficher
variable
somme
Nouvel ligne
Val=20
Somme=20
Val=60
Somme=120
Val=40
Somme=60
Lancer
Algorithme
‫األساتذة بوزاوية حميد و عيسى محمد‬