عريف الخوارزمية
الخوارزمية هي متتالية منتهية من التعليمات تبين الطريقة التي بها يتم تنفيذ مجموعة من العمليات للحصول على حل لمشكل ما .
و الآن ندخل صلب الموضوع
و بالنسبة للأوامر سأعطيها باللغة الفرنسية (في الجزائر نستخدم هذه اللغة وأنا حقيقة أكرهها ) فليعذرني كل من لا يتكلمها و لكن طريقة وضعها هي نفسها بالإنجليزية أيضا فتكفي الترجمة .
للخوارزمية ستة أركان أساسية سوف نتحدث عن الخمسة الأساسية (لم ندرس الركن السادس بعد )
أولا المتغيرات
المتغير عبارة عن علبة يعرفها البرنامج بواسطة علامة توضع عليها فلكي يدخل البرنامج إلى محتوى العلبة يكفي الإشارة إليها بعلامتها
الإعلان عن المتغيرات
أول شيء يجب فعله قبل استعمال متغير ما هو إنشاء العلبة و أعطاؤها علامة
عندما نريد الإعلان عن متغير ما لا يكفي إنشاء العلبة و إنما يجب تحديد نوعية المحتوى
طريقة الكتابة
متغير = 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
المثال الأول : مقارنة a مع b واعطاء القيمة الأكبر
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 troisiè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