الدرس: البرمجة بلغة Pascal – الهياكل الشرطية والدورانية المتقدمة
الأهداف التعليمية:
- إتقان استخدام الهياكل الشرطية المتداخلة (If…Then…Else, Case…Of).
- فهم الفرق بين الحلقات التكرارية For و While و Repeat…Until.
- تطبيق هذه المفاهيم في كتابة برامج بأسلوب بكالوريا (شعبة تقني رياضي).
أولاً: الهياكل الشرطية المتقدمة (Structures Conditionnelles)
1. الشرط المتداخل (If imbriqué):
If condition1 Then
Begin
If condition2 Then
instruction1
Else
instruction2
End
Else
instruction3;
2. بنية الاختيار المتعدد (Case…Of): تستخدم عند تعدد الخيارات (أفضل من If المتداخل).
Case variable Of valeur1 : instruction1; valeur2, valeur3 : instruction2; valeur4..valeur9 : instruction3; Else instruction4; End;
ثانياً: الحلقات التكرارية (Boucles / Structures Itératives)
| النوع | الصيغة | الخصائص |
|---|---|---|
| For…Do |
For i := debut To fin Do instruction; |
عدد التكرارات محدد مسبقاً، متغير العداد يزيد تلقائياً |
| While…Do |
While condition Do instruction; |
يختبر الشرط أولاً، قد لا ينفذ أبداً إذا كان الشرط خطأ |
| Repeat…Until |
Repeat instruction Until condition; |
ينفذ مرة واحدة على الأقل، يختبر الشرط في النهاية |
ثالثاً: أمثلة تطبيقية
مثال 1 – Case Of: برنامج يقرأ رقم يوم (1-7) ويعرض اسم اليوم:
Program JourSemaine;
Var
n : Integer;
Begin
Write('Donnez un nombre (1-7): ');
Readln(n);
Case n Of
1 : Writeln('Lundi');
2 : Writeln('Mardi');
3 : Writeln('Mercredi');
4 : Writeln('Jeudi');
5 : Writeln('Vendredi');
6 : Writeln('Samedi');
7 : Writeln('Dimanche');
Else Writeln('Erreur!');
End;
Readln;
End.
مثال 2 – While: برنامج يقرأ أعداداً صحيحة حتى إدخال الصفر ثم يعرض مجموعها:
Program SommeNombres;
Var
n, somme : Integer;
Begin
somme := 0;
Write('Entrez un nombre (0 pour finir): ');
Readln(n);
While n <> 0 Do
Begin
somme := somme + n;
Write('Entrez un nombre (0 pour finir): ');
Readln(n);
End;
Writeln('La somme est: ', somme);
Readln;
End.
تمارين بكالوريا محلولة
التمرين 1: اكتب برنامجاً يقرأ 10 أعداد صحيحة ثم يعرض أكبر عدد وأصغر عدد (Max et Min).
Program MaxMin;
Var
i, n, max, min : Integer;
Begin
Write('Donnez le nombre 1: ');
Readln(n);
max := n;
min := n;
For i := 2 to 10 Do
Begin
Write('Donnez le nombre ', i, ': ');
Readln(n);
If n > max Then max := n;
If n < min Then min := n;
End;
Writeln('Le maximum est: ', max);
Writeln('Le minimum est: ', min);
Readln;
End.
التمرين 2 (امتحان بكالوريا): اكتب برنامجاً يقرأ عدداً صحيحاً N (بين 1 و 20) ثم يحسب ويعرض N! (عامل العدد).
Program Factoriel;
Var
N, i : Integer;
fact : LongInt;
Begin
Repeat
Write('Donnez N (1-20): ');
Readln(N);
Until (N >= 1) And (N <= 20);
fact := 1;
For i := 1 to N Do
fact := fact * i;
Writeln(N, '! = ', fact);
Readln;
End.
درس من إعداد الأستاذ – الإعلام الآلي – الثانية ثانوي – المنهاج الجزائري (شعبة تقني رياضي)
📍 دروس مشابهة قد تهمك:
- الإعلام الآلي — الذاكرة الحاسوبية (Mémoire): أنواع الذاكرة RAM وROM
- الإعلام الآلي — الخوارزميات العددية في لغة Pascal
- الإعلام الآلي — الملفات (Fichiers) في لغة Pascal
🔗 تصفح أيضاً: جميع دروس الثانية ثانوي | جميع دروس الثانوي
مدونة التربية و التعليم في الجزائر – دروس، فروض، نتائج امتحانات مدونة التربية والتعليم في الجزائر | تحضير الدروس، فروض واختبارات، نتائج البكالوريا وBEM، مسابقات التوظيف، والتوجيه المدرسي للطلاب وأولياء الأمور.