عدد المساهمات : 573 نقاط : 1743 تاريخ الميلاد : 11/09/1993 العمر : 31 | موضوع: الألغوريتم طريقك إلى البرمجة 2011-10-07, 10:51 | |
| بسم الله الرحمان الرحيم
السلام عليكم و رحمة الله
الكل منا يسمع عن لغات البرمجة
و الكل يعرف أنها مجموعة من الأوامر توصلنا لغاية ما
و لكن قلة فقط تعرف أن كل هذه اللغات أصلها الألغوريتم
حيث أن الألغوريتم هو أيضا مجموعة من الأوامر مثل كل لغات البرمجة الأخرى
و الفرق بينها و بينه أنه يكتب على ورق و ليس على الحاسوب
فأي مبرمج يريد صنع برنامج يكتب أولا لوغارتمه ثم يستبدل أوامر اللوغ بأوامر أي لغة برمجة يريد ليضعها على الحاسوب
و قبل الدخول في التعقيدات يجب علينا معرفة مراحل عمل برنامج ما في عالم المعلوميات يوجد ثلاث أطراف للحوار
-المستعمل: هو الشخص الذي يواجه مشكلا و يطلب المساعدة من الحاسوب حيث أن المستعمل يرى في حاسوب مزود بالبرنامج المناسب أداة لتسيير أعماله فهدفه اذن هو تعلم الإستخدام الأفضل لهذه الأداة
-المبرمج و هو الشخص القادر على توجيه الحاسوب في حل المشاكل التي يضعها المستعمل الحاسوب بالنسبة للمبرمج هو منفد للأوامر يجب توجيهه
-ثم الحاسوب الذي لا يعرف سوى تنفيذ الأوامر فيكفي أن يكون البرنامج سليما من حيث الكتابة ليقوم بكل ما هو مطلوب منه
تعريفالألغوريتم
اللوغ هي متتالية منتهية من التعليمات تبين الطريقة التي بها يتم تنفيذ مجموعة من العمليات للحصول على حل لمشكل ما
لماذا نتعلم اللوغارتم لتعلم البرمجة؟
أظننا أجبنا على هذا السؤال و لكن لا ضير في الإعادة اللوغارتم يعبرعن سلسلة من الأوامر تحل مشكلة ما و هو مستقل عن خصوصيات برنامج ما إتقان اللوغارتم هو إتقان الصيغة أو البناء المنطقي لبرنامج ما و المشكل الوحيد المطروح هو اختلاف الأوامر بينه و بين لغات البرمجة المختلفة
و الآن ندخل صلب الموضوع
و بالنسبة للأوامر سأعطيها باللغة الفرنسية فليعذرني كل من لا يتكلمها و لكن طريقة وضعها هي نفسها بالإنجليزية أيضا فتكفي الترجمة للوغارتم ست أركان أساسية سوف نتحدث عن الخمسة الأساسية
أولا المتغيرات
المتغير عبارة عن علبة يعرفها البرنامج بواسطة علامة توضع عليها فلكي يدخل البرنامج إلى محتوى العلبة يكفي الإشارة إليها بعلامتها
الإعلان عن المتغيرات
أول شيئ يجب فعله قبل استعمال متغير ما هو إنشاء العلبة و أعطاؤها علامة عندما نريد الإعلان عن متغير ما لا يكفي إنشاء العلبة و إنما يجب تحديد نوعية المحتوى
طريقة الكتابة
متغير = 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
بهذا قد ختم الدرس الذي أتمنى أن يستفيد منه أكبر عدد من الأعضاء السلام عليكم ورحمة الله تعالى وبركاته
|
|