admin قررت أن أبسط مثال تيترس وأريكم مما أشتكي. كما قلتم، داخل الدوال، يجب الإعلان عن المتغير في بداية الجزئية، فكان علي أن أكتب جزء من الصفرة في صنف، هكذا:
بسم الله الحكيم الخبير
الرزمة تجارب؛
استعمل الخوارزم.وسائط.شاشة؛
الصنف تجربة {
المتغير الحالة صحيح := أربعة؛
المتغير أعداد سرد {واحد := 1، اثنين := 2، ثلاثة := 3، أربعة := 4}؛
الدالة بين() {
شاشة::اكتب(الحالة)؛
}
}
سميت هذا البيان تجربة.خ
، ووضعته داخل ملف سميته تجارب_النطاقات
، فأصبح المسار شبها لهذا الشكل:
تجربة
|--> المصدر
|--> تجارب_النطاقات
|--> تجربة.خ
|--> اصل.خ
|--> الناتج
المهم، هذا هو محتوى البيان اصل.خ
:
بسم الله الحكيم الخبير
استعمل تجارب.تجربة؛
الدالة الاصل() {
تجربة::بين()؛
}
المترجم يبني برنامجا بلا مشكلة، ولكن، كما ستلاحظون في ملف تجربة.خ
، لقد هيئنا العدد
بقيمة عضو من المتغير الغير معلن إلى الآن، وهو أربعة
:
المتغير الحالة صحيح := أربعة؛
المتغير أعداد سرد {واحد := 1، اثنين := 2، ثلاثة := 3، أربعة := 4}؛
الســــــــؤال: كيف هذا؟ كيف من الممكن أن نستعمل عضو متغير غير معلن!!
في لغة سي، يشتكي المترجم:
#include<stdio.h>
int main(void) {
int number = three;
enum {one = 1, two, three} numbers;
printf("%d\n", number);
}
الناتج:
main.c:4:16: error: use of undeclared identifier 'three'
int number = three;
ولكن مترجم الخوارزم لا يشتكي من هذا البرنامج المطابق:
بسم الله الحكيم الخبير
استعمل الخوارزم.وسائط.شاشة؛
الدالة الاصل() صحيح{
المتغير عدد صحيح := ثلاثة؛
المتغير أعداد سرد {واحد := 1، ثاني := 2، ثلاثة := 3}؛
اكتب(عدد)؛
ارجع 0؛
}