الفصل الثالث
Download
Report
Transcript الفصل الثالث
الفصل الثالث – المتغيرات والعمليات
الحسابية
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
االحرف كنوع من المعلومات
االحرف الالتينية الكبيرة والصغيرة
كذلك الرموز الحرفية )^ (!, #,و ”الفراغ“
المعامالت الخاصة (\n) Escapeتعتبر كحرف واحد
االرقام من 0-9يمكن اعتبارها احرف
;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; 1
k = i; 1
;k =--i
i = 2 and k = 1
;k = ++i
i = i + 1; 3
k = i; 3
عند وضعها بعد المتغير ،تتم الزيادة او النقصان بعد تعيين
القيمة
i = 2 and k = 1
k = i; 2
i = i - 1; 1
;k = i--
k = i; 2
i = i + 1; 3
;k = i++
Lesson 3.5
العمليات الحسابيه الخاصة باألنواع المختلفة
تعيين قيمة رقم عشري realلمتغير صحيح int
– حذف الجزء العشري من الرقم
تعيين قيمة رقم صحيح لمتغير من نوع عشري
– يتم اضافة فاصله عشرية للرقم ،ويتم تخزين الرقم كرقم
عشري
تعديالت خاصة بالمعامل cast
– يقوم بتحويل نوع ناتج قيمة معينة
static_cast
– اسم المعامل
Lesson 3.5
المعامل static_cast
الصيغة العامة:
)القيمة( >النوع< static_cast
اسم المعامل يحتاج لشرطة سفلية
نسخة مؤقتة من القيمة تحفظ بالنوع الجديد
يمكن استخدام أي من انواع المتغيرات المتوفرة في C++
Lesson 3.5
اولويات العمليات الحسابية
( )
++, -++, -+
static_cast
%, *, /
+, +=, -=, *=
/=, %=
=
Lesson 3.5
parentheses
post-(in/de)crement
pre-(in/de)crement
positive sign
negative sign
cast
remainder/multi/div
add/subtract
math & assignment
math & assignment
assignment
unary
unary
unary
unary
unary
unary
binary
binary
binary
binary
binary
prefix
postfix
prefix
prefix
prefix
prefix
infix
infix
infix
infix
infix
L to R
L to R
R to L
R to L
R to L
R to L
L to R
L to R
R to L
R to L
R to L
1
2
3
3
3
4
5
6
7
7
7
انواع المتغيرات العشرية
االرقام العشرية
float
– 4بايت تخزين في الذاكره 6 ،ارقام عشرية
double
– 8بايت تخزين في الذاكرة 15 ،رقم عشري
double
long
– 10بايت تخزين في الذاكرة 19 ،رقم عشري
Lesson 3.6
أنواع المتغيرات الصحيحة
أرقام صحيحة
int, signed int, short int, signed short int
32767 الى-32768 من: المجال، بايت تخزين2 –
unsigned
int, unsigned short int
65535 الى0 من: المجال، بايت2 –
long
int, signed long int
2147483645 الى-2147483648 من: المجال، بايت4 –
unsigned
long int
4294967295 الى0 من: المجال، بايت4 –
Lesson 3.6
الدوال الرياضيه
تحتاج الي ترويسة المكتبة cmathأو cstlib
> #include <cstlibأو >#include <cmath
الصيغة العامة :اسم الداله (المعامالت)
يجب معرفة نوع وشكل المعامالت الخاصة بالدالة
– الدوال الدائرية تستخدم االرقام radianوليس الدرجات
كمعامالت
الجدول 3.11يحتوي على جميع الدوال الرياضيه
Lesson 3.6