You are on page 1of 12

‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم

اآللي ‪2‬‬

‫الدرس األول‪ :‬مفاهيم عامة عن الخوارزميات‬

‫تمهيد‬
‫الحسابية‬ ‫المشاكل‬ ‫مختلف‬ ‫لحل‬ ‫األساسية‬ ‫والمفاهيم‬ ‫األبجديات‬ ‫الفصل‬ ‫هذا‬ ‫في‬ ‫للطالب‬ ‫سنقدم‬
‫)‪ (Problèmes mathématiques‬على وجه الخصوص وهذا باالعتماد على الخوارزمية والذي ينسب أصل الكلمة إلى‬
‫مخترعها فهي مشتقة من اسم العالم الفارسي "أبو عبد هللا محمد بن موسى الخوارزمي" الذي ابتكرها في القرن التاسع‬
‫الميالدي‪ .‬وقد برع هذا العالم في علم الفلك والرياضيات وترك بصمات في التراث الحضاري العالمي‪ .‬كما وضع‬
‫الخوارزمي مبادئ علم الجبر وأّلف كتاب "الجبر والمقابلة" وأعطى الجبر اسمه حتى أصبحت الكلمة المنتشرة في‬
‫جميع اللغات تقريبا‪ .‬وفي تلك اآلونة أطلق اسم الخوارزميات على جداول الضرب والقسمة والحساب العشري‪ .‬حيث نجد‬
‫كلمة خوارزمية منتشرة في اللغات الالتينية واألوروبية تحت اسم )‪ (Algorithme‬وظل هذا االسم متداوال مدة قرون حتى‬
‫تطور هذا االسم وأصبح مرتبط بكلمة "البرمجة"‪.‬‬
‫ّ‬

‫‪ .1.1‬مفاهيم وتعاريف‬
‫سنتطرق في هذا الجزء إلى مجموعة من التعاريف والمفاهيم ذات الصلة بالخوارزميات‪.‬‬

‫‪.1.1.1‬تعريف الخوارزميات‬
‫ال نجد تعريفا موحدا للخوارزمية‪ ،‬فيمكن أن نعرفها على أنها‪:‬‬
‫‪ -‬مجموعة من الخطوات الرياضية والمنطقية المتسلسلة الالزمة لحل مشكلة ما‪.‬‬
‫‪ -‬عبارة عن خطة أو طريقة حل مشكل ما‪ ،‬بشرط أن تكون هذه الخطة قابلة لتنفيذ من قبل اآللة )‪.(Exécutable‬‬
‫‪ -‬عبارة عن مجموعة من الخطوات أو التعليمات المتسلسلة والمحدودة التي تسمح لنا بحل مسألة معينة اعتبا ار‬
‫من معطيات ابتدائية‪ ،‬ودون التقيد بلغة برمجة محددة‪.‬‬

‫وتقتصر الخوارزمية في حل المشاكل على إحدى التركيبات المنطقية الثالثة‪:‬‬


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

‫من النوعين التاليين‪( .‬سنتطرق بالتفصيل لهذه التركيبة في الدرس الثاني)‪.‬‬


‫االختيار‪ :‬بعض المشاكل ال يمكن حلها بتسلسل بسيط للتعليمات‪ ،‬وقد تحتاج إلى اختبار بعض الشروط وتنظر‬ ‫‪‬‬

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

‫بالتكرار‪( .‬سنتطرق بالتفصيل لهذه التركيبة في الدرس الرابع)‪.‬‬

‫‪1‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫‪ .2.1.1‬تحليل عناصر المشكلة‬


‫يمكن تحليل عناصر المشكلة كما يلي‪:‬‬
‫‪ -‬فهم طبيعة المشكل‪.‬‬
‫‪ -‬مرحلة التفكيك وتبسيط المشكل إلي مشكالت صغيرة‪.‬‬
‫‪ -‬ربط المشكل بمواصفات خاصة تهدف إلي تحديد البيانات الالزمة أو المعطيات‪ ،‬تحديد النتيجة أي المطلوب‬
‫ثم الطريقة المتبعة لحل المشكل‪.‬‬
‫ومن ّ‬
‫‪ .3.1.1‬مراحل حل المشكلة‬
‫وهي الخطوة األساسية لحل مسألة وتعتمد على ثالثة مراحل وهي‪:‬‬
‫‪ -‬تحديد المدخالت )‪(Entrées‬؛ وذلك بإدخال البيانات باستخدام أحد األجهزة المحيطية لإلدخال مثل‪ :‬لوحة‬
‫المفاتيح‪.‬‬
‫‪ -‬تحديد المعالجات )‪(Traitements‬؛ ويتم فيها التعامل مع البيانات التي تم الحصول عليها في مرحلة المدخالت‬
‫وذلك بتنفيذ العمليات الحسابية عليها‪.‬‬
‫‪ -‬إظهار المخرجات )‪(Sorties‬؛ ويتم هنا إخراج النتائج أو إظهارها وهذا باستخدام أحد األجهزة المحيطية لإلخراج‬
‫مثل‪ :‬الطابعة أو شاشة الحاسوب‪ .‬وهي المرحلة األخيرة والتي تمثل الهدف من كتابة الخوارزمية أو البرنامج‪.‬‬

‫ويمكن تلخيص المراحل السابقة من خالل الشكل التوضيحي التالي‪:‬‬

‫إخراج النتائج‬ ‫المعالجات‬ ‫إدخال البيانات‬

‫‪ .4.1.1‬خصائص الخوارزمية‬
‫تتصف الخورازمية بالخصائص التالية‪:‬‬
‫واضحة‪ :‬يجب أن تكون مفهومة‪.‬‬ ‫‪‬‬

‫رفيعة المستوى‪ :‬حتى يمكن ترجمتها بكل سهولة إلي أي لغة من لغات البرمجة‪.‬‬ ‫‪‬‬

‫دقيقة‪ :‬يجب أن ال يكون غموض في أي عنصر من عناصر الخوارزمية‪.‬‬ ‫‪‬‬

‫موجزة‪ :‬من المستحسن أن ال تكون كبيرة فإن كانت كذلك فيمكن تقسيمها إلى خوارزميات فرعية حتى ال يكون‬ ‫‪‬‬

‫هناك خلط ‪.‬‬


‫منظمة‪ :‬يجب أن تكون منظمة بحيث يمكننا تحديد مختلف األجزاء التي تتكون منها الخوارزمية‪.‬‬ ‫‪‬‬

‫‪ .5.1.1‬شكل كتابة الخوارزمية‬


‫هناك ثالثة طرق للتعبير عن الخوارزميات‪ ،‬والمتمثلة في‪:‬‬
‫الطريقة الكالمية )‪ :(Naturelle‬وهي عبارة عن كتابة الخوارزميات على شكل خطوات وذلك باستعمال اللغة‬ ‫‪‬‬

‫المتداولة من طرف اإلنسان‪.‬‬

‫‪2‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫مثال‪:‬‬
‫أكتب الخوارزمية بالطريقة الكالمية التي تسمح لنا بإيجاد قيمة المتغير ‪ y‬علما أن قيمة المتغير ‪ x‬هي قيمة معلومة‬
‫للتعبير الرياضي اآلتي ‪:‬‬
‫)‪(𝑥 2 + 7‬‬
‫=‪y‬‬ ‫‪\x ∈ R‬‬
‫)‪𝑥(𝑥 + 2‬‬
‫‪ -‬الخطوة األولى‪ :‬قم بإدخال قيمة المتغير ‪.x‬‬
‫‪ -‬الخطوة الثانية‪ :‬أحسب قيمة المقام ثم ضعها في المتغير ‪ a‬أي )‪𝑎 = 𝑥(𝑥 + 2‬‬
‫‪ -‬الخطوة الثالثة‪ :‬إذا كان ‪ 𝑎 = 0‬أكتب المسألة ليس لديها حل في ‪.R‬‬
‫‪b= 𝑥 2 + 7‬‬ ‫‪ -‬الخطوة الرابعة‪ :‬إذا كان ‪ 𝑎 ≠ 0‬أحسب قيمة البسط ثم ضعها في المتغير ‪ b‬أي‬
‫‪ -‬الخطوة الخامسة‪ :‬أحسب قيمة ‪ y‬و التي هي‬
‫‪b‬‬
‫=𝑦‬ ‫‪a‬‬

‫‪ -‬الخطوة السادسة‪ :‬أكتب قيمة ‪y‬‬

‫طريقة المخطط االنسيابي )‪ :(Organigramme‬وهي كتابة الخوارزميات باستعمال مجموعة من المخططات‬ ‫‪‬‬

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

‫تستخدم هذه األشكال لمعرفة اتجاه الخوارزمية‪.‬‬

‫يستخدم هذا الشكل في دراسة البنيات الشرطية‪.‬‬

‫‪3‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫حل المثال السابق وذلك باستعمال طريقة المخطط االنسيابي‪.‬‬

‫‪Début‬‬

‫‪Entrer la valeur de x‬‬

‫)‪𝑎 ∶= 𝑥(𝑥 + 2‬‬

‫‪oui‬‬ ‫‪non‬‬
‫‪si‬‬

‫)"‪Afficher("Pas de sol‬‬ ‫‪𝑥2 + 7‬‬


‫=∶ 𝑦‬
‫𝑎‬

‫)‪Afficher(y‬‬

‫‪Fin‬‬

‫طريقة الشبه رمزي )‪ :(Pseudo-code‬وهي كتابة الخوارزميات باستعمال الكلمات والرموز‪ ،‬ما يعرف أيضا باللغة‬ ‫‪‬‬

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

‫‪ .6.1.1‬بنية الخوارزمية‬
‫تتكون الخوارزمية من ثالثة أقسام رئيسية وهي‪:‬‬
‫رأس الخوارزمية )‪ :(Entête de l’algorithme‬يتكون من الكلمة المخصصة )‪ (Algorithme‬ثم يليها اسم‬ ‫‪‬‬

‫الخوارزمية‪.‬‬
‫التصريحات أو اإلعالنات )‪ :(Déclarations‬يتكون من المتغيرات و الثوابت التي تستخدمها الخوارزمية‪.‬‬ ‫‪‬‬

‫سلسلة التعليمات )‪ (Suite d’instructions‬أو جسم الخوارزمية )‪ :(Corps de l’algorithme‬يتمثل في‬ ‫‪‬‬

‫مجموعة التعليمات المراد تنفيذها وتكون محصورة بين الكلمتين المخصصتين ‪( Début‬البداية) و‪( Fin‬النهاية)‪.‬‬
‫وعليه تكون بنية الخوارزمية كالتالي‪:‬‬

‫‪4‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫‪ .2.1‬مفهوم الكائنات (المتغيرات والثوابت)‬


‫تنقسم الكائنات )‪ (Objets‬إلى نوعين هما‪ :‬المتغيرات )‪ (Variables‬والثوابت )‪ .(Constantes‬ولتقريب الفهم نقدم المثال‬
‫البسيط الذي يطلب منا إعداد خوارزمية تسمح بجمع عددين ‪ A‬و‪ B‬ووضع النتيجة في ‪.C‬‬
‫لكتابة هذه الخوارزمية يجب إتباع المراحل التالية‪:‬‬
‫‪ -‬أدخل العدد األول ‪(Introduire le premier nombre A) A‬؛‬
‫‪ -‬أدخل العدد الثاني ‪(Introduire le deuxième nombre B) B‬؛‬
‫‪ -‬اجمع ‪ A+B‬وضع النتيجة في ‪(Additionner A+B et mettre le résultat dans C) C‬؛‬
‫‪ -‬أعرض أو أنشر أو أكتب ‪.(Afficher ou Editer ou Ecrire C) C‬‬

‫فحسب الخوارزمية السابقة فإننا نجدها تتكون أساسا من‪:‬‬


‫‪ -‬األفعال )‪ :(Actions‬أدخل‪ ،‬اجمع‪ ،‬أعرض (أنشر‪ ،‬أكتب)‪ ،‬والتي تشكل بمجملها مجموع التعليمات‪.‬‬
‫‪ -‬الكائنات )‪.C ،B ،A :(Objets‬‬

‫وتستعمل الخوارزمية عدد معين من الكائنات والتي يجب أن تكون محددة بطريقة دقيقة هذه الكائنات تتمثل في‪:‬‬
‫‪ -‬كائنات اإلدخال )‪ :(Les objets d’entrée‬معطيات مقدمة للخوارزمية (حسب مثالنا السابق ‪ A‬و‪)B‬؛‬
‫‪ -‬كائنات اإلخراج )‪ :(Les objets de sortie‬النتائج المحققة من طرف الخوارزمية حسب مثالنا السابق ‪)C‬؛‬
‫(الحسابات‬ ‫‪ -‬الكائنات الداخلية )‪ :(Les objets internes‬الكائنات التي تستخدم للمعالجة الداخلية في الخوارزمية‬
‫الوسيطية‪ ،‬الثوابت)‪.‬‬

‫‪ .1.2.1‬خصائص الكائن‬
‫يتميز الكائن بثالث خاصيات‪ ،‬نحددها فيما يلي‪:‬‬
‫عرف )‪ُ :(Le nom ou Identificateur‬يستخدم اسم الكائن لإلشارة إليه في الخوارزمية‪ ،‬وحتى يكون االسم‬ ‫الم ِّ‬
‫‪ .1‬االسم أو ُ‬
‫صحيحا يجب مراعاة مجموعة من القواعد التقنية التالية‪:‬‬

‫‪5‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫‪ -‬أن يبدأ بحرف التيني وليس برقم؛‬


‫‪ -‬أن ال يحتوي على فراغ‪ ،‬في حالة ما إذا كان االسم متكون من كلمتين أو أكثر؛‬
‫‪ -‬أن ال يكون من الكلمات المحجوزة أو المخصصة‪ ،‬مثل‪Ecrire ،Lire ،Fin ،Début :‬؛‬
‫‪ -‬أن ال يحتوي االسم على حروف ذات عالمات نطقية )‪(Lettres accentuées‬؛‬
‫‪ -‬أن ال يحتوي على عالمات خاصة‪ ،‬مثال‪ :‬األس ‪ ،B3‬المؤشر ‪ ،# ،A"،A’ ،! ،B3‬ماعدا الرمز '_'‪.‬‬
‫‪ -‬أن ال يتكرر استخدام نفس االسم مرتين في الخوارزمية؛‬
‫‪ -‬ومن األحسن أن يعبر االسم على محتواه وبالمقابل ال يكون طويال جدا (ال يتعدى ‪ 255‬حرفا)‪.‬‬

‫مالحظة‪:‬‬
‫القائم بإعداد الخوارزمية له الحرية في تسمية الكائنات (المتغيرات والثوابت)‪ ،‬بشرط أن يحترم القواعد التقنية السابقة‬
‫الذكر‪.‬‬

‫مثال‪:‬‬
‫قدمت لك مجموعة من االقتراحات التالية لكتابة اسم متغيرة يتم فيها حفظ عمر شخص‪.‬‬

‫المطلوب‪:‬‬
‫حدد الصحيح والخاطئ منها مع توضيح علة الخطأ‪.‬‬
‫‪1. A‬‬
‫‪2. 3A‬‬
‫‪3. A2‬‬
‫‪4. Âge‬‬
‫‪5. Age personne‬‬
‫‪6. Age‬‬

‫‪ .1‬االسم تقنيا صحيح‪ ،‬لكن ال يعبر عن محتوى المتغيرة‪ ،‬فإذا لم ُيق أر نص المثال أعاله سوف ال أعرف على ماذا‬
‫يدل اسم المتغيرة‪.‬‬
‫‪ .2‬االسم خاطئ ‪ ،‬يجب ال يبدأ االسم برقم وانما بحرف التيني‪.‬‬
‫‪ .3‬االسم خاطئ‪ ،‬يجب أن ال يحتوي االسم على عالمات خاصة (األس)‪.‬‬
‫نطقية‬ ‫عالمات‬ ‫ذات‬ ‫حروف‬ ‫على‬ ‫االسم‬ ‫يحتوي‬ ‫ال‬ ‫أن‬ ‫يجب‬ ‫خاطئ‪،‬‬ ‫‪ .4‬االسم‬
‫)‪.(Accent circonflexe sur la lettre A‬‬
‫بـالرمز‬ ‫‪ .5‬االسم خاطئ‪ ،‬ال يجب أن يكون هناك فراغ في اسم المتغيرة‪ ،‬وان كان وال بد يجب أن يعوض الفراغ‬
‫_‪ ،‬على النحو التالي‪ .Age_personne :‬أو تدمج الكلمتين كالتالي‪ ،Agepersonne :‬ونفضل الطريقة األولى‪.‬‬
‫‪ .6‬االسم صحيح‪ ،‬يحترم جميع القواعد التقنية‪.‬‬

‫‪ .2‬النوع )‪ :(Type‬يميز نوع الكائن مجموعة القيم المسموح بها بالنسبة لهذا الكائن وكذا العمليات المسموح بها‪ .‬ويمكن‬
‫حصر النوع فيما يلي‪:‬‬

‫‪6‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫‪ -‬العدد الصحيح )‪ :(Entier‬هي جميع األعداد الصحيحة الموجبة والسالبة؛‬


‫‪ -‬العدد الحقيقي )‪ :(Réel‬هي جميع األعداد التي تحمل جزء صحيح وجزء عشري‪.‬‬
‫‪ -‬الحرفي )‪ :(Caractère‬يحمل هذا النوع حرف واحد )‪ ،(Un caractère‬والذي يجب أن يوضع بين مزدوجتين‪.‬‬
‫‪ -‬سلسلة حروف )‪ :(Chaîne de caractères‬يشمل هذا النوع على حرفين أو أكثر‪ ،‬والتي يجب أن توضع بين‬
‫مزدوجتين‪.‬‬
‫‪ -‬البولياني أو المنطقي )‪ :(Booléen‬يأخذ قيمتين فقط إما صحيح )‪ (Vrai‬أو خطأ )‪.(Faux‬‬
‫يمكن تلخيص ما سبق في الجدول التالي مدعما بأمثلة‪:‬‬

‫األبجدي الرقمي‬ ‫الرقمي‬


‫البولياني‪/‬المنطقي‬ ‫)‪(Alphanumérique‬‬ ‫)‪(Numérique‬‬ ‫النوع‬
‫)‪(Booléen/Logique‬‬ ‫سلسلة حروف‬ ‫حرف‬ ‫حقيقي‬ ‫صحيح‬ ‫)‪(Type‬‬
‫)‪(Chaîne de caractères) (Caractère‬‬ ‫)‪(Réel‬‬ ‫)‪(Entier‬‬
‫"‪"LMD‬‬ ‫"‪"A" "b‬‬
‫‪16.02‬‬ ‫‪-34‬‬ ‫أمثلة عن القيم‬
‫‪Vrai‬‬ ‫"‪"Informatique‬‬ ‫"‪"2‬‬
‫‪-101.25‬‬ ‫‪50‬‬ ‫‪Exemples‬‬
‫‪Faux‬‬ ‫"‪"32‬‬ ‫"@"‬ ‫"?"‬
‫‪4.1‬‬ ‫‪32‬‬ ‫‪de valeurs‬‬
‫"‪"#2020‬‬ ‫" "‬

‫‪ .3‬القيمة )‪ :(Valeur‬تمثل المحتوى أو مضمون الكائن‪ ،‬فالكائن الذي تكون قيمته غير قابلة للتعديل أو التغيير طيلة‬
‫إعداد وتنفيذ الخوارزمية فهو عبارة عن ثابتة‪ .‬وكل كائن الذي تكون قيمته قابلة للتعديل أو التغيير طيلة إعداد وتنفيذ‬
‫الخوارزمية فهو عبارة عن متغيرة‪.‬‬

‫مالحظات‪:‬‬
‫‪ -‬كل كائن له اسم ثابت‪ ،‬نوع ثابت وقيمة ثابتة فهو عبارة عن ثابتة‪ .‬وكل كائن له اسم ثابت‪ ،‬نوع ثابت وقيمة متغيرة‬
‫فهو عبارة عن متغيرة‪.‬‬
‫‪ -‬المتغيرة تظهر على أنها عبارة عن علبة أو مكان في الذاكرة المركزية للحاسب تحمل اسما ما‪.‬‬
‫‪ -‬يتحدد نوع المتغيرة بطبيعة القيمة التي تحملها‪ ،‬فإذا كانت لدينا مثال القيمة ‪ 10‬فإن نوع المتغيرة يكون حتما من نوع‬
‫القيمة‬ ‫صحيح )‪ ،(La variable est de type entier‬وال يمكن بأي حال من األحوال أن يكون نوعا آخرا‪ .‬واذا كانت‬
‫‪ Imen‬فإن نوع المتغيرة يكون حتما من نوع سلسلة حروف )‪ ،(La variable est de type chaîne de caractères‬وال‬
‫‪(La‬‬ ‫يمكن بأي حال من األحوال أن يكون نوعا آخرا‪ .‬واذا افترضنا مثال أن المتغيرة ‪ X‬من نوع بولياني‬
‫)‪ ،variable est de type booléen‬فال يمكن أن نضع لها قيمة تختلف عن ‪ Vrai‬أو ‪.Faux‬‬
‫‪ -‬كل الكائنات المستعملة في الخوارزمية يجب أن يكون مصرح بها‪ ،‬ومن أجل ذلك يجب أن نحدد ما هي الكائنات‬
‫ذات القيم الثابتة وتلك ذات القيم المتغيرة‪.‬‬

‫‪7‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫‪ .2.2.1‬التصريح بالثوابث والمتغيرات‪:‬‬

‫يتم التصريح في الخوارزمية أوال بالثوابت إن وجدت ثم بالمتغيرات على النحو التالي‪:‬‬
‫‪ ‬التصريح بالثوابت‪:‬‬

‫أمثلة‪:‬‬
‫‪-‬‬ ‫‪PI = 3.14‬‬
‫‪-‬‬ ‫‪n = 50‬‬
‫‪-‬‬ ‫‪B2 = 3‬‬
‫‪-‬‬ ‫‪Nombre = 100‬‬
‫‪-‬‬ ‫‪Num_Salle = 8‬‬
‫‪ ‬التصريح بالمتغيرات‪:‬‬

‫أمثلة‪:‬‬
‫‪-‬‬ ‫‪A : entier‬‬
‫‪-‬‬ ‫‪b : réel‬‬
‫‪-‬‬ ‫‪nom : chaîne de caractères‬‬
‫‪-‬‬ ‫‪Adresse : chaîne de caractères‬‬
‫‪-‬‬ ‫‪T : Booléen‬‬

‫مالحظات‪:‬‬
‫معا في نفس السطر‪.‬‬
‫‪ -‬إذا كانت لدينا عدة متغيرات من نفس النوع‪ ،‬فيمكننا تجميعها ً‬
‫مثال‪:‬‬
‫‪- PrixHT, TauxTVA, PrixTTC : Réel‬‬
‫‪- Jour, Mois : Chaîne de caractères‬‬
‫‪VAR‬‬ ‫‪X : Entier‬‬ ‫‪ -‬في بعض المراجع تضاف الكلمة ‪ VAR‬قبل التصريح بالمتغيرات كالتالي‪:‬‬
‫‪ -‬يمكن االستغناء عن مرحة التصريح بالثوابت وهذا باستعمالها مباشرة في جسم الخوارزمية كما سنراه الحقا‪.‬‬

‫‪ .3.1‬العبارات والعوامل‬
‫تعالج الخوارزمية العديد من المشاكل الرياضية وبهذا تأخذ العبارات الرياضية )‪ (Expressions mathématiques‬حي از‬
‫كبي ار في المعالجة‪ ،‬كما تستخدم الخوارزمية العديد من العوامل )‪ (Opérateurs‬والتي حصرناها في أربعة أصناف‪.‬‬

‫‪ .1‬العبارة‪ :‬عبارة عن مجموعة من عوامل ذات معنى معين ومحدد وذات عالقة بمتغيرات أو قيم‪ .‬وهذه العبارة تكون لها‬
‫في النهاية قيمة معينة‪ ،‬وهذه القيمة يجب أن تنتمي إلى نفس نوع المتغيرة المحولة إليها أو محتواة في نوع المتغيرة‪.‬‬

‫‪8‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫أمثلة عن العبارات‪:‬‬
‫‪‬‬ ‫‪20 + 30‬‬
‫‪‬‬ ‫‪B–A+C‬‬
‫‪‬‬ ‫‪A&B‬‬

‫‪ .2‬العامل‪ :‬هو عبارة عن إشارة يربط بين قيمتين إلعطائنا نتيجة وتختلف العوامل باختالف نوع القيم ونجد منها أربعة‬
‫أنواع وهي‪:‬‬

‫‪ ‬العوامل الرقمية (الحسابية) )‪ :Opérateurs numériques (arithmétiques‬تستعمل للقيام بالعمليات الحسابية‬


‫على األعداد‪ ،‬وعددها خمسة عوامل وهي‪:‬‬
‫األس‬ ‫× للجداء‬ ‫÷ للقسمة‬ ‫‪ +‬للجمع ‪ -‬للطرح‬ ‫العامل ودوره‪:‬‬
‫** أو ^‬ ‫*‬ ‫‪/‬‬ ‫‪-‬‬ ‫‪+‬‬ ‫الكتابة المعلوماتية للعامل‪:‬‬

‫تنفذ العمليات الحسابية حسب قانون األولوية )‪ (Loi de priorité‬وهي قاعدة تستعمل لتوضيح أي العمليات الحسابية‬
‫يجب تنفيذها أوال ‪ .‬حيث ينفذ الحاسب العبارة من اليسار إلى اليمين بحثا عن األس وتنفيذه ثم البحث عن عملية‬
‫الجداء والقسمة وتنفيذهما ثم البحث عن عملية الجمع والطرح وتنفيذهما‪.‬‬

‫مالحظات‪:‬‬
‫‪ -‬الجمع والطرح لهما نفس األولوية والحاسب ينفذ أول عملية يجدها من اليسار إلى اليمين‪ ،‬الشيء نفسه بالنسبة‬
‫للجداء والقسمة‪.‬‬
‫‪ -‬وضع األقواس في العبارة الرياضية يؤدي إلى تغيير في قانون األولوية‪ ،‬حيث تصبح األولوية لما داخل القوس‬
‫واألولوية المطلقة للقوس الداخلي‪.‬‬
‫‪ -‬يمكن أن تتضمن في العبارة أحد الدوال الرياضية كالجذر التربيعي‪ ،‬القيمة المطلقة‪ MOD ،DIV ،‬وهكذا‪.‬‬
‫)‪SQRT(A‬‬ ‫‪√A‬‬ ‫تسمح هذه الدالة بحساب الجذر التربيعي لقيمة ‪ .A‬مثال‪SQRT(9) = 3 :‬‬

‫)‪ABS(A‬‬ ‫|𝐴|‬ ‫تسمح هذه الدالة بحساب القيمة المطلقة لقيمة ‪ .A‬مثال‪ABS(-4) = 4 :‬‬

‫تسمح هذه الدالة بإعطاء الجزء الصحيح من نتيجة القسمة لعدد صحيح على آخر‪.‬‬
‫‪DIV‬‬ ‫‪A DIV B‬‬
‫مثال‪7 DIV 2 = 3 :‬‬

‫تسمح هذه الدالة بإعطاء باقي القسمة لعدد صحيح على آخر‪.‬‬
‫‪MOD‬‬ ‫‪A MOD B‬‬
‫مثال‪7 MOD 2 = 1 :‬‬

‫‪ -‬تكتب العبارات الحسابية معلوماتيا على سطر واحد‪.‬‬

‫أمثلة عن تحويل العبارة من عبارة رياضية إلى عبارة معلوماتية‪:‬‬

‫‪9‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫العبارة المعلوماتية‬ ‫العبارة الرياضية‬


‫‪A+B^3-4*B‬‬ ‫‪A+B3-4B‬‬
‫)‪A*(B*C-(D+C) ^2‬‬ ‫]‪A[BC-(D+C)2‬‬
‫‪A + 𝐵2‬‬
‫)‪(A+B^2)/SQRT(C-D‬‬
‫‪√C − D‬‬
‫‪ABS(A+B)+C^3‬‬ ‫‪|𝐴 + 𝐵| + C3‬‬

‫‪ -‬قم بحساب نتيجة العبارتين التاليتين محترما قانون األولوية‪:‬‬

‫نالحظ أنه بالرغم من أن العبارة األولى هي نفسها العبارة الثانية إلى أن النتيجتين مختلفتين والسبب يرجع في أن‬
‫وضع األقواس في العبارة األولى قد غير من قانون األولوية‪.‬‬
‫‪ A+B3-4B‬علما أن‪B=2 ،A=1 :‬‬ ‫‪ -‬قم بحساب نتيجة العبارة التالية بعد تحويلها إلى عبارة معلوماتية‪:‬‬

‫حسب قانون األولوية فإن األولوية األولى لألس والثانية‬


‫للجداء‪ ،‬وبما أن الجمع والطرح لهما نفس األولوية‪،‬‬
‫فاألول الذي يأتي أوال على اليسار ينفذ‪.‬‬

‫‪ ‬العامل األبجدي الرقمي )‪ :(Opérateur alphanumérique‬يستعمل هذا العامل مع سلسلة الحروف ويتمثل‬
‫في & أو ‪ Concat‬حيث يقوم بالدمج بمعنى وضع تسلسل منطقي )‪ (Concaténation‬لسلسة الحروف حسب ما‬
‫يريده المستخدم‪.‬‬

‫مثال‪:‬‬
‫‪ -‬التسلسل المنطقي بين سلسلة الحروف "‪ "Informatique‬والحرف "‪ "2‬يكون كالتالي‪"Informatique" &"2" :‬‬
‫ويعطينا في النهاية النتيجة التالية‪."Informatique2" :‬‬

‫‪10‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫‪ -‬التسلسل المنطقي بين سلسلة الحروف " ‪ "Module‬وسلسلة الحروف "‪ "Informatique2‬يكون كالتالي‪:‬‬
‫"‪ "Module "&"Informatique2‬ويعطينا في النهاية النتيجة التالية‪."Module Informatique2" :‬‬

‫‪ ‬عوامل المقارنة )‪ :(Opérateurs de comparaison‬تستعمل للمقارنة بين عنصرين (متغيرة‪ ،‬ثابتة‪ ،‬قيمة)‪.‬‬

‫المثال‬ ‫الوصف‬ ‫العامل‬


‫‪X < 10‬‬ ‫أقل تماما من‬ ‫<‬
‫‪X>2‬‬ ‫أكبر تماما من‬ ‫>‬
‫‪X<= -4‬‬ ‫أقل أو يساوي من‬ ‫=<‬
‫‪X >= 5‬‬ ‫أكبر أو يساوي من‬ ‫=>‬
‫"‪X = "p‬‬ ‫يساوي لـ‬ ‫=‬
‫‪X<>0‬‬ ‫يختلف عن‬ ‫><‬

‫‪ ‬العوامل المنطقية أو البوليانية )‪ :(Opérateurs logiques ou Booléens‬تستعمل للربط بين عبارتين عالئقيتين‬
‫)‪ (Expressions relationnelles‬وتتمثل أساسا في‪:‬‬

‫‪ ET -‬تقرأ على أنها واو العطف (و) ُيرمز لها بالرمز ∧‪.‬‬
‫‪ OU -‬تقرأ على أنها حرف التخيير (أو) ُيرمز لها بالرمز ∨‪.‬‬
‫تقر على أنها ال النافية (ال) ُيرمز لها بالرمز ‪.‬‬
‫‪ NON -‬أ‬

‫ونتيجة العبارة تكون دائما قيمة بوليانية‪ /‬منطقية )‪ (Valeur booléenne/ Logique‬والمتمثلة في قيمتين اثنتين‪،‬‬
‫‪.0‬‬ ‫هما‪ Vrai :‬أي صحيح ويرمز لها بالرقم ‪ 1‬أو ‪ Faux‬أي خطأ ويرمز لها بالرمز‬

‫بافتراض أن المتغيرتين ‪ A‬و‪ B‬متغيرتين منطقيتين فإنه يطبق عليها الجبر البولياني )‪ (Algèbre de Boole‬كما‬
‫هو مبين في جدول الحقيقة أدناه والذي يوضح مختلف العمليات المنطقية التي تجرى على هتان المتغيرتين‪.‬‬

‫جدول الحقيقة )‪(Table de vérité‬‬


‫‪A‬‬ ‫‪B‬‬ ‫‪A ET B‬‬ ‫‪A OU B‬‬ ‫‪NON A‬‬ ‫‪NON B‬‬
‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬

‫مالحظات‪:‬‬
‫‪ -‬تنفذ العمليات المنطقية من اليسار إلى اليمين‪.‬‬
‫‪ -‬تنفذ العمليات باحترام قانون األولوية التالي‪ NON :‬ثم ‪ ET‬ثم ‪.OU‬‬
‫‪ -‬وضع األقواس يغير من تنفيذ قانون األولوية‪ ،‬فتصبح األولوية لما داخل األقواس‪.‬‬
‫‪11‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬
‫جامعة الجزائر‪ - 3‬كلية العلوم االقتصادية والعلوم التجارية وعلوم التسيير ‪ -‬السنة الثانية ليسانس‪ -‬السداسي ‪ - 3‬مقياس اإلعالم اآللي ‪2‬‬

‫أمثلة‪:‬‬
‫لتكن لديك العبارات المنطقية التالية‪:‬‬
‫‪ A ∧ B‬تعادلها الكتابة ‪A ET B‬‬ ‫‪‬‬
‫̅̅̅̅̅̅̅ تعادلها الكتابة )‪NON (A OU B‬‬
‫‪𝐴∨B‬‬ ‫‪‬‬
‫̅‪ A∨B ∧ C‬تعادلها الكتابة ‪A OU B ET NON C‬‬ ‫‪‬‬

‫المطلوب‪ :‬إيجاد نتيجة العبارات السابقة محترما قانون األولوية في التنفيذ علما أن العبارات العالئقية لـ ‪ A‬و‪ B‬و‪ C‬هي‪:‬‬
‫‪ 2 < 4‬و ‪ 3 > 5‬و‪ 6 = 6‬على الترتيب كما هو موضح في الجدول التالي‪:‬‬
‫النتيجة‬ ‫الشرح‬ ‫العبارات‬
‫‪1‬‬ ‫‪2<4‬‬ ‫‪A‬‬
‫‪0‬‬ ‫نتحصل على نتائج العبارات العالئقية بسهولة دون االعتماد على جدول الحقيقة‪.‬‬ ‫‪3>5‬‬ ‫‪B‬‬
‫‪1‬‬ ‫‪6=6‬‬ ‫‪C‬‬
‫‪A‬‬ ‫باالعتماد على جدول الحقيقة وعلى نتائج العبارات العالئقية فإن نتيجة العبارة‬
‫‪0‬‬ ‫‪A ET B‬‬
‫‪ ET B‬هي ‪ ،0‬بمعنى الصحيح والخطأ يعطينا دائما خطأ‪.‬‬
‫‪ -‬وجود األقواس غير من مبدأ األولوية فأصبحت األولوية لما داخل القوس وليس‬
‫‪0‬‬ ‫للمعامل ‪ NON‬وعليه نتيجة العبارة الموجودة داخل القوسين هي ‪ ،1‬بمعنى صحيح‪.‬‬ ‫)‪NON (A OU B‬‬
‫‪ -‬نتيجة نفي الصحيح هو خطأ‪ .‬ومنه النتيجة النهائية للعبارة هي خطأ‪.‬‬
‫‪ -‬األولولية األولى لـ ‪ ،NON‬منه نتيجة ‪ NON C‬هي ‪.0‬‬
‫‪ -‬األولوية الثانية لـ ‪ ،ET‬منه نتيجة ‪ 0∧0‬هي ‪.0‬‬
‫‪1‬‬ ‫‪A OU B ET NON C‬‬
‫هي‬ ‫‪ -‬األولوية الثالثة لـ ‪ ،OU‬منه نتيجة ‪ 1∨0‬هي ‪ .1‬منه النتيجة النهائية للعبارة‬
‫صحيح‪.‬‬

‫‪12‬‬ ‫السنة الجامعية‪2023-2022 :‬‬ ‫من إعداد األساتذة‪ :‬د‪ .‬آسيا قحام ‪ -‬د‪ .‬رتيبة نحاسية ‪ -‬د‪ .‬مراد قحام ‪ -‬د‪ .‬نذير خلف هللا‬

You might also like