![]() |
![]() |
![]() |
![]() |
![]() |
|
|
![]() |
![]() |
![]() |
||||||||||||
| الواجهة الرئيسة | رسائل SMS | أعلن معنا |
|
|
|||||||||||||||||||
|
|||||||||||||||||||||
|
|
#1 |
![]() |
قبل البدأ بالدرس الثاني .. كل عامٍ وأنتم بخير .. كل عامٍ وأنتم إلى الله أقرب وعلى طاعته أدوم .. كل سنة وانتوا طيبين ![]() أحب أن أشكر كل من شارك معنا في الدرس الأول ، وكل من قام بجل الواجبات ( الشطار ) – سواءً كانت صحيحة أم خاطئة – :• مبدع وسائط . • Programmer . • الصريحة . • j@va_girl . • بريق أمل . • أبو أنس . • أرياف . الواجبات الصحيحة : • Programmer . • بريق أمل . • أرياف . • j@va_girl . وكذلك واجب الأخت صريحة .. كانت فكرته صحيحة 100% ولكنه كان يحتوي على بعض الأخطاء البسيطة اللتي تعيق تنفيذ البرنامج مثل نسيان الفاصلة المنقوطة .آلمني أن معظم من شارك معنا هم من ذوي الخبرة أو المتعلمين ، بينما لا أرى أثراً لمن تعلم شيئاً جديداً !!كلي أملُ في أن تعم الفائدة . أما بالنسبة للواجب فإن حله بسيط جداً ، 3 أو 4 أسطر فقط .. أستعرض هنا الحل اللذي قام به الأخ أرياف ، وهو من أبسط الحلول وأسهلها كود:
# include <iostream.h>
void main()
{
int x1,x2,x3,x4;
cout<<" Please Enter 4 numbers ";
cin>> x1>>x2>>x3>>x4;
cout<<" sum = "<<x1+x2+x3+x4<<endl;
cout<<" sub= "<< x1-x2-x3-x4<<endl;
}
شرح الحل : • في البداية فتحنا ملف أو مكتبة iostream حتى نتمكن من إستخدام الـ cin و cout . • كتبنا الجملة اللتي نكتبه في كل برنامج كود:
void main ( void ) ومن الممكن كتابتها على الشكل المكتوب في برنامج أرياف . • فتحنا أقواس البرنامج . • قمنا بتعريف المتغيرات الأربعة وهي عبارة عن الأماكن اللتي ستفتح في ذاكرة الكمبوتر حتى يتمكن المستخدم من إدخال الأربع أعداد . • قمنا بطباعة عبارة " Pleas enter 4 number " حتى يفهم المستخدم أن المطلوب منه إدخال أربع أرقام . • استخدمنا cin لكي يبدأ المستخدم بإدخال الأعداد الأربعة . • بعد ذلك قمنا بطباعة ناتج الجمع x1+x2+x3+x4 وأضفنا قبلها عبارة SUM= حتى يرى المستخدم أن هذه هي نتيجة الجمع . • استخدمنا الأمر endl لكي ينزل البرنامج سطر للأسفل . • وأخيراً قمنا بطباعة ناتج الطرح كما فعلنا مع الجمع ثم أغلقنا قوس البرنامج . وهذا كل ما في الأمر !! أظنه سهلاً .. حسناً دعونا نتعمق الآن بعض الشيء .. مع ادرس الثاني : GO [frame="1 80"] ========= الدرس الثاني ========= [/frame]العمليات الحسابية في لغة السي بلس بلس .. في لغة السي بلس بلس نستخدم رموز معروفة للعمليات الحسابية مثل الجمع والطرح والضرب ....... إلخ . [frame="3 80"] = = علامة المساوة + علامة الجمع . - علامة الطرح . * علامة الضرب . / علامة القسمة . % علامة إيجاد الباقي من القسمة .[/frame] فمثلاً .. لو أردنا كتابة المعادلة التالية بـ لغة البرمجة .. R = 5 × 6 + ( y ÷ 4 ) -3 ستكون بالشكل التالي : R = ( (5 * 6 ) + ( y / 4 ) -3 ) س / مالفرق إذا بين علامة المساواة الواحدة ( = ) وعلامة المساواة الثنائية ( = = ) ؟؟ إن علامة المساواة الواحد تستخدم لعملية وضع قيمة .. يعني نريد أن نضع قيمة x في y ، على سبيل المثال ، في البرنامج التالي : كود:
# include <iostream.h>
void main ( void )
{
int x = 5 ;
int y = 6 ;
int z ;
z = x + y ;
cout << z ;
}
ثم سيقوم بوضع القيمة 5 في مكان x بالذاكرة .. ويضع القيمة 6 في مكان y بالذاكرة .. وأخيراً يقوم بجمع القيمة الموجودة داخل x مع القيمة الموجودة داخل y ويضع الناتج في مكان z بالذاكرة .. ولذلك .. عندما نقوم بطباعة z سيكون الناتج 11 . أما علامة المساواة الثنائية .. فإن أغلب استخداماتها في المقارنة .. فمثلاً عندما نقول أن كود:
R = = x + y ; أتمنى أن يكون الأمر قد اتضح الآن . دعونا نعود مرةً أخرى للبرنامج السابق : كود:
# include <iostream.h>
void main ( void )
{
int x = 5 ;
int y = 6 ;
int z ;
z = x + y ;
cout << z ;
}
عندما يأتي البرنامج لينفذ السطر التالي : كود:
Z = x + y ; فإنه سيقوم بـ ((( نسخ ))) القيمة الموجودة داخل x ونفس الأمر مع y ثم يجمعهما ويضع الناتج في مكان z بالذاكرة . إذا يقوم البرنامج بنسخ القيم ، ولا ينقل القيم ، لأنه لو نقل القيم لأصبح بعد تنفيذ البرنامج مكان x و y فارغاً .. وبالتالي لو استخدمنا x مرة أخرى في نفس البرنامج فإن قيمتها ستكون صفر ، لذلك يقوم البرنامج بنسخ القيم وليس نقلها . حسناً .. الآن لنتأمل الأربع الجمل التالية .. كود:
1) X = X + 1 ; 2) X ++ ; 3) ++ X ; 4) X+ =1 ; .. كود:
5) X = X + 1 ; 6) X ++ ; 7) ++ X ; 8) X+ =1 ; إن تلك الجمل الأربعة معناها واحد في لغة سي بلس بلس .. ومعناها .. أن نقوم بزيادة قيمة x بمقدار واحد 1 . يعني لو كانت x تساوي خمسة .. بعد تنفيذ أيٍ من الجمل الأربعة السابقة .. ستكون قيمة x تساوي ستة . لكن .. هناك اختلاف بسيط بين الجملتين الثانية والثالثة .. قد يؤدي هذا الإختلاف إلى قلب المعنى تماماً .. ولكني لن أتطرق إلى شرح ذلك الإختلاف .. لأن شرحه صعب وفهمه أصعب بكثير جداً .. وما زلنا في البداية ، ولا أريد أن ينصدم الأعضاء بأشياء لا يفهمونها ، لكن من يريد مني شرح هذه النقطة سأشرحها له وله فقط ، وهي ضرورية مثلاً للطالب في الجامعة حيث يتفنن بعض الأسلتذة أو الدكاترة بتلك الأسئلة في الإمتحانات !! لذلك سنعبر تلك النقطة إلى ما بعدها .. أولويات العمليات الحسابية .. وهذا يعني : أنه إذا تعرضنا لعملية حسابية معينة تحتوي على ضرب وقسمة وجمع و..... إلخ ، فإننا سنقوم بتنفيذ العمليات بالترتيب كما هو موضح في الجدول أعلاه . ملاحظة : إذا تعارضت عمليتان حسابيتان لهما نفس الأولوية فإننا نقوم بتنفيذ العملية الأقرب لليسار .. فمثلاً .. لو جاءت عملية تحتوي على ضرب وقسمة .. فسنقوم بتنفيذ العملية الأقرب لليسار لأن الضرب والقسمة لهما نفس الأولوية . عمليات المقارنة .. تعتبر من أهم العمليات .. وتحتوي على رموز سهلة وبسيطة : كود:
> أكبر من < أصغر من <= أكبر من أو يساوي >= أصغر من أو يساوي = = يساوي =! لا يساوي ونستخدم عمليات المقارنة كثيراً في أدوات الشرط .. الجمل الشرطية .. الجمل والأوامر الشرطية .. تعني أننا نعطي للبرنامج شرط ، وإذا تحقق هذا الشرط ينفذ البرنامج شيء معين ، أما إذا لم يتحقق ينفذ شيء آخر .. ومن أشهر الجمل الشرطية اللتي سنستخدمها بإذن الله .. جملة if ... else ... وجملة SWITCH الأمر If …. Else …. هذا الأمر بمعنى : لو حدث كذا ( ونعطيه الشرط المطلوب ) افعل كذا ( ونعطيه ما ينبغي فعله في حالة حدوث الشرط ) وإلا كذا ( فإن لم يتحقق الشرط يفعل شيء آخر ) ولفهم هذا الأمر جيدا .. سنقوم بتطبيقه على مثال عملي ثم نشرحه .. مثال : اكتب برنامج اختبار لدرجة الطلاب .. بحث يدخل المستخدم الدرجة ، ولو كات هذه الدرجة أكبر من أو تساوي الخمسين فإن البرنامج يخبرنا بأن الطالب ناجح ، وإذا كانت أقل من 50 يخبرنا البرنامج بأن الطالب راسب . كود:
# include <iostream.h>
void main ()
{
float k ;
cout << " Pleas Enter the mark ? " ;
cin >> k ;
if ( k >= 50 )
cout << "\n the student Sucsseful" ;
else
cout << " \n the student Filled " ;
}
شرح المثال : • في البداية قمنا بتعريف المتغير اللذي سيفتح مكان في الذاكرة ليمكننا من إدخال الدرجة . • بعد ذلك سنطبع على شاشة عبارة يفهم منها المستخدم أن المطلوب منه إدخال الدرجة . • استخدمنا cin لبدأ إدخال الدرجة ووضعها في الذاكرة في مكان المتغير k . • الآن لاحظ التالي : استخدمنا if لكي نقارن الدرجة المدخلة هل هي أكبر من أو تساوي الخمسين أم أصغر ؟ ... وضغنا الدرجة k ثم علامة المقارنة أكبر من أو يساوي ثم رقم 50 وهو الرقم الفاصل اللذي سيحدد لنا . لاحظ .. أننا لم نضع فاصلة منقوطة بعد عبارة if لأنها من الإستثنائيات اللتي تحدثنا عنها في الدرس الأول . • نعود لبرنامجنا .. إذا تحقق الشرط .. أي كانت الدرجة أكبر من أو تساوي الخمسين سنقوم بطباعة الأمر ما بعد if وإن لم يتحقق سنقوم بفعل ما بعد else . • وهكذا انتهى البرنامج بإغلاق القوس . ملاحظات عامة : 1 - لا يشترط كتابة else في جملة if فالبرنامج السابق مثلاً يمكن كتابته على الشكل التالي : كود:
# include <iostream.h>
void main ()
{
float k ;
cout << " Pleas Enter the mark ? " ;
cin >> k ;
if ( k >= 50 )
cout << "\n the student Sucsseful" ;
if ( k< 50 )
cout << " \n the student Filled " ;
}
وهنا سيقوم البرنامج بقراءة جملة if الأولى فإذا تحقق الشرط ينفذ ما فيها ، وإن لم يتحقق فسينفذ ما بعد جملة if ، وحينها سينتقل لجملة if الثانية .... وهكذا . 2- من الممكن تنفيذ عدة أوامر في حال تحقق شرط if ولا يشترط أمر واحد .. القاعدة التالية مع شرحها ستوضح الكثير بإذن الله .. في الأسطر التالية : كود:
If ( K >= 3 ) Cout << "\n you typed " ; جملة 1 Cout << " Yassmean " ; جملة 2 لاحظ الآتي :• لو تحقق شرط جملة if سيقوم البرنامج بتنفيذ الجملتين . • لو لم يتحقق الشرط سيقوم البرنامج بتنفيذ الجملة الثانية وترك الجملة الأولى . • لجعل البرنامج لا ينفذ الجملتين في حالة عدم تحقق الشرط يتم وضع أقواس على الشكل التالي : كود:
{ cout<<"\n……….
cout ……....."Yassmean"; }
قاعدة : ( و – أو ) ماذا لو أردنا وضع أكثر من شرط في جملة if حينها يجب أن نستخدم أحد الأداتين and أو الأداة or ... الفرق بين الأداتين : And : ورمزها && و تشترط أن يتحقق كل الشروط الموجودة في جملة if . Or : ورمزها || و تشترط تحقق واحد على الأقل من الشروط الموجودة داخل جملة if . مثال : لو أردنا كتابة برنامج يقوم بحساب تقدير طالب جامعي بحيث يطبع لنا تقدير A المحصور بين الدرجات من 95 وحتى 100 كود:
# include <iostream.h>
void main ( void )
{
float x ;
cin >> x ;
if ( ( x >= 95 ) && ( x < 100 ))
{ cout<< " A " ; }
}
لاحظ : استخدمنا هنا الأداة and لأنه يجب أن يتحقق الشرطان حتى نتمكن من طباعة التقدير A . ========== الأمر switch يعتبر من أسهل الأوامر .. وسنأخذه في آواخر دروس الدورة بإذن المولى عز وجل . =============== إلى هنا يكون درسنا الثاني قد انتهى .. موعدنا في الدرس القادم مع أوامر التكرار ( LooP ) وهي مهمة جداً .. صحيح ... عشان منساش برضه .. لازم أديكم واجب .. وواجب صعب كمان .. ![]() ![]() هاهاها .. لا مش صعب ولا حاجة .. لكن هيكون محتاج مننا إن إحنا نشغل مخنا شوية ![]() الواجب عبارة عن سؤالين : السؤال الأول : اكتب برنامج بلغة C++ يقوم بحساب مربع العدد N بحيث يخرج ناتج البرنام على الشكل التالي : مربعه ............... العدد السؤال الثاني : اكتب برنامج يقوم بالتحويل من الإنش إلى السنتيمتر والعكس حسب ما يطلب المستخدم ، مع العلم أن كل إنش واحد يحتوي على 2.54 سم . السؤال التاني فيه فكرة بسيطة ، بس اللى يفكر هيجيبها بسهولة إن شاء الله .. أترككم في أمان الله .. موعدنا في الدرس القادم بإذن الله .. الدورة تعمل على نفس القواعد اللتي ذكرناها سابقاً .. باب الأسئلة مفتوح .. الواجبات تكون في ملف مرفق txt أو cpp .. من الأمانة عدم تحميل واجب ليس واجبك . ============ نهاية الدرس الثاني ============ |
|
|
|
|
|
#2 |
![]() ![]() ![]() ![]() ![]() |
ماشاء الله نزل الشرح الثاني
![]() |
|
|
|
|
|
#3 |
![]() |
مشرفنا و أستاذنا مبدع ..
بالنسبة لبرنامجك .. فعلاً مشتغلش ..لكن أتوقع لأننا نستخدم الفيجوال C++ المقدمة من مايكروسوفت .. وليس البورلاند أو التيربو !! أما بالنسبة للشعار فألف شكر .. بس أنا للأسف .. ما أستخدم الفوتوشوب !!!!!!!!!!!!!!!!!!!! لكن حبيت أستفسر عن حاجة .. هو الفوتوشوب بيقرأ ملفات الأكروبات ؟؟ و.... بس .. كل سنة وانت طيب .. ويا ريت ما تحرمناش مشاركتك في الدرس الثاني .. تحياتي لك .. ![]() ========= |
|
|
|
|
|
#4 |
![]() |
السلام عليكم
يالله هذا واجبي من شفت الدرس الثاني نازل حليته وترا بمناسبة نجاحي في الواجب الاول وبمناسبة العيد السعيد ![]() خذوا هالعيدية ![]() بس شرط اول واحد يقطع الكيكة عمنا الباش مبرمج(((مسلم معاون))) |
|
|
|
|
|
|
|
|
#5 |
![]() ![]() ![]() ![]() ![]() |
هذا حلي بدون ما أجربه
![]() |
|
|
|
|
|
|
|
|
#6 |
![]() ![]() ![]() ![]() ![]() |
سبقني Programmer
![]() |
|
|
|
|
|
#7 | |
![]() ![]() ![]() ![]() ![]() |
كود:
cout<<"Yes .. :)"; |
|
|
|
|
|
|
#8 |
![]() ![]() ![]() ![]() ![]() |
اللي خلاني أتأخر أني أحطه بملف txt
|
|
|
|
|
|
#9 |
![]() |
..
إيه ده !!!!!!! يدوبك .. كتبت الموضوع .. ورديت على مبدع وسائط وعملت رستارت للجهاز عشان أشوف حاجة .. علطول ألاقيك يا Programmer باشا حليت الواجب !! شكلك كدة مخترق جهازي وشايفني وأنا بكتب !!! ![]() وبعدين يا أخي حرام عليك .. بطل إبداعات شوية .. كل شوية إبداع .. إبداع .. إبداع .. حتى في حلك للبرنامج إبداع .. ![]() خلاص ملكش خيار .. لازم تيجي انت تدينا دروس ![]() ومرسي إلك حبيبي على التورتة الجميلة دي .. تحياتي لك .. ![]() ================== أستاذ مبدع .. يا باشا انت مش محتاج تجرب البرنامج .. انت تعمله وهو أكيد راح يكون صح ![]() ..ربنا يكرمك يا أستاذ مبدع .. بانتظار البرنامج التاني .. تحياتي لكم جميعاً .. ![]() ![]() |
|
|
|
|
|
#10 |
|
عضوية الوسام
|
جزاك الله خيـــــرا على الموضوع الرائع .... بارك الله في جهد ... بالتــــوفيــــــق .... أخوك / الليث |
|
|
|
|
|
#11 |
![]() ![]() ![]() ![]() ![]() |
فيه سؤال ثاني ...توني أشوفه بسبب الألوان ..
الحل شبيه باللي قبله ما جربت البرنامج لأن ما عندي إلا turbo c++ و c++ .net وإلا ودي أجرب ![]() |
|
|
|
|
|
#12 |
![]() |
.. باااااااااك سريييييع .. ========= أخوي الليث .. جزانا وإياكم كل خير .. كلي أمل أن تتابعنا في دورتنا .. وأشكرك جزيل الشكر على تصاميمك الرائعة .. ======== إيه رأيك أستاذ مبدع في الحركة .. الألوان دية تمويه عشان الناس تتلخبط ![]() ![]() المهم حاول تنزل الفيجوال C++ لأنه هيفيدك بإذن الله .. بس مشفتش أي حل ؟! ========= التصميم التالي .. قام بعمله أخونا الليث بارك الله لنا فيه ========= |
|
|
|
|
|
#13 |
![]() |
تم حل السؤال على النوتباد بدون تجربة لاني استخدم جهاز لا يحوي على البرنامج...
بارك الله اخي مسلم معاون في جهودكم الرائعة... نفع الله بكم.. وتحياتي.. ![]() |
|
|
|
|
|
|
|
|
#14 |
![]() ![]() ![]() ![]() ![]() |
أخي مسلم معاون
وجدت عندي على الجهاز Microsoft visual studio 2005 نازل مع الـ sql بس ما فيه شيء يبرمج C++ |
|
|
|
|
|
#15 |
![]() |
تقبل الله منا ومنكم صالح الاعمال .. بارك الله لكم جهودكم أخي الفاضل واعانكم وسددكم .. وفضلاً لا أمراً ياليت تقسم الدرس على كذا رد لأتمكن من ترتيب الافكار .. |
|
|
|
|
|
|
|
|
#16 |