المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : سلسلة شروحات الأكشن سكريبت رقم 3 المصفوفات جزء ثانى


عبود عبود
14-09-2013, 01:19 PM
http://i.imgur.com/57UrtCm.gif

http://i.imgur.com/emf2NIh.gif

ذكرنا سابقا أن المصفوفات أو الجداول هى عبارة عن مجموعة أزواج من المفاتيح و القيم
وبناءا على ذلك فإن لو أن هناك زوج من المفاتيح و القيم مثل الجدول التالى للتوضيح :

t = {a = "123"}

فإن تفصيل تعريف الجدول السابق أو المصفوفة السابقة تفصيلا دقيقا فيكون كالتالى :

t هى إسم المصفوفة التى نعمل عليها الآن

{ و } علامات الأقواس الكبيرة التى ترمز إلى المصفوفة

المتغير الذى إسمة a هو المفتاح الذى عن طريقة يمكننا الوصول إلى القيمة المخزنة فية أو قيمتة

"123" هو القيمة الموضوعة و المعبرة عن المتغير a

ككل تسمى قيمة و مفتاح a = "123"

إذن وبناءا على الجدول السابق أو المصفوفة السابقة فإننا قلنا سابقا أن هناك طريقتان للإستدعاء حيث وجود متغير إسمة a
ذكرنا أنة يمكن أن يكون الإستدعاء هكذا :
t.a

أو

t["a"]

:abc_012: أعتقد بهذا التوضيح تم معرفة القيمة و المفتاح للإستدعاء

http://i.imgur.com/NfWIHC5.gif

نأخذ على سبيل التطوير و التقدم فى بناء جدول أو مصفوفة " فكلا التعبيرين صحيحين " يحتوى على عدد من العناصر و ليكن 4 عناصر على سبيل المثال يكون شكل الجدول كالآتى :

t = {"abood", "Haitham", "aziz", "khaled"}


:abc_087: من خلال النظرة العامة المباشرة على المصفوفة السابقة نجد أن :

abood هو رقم 1 فى المصفوفة t

Haitham هو رقم 2 فى المصفوفة t

aziz هو رقم 3 فى المصفوفة t

khaled هو رقم 4 فى المصفوفة t

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

إذن يمكننا أن نتعامل معها مباشرة للحصول على القيم التى بداخلها فيكون للحصول على القيمة الأولى فى هذة المصفوفة
فــــ بالتالى سنحصل على abood فإننا نكتب :

t[1]

وللحصول على القيمة الثانية فى المصفوفة t السابقة
فــــ بالتالى سنحصل على Haitham فإننا نكتب :

t[2]

وللحصول على القيمة الثالثة فى المصفوفة t السابقة
فــــ بالتالى سنحصل على aziz فإننا نكتب :

t[3]

وللحصول على القيمة الرابعة فى المصفوفة t السابقة
فــــ بالتالى سنحصل على khaled فإننا نكتب :

t[4]

:abc_012: تطبيق عملى على المثال السابق إفتح مشروع وقم بوضع الكود التالى و المعبر عن المجموعة و رسالة لإظهار النتيجة و قم بالمعاينة :

t = {"abood", "Haitham", "aziz", "khaled"}

Dialog.Message("Number 1", t[1], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Dialog.Message("Number 2", t[2], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Dialog.Message("Number 3", t[3], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Dialog.Message("Number 4", t[4], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);


http://i.imgur.com/NfWIHC5.gif

نأخذ على سبيل التطوير و التقدم فى بناء جدول أو مصفوفة " فكلا التعبيرين صحيحين " يحتوى على عدد من العناصر و ليكن 4 عناصر على سبيل المثال ولكن كل عنصر لة متغير معبر عنة يكون شكل الجدول كالآتى :

t = {a = "abood", b = "Haitham", c = "aziz", d = "khaled"}

:abc_012: ذكرنا سابقا أن المتغير هو المفتاح للوصول إلى القيمة

وبالتالى للوصول إلى القيمة abood فإننا يجب أن نعرف أن المفتاح هو a

وبالتالى للوصول إلى القيمة Haitham فإننا يجب أن نعرف أن المفتاح هو b

وبالتالى للوصول إلى القيمة aziz فإننا يجب أن نعرف أن المفتاح هو c

وبالتالى للوصول إلى القيمة khaled فإننا يجب أن نعرف أن المفتاح هو d

:abc_012: وذكرنا أيضا عند وجود متغيرات يكون التعامل بطريقتين أحدهما كانت :

الطريقة الأولى :

المفتاح و علامة نقطة . و إسم المصفوفة

وبالتالى للوصول إلى القيمة abood فنكتب t.a

وبالتالى للوصول إلى القيمة Haitham فنكتب t.b

وبالتالى للوصول إلى القيمة aziz فنكتب t.c

وبالتالى للوصول إلى القيمة khaled فنكتب t.d

:abc_012: تطبيق عملى على المثال السابق إفتح مشروع وقم بوضع الكود التالى و المعبر عن المجموعة و رسالة لإظهار النتيجة و قم بالمعاينة :

t = {a = "abood", b = "Haitham", c = "aziz", d = "khaled"}

Dialog.Message("Number 1", t.a, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Dialog.Message("Number 2", t.b, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Dialog.Message("Number 3", t.c, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Dialog.Message("Number 4", t.d, MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);



الطريقة الثانية :


غلق القوس المربع و وضع المفتاح داخل علامتى تنصيص و فتح قوس مربع و إسم المصفوفة


وبالتالى للوصول إلى القيمة abood فنكتب :

t["a"]


وبالتالى للوصول إلى القيمة Haitham فنكتب :

t["b"]


وبالتالى للوصول إلى القيمة aziz فنكتب :

t["c"]


وبالتالى للوصول إلى القيمة khaled فنكتب :

t["d"]



:abc_012: تطبيق عملى على المثال السابق إفتح مشروع وقم بوضع الكود التالى و المعبر عن المجموعة و رسالة لإظهار النتيجة و قم بالمعاينة :

t = {a = "abood", b = "Haitham", c = "aziz", d = "khaled"}
Dialog.Message("Number 1", t["a"], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Dialog.Message("Number 2", t["b"], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Dialog.Message("Number 3", t["c"], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);

Dialog.Message("Number 4", t["d"], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);



http://i.imgur.com/NfWIHC5.gif

إذن الخلاصة مما سبق هل يمكن وضع الأرقام مباشرة فى المصفوفة أو أى مصفوفة بدون إستخدام علامة تنصيص ؟
نعم يمكن

مثال على ذلك

t = {1, 2, 3, 4}


أو يمكن أن تكون المصفوفة كالتالى :


t = {"1", "2", "3", "4"}

:abc_012: وهل هذا الكلام يطبق أيضا على الحروف ؟ هل يمكن أن تكتب الحروف بداخل المصفوفة بدون علامة التنصيص ؟

الإجابة لا و نعم أيضا

كيف لا مثال على ذلك :

t = {a, b, c, d}


:abc_012: هل فى المصفوفة السابقة يمكن إستدعاء عناصرها ؟ لا يمكن

:abc_012: طيب أنت قلت فى نفس الوقت نعم فكيف يتم ذلك ؟

يتم ذلك إذا تم معرفة قيمة كل حرف من الحروف الموجودة داخل المصفوفة t :abc_088:

:abc_012: إذن ما تم وضعة فى المصفوفة ليست حروف ثابتة القيم ولكنها الآن متغيرات

:abc_138: إذن يعرف المتغير على أنة قيمة غير ثابتة أو غير محددة إلا بتحديد مسبق

:abc_113: إذن لتعديل المصفوفة و كتابتها بالطريقة الصحيحة ندخل قيم معروفة للمتغيرات السابقة كإعلان عن كل قيمة على حدى كمثال يكون كالآتى :

a = "a"
b = "b"
c = "c"
d = "d"
t = {a, b, c, d}


وبعد ذلك يمكن الحصول على قيم المصفوفة بدون أخطاء وذلك على حسب ترتيب العناصر فى المجموعة فيكون :

معبر عن قيمة المتغير الأول t[1]
وهكذااااااااااااا

http://i.imgur.com/NfWIHC5.gif

كود أكثر تعقيدا كبناء على ما تم شرحة مسبقا :


f = {c = {b="hazem" , f="ali" , r="khaled"}, d={k="hazem2" , h="ali2" , q="khaled2"}, e={z="hazem3" , x="ali3" , v="khaled3"}}

Dialog.Message("Notice", f["d"]["q"], MB_OK, MB_ICONINFORMATION, MB_DEFBUTTON1);


f هى حاملة مصفوفات و بها 3 مصفوفات c و d و e

و بكل مصفوفة من الثلاثة مصفوفات يوجد 3 عناصر

هنا سنستدعى العنصر q من المصفوفة d التابعة للمصفوفة f

:abc_012: كان هذا هو رد من تطبيق الأخ خالد " النصل القاطع " بناءا على ما تم شرحة مسبقا

http://i.imgur.com/NfWIHC5.gif


مرحلة كتابة المصفوفات

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

t = {"abood", "Haitham", "aziz", "khaled"}

أو بطريقة المفاتيح أى بترتيب العناصر داخل المجموعة أو المصفوفة وفى هذة الحالة طبعا على سبيل المثال نريد إنشاء مصفوفة جديدة وليكن إسمها t :abc_012: لاحظ وضع فى الإعتبار أن هذة المجموعة جديدة ويمكنك إختيار أى إسم لها على حسب إختيارك

:abc_012: هنا طالما كانت المجموعة جديدة يجب الإعلان عنها أولا فيكون النتيجة :


t = {}
t[1] = "abood"
t[2] = "Haitham"
t[3] = "aziz"
t[4] = "khaled"



:abc_012: أيضا يرجى مراجعة ما ذكرتة عن المتغيرات لتتعرف على كتابة المصفوفة عن طريق المتغيرات ذات القيم و المدمجة مباشرة فى المصفوفة حتى لا نظل نعيد و نكرر ما تم شرحة مسبقا .


http://i.imgur.com/NfWIHC5.gif


مرحلة التعامل مع المصفوفات عن طريق الأكواد للتعديل على المصفوفة وإدخال عناصر جديدة و حذف عناصر

سوف يتم لاحقا من خلالة المتابعة لباقى الشروحات للسلسلة


http://i.imgur.com/NfWIHC5.gif

أكتفى بهذا القدر البسيط اليوم

:abc_138:يمكن تحميــل الشرح من المرفقات فقد تم تحويلة إلى كتـاب بى دى إف :abc_138:




http://i.imgur.com/2GnNEXz.gif
http://i.imgur.com/Nz3B0Vj.gif

أبو يوسف
14-09-2013, 02:00 PM
شرح رائع ، ومع أني لا أفهم بالسكريبيت إلا انني فهمت بعض المعطيات

:teslam:

جزاك الله خيرا اخانا عبود عبود
.

النصل القاطع
14-09-2013, 02:58 PM
ممتاز اخى عبود

و هنا توضيح بسيط
إذن الخلاصة مما سبق هل يمكن وضع الأرقام مباشرة فى المصفوفة أو أى مصفوفة بدون إستخدام علامة تنصيص ؟
نعم يمكن

مثال على ذلك

t = {1, 2, 3, 4}


أو يمكن أن تكون المصفوفة كالتالى :


t = {"1", "2", "3", "4"}


هنا فارق
الحالة الأولى ستخزن الأرقام فى هيئة أرقام
الحالة الثانية ستخزن الأرقام فى صورة نصوص

مثال
لا يمكنك تخزين 000001 فى صورة رقم لأنه مهما كان عدد الأصفار فإن ناتج التخزين يكون 1
بينما لو خزنا 000001 فى صورة نص فسنستعرضه بنفس الصورة

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

تعليق آخر خارج عن الموضوع
t = {"abood", "Haitham", "aziz", "khaled"}
هل وضعتنى فى آخر المصفوقة لإثارة شكلى ؟؟ طيب إيه رأيك ............. عاجبنى

:abc_152:

عبود عبود
14-09-2013, 03:37 PM
مثال
لا يمكنك تخزين 000001 فى صورة رقم لأنه مهما كان عدد الأصفار فإن ناتج التخزين يكون 1
بينما لو خزنا 000001 فى صورة نص فسنستعرضه بنفس الصورة

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


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

وطبعا فى حالة تعليقك فلا يقال عنة تعليق و فقط ولكن يقال هذا كلام محترفين :abc_051:

-------------------------------------------------


تعليق آخر خارج عن الموضوع
t = {"abood", "Haitham", "aziz", "khaled"}
هل وضعتنى فى آخر المصفوقة لإثارة شكلى ؟؟ طيب إيه رأيك ............. عاجبنى
:abc_152:

http://www.abc4web.net/vb/images/icons/eye.gif مسموح للمحترفين فقط القراءة من اليمين لليسار أو من أى مكان دون تقييــــد :abc_065: أى خدمة :abc_052:

--------------------------------------------------

:abc_138: مرور جميــــــــــل من خالد على و أبو يوسف :abc_138:

النصل القاطع
14-09-2013, 04:54 PM
من اليمين لليسار ... ممممممممم
عموما سنتقبل هذه ال table كما هى حتى تخترع الشركة Round Table لتوضع فيها الأسماء بشكل صحيح.


t = {"abood", "Haitham", "aziz", "khaled"}

فى حالة عدم وضع مفتاح للمصفوفة
سيقوم البرنامج بوضع مفتاح آلى أو فهرس تصاعدى يبدأ من 1

امل الماضي
14-09-2013, 05:14 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية . شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
:abc_152:

abohmam
14-09-2013, 05:32 PM
جزاك الله خيرا أخى أمير

ماشاء دروس مبسطة ومفيدة :abc_022:

بارك فى جهودك المولى

والشكر موصول لأخينا النصل القاطع على الإضافة

azizsoft
14-09-2013, 09:51 PM
بسم الله الرحمن الرحيم

ماشاء الله أخي أمير
شروحات متعوب عليها ومنسقة بطريقة احترافية

مشروع كتاب الكتورني فريد من نوعه :abc_088:

بارك الله فيكم ونفع بكم

عاصم المرابطي
15-09-2013, 08:35 PM
Thaaaaaaaaaaanks

أبو صخر
16-09-2013, 01:19 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

Haitham.2012
17-09-2013, 12:21 PM
ما شاء الله .. دروس رائعه استاذ امير وتطرق لتفاصيل مهمه جدا تساعدنا في استخدام المصفوفات بكل مافيها من مميزات فالمصفوفات أحد أعمدة البرمجه ويجب فهمها جيدا لإختصار كثير من المهام

موفق إن شاء الله

:abc_152:

عبود عبود
17-09-2013, 05:39 PM
شكرا لمرورك الجميــــــل أخى هيثــــــم
بالتوفيق للجميـــــــــع إن شــــاء الله

الكبيراوى
27-09-2013, 05:52 PM
https://lh6.ggpht.com/ljsBlBRMogh_nP_CuBBoS3ux8F6J5KB8Uo4A-75cCGGKj9RyVTEMUyE_nP9-Nhwk99bw=w300

الهمام
28-09-2013, 07:00 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

فرح صالحي
28-11-2013, 12:01 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

خيبر خيبر
03-12-2013, 01:31 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
:abc_139::abc_139::abc_139:

ياسرهتهت
13-01-2014, 11:53 AM
بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

عبدالله اوحموش
04-02-2014, 11:50 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

محمد الشيمى
28-03-2014, 12:13 AM
بارك الله فيك

ثامر أبو بلقيس
28-03-2014, 04:51 AM
موضوع غاية في الأهمية

سؤال : قرأت هذه المصفوفة المعقدة في الدرس
myTable={{b="hazem" , f="ali" , r="khaled"}, {k="hazem2" , h="ali2" , q="khaled2"}, {z="hazem3" , x="ali3" , v="khaled3"}}

عدد عناصرها ثلاثة

كيف يتم الإعلان عن ذلك ؟

شكرا :abc_138:

عبود عبود
28-03-2014, 09:20 AM
موضوع غاية في الأهمية

سؤال : قرأت هذه المصفوفة المعقدة في الدرس
myTable={{b="hazem" , f="ali" , r="khaled"}, {k="hazem2" , h="ali2" , q="khaled2"}, {z="hazem3" , x="ali3" , v="khaled3"}}

عدد عناصرها ثلاثة

كيف يتم الإعلان عن ذلك ؟

شكرا :abc_138:

فى هذا المثال تم بالفعل الإعلان عن مصفوفة إسمها myTable وهذه المصفوفة تحتوى على 3 عناصر
كل عنصر بها يحتوى على مصفوفة وكل مصفوفة تحتوى على 3 عناصر .
ويمكنك أن تقول المصفوفة بالكامل هى مصفوفة مركبة أو مضاعفة من عدة مصفوفات وليس شرطا أن يكون محتوياتها الداخلية متساوية عدديا فى العناصر .

إذن بالفعل أشك أنك طرحت سؤال خاطئ بقولك :



كيف يتم الإعلان عن ذلك ؟



أما السؤال الذى أعتقد أنه كان يجب طرحه كبديل للسابق هو كيف يتم الإستعلام عن ذلك ؟

أليس كذلك أخى ؟ :abc_065:

:abc_012: فالإعلان هو مجرد وضع متغير كإسم للمصفوفة حتى يتم التعامل معها عن طريقه .
وأيضا يطبق هذا على العناصر فيمكن الإعلان عنها بمتغير أيضا كما سبق .

ثامر أبو بلقيس
28-03-2014, 11:44 AM
السلام عليكم ورحمة الله وبركاته
بالفعل شكك في محله و يبدو أني كتبت السؤال خطأ بسبب تأخر الوقت

أريد الكود الذي سيحدد عدد عناصر المجموعة وليس الاعلان عنها

شكرا :abc_152:

أبو فارس
30-03-2014, 02:05 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

أبو الريم
26-06-2015, 03:00 AM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

أبو الريم
26-06-2015, 03:02 AM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

عبد الهادي بهاب
11-08-2015, 02:56 PM
جعل الله جهدكم في ميزان حسناتكم
ربي ينوركم

نجوم ليبيا
14-08-2015, 05:43 PM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

منوبة
22-08-2015, 07:06 PM
شرح جميل وسهل جدا
بارك الله فيك اخي عبود
:abc_152::abc_152:

كرونو
17-12-2015, 07:14 PM
بارك الله فيك

مصطفى ربيع
30-12-2015, 03:50 AM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

عظيمه
04-01-2016, 05:00 AM
السلام عليكم ورحمة الله وبركاته
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .
موفق بإذن الله ... لك مني أجمل تحية .

سليمان الثواب
12-01-2016, 11:29 AM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

عبدالله عمر
15-02-2016, 06:59 PM
مشكككككككووووووووووور

محمد سامر
12-08-2016, 02:37 AM
موفق بإذن الله ... لك مني أجمل تحية .

ح د فتحي
22-12-2017, 02:54 AM
شـكــ وبارك الله فيك ـــرا لك ... لك مني أجمل تحية .

جمال سات
12-05-2020, 10:50 PM
شـكــ وبارك الله فيك ـــرا

كمال عماري
21-05-2020, 04:36 PM
merciiiiiiiiiiiiiiiiiiiii:abc_051::abc_022:

فهد الشيخ
27-01-2021, 07:14 AM
شرح مبسط .. بارك الله فيك