0% found this document useful (0 votes)
50 views6 pages

Coursalgorithme Ar

Uploaded by

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

Coursalgorithme Ar

Uploaded by

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

‫خوارزمية‬ ‫المعهد الوطني التخصصي للتدريب المهني‬

‫‪ :MQ1‬خوارزمية‬
‫الهدف من هذه الدورة هو اإلجابة على هذه األسئلة الثالثة‪:‬‬
‫ما هو الجحيم هو نوبة قلبية؟‬ ‫•‬
‫ما هي الخوارزمية؟‬ ‫•‬
‫ما هي التمثيالت المختلفة للخوارزمية؟‬ ‫•‬
‫ما هي خطوات حل المشكلة؟‬ ‫•‬
‫ما هي لغة البرمجة؟‬ ‫•‬
‫ما هي المفاهيم األساسية للخوارزمية؟‬ ‫•‬
‫‪ -1‬مقدمة‬
‫يسمح برنامج الكمبيوتر للكمبيوتر بحل مشكلة ‪ ،‬ولكن قبل االتصال بالكمبيوتر كيفية حل هذه المشكلة ‪ ،‬يجب أن يكون قادرا على‬
‫ذلك أوال‬
‫‪.makean‬‬ ‫حل أنفسنا ‪algorithm‬‬
‫‪ -1.1‬الخوارزمية‬
‫يشير إلى االنضباط الذي يدرس الخوارزميات وتطبيقاتها في الحوسبة‬
‫‪ -1.2‬خوارزمية‬
‫هي طريقة لحل مشكلة معينة‪ O‬في وقت محدود‪ ،‬فهي تمثل تسلسل منطقي من التعليمات (اإلجراء)‪.‬‬

‫المشكلة‬
‫النتيجة‬
‫خوارزمية‬
‫(الحل‬

‫أعطيت‬

‫‪ -1.3‬البرنامج‬
‫ستكون فقط ترجمة الخوارزمية إلى لغة برمجة ‪ ،‬أي لغة أبسط من الفرنسية في بنيتها ‪ ،‬ال لبس فيها ‪ ،‬يمكن للجهاز‬
‫استخدامها وتحويلها لتنفيذ اإلجراءات التي يمكن أن يصفها‪ Pascal .‬و ‪ C‬و ‪ Java‬وغيرها هي أسماء لغات البرمجة‪.‬‬
‫‪ - 1.4‬الخوارزمية والبرنامج‬
‫تتم كتابة الخوارزمية بلغة المستخدم‬ ‫•‬
‫يتم كتابة البرنامج بلغة يفهمها الكمبيوتر‬ ‫•‬
‫البرنامج هو خوارزمية تترجم إلى لغة برمجة‬ ‫•‬
‫تطوير الخوارزمية يسبق خطوة البرمجة‬ ‫•‬
‫كتابة الخوارزمية هي تمرين انعكاس يتم على الورق‬ ‫•‬
‫الخوارزمية مستقلة عن لغة البرمجة‪ ،‬على سبيل المثال‪ ،‬سوف نستخدم نفس الخوارزمية لتنفيذ جافا‪ ،‬أو ‪++ C‬‬ ‫•‬
‫‪ -1.5‬تمثيل الخوارزمية‬
‫بالنسبة لخوارزميات برامج الكمبيوتر‪ :‬هناك عائلتان كبيرتان (‪ )2‬لتمثلهما‪:‬‬
‫‪ -1.5-1-1‬المخططات االنسيابية (المخطط التنظيمي)‪:‬‬
‫إنه تمثيل بياني مع رموز (مربعات ‪ ،‬ماس ‪ ،‬إلخ)‪ .‬هم‬
‫يجب أن تكون موحدة ويجب أن تتوافق مع ‪.ISO 5807‬‬

‫أمارا أ‬
‫خوارزمية‬ ‫المعهد الوطني التخصصي للتدريب المهني‬

‫الرموز الرئيسية المستخدمة هي‪:‬‬

‫المعنى‬ ‫الرمز‬
‫يشير إلى بداية أو نهاية خوارزمية‬

‫ينفذ إجراء‬

‫التفاعل‬

‫مثال‪:‬‬
‫البداية‬

‫قراءة (أ)‬

‫قراءة (ب)‬

‫‪+‬ب‬ ‫أ‬

‫كتابة (أ)‬

‫نهاية‬

‫المخططات االنسيابية لديها ميزة كونها سهلة الفهم يكفي لمتابعة الموضوع‪ ،‬ال شيء‪ ،‬لديهم اثنين من العيوب‪:‬‬

‫إنهم جائعون جدا للفضاء‬ ‫•‬


‫وهي بعيدة‪ O‬عن معظم لغات البرمجة‬ ‫•‬
‫‪ -1.5-2‬الرمز الزائف‪:‬‬
‫وهو تمثيل نصي مع سلسلة من التعليمات تشبه لغة البرمجة (إنها لغة غير رسمية قريبة من اللغة الطبيعية‪ O‬ومستقلة‬
‫عن أي لغة برمجة)‪.‬‬
‫من األسهل كتابة خوارزمية‬ ‫•‬
‫ويستخدم عرضه على نطاق واسع‬ ‫•‬

‫وهو تمثيل نصي مع سلسلة من التعليمات تشبه لغة البرمجة (إنها لغة غير رسمية قريبة من اللغة الطبيعية‪ O‬ومستقلة عن أي‬
‫لغة برمجة)‪.‬‬

‫أمارا أ‬
‫خوارزمية‬ ‫المعهد الوطني التخصصي للتدريب المهني‬

‫‪Example‬‬
‫خوارزمية اإلضافة‬
‫المتغيرات أ‪ ،‬ب في مجمله‬
‫قراءة(أ)‬
‫قراءة (ب)‬
‫‪AA‬‬ ‫‪+B‬‬
‫كتابة (أ)‬
‫نهاية‬

‫‪ - 1.6‬خطوات حل مشكلة ما‪:‬‬

‫حل مشكلة معينة‪ O‬ينطوي على سلسلة من الخطوات‪:‬‬

‫‪probleme‬‬
‫فهم وتحليل بيان المشكلة‬

‫تحديد نموذج القرار‪ :‬البيانات الالزمة و‪.‬‬


‫‪Modele‬‬
‫البيانات الناتجة والصيغ الرياضية‬

‫خوارزمية‬
‫اكتب خوارزمية‬

‫البرنامج‬
‫ترجمة الخوارزمية إلى برنامج‬

‫‪resultat‬‬
‫قم بتشغيل البرنامج من خالل جهاز كمبيوتر للحصول على نتائج‬

‫ولكن أثناء كتابة البرنامج ‪ ،‬يمكن أن نواجه ‪ 2‬أنواع من األخطاء‪:‬‬


‫األخطاء النحوية ‪ :‬يتم مالحظتها في التجميع وهي النتيجة‬ ‫•‬
‫أو سيئة‬
‫الكتابة بلغة البرمجة‪.‬‬
‫األخطاء الداللية ‪ :‬يتم مالحظتها عند التنفيذ وهي نتيجة لتحليل سيء‪ .‬هذه األخطاء هي أكثر خطورة ألنها يمكن‬ ‫•‬
‫أن تؤدي أثناء تشغيل البرنامج‪.‬‬

‫‪ - 1.7‬لغات البرمجة (لغات الحاسوب)‬


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

‫أمارا أ‬
‫خوارزمية‬ ‫المعهد الوطني التخصصي للتدريب المهني‬

‫اللغات اإلجرائية ‪ :‬ينقسم البرنامج إلى أجزاء صغيرة تسمى وظائف ‪ .proceduresor‬وكما يوحي اسمها‪،‬‬ ‫•‬
‫فإن البرمجة اإلجرائية تتضمن إجراء خطوة بخطوة للتنفيذ‪ .‬لذلك يتم تقسيم المشاكل إلى أجزاء صغيرة ومن ثم ‪ ،‬لحل كل‬
‫جزء ‪ ،‬يتم استخدام وظيفة واحدة أو أكثر‪.‬‬
‫مثال‪,Pascal, C :‬‬
‫اللغات الموجهة للكائنات‪ :‬ينقسم البرنامج إلى أجزاء تسمى الكائنات ‪.‬‬ ‫•‬
‫البرمجة كائنية التوجه هي مفهوم برمجي يركز‬
‫على الكائن بدال من اإلجراءات والبيانات بدال من المنطق‪ .‬مثال‪ ،# C ++، Java، C :‬إلخ‬
‫اختيار لغة البرمجة ليس سهال‪ ،‬ولكل منها خصوصياته ويتوافق بشكل أفضل مع أنواع معينة من االستخدامات‪.‬‬

‫أساسيات اللغة الخوارزمية‬


‫‪ -2.1‬الهيكل األساسي‬
‫في الكود الزائف البنية العامة للخوارزمية هي كما يلي‪:‬‬
‫‪ algorithmenom_de_the algorithm‬خوارزمية‬
‫خوارزمية‬
‫‪{ constant‬تعريف الثوابت}‬
‫وهي اختيارية (إذا لم يكن هناك متغير أو‬ ‫اكتب {تعريف النوع}‬
‫الثابت أو النوع الذي لم يكتب)‬ ‫متغير {إعالن المتغيرات}‬
‫‪DEBUT‬‬
‫{جناح التعليمات}‬
‫نهاية‪.‬‬
‫جزء الرأس‪ :‬هذا هو السطر األول من الخوارزمية ‪ ،‬ويبدأ بخوارزمية الكلمة متبوعة بمسافة ثم اسم‬ ‫•‬
‫الخوارزمية‪.‬‬
‫جزء اإلعالنات ‪ :‬هذا هو تخزين مساحة الذاكرة للمتغيرات والثوابت والنوع ‪ ،‬في هذا الجزء ‪ ،‬يجب اإلعالن عن‬ ‫•‬
‫جميع الكائنات المستخدمة في حل المشكلة‪.‬‬
‫جزء المعالجة ‪ :‬يبدأ هذا الجزء مع بداية الكلمة وينتهي مع نهاية الكلمة‪ ،‬فإنه يحتوي على اإلجراءات المستخدمة‬ ‫•‬
‫في حل المشكلة‪.‬‬
‫‪ -2.2‬التعليمات األساسية‬
‫تتكون الخوارزمية من أربعة أنواع من التعليمات التي تعتبر لبنات بناء صغيرة‪:‬‬
‫‪ .1‬تحديد المتغيرات‬
‫‪ .2‬القراءة و‪/‬أو الكتابة‬
‫‪ .3‬االختبارات‬
‫‪ .4‬الحلقات ‪The Loops‬‬
‫قبل وصف هذه التعليمات ‪ ،‬نقدم أوال مفهوم المتغير والثبات‪.‬‬
‫‪ 2.2‬الثوابت والمتغيرات‬
‫نحن نفصل الكائنات إلى فئتين‪ :‬الثوابت والمتغيرات‪.‬‬
‫‪ 2.2-1.1‬مفهوم المتغير‬
‫البيانات التي يتم التالعب بها في خوارزمية تسمى المتغيرات‪ .‬يستخدم المتغير لتخزين قيمة البيانات في لغة البرمجة‪ .‬وهو‬
‫يعين موقع الذاكرة التي قد يتغير محتواها أثناء البرنامج (ومن هنا اسم المتغير)‪ .‬يحتوي كل موقع ذاكرة على رقم يسمح لك‬
‫باإلشارة إليه بطريقة فريدة‪ :‬إنه عنوان الذاكرة لهذه الخلية‪.‬‬
‫القاعدة ‪ :‬يجب اإلعالن عن المتغير قبل استخدامه ‪ ،‬ويجب أن يتميز بما يلي‪:‬‬

‫أمارا أ‬
‫خوارزمية‬ ‫المعهد الوطني التخصصي للتدريب المهني‬

‫معرف (‪)Identifier‬‬ ‫•‬


‫نوع يشير إلى مجموعة القيم التي يمكن للمتغير أخذها (عدد‪ O‬صحيح‪ ،‬حقيقي‪ ،‬منطقي‪ ،‬حرف‪ ،‬سلسلة‪ ،‬إلخ)‬ ‫•‬
‫قيمة‬ ‫•‬
‫المعرفات‪ :‬القواعد‬
‫يخضع اختيار اسم المتغير لبعض القواعد التي تختلف وفقا للغة ‪ ،‬ولكن بشكل عام‪:‬‬
‫يجب أن يبدأ االسم بحرف أبجدي‪ .‬مثال‪ 1E( E1 :‬غير صالح)‬ ‫•‬
‫يجب أن تتكون فقط من الحروف واألرقام والتسطير ("_ ") (تجنب أحرف وعالمات الترقيم والمسافات)‪ .‬مثال‪:‬‬ ‫•‬
‫‪ :SMP 2008، SMP-2008، SMP 2008( .SMI2008, SMI_2008‬غير صالحة)‬
‫يجب أن تكون مختلفة عن كلمات اللغة المحجوزة (على سبيل المثال في ‪ :Pascal‬عدد صحيح ‪ ،‬حقيقي ‪، char ،‬‬ ‫•‬
‫برنامج ‪ ،‬إذا ‪ ،‬من أجل…)‬
‫يجب أن يكون طول االسم أقل من الحد األقصى للحجم الذي تحدده اللغة‬ ‫•‬
‫المستخدمة‬
‫تلميح ‪ :‬لقراءة التعليمات البرمجية اختر أسماء ذات معنى تصف البيانات التي تمت معالجتها‪.‬‬
‫أمثلة ‪NoteTudiant, Prix_TTC, Prix_HT :‬‬
‫مالحظة‪ :‬في خوارزمية الرمز الزائف‪ ،‬ونحن سوف تحترم القواعد المذكورة‪ ،‬حتى لو كنا أحرار في بناء الجملة‬

‫أنواع المتغيرات‬
‫يحدد نوع المتغير مجموعة القيم التي يمكن أن يتخذها‪ .‬األنواع التي تقدمها معظم اللغات هي‪:‬‬
‫النوع الرقمي (عدد‪ O‬صحيح أو حقيقي)‬ ‫•‬
‫بايت (‪ 1‬مشترك مرمز)‪ :‬من [‪ [27.27-‬أو [‪[28 ،0‬‬ ‫•‬
‫عدد صحيح قصير (‪ 2‬بايت مشفرة)‪[215،215-[ :‬‬ ‫•‬
‫عدد صحيح طويل (‪ 4‬بايت مشفرة)‪[231،231-[ :‬‬ ‫•‬
‫دقة بسيطة حقيقية (مشفرة على ‪ 4‬بايت)‪ :‬دقة النظام ‪7-10‬‬ ‫•‬
‫دقة مزدوجة حقيقية (مشفرة على ‪ 8‬بايت)‪ :‬دقة النظام ‪14-10‬‬ ‫•‬
‫نوع منطقي أو منطقي‪ :‬قيمتان ‪ TRUE‬أو ‪FALSE‬‬ ‫•‬
‫نوع الحرف‪ :‬حالة علوية‪ ،‬حالة سفلية‪ ،‬أرقام‪ ،‬رموز‪ ...،‬أمثلة‪" :‬أ"‪" ،‬ب"‪... ،"،"1" ،‬‬ ‫•‬
‫نوع السلسلة‪ :‬أي تسلسل سلسلة‪ .‬أمثلة‪" ، "" :‬االسم األخير ‪ ،‬االسم األول" ‪،‬‬ ‫•‬
‫الرمز البريدي‪.1000 :‬‬
‫‪ )A‬عدد صحيح ‪ :‬لتمثيل األعداد الصحيحة‪ ،‬العمليات التي يمكن استخدامها على األعداد الصحيحة هي‪:‬‬
‫جميع العمليات األساسية مسموح بها‪/، * ، - ، + :‬‬ ‫•‬
‫عوامل المقارنة التقليدية‪... ,= ,> ,< :‬‬ ‫•‬
‫التقسيم هو تقسيم إقليدي (أو كامل)‪ .‬مثال‪ 2 = 4 /11 :‬وليس ‪)!2.75‬‬ ‫•‬
‫هناك عامل ‪ ، % modulo‬الذي يعطي بقية قسم اقليدي‪ .‬مثال‪3 = 4 %11 :‬‬ ‫•‬
‫‪ )B‬حقيقي ‪ :‬لتمثيل األرقام الحقيقية ‪ ،‬فإن العمليات القابلة لالستخدام على العمليات الحقيقية هي‪:‬‬
‫العمليات الحسابية التقليدية‪( + :‬إضافة) ‪( - ،‬طرح) ‪( * ،‬منتج) ‪( /،‬تقسيم)‬ ‫•‬
‫عوامل المقارنة التقليدية‪... ,= ,> ,< :‬‬ ‫•‬
‫القسمة‪ /‬تعطي نتيجة عشرية‬ ‫•‬
‫‪ )C‬يمكن أن يكون للمتغير المنطقي (‪ )Boolean‬قيمتان‪ TRUE :‬أو ‪ .FALSE‬العمليات الرئيسية األكثر استخداما هي‪:‬‬

‫أمارا أ‬
‫خوارزمية‬ ‫المعهد الوطني التخصصي للتدريب المهني‬

‫عوامل التشغيل المنطقية‪ :‬ال‪ ،‬و‪ ،‬أو‬ ‫•‬


‫عوامل المقارنة‪،،،،= :‬‬ ‫•‬
‫جداول الحقيقة‪:‬‬
‫أ أو ب‬ ‫أوب‬ ‫باء‬ ‫ألف‬
‫خطأ‬ ‫خطأ‬ ‫خطأ‬ ‫خطأ‬
‫صحيح‬ ‫خطأ‬ ‫صحيح‬ ‫خطأ‬
‫صحيح‬ ‫خطأ‬ ‫خطأ‬ ‫صحيح‬
‫صحيح‬ ‫صحيح‬ ‫صحيح‬ ‫صحيح‬
‫د) الشخصية‬
‫هذا هو حقل األحرف األبجدية والرقمية‪ .‬يمكن أن يحتوي متغير من هذا النوع على حرف واحد فقط‪.‬‬
‫العمليات األساسية هي المقارنات‪... ,= ,> ,< :‬‬
‫هـ) سلسلة أحرف‬
‫سلسلة األحرف هي كائن يمكن أن يحتوي على عدة أحرف بطريقة منظمة‪.‬‬

‫‪ -2.2-1.2‬مفهوم الثبات‬
‫الثابت هو متغير ال تتغير قيمته أثناء تنفيذ البرنامج‪ ،‬يمكن أن يكون رقما أو حرفا أو سلسلة‪ .‬في الرمز الزائف‪،‬‬
‫‪( constant identification=value‬حسب االتفاقية‪ ،‬تكون أسماء الثوابت بحروف كبيرة)‬
‫مثال ‪ :‬لحساب مساحة الدوائر‪ ،‬قيمة ‪ pi‬هي ثابت ولكن نصف القطر هو متغير‪.‬‬
‫ثابت ‪pi=3.14‬‬ ‫•‬
‫يجب أن يحصل الثابت دائما على قيمة بمجرد إعالنه‪.‬‬ ‫•‬

‫أمارا أ‬

You might also like