الهياكل
الهياكل (Structs)
Section titled “الهياكل (Structs)”الهياكل تسمح لك بتجميع البيانات ذات الصلة معاً في نوع واحد.
تعريف هيكل بسيط
Section titled “تعريف هيكل بسيط”هيكل نقطة { س: صحيح, ص: صحيح}إنشاء نسخة من الهيكل
Section titled “إنشاء نسخة من الهيكل”دع ن1 = نقطة { س: 10, ص: 20};الوصول للحقول
Section titled “الوصول للحقول”اطبع_صحيح(ن1.س); // 10اطبع_صحيح(ن1.ص); // 20هيكل مع أنواع مختلفة
Section titled “هيكل مع أنواع مختلفة”هيكل شخص { الاسم: نص, العمر: صحيح}
دع موظف = شخص { الاسم: "خالد", العمر: 35};
اطبع(موظف.الاسم);اطبع_صحيح(موظف.العمر);هيكل مع أعداد عشرية
Section titled “هيكل مع أعداد عشرية”هيكل مستطيل { العرض: عشري, الارتفاع: عشري}
دع مست = مستطيل { العرض: 10.5, الارتفاع: 5.0};دوال مع الهياكل
Section titled “دوال مع الهياكل”دالة تأخذ مرجع للهيكل
Section titled “دالة تأخذ مرجع للهيكل”دالة احسب_المساحة(م: &مستطيل) -> عشري { أرجع م.العرض * م.الارتفاع;}
دالة احسب_المحيط(م: &مستطيل) -> عشري { أرجع 2.0 * (م.العرض + م.الارتفاع);}
// الاستخدامدع مست = مستطيل { العرض: 10.0, الارتفاع: 5.0 };دع المساحة = احسب_المساحة(&مست);دع المحيط = احسب_المحيط(&مست);دالة لعرض بيانات الهيكل
Section titled “دالة لعرض بيانات الهيكل”دالة اعرض_نقطة(ن: &نقطة) { اطبع("س: "); اطبع_صحيح(ن.س); اطبع("ص: "); اطبع_صحيح(ن.ص);}تعديل حقول الهيكل
Section titled “تعديل حقول الهيكل”استخدم متغير لإنشاء هيكل قابل للتعديل:
دع متغير ن2 = نقطة { س: 0, ص: 0 };
// قبل التعديلاطبع_صحيح(ن2.س); // 0
// تعديل الحقولن2.س = 100;ن2.ص = 200;
// بعد التعديلاطبع_صحيح(ن2.س); // 100الأشكال الهندسية
Section titled “الأشكال الهندسية”مثال عملي لاستخدام الهياكل:
// هيكل الدائرةهيكل شكل_دائرة { نصف_قطر: عشري}
دالة مساحة_دائرة(د: &شكل_دائرة) -> عشري { أرجع 3.14159 * د.نصف_قطر * د.نصف_قطر;}
دالة محيط_دائرة(د: &شكل_دائرة) -> عشري { أرجع 2.0 * 3.14159 * د.نصف_قطر;}
// هيكل المثلثهيكل شكل_مثلث { قاعدة: عشري, ارتفاع: عشري}
دالة مساحة_مثلث(ث: &شكل_مثلث) -> عشري { أرجع 0.5 * ث.قاعدة * ث.ارتفاع;}المثال الكامل
Section titled “المثال الكامل”// تعريف الهياكلهيكل نقطة { س: صحيح, ص: صحيح}
هيكل شخص { الاسم: نص, العمر: صحيح}
هيكل مستطيل { العرض: عشري, الارتفاع: عشري}
// الدوالدالة احسب_المساحة(م: &مستطيل) -> عشري { أرجع م.العرض * م.الارتفاع;}
دالة اعرض_نقطة(ن: &نقطة) { اطبع("نقطة ("); اطبع_صحيح(ن.س); اطبع(", "); اطبع_صحيح(ن.ص); اطبع(")");}
دالة رئيسية() { اطبع("=== الهياكل ===");
// إنشاء نقطة دع ن1 = نقطة { س: 10, ص: 20 }; اعرض_نقطة(&ن1);
// إنشاء شخص دع موظف = شخص { الاسم: "خالد", العمر: 35 }; اطبع("الاسم: "); اطبع(موظف.الاسم); اطبع("العمر: "); اطبع_صحيح(موظف.العمر);
// إنشاء مستطيل دع مست = مستطيل { العرض: 10.5, الارتفاع: 5.0 }; اطبع("المساحة: "); اطبع_عشري(احسب_المساحة(&مست));
// هيكل متغير دع متغير ن2 = نقطة { س: 0, ص: 0 }; ن2.س = 100; ن2.ص = 200; اعرض_نقطة(&ن2);}