بحث في هذه المدونة

الأربعاء، 21 فبراير 2024

المصفوفات والبرمجة

 المصفوفات والبرمجة

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

وسنتناول في هذه الدروس العديد من المحاور التي تتعلق بالمصفوفات في البرمجة والبداية ستكون بشيئ بسيط وهو كالتالي:

ما هي المصفوفة؟

المصفوفة عبارة عن مواقع في الذاكرة تستخدم لتخزين مجموعة من العناصر ومن نفس نوع . يتم ترتيب العناصر بشكل تسلسلي في العادة ، بحيث يكون العنصر الأول عند الفهرس 0 والعنصر الأخير عند الفهرس n-1، حيث n هو العدد الإجمالي للعناصر في المصفوفة. ويمكن ان تتخيل عناصر المصفوفة كدولاب يبدأ في ترتيبه من الصفر وإلى آخر عنصر هو n-1



كيفية الإعلان عن المصفوفة

في فيجول بيسك دوت نت يتم الإعلان عن المصفوفات باستخدام عبارة Dim. على سبيل المثال:

Dim A1() As Byte
في المثال أعلاه، قمنا بتعريف مصفوفة باسم A1، ويجب أن تحتوي على عناصر من نوع البيانات الصحيح المحددة من 0 إلى 255.


Dim myData(10) As String

لقد قمنا بتعريف مصفوفة باسم myData بها 10 عناصر من نوع السلاسل الحرفية.

ويمكن ان نسند لهذه العناصر قيمها في التعريف نفسه مثلا

Dim myData() As Integer = {11, 12, 22, 7, 47, 32}

لقد أعلنا عن المصفوفة myData وأضفنا إليها 6 عناصر صحيحة. ويمكن القيام بذلك أيضًا في حالة السلاسل الحرفية:

Dim days() As String = {"الاحد", "الاثنين", "الثلاثاء", "الاربعاء", "الخميس"}

لقد أنشأنا مصفوفة بايام العمل في الاسبوع وأضفنا إليها 5 أسماء.

مصفوفات البعد الثابت

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

وهناك طريقتان لتعريفها

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

Dim myData(10) As String

لقد قمنا بتعريف مصفوفة باسم myData بها 10 عناصر من نوع السلاسل الحرفية.

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

قمنا بتعريف مصفوفة تحتوي على 3 عناصر لأسماء طلاب فقط.

Dim students (0 to 2) As String 
      
students(0) = "محمد"
students(1) = "علي"
students(2) = "أحمد"

لقد بدأنا بالإعلان عن مصفوفة سلسلة تسمى الطلاب. وسنقوم بتخزين العناصر من فهرسها من الفهرس 0 إلى الفهرس 2، مما يعني ان لدينا ثلاثة عناصر في المصفوفة. حيث العنصر الاول الذي فهرسه (0) يشير إلى اسم الطالب " محمد " والعنصر الثاني الذي فهرسه (1) يشير إلى اسم الطالب " علي " والثالث كذلك.

لإضافة عناصر إلى المصفوفة، استخدمنا اسم المصفوفة وحددنا الفهرس الذي سيتم تخزين العنصر فيه. على سبيل المثال، سيتم تخزين الاسم محمد في الفهرس 0 للمصفوفة، مما يعني أنه سيشكل العنصر الأول للمصفوفة. سيكون "أحمد" العنصر الأخير في المصفوفة.

المصفوفات الديناميكية

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

Dim nums() As Integer

لقد قمنا بتعريف مصفوفة أعداد صحيحة تسمى nums. أنت الآن بحاجة إلى إضافة عنصرين إلى المصفوفة، مع إتاحة المجال لتغيير حجمها. تحتاج إلى استخدام عبارة ReDim كما يلي:


ReDim nums(1)
nums(0) = 12
nums(1) = 23

تحتوي مصفوفتنا الآن على عنصرين في الفهرس 0 و1. نحتاج إلى إضافة عنصر ثالث إليها في الفهرس 3 مع الحفاظ على العنصرين الموجودين بالفعل. يمكننا القيام بذلك على النحو التالي:

ReDim Preserve nums(2)
nums(2) = 35

يحتوي المصفوفة الآن على ثلاثة عناصر.


يتبع .....

 


الأربعاء، 17 يناير 2024

قسم الكهرباء ـ ظهور الخطأ F11 في انفيرتر سيمنس في 20 SINAMICS-V20-Fault-Codes F11


 
 SINAMICS V20 Fault Codes  F11
Siemens   vfd v20 code F11
siemens vfd inverter v20 code f11

 هذا الخطأ يظهر عادتا عندما تكون حرارة المحرك مرتفعة واهم سبب هو السرعة التي تقل عن 15 هيرتز لحل المشكلة زد السرعة أو ركب مروحة تبريد خارجية على المحرك وهناك محركات تدعم هذا الخيار.

الأربعاء، 10 يناير 2024

تداخل بين جملة if الشرطية وجملة الدوران For

 العديد والعديد من البرامج التي يتوجب عليك حلها بطريقة التداخل كوسيلة سهلة بسيطة وسهلة الفهم والتتبع.

والاسئلة الشائعة التي يمكنك حلها فهي كثيرة جدا وحسب البرنامج الذي امامك.

من هذا الكثير سوف نستعرض بعض هذه الاكواد مثلا

كون برنامج لطباعة الأعداد الزوجية فقط

 

for i = 1 to 100 

   if (i mod 2)=0   then

                       listbox1.items.add (i)

end if

next

 

كون برنامج لطباعة الاعداد التي تقبل القسمة على 3 والاقل من 100

for i = 1 to 100

if ( i mod 3 ) = 0 then

listbox1.items.add(i)

end if

next

 

كون برنامج لبطاعة الاعداد التي تقبل القسمة على 37 والاقل من 876

dim c as sigle

c = 37

for i = 1 to 876

if ( i mod 37 ) = c  then

listbox1.items.add(i)

end if

next


وهناك العديد والعديد من الاكواد يمكنكم تجربتها وسنعمل على وضع اسئلة ومن ثم وضع حلول لها لكي يتمكن الطالب من حل هذه المسائلة وفي حال تعسر الحل يرجع إلى حل هذه المسائل واذا في حد عندا سؤال يراسلها ونحلوه مع بعض ويمكن نديروا شرح ليه على اليوتيوب . والله الموفق

الأحد، 7 يناير 2024

جملة For تكملة الدروس السابقة

 جملة الدواران وبعض الامثلة على استخدامها. 

طباعة الاعداد من 1 إلى 10 على الاداة ListBox 

طباعة الاعداد الزوجية على الاداة ListBox 

طباعة الاعداد الفردية على الاداة ListBox 

طباعة الاعداد التي تقبل القسمة على العدد 3 فقط على الاداة ListBox 

طباعة جدول الضرب للعدد 3 أو لاي عدد آخر

شرح سريع في خمسة دقائق

 


 

الدرس 1 على طباعة الاعداد بالطريقة البسيطة في الفيجول بيسك دوت نت

 باستخدام جملة IF الشرطية وجملة الانتقال GoTo عرضنا مجموعة من الأمثلة على

 طباعة الاعداد 

طباعة الاعداد من 1 إلى عشرة بشكل تنازلي أو تصاعدي باستخدام الاداة ListBox 

طباعة الاعداد الفردية فقط أو الزوجية فقط 

طباعة الاعداد بداية من عدد محدد إلى عدد آخر بمقدار 

كون برنامج لطباعة الاعداد الاصغر من 10 على الاداة ListBox 

كون برنامج لطباعة الاعداد الفردية الاصغر من 10 على الاداة ListBox 

كون برنامج لطباعة الاعداد الزوجية الاصغر من 10 على الاداة Listbox 

كون برنامج لطباعة الاعداد التي تبدأ من .... وتنتهي بالعدد .....


 

تكملة 5 جملة الدوران FOR

 تكملة 5 جملة الدوران FOR

 


 

 

تكملة 4 جملة الدوران FOR

 تكملة 4 جملة الدوران FOR


 

 

تكملة 3 جملة الدوران FOR

 الفيديو الثالث على استخدام جملة FOR أمثلة على طباعة مجموعة معينة من الاعداد مثلا التي تقبل القسمة على 2 أو تقبل القسمة على 3 طباعة الاعداد التي تقبل القسمة على 3 جمع الاعداد التي فقط تقبل القسمة على 3 جمع الاعداد التي تفقط تقبل القسمة على عدد معين


 

جملة الدوران 2

 


 

جملة الدوران 2 

الخميس، 23 نوفمبر 2023

 المجموعة 1 من التمارين على طباعة الاعداد باستخدام الدالة الشرطية If  وجملة التنقل  GoTo

من هنا يمكنك متابعة الفيديو 

أو الانتقال إلى اليوتيوب من هنــــــا