5-1 المصفوفات Matricesxe "مصفوفات"
المصفوفة هي عبارة عن مجموعة من العناصر تشترك معا في صفة واحدة . ولتسهيل التعامل معها نعطيها اسما معينا ، يجب أن يحقق الشروط المطلوبة لتسمية اسم المتغير في لغة الفيجول بيسك . اسم المصفوفة مثلا Age هو اسم مقبول حيث أن هذا الاسم لا يمثل اسم متغير بل يمثل اسما للمصفوفة. لذلك يجب الإعلان عن هذا الاسم بأنه يمثل مجموعة من العناصر تشكل مصفوفة وجميع عناصرها لها نوع البيانات نفسه , ويتحدد عناصرها بالقيمة العظمى التي تحددها لها حيث يكون أول عنصر في المصفوفة هو ذو الترتيب صفر .وتسمى المصفوفة Age(4) ذات الخمسة متغيرات بالمصفوفة ذات البعد الواحد وتتمثل بالشكل التالي:
[ age(0) Age(1) age(2) Age(3) Age(4) ]
أما المصفوفة G(2,1) هي مصفوفة ذات بعدين تحتوي على ستة عناصر وكل عنصر يتحدد بدليلين ( I , J ) حيث I تمثل عدد الصفوف وهي ثلاثة و J تمثل عدد الأعمدة وهي اثنان . حيث I تتغير من صفر إلى 2 وكذلك J تتغير من صفر إلى 1 .
. فمثلاً: يدرك فيجول بيسك لدى استخدامه العبارة التالية:
Dim X(3)
هنا حجز أربعة خانات للمتغير X ويمثل المتغير مصفوفة ذات بعد واحدDim X(4,3)
هنا حجز 20 خانه للمتغير X ويمثل المتغير مصفوفة ذات بعدين تتمثل بخمسة صفوف وأربعة أعمدةجملة الإعلان عن المصفوفة :
عند الإعلان عن أية مصفوفة تحتاج أن تعرف نوع البيانات الموحد لجميع عناصر المصفوفة ، وعدد عناصرها ومن جمل الإعلان هي :Dim , Public , Static , Private
حيث يمكنك استخدام أي من المواصفات المذكورة أعلاه .
Dim و Static للمصفوفات المحلية
Private للمصفوفات الخاصة .
Public للمصفوفات القياسية الشائعة (module ) .
Dim Num (4,3) As Integer
تعني حجز مصفوفة ذات عشرون عنصر ثنائية البعد من النوع الصحيح
Dim name (3) As string
تعني حجز مصفوفة ذات أربعة عناصر أحادية البعد من النوع الحرفي
ويمكن أن يصرح عن المصفوفة الساكنة الأحادية بالتصريح
Static X (10) As Integer
Or Static Num(5,6) As integer
المتحولات العامة(الشائعة) public تكون محفوظة طوال فترة تنفيذ أو فتح المشروع .أما المتحولات المحلية Dim تعمل فقط أثناء تنفيذ ذلك الإجراء وعند الانتهاء من تنفيذ الإجراء تضيع قيم هذه المتحولات وتصبح الذاكرة فارغة لكن عند تنفيذ الإجراء مرة أخرى يعاود ال V.B حجز أمكنة لها
يمكن أن نجعل V.B يحافظ على قيمة متحول محلي من استدعاء لاستدعاء آخر للإجراء بتعريفه باستخدام التعليمة Static التي تستخدم تماما مثل التعليمة Dim .
ملاحظة : من الممكن التصريح عن المصفوفة ضمن قسم التصاريح العامة General Declaration عندها ستكون المصفوفة مرئية لكافة إجراءات وتوابع النموذج.
كذلك يمكن أن تصرح عن المصفوفة X كمصفوفة ديناميكية في قسم التصاريح العامة اكتبها بالشكل التالي:
Dim X ( ) As Integer
يفهم فيجول بيسك من هذه العبارة أن المصفوفة ديناميكية وذلك لان القوسين الهلاليين وراء الاسم X فارغان .
مثال:
اكتب برنامجا بلغة بيسك لقراءة وطباعة مصفوفة ذات بعد واحدلاحظ أن X(counter) هو متغير (Variable) تتغير قيمته عندما ندخل قيمة جديدة.