منتديات افترافيكت

عزيزي الزائر / عزيزتي الزائرة يرجي التكرم بتسجبل الدخول اذا كنت عضو معنا
او التسجيل ان لم تكن عضو وترغب في الانضمام الي اسرة المنتدي
سنتشرف بتسجيلك
شكرا
ادارة المنتدي



 
الرئيسيةس .و .جالتسجيلدخولتسجيل دخول الاعضاء

شاطر | 
 

 الدرس الثال للمببتدئين في لغه c++

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

رقم العضوية : 1
الدولة : اليمن
الدولة :

sms sms : مرحبا بالاعضاء والزوار الكرام

الجنس الجنس : ذكر عدد المساهمات : 548
نقاط : 2788
تاريخ التسجيل : 22/09/2009
العمر : 28

مُساهمةموضوع: الدرس الثال للمببتدئين في لغه c++   الثلاثاء يناير 05, 2010 1:45 am

---------- --- الدرس الثالث --- ---------- ----------

:: تابع تعليمات التحكم ::

قبل إكمال الموضوع .. هناك فكرتين يجب أن أذكرهما :

الأولى :

تتعلق بالمتغيرات المنطقية bool و كيفية استخدامها في عبارة الشرط if :
سنأخذ على الفور مثالاً يوضح الفكرة التي أريدها :

مثال /
بفرض أن x متغير منطقي من النوع bool
كود:

كود:
bool x = true;
if( x )
cout << "X = True " << endl;لاحظوا كيف و ضعنا الشرط .. في الشرط نستطيع وضع المتغيرات من النوع bool بهذا الشكل و سيفهم المترجم أنك تريد إختبار في ما إذا كانت x تساوي true .
و لكن الشرح الصحيح هو أن المترجم سيرى أن قيمة المتغير x تساوي true و بالتالي نتيجة الإختبار أصبحت true و بالتالي سينفذ التعليمات التي بداخل الشرط .. و بالتالي هذه طريقة مباشرة بدلاً من كتابة :

كود:

كود:
if( x==true )و أيضاً هناك طريقة مشابهة لإختبار القيمة false .. انظر المثال :

كود:

كود:
if( !x )
cout << "X = False " << endl;لاحظ كيف وضعنا معامل النفي ( ! ) قبل المتحول x .. و هي مشابهة تماماً للعبارة التالية :

كود:

كود:
if( x==false )الثانية :

تتعلق بالحلقة for .. بأننا نستطيع عدم كتابة أحد الأقسام الثلاثة المتعلقة بالقيمة الإبتدائية و النهائية و العملية على متغير التكرار .. و ممكن أيضاً أن نضع الحلقة فارغة هكذا :

كود:

كود:
for( ; ; )و بالتالي ستصبح الحلقة مفتوحة و لن يتم الخروج منها .. و لكننا نستطيع ذلك عن طريق الأمر break كما تعلمنا .


----------------------------------------

:: حل التمارين ::

السؤال الأول :

اكتب برنامجاً يطلب من المستخدم إدخال 3 أعداد صحيحة و من ثم يكتب له العدد الأكبر .

الحل /
كود:

كود:
#include <iostream.h>
void main()
{
int a,b,c,max;
cout << "Enter a , b , c : ";
cin >> a >> b >> c;

max = a;

if( b > max )
max = b;
if( c > max )
max = c ;

cout << "Max = " << max << endl;
}
شرح الحل :

1 – قمنا بتعريف أربع متغيرات من النوع int : ثلاثة من أجل الأعداد و الرابع الذي سيحمل قيمة العدد الأكبر .
2 – قمنا بطلب تلك الأعداد من المستخدم .
3 – يجب أن نفترض أن عدد ما هو العدد الأكبر .. ثم نقوم بتعديل تلك القيمة إذا وجدنا أن الأعداد الأخرى هي الأكبر .
حيث افترضنا أن a هو العدد الأكبر .. ثم اختبرنا فيما إذا كان b هو الأكبر فإذا كان كذلك قمنا بتغيير max .. و بعد ذلك اختبرنا فيما إذا كان c هو الأكبر .. و بعد ذلك كتبنا الناتج .

ملاحظة / هناك حلول كثيرة لهذا السؤال .. و حلول الأعضاء صحيحة و لكن أرى أن هذا الحل بسيط و سهل الفهم ..


----------------------------------------

السؤال الثاني :اكتب برنامجاً يطلب من المستخدم إدخال عددين صحيحين و من ثم يكتب له فيما إذا كان الثاني قاسماً للأول .

الحل /كود:

كود:
#include <iostream.h>
void main()
{
int a,b;

cout << "Enter a , b : ";
cin >> a >> b;

if( a % b == 0 )
cout << "b is dividable " << endl;
else
cout << "b is not dividable " << endl;
}
شرح الحل :

1 – قمنا بتعريف متغيرين صحيحين من أجل العددين الذين سنختبرهما .
2 – طلبنا القيم من المستخدم .
3 – نريد أن نعرف متى يكون العدد الثاني قاسماً للأول ؟ يكون كذلك إذا كان باقي قسمة الأول على الثاني تساوي الصفر .. مثال : العدد 6 و 2 حيث أن 2 هو قاسم للعدد 6 لأن باقي قسمة 6 على 2 تساوي الصفر .. و هكذا .
لذلك قمنا بإختبار تلك العملية بواسطة عبارة الشرط if .. و من ثم كتبنا الإجابة .


----------------------------------------




السؤال الثالث :

اكتب برنامجاً يطلب من المستخدم إدخال n عدد صحيح و من ثم يكتب له قيمة n! ( العاملي ) .

ملاحظة / قانون العاملي :

كود:

كود:
n! = n * (n-1) * (n-2) * (n-(n-1))أمثلة على العاملي /
6! = 6 × 5 × 4 × 3 × 2 × 1 = 720
4! = 4 × 3 × 2 × 1 = 24
2! = 2 × 1 = 2
1! = 1
0! = 1

الحل :كود:

كود:
#include <iostream.h>
void main()
{
int n,y;

cout << "Enter a Number : ";
cin >> n;

y = n;

for( int i = n-1; i>1; i-- )
y = y * i;

cout << "Y! = " << y << endl;
}شرح الحل :

1 – عرفنا متغيرين صحيحين : n للعدد الذي الذي سيدخله المستخدم .. و y من أجل حساب العاملي .
2 – طلبنا قيمة العدد الذي سنحسب له العاملي .
3 – انسى التعليمة : y=n .. و انظر إلى الحلقة for و ذلك بفرض أن المستخدم أدخل العدد 5 :
في العاملي يوجد تسلسل في الأعداد لذلك احتجنا إلى الحلقة for .. بحيث وضعنا القيمة الإبتدائية هي العدد n-1 و ستكون في هذا الإفتراض 4 .. و النهائية 2 دائماً لأننا لا نحتاج إلى الواحد لأنه عنصر محايد و الضرب به لا يغير النتيجة .
و من ثم وضعنا القانون الذي سيحسب لنا القيمة .. لذلك وضعنا قبل الحلقة for التعليمة y=n .. حيث أن y ستأخذ أولاً قيمة العدد الذي سيدخله المستخدم و من ثم ستتغير قيمتها في داخل الحلقة .

بحيث ستأخذ y في أول دورة القيمة 5 × 4 .
في الدورة الثانية 20 × 3 .
في الدورة الثالثة 60 × 2 = 120 .. و هكذا .
و هذا ما يحقق : 5 × 4 × 3 × 2 × 1 = 120 .

ملاحظة هامة / إذا لم نضع للمتغير y قيمة ابتدائية .. فستكون نتيجة التعليمة y = y * i قيم لا معنى لها !!! لأن المترجم سيعطي قيمة عشوائية لا معنى لها لأي متغير تم تعريفه و لم يعطى له قيمة ابتدائية .. و بالتالي ستظهر أخطاء في النتائج .


----------------------------------------


:: تابع تعليمات التحكم ::

الأن لنعود إلى إلى درسنا .. سنأخذ باقي العبارات و التي تسمى ( بالتكرار المشروط ) و هي كالتالي :

5 – العبارة ( while ) :


تقوم هذه العبارة بتكرار مجموعة من التعليمات عدد غير معروف من المرات طالما أن الشرط محقق .. و بهذا تختلف عن الحلقة for في أننا لا تعرف عدد المرات التي سيتكرر في التنفيذ .

قاعدة /

كود:

كود:
while( Condition )
Statements;حيث أن :
Condition : هو الشرط .. يكتب تماماً مثل العبارة if .
Statements : التعليمات المراد تكرارها طالما أن الشرط محقق ( نتيجته true ) .


مثال /
كود:

كود:
while( y<0 )
x++;6 – العبارة ( do/while ) :

نفس العبارة while تماماً .. و لكنها ستنفذ التعليمات الموجودة مرة واحدة على الأقل ثم بعد ذلك تختبر تحقق الشرط .

قاعدة /

كود:

كود:
do
Statements;
while( Condition );مثال /
كود:

كود:
do
x++;
while( y<0 );
ملاحظة 1 / لاحظ وجود الفاصلة المنقوطة في نهاية هذه العبارة .. أما في العبارة السابقة لم نضع فاصلة منقوطة بعد while و ذلك من أجل التمييز بين النوعين ( while ) و ( do/while ) .

ملاحظة 2 / يمكننا أيضاً في هاتين العبارتين استخدام أقواس الكتل ( { } ) إذا كنا نريد تكرار عدد من التعليمات و ليس فقط تعليمة واحدة .. كما تعلمنا سابقاً .
الرجوع الى أعلى الصفحة اذهب الى الأسفل
http://effects.yoo7.com
 
الدرس الثال للمببتدئين في لغه c++
الرجوع الى أعلى الصفحة 
صفحة 1 من اصل 1
 مواضيع مماثلة
-
» حصرى للغايه كليب الرقص السرى فوق سطح الهرم
» حريت المراه
» اسماء وعناوين بعض المعاهد والكليات للطيران
» الطعن بالمعارضة .
» سب اللي ببالك ببيت شعر...

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