InstagramTwitterSnapChat


 
وصف

العودة   منتديات سكاو > الكليات الجامعية > منتدى كلية الحاسبات وتقنية المعلومات > منتدى قسم علوم الحاسبات
   
   


الدرس(5): المصفوفات

منتدى قسم علوم الحاسبات

إضافة رد
 
أدوات الموضوع إبحث في الموضوع انواع عرض الموضوع
منتديات طلاب وطالبات جامعة الملك عبد العزيز منتديات طلاب وطالبات جامعة الملك عبد العزيز
  #1  
قديم 27-12-2014, 09:12 PM

عبدالقادر البعداني عبدالقادر البعداني غير متواجد حالياً

استاذ جامعي

 
تاريخ التسجيل: Dec 2014
الكلية: كلية الحاسبات وتقنية المعلومات
التخصص: علوم حاسوب
نوع الدراسة: ماجستير
المستوى: متخرج
البلد: الدول العربية
الجنس: ذكر
المشاركات: 7
افتراضي الدرس(5): المصفوفات


دورة الدوت نت

الدرس(5): المصفوفات

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



______________

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



سوف نقوم بشرح هذا الفصل تحت مشروع ال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

باختصار: كما رأينا المصفوفة عبارة عن (متغير أو ثابت) يحمل عدة قيم بسحب

المحجوز من البداية...





الآن فلنتعمق أكثر(لكن لن نغرق باذن

الله)

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

أنواع المصفوفات

الآن تقسم المصفوفات الى أكثر من نوع:





مصفوفات أحادية الرتبة

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

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



أولا: المصفوفات أحادية الرتبة..

اعلم

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

المصفوفة أحادية

الرتبة تتكون من صف واحد وعدة أعمدة أو عمود واحد وعدة صفوف

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



كود:

Dim Array(n) As Type


مثال:

كود:

Dim MyLovers(3) As String

MyLovers(0) ="MOHAMMED"

MyLovers(1) = "Lo2i"

MyLovers(2) = "ALI"

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”}
وبالتالي يقوم المترجم تلقائيا بحجز مصفوفة

بعدد عناصر المصفوفة المعطاة

بهذا نكون انتهينا ان شاء الله من درسنا

...يا اخي هونها بتهون!



انتظروا الدرس

القادم
رد مع اقتباس

 

إضافة رد

أدوات الموضوع إبحث في الموضوع
إبحث في الموضوع:

البحث المتقدم
انواع عرض الموضوع

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

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

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

 


الساعة الآن 09:45 PM


Powered by vBulletin® Version 3.8.9 Beta 3
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Ads Organizer 3.0.3 by Analytics - Distance Education

أن كل ما ينشر في المنتدى لا يمثل رأي الإدارة وانما يمثل رأي أصحابها

جميع الحقوق محفوظة لشبكة سكاو

2003-2023