⬅️ تطبيق (3 ):
البرنامج التالي يبين عملية تنسيق الخرج على الشاشة
#include<iostream.h>
main()
{
cout<<"One";
cout<<"Two\n";
cout<<"Three\n\n";
cout<<"Four";
return 0;
}
وعند تنفيذ البرنامج
OneTwo
Three
Four
يتبع .... 👇
البرنامج التالي يبين عملية تنسيق الخرج على الشاشة
#include<iostream.h>
main()
{
cout<<"One";
cout<<"Two\n";
cout<<"Three\n\n";
cout<<"Four";
return 0;
}
وعند تنفيذ البرنامج
OneTwo
Three
Four
يتبع .... 👇
⬅️ تطبيق( 4 ):
طباعة العدد100 والعدد 5.36
#include<iostream.h>
main()
{
int a=100;
float b=5.36;
cout<<a<<b;
return 0;
}
لاحظ الإعلان عن العدد الصحيح int a=100 والعدد الحقيقي float b=5.36
يتبع .... 👇
طباعة العدد100 والعدد 5.36
#include<iostream.h>
main()
{
int a=100;
float b=5.36;
cout<<a<<b;
return 0;
}
لاحظ الإعلان عن العدد الصحيح int a=100 والعدد الحقيقي float b=5.36
يتبع .... 👇
⬅️ تطبيق (5 ):
المطلوب كتابة برنامج لجمع عددين صحيحين
#include<iostream.h>
main()
{
int a,b,c;
cin>>a>>b;
c=a+b;
cout c;
return 0;
}
وعند تنفيذ هذا البرنامج يطلب منك البرنامج إدخال عددين ويضعهما في المخزنين a, b
ثم يقوم بجمع الرقمين ووضعهما في المخزن c
ثم يقوم بطباعة الرقم الموجود في المخزن c
ملاحظات على البرنامج:
يمكن إضافة بعض الرسائل التي تود أن تظهر عند تشغيل البرنامج ولذلك يمكن تطوير
البرنامج السابق كالتالي:
#include<iostream.h>
main()
{
int a,b,c;
cout<<"please enter two number\n";
cin>>a>>b;
c=a+b;
cout<<"the result is "<<c;
return 0;
}
وعند تنفيذ البرنامج تظهر الرسالة الآتية للسؤال عن الرقمين المراد جمعهما فعليك إدخال أى رقمين بجوار رسالة السؤال وليكن العددين 25 , 4 ثم اضغط مفتاح الإدخال enter يظهر سطر النتيجة بجواره نتيجة الجمع وهو العدد 29 هكذا
Please enter two numbers25 4
the result is 29
بعد إدخال العدد الأول أما أن نترك مسافة وندخل العدد الثاني أو نضغط على
مفتاح الإدخال وندخل الرقم الثاني.
يتبع .... 👇
المطلوب كتابة برنامج لجمع عددين صحيحين
#include<iostream.h>
main()
{
int a,b,c;
cin>>a>>b;
c=a+b;
cout c;
return 0;
}
وعند تنفيذ هذا البرنامج يطلب منك البرنامج إدخال عددين ويضعهما في المخزنين a, b
ثم يقوم بجمع الرقمين ووضعهما في المخزن c
ثم يقوم بطباعة الرقم الموجود في المخزن c
ملاحظات على البرنامج:
يمكن إضافة بعض الرسائل التي تود أن تظهر عند تشغيل البرنامج ولذلك يمكن تطوير
البرنامج السابق كالتالي:
#include<iostream.h>
main()
{
int a,b,c;
cout<<"please enter two number\n";
cin>>a>>b;
c=a+b;
cout<<"the result is "<<c;
return 0;
}
وعند تنفيذ البرنامج تظهر الرسالة الآتية للسؤال عن الرقمين المراد جمعهما فعليك إدخال أى رقمين بجوار رسالة السؤال وليكن العددين 25 , 4 ثم اضغط مفتاح الإدخال enter يظهر سطر النتيجة بجواره نتيجة الجمع وهو العدد 29 هكذا
Please enter two numbers25 4
the result is 29
بعد إدخال العدد الأول أما أن نترك مسافة وندخل العدد الثاني أو نضغط على
مفتاح الإدخال وندخل الرقم الثاني.
يتبع .... 👇
⬅ تطبيق (7)
#include<iostream.h>
void main()
{
int x=3,y=2;
float f;
f=(x*x-3*y)/(2*x-y);
cout<<"f="<<f;
}
المخرجات
f=0
لايجاد قيمة f
f=(x*x-3*y)/(2*x-y)
اولا البسط (3*3-3*2) = (9-6)=3
ثانيا المقام
(2*3-2)=(6_2)=4
اذا ناتج قسمة البسط على المقام =0.75 نهمل الجزاء العشري لن البسط من نوع int والمقام int والقاعده تقول int على int يساوي int فيصبح الناتج 0 .
يتبع ....👇
#include<iostream.h>
void main()
{
int x=3,y=2;
float f;
f=(x*x-3*y)/(2*x-y);
cout<<"f="<<f;
}
المخرجات
f=0
لايجاد قيمة f
f=(x*x-3*y)/(2*x-y)
اولا البسط (3*3-3*2) = (9-6)=3
ثانيا المقام
(2*3-2)=(6_2)=4
اذا ناتج قسمة البسط على المقام =0.75 نهمل الجزاء العشري لن البسط من نوع int والمقام int والقاعده تقول int على int يساوي int فيصبح الناتج 0 .
يتبع ....👇
⬅ تطبيق ( 6 ):
المطلوب حساب مساحة دائرة
#include<iostream.h>
main()
{
int r;
float area,pi=3.14;
cout<<"please enter radius\n";
cin>>r;
area=r*r*pi;
cout<<"\t the area is:"<<area;
return 0;
}
يتبع .... 👇
المطلوب حساب مساحة دائرة
#include<iostream.h>
main()
{
int r;
float area,pi=3.14;
cout<<"please enter radius\n";
cin>>r;
area=r*r*pi;
cout<<"\t the area is:"<<area;
return 0;
}
يتبع .... 👇
⬅ تطبيق (8)
#include <iostream.h>
int main()
{
int a=6 , b=7 ;
cout <<(a & b)<<"\n";
cout<<(a | b) <<"\n";
cout<< (!(a | b))<<"\n";
cout << (a<<2)<<"\n";
cout << (b>>1)<<"\n";
}
المخرجات من البرنامج
6
7 0 24 3
⬅المخرج الأول ع يكون 6 لأن ع نحول ال6و7الى النظام الثنائي ونعمل بينهم عملية and....
6 = 0110
7 = 0111 &
----------------
0110 = 6
⬅المخرج الثاني ع يكون 7ونفس التعليل ع نحولهم الى الثنائي ونعمل عملية or....
6 = 0110
7 = 0111 |
----------------
0111 = 7
⬅المخرج الثالث ع يكون 0 أي عملنا عملية النفي لعملية الor .....
نفي ال 111ْع يكون 0
⬅ اما المخرج الرابع والخامس خذها بكل بساطه عند التزحيف الى اليسار بكل تزحيف اضرب في 2 في المثال زحفنا a الذي قيمة 6 بمقدار 2 فنضرب 6*2*2 يكون الناتج 24 .
⬅ وعند التزحيف الى اليمين نقسمه على 2 حسب عدد مرات التزحيف في المثال زحفنا b=7 الى اليمين بمقدار 1 نقسم 7 على 2 ينتج 3 ونهمل الباقي ....
🖋 م . أحمد قطران
انتهى ....
#include <iostream.h>
int main()
{
int a=6 , b=7 ;
cout <<(a & b)<<"\n";
cout<<(a | b) <<"\n";
cout<< (!(a | b))<<"\n";
cout << (a<<2)<<"\n";
cout << (b>>1)<<"\n";
}
المخرجات من البرنامج
6
7 0 24 3
⬅المخرج الأول ع يكون 6 لأن ع نحول ال6و7الى النظام الثنائي ونعمل بينهم عملية and....
6 = 0110
7 = 0111 &
----------------
0110 = 6
⬅المخرج الثاني ع يكون 7ونفس التعليل ع نحولهم الى الثنائي ونعمل عملية or....
6 = 0110
7 = 0111 |
----------------
0111 = 7
⬅المخرج الثالث ع يكون 0 أي عملنا عملية النفي لعملية الor .....
نفي ال 111ْع يكون 0
⬅ اما المخرج الرابع والخامس خذها بكل بساطه عند التزحيف الى اليسار بكل تزحيف اضرب في 2 في المثال زحفنا a الذي قيمة 6 بمقدار 2 فنضرب 6*2*2 يكون الناتج 24 .
⬅ وعند التزحيف الى اليمين نقسمه على 2 حسب عدد مرات التزحيف في المثال زحفنا b=7 الى اليمين بمقدار 1 نقسم 7 على 2 ينتج 3 ونهمل الباقي ....
🖋 م . أحمد قطران
انتهى ....
🖋 الدرس 7⃣
⬅ الجمل الشرطية:
👈 اولاً if
استخدام عبارة التحكم IF:
تقوم عبارة if باختبار شرط معين , إذا تحقق هذا الشرط يتم تنفيذ عملية أو مجموعة عمليات وإلا يتم تجاهل هذه العملية لذا فالصيغة العامة لعبارة if تكون كالآتى:
If (expression) Statement;
أو
If (condition) Statement1;
إذا لم يتحقق الشرط condition ينقل تسلسل تنفيذ البرنامج إلى الجملة statement1
أو تستخدم بشكل أعمق كالتالى:
If (condition) Statement1;
Else Statement2;
فى هذه الحالة ستنفذ الجملة statement1 إن تحقق الشرط وإلا فإن التنفيذ ينتقل إلى السطر التالى وتتحقق الجملة statement2.
حيث يعبر expression أو condition عن التعبير المستخدم (الشرط) ويوضع بين قوسين فإذا كانت قيمته لا تساوى صفر يكون الشرط صحيح ويتم تنفيذ العبارة statement.
للتعرف على طريقة تشغيل العبارة if ندرس المثال التالى:
برنامج بسيط بلغة C++ لإظهار العبارة "x is positive" على الشاشة
# include <iostream.h>
main()
{
int x ;
cout<<”Enter the test number X ”;
cin>> x ;
if (x>0)
cout << “ x is positive”;
return 0;
}
نتيجة البرنامج:
إذا أدخلت قيمة العدد المطلوب اختباره يساوى 7 وضغطت enter يعطى الرسالة
Press any key to continue x is positive
وإذا أدخلت قيمة العدد (-7) يعطى البرنامج رسالة press any key to continue
مثال (1):
يمكن استخدام الصيغة الكاملة if.......else
ليعطى البرنامج رسالة فى كلا الحالتين عند إدخال قيمة x موجبة يعطى رسالة القيمة موجبة وعند إدخال قيمة سالبة يقوم البرنامج بطباعة رسالة أن القيمة المدخلة سالبة كما هو موضح فى البرنامج البسيط التالى:
الحـــل:
# include <iostream.h>
main()
{
int x
cout<<”Enter the test number x ”;
cin>> x ;
if (x>0)
cout << “ x is positive\n”;
else
cout<<"x is negative\n";
return 0;
}
وعند تطبيق البرنامج السابق نجد أن البرنامج يطبع العبارة x is positive)) في حالة القيمة الموجبة ويطبع العبارة (x is negative) في حالة القيمة السالبة ولكن في كل من البرنامجين السابقين هناك خطأ منطقي لا يكتشفه المترجم عند الترجمة وهو ماذا لو تم إدخال قيمة x = 0
في هذه الحالة سيطبع البرنامج العبارة (( x is negative وهذا غير صحيح لأن الصفر لا يكون موجبا أو سالبا وهنا يجب على المبرمج الاهتمام وملاحظة مثل هذه الأخطاء وتجربة البرنامج أكثر من مرة وإعطاؤه عينات كثيرة من الأرقام المختلفة ولحل هذه المشكلة يمكن استخدام هذه الطريقة الموضحة بالبرنامج التالى:
# include <iostream.h>
main()
{
int x
cout<<”Enter The test number X ”;
cin>> x ;
if (x>0)
cout << “ x is positive\n”;
else if (x<0)
cout<<"x is negative\n";
else if(x= =0)
cout<<" x=0\n";
return 0;
}
ونلاحظ هنا أننا وضعنا أكثر من جملة if في هذا البرنامج وبالطبع يمكن كتابة البرنامج السابق بعدة طرق وكلما كانت الطريقة أقصروتقوم بالغرض المطلوب كلما كان هذا أفضل.
كما يجب أن تلاحظ علامة التساوي (= =) في جملة if الأخيرة.
🖋 م . أحمد قطران
انتهى ....
⬅ الجمل الشرطية:
👈 اولاً if
استخدام عبارة التحكم IF:
تقوم عبارة if باختبار شرط معين , إذا تحقق هذا الشرط يتم تنفيذ عملية أو مجموعة عمليات وإلا يتم تجاهل هذه العملية لذا فالصيغة العامة لعبارة if تكون كالآتى:
If (expression) Statement;
أو
If (condition) Statement1;
إذا لم يتحقق الشرط condition ينقل تسلسل تنفيذ البرنامج إلى الجملة statement1
أو تستخدم بشكل أعمق كالتالى:
If (condition) Statement1;
Else Statement2;
فى هذه الحالة ستنفذ الجملة statement1 إن تحقق الشرط وإلا فإن التنفيذ ينتقل إلى السطر التالى وتتحقق الجملة statement2.
حيث يعبر expression أو condition عن التعبير المستخدم (الشرط) ويوضع بين قوسين فإذا كانت قيمته لا تساوى صفر يكون الشرط صحيح ويتم تنفيذ العبارة statement.
للتعرف على طريقة تشغيل العبارة if ندرس المثال التالى:
برنامج بسيط بلغة C++ لإظهار العبارة "x is positive" على الشاشة
# include <iostream.h>
main()
{
int x ;
cout<<”Enter the test number X ”;
cin>> x ;
if (x>0)
cout << “ x is positive”;
return 0;
}
نتيجة البرنامج:
إذا أدخلت قيمة العدد المطلوب اختباره يساوى 7 وضغطت enter يعطى الرسالة
Press any key to continue x is positive
وإذا أدخلت قيمة العدد (-7) يعطى البرنامج رسالة press any key to continue
مثال (1):
يمكن استخدام الصيغة الكاملة if.......else
ليعطى البرنامج رسالة فى كلا الحالتين عند إدخال قيمة x موجبة يعطى رسالة القيمة موجبة وعند إدخال قيمة سالبة يقوم البرنامج بطباعة رسالة أن القيمة المدخلة سالبة كما هو موضح فى البرنامج البسيط التالى:
الحـــل:
# include <iostream.h>
main()
{
int x
cout<<”Enter the test number x ”;
cin>> x ;
if (x>0)
cout << “ x is positive\n”;
else
cout<<"x is negative\n";
return 0;
}
وعند تطبيق البرنامج السابق نجد أن البرنامج يطبع العبارة x is positive)) في حالة القيمة الموجبة ويطبع العبارة (x is negative) في حالة القيمة السالبة ولكن في كل من البرنامجين السابقين هناك خطأ منطقي لا يكتشفه المترجم عند الترجمة وهو ماذا لو تم إدخال قيمة x = 0
في هذه الحالة سيطبع البرنامج العبارة (( x is negative وهذا غير صحيح لأن الصفر لا يكون موجبا أو سالبا وهنا يجب على المبرمج الاهتمام وملاحظة مثل هذه الأخطاء وتجربة البرنامج أكثر من مرة وإعطاؤه عينات كثيرة من الأرقام المختلفة ولحل هذه المشكلة يمكن استخدام هذه الطريقة الموضحة بالبرنامج التالى:
# include <iostream.h>
main()
{
int x
cout<<”Enter The test number X ”;
cin>> x ;
if (x>0)
cout << “ x is positive\n”;
else if (x<0)
cout<<"x is negative\n";
else if(x= =0)
cout<<" x=0\n";
return 0;
}
ونلاحظ هنا أننا وضعنا أكثر من جملة if في هذا البرنامج وبالطبع يمكن كتابة البرنامج السابق بعدة طرق وكلما كانت الطريقة أقصروتقوم بالغرض المطلوب كلما كان هذا أفضل.
كما يجب أن تلاحظ علامة التساوي (= =) في جملة if الأخيرة.
🖋 م . أحمد قطران
انتهى ....
⬅ تمارين 1⃣
👈 بإستخدام if
1) اكتب برنامج لاختبار العدد زوجي ام فردي
2) اكتب برنامج يطبع تقدير الطالب حسب درجته .
3) اعيد تعريف الداله التاليه (قيمة مطلقه)
y=|x-1|
🖋 م . أحمد قطران
👈 بإستخدام if
1) اكتب برنامج لاختبار العدد زوجي ام فردي
2) اكتب برنامج يطبع تقدير الطالب حسب درجته .
3) اعيد تعريف الداله التاليه (قيمة مطلقه)
y=|x-1|
🖋 م . أحمد قطران
🖋 الدرس 8⃣
⬅ جمل الاختيار:
👈 عبارة switch:
تستخدم عبارة if إذا كان جواب الشرط عبارة عن احتمالين أو ثلاثة احتمالات على الأكثر أما إذا زاد عدد الاحتمالات على ذلك فمن الأفضل استخدام عبارة switch وصيغتها كالتالى:
Switch (condition)
{
case value1 ;
statement1;
break;
case value2;
statement2;
break;
case value N;
statementn;
break;
default:
statement def;
break;
}
ويمكن توضيح العبارة switch من الشكل التالي:
switch (expression)
{
case constant1: statement1; break;
case constant2: statement2; break;
...............................................
………………………………………
………………………………………
case constant:statement;break;
default last statements;
}
وكما نرى أن الاختيار المتعدد البدائل يبدأ بكلمة (Switch) يليها متغير الاختيار والذي تحدد قيمته الاختيار الذي سيتم تنفيذه، ويلي ذلك قوس بلوك كبير يحتوي داخله بلوكات صغيرة كل منها يمثل اختيارا من البدائل المطروحة وكل بلوك من بلوكات البدائل يبدأ بكلمة(case) متبوعة بقيمة لمتغير الاختيار والتي تمثل الشرط وبعد ذلك تأتي عبارة النتيجة.
ويختتم بلوك البديل بكلمة (break) والغرض منها هو منع الكمبيوتر من تنفيذ عبارة النتيجة التالية. وهنا يتبادر للذهن سؤال - ألم يتحقق الشرط الأول مثلا فماذا يدفع الكمبيوتر لتنفيذ بقية عبارات النتائج ؟
والإجابة عن هذا السؤال هى أن عبارة الإدخال من متعدد البدائل لا ترسل للكمبيوتر أمرا بالتوقف بعد تحقق أى شرط فيها لذا لزم الاستعانة بكلمة (break ).
وبعد نهاية بلوكات البدائل تأتي كلمة (default) متبوعة بعبارة أو بعبارات ينفذها الكمبيوتر في حالة عدم تحقق أى من الشروط السابقة.
👈 مثال (1):
برنامج لطباعة قيمة عندما يتحقق شرط من شروط متعددة باستخدام دالة case
#include < iostream.h>
void main()
{
int s1;
s1=2;
switch (s1)
{
case 2:cout<<"y";
break;
case 3: cout<<"x";
break;
case 4: cout<<"m";
break;
default: cout<<"w";
}
}
وتكون نتيجة البرنامج طباعة حرف(y) وذلك لتحقق الشرط الأول وهو s1=2
👈 مثال (2)
#include <iostream>
using namespace std ;
void main (){
char a;
cin>>a;
switch (a) {
case 'A': {cout<<"exelant";
cout<<endl;break;}
case 'B':{cout<<"v.good";
cout<<endl;break;}
case 'C':{cout<<"good";
cout<<endl;break;}
default:{cout<<"F";
cout<<endl;break;}
} }
الكود باستخدام جمله if:
#include <iostream>
using namespace std ;
void main (){
char a;
cin>>a;
if (a=='A')
cout<<"exelant";
else if (a=='B')
cout<<"v.good";
else if (a=='C')
cout<<"good";
}
🖋 م . أحمد قطران
انتهى ...
⬅ جمل الاختيار:
👈 عبارة switch:
تستخدم عبارة if إذا كان جواب الشرط عبارة عن احتمالين أو ثلاثة احتمالات على الأكثر أما إذا زاد عدد الاحتمالات على ذلك فمن الأفضل استخدام عبارة switch وصيغتها كالتالى:
Switch (condition)
{
case value1 ;
statement1;
break;
case value2;
statement2;
break;
case value N;
statementn;
break;
default:
statement def;
break;
}
ويمكن توضيح العبارة switch من الشكل التالي:
switch (expression)
{
case constant1: statement1; break;
case constant2: statement2; break;
...............................................
………………………………………
………………………………………
case constant:statement;break;
default last statements;
}
وكما نرى أن الاختيار المتعدد البدائل يبدأ بكلمة (Switch) يليها متغير الاختيار والذي تحدد قيمته الاختيار الذي سيتم تنفيذه، ويلي ذلك قوس بلوك كبير يحتوي داخله بلوكات صغيرة كل منها يمثل اختيارا من البدائل المطروحة وكل بلوك من بلوكات البدائل يبدأ بكلمة(case) متبوعة بقيمة لمتغير الاختيار والتي تمثل الشرط وبعد ذلك تأتي عبارة النتيجة.
ويختتم بلوك البديل بكلمة (break) والغرض منها هو منع الكمبيوتر من تنفيذ عبارة النتيجة التالية. وهنا يتبادر للذهن سؤال - ألم يتحقق الشرط الأول مثلا فماذا يدفع الكمبيوتر لتنفيذ بقية عبارات النتائج ؟
والإجابة عن هذا السؤال هى أن عبارة الإدخال من متعدد البدائل لا ترسل للكمبيوتر أمرا بالتوقف بعد تحقق أى شرط فيها لذا لزم الاستعانة بكلمة (break ).
وبعد نهاية بلوكات البدائل تأتي كلمة (default) متبوعة بعبارة أو بعبارات ينفذها الكمبيوتر في حالة عدم تحقق أى من الشروط السابقة.
👈 مثال (1):
برنامج لطباعة قيمة عندما يتحقق شرط من شروط متعددة باستخدام دالة case
#include < iostream.h>
void main()
{
int s1;
s1=2;
switch (s1)
{
case 2:cout<<"y";
break;
case 3: cout<<"x";
break;
case 4: cout<<"m";
break;
default: cout<<"w";
}
}
وتكون نتيجة البرنامج طباعة حرف(y) وذلك لتحقق الشرط الأول وهو s1=2
👈 مثال (2)
#include <iostream>
using namespace std ;
void main (){
char a;
cin>>a;
switch (a) {
case 'A': {cout<<"exelant";
cout<<endl;break;}
case 'B':{cout<<"v.good";
cout<<endl;break;}
case 'C':{cout<<"good";
cout<<endl;break;}
default:{cout<<"F";
cout<<endl;break;}
} }
الكود باستخدام جمله if:
#include <iostream>
using namespace std ;
void main (){
char a;
cin>>a;
if (a=='A')
cout<<"exelant";
else if (a=='B')
cout<<"v.good";
else if (a=='C')
cout<<"good";
}
🖋 م . أحمد قطران
انتهى ...
⬅ تمارين 2⃣
👈 بإستخدام switch
1) اكتب برنامج لاختبار العدد زوجي ام فردي
2) اكتب برنامج يطبع تقدير الطالب حسب درجته .
3) اعيد تعريف الداله التاليه (قيمة مطلقه)
y=|x-1|
🖋 م . أحمد قطران
👈 بإستخدام switch
1) اكتب برنامج لاختبار العدد زوجي ام فردي
2) اكتب برنامج يطبع تقدير الطالب حسب درجته .
3) اعيد تعريف الداله التاليه (قيمة مطلقه)
y=|x-1|
🖋 م . أحمد قطران
🖋 الدرس 0⃣1⃣
اخذنا في الدروس السابق ادوات الشرط
اليوم ندخل في
⬅ ادوات التكرار
👈 الحلقة for : (for loop)
تستخدم الحلقة for لتكرار أمر معين (أو مجموعة من الأوامر) عددا من المرات وتحتاج الحلقة إلى ثلاث عناصر أساسية كما هو موضح بالشكل التالي:
for(counter statement ; conditino ; step )
وهذه العناصر هى:
• العداد (counter): وظيفته هى تسجيل عدد مرات التكرار.
• الشرط (condition): هو الشرط الذي يحدد نهاية التكرار إذ يظل التكرار قائما حتى ينتفي الشرط.
• الخطوة (step): وهى القيمة التي تحدد عدد مرات التكرار.
مثـال(1):
لتنفيذ حلقة تكرارية لطباعة الأعداد من 1 إلى 20 باستخدام for loop:
#include <iostream.h>
main()
{
int counter;
for (counter=1; counter<=20; counter++)
cout<<counter;
return 0;
}
ومن البرنامج السابق نجد أن الحلقة for بدأت بكلمة (for) متبوعة بقوسين بينهما ثلاثة عبارات تفصل بينها علامة الفاصلة المنقوطة.
العبارة الأولى تخزن القيمة الابتدائية في العداد.
والعبارة الثانية هى الشرط وهنا الشرط أن قيمة العداد أقل من أو تساوى 20.
أما العبارة الثالثة فهى تحدد الخطوة، وفي هذا البرنامج يزداد العداد بمقدار 1 كل مرة تنفذ فيها الحلقة.
والبرنامج السابق ينتج عنه طباعة الأرقام من 1 إلى 20 كالاتي:
1234567891011121314151617181920
ملاحظات:
• العبارات الثلاثة المكونة لحلقة for يجب أن تنفصل عن بعضها بالفاصلة المنقوطة; وهذا الخطأ من الأخطاء الشهيرة جدا في عالم البرمجة لذا وجب توخي الحذر.
• في حالة تكرار أكثر من أمر يتم استبدال العبارة التي تلي بداية الحلقة for في المثال السابق أى (cout<<counter;) ببلوك يحوي العبارات المراد تنفيذها.
الصيغة العامة الثانية لجملة for:
for ( intial- value; condition; increment)
{
statement;
}
ولفهم هذه الصيغة نتابع الأمثلة التالية:
مثال(1):
#include <iostream.h>
int main ()
{
int x,y;
y=-4;
for(x=1;x>y;x=x-2)
{
cout<<x<<endl;
}
return 0;
والناتج سيكون كالآتي:
1
-1
-3
🖋 م . أحمد قطران
يتبع ... 👇
اخذنا في الدروس السابق ادوات الشرط
اليوم ندخل في
⬅ ادوات التكرار
👈 الحلقة for : (for loop)
تستخدم الحلقة for لتكرار أمر معين (أو مجموعة من الأوامر) عددا من المرات وتحتاج الحلقة إلى ثلاث عناصر أساسية كما هو موضح بالشكل التالي:
for(counter statement ; conditino ; step )
وهذه العناصر هى:
• العداد (counter): وظيفته هى تسجيل عدد مرات التكرار.
• الشرط (condition): هو الشرط الذي يحدد نهاية التكرار إذ يظل التكرار قائما حتى ينتفي الشرط.
• الخطوة (step): وهى القيمة التي تحدد عدد مرات التكرار.
مثـال(1):
لتنفيذ حلقة تكرارية لطباعة الأعداد من 1 إلى 20 باستخدام for loop:
#include <iostream.h>
main()
{
int counter;
for (counter=1; counter<=20; counter++)
cout<<counter;
return 0;
}
ومن البرنامج السابق نجد أن الحلقة for بدأت بكلمة (for) متبوعة بقوسين بينهما ثلاثة عبارات تفصل بينها علامة الفاصلة المنقوطة.
العبارة الأولى تخزن القيمة الابتدائية في العداد.
والعبارة الثانية هى الشرط وهنا الشرط أن قيمة العداد أقل من أو تساوى 20.
أما العبارة الثالثة فهى تحدد الخطوة، وفي هذا البرنامج يزداد العداد بمقدار 1 كل مرة تنفذ فيها الحلقة.
والبرنامج السابق ينتج عنه طباعة الأرقام من 1 إلى 20 كالاتي:
1234567891011121314151617181920
ملاحظات:
• العبارات الثلاثة المكونة لحلقة for يجب أن تنفصل عن بعضها بالفاصلة المنقوطة; وهذا الخطأ من الأخطاء الشهيرة جدا في عالم البرمجة لذا وجب توخي الحذر.
• في حالة تكرار أكثر من أمر يتم استبدال العبارة التي تلي بداية الحلقة for في المثال السابق أى (cout<<counter;) ببلوك يحوي العبارات المراد تنفيذها.
الصيغة العامة الثانية لجملة for:
for ( intial- value; condition; increment)
{
statement;
}
ولفهم هذه الصيغة نتابع الأمثلة التالية:
مثال(1):
#include <iostream.h>
int main ()
{
int x,y;
y=-4;
for(x=1;x>y;x=x-2)
{
cout<<x<<endl;
}
return 0;
والناتج سيكون كالآتي:
1
-1
-3
🖋 م . أحمد قطران
يتبع ... 👇
⬅ حلقات التكرار المتداخلة Nested for Loops
وهى تأخذ الصيغة الآتية:
For (…)
For (…) …………….
For (…) …………….
Statements;
وتكون في هذه الحالة الجملة (أو الجمل) جزءا مكررا مرتبطا بالحلقة الداخلية والحلقة الداخلية تتكرر حسب أوامر الحلقة الخارجية وهكذا.
مثال(1):
تنفيذ حلقة داخلية أربعة مرات داخل حلقة تتكرر ثلاث مرات.
#include < iostream.h>
main ()
{
int i,j;
for (i=1;i<=3;++i)
for (j=1;j<=4;++j)
cout<<i*j;
return 0;
}
ونلاحظ في هذا المثال أن الحلقة الخارجية تتكرر ثلاث مرات والحلقة الداخلية تتكرر أربع
مرات لكل قيمة من قيم i أى مجموع الدورانات إثنا عشر مرة.
ويكون الناتج 1234246836912
🖋 م . أحمد قطران
انتهى ....
وهى تأخذ الصيغة الآتية:
For (…)
For (…) …………….
For (…) …………….
Statements;
وتكون في هذه الحالة الجملة (أو الجمل) جزءا مكررا مرتبطا بالحلقة الداخلية والحلقة الداخلية تتكرر حسب أوامر الحلقة الخارجية وهكذا.
مثال(1):
تنفيذ حلقة داخلية أربعة مرات داخل حلقة تتكرر ثلاث مرات.
#include < iostream.h>
main ()
{
int i,j;
for (i=1;i<=3;++i)
for (j=1;j<=4;++j)
cout<<i*j;
return 0;
}
ونلاحظ في هذا المثال أن الحلقة الخارجية تتكرر ثلاث مرات والحلقة الداخلية تتكرر أربع
مرات لكل قيمة من قيم i أى مجموع الدورانات إثنا عشر مرة.
ويكون الناتج 1234246836912
🖋 م . أحمد قطران
انتهى ....
3) برنامج
لحساب مجموع قيم مدخله بحيث كل مره يسال المستخدم هل انتهيت ؟
اذا كانت الاجابه نعم يتوقف ثم يطبع المجموع
#include <iostream>
#include <string>
using namespace std ;
void main ()
{double x=0,sum=0;
char sto='n';
while (sto!='y' && sto != 'Y')
{
cout<<"\n enter the salary to add:\t ";
cin>>x;
sum=sum+x;
cout<<"you are fenished ? (N\\Y) \t";
cin >>sto;
}
cout<<"THANK YOU \n THE SUM = \t"<<sum <<endl;
}
لحساب مجموع قيم مدخله بحيث كل مره يسال المستخدم هل انتهيت ؟
اذا كانت الاجابه نعم يتوقف ثم يطبع المجموع
#include <iostream>
#include <string>
using namespace std ;
void main ()
{double x=0,sum=0;
char sto='n';
while (sto!='y' && sto != 'Y')
{
cout<<"\n enter the salary to add:\t ";
cin>>x;
sum=sum+x;
cout<<"you are fenished ? (N\\Y) \t";
cin >>sto;
}
cout<<"THANK YOU \n THE SUM = \t"<<sum <<endl;
}
🖋 الدرس 1⃣1⃣
⬅ ادوات التكرار
👈 الحلقة (while loop ):
في هذه الحلقة التكرارية نحتاج إلى الشرط فقط وطالما كان هذا الشرط متحققا استمرت الحلقة في التكرار.
والصورة العامة للحلقة while موضحة كما بالشكل التالي:
while (condition )
{
statement 1;
statement 2;
--
--
statement n;
}
حيث الـ (condition):
هو الشرط اللازم لأداء التكرار والعبارات بداخل أقواس البلوكات هى العبارات المراد تكرارها..
مثال (1):
يوضح استخدام الحلقة while لطباعة الأعداد من 1 إلى 20.
#include <iostream.h>
main()
{
int counter=1;
while (counter <=20 )
{
cout<< counter;
counter++;
}
return 0;
}
من المثال السابق يمكننا استخلاص النتائج التالية عن الحلقة while
1. تخصيص القيمة الابتدائية للعداد تتم خارج الحلقة while.
2. زيادة العداد تتم داخل الحلقة while.
ويكون ناتج البرنامج كالتالي:-
1234567891011121314151617181920
🖋 م . أحمد قطران
يتبع 👇 ....
⬅ ادوات التكرار
👈 الحلقة (while loop ):
في هذه الحلقة التكرارية نحتاج إلى الشرط فقط وطالما كان هذا الشرط متحققا استمرت الحلقة في التكرار.
والصورة العامة للحلقة while موضحة كما بالشكل التالي:
while (condition )
{
statement 1;
statement 2;
--
--
statement n;
}
حيث الـ (condition):
هو الشرط اللازم لأداء التكرار والعبارات بداخل أقواس البلوكات هى العبارات المراد تكرارها..
مثال (1):
يوضح استخدام الحلقة while لطباعة الأعداد من 1 إلى 20.
#include <iostream.h>
main()
{
int counter=1;
while (counter <=20 )
{
cout<< counter;
counter++;
}
return 0;
}
من المثال السابق يمكننا استخلاص النتائج التالية عن الحلقة while
1. تخصيص القيمة الابتدائية للعداد تتم خارج الحلقة while.
2. زيادة العداد تتم داخل الحلقة while.
ويكون ناتج البرنامج كالتالي:-
1234567891011121314151617181920
🖋 م . أحمد قطران
يتبع 👇 ....
4) برنامج يدخل المستخدم 5 ارقام اذا كان مجموعهم اقل من 50 يعيد الادخال :
#include <iostream>
#include <string>
using namespace std ;
void main ()
{double x=0,sum=0;
while (sum<50)
{int i=0;
sum=0;
while (i<5)
{cin>>x;
sum=sum+x;
i++;
}
cout<<"\n SUM ="<<sum<<"\t AGEN PLEASE ";
}
cout<<"THANK YOU \n THE SUM = \t"<<sum <<endl;
}
#include <iostream>
#include <string>
using namespace std ;
void main ()
{double x=0,sum=0;
while (sum<50)
{int i=0;
sum=0;
while (i<5)
{cin>>x;
sum=sum+x;
i++;
}
cout<<"\n SUM ="<<sum<<"\t AGEN PLEASE ";
}
cout<<"THANK YOU \n THE SUM = \t"<<sum <<endl;
}
🖋 الدرس 2⃣1⃣
⬅ ادوات التكرار
👈 الحلقة التكرارية (do-while):
تختلف هذه الحلقة عن الحلقتين السابقتين في مكان كتابة الشرط، حيث يكتب الشرط هنا بعد العبارات المطلوب تكرارها.
والصيغة التالية توضح الصورة العامة للحلقة do –while
do
{
statement 1;
statement 2;
--
--
statement n;
}
while (condition)
وأهم ملاحظة على الحلقة التكرارية do- while أنها تنفذ العبارات المطلوب تكراراها مرة واحدة على الأقل حتى ولو كان الشرط غير متحقق !!!
وتفسير ذلك أن التحقق من الشرط يتم بعد التنفيذ وليس قبله كما في الحلقتين السابقتين.
🖋 م . أحمد قطران
انتهى ...
⬅ ادوات التكرار
👈 الحلقة التكرارية (do-while):
تختلف هذه الحلقة عن الحلقتين السابقتين في مكان كتابة الشرط، حيث يكتب الشرط هنا بعد العبارات المطلوب تكرارها.
والصيغة التالية توضح الصورة العامة للحلقة do –while
do
{
statement 1;
statement 2;
--
--
statement n;
}
while (condition)
وأهم ملاحظة على الحلقة التكرارية do- while أنها تنفذ العبارات المطلوب تكراراها مرة واحدة على الأقل حتى ولو كان الشرط غير متحقق !!!
وتفسير ذلك أن التحقق من الشرط يتم بعد التنفيذ وليس قبله كما في الحلقتين السابقتين.
🖋 م . أحمد قطران
انتهى ...
🖋 الدرس 9⃣
⬅ أداة الشرط:
👈 الاقتران الشرطي :
وهى أداة سريعة وهى مكافئة لعبارة (if......else)
وصورتها العامة هى:
Variable=(condition)? Result1:result2;
ومعناها: أنه يتم تنفيذ النتيجة الأولى result 1 عندما يكون جواب الشرط condition متحققا (true) وإلا فيتم تنفيذ النتيجة الثانية resulte2 عندما يكون جواب الشرط .(false)
وهو من مميزات ومسهلات البرمجة بلغة c++ فما هو الاقتران الشرطي وكيف كتابتة واستخداماته
صحيح انة يعمل عمل مشابة جدا لعمل if وذلك لانة يحتوي على شرط ؛
يكتب كالتالي :
(شرط)؟نعم : لا ;
ومن اجل فهم العمل بكل سهولة اليك المثال التالي اولا لنعرف متغير من اجل تطبيق الشرط علية
1. int x=5;
2.(x>3 )? cout<<"u are wellcom" : cout<<" 3.error" ;
لاحظ في السطر الثاني قام البرنامج بفحص ما داخل الاقواس وعلية قام بطباعة الجملة التي قبل علامة : لانها هي التي تنفذ في حالة تحقق الشرط واما ما بعدها فينفذ في حالة لم يتحقق شرط مثلما في المثال التالي
int x=1;
(x>3 )? cout<<"u are wellcom" : cout<<" error" ;
ستلاحظ طباعة كلمة error وذلك لان الشرط لم يتحقق لان قيمة x اصغر من 3
من هنا نعلم ببساطة هذه الجمله
لاكن دعنا نقوم بعمل مختلف على هذه الجملة مثلا
١. int x=10, y;
٢. y = (x>6) ? 3 : 8 ;
٣. cout << y ;
لاحظ في السطر الاول اسندنا قيمة للمتغير x ب 10 ولم نسند قيمة للمتغير y و لاكن قمنا باسناد إحدى القيمتين 3 او 8
وذلك مرتبط بقيمة الشرط فإذا تحقق الشرط تسند القيمة 3 للمتغير y واما ان لم يتحقق الشرط ستند القيمة 8 للمتغرy
بما انك استوعبت فكرة عمل هذه الجملة حاول معرفة عمل الجملة التالية
int x=12, y=10;
char z;
z=(y > x)? "u" : " r" ;
اكيد انك عرفت قيمت المتغير z والذي هو r
🖋 م . أحمد قطران
انتهى ....
⬅ أداة الشرط:
👈 الاقتران الشرطي :
وهى أداة سريعة وهى مكافئة لعبارة (if......else)
وصورتها العامة هى:
Variable=(condition)? Result1:result2;
ومعناها: أنه يتم تنفيذ النتيجة الأولى result 1 عندما يكون جواب الشرط condition متحققا (true) وإلا فيتم تنفيذ النتيجة الثانية resulte2 عندما يكون جواب الشرط .(false)
وهو من مميزات ومسهلات البرمجة بلغة c++ فما هو الاقتران الشرطي وكيف كتابتة واستخداماته
صحيح انة يعمل عمل مشابة جدا لعمل if وذلك لانة يحتوي على شرط ؛
يكتب كالتالي :
(شرط)؟نعم : لا ;
ومن اجل فهم العمل بكل سهولة اليك المثال التالي اولا لنعرف متغير من اجل تطبيق الشرط علية
1. int x=5;
2.(x>3 )? cout<<"u are wellcom" : cout<<" 3.error" ;
لاحظ في السطر الثاني قام البرنامج بفحص ما داخل الاقواس وعلية قام بطباعة الجملة التي قبل علامة : لانها هي التي تنفذ في حالة تحقق الشرط واما ما بعدها فينفذ في حالة لم يتحقق شرط مثلما في المثال التالي
int x=1;
(x>3 )? cout<<"u are wellcom" : cout<<" error" ;
ستلاحظ طباعة كلمة error وذلك لان الشرط لم يتحقق لان قيمة x اصغر من 3
من هنا نعلم ببساطة هذه الجمله
لاكن دعنا نقوم بعمل مختلف على هذه الجملة مثلا
١. int x=10, y;
٢. y = (x>6) ? 3 : 8 ;
٣. cout << y ;
لاحظ في السطر الاول اسندنا قيمة للمتغير x ب 10 ولم نسند قيمة للمتغير y و لاكن قمنا باسناد إحدى القيمتين 3 او 8
وذلك مرتبط بقيمة الشرط فإذا تحقق الشرط تسند القيمة 3 للمتغير y واما ان لم يتحقق الشرط ستند القيمة 8 للمتغرy
بما انك استوعبت فكرة عمل هذه الجملة حاول معرفة عمل الجملة التالية
int x=12, y=10;
char z;
z=(y > x)? "u" : " r" ;
اكيد انك عرفت قيمت المتغير z والذي هو r
🖋 م . أحمد قطران
انتهى ....
مقرر_مهارات_الاتصال_سنة_اولى_جامعة_ذمار.pdf
1.4 MB
Emailing مقرر مهارات الاتصال_سنة اولى_جامعة ذمار.pdf