العودة   منتدى رياض الجنة - Riad Al-Ganah > الرياض التقنية > روضة الكورسات والدورات التقنية والعلمية > روضة دورات تقنية الـ .NET بلغاتها المختلفة > دورة .NET 2008 من منتدى فيجوال بيسك للعرب

دورة .NET 2008 من منتدى فيجوال بيسك للعرب مقدم الدورة : أحمد جمال ، نوع الدورة : كتابية مصحوبة بصور ، حالة الدورة : انتهت ، عدد الدروس : 80 درس . مستوى الدورة : من البداية للاحتراف .

إضافة رد

 
أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 02-18-2010, 04:01 PM
الصورة الرمزية khaledbelal
khaledbelal khaledbelal غير متواجد حالياً
مبرمج المنتدى
الادارة تكليف لا تشريف
 
تاريخ التسجيل: Oct 2009
العمر: 34
المشاركات: 3,606
افتراضي الدرس الثامن : المصفوفات .net 2008

بسم الله الرحمن الرحيم .

في هذا الدرس سوف نتعرف على المصفوفات وكيفية استخدامها وتعريفها .

ما هي المصفوفات Arrays :

المصفوفة هي عبارة عن سلسلة من البيانات من نفس النوع ، لتعريف Array من الارقام طولها 5 عناصر نكتب الكود التالي :

C#:
كود PHP:
int [] intarray = new int[5]; 
VB.net:
كود PHP:
Dim intarray As Integer() = New Integer(4
يبدأ الترقيم في المصفوفات من الصفر وحتى 4 ، لقراءة احد عناصر المصفوفة نكتب كود مثل التالي :

C#:
كود PHP:
Console.WriteLine(intarray[3]); 
Vb.net:
كود PHP:
Console.WriteLine(intarray(3)) 
ولقراءة جميع العناصر يمكن استخدام حلقات التكرار بالشكل التالي :

C#:
كود PHP:
for (int i=0;i<5;i++)
Console.WriteLine(intarray[i]); 
VB.net:
كود PHP:
 
For As Integer 0 To 4 
    Console
.WriteLine(intarray(i)) 
Next 
تكوين المصفوفات :

الطريقة الاسهل لادخال البيانات إلى المصفوفة بالشكل التالي مثلاً :

C#:
كود PHP:
array[0]=15;
array[
1]=20;
array[
2]=13
VB.net:
كود PHP:
array(0) = 15 
array(1) = 20 
array(2) = 13 
أو عن طريق حلقة تكرار ايضاً ، إلا ان هناك طريقة أخرى لادخال البيانات إلى المصفوفة بالشكل التالي مثلاً :

C#:
كود PHP:
 
int
[] intarray = new int[] { 152013 }; 
VB.net:
كود PHP:
Dim intarray As Integer() = New Integer() {152013
المصفوفات متعددة الابعاد :

جميع المصفوفات السابقة هي مصفوفات احادية البعد one dimensional ، هناك انواع اخرى من المصفوفات ثنائية او متعددة الابعاد Multi dimensional ، هذا مثال على مصفوفة ثنائية الابعاد - تسمى باسم Matrix - :

C#:
كود PHP:
int matrix = new int[3,3]; 
VB.net:
كود PHP:
Dim matrix As Integer = New Integer(22
سيكون شكل المصفوفة بالشكل التالي (افتراضي) :

0 0 0
0 0 0
0 0 0

ويمكن ادخال البيانات إلى نقطة من المصفوفة بالشكل التالي :

C#:
كود PHP:
matrix[1,2]=20
VB.net:
كود PHP:
matrix(12) = 20 
يمكن عمل حلقة تكرار لادخال البيانات ، وليكن عن طريق المستخدم بالشكل التالي مثلاً :

C#:
كود PHP:
int matrix = new int[33];
for(
int i=0;i<3;i++)
for(
int j=0;j<3;j++)
matrix[i,j]=Console.ReadLine(); 
VB.net:
كود PHP:
Dim matrix As Integer = New Integer(22) {} 
For 
As Integer 0 To 2 
    
For As Integer 0 To 2 
        matrix
(ij) = Console.ReadLine() 
    
Next 
Next 
والطباعة بنفس الشكل ايضاً .


عمل مصفوفة من المصفوفات :

يمكن عمل مصفوفة يحتوي كل عنصر منها على مصفوفة بالشكل التالي :

C#:
كود PHP:
int[][] complexarray = new int[5][];
VB.net
كود PHP:
Dim complexarray As Integer()() = New Integer(4)() 
ويمكن الوصول لأي عنصر فيها عن طريق الكود التالي مثلاً :

C#:
كود PHP:
Console.WriteLine(complexarray[1][4]); 
VB.net:
كود PHP:
Console.WriteLine(complexarray(1)(4)) 
وهذا ما يعني العنصر رقم 4 من المصفوفة الأولى في المصفوفة complexarray

ارسال واستقبال المصفوفات من وإلى الدوال :

بعد مراجعتك للدرس التالي الخاص بالدوال واستقبال البارميترس :
http://vb4arab.com/vb/showthread.php?t=10165

يمكنك عمل دالة لطباعة محتويات مصفوفة بالشكل التالي :
C#:
كود PHP:
static void print(int[] arr)
{
for (
int i 0arr.Lengthi++)
Console.WriteLine(arr[0]);

VB.net:
كود PHP:
Private Shared Sub print(ByVal arr As Integer()) 
    For 
As Integer 0 To arr.Length 
        Console
.WriteLine(arr(0)) 
    
Next 
End Sub 
لا تنسى طبعاً انه يتم التعامل معها byref افتراضياً ، لذا أي تعديل في الدالة سيؤثر على المصفوفة الأساسية .

في حالة كون ال array هي ما نود اعادته من الدالة return ، نكتب الكود بالشكل التالي :

C#:
كود PHP:
static int [] read()
{
int []arr=new int[3];
for (
int i=0;i<3;i++)
arr[i]=Console.Read();

VB.net:
كود PHP:
Private Shared Function read() As Integer() 
  
    
Dim arr As Integer() = New Integer(2) {} 
    For 
As Integer 0 To 2 
        arr
(i) = Console.Read() 
    
Next 
End 
Function 
خصائص المصفوفات الرئيسية :

تحتوي المصفوفات على بعض خصائص ودوال قد تساعدك في العمل عليها ، اشهرها واكثرها استخداماً هي الخاصية Lenght والتي تحدد طول عناصر المصفوفة ، الخاصية Rank تحدد عدد الابعاد في المصفوفة .

الدالة Sort تقوم بترتيب عناصر المصفوفة Reverse تقوم بعكس ترتيب عناصر المصفوفة ، وأخيراً الدالة ToString لتحويل المصفوفة إلى متغير نصي .

إلى هنا نكون قد انتهينا من درس المصفوفات ، نواصل مع دروس أخرى قادمة .

والله الموفق ..
والسلام عليكم ورحمة الله وبركاته .


توقيع : khaledbelal



(أَفَأَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا بَيَاتاً وَهُمْ نَآئِمُونَ {97} أَوَ أَمِنَ أَهْلُ الْقُرَى أَن يَأْتِيَهُمْ بَأْسُنَا ضُحًى وَهُمْ يَلْعَبُونَ {98}
أَفَأَمِنُواْ مَكْرَ اللّهِ فَلاَ يَأْمَنُ مَكْرَ اللّهِ إِلاَّ الْقَوْمُ الْخَاسِرُونَ {99}).
سورة الأعراف.

رد مع اقتباس
إضافة رد


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

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

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
الدرس 6: المصفوفات Arrays والتعامل معها وشرح التراكيب Structures khaledbelal دورة CSharp 2008 من منتدى فيجوال بيسك للعرب 1 10-29-2010 07:32 PM
الدرس الثامن عشر : معرفات الوصول Access Modifer دورة .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-19-2010 08:18 PM
الدرس السابع : الدوال والطرق .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-17-2010 04:42 PM
الدرس الثاني : تقنيات جديدة مع .net 2008 khaledbelal دورة .NET 2008 من منتدى فيجوال بيسك للعرب 0 02-15-2010 03:37 AM
الدرس الثامن (المؤلفات المفردة في المناهي اللفظية) ابو تسنيم روضة العقيدة 0 01-09-2010 11:43 AM

استضافة الحياة

الساعة الآن 10:55 AM.


Powered by vBulletin® v3.8.4, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. , TranZ By Almuhajir
النسخة الفضية
Ads Management Version 3.0.1 by Saeed Al-Atwi

SlamDesignzslamDesignzEdited by Riad Al-Ganah Team - جميع الحقوق محفوظة لشبكة رياض الجنة

Privacy Policy Valid XHTML 1.0 Transitional By SlamDesignz Valid CSS Transitional By SlamDesignz