الخوارزميات المتسلسلة والشرطية: كتابة برامج بلغة Pascal لحل مسائل حسابية مع تمارين محلولة
📌 الأهداف التعليمية:
- التعرف على مفهوم الخوارزمية المتسلسلة والشرطية
- كتابة خوارزميات بسيطة باستخدام التعليمات المتسلسلة
- استخدام الجمل الشرطية (If…Then…Else) في حل مسائل
- تطبيق المفاهيم في برامج Pascal عملية
📖 الشرح النظري:
1. الخوارزمية المتسلسلة (Algorithme séquentiel) :
هي خوارزمية تُنفَّذ تعليماتها واحدة تلو الأخرى بترتيب كتابتها، بدون أي تشعب أو تكرار. كل تعليمة تُنفَّذ مرة واحدة فقط.
مثال: حساب مجموع عددين
Program Somme;
Var a, b, s: Integer;
Begin
Write('Entrez a: '); ReadLn(a);
Write('Entrez b: '); ReadLn(b);
s := a + b;
WriteLn('La somme est: ', s);
End.
2. الخوارزمية الشرطية (Algorithme conditionnel) :
تستخدم الخوارزمية الشرطية جملة If…Then…Else لاتخاذ قرارات بناءً على شرط معين. إذا تحقق الشرط تُنفَّذ مجموعة تعليمات، وإلا تُنفَّذ مجموعة أخرى.
الصيغة العامة:
If (condition) Then instruction1 Else instruction2;
3. العوامل المقارنة في Pascal :
- = : يساوي
- <> : لا يساوي
- < : أصغر من
- > : أكبر من
- <= : أصغر أو يساوي
- >= : أكبر أو يساوي
📝 أمثلة وتمارين محلولة:
مثال 1: برنامج يقرأ عدداً ويطبع إذا كان موجباً أم سالباً
Program Signe;
Var n: Integer;
Begin
Write('Entrez un nombre: '); ReadLn(n);
If n >= 0 Then
WriteLn(n, ' est positif')
Else
WriteLn(n, ' est negatif');
ReadLn;
End.
مثال 2: برنامج لحساب القيمة المطلقة لعدد
Program ValeurAbsolue;
Var x, abs_x: Real;
Begin
Write('x = '); ReadLn(x);
If x >= 0 Then
abs_x := x
Else
abs_x := -x;
WriteLn('|', x:0:2, '| = ', abs_x:0:2);
ReadLn;
End.
تمرين 1: اكتب برنامجاً يقرأ درجات ثلاث مواد (من 20) ويحسب المعدل، ثم يطبع “ناجح” إذا كان المعدل >= 10 و”راسب” إذا كان أقل.
الحل:
Program Moyenne;
Var n1, n2, n3, moy: Real;
Begin
Write('Note 1: '); ReadLn(n1);
Write('Note 2: '); ReadLn(n2);
Write('Note 3: '); ReadLn(n3);
moy := (n1 + n2 + n3) / 3;
WriteLn('Moyenne: ', moy:0:2);
If moy >= 10 Then
WriteLn('Resultat: Reussi (ناجح)')
Else
WriteLn('Resultat: Echoue (راسب)');
ReadLn;
End.
تمرين 2: اكتب برنامجاً يقرأ عدداً صحيحاً ويطبع “زوجي” إذا كان زوجياً و”فردي” إذا كان فردياً. (استخدم الدالة Odd أو العملية Mod)
الحل باستخدام Mod:
Program PairImpair;
Var n: Integer;
Begin
Write('n = '); ReadLn(n);
If n Mod 2 = 0 Then
WriteLn(n, ' est pair (زوجي)')
Else
WriteLn(n, ' est impair (فردي)');
ReadLn;
End.
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.