شرح الالغوريتم
					
	 
	
	
	الكل منا يسمع عن لغات البرمجة
	
	و الكل يعرف أنها مجموعة من الأوامر توصلنا لغاية ما
	
	و لكن قلة فقط تعرف أن كل هذه اللغات أصلها الألغوريتم
	
	حيث أن الألغوريتم هو أيضا مجموعة من الأوامر مثل كل لغات البرمجة الأخرى
	
	و الفرق بينها و بينه أنه يكتب على ورق و ليس على الحاسوب
	
	فأي مبرمج يريد صنع برنامج يكتب أولا لوغارتمه ثم يستبدل أوامر اللوغ بأوامر أي لغة برمجة يريد ليضعها على الحاسوب
	
	
	و قبل الدخول في التعقيدات يجب علينا معرفة مراحل عمل برنامج ما
	
	في عالم المعلوميات يوجد ثلاث أطراف للحوار
	
	-المستعمل: هو الشخص الذي يواجه مشكلا و يطلب المساعدة من الحاسوب
	
	حيث أن المستعمل يرى في حاسوب مزود بالبرنامج المناسب أداة لتسيير أعماله فهدفه اذن هو تعلم الإستخدام الأفضل لهذه الأداة
	
	-المبرمج و هو الشخص القادر على توجيه الحاسوب في حل المشاكل التي يضعها المستعمل
	
	فالحاسوب بالنسبة للمبرمج هو منفد للأوامر يجب توجيهه
	
	-ثم الحاسوب الذي لا يعرف سوى تنفيذ الأوامر
	
	فيكفي أن يكون البرنامج سليما من حيث الكتابة ليقوم بكل ما هو مطلوب منه
	
	تعريفالألغوريتم
	 
	اللوغ هي متتالية منتهية من التعليمات تبين الطريقة التي بها يتم تنفيذ مجموعة من العمليات للحصول على حل لمشكل ما
	
	لماذا نتعلم اللوغارتم لتعلم البرمجة؟
	
	أظننا أجبنا على هذا السؤال و لكن لا ضير في الإعادة
	
	اللوغارتم يعبرعن سلسلة من الأوامر تحل مشكلة ما و هو مستقل عن خصوصيات برنامج ما
	
	إتقان اللوغارتم هو إتقان الصيغة أو البناء المنطقي لبرنامج ما و المشكل الوحيد المطروح هو اختلاف الأوامر بينه و بين لغات البرمجة المختلفة
	
	و الآن ندخل صلب الموضوع
	
	و بالنسبة للأوامر سأعطيها باللغة الفرنسية فليعذرني كل من لا يتكلمها و لكن طريقة وضعها هي نفسها بالإنجليزية أيضا فتكفي الترجمة
	
	للوغارتم ست أركان أساسية سوف نتحدث عن الخمسة الأساسية
	
	أولا المتغيرات
	
	المتغير عبارة عن علبة يعرفها البرنامج بواسطة علامة توضع عليها فلكي يدخل البرنامج إلى محتوى العلبة يكفي الإشارة إليها بعلامتها
	
	الإعلان عن المتغيرات
	
	أول شيئ يجب فعله قبل استعمال متغير ما هو إنشاء العلبة و أعطاؤها علامة
	
	عندما نريد الإعلان عن متغير ما لا يكفي إنشاء العلبة و إنما يجب تحديد نوعية المحتوى
	
	طريقة الكتابة
	
	متغير = var
	
	و يتم التعبيرعن نوعية المحتوى كالتالي
	
	كلمات = Chaine de caracteres
	
	أعداد صحيحة طبيعية = entier
	
	أعداد حقيقية = reel
	
	صحيح أو خطأ = booleen
	
	و هناك أخرى و لكن هذه هي الأساسية بالنسبة لمبتدئ
	
	مثال
	Var a : entier
	
	Var a : Chaine de caractere
	
	إعطاء قيمة للمتغير
	
	يتم الإعلان عن قيمة متغير ما باستعمال السهم المعكوس
	
	مثال
	
	لدينا اللوغارتم التالي
	ALGO Valeurs
	
	Var a,b,c : entiers
	
	Début
	
	a <-- 3
	
	b <-- 10
	
	c <-- a+b
	
	b <-- a-b
	
	a <-- c
	
	Fin
	
	بعد تنفيد الأوامر المطلوب هو إيجاد قيم a و b و c
	نبدأ ب c:
	c <-- a+b
	c <-- 10+3
	c <-- 13
	
	ثم b
	b <-- a-b
	b <-- 3-10
	b <-- -7
	
	ثم a
	a <-- c
	a <-- 13
	
	
	فنجد أن القيم هي
	
	a : 13, b : -7, c : 13
	
	ثانيا أوامر القراءة و الكتابة
	
	يستعمل أمر الكتابة (Ecrire) لكتابة رسالة تدل المستعمل على ما يحدث
	
	و يستعمل أمر القراءة (Lire) لجعل الحاسوب يتوقف في مرحلة ما إلى حين إدخال المستعمل لقيمة يقرؤها الحاسوب
	
	
	
	مثال
	
	طلب منا كتابة لوغارتم لبرنامج ما إن ندخل له عددا ما حتى يعطينا مربعه
	ALGO Carré
	
	Var a,b : entiers
	
	Début
	
	("Ecrire (" Donner un nombre
	
	(Lire (a
	
	B <-- a*a
	
	(Ecrire (" Le carré est ",b
	
	ثالثا صيغ الشرط
	
	تتلخص صيغ الشرط في إعطاء شرط إجباري لتنفيذ عملية ما
	
	طريقة الكتابة
	Si condition = vrai Alors
	
	Instruction 1
	
	Sinon
	
	Instruction 2
	
	Fin Si
	
	مثال
	
	كتابة لوغارتم برنامج ندخل له عددين فيعطينا أكبرهما
	ALGO Maximum
	
	Var a,b,Max : entiers
	
	Début
	
	("Ecrire (" Entrez le premier nombre
	
	(Lire (a
	
	("Ecrire (" Entrez le deuxième nombre
	
	(Lire (b
	
	Si a>b Alors
	
	Max <-- a
	
	Sinon
	
	Max <-- b
	
	Fin Si
	
	(Ecrire (" Le Maximum est : ",Max
	
	Fin
	
	مثال ثاني
	
	نفس المثال الأول و لكن هذه المرة بثلاث أعداد
	ALGO Maximum
	
	Var a,b,c,Max : entiers
	
	Début
	
	("Ecrire (" Entrez le premier nombre
	
	(Lire (a
	
	("Ecrire (" Entrez le deuxième nombre
	
	(Lire (b
	
	("Ecrire (" Entrez le croisième nombre
	
	(Lire (c
	
	Si a>b Alors
	
	Max <-- a
	
	Sinon
	
	Max <-- b
	
	Fin Si
	
	Si Max<c Alors
	
	Max <-- c
	
	Fin Si
	
	(Ecrire (" Le Max est : ",Max
	
	Fin
	
	مثال ثالث
	
	هذه المرة يجب أن يعطينا البرنامج أكبر عدد و أصغر عدد
	ALGO Max & Min
	
	Var a,b,c,Max,Min : entiers
	
	Début
	
	("Ecrire (" Entrez le premier nombre
	
	(Lire (a
	
	("Ecrire (" Entrez le deuxième nombre
	
	(Lire (b
	
	("Ecrire (" Entrez le croisième nombre
	
	(Lire (c
	
	Si a>b Alors
	
	Max <-- a
	
	Min <-- b
	
	Sinon
	
	Max <-- b
	
	Min <-- a
	
	Fin Si
	
	Si Max<c Alors
	
	Max <-- c
	
	Fin Si
	
	Si Min>c Alors
	
	Min <-- c
	
	Fin Si
	
	(Ecrire (" Le Max est : ",Max
	
	(Ecrire (" Le Min est : ",Min
	
	Fin
	
	مثال رابع
	
	نريد في هذا المثال كتابة لوغارتم برنامج يحسب معدل ثلميذ مع إعطاء الميزة
	
	نعطي مثلا تلاث مواد
	
	العربية معاملها 3
	
	الرياضيات معاملها 4
	
	اللغة الأجنبية و معاملها 2
	
	ALGO Moyaine Générale
	
	Var a,b,c,MG : Réels
	
	Debut
	
	("Ecrire (" Entrez la note du Math
	
	(Lire (a
	
	("Ecrire (" Entrez la note de la langue arabe
	
	(Lire (b
	
	("Ecrire (" Entrez la note de la langue étrangère
	
	(Lire (c
	
	(MG <-- [(a*4)+(b*3)+(c*2)]/(4+3+2
	
	(Ecrire (" La moyaine générale est : ",MG
	
	Si MG<10 Alors
	
	("Ecrire (" Eliminé
	
	Sinon
	
	Si MG<12 Alors
	
	("Ecrire (" Passable
	
	Sinon
	
	Si MG<14 Alors
	
	("Ecrire (" Assez Bien
	
	Sinon
	
	Si Mg<16 Alors
	
	("Ecrire (" Bien
	
	Sinon
	
	("Ecrire (" Très Bien
	
	Fin Si
	
	Fin Si
	
	Fin Si
	
	Fin Si
	
	Fin
	
	رابعا الروابط المنطقية
	
	يضع علم المعلوميات تحت تصرفنا أربع عوامل أو روابط منطقية و هي ET و OU و NOT و XOR
	
	و سنهمل NOT و XOR لأنها ذات مستوى مرتفع قليلا
	
	طريقة عمل هذه الروابط هي كالتالي
	
	إذا كان A=Vrai فإن NOT A=Faux
	
	و العكس بالعكس
	
	إذا كان A=Vrai, B=Faux فإن A ET B=Faux
	
	إذا كان A=Faux, B=Vrai فإن A ET B=Faux
	
	إذا كان A=Vrai, B=Vrai فإن A ET B=Vrai
	
	إذا كان A=Faux, B=Faux فإن A ET B=Faux
	
	إذا كان A=Vrai, B=Faux فإن A OU B=Vrai
	
	إذا كان A=Faux, B=Vrai فإن A OU B=Vrai
	
	إذا كان A=Vrai, B=Vrai فإن A OU B=Vrai
	
	إذا كان A=Faux, B=Faux فإن A OU B=Faux
	
	مثال
	
	لدينا اللوغارتم التالي
	
	ALGO Opérations Logiques
	
	Var a,b,c,d,e : booleen
	
	Var x : entier
	
	Début
	
	("Ecrire (" Introduire un nombre
	
	(Lire (x
	
	A <-- x<2
	
	B <-- x>12
	
	C <-- x<6
	
	D <-- (a ET b) OU c
	
	(E <-- a ET (b OU c
	
	(Ecrire (" La valeur de d est : ", d
	
	(Ecrire (" La valeur de e est : ",e
	
	Fin
	
	نفترض أن x=14
	
	علينا معرفة قيمة dو e هل هي صحيحة أم خاطئة
	هذا ما سنحصل عليه
	
	d <-- F
	
	e <-- F
	
	
	خامسا الحلقات
	
	عندما تكون لدينا عملية تتكرر سيكون من المتعب إعادة كتابتها و هنا نلجأ إلى الحلقات
	
	هناك ثلاث طرق أساسية لإنشاء الحلقات
	
	الحلقة TANTQUE
	
	طريقة الكتابة
	TANTQUE condition Faire
	
	Action
	
	Fin TANTQUE
	
	
	فمادام الشرط قائما سيستمر البرنامج في تكرار العملية إلى أن ينعدم الشرط
	
	مثال
	
	كتابة لوغ يسمح لنا بمعرفة اسم الشهر من رقمه
	ALGO Mois
	
	Var m : entier
	
	Début
	
	("Ecrire (" Donner le N° du mois
	
	(Lire (m
	
	TANTQUE m<1 OU m>12 Faire
	
	("Ecrire (" Erreur, Donner un nombre entre 1 et 12
	
	(Lire (m
	
	Fin TANTQUE
	.
	.
	.
	.
	Fin
	
	
	
	الحلقة Répeter
	
	لها نفس الدور و لكن باتجاه معاكس
	
	
	طريقة الكتابة
	Répeter
	
	Action
	
	Jusqu'à
	
	
	
	مثال
	
	نرجع لمثال الأشهر
	
	Répeter
	
	("Ecrire (" Donner le N° du mois
	
	(Lire (m
	
	Jusqu'à m>1 ET 12>m
	
	
	الحلقة POUR
	
	هي الأكثر سهولة و الأكثر تعقيدا في الوقت نفسه
	
	
	طريقة الكتابة
	POUR i allant de Vi à Vf Faire
	
	Action
	
	Fin POUR
	
	 
	
	مثال
	
	
	كتابة لوغ لحساب المجموع
	
	S=1+2+3+4+......+20
	ALGO Somme
	
	Var i,s : entiers
	
	Début
	
	S <-- 0
	
	POUR i allant de 1 à 20 Faire
	
	S <-- s+i
	
	Fin POUR
	
	(Ecrire (" La Somme est : ",s
	
	Fin
	
	
	بهذا أكون قد ختمت درسي الذي أتمنى أن يستفيد منه أكبر عدد من الأعضاء
	
	و بالنسبة للفقرة السادسة فهي الجداول و هي فقرة لم أفهمها كليا بعد على أمل أن يشرحها أحد الأعضاء
	
	ملاحظة هامة: يجب عدم الخلط بين Algorithme الذي هو موضوع درسنا و بين Logarithme الذي هو درس في الرياضيات, مع أن ترجمة Algorithme هي لوغارتم