بسم الله الرحمن الرحيم
وددت القول بأن لغة السي++ تحتاج الكثير من التمارين , على الأقل ما يستطيع نضرك الوقوع عليه.
لغة البرمجة هذه ليس ككل اللغات , عليك أن تعرف بأنك تتعلم أقوى وأوسع وأسرع لغة برمجة
بالعالم , وهي واسعة بشكل ربما تتخيله.
إذا أردت ان تتمكن من هذه اللغة , الإكتفاء بالتعلم النظري ( الحفظ دون الفهم ) لا يجدي أبداااا , عليك
بالتمارين ثم التمارين بقدر ما تستطيع.
إن شاء الله , سوف تكون هذه المحاضرة تمارين للمحاضرات السابقة.
سوف نتاول على الأقل مجموعتين من التمارين..
وآمل من لديه تمرين أو اكثر في نفس مواضيع المحاضرات السابقة ( 1-7 ) أن يقوم بطرحها.
المجموعة الأولى :
المجموعة الثانية :
قبل البدء في مناقشة اسئلة المجموعات , سوف نطرح سؤالين اعداديين كالتالي :
السؤال الأول
ماذا يطبع الكوديين التاليين ...
الكود الأول
1 // Exercise 4.12: ex04_12.cpp
2 // What does this program print?
3 #include <iostream>
4 using std::cout;
5 using std::endl;
7 int main()
8 {
9 int y; // declare y
10 int x = 1; // initialize x
11 int total = 0; // initialize total
12
13 while ( x <= 10 ) // loop 10 times
14 {
15 y = x * x; // perform calculation
16 cout << y << endl; // output result
17 total += y; // add y to total
18 x++; // increment counter x
19 } // end while
20
21 cout << "Total is " << total << endl; // display result
22 return 0; // indicate successful termination
23 } // end mainالكود الثاني
1 // Exercise 4.22: ex04_22.cpp
2 // What does this program print?
3 #include <iostream>
4 using std::cout;
5 using std::endl;
6
7 int main()
8 {
9 int row = 10; // initialize row
10 int column; // declare column
11
12 while ( row >= 1 ) // loop until row < 1
13 {
14 column = 1; // set column to 1 as iteration begins
15
16 while ( column <= 10 ) // loop 10 times
17 {
18 cout << ( row % 2 ? "<" : ">" ); // output
19 column++; // increment column
20 } // end inner while
21
22 row--; // decrement row
23 cout << endl; // begin new output line
24 } // end outer while
25
26 return 0; // indicate successful termination
27 } // end mainملاحظة : تتبع اسطر البرنامج بدون تنفيذه على المترجم , فالفائدة اولا واخيرا تمرينك على حل البرامج
السؤال الثاني
مضروب العدد هو حاصل ضرب تعداده
مثلا , مضروب الخمسة( !5 ) سوف يكون 5 * 4 * 3 * 2 * 1 = 120
ايضا , مضروب الثلاثة ( !3 ) سوف يكون 3 * 2 * 1 = 6
هناك ثوابت رياضية وهي ان مضروب الصفر يكون واحد دائما , وكذلك مضروب الواحد يساوي واحد.
اكتب برنامجا يقوم بحساب قيمة e
e = 1/1! - 3/3! + 5/5! -7/7! +n/!n
عند مناقشة المجموعات , لن يتم كتابة برنامج كامل , بل سوف يتم مناقشة اجزاء من البرنامج تمثل
مفاتيح الحل لكتابة برنامج كامل.
اسعد في تلقي تساؤلاتكم , فلا ترددو في أبداء أي سؤال.
المحاضرة القادمة سوف تكون اجازة العيد الأضحى , لذلك سوف نتوقف لنستأنف في الجمعة التي تليها.

