أخبار الموقع

تمارين بكالوريا محلولة في الخوارزميات والمخططات الانسيابية — الثالثة ثانوي (بكالوريا) — شعبة تقني رياضي — الإعلام الآلي

📘 بطاقة الدرس

المادة الإعلام الآلي
المستوى الثالثة ثانوي (بكالوريا — شعبة تقني رياضي)
الوحدة الخوارزميات والبرمجة — تمارين بكالوريا محلولة
المدة الزمنية حصتان (ساعتان)

🎯 أهداف التعلم

  • تطبيق المفاهيم الخوارزمية في حل مسائل بكالوريا
  • التمكن من كتابة الخوارزميات والمخططات الانسيابية
  • تحويل الخوارزميات إلى برامج بلغة Pascal
  • الاستعداد الجيد لامتحان البكالوريا في الإعلام الآلي

🔍 تمهيد

تعتبر مادة الإعلام الآلي في البكالوريا (شعبة تقني رياضي) من المواد الأساسية التي تتطلب فهماً عميقاً للخوارزميات والقدرة على تحويلها إلى برامج. في هذا الدرس، نقدم مجموعة من التمارين المحلولة التي تغطي أنماط الأسئلة المتكررة في امتحانات البكالوريا.

📝 التمرين الأول: الأعداد الأولية (بكالوريا 2018)

اكتب خوارزمية ومخطط انسيابي وبرنامجاً بلغة Pascal يقرأ عدداً صحيحاً موجباً N ثم يتحقق مما إذا كان عدداً أولياً أم لا. (العدد الأولي هو عدد يقبل القسمة على 1 وعلى نفسه فقط).

🟢 الحل الكامل

1. التحليل:

  • المدخلات: عدد صحيح N
  • المخرجات: رسالة “أولي” أو “ليس أولياً”
  • الخوارزمية: نقسم N على الأعداد من 2 إلى N-1، إذا وجدنا قاسماً فليس أولياً

2. الشيفرة الوصفية (Pseudo-code):

خوارزمية Prime_Check
المتغيرات:
  N, i: صحيح
  isPrime: منطقي
البداية:
  اكتب("أدخل عدداً: ")
  اقرأ(N)
  إذا كان N <= 1 فإن
    اكتب("ليس أولياً")
  وإلا
    isPrime ← صحيح
    بالنسبة i من 2 إلى N-1
      إذا كان N Mod i = 0 فإن
        isPrime ← خطأ
        اخرج من الحلقة
      نهاية إذا
    نهاية بالنسبة
    إذا كان isPrime = صحيح فإن
      اكتب(N, " عدد أولي")
    وإلا
      اكتب(N, " ليس أولياً")
    نهاية إذا
  نهاية إذا
نهاية الخوارزمية

3. برنامج Pascal:

Program PrimeCheck;
Var
  N, i: Integer;
  isPrime: Boolean;
Begin
  Write('أدخل عدداً صحيحاً موجباً: ');
  ReadLn(N);
  
  If N <= 1 Then
    WriteLn(N, ' ليس عدداً أولياً')
  Else
  Begin
    isPrime := True;
    For i := 2 To N-1 Do
      If N Mod i = 0 Then
      Begin
        isPrime := False;
        Break;
      End;
    
    If isPrime Then
      WriteLn(N, ' عدد أولي')
    Else
      WriteLn(N, ' ليس عدداً أولياً');
  End;
  ReadLn;
End.

4. تحسين الكفاءة:

يمكن تحسين الخوارزمية بالاقتصار على القسمة على الأعداد حتى √N بدلاً من N-1:

For i := 2 To Trunc(Sqrt(N)) Do
  If N Mod i = 0 Then
  Begin
    isPrime := False;
    Break;
  End;

📝 التمرين الثاني: البحث عن أكبر عنصر في مصفوفة (بكالوريا 2017)

اكتب خوارزمية وبرنامجاً بلغة Pascal يقوم بالآتي:

  1. قراءة عدد صحيح N (10 ≤ N ≤ 50)
  2. ملء مصفوفة T بعدد N من الأعداد الصحيحة
  3. إيجاد وعرض أكبر عنصر في المصفوفة مع موقعه (الرقم الترتيبي)
🟢 الحل الكامل

1. التحليل:

  • نستخدم مصفوفة أحادية البعد (One-dimensional array)
  • نفترض أن أول عنصر هو الأكبر، ثم نقارن مع باقي العناصر
  • كلما وجدنا عنصراً أكبر، نحدّث القيمة القصوى والموقع

2. برنامج Pascal:

Program MaxElement;
Var
  T: Array[1..50] Of Integer;
  N, i, max, pos: Integer;
Begin
  // التحقق من صحة الإدخال
  Repeat
    Write('أدخل عدد العناصر (10-50): ');
    ReadLn(N);
    If (N < 10) Or (N > 50) Then
      WriteLn('خطأ! العدد يجب أن يكون بين 10 و 50.');
  Until (N >= 10) And (N <= 50);

  // ملء المصفوفة
  For i := 1 To N Do
  Begin
    Write('T[', i, '] = ');
    ReadLn(T[i]);
  End;

  // إيجاد أكبر عنصر
  max := T[1];
  pos := 1;
  For i := 2 To N Do
    If T[i] > max Then
    Begin
      max := T[i];
      pos := i;
    End;

  // عرض النتيجة
  WriteLn('أكبر عنصر هو ', max, ' في الموقع ', pos);
  ReadLn;
End.

3. سؤال إضافي (للمتفوقين):

عدّل البرنامج ليجد أصغر عنصر أيضاً.

📝 التمرين الثالث: حساب المضروب (Factorial) — بكالوريا 2016

المضروب (Factorial) لعدد صحيح موجب N هو جداء الأعداد من 1 إلى N. يرمز له بـ N!.

مثال: 5! = 5 × 4 × 3 × 2 × 1 = 120

اكتب خوارزمية وبرنامجاً بلغة Pascal:

  1. يقرأ عدداً صحيحاً N (N > 0)
  2. يحسب ويعرض N!
  3. يتأكد من صحة الإدخال (N يجب أن يكون موجباً)
🟢 الحل الكامل

1. برنامج Pascal:

Program Factorial;
Var
  N, i: Integer;
  fact: LongInt;
Begin
  Repeat
    Write('أدخل عدداً صحيحاً موجباً: ');
    ReadLn(N);
    If N <= 0 Then
      WriteLn('خطأ! الرجاء إدخال عدد موجب.');
  Until N > 0;

  fact := 1;
  For i := 1 To N Do
    fact := fact * i;

  WriteLn(N, '! = ', fact);
  ReadLn;
End.

2. التوسّع: حساب N! باستخدام While:

Program FactorialWhile;
Var
  N, i: Integer;
  fact: LongInt;
Begin
  Repeat
    Write('أدخل عدداً صحيحاً موجباً: ');
    ReadLn(N);
  Until N > 0;

  fact := 1;
  i := 1;
  While i <= N Do
  Begin
    fact := fact * i;
    i := i + 1;
  End;

  WriteLn(N, '! = ', fact);
  ReadLn;
End.

📝 التمرين الرابع: التحقق من تناظر عدد (Palindrome) — بكالوريا 2020

العدد المتناظر (Palindrome) هو عدد يبقى كما هو عند قراءته من اليسار إلى اليمين أو العكس.

أمثلة: 121, 1331, 12321

اكتب خوارزمية وبرنامجاً بلغة Pascal:

  1. يقرأ عدداً صحيحاً موجباً N
  2. يختبر إذا كان N عدداً متناظراً أم لا
  3. يعرض النتيجة
🟢 الحل الكامل

1. التحليل:

  • لعكس عدد: نأخذ باقي قسمة العدد على 10 لنحصل على آخر رقم
  • نضيف الرقم إلى العدد المعكوس (نضرب المعكوس في 10 ثم نجمع الرقم)
  • نقسم العدد الأصلي على 10 (نتجاهل الرقم الأخير)
  • نكرر حتى يصبح العدد 0

2. برنامج Pascal:

Program Palindrome;
Var
  N, original, reversed, remainder: Integer;
Begin
  Write('أدخل عدداً صحيحاً موجباً: ');
  ReadLn(N);
  
  original := N;
  reversed := 0;
  
  While N > 0 Do
  Begin
    remainder := N Mod 10;
    reversed := reversed * 10 + remainder;
    N := N Div 10;
  End;
  
  If original = reversed Then
    WriteLn(original, ' عدد متناظر')
  Else
    WriteLn(original, ' ليس عدداً متناظراً');
    
  ReadLn;
End.

3. اختبار البرنامج:

  • المدخل: 121 → original=121, reversed=121 → “متناظر” ✅
  • المدخل: 123 → original=123, reversed=321 → “ليس متناظراً” ✅
  • المدخل: 1221 → original=1221, reversed=1221 → “متناظر” ✅

📝 التمرين الخامس: متوسط الأعداد الفردية في مصفوفة (سؤال بكالوريا مركب)

اكتب برنامجاً بلغة Pascal يقوم بالآتي:

  1. قراءة عدد صحيح N (5 ≤ N ≤ 30)
  2. ملء مصفوفة T بـ N من الأعداد الصحيحة
  3. حساب وعرض متوسط الأعداد الفردية الموجودة في المصفوفة
  4. إذا لم توجد أعداد فردية، اعرض رسالة “لا توجد أعداد فردية”
🟢 الحل الكامل
Program OddAverage;
Var
  T: Array[1..30] Of Integer;
  N, i, sum, count: Integer;
  avg: Real;
Begin
  Repeat
    Write('أدخل عدد العناصر (5-30): ');
    ReadLn(N);
  Until (N >= 5) And (N <= 30);
  
  For i := 1 To N Do
  Begin
    Write('T[', i, '] = ');
    ReadLn(T[i]);
  End;
  
  sum := 0;
  count := 0;
  For i := 1 To N Do
    If T[i] Mod 2 <> 0 Then
    Begin
      sum := sum + T[i];
      count := count + 1;
    End;
  
  If count > 0 Then
  Begin
    avg := sum / count;
    WriteLn('عدد الأعداد الفردية: ', count);
    WriteLn('متوسطها: ', avg:0:2);
  End
  Else
    WriteLn('لا توجد أعداد فردية في المصفوفة');
    
  ReadLn;
End.

💡 نصائح لبكالوريا الإعلام الآلي

  • افهم الخوارزمية أولاً قبل كتابة الكود: ارسم مخططاً انسيابياً أو اكتب pseudo-code.
  • التحقق من صحة المدخلات (Validation) — استخدم Repeat … Until مع شرط مناسب.
  • انتبه لأنواع البيانات: استخدم Integer للأعداد الصحيحة و Real للأعداد العشرية و LongInt للأعداد الكبيرة.
  • اختبار الحالات الحدية: اختبر برنامجك بـ N=0, N=1, N سالب (إن أمكن).
  • التهيئة الصحيحة: لا تنس تهيئة المتغيرات قبل استخدامها (مثل sum := 0).

📌 ملخص التمارين

  • التمرين 1: الأعداد الأولية — استخدام الحلقات و If مع Mod.
  • التمرين 2: أكبر عنصر في مصفوفة — المصفوفات أحادية البعد والمقارنة.
  • التمرين 3: حساب المضروب — الحلقات التكرارية مع الجداء.
  • التمرين 4: الأعداد المتناظرة — عكس الأرقام باستخدام While و Mod و Div.
  • التمرين 5: متوسط الأعداد الفردية — المصفوفات مع الشرط والتراكم.

📍 دروس مشابهة:

شاهد أيضا

العدل والمساواة في الإسلام — مفهومهما وأدلتهما من القرآن والسنة وأثرهما في بناء المجتمع — التربية الإسلامية — السنة الثالثة متوسط — المنهاج الجزائري

مقدمة العدل والمساواة من أعظم القيم التي جاء بها الإسلام، وهما أساس الحكم الصالح والمجتمع …

L’heure et les moments de la journée — Dire l’heure en français — Vocabulaire et exercices — Français 1ère Année Moyenne — Programme Algérien

Introduction Savoir dire l’heure est une compétence essentielle dans la vie quotidienne. Dans cette leçon, …

التناسبية — التمثيل البياني للتناسبية ومعامل التناسب مع أمثلة وتمارين محلولة — الرياضيات — السنة الثانية متوسط — المنهاج الجزائري

مقدمة التناسبية من المفاهيم الأساسية في الرياضيات، وهي علاقة بين كميتين تتغيران بنسبة ثابتة. تستخدم …

المجاز اللغوي — تعريفه وأقسامه (المجاز المرسل والاستعارة) وعلاقاته البلاغية مع أمثلة وتمارين — اللغة العربية — السنة الرابعة متوسط — المنهاج الجزائري

مقدمة المجاز اللغوي من أهم فروع البلاغة العربية، وهو أسلوب يعتمد على استخدام الكلمة في …

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

🎓 العد التنازلي لبكالوريا 2026
08 يوماً
:
18 ساعة
:
38 دقيقة
:
36 ثانية

📚 أحدث الدروس

عرض الكل ←
📖
س3 ابتدائي

التربية الإسلامية — بر الوالدين

فضل بر الوالدين وأهميته في الإسلام

🔢
س5 ابتدائي

الرياضيات — مساحة القرص

حساب مساحة الدائرة — ط × نق²

⚛️
3 ثانوي

الفيزياء — ثنائي القطب RL

تمارين بكالوريا مع الحلول

🌍
3 ثانوي

التاريخ — الحرب العالمية الأولى

الأسباب والنتائج — بكالوريا

📝 بنك الفروض والاختبارات

عرض الكل ←
فروض الفصل الأول جميع المواد — الأولى متوسط
اختبارات الفصل الثاني مع الحلول — الثالثة متوسط
مواضيع بكالوريا مقترحة مع الحلول — 3 ثانوي
مسابقات الأساتذة نماذج وحلول — 2026