بسم الله الرحمن الرحيم
و الصلاة و السلام على أزكى الخلق و اشرف المرسلين سيدنا محمد
و على آله و صحبه أجمعين
اليوم بإدن الله سنتطرق لفهم القوائم أو بالأحرى فلسفة القوائم 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 |
إلى هنا أكون قد أنهيت هادا الدرس الدي يعد مثاله افظل مثال لفهم فلسفة القوائم و التنقل بينها
أي إستفسار أنا لست هنا ههه أمزح حاضر
بوركت يا أخي
ردحذفبدي طلب هل يمكنك تدريسها بلغة C/C++
و فيك بارك الله أخي
ردحذفإن شاء الله إستفدت
نعم سأطرح دورتين متزامنتين واحدة لل C/C++
و الثانية في الدلفي