السجلات (Records) في لغة Pascal: تعريفها واستخداماتها مع تمارين محلولة — الثانية ثانوي (شعبة تقني رياضي) — الإعلام الآلي

📋 بطاقة الدرس

المادة الإعلام الآلي (Informatique)
المستوى الثانية ثانوي (شعبة تقني رياضي)
الوحدة البرمجة بلغة Pascal — السجلات (Records)

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

  • فهم مفهوم السجل (Record) في لغة Pascal وأهميته
  • تعريف نوع سجل باستخدام الكلمة المفتاحية Record
  • التعامل مع حقول السجل (Fields) باستخدام النقطة (.)
  • استخدام السجلات مع المصفوفات لإنشاء قواعد بيانات بسيطة
  • كتابة برامج متكاملة تستخدم السجلات

📍 تمهيد

عندما نريد تخزين بيانات مركبة عن شخص أو منتج، كاسم ورقم هاتف وعنوان، فإننا نحتاج إلى هيكل بيانات يجمع هذه المعلومات المتنوعة في كيان واحد. السجل (Record) في لغة Pascal يتيح لنا ذلك. السجل هو نوع بيانات مركب يجمع عدة عناصر (حقول) قد تكون من أنواع مختلفة (Integer, String, Real, …).

📖 أولاً: تعريف السجل

يتم تعريف السجل باستخدام الكلمة المفتاحية Record داخل Type:

📝 تعريف سجل طالب

Type
  TEtudiant = Record
    Nom: String[30];
    Prenom: String[20];
    Age: Integer;
    NoteMoyenne: Real;
    Adresse: String[50];
  End;

Var
  etudiant1, etudiant2: TEtudiant;

📖 ثانياً: التعامل مع حقول السجل

للوصول إلى حقل معين في السجل، نستخدم النقطة (.) بين اسم المتغير واسم الحقل:

📝 مثال: إدخال وعرض بيانات سجل

Begin
  Write('Enter le nom: ');
  ReadLn(etudiant1.Nom);
  Write('Enter l\'age: ');
  ReadLn(etudiant1.Age);
  Write('Enter la moyenne: ');
  ReadLn(etudiant1.NoteMoyenne);
  
  WriteLn('Nom: ', etudiant1.Nom);
  WriteLn('Age: ', etudiant1.Age);
  WriteLn('Moyenne: ', etudiant1.NoteMoyenne:0:2);
  ReadLn;
End.

📖 ثالثاً: مصفوفة من السجلات

يمكن إنشاء مصفوفة من السجلات لتخزين بيانات مجموعة من العناصر:

📝 مثال: قائمة طلاب

Const
  N = 5;
Type
  TEtudiant = Record
    Nom: String[30];
    Note: Real;
  End;
Var
  etudiants: Array[1..N] of TEtudiant;
  i: Integer;
Begin
  For i := 1 To N Do
  Begin
    Write('Nom etudiant ', i, ': ');
    ReadLn(etudiants[i].Nom);
    Write('Note: ');
    ReadLn(etudiants[i].Note);
  End;
  WriteLn;
  WriteLn('Liste des etudiants:');
  For i := 1 To N Do
    WriteLn(etudiants[i].Nom, ' - ', etudiants[i].Note:0:2);
  ReadLn;
End.

📖 رابعاً: السجلات مع العبارة With

لتسهيل الوصول إلى حقول السجل، نستخدم العبارة With التي تسمح بكتابة أسماء الحقول دون تكرار اسم المتغير:

📝 استخدام With

With etudiant1 Do
Begin
  Nom := 'Ali';
  Prenom := 'Mohamed';
  Age := 17;
End;
// بدلاً من:
// etudiant1.Nom := 'Ali';
// etudiant1.Prenom := 'Mohamed';

✏️ تمرين تطبيقي

عرف سجلاً للمنتجات يحتوي على: رقم المنتج (Integer)، اسم المنتج (String[40])، السعر (Real)، الكمية (Integer). ثم اكتب برنامجاً يقرأ بيانات 3 منتجات ويعرض قيمة المخزون الإجمالي (سعر × كمية لكل منتج).

🟢 انقر هنا لرؤية الحل
Program GestionStock;
Type
  TProduit = Record
    Code: Integer;
    Nom: String[40];
    Prix: Real;
    Quantite: Integer;
  End;
Var
  produits: Array[1..3] of TProduit;
  i: Integer;
  total: Real;
Begin
  For i := 1 To 3 Do
  Begin
    WriteLn('Produit ', i);
    Write('Code: '); ReadLn(produits[i].Code);
    Write('Nom: '); ReadLn(produits[i].Nom);
    Write('Prix: '); ReadLn(produits[i].Prix);
    Write('Quantite: '); ReadLn(produits[i].Quantite);
  End;
  total := 0;
  For i := 1 To 3 Do
    total := total + (produits[i].Prix * produits[i].Quantite);
  WriteLn('Valeur totale du stock: ', total:0:2);
  ReadLn;
End.

💡 خلاصة

السجلات (Records) في Pascal تسمح بتجميع بيانات متنوعة في كيان واحد. يتم تعريفها باستخدام Record...End داخل Type. نصل إلى الحقول باستخدام النقطة (.) أو العبارة With. يمكن دمج السجلات مع المصفوفات لإنشاء قواعد بيانات بسيطة. السجلات أساسية لفهم البرمجة المهيكلة والتحضير لبكالوريا تقني رياضي.

📍 دروس مشابهة

شاهد أيضا

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

العلوم — التربة — السنة الرابعة ابتدائي تعريف العلوم — التربة — السنة الرابعة ابتدائي …

العلوم — التربة — السنة الثالثة ابتدائي

العلوم — التربة — السنة الثالثة ابتدائي تعريف العلوم — التربة — السنة الثالثة ابتدائي …

علوم — الأغذية المفيدة (تمارين وأمثلة) — السنة الثانية ابتدائي

علوم — الأغذية المفيدة (تمارين وأمثلة) — السنة الثانية ابتدائي تعريف علوم — الأغذية المفيدة …

علوم — التغذية والصحة — السنة الثالثة ابتدائي

علوم — التغذية والصحة — السنة الثالثة ابتدائي تعريف علوم — التغذية والصحة — السنة …

🎓 العد التنازلي لبكالوريا 2026
04 يوماً
:
02 ساعة
:
33 دقيقة
:
30 ثانية

📚 أحدث الدروس

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

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

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

🔢
س5 ابتدائي

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

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

⚛️
3 ثانوي

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

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

🌍
3 ثانوي

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

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

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

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