°ˆ~*¤®§(*§ مـــنـــتـــدى بــــوعـــــنــــان §*)§®¤*~ˆ°
هل تريد التفاعل مع هذه المساهمة؟ كل ما عليك هو إنشاء حساب جديد ببضع خطوات أو تسجيل الدخول للمتابعة.

°ˆ~*¤®§(*§ مـــنـــتـــدى بــــوعـــــنــــان §*)§®¤*~ˆ°

الموقع موجه لكل الشباب العرب أدخل وأبدع مساحة بدون قيود
 
الرئيسيةأحدث الصورالتسجيلدخول

 

 الفصل(4): المصفوفات

اذهب الى الأسفل 
كاتب الموضوعرسالة
Admin
مدير
مدير
Admin


عدد الرسائل : 68
العمر : 35
Localisation : oujda
السٌّمعَة : 3
نقاط : 6439
تاريخ التسجيل : 10/02/2007

الفصل(4): المصفوفات Empty
مُساهمةموضوع: الفصل(4): المصفوفات   الفصل(4): المصفوفات Emptyالأربعاء فبراير 15, 2012 8:07 pm

السلام عليكم ورحمة الله وبركاته
بسم الله الرحمن الرحيم
درسنا لليوم ان شاء الله سيتحدث عن المصفوفات(من الموضوعات ذات الأهمية الكبرى في عالم البرمجة)


بداية اعلم عزيزي أن المصفوفة عبارة عن مجموعة من المتغيرات التي تحمل عدة قيم تحت مسمى واحد بطريقة مفهرسة

سوف نقوم بشرح هذا الفصل تحت مشروع الConsole
قم بفتح مشروع Console جديد وسوف نوضح تعريفنا السابق...





رمز برمجي:
Sub Main()
Dim Days(6) As String
Dim i As Integer

Days(0) = "Saturday"
Days(1) = "Sunday"
Days(2) = "Monday"
Days(3) = "Tuesday"
Days(4) = "Wednesday"
Days(5) = "Thursday"
Days(6) = "Friday"

For i = 0 To 6 Step 1
Console.Write(Days(i))
Console.WriteLine()

Next
Console.ReadKey()
End Sub

مداخلة: بالنسبة لبعض الأكواد
الامر




رمز برمجي:
Console.Write(String)


يقوم بقنص النص المدخل وعرضه على الشاشة

الأمر




رمز برمجي:
Console.WriteLine()

يقوم بطباعة سطر جديد

الأمر



رمز برمجي:
Console.ReadKey()

يقوم بقنص مفاتيح الكيبورد لتنفيذ ما بعده

بالنسبة للحلقة باستخدام For سوف نضع لها فصلا كاملا ان شاء الله في القريب
كذلك مشروع الConsole سنوضحه في فصل كامل وباختصار هو يستخدم للاشياء
البسيطة كدرسنا كما يستخدم في العمليات الخفيفة كالنسخ والحذف وما الى
ذلك...




الآن كما نرى فاننا قمنا بحجز مصفوفة كنص باسم Days و وجعلنا عناصرها 7 عناصر...كيف؟؟
في فيجوال بيسك دوت نت نعلن عن المصفوفة بالشكل التالي:



رمز برمجي:
Dim Array(n) As Type
بحيث أن عدد عناصر المصفوفة يساوي n+1
والآن هل لاحظت أن أول عنصر تبدأ فهرسته من صفر
لعلك عرفت أن n ترمز إلى فهرس المصفوفة
فإذا أردنا استخراج أو اسناد قيمة للعنصر(النوني n ) في المصفوفة فنرمز له باسم المصفوفة وبداخل القوسين العدد n-1
باختصار: كما رأينا المصفوفة عبارة عن (متغير أو ثابت) يحمل عدة قيم بسحب المحجوز من البداية...


الآن فلنتعمق أكثر(لكن لن نغرق باذن الله)
المصفوفات لا تقتصر على ما شرحناه فهي اكبر من ذلك ... والآن سندخل في أنواع المصفوفات


أنواع المصفوفات الفصل(4): المصفوفات Eek (مش للهدرجة....هونها بتهون)
الآن تقسم المصفوفات الى أكثر من نوع:

  • مصفوفات أحادية الرتبة
  • مصفوفات ثنائية الرتبة
  • مصفوفات متعددة الرتبة
أولا: المصفوفات أحادية الرتبة..
اعلم عزيزي أن المثال بالأعلى هو عبارة عن مصفوفة أحادية الرتبة
المصفوفة أحادية الرتبة تتكون من صف واحد وعدة أعمدة أو عمود واحد وعدة صفوف
طريقة الإعلان:



رمز برمجي:
Dim Array(n) As Type
مثال:



رمز برمجي:
Dim MyLovers(3) As String
MyLovers(0) ="MOHAMMED"
MyLovers(1) = "Lo2i"
MyLovers(2) = "7hoooda"
MyLovers(3) = "The Rest
"

الآن كما رأينا قمنا بحجز مصفوفة من 4 عناصر(3+1)
وقمنا باسناد قيمة لكل عنصر حسب فهرسته في المصفوفة( مش قلنالك هينة..!)

ثانيا: المصفوفات ثنائية الرتبة..
الآن دعنا نرتفع بالسلم درجة للأعلى...
المصفوفة ثنائية الرتبة :هي المصفوفة التي تكون رتبتها مقيدة برقمين (كتشبيه ثنائية الأبعاد)
وعدد عناصر المصفوفة تساوي عدد الصفوف مضروبا بعدد الأعمدة

طريقة الإعلان:



رمز برمجي:
Dim Array(m,n) As Type
مثال:




رمز برمجي:
Dim ages(2, 2) As Integer
ages(0, 0) = 1
ages(0, 1) = 2
ages(0, 2) = 3
ages(1, 0) = 4
ages(1, 1) = 5
ages(1, 2) = 6
ages(2, 0) = 7
ages(2, 1) = 8
ages(2, 2) = 9
لكن ما الذي حدث؟
اقتباس:
_______________
عدد عناصر المصفوفة تساوي عدد الصفوف مضروبا بعدد الأعمدة
_______________

لكن عدد عناصر المصفوفة 9 والمفروض 2*2 =4
احذر عزيزي من الوقوع في هذا الخطأ الفادح....كما قلنا بالأعلى فان رتبة
المصفوفة (فهرستها) تبدأ من الصفر أي أن عدد عناصر المصفوفة أعلاه لا يساوي
2*2 بل يساوي (2+1)*(2+1) = 3*3 =9(مش قلنا هونها بتهون.!)

ثالثا:المصفوفة متعددة الرتبة وتكون ثلاثية الأبعاد وطريقة الحجز كالتالي:




رمز برمجي:
Dim Array(x,y,z) As Type
ولكن لا أظنك تحتاج اليها في حياتك البرمجية لذلك حبذت عدم الحديث عنها..


طرق حجز المصفوفات في الذاكرة
الطريقة الأولى:طريقة الحجز باعطاء الرتبة ثم إسناد القيم....كما جميع الأمثلة السابقة..
الطريقة الثانية: الحجز بدون اعطاء الرتبة مع الاسناد المباشر للقيم
مثال:



رمز برمجي:
Dim vba4a() as string ={“mohammed”,”7hoooda”,hitmaker”,”lo2i”}
وبالتالي يقوم المترجم تلقائيا بحجز مصفوفة بعدد عناصر المصفوفة المعطاة
بهذا نكون انتهينا ان شاء الله من درسنا ...!!

انتظروا الدرس القادم
الرجوع الى أعلى الصفحة اذهب الى الأسفل
https://bouanane.yoo7.com
 
الفصل(4): المصفوفات
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» الفصل(3): التركيبات أنواعها واستخداماتها
» الفصل (1) : الفيجوال بيسك دوت نت (لمحة تعريفية)
» الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة
» الفصل(5):صنع القرار...الجزء الأول-الجمل الشرطية
» الفصل (0) : دورة تعلم معنا فيجوال بيسك دوت نيت

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
°ˆ~*¤®§(*§ مـــنـــتـــدى بــــوعـــــنــــان §*)§®¤*~ˆ° :: °ˆ~*¤®§(*§ مـــنـــتـــدى البرمجة والتطوير §*)§®¤*~ˆ° :: VB.NET-
انتقل الى: