![]() |
الدرس الثالث : المتغيرات في السي السلام عليكم ورحمة الله وبركاته نتطرق إن شاء الله في هذا الموضوع إلى ثلاث نقط : - ما هي المتغيرات ؟ - أنواعها - كيفية استعمالها أحب أولا أن أذكر أنواع الذاكرات في الحاسب الالي, فالحاسب الالي يرتكز على أربع أنواع من الذاكرات و هي مرتبة من الاسرع إلى الأبطئ : - Registers : يستعملها المعالج ليضع فيها معطيات قبل استعمالها في تطبيق معين, وهي سريعة جدا وتعين المعالج على الرفع من مستوى أدائه بصفة كبيرة - Cache memory : وهي الذاكرة تقوم مقام الرابط بين الريجسترات من جهة و الذاركة الحية RAM من جهة أخرى - الذاكرة الحية أو ما يسمى ب RAM وهي الذاركة التي ستنتعامل معها من خلال تطبيقاتنا - وأخيرا الذاكرة الميتة ROM وهي الهارد ديسك التي تحتوي على المعلومات التي تبقى و تستمر حتى في غياب الكهرباء عن الجهاز أي أنها ميتة :d من الاخر حبيبي... عليك فقط بالذاكرة الحية لأنها هي التي سنستعملها في تطبيقاتنا من خلال المتغيرات و ما إلى ذلك و بعدها نتطرق في وقت لاحق إلى الذاكرة الميتة عندما نأتي إلى التعامل مع الملفات... اما في ما يخص الذاكرة الكاش و الريجيسترات فلا ناقة لنا فيها ولا جمل لان الجهاز هو الوحيد هو الذي يتكلف بذلك... الذاكرة الحية ممكن نمثلها كخزانة تحتوي على مجموعتين من الرفوف.... الموجموعة الأولى كتبين عليها أرقام مرتبة من 0 إلى رقم معين على حسب ما يوجد لدينا... اما المجموعة الثانية من الرفوف فنضع فيها أغراضنا و أشياء نريد نحتفظ بيها لمدة معينة... http://www.easy-upload.net/fichiers/...0093716010.png يعني لما نريد نعمل أكلة شهية و لأنه كثرت علينا اللوازم نأتي بها ونضع كل منها في موقع من مواقع المجموعة الثانية و نكتب عندنا رقم الرف المقابل بحيث لما نحتاج لها نجي على الرف المقابل و نقول هو ذا عنوان هالشيء ونفتح و ناخذه أتمنى تكون الفكرة وصلت لأني لم أجد ابسط من هكذا تفسير ... يعني من الاخر الذاكر الحية هي التي ستكون خزانة المتغيرات التي ستستعملها في برامجنا... يعني لما نريد نستعمل متغير ما مش ويين ممكن نحطه بحيث لما يجي البرنامج ويحتاج لتلك المعلومة يلاقيها موجودة و يستعملها... او لما نريد من المستعمل أنه يدخل قيمة معينة لازم نحفظ هالقيمة في مكان ما لحين ما نستعملها و نرد له بالنتيجة الذاكرة الحية تسجل عندها بس أرقام.... بس يا حبيبي كيف يعني نقدر أن نسجل كلمات وجمل؟؟؟ أقول لك يا أخي أن كل شيء يتم تسجيلها أرقام حتى الكلمات والجمل ... الحاسب بالنسبة له كل حرف يعبر عنه بعدد معين هو ما يعرف الحروف والرموز... هو يعرف فقط الاعداد التي تقابلها ب ASCII عندما نريد أن نعلن عن استعمالنا لمتغير معين, نقوم بشيئين : نقوم بتحديد نوعه و قيمته التي سيحملها من بين أهم المتغيرات التي سنستعملها نجد الأعداد فهي تنقسم إلى أقسام : قسم الأعداد الصحيحة الطبيعية الموجبة منها والسلبية...وقسم الأعدا العشرية أي التي فيها فاصلة الموجبة منها والسالبة الجدول التالي يظهر لنا المتغيرات الأساسية التي يمكن أن نستعملها في الكود http://www.easy-upload.net/fichiers/...0937165728.png هذا تعريف بها : كود: int -> integer variable short -> short integer long -> long integer float -> single precision real (floating point) variable double -> double precision real (floating point) variable char -> character variable (single byte) فمثلا المتغير من نوع char يمكن أن يأخد قيمة a او b .... متغير من نوع int يمكن يأخد القيمة 1 أو 3000 ..... إلى اخر الأمثلة وهذا على حسب الخانة الأخيرة التي تحدد مجال المتغير Range سنعطي أمثلة على ذلك. كود: #include #include int main(int argc, char *argv[]) { char var; int a; system("PAUSE"); return 0; } كما ترون فقد قمنا بتقديم متغيرين باسم var والثاني باسم a المتغير الأول من نوع char والثاني من نوع int أي يمكن أن يحتوي على الأعداد التي تنتمي إلى Range المحدد في الجدول أعلاه نقوم الان بتحليل الكود التالي : كود: #include #include int main(int argc, char *argv[]) { char var; int a = 1; var = 'd'; printf(" this is our variables, a = %d and var = %c \n",a,var); system("PAUSE"); return 0; } في هذا الكود قمنا بإعلان متغيرين وطريقة إعطاء المتغير قيمة تختلف على حسب الاستعمال المراد له. فمثلا إن كنا نعلم قيمة المتغير مسبقا فيمكن أن نحددها له سواء في سطر مغاير للسطر الذي ذكرناه فيه كما فعلنا مع var أو في نفس لحظة تقديمه كما فعلنا مع a وكلا الطريقتين مسموح بهما فيما يتعلق بالسطر الذي يخرج لنا و طبع الناتج على الشاشة كود: printf(" this is our variables, a = %d and var = %c \n",a,var); هنا نضع بين" " ما نريد أن نطبعه على الشاشة مع مراعاة أن نضع مكان قيمة المتغير التي نريد طباعته مع الجملة نضع الرمز دولار وإلى جانبه نضع حرف أو اثنين يحددان نوع المتغير المراد إظهار قيمته. فمثلا بالنسبة ل int نضع d وبالنسبة ل char نضع c للحصول على بقية الرموز بالنسبة للمتغيرات الأخرى فهو سهل جدا يكفي كتابتها في غووغل للحصول عليها وبعد إغلاق "" نذكر المتغيرات بترتيب ظهورها مفصولة بالفاصلة نذهب الان إلى التنفيذ سنحصل على الحاصل التالي بعد عمل Run كود: this is our variables, a = 1 and var = d نشوف الان الحالة الأخرى وهي لما نطلب من اليوزر ادخال قيمة المتغير كود: #include #include int main(int argc, char *argv[]) { int var; printf(" Please enter the var: \n"); scanf("%d",&var); printf(" this is our variable var= %d \n",var); system("PAUSE"); return 0; } في هذا الكود أعلننا متغير جديد من نوع int وطلبنا عن طريق الشاشة من اليوزر من إدخال قيمته استعملنا لهذا الغرض الدالة scanf عندما نريد استعمالها نحدد نوع المتغير كما فعلنا مع printf وبعد ذلك نحدد مكان تسجيل القيمة عن طريق كتابة & مساندة للمتغير فمثلا لوكان المتغير هو student من نوع char كود: scanf("%c",&student); لو كان في أي تساؤل حول هذه الدالة فلا تترددوا في ذلك ..... نجي الان إلى التنفيذ.... ننفذ فيطلع لنا على الشاشة : كود: Please enter the var: ندخل قيمة معينه مثلا 34 و نضغط على ENTER نحصل على التالي : كود: Please enter the var: 34 this is our variable var= 34 إخواني لكي لا أطيل عليكم ولكي نستفيذ أكثر ... أريد من المتابعين للدروس أن يقومو ببرنامج يقوم بالتالي : نعلن فيه عن متغييرين من نوع int يدخلهما المستعمل ونقوم احنا بجمع القيمتين و نطبع الناتج على الشاشة..... تمرين سهل نوعا ما ولكن كل واحد وشطارته في إظافة أشياء ممكن تغني من معلوماته... ملاحظة : ممكن تلاحظوا أني لا أعطي كل المعلومات وذلك لأني أريد أن يكون المتتبع من النوع الذي يثري دراسته... يعني أنا أعطيك المهم في الأمر والأشياء الأخرى ممكن تتعلمها قياسا على ما ذكرته, واسف للتقصير لأي استفسار أخوكم محمد في الخدمة الله المستعان. نهاية |
الساعة الآن 08:58 PM |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By
Almuhajir