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

تمارين على تجربة الرابعة ومتغير char

اذهب الى الأسفل

تمارين على تجربة الرابعة ومتغير char Empty تمارين على تجربة الرابعة ومتغير char

مُساهمة من طرف أيمن الإبراهيم الخميس فبراير 13, 2014 12:47 pm

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

أولا :: عندما نريد من البك تكرار تنفيذ مجموعة من الأوامر فإنه يجب علينا استخدام أمر يسمى for (أو جملة for ) .. فعلى سبيل المثال
كما تعلم لو أردنا أن نجعل البك يضيء الليد الموصل بالرجل b0 ثم يطفئه فإننا سنكتب الكود التالي
الرمز:
الكود:
void main()
}
TRISB=0;
PORTB+0XFF;
delay_ms(1000(;
PORTB=0;
delay_ms(1000);
{


في الكود السابق .. سيضيء الليد الموصل بالرجل b0 ثم ينتظر البك لمدة ثانية ثم يطفئ الليد ثم ينتطر لمدة ثانية .
ولكن ماذا نفعل إذا أردنا أن نجعل البرنامج السابق يتكرر تنفيذه خمسة عشر مرة أي أن عدد المرات التي سيضيء فيها الليد ثم ينطفئ هي خمسة عشر مرة .. في هذه الحالة لابد من استخدام أمر يقوم بعملية التكرار هذه .. وهذا الأمر كما ذكرت هو for أو ما يسمى بجملة for .. ولكن كيف نستخدم جملة for لتكرار تنفيذ مجموعة من الأوامر عدد معين من المرات (وليكن 60 مرة ) .. ببساطة سنكتب الكود التالي
الرمز:
الكود:
for(m=0;m<60;m++)
}
هنا نكتب الاوامر التي تريد تكرار تنفيذها
60
مرة
{


كلام جميل ... ولكن ماذا لو أردت أن أغير هذا العدد .. أي أجعل البك يكرر تنفيذ مجموعة من الأوامر وليكن 19 مرة .. (ببساطة غير الرقم 60 واجعله 19 كما يلي)

الرمز:
الكود:
for(m=0;m<19;m++)

ولكن قبل هذا لا بد ان اكتب في بداية البرنامج الامر التالي

الرمز:
الكود:
Char m;

ولكن ماذا تعني بهذا الامر char m ؟؟؟   هذا الامر نسميه تعريف المتغير
متغير ؟؟؟ نعم المتغير هذا هو مكان نحجزه في الذاكرة (ذاكرة البك ) فائدته اننا نستخدمه في الكثير من العمليات وايضا نستخدمه في تخزين قيمة معينة
بمعنى اننا الان حجزنا مكان في الذاكرة ( واخترنا له اسم هو m وهذا المكان يمكننا ان نضع فيه قيمة معينة ( 5 مثلا او 18 او 3 او اي قيمة ) كما يمكننا ان نغير هذه القيمة فمثلا لو كانت صفر يمكننا ان نجعلها بعد مدة براحد او باي قيمة اخرى   بما اننا  نستطيع تغير قيمته لذلك نطلق عليه اسم متغير
ولكن ما فائدة هذا المتغير في جملة for ؟؟؟؟
فائدته سنعرفها عندما نعرف كيف تعمل جملة for وهذا ما ساشرحه بعد قليل 
والان لنكتب الكود الذي سيجعل الليد يضيء وينطفئ 15 مرة




الكود:
void main()
}
char x;
TRISB=0;
FOR(X=0;X<15;X++)
}
PORTB=0XFF;
delay_ms(1000);
PORTB=0;
delay_ms(1000);
{
{


ولكن ماذا تعني char هذه ؟؟
انها تعني ان المتغير الذي حجزناه في الذاكرة يتكون من 8 بت

وهذا يعني أن هذا المتغير يمكن أن تكون قيمته صفر أو واحد أو 2 أو 3 .... أو 255 ولا يمكن أن تزيد قيمته عن 255 ... لماذا ؟؟ لأنه يتكون من 8 بت والبت bit هذا إما أن يكون واحد أو صفر ( بالنظام الثنائي ) ومن المعلوم أن أكبر رقم يمكن الحصول عليه من 8 بت بالنظام الثنائي هو 11111111 وهو يساوي 255 بالنظام العشري ... (راجع الأنظمة الرقمية الثنائي والعشري والسادس عشري .. وابحث عنها إذا لم تكن تعرفها جيدا..؟؟)

مما سبق يتضح أننا لو أردنا أن نعرف متغير هذا المتغير قيمته من 0 - 255 فإننا نستخدم النوع char ..
وهذا يعني أننا لو استخدمنا جملة for وكان عدد مرات التكرار هو 255 أو أقل فإننا في بداية البرنامج سنعرف متغير هذا المتغير من النوع char ..
ولكن ماذا لو أردنا أن نكرر تنفيذ مجموعة من الأوامر ألف مرة مثلا ... في هذه الحالة لا نستطيع استخدام char وسنستخدم بدلا منه نوع آخر اسمه int . هذا النوع يتكون من 16 بت (وبهذا يمكن أن تكون قيمة هذا المتغير من 0 إلى 65535 )
كلام جميل ... هيا بنا الآن نكتب كود يقوم بتكرار تنفيذ مجموعة من الأوامر ألف مرة


الرمز:
الكود:
void main()
}
int x;
for(x=0;x<1000;x++)
}
هنا نكتب الاوامر التي ستتكرر الف مرة
{
{

وسنشرح المتغيرات بإستزادة أكثر في دروس قادمة إن شاء الله ..
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تمارين على تجربة الرابعة ومتغير char Empty رد: تمارين على تجربة الرابعة ومتغير char

مُساهمة من طرف زهراء الخميس فبراير 13, 2014 1:59 pm


بالتوفيق اخى ايمن
زهراء
زهراء
........
........

تاريخ التسجيل : 18/02/2011
المساهمات : 438
النقاط : 769
التقيم : 67
الدولة : مصر
الجنس : انثى

الرجوع الى أعلى الصفحة اذهب الى الأسفل

تمارين على تجربة الرابعة ومتغير char Empty رد: تمارين على تجربة الرابعة ومتغير char

مُساهمة من طرف أيمن الإبراهيم الخميس فبراير 13, 2014 10:49 pm

مشكورة انسة زهراء على المرور الكريم
أيمن الإبراهيم
أيمن الإبراهيم
........
........

تاريخ التسجيل : 19/03/2013
المساهمات : 251
النقاط : 398
التقيم : 1
الدولة : سوريا
الجنس : ذكر

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الرجوع الى أعلى الصفحة

ََ

مواضيع ذات صلة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى