16‏/03‏/2012

نمدجة القوائم Les listes اليوم ستفهم فلسفتها بالـ VB.NET


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

و الصلاة و السلام على أزكى الخلق و اشرف المرسلين سيدنا محمد

و على آله و صحبه أجمعين


اليوم بإدن الله سنتطرق لفهم القوائم أو بالأحرى فلسفة القوائم les listes 
و دلك بإستعمال نمدجة لها بأكواد VB.NET
ليسهل للمتابعين فهمها
أول شيء ما هي القوائم؟

القوائم هي بنيات ديناميكية تسمح بالتعامل الدينياميكي مع الداكرة و الزيادة و الحدف منها
حسب الحاجة 
في درسنا اليوم سنتطرق لشيء مهم هو فهم فلسفتها 
ثم في دروس أخرى بإدن الله سأتطرق لشيء أهم هي إستعمالتها في لغة البرمجة c++

:



الكل رايح يخرج فاهم


بعد ما عرفنا القوائم نأتي إلى النمدجة و فهم مما تتركب القائمة 
و سنستعمل كلغة برمجة هده المرة لغة VB.NET

تتكون القائمة من :
القائمة تتكون من عناصر ------>
كل عنصر يتكون من قسمين ------->
+ قسم يحمل قيمة من أي نوع .
+ و قسم يحمل عنوان القيمة الموالية للقائمة .
مثال :
هادا هو تمثيل للقائمة و كما تلاحظون أن آخر القائمة لا يحمل عنوان أي لا يدل على قيمة معينة .
الآن ما سنقوم به هو نمدجة هده القائمة بفكرة سهلة الفهم و هي التنقل بين ولايات الجزائر
نفترض أن القيم Contenu هي أسم الولاية مثلا ولاية جيجل التي أسكن بها
و الSuivant أو ما يسميه البعض Adress أي عنوان الولاية التالية بعد جيجل مثلا بجاية
نفترض أننا نريد السفر من جيجل إلى العاصمة ( الجزائر العاصمة )
لدينا الخارطة للفهم اكثر
نريد الإنتقال من الولاية 18 إلى الولاية 16
من جيجل إلى الجزائر العاصمة
نفترض القائمة تكون على النحو التالي قمت بتغير أرقام الولايات
بليدة مسيلة تبسة سطيف عنابة الجزائر العاصمة قسنطينة أدرار جيجل
إسم الولاية
8 -1 6 5 3 9 4 9 7
عنوان الولاية

أنا أفترضتها هكدا يعني كل ولاية لها عنوان و لكل ولاية تلي هده الولاية لها رقم ترتيبها مثلا جيجل رقم ترتيبها هو 1
و أدرار رقم ترتيبها هو 2 و هكدا من اليسار لليمين
الآن نأتي إلى ربط علاقة بين هادا الجدول و درسنا
نفترض الولاية هي القيمة للمتغير
و عنوان الولاية هو عنوان الولاية التي تلي الولاية الحالية
نفرض أنني أريد الدهاب من جيجل إلى العاصمة
جيجل لديها العنوان 7 و ترتيب الولاية رقم 7 هي ولاية تبسة و التي تحمل عنوان 6 الدي يأدي بنا إلى
عنابة صاحبة الترتيب 6 و التي تحمل عنوان 3 الدي يأدي بنا إلى قسنطينة
التي تحمل العنوان 4 الدي يأدي بنا لولاية إلى الجزائر العاصمة
فنتوقف لأننا وصلنا للعاصمة أو تريدون المزيد
إدا بعدما وصلنا نأتي الآن للبرمجة و الأكواد الخاصة بنمدجتنا هده
بحيث من خلالها سيكون من السهل عليكم فهم القوائم les List
بكل سهولة
نأتي للأكواد و هي مكتوبة و مشروحة سطر بسطر
و للأسف أصحاب الحساسية المفرطة لا يمكنهم النظر للكود ( يعرفون أنفسهم جيدا )
الكود مكتوب باللغة العملاقة VB.NET
أترككم تتمتعون بالنظر للكود
 و النتيجة بتطبيق المثال السابق :

لمحبي الأكواد الجاهزة و للتجريب على المثال الدي أعطيته لكم
هاهو الكود
كود نمدجة القوائم
Module Module1
Structure willaya ' المتغير امختلط الدي أنشئناه هنا
Dim Nom_Willaya As String ' متغير يحمل إسم الولاية
Dim Numero_Willaya As Integer ' متغير يحمل رقم الولاية
End Structure
Sub Main() ' الدالة الرئيسية للبرنامج
Dim willa(9) As willaya ' قمنا بتعيرف مصفوفة أحادية البعد من نوع المتغير المختلط الدي أنشئناه
Console.WriteLine("-- Input Of Structure --")
For i = 1 To 9 ' حلقة نستعملها لقرائة قيم كل من إسم و رقم الولاية
Console.WriteLine("entrez le nom de la willaya :")
willa(i).Nom_Willaya = Console.ReadLine ' قراءة إسم الولاية الخاصة بالعنصر i من المصفوفة
Console.WriteLine("Entrez le Numero de la willaya : ")
willa(i).Numero_Willaya = Console.ReadLine ' نفس الشيء قراءة رقم الولاية الخاص بالعنصر من المصفوفة
Next
Console.ReadKey()
Dim j As Integer = 1
While (willa(j).Numero_Willaya <> 8) ' حلقة فيها شرط التوقف و هو عندما تصبح رقم الولاية يساوي 8
Console.Write(" --> " & willa(j).Nom_Willaya) ' عرض إسم الولاية إعتمادا على رقم الولاية السابقة
j = willa(j).Numero_Willaya ' إسناد قيمة رقم الولاية إلى ترتيب الولاية
End While
Console.ReadKey()
End Sub
End Module
إلى هنا أكون قد أنهيت هادا الدرس الدي يعد مثاله افظل مثال لفهم فلسفة القوائم و التنقل بينها


أي إستفسار أنا لست هنا ههه أمزح حاضر



2 commentaires:

  1. بوركت يا أخي
    بدي طلب هل يمكنك تدريسها بلغة C/C++

    ردحذف
  2. و فيك بارك الله أخي
    إن شاء الله إستفدت

    نعم سأطرح دورتين متزامنتين واحدة لل C/C++
    و الثانية في الدلفي

    ردحذف