الجمعة، 12 يوليو 2013

الدرس(3):الثوابت والمتغيرات وخصائصها....نظرة مفصلة



الدرس(3):الثوابت والمتغيرات وخصائصها....نظرة مفصلة


 عند فتح الفيجوال بيسك 2008 ستظهر لنا هذه النافذة هنا ويمكنك من خلالها  تحديد اللغة
 التي ستبرمج بها والية العمل التي تريدها داخل البرنامج والصورة
 توضح :_

الدرس الثالث :_ الثوابت والمتغيرات .
اولاً الثوابت :-
تنقسم الثوابت في لغة الفيجوال بسيك 2008 إلى ثلاثة اقسام رئيسية وهي نصية او رقمية ومنطقية
 ويمكننا تعريف ثابت في البرنامج من خلال الكلمة المحجوزة
كود:
Const
ولاحظ هنا اخي الكريم في الفيجوال بيسك 2008 لا يمكنك تعريف ثابت  إلا من خلال المبدأ التالي
كود:
Const   name  as  type  =  value
كود:
Const   اسم الثابت       as  قيمته =   نوعه
ولاحظ هنا عند كتابة الثابت لا يمكنك نسب قيمة له إلا في  نفس السطر الذي قمت بكتابة الثابت فيه .


اي انه لايمكنك ان تكتب الثابت في سطر وقيمة الثابت في سطر اخر وهذا من الاشياء   التي تميز المتغير عن الثابت
 امثلة على تعريف ثوابت جديدة لاستخدامها في  البرنامج :-
 كود:
Const name As String = "mohammed" 
ثابت من نوع نص
كود
Const age As Integer=22
' ثابت من نوع عدد صحيح
كود:
Const marry As Boolean = False

ثابت من نوع قيمة منطقية

الطرق التي من خلالها تستطيع تعريف ثوابت   لبرنامج :-
1 - الطريقة التقليدية تعريف ثابت ونسب قيمة له مثل
كود:
Const name As String = "ali"
2- كتابة الثابت بدون تحديد نوع له مثل  :-
كود:
Const name = "lo2i"                          
3- كتابة اكثر من ثابت مع تحديد القيمة لها في سطر واحد :- مثل
كود:
Const name As String = "mohammed", age As Integer = 22
4- كتابة اكثر من ثابت بودن تحديد نوع الثابت مثل
كود:
Const name = "mohammed", age = 33, marry = False
                                  لاحظ هنا اننا لم نستخدم كلمة تعريف الثابت إلا في بداية الجملة فقط
فوائد الثوابت في البرنامج  :_
 1- تسهيل البرمجة عندما تريد التعويض بقيمة ثابتة لعدد
 غير معين من المتغيرات.
 فمثلاً اذا اردت ان ان تعٌرف ثابت لعمر اعضاء في  الجروب
 اسماؤهم كالتالي :_ أحمد و محمد و لؤي
 ونريد اعطاء عمر واحد لكل  الاعضاء
كود:
Const age As Integer = 20
Dim person1 As String = "ahmad"
Dim person2 As String = "mohammed"
Dim person3 As String = "lo2i"
MsgBox(person1 & " = " & age & vbCrLf & person2 & " = " & age & vbCrLf & person3 & " = " & age)

ووظيفة الدالة VBCRLF
 هي كالتالي :-
 الدالة تعمل على اعطاء سطر جديد في الرسالة ويمكن ايضاً استخدامها في اكثر من مجال
 في التيكست وفي اللابيل وفي اكثر من اداة
 وضيغتها كالتالي :_ & VBCRLF &



- انها تتعامل مع المصفوفات بكل يسر وسهولة ويمكنها الوصول إلى مصفوفة معينة
 ==================================================
الاخطاء المتوقعة حدوثها عند تعاملك مع الثوابت :-
اولاً :-
تغيير قيمة الثابت في البرنامج او اثناء التشغيل مثال لذلك :-
كود:
Const age As Integer = 20
        age = 22 
ثانياً:-
تعريف الثابت في سطر ونسب
 القيمة له في سطر اخر كما قلنا سابقاً .
 مثال لذلك ..

كود:
Const age As Integer
        age = 18 
لاحظة هامة جداً جداً :- عند تعاملنا مع الثوابت يجب علينا ادخال القيمة للثابت في نفس جملة
 تعريف الثابت .

 ولا حظ هنا انا الفرق بين النقطة الاولى والثانية
 هي ماسيوضحه هذا الشكل





وهي ان الكود الاول اعطى قيمة للثابت في تعريف الثابت
 وفي الخطوة الثانية حاول تغيير القيمة وهنا هو الخطأ قما قلنا سابقاً الثابت لا يمكن تغييره في وقت تنفيذ البرنامج.
------------------------------------
الكود الثاني الخطأ فيه هنا انه لم يعطي قيمة للثابت في التعريف
واقصد بالتعريف هنا اي تعريف الثابت باستخدام الكلمة المحجوزة واعطاه قيمة في سطر جديد .
 ---------------------------------------------------------------------------------------------------
ملاحظة يمكنك عمل ثابت بالبرنامج
 بدون تحديد نوعه اي نصي او حرفي مثل
كود:

Const a = "lo2i" 

كود:
Const s = 123 
كود:
Const x = true
                                  ولكن في هذه الحالة يمكنك اعطاء اي قيمة كانت
 له حرفية نصية منطقية(اي قيمة صحيحة او
 خاطئة)
=================================
ثانياً المتغيرات :-
تعريفها :- موقع محدد في
 الذاكرةيمكن ان يحتوي بيانات من اي نوع فالمتغير لايعطي قيمة ثابتة بل يمكن تغييرها
 بعكس الثابت .
الشروط اللازمة لكتابة اسماء
 المتغيرات في البرنامج:
 1 - عدم استخدام الكلمات المحجوزة في البرنامج
كود:
(if       dim      while     do      ......) 
2- عدم البدء برقم في اسم المتغير مثل لذلك  :-
كود:
Dim 1a as string 
     3- يمنع استخدام الرموز في اسماء المتغيرات مثل
كود:
    Dim ? as Integer
- يمنع استخدام النقطة او الفاصلة في اسم  المتغير مثل :-
كود:
Dim a.1 as string
        Dim a,1 as String 
طرق تعريف المتغيرات في البرنامج باستخدام الكلمة المحجوزة Dim
1 – الطريقة الافتراضية لتعريف
 المتغيرات
كود:
Dim name As String
2 - طريقة تعريف متغير منفصل مع نسب القيمة له في نفس السطر
كود:
Dim name As String = "ali"

طريقة تعريف اكثر من متغير في سطر واحد
 ويكونوا لنفس النوع (اي كلاهما من نوع نصي او كلاهما من نوع رقمي) مثل لذلك
كود:
Dim f_name,l_name  As string
في هذا المتغير عرفنا متغيريين من نوع نص اسم المتغير الاول
 والثاني L_name
 F_name
4 - تعريف متغيرات مختلفة في نفس
 السطر (اي مختلفة في النوع اي متغير نصي ومتغير رقمي ومتغير منطقي) مثل

كود:
Dim name As String, age As Integer, marry As Boolean
لاحظ هنا اننا كتبنا المتغيرات جميعها بكلمة واحد فقط
 للتعريف وهي Dim

5 - تعريف متغيرات من غير نوع في
 سطر واحد ونسب القيم لها مثل

كود:
Dim name As String = "mr.mohammed", age As Integer = 12, marry As Boolean = True

لاحظ اننا عرفنا 3 متغيرات من انواع مختلفة منها النصي ومنها الرقمي ومنها
 المنطقي..
 6 - تعريف متغير من دون ذكر الكلمة Dim مثل :-

كود:
Name="lo2i"
طرق تعريف المتغيرات في البرنامج
 :_

 باستخدام الكلمة المحجوزة static


1 - يمكنك استخدمها بهذه الطريقة


كود:
Static name As String 
وسيبقى البرنامج محتفظاً بها داخل البرنامج من لحظة
 تشغيله إلى لحظة ايقافه
 المعلومات المستخدمة لاضافة المتغيرات باستخدام الامر
 Dim
 لاتختلف عن طرق اضافة المتغيرات في الاستاتيك static
الفرق بين الكلمتين Dim و static

عندما تريد من المتغير ان يحتفظ باقيمة داخل اجراء خاص فقط تستخدم
 له هذه الكلمة Dim

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


 مع التنبيه ان الكلمة الاولى تكون اخف على  الذاكرة من الكلمة الثانية لان الاولى تحتفظ بالقيمة داخل  اجراء منفصل بها والثانية تحتفظ بها طيلة وقت البرنامج.
 انواع المتغيرات التي يمكن التعامل معها نوضح كل
 ذلك
 من خلال الجدول التالي

                                               
ويمكننا القول هنا ان انواع المتغيرات تنقسم إلى ثلاث اقسام رئيسية وهي كالتالي :-
1 - متغيرات عددية .
2 - متغيرات نصية .
 3 - متغيرات منطقية.
 4 - متغير عام ويحمل كل هذه القيم .

 *******************************

 سوف اعطي هنا امثلة بسيطة عن المتغيرات النصية
كود:
Dim NAME As String
        Static NAME2 As String
        NAME = "ali"
        NAME2 = "MOHAMMED"
امثلة عن المتغيرات الرقيمة
 :_

كود:
Dim num1 As Integer
        Static num2 As Integer
        num1 = 10
        num2 = 10
        MsgBox(num1 * num2) 
امثلة عن العمليات المنطقية في المتغيرات :-

كود:
Dim value As Boolean
        value = True
        value = false
        MsgBox(value)
مثال على تعريف المتغير العام في البرنامج :-

كود:
Dim s As Object
        s = 12345
        s = 12.345
        s = "mohammed"
        s = "lo2i"
        s = True
        s = False
        MsgBox(s)
                               كما قلنا سابقاً يمكننا الاستعان بهذا النوع من المتغيرات اذا كنا غير متأكدين من المدخلات التي يدخلها المستخدم .

*************************************
المتغيرات والمساحات التخزينية التي تأخذها من الذاكرة توضحها الصورة التالية :-


طبعاً اخواني لن نستطيع ان نحصر كل خصائص المتغيرات والثوابت في هذا الدرس
 لذلك تركت لكم اسلوب التنقيب بنفسكم عن الحل لان هذا من اهم اساسيات تعلم البرمجة

دعواتكم لي بشفاء
انتظروا الدرس القادم

هناك تعليق واحد:

  1. مشكور أستأذي العزيز عبدالقادر
    وشفاك الله أستاذنا القدير نسأل الله العلى القدير لك في هذا الشهر الكريم ان يشفيك

    ردحذف