310 likes | 820 Views
الفصل الثالث – المتغيرات والعمليات الحسابية Variables and Arithmetic Operations. اشارة يساوي. قوانين المتغيرات. يجب تعريف جميع اسماء المتغيرات الاسم والنوع يجب ألا يزيد طول المتغير عن 31 حرفاَ التحديد وجد لكي تتمكن المترجمات القديمة من قراءة البرامج
E N D
الفصل الثالث – المتغيرات والعمليات الحسابيةVariables and Arithmetic Operations
اشارة يساوي قوانين المتغيرات • يجب تعريف جميع اسماء المتغيرات • الاسم والنوع • يجب ألا يزيد طول المتغير عن 31 حرفاَ • التحديد وجد لكي تتمكن المترجمات القديمة من قراءة البرامج • يمكن وضع قيمة للمتغيرات الرقمية وذلك باستخدام اشارة ال يساوي variable_name = value; Lesson 3.1
تسمية التعريفات • يجب أن يكون اول المتغير حرفاَ • a-z, A-Z or _ • الاجزاء الاخرى • احرف (a-z, A-Z, _ ) أو ارقام 0-9 • لا يمكن استخدام الكلمات المحجوزة والخاصة بلغة C++ • لا يسمح بوجود فراغات داخل اسم المتغير Lesson 3.1
المصطلحات والكلمات المحجوزة • كلمات لديها معنى خاص بلغة البرمجة C++ • تتضمن تعبيرات عن بعض العوامل الرياضيه والترقيم • القائمة كاملة موجودة في الجدول 3.1 • أمثلة: • auto, bool, float, inline, union, delete • namespace, private, void Lesson 3.1
النوع اسماء المتغيرات الفاصل تعريف المتغيرات • يجب تعريف جميع المتغيرات • اسم المتغير ونوعه • يمكن تعريف اكثر من متغير من نوع واحد وذلك باستخدام الفواصل • طريقة لمترجم C++ لمعرفة الحجم المطلوب حجزه لكل متغير double radius, diameter; Lesson 3.1
قيمة المتغيرات • تخزين قيمة المتغير داخل الجزء المحجوز من الذاكرة والخاص بالمتغير variable_name = value; • يجب وضع اسم المتغير يسار علامة ال يساوي • علامة ال يساوي هي معامل القيمة ملاحظة: علامة ال يساوي = لا تعني يساوي! • أمثله:- temperature = 78; Lesson 3.1
المتغيرات ثابتة القيمه • استخدم المعامل const const double PI = 3.14159; • لا ولن يمكن تغيير قيمة المتغير داخل البرنامج لاحقاَ • نصيحة للتوضيح: استخدم اسم للمتغير الثابت القيمة مكون من احرف كبيرة للتوضيح • يجعل من السهل التعرف على المتغيرات الثابتة Lesson 3.2
المستخدم للتنسيق من قبل المعامل تنسيق الاخراج على الشاشة (الطباعة) • اضافة معاملات للإدخال والإخراج الخاصة بالمعامل cout وذلك لتنسيق الطباعة • تعرف المعاملات بإضافة الترويسه iomanip #include <iomanip> • طريقة الاستخدام: cout << manipulator(parameter); القائمة متوفرة في الجدول 3.2 Lesson 3.2
******* حجم الحقل setw( ) • يحدد حجم الحقل • يضع المحتويات يمين الحقل • يقوم C++ بتوسيع حجم الحقل اوتوماتيكيا في حال كان الحجم صغيرا cout<<“number =“<<setw(7)<<num<<endl; number = 5 Lesson 3.2
setprecision( ) • يحدد عدد الخانات العشرية بعد الفاصله • جميع الخانات العشرية تبقى محفوظة في الذاكرة • بعد تحديد عدد الخانات وفي حال استخدامها او عدم استخدامها تبقى حتى يتم تغيير القيمة بأمر اخر. num = 5.3415; cout<<“num = “<<setprecision(2)<<num; num = 5.34 Lesson 3.2
setfill( ) • يحدد ملئ الفراغ في حقل معين • يجب وضع فواصل مفرده حول الرمز المراد استخدامه وذلك بعد الاقواس num = 5.34; cout<<setw(10)<<setfill(‘*’)<<num; ******5.34 Lesson 3.2
محاذاة الحقل لليسار setiosflags(ios:: ) • يستخدم لعدة تنسيقات وذلك حسب المعامل المستخدم داخله • جدول 3.3 • أمثله: num = 5.34; cout<<setiosflags(ios::left) << setfill(‘*’)<<setw(10)<<num; 5.34****** Lesson 3.2
طباعة علامة ”الدولار“ • يجب استخدام تنسيقات الاخراج cout<<setprecision(2) <<setiosflags(ios::fixed|ios::showpoint) <<“Income = $” <<income; Income = $7842.00 Lesson 3.2
تحفظ بين قوسين مفردين تحفظ حرف واحد فقط الاحرف كنوع من المعلومات • الاحرف اللاتينية الكبيرة والصغيرة • كذلك الرموز الحرفية (!, #, ^) و ”الفراغ“ • المعاملات الخاصة Escape(\n) تعتبر كحرف واحد • الارقام من 9-0 يمكن اعتبارها احرف • تعريف المتغير من نوع حرفي: char c1,c2; • لوضع قيمة:c1 = ‘g’; Lesson 3.3
حفظ الاحرف ك int • يقوم C++ بوضع قيمة الحرف ” ASCII code“ الخاص به • لا يقم بحفظ القيمة الرقمية اذا تم تعيين احد الارقام من 9-0 للنوع حرف char • الجدول 3.5 يوضح الاحرف و قيمتها حسب قيمة ASCII العالمية Lesson 3.3
العمليات الرياضيه • تشابه العمليات الحسابية الجبريه • العبارة الجبرية تحتوي على مجموعة من المعاملات والعمليات • المعاملات (المتغيرات، الثوابت، وأي قيمة اخرى) • العمليات (+, - , * , / , % ) • توضح نوع العمليه المراد تنفيذها • للزيادة (++) و للنقصان (--) Lesson 3.4
الاخطاء الشائعة • متغيرات لا يوجد لديها قيمة • يقوم برنامج C++ بإضافة قيمة للمتغير • لا تظهر رسالة خطأ او تحذير • وضع قيمة كبيره للمتغير من نوع int • قيمة المتغير من نوع int تتراوح مابين –32768 و 32767 • يأتي التحديد لإمكانية التخزين المحدودة لموقعين (2 بايت) في الذاكره • خطأ فائض (فيضان) Overflow error • القسمة على صفر Lesson 3.4
i = i + 1; k = i; 3 3 i = i - 1; k = i; 1 1 2 3 2 1 k = i; i = i + 1; k = i; i = i - 1; المعاملات السابقه واللاحقة • ++ أو -- • عند وضعها قبل المتغير، تتم الزيادة او النقصان قبل تعيين القيمة i = 2 and k = 1 k = ++i; k =--i; • عند وضعها بعد المتغير، تتم الزيادة او النقصان بعد تعيين القيمة i = 2 and k = 1 k = i++; k = i--; Lesson 3.5
العمليات الحسابيه الخاصة بالأنواع المختلفة • تعيين قيمة رقم عشري real لمتغير صحيح int • حذف الجزء العشري من الرقم • تعيين قيمة رقم صحيح لمتغير من نوع عشري • يتم اضافة فاصله عشرية للرقم، ويتم تخزين الرقم كرقم عشري • تعديلات خاصة بالمعامل cast • يقوم بتحويل نوع ناتج قيمة معينة • اسم المعاملstatic_cast Lesson 3.5
المعامل static_cast • الصيغة العامة: static_cast <النوع> (القيمة) • اسم المعامل يحتاج لشرطة سفلية • نسخة مؤقتة من القيمة تحفظ بالنوع الجديد • يمكن استخدام أي من انواع المتغيرات المتوفرة في C++ Lesson 3.5
اولويات العمليات الحسابية ( ) parentheses unary prefix L to R 1 ++, -- post-(in/de)crement unary postfix L to R 2 ++, -- pre-(in/de)crement unary prefix R to L 3+ positive sign unary prefix R to L 3- negative sign unary prefix R to L 3 static_cast cast unary prefix R to L 4 %, *, / remainder/multi/div binary infix L to R 5 +, - add/subtract binary infix L to R 6 +=, -=, *= math & assignment binary infix R to L 7/=, %= math & assignment binary infix R to L 7= assignment binary infix R to L 7 Lesson 3.5
انواع المتغيرات العشرية • الارقام العشرية • float • 4 بايت تخزين في الذاكره، 6 ارقام عشرية • double • 8 بايت تخزين في الذاكرة، 15 رقم عشري • long double • 10 بايت تخزين في الذاكرة، 19 رقم عشري Lesson 3.6
أنواع المتغيرات الصحيحة • أرقام صحيحة • int, signed int, short int, signed short int • 2 بايت تخزين، المجال: من 32768- الى 32767 • unsigned int, unsigned short int • 2 بايت، المجال: من 0 الى 65535 • long int, signed long int • 4 بايت، المجال: من -2147483648 الى 2147483645 • unsigned long int • 4 بايت، المجال: من 0 الى 4294967295 Lesson 3.6
الدوال الرياضيه تحتاج الي ترويسة المكتبة cmath أو cstlib #include <cmath>أو#include <cstlib> • الصيغة العامة: اسم الداله (المعاملات) • يجب معرفة نوع وشكل المعاملات الخاصة بالدالة • الدوال الدائرية تستخدم الارقام radian وليس الدرجات كمعاملات • الجدول 3.11 يحتوي على جميع الدوال الرياضيه Lesson 3.6