تقييم الموضوع :
  • 1 أصوات - بمعدل 5
  • 1
  • 2
  • 3
  • 4
  • 5
الفصل(4): المصفوفات
#1
Smile 
إقتباس :هذا الدرس منقول من المنتدى القديم طبقاً لموافقة صاحب الموضوع Big Grin


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


______________

ملاحظة: الموضوع ليس موضوعي بل موضوع اخي وحبييبي لؤي لكن مجرد اضافة بسيطة رفض رفضا قاطعا انو ينزله والشكر اولا واخير لاخي لؤي

_____________



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

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




كود :
[align=left]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[/align]



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

الامر


كود :
Console.Write(String)


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


الأمر



كود :
Console.WriteLine()

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


الأمر



كود :
Console.ReadKey()

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

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





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


كود :
Dim Array(n) As Type

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


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

أنواع المصفوفات
(مش للهدرجة....هونها بتهون)
Big Grin

الآن تقسم المصفوفات الى أكثر من نوع:
  • مصفوفات أحادية الرتبة

  • مصفوفات ثنائية الرتبة

  • مصفوفات متعددة الرتبة


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

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




كود :
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 *****() as string ={“mohammed”,”7hoooda”,hitmaker”,”lo2i”}



وبالتالي يقوم المترجم تلقائيا بحجز مصفوفة بعدد عناصر المصفوفة المعطاة
بهذا نكون انتهينا ان شاء الله من درسنا ...يا اخي هونها بتهون!!




أبلغكم تحياتنا
Lo2i و
Mohammed Asaad
انتظروا الدرس القادم
الرد }}}}
تم الشكر بواسطة: mohammed moh , sooriaty03 , Sajad , scluay , مالكـ , Amir_alzubidy
#2
بارك الله فيك على النقل أخي عمر
دروس روعة ربي يجازيك و يجازي الإخوة الكرام
و بارك الله فيكم جميعا
الرد }}}}
تم الشكر بواسطة: hoob computer
#3
السلام عليكم ورحمة الله وبركاته

جميل جميل جدا باركم الله فيك
وأسلوب الطرح يجعلك تمضي بين السطور دون أن تشعر
جزاكم الله خيرا
الرد }}}}
تم الشكر بواسطة:
#4
. بارك الله بيك .بالتوفيق والنجاح الدائم
الرد }}}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
Smile الفصل(3): التركيبات أنواعها واستخداماتها Omar Mekkawy 9 4,290 17-11-16, 02:57 PM
آخر رد: ابو إياد
Smile الفصل(5):صنع القرار...الجزء الأول-الجمل الشرطية Omar Mekkawy 1 2,181 12-11-16, 10:29 AM
آخر رد: Amr_Gamal
  الفصل (7):- اوامر التكرار والدوران ( شرح مفصل ) Omar Mekkawy 2 11,274 16-07-16, 03:16 PM
آخر رد: ابراهيم كركوكي
Lightbulb شرح المصفوفات - جمل التكرار loop فيجوال بيسك دوت نت 2010 hassan77777 3 2,611 09-12-15, 05:50 PM
آخر رد: awidan76
  الفصل (1) : الفيجوال بيسك دوت نت (لمحة تعريفية) Omar Mekkawy 9 6,939 05-09-15, 05:49 AM
آخر رد: pioneer77
Smile الفصل(2):الثوابت والمتغيرات وخصائصها....نظرة مفصلة Omar Mekkawy 9 5,717 16-08-15, 03:18 PM
آخر رد: otman_bel
  الفصل (0) : دورة تعلم معنا فيجوال بيسك دوت نيت Omar Mekkawy 11 7,842 12-07-15, 12:51 AM
آخر رد: new_wave2002eg
  [VB.NET] شرح فيديو المصفوفات والحلقات التكرارية vb.net hassan77777 0 643 08-05-14, 05:40 AM
آخر رد: hassan77777
Smile الفصل(6):صنع القرار...الجزء الثاني-تكوين الشروط Omar Mekkawy 0 1,551 21-09-13, 11:52 AM
آخر رد: Omar Mekkawy

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم