النافذة العربية للبرمجة

النافذة العربية للبرمجة
 
الرئيسيةالمشاركاتمكتبة الصورس .و .جبحـثالأعضاءالمجموعاتالتسجيلدخول

شاطر | 
 

 الجزء الثاني من مقدمة لغة ++C

اذهب الى الأسفل 
كاتب الموضوعرسالة
عبدالهادي الحداد
مدير الموقع
avatar

عدد الرسائل : 483
العمر : 33
الموقع : اليمن الحبيبة
العمل/الترفيه : طالب برمجة
تاريخ التسجيل : 13/06/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: الجزء الثاني من مقدمة لغة ++C   الأحد يونيو 29, 2008 8:03 am

بسم الله الرحمن الرحيم


الجزء الثاني من مقدمة لغة ++C
سؤال: ما هو المقصود بهذه العبارة ( تتمتع جملة التعليق بلغة السي بمواصفات فائقة لا تتوفر في غيرها من اللغات)

-ملاحظات هامة يجب مراعاتها عند كتابة التعليقات والملاحظات في برنامج لغة السي:
1-لا تترك إي فراغ بين الشرطة / والنجمة * من جهتي جملة التعليق.
2-يقوم مترجم لغة السي بإهمال النصوص المستعملة في جمل التعليق إي أنه لا يصححها حتى لو كتبت بطريقة خاطئة ولا ينفذها أيضاً.
3-يمكن وضع التعليق أو الملاحظة في إي مكان بالبرنامج وتعتبر الجملة التالية صحيحة:
y=a+b; /*add*/
4-لا ينصح بوضع تعليق داخل تعليق لأن ذلك يتسبب في وقوع أخطاء.
مثال3:هذا برنامج يقوم بإدخال عددين وحساب المتوسط الحسابي لهما وطباعة الناتج.
#include<iostream.h>
main()
{
float a,b,c;
cout<<"enter 2 number";
cin>>a>>b;
sum=a+b;
c=sum/2;
cout<<"sum="<<sum<<"\n average ="<<c;
}
مثال عام: أكتب برنامج يقوم بإدخال رقمين وجمع هذين الرقمين و إظهار الناتج باستخدام لغة C++؟
الرقم الأول F
الرقم الثاني S
الرقم الثالث TOT

1-الحل باستخدام لغة C++:


#Include<iostream.h>
main( )
{
int F,S,TOT;
cin>> F;
cin>> S;
TOT =F+S;
cout<< TOT;
return 0;
}

سؤال: أكتب برنامج يقوم بإدخال ثلاثة أعداد ثم يقوم بحساب حاصل ضرب الأعداد ثم يقوم بطباعة النتيجة على الشاشة ؟

( أسئلة عامة على الفصل الأول )

س1: أشرح بالتفصيل ما تعرفه عن معنى لغة السي ؟
س2: حسب دراستك للغة السي قارن بين كل من: المميزات والعيوب في لغة السي ؟
س3:ما هي الرموز المستخدمة في لغة السي ؟
س4:أذكر ثلاث طرق مختلفة لتشغيل برنامج لغة C++ ؟
س5:أكتب الصيغة العامة لبرنامج لغة السي ؟ مع شرح كل جزء من أجزاء الصيغة ؟
س5:ما معنى كل من المصطلحات التالية:
1-include
2-main()
3-iostream.h
4-conin.h
س6:صحح الأخطاء في كل مما يأتي ( إن وجد خطأ ):
1- include (iostream.h )

2- float a
int b,c,d

3- cin<<a<<b

4- cout>>ali
س7:أكتب برنامج يقوم بإدخال ثلاثة أعداد وحساب مجموع الأعداد والمتوسط الحسابي للأعداد ومربع كل رقم من هذه الأعداد الثلاثة ؟
س8:أكتب برنامج يقوم بإدخال أسمك وعمرك ورقمك ثم يقوم بطباعتهما على الشاشة ؟
س9:أكتب برنامج يقوم بحساب راتب موظف عدد ساعات عمله 120ساعة وقيمة أجر الساعة 45ريال؟
س10:أكتب برنامج لحساب راتب موظف بمعلومية عدد ساعات عمل الموظف وقيمة أجر الساعة ؟


10-أنواع البيانات في لغة C++:

تحتوي لغة C++ على خمسة أنماط من البيانات وهي:
1-الحروف (Character): ويرمز لها في لغة سي بالرمز char وهو مختصر من الكلمة (Character) ، وتتكون عادة من مجموعة ( أو واحد ) من الحروف الأبجدية أو الأرقام و الرموز الخاصة. ويمكن أن نخزن فيها 256 رمزاً ( لماذا؟ )
ويتم الإعلان عن المتغيرات الرمزية في بداية البرنامج على الصورة التالية ( مثلاً ):
char f,x;
حيث أن كل من f و x هنا رمزين ويمكن أن يحتويا على الحروف الأبجدية أو الأرقام و الرموز الخاصة .
وهذه صورة أخرى للإعلان:
char n='ali';
وهنا تعتبر هذه الجملة جملة إعلان وتعيين في آن واحد.

2-الأعداد الصحيحة (Integer):ويرمز لها بالرمز int مختصراً من كلمة (Integer) أي المعطيات الصحيحة ، التي قد تكون موجبة أو سالبة ، ويتم الإعلان عنها.كما في المثال التالي:
int a,m,y;
ويمكن أن يتم الإعلان بصورة أخرى على النحو التالي:
int x=100;
وهنا تعتبر هذه الجملة جملة إعلان عن x الصحيحة ، وجملة تعيين لقيمة x في وقت واحد
- ومما ينبغي علينا الانتباه إليه في جميع جمل الإعلان المختلفة ، أن نترك فراغاً واحداً على الأقل بعد int أو char ، فمثلاً تعتبر جملة الإعلان عن a على الصورة:
inta;
جملة خاطئة لأن المترجم لا يعرف كلمة inta ولا يميزها.

3-الأعداد الحقيقية (Floating-Point): ويرمز لها بالرمز float وهو مختصر لكلمة (Floating-Point) ويتم الإعلان عنها كما في المثال التالي:
float a,b,c;
4-الأعداد الحقيقية مضاعفة الدقة (double Floating-Point): ويرمز له بالرمز double ( إي عدد خاناته مضاعف )
سؤال:ما الفرق بين float - double ؟
ويتم الإعلان عنها على الصورة التالية:
double c;
5-عديمة القيمة (Void): وتعني القيمة الخالية ويتم الإعلان عنها على النحو التالي:
void tag;
ونستعمل void في لغة السي لعدة أغراض ومنها:
1-لتعيين نوع الدالة التي لا تعطي أي قيم عند استدعائها ، أو لجعل الدالة لا تعطي إي قيمة للبرنامج الرئيسي.
2-تستخدم في عملية رسم الأشكال.
3-لبيان أن قيمة تعبير من التعابير لن يستعمل في البرنامج.
4-تستخدم لإنشاء المؤشرات.

وسوف تلاحظ أن جميع الأنماط الأخرى مبنية أصلاً على واحدة من هذه الأنماط. والجدول التالي يوضح الحيز(حجم التخزين) لكل نوع من أنماط البيانات السابقة:
حيّز التخزين (بت) النوع / النمط
8 Char
8 Unsigned char
8 ‎(signed) char‎
16 Int
16 Short
16 Short int
16 Signed
16 ‎(signed) int‎
32 Long
32 Long int
32 Unsigned long
32 ‎(signed) long‎
32 Float
64 Double
80 Long double

5-المتغيرات ( Variables ):
عند كتابة أي برنامج بلغة سي ، فإنك تحتاج إلي تخزين معلومات في مخازن ذاكرة الحاسب ، ويطلق على هذه المخازن اسم المتغيرات. وبما أن أنواع البيانات المراد تخزينها تكون عادة مختلفة مثل القيم الصحيحة أو الرمزية(الحروف) أو الحقيقية.

* شروط تسمية المتغيرات:
1-عدم بداية تسمية المتغير بأي رقم.
3-لا يمكن أن تستخدم علامات الترقيم أو علامات الاستفهام أو الكلمات المحجوزة مثل:for ضمن اسم المتغير، فمثلاً لاحظ الفرق بين أسماء المتغيرات في الأمثلة التالية:
1- int a,m,counter;
2- int a?,1999_age;
ستجد أن السطر الأول مسموح باستخدامه ولكن السطر الثاني غير مسموح باستخدامه لأنه يحتوي على علامة استفهام وعلامة ترقيم.
3-أن الاسم الذي نعطيه للمتغير يجب أن لا تختلف حالة حروفه في نفس البرنامج.
مثال: no لا تساوي كلمة NO .

* الكلمات المحجوزة ( Keyword ):
وهي كلمات قياسية معرفة مسبقاً لمترجم لغة سي ، ولها معان خاصة بها تؤديها في برنامج لغة C++ .
يعرض الجدول التالي الكلمات المحجوزة في لغة C++:

auto Double Int Struct
Break Else Long Switch
Case Enum Register Typedef
Char Extern Return Union
Const Float Short Unsigned
Continue For Signed Void
Default Goto Sizeof Volatile
Do If Static While


وكما تلاحظ من قائمة الكلمات المحجوزة في الجدول أعلاه ، أن الكلمات المحجوزة في لغة السي قليلة إذ تتكون من 30 كلمة محجوزة فقط ، وللعلم وللمقارنة مع اللغات الأخرى ، فإن لغة أدا (Ada) تحتوي على 62 كلمة محجوزة.

وإليك هذه الأمثلة الصحيحة على أسماء المتغيرات:
a b6 f15 sum grade door12 on_off
و سوف نستعرض الآن مجموعة من اسماء المتغيرات غير الصحيحة (غير مقبولة ) وسنوضح السبب لكل منها وهي:
7up
المتغير خاطئ والسبب: لأنه بدأ برقم وليس بحرف.
Win?
المتغير خاطئ والسبب: لأنه يحتوي على علامة استفهام.
Void
المتغير خاطئ والسبب: لأنه يحتوي على أحد الكلمات المحجوزة في لغة السي.
Tom,s
المتغير خاطئ والسبب: لأنه يحتوي على أحد الرموز الخاصة وهي الفاصلة (,).
Do it
المتغير خاطئ والسبب: لأنه يحتوي على مسافة بين اسم المتغير..
on-off
المتغير خاطئ والسبب: لأنه يحتوي على أحد الرموز الخاصة وهي (-).

( أسئلة على الفصل الثاني )

س1: وضح بالتفصيل ما هي أنواع البيانات في لغة C++ ؟
س2: ما المقصود بـ ( Void ) ؟ وما هي الأغراض التي يستخدم فيها ؟
س3: أمامك الجدول التالي والذي يوضح الحيز(حجم التخزين) لكل نوع من أنماط البيانات ، والمطلوب منك هو إكمال البيانات الناقصة في الجدول:
حيّز التخزين (بت) النوع / النمط
Int
Float
64
Void
س4:عرف المتغيرات ؟ وما هي شروط تسمية المتغيرات ؟
س5:عرف الكلمات المحجوزة ؟ مع ذكر عشرة أمثلة مختلفة على الكلمات المحجوزة في لغة C++ ؟
س6:بين هل أسماء المتغيرات التالية صحيحة أم لا مع ذكر السبب ( في حالة الخطأ ):
1- art
2-8bm
3-intb
4-char
5-for
6-if
7-void
8-FOR
9-the_on
10-the-on
11-th e
12- 7abc
س7:أكت برنامج يقوم بإدخال عددين ثم يقوم بإجراء جميع العمليات الحسابية الأساسية الأربعة من جمع وضرب وطرح وقسمة ؟


التعبير الحسابي ( Expressions):

تعريف: هو مجموعة من العمليات الحسابية بين الأعداد والثوابت والمتغيرات والدوال.
-أمثلة على التعبير الحسابي:
1-التعبير y * x يقابله في الجبر x y.
2-التعبير x / y يقابله في الجبر X
y
جملة التعيين ( Assignment Statement ):
-الشكل العام لجملة التعيين:
variable name = Expression;
حيث يوضع اسم المتغير وحده في الطرف الأيسر للجملة ، ولا يجوز أن يكون الطرف الأيسر عدد ثابت أو دالة أو عملية حسابية ، ويمكن للطرق الأيمن أن يكون عدد ثابت أو دالة أو عملية حسابية.
وتستخدم إشارة مساواة (=( واحدة بين الطرفين الأيسر و الأيمن للجملة ، ويجب ان تنتهي الجملة بالفاصلة المنقوطة ( ; ).
-أمثلة متنوعة على جمل التعيين:
1- a=5;
نلاحظ أن الطرف الأيمن ثابت عددي.
2- y=a+b;
نلاحظ أن الطرف الأيمن تعبير حسابي.
3- x=sin(36.Cool;
نلاحظ أن الطرف الأيمن دالة
4- I= I+1;
نلاحظ أن الطرف الأيمن تعبير حسابي.
ملاحظة: إذا لم تكن درست لغة البيسك أو فورتران من قبل ، فقد تسأل عن معنى ومفهوم الجملة الأخيرة
I = I+1;.
إن مفهوم هذه المعادلة في لغات البرمجة ، هو غيره في الجبر ، إذ أن المتغير هنا يمثل مخزناً أو صندوقاً واحداً في الذاكرة ، وقيمته ( أو قيمة ما في داخله ) في الطرف الأيمن هي القيمة القديمة التي يضاف إليها (يوضع بالصندوق) العدد 1 ، فتصبح القيمة الجديدة ( وهي الطرف الأيسر ) للمتغير I
هي لبقيمة القديمة مضافاً إليها 1 ، فمثلاً لو كانت قيمة I في الطرف الأيمن قبل تنفيذ الجملة يساوي 10 مثلاً فإن قيمة I في الطرف الأيسر ستكون 11 بعد إضافة 1 إلي مخزن I في الطرف الأيمن.
ولا تسمح لغة C++ بأكثر من جملة تعيين واحدة في سطر واحد ، فمثلاً الجملتان التاليتان لا تقبلان في لغة C++ ، ويعطيك المترجم رسالة الخطأ التالية: bad syntax.
Y= x+3 z= y/x;
ويمكنك إعادة كتابة الجملتين بشكل صحيح هكذا:
z= (y=x+5)/x

الأدوات المستعملة في لغة C++ ( Operators ):
ويوجد في لغة C++ ثلاثة أنواع من الأدوات وهي:
1-الأدوات الحسابية
2-الأدوات المنطقية والعلائقية
3-الأدوات الدقيقة


عدل سابقا من قبل عبد الهادي الحداد في الأحد يونيو 29, 2008 10:36 am عدل 1 مرات (السبب : للتعديل)
الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو http://awfm.boardlog.com
محترف
مبرمج رائع
مبرمج رائع
avatar

عدد الرسائل : 144
العمر : 32
تاريخ التسجيل : 22/07/2008

بطاقة الشخصية
المدير العام / عبدالهادي الحداد:

مُساهمةموضوع: رد: الجزء الثاني من مقدمة لغة ++C   الأحد أغسطس 24, 2008 1:20 pm

مشكوووووووووووووووووووووووووور
















الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
حيدر
عضو جديد
عضو جديد
avatar

عدد الرسائل : 25
تاريخ التسجيل : 10/08/2008

مُساهمةموضوع: رد: الجزء الثاني من مقدمة لغة ++C   الخميس أغسطس 28, 2008 5:58 am

مشكوووووووووووووووووووووووووور










الرجوع الى أعلى الصفحة اذهب الى الأسفل
معاينة صفحة البيانات الشخصي للعضو
 
الجزء الثاني من مقدمة لغة ++C
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1

صلاحيات هذا المنتدى:لاتستطيع الرد على المواضيع في هذا المنتدى
النافذة العربية للبرمجة :: قسم لغات برمجة التطبيقات :: منتدى C و ++C-
انتقل الى: