مشاركة: :: مشروع لتعليم أساسيات ++C :: موضوع الردود و الأسئلة
السلام عليكم و رحمة الله تعالى و بركاته
هل يمكنك أن تعطيني رأيك في هذا البرنامج الذي قمت بعمله
شكرا مقدما
مشاركة: :: مشروع لتعليم أساسيات ++C :: موضوع الردود و الأسئلة
اقتباس:
المشاركة الأصلية كتبت بواسطة ThE* DaRk *SiDe
السلام عليكم ورحمة الله وبركاته
أحييك أخوي على موضوعك المفيد وأود أن تضيفني معكم.
الاسم عبدالعزيز
السن 17
المرحله الدراسية أول ثانوي
اللغات :لدي خلفية في الفيجوال بيسك.
المطلوب أريد تعلم C++
كما أن لدي بعض الأستفسارات
هل أحل تمارين الدرس الثاني وأسلمها لك؟أنا أستطعت حل بعضها.
هل من الممكن أن تتوقفوا قليلا لكي يستطيع الأعضاء الجدد أمثالي اللحاق بكم ،لأني بدل أن أقرأ درس في الأسبوع أقرأ درس في اليوم كما أن لدي أمتحانات؟ والأمر عائد لكم.
أرجوا أن تضيفني إلى القائمة وشــــــــــــكرا . :)
أهلاً و سهلاً بك .. و أتمنى لك أن تجد الفائدة معنا ..
القائمة :
1- son of Qatar .
2 - habash1986 .
3 - Son Of UAE .
4 - SONIC4ANIME .
5 - asf4ever .
6 - ^عبدالعزيز..ع^ .
7 - kokekemo .
8 - UAE Naruto .
9 - عنان 2005 .
10- ستو كايبا .
11 - Imaj .
12 - banan 86 .
13 - عبدالله..ع .
14 - the unforgiven .
15 - الرقمي .
16 - رنجوجيت .
17 - BoWalaaad .
18 - IWANTYOURHELP .
19 - yaser_xp .
20 - Night_3 .
21 - SomeABD .
22 - هاني الفقي .
23 - XxmanX .
24 - drbmsh .
25 - flent10 .
26 - ThE* DaRk *SiDe .
بالنسبة للتمارين الموجودة في الدرس الثاني .. لقد قمت بحلها في الدرس الثالث منذ مدة .. لذلك ليس هناك فائدة من حلها مرة أخرى من قبل الأعضاء إلا إذا أرادوا أن يختبروا نفسهم إن كان حلهم صحيح أم .
و أنا أنصح أن تحلوا الأسئلة بأنفسكم ثم تشاهدوا الحل الموجود .. لكي تعرفوا الفروقات ..
و بالنسبة للتوقف في وضع الدروس .. لا أستطيع التأخر أكثر من ذلك .. حيث أنني أضع درس في كل أسبوع تقريباً ( مع أني توقفت الشهر الماضي كله عن كتابة الدروس ) .. لذلك أنصح بأخذ الموضوع كأي موضوع آخر لم ينتهي بعد و هو في طور التجديد .. و حاولوا القراءة بتأني فلا تستعجلوا .. لأني عند كتابتي للدرس أحرص على ذكر كل كلمة مناسبة تشرح الفقرة التي نتكلم عنها ..
بالتوفيق :)
اقتباس:
المشاركة الأصلية كتبت بواسطة Night_3
السلام عليكم و رحمة الله تعالى و بركاته
يا أخي أقول لك أن الكود لا يظهر عندي فتقول لي راجع الدرس كذا ..:06:
لقد فهمت سابقا دور جملة السويتش و نسيت الغاء ذلك السؤال ..
شكرا على مساعدتك عموما ..
أنا ما زلت في درس حلقات التكرار فهل يمكنكم أن تتأخروا قليلا حتى أستطيع مجاراتكم ؟
لقد نجحت في حل 4 أسئلة من الامتحان ما عدا سؤال ايجاد الأعداد الأولية لأني استعملت حسابات معقدة (يكون العدد أوليا اذا و فقط اذا كان لا يقبل القسمة على جميع الأعداد الأولية التي مربعاتها أصغر منه )..
و لهذا ضعت مع المربعات و و و و ..:boggled:
و قمت بادخال الكثير من الأعداد الأولية لتخزينها لاجراء القسمة عليها :09:
المهم تعلمت من ذلك أن أفكر مرتين قبل الشروع في عمل برنامج ما ..
و السلام
صدقني لا أعرف حل لمشكلتك :33: اسأل الإداريين في منتدى الإقتراحات و الشكاوي و ستجد الإجابة .
و أيضاً بالنسبة لسؤالك حول التأخر في وضع الدروس .. انظر ردي للأخ ThE* DaRk *SiDe .. في هذا الرد .
و جيد أاك حللت 4 أسئلة من بين 5 :) .. بالتوفيق .
اقتباس:
المشاركة الأصلية كتبت بواسطة Night_3
السلام عليكم و رحمة الله تعالى و بركاته
هل يمكنك أن تعطيني رأيك في هذا البرنامج الذي قمت بعمله
شكرا مقدما
البرنامج جيد كبداية لك في البرمجة :) و المهم هو فهمك لطريقة صياغة الحل بحيث تحول مشكلة ما في الحياة إلى كود وهذا هو المطلوب ..
لقد حللنا في الدرس الثاني برنامج يقوم بحل معادلة من الدرجة الثانية .. و هو بنفس طريقة برنامجك و لكنه لا يعطيك خطوات الحل كما فعلت أنت .. بل يضع الإجابة فوراً .. و تلك الفكرة جيد جداً :) .. بالتوفيق .
مشاركة: :: مشروع لتعليم أساسيات ++C :: موضوع الردود و الأسئلة
السلام عليكم
لقد حللت المشكلة ;)
لقد استبدلت الاكسبلورر بالمتصفح فايرفوكس ..:bigeyes:
فعلا لقد أثبتت مايكروزفت فشلها بكل جدارة ..:biggthump
هنيئا لها .. :biglaugh::laugh::laugh2::laughing:
أنصح كل مستخدمي الاكسبلورر أن ينتقلوا الى فايرفوكس لأنه بحق متصفح قدير و هو الأول من ناحية السكيورتي خصوصا بعد أن اعترف بيل جيتس بوجود ثغرتين مقصودتين في الاكسبلورر ..:vereymad:
مشاركة: :: مشروع لتعليم أساسيات ++C :: موضوع الردود و الأسئلة
اقتباس:
المشاركة الأصلية كتبت بواسطة Wolf Sniper
و بالنسبة للتوقف في وضع الدروس .. لا أستطيع التأخر أكثر من ذلك .. حيث أنني أضع درس في كل أسبوع تقريباً ( مع أني توقفت الشهر الماضي كله عن كتابة الدروس ) .. لذلك أنصح بأخذ الموضوع كأي موضوع آخر لم ينتهي بعد و هو في طور التجديد .. و حاولوا القراءة بتأني فلا تستعجلوا .. لأني عند كتابتي للدرس أحرص على ذكر كل كلمة مناسبة تشرح الفقرة التي نتكلم عنها ..
بالتوفيق :)
صدقني لا أعرف حل لمشكلتك :33: اسأل الإداريين في منتدى الإقتراحات و الشكاوي و ستجد الإجابة .
و جيد أاك حللت 4 أسئلة من بين 5 :) .. بالتوفيق .
البرنامج جيد كبداية لك في البرمجة :) و المهم هو فهمك لطريقة صياغة الحل بحيث تحول مشكلة ما في الحياة إلى كود وهذا هو المطلوب ..
لقد حللنا في الدرس الثاني برنامج يقوم بحل معادلة من الدرجة الثانية .. و هو بنفس طريقة برنامجك و لكنه لا يعطيك خطوات الحل كما فعلت أنت .. بل يضع الإجابة فوراً .. و تلك الفكرة جيد جداً :) .. بالتوفيق .
السلام عليكم
شكرا على تشجيعاتك
هذه ثمار دروسك يا معلم :icon6:
سأحاول أن أعوض ما فاتني الآن
و الى ذلك احب أن تتلطف و تعيد شرح درس استعمال حلقات فور و وايل المتداخلة في رسم الاطارات:shock22:
بليييييييييييييز :17:
اذا اردت أن أكتب داخل تلك الاطارات .. هل يمكنني فعل ذلك ؟ :06:
شكرا مقدما
و السلام
مشاركة: :: مشروع لتعليم أساسيات ++C :: موضوع الردود و الأسئلة
لقد استوعبت طريقة رسم الاطارات
كل ما أريده الآن هو أن تشرح لي كيفية الكتابة داخل تلك الاطارات اذا أمكن
مشاركة: :: مشروع لتعليم أساسيات ++C :: موضوع الردود و الأسئلة
أخوي عندي أسئلة.
الأول:في المثال الثاني وكذلك الثالث في الدرس الثالث.
أنت ذكرت أن هناك ثلاث متغيرات هي (a,avr,sum)
لكنك في هذه الجملة أضفت المتغير i
كود:
#include <iostream.h>
void main()
{
int a, sum=0;
float avr;
for( int i=1; i<=10; i++ )
{
cout << "Enter a Number " << i << " : ";
cin >> a;
sum = sum + a;
}
cout << "Sum = " << sum << endl;
avr = (float)sum / 10;
cout << "Avr = " << avr << endl;
}
لماذا لم تعده مع المتغيرات في مناقشة الحل ؟هل لإنه ليس متغير؟
الثاني:في المثال الثالث من الدرس الثالث ..لو فرضنا أن المستخدم أدخل هذه الأعداد بترتيب 3 1 2 6 4 5 9 7 8 فإنه سوف يفرض قيمة maxوmin هي (3) لكن عملية التكرار حين تصل إلى العدد(6) سوف يكون ستة الأكبر وسوف تفرض قيمته لكن وسوف يتوقف الإختبار إلى العدد 6، السؤال هنا (أذا كان هناك بين العدد الأكبر والقيمة المفترضه الأولى عدد أكبر من القيمة المفترضه الأولى فكيف سوف تختبر قيمة العدد الأكبر هل يعني أنه ستمحى قيمة 6 ويوضع قيمة 9 أم ماذا)
كود:
#include <iostream.h>
void main()
{
int a, max, min;
cout << "Enter the Number 1 : ";
cin >> a;
max = a;
min = a;
for( int i=2; i<=10; i++ )
{
cout << "Enter the Number " << i << " : ";
cin >> a;
if( a > max ) max = a;
if( a < min ) min = a;
}
cout << "Max = " << max << endl;
cout << "Min = " << min << endl;
}
في المثال الخامس(رسم الأشكل)
أنا فهمت كل شيء ما عدا (لماذا لم تتم عملية التكرار لسطر البرمجي( cout << endl; )في كل مره تتكرر حلقة إظهار النجوم رغم أنه داخل هذه الحلقه)
كود:
#include <iostream.h>
void main()
{
for( int i=5; i>=1; i-- )
{
for( int j=1; j<=i; j++ )
cout << "*";
cout << endl; }
}
أأسف أذا كانت الأسئلة معقدة .
مشاركة: :: مشروع لتعليم أساسيات ++C :: موضوع الردود و الأسئلة
الـstructures سهلة.. التعقيد يبدأ مع الـOOP..
الكائنات وبرمجتها هي معقدتني في الـ++C والجافا.. انتظر درسك حولها..
مشاركة: :: مشروع لتعليم أساسيات ++C :: موضوع الردود و الأسئلة
::
::
الصراحة...أنا انتظر شرح الـPointers لأن شرح الكتاب شوي معقد و أنا يكفيني التعقيد :31:
انتظر الدرس الجديد بأحر من الجمر
::
::
مشاركة: :: مشروع لتعليم أساسيات ++C :: موضوع الردود و الأسئلة
اقتباس:
المشاركة الأصلية كتبت بواسطة Night_3
لقد استوعبت طريقة رسم الاطارات
كل ما أريده الآن هو أن تشرح لي كيفية الكتابة داخل تلك الاطارات اذا أمكن
لم أفهم طلبك .. هل تقصد رسم المستطيل الفارغ في المثال السادس في الدرس الثالث ؟
إذا كان كذلك فكل ما عليك فعله هو إضافة أماكن النجوم ( السطر و العمود ) في الشرط فقط كما فعلنا في نفس المثال .. فمثلاً إذا كنت تريد رسم نفس المستطيل الفارغ مع إضافة خط مائل بداخله من اليسار إلى اليمين ( قطر ثانوي ) ما عليك إلا إضافة التالي في الشرط :
كود:
if( i==1 || i==10 || j==1 || j==10 || i==j )
أتمنى أن يكون هذا هو الحل لسؤالك ..
اقتباس:
المشاركة الأصلية كتبت بواسطة ThE* DaRk *SiDe
أخوي عندي أسئلة.
الأول:في المثال الثاني وكذلك الثالث في الدرس الثالث.
أنت ذكرت أن هناك ثلاث متغيرات هي (a,avr,sum)
لكنك في هذه الجملة أضفت المتغير i
كود:
#include <iostream.h>
void main()
{
int a, sum=0;
float avr;
for( int i=1; i<=10; i++ )
{
cout << "Enter a Number " << i << " : ";
cin >> a;
sum = sum + a;
}
cout << "Sum = " << sum << endl;
avr = (float)sum / 10;
cout << "Avr = " << avr << endl;
}
لماذا لم تعده مع المتغيرات في مناقشة الحل ؟هل لإنه ليس متغير؟
الثاني:في المثال الثالث من الدرس الثالث ..لو فرضنا أن المستخدم أدخل هذه الأعداد بترتيب 3 1 2 6 4 5 9 7 8 فإنه سوف يفرض قيمة maxوmin هي (3) لكن عملية التكرار حين تصل إلى العدد(6) سوف يكون ستة الأكبر وسوف تفرض قيمته لكن وسوف يتوقف الإختبار إلى العدد 6، السؤال هنا (أذا كان هناك بين العدد الأكبر والقيمة المفترضه الأولى عدد أكبر من القيمة المفترضه الأولى فكيف سوف تختبر قيمة العدد الأكبر هل يعني أنه ستمحى قيمة 6 ويوضع قيمة 9 أم ماذا)
كود:
#include <iostream.h>
void main()
{
int a, max, min;
cout << "Enter the Number 1 : ";
cin >> a;
max = a;
min = a;
for( int i=2; i<=10; i++ )
{
cout << "Enter the Number " << i << " : ";
cin >> a;
if( a > max ) max = a;
if( a < min ) min = a;
}
cout << "Max = " << max << endl;
cout << "Min = " << min << endl;
}
في المثال الخامس(رسم الأشكل)
أنا فهمت كل شيء ما عدا (لماذا لم تتم عملية التكرار لسطر البرمجي( cout << endl; )في كل مره تتكرر حلقة إظهار النجوم رغم أنه داخل هذه الحلقه)
كود:
#include <iostream.h>
void main()
{
for( int i=5; i>=1; i-- )
{
for( int j=1; j<=i; j++ )
cout << "*";
cout << endl; }
}
أأسف أذا كانت الأسئلة معقدة .
أرحب بأسئلتك ..
السؤال الأول : قلنا سابقاً أن كل حلقة for تحتاج لمتغير للتكرار .. لذلك تغاضيت عن ذكر هذا المتغير لأننا يجب أن نعرف أن كل حلقة for تحتاج لذلك المتغير ..
و لكن أريد أن أزيد أنه ليس من الضروري تعريف متغير جديد للتكرار في حلقة أخرى بل نكتفي بذكر نفس المتغير السابق بشرط أن لا تكون تلك الحلقات متداخلة .. مثال :
كود:
for( int i=1; i<=10; i++ )
{
for( int j=1; j<=10; j++ )
if( i==1 || i==10 || j==1 || j==10 || i==j )
cout << "*";
else
cout << " ";
cout << endl;
}
for( i=1; i<=5; i++ )
cout << "Montada.Com" << endl;
استخدمنا حل المثال السادس و أضفنا عليه حلقة بسيطة تقوم بكتابة كلمة Montada.Com خمس مرات تحت شكل المستطيل .. و المهم هنا الحلقة الأخيرة التي أضفناها .. لاحظ كيف أننا لم نضع :
كود:
for( int i=1; i<=5; i++ )
بل وضعنا الحلقة على الشكل التالي :
كود:
for( i=1; i<=5; i++ )
سبب ذلك أننا في المرة الأولى عرفنا المتغير i .. و من الخطأ تعريفه مرة أخرى في برنامجك .
السؤال الثاني : نعم في كل مرة سنختبر فيما إذا كان العدد الجديد أكبر من max فإذا كان كذلك نمسح قيمة max السابقة و نضع العدد الجديد كقيمة له .. و في نهاية الحلقة سيكون max يحمل قيمة أكبر عدد و نفس الشيء بالنسبة لـ min .
السؤال الثالث : فائدة السطر :
هو أننا نريد رسم النجوم على أسطر و ليس على سطر واحد فقط .. احذف ذلك السطر من البرنامج و شاهد النتائج .. سترى أن النجوم كلها رسمت على سطر واحد و نحن نريد أن نرسم نفس الشكل الموجود في الصورة .
في ذلك المثال حاول أن تفهم أن الحلقة الثانية سترسم النجوم ( معتمدين على قيمة i المتغيرة في كل دورة ) .. و الحلقة الأولى ستعطينا ذلك التغير لـ i مع النزول سطر جديد عند الانتهاء من رسم كل مجموعة من النجوم .
أتمنى أن يكون الشرح واضح و الفكرة وصلت :) .
اقتباس:
المشاركة الأصلية كتبت بواسطة Imaj
الـstructures سهلة.. التعقيد يبدأ مع الـOOP..
الكائنات وبرمجتها هي معقدتني في الـ++C والجافا.. انتظر درسك حولها..
اصبر قليلاً و سترى ما يعجبك إن شاء الله :) .. لأننا يجب أن ننتهي أولاً من بقية المواضيع ( انظر الفهرس ) .. فأنا ملتزم بانهاء المواضيع بالترتيب لأن كل موضوع جديد يعتمد على الذي قبله ..
فقط المسألة هي الوقت و الكائنات أصبحت قريبة .. و موضوع السجلات و المؤشرات مهمين و لكنهم ليسوا طويلين كبقية المواضيع التي عانيت بكثرة الكتابة فيها :17: ..
اقتباس:
المشاركة الأصلية كتبت بواسطة UAE Naruto
::
::
الصراحة...أنا انتظر شرح الـPointers لأن شرح الكتاب شوي معقد و أنا يكفيني التعقيد :31:
انتظر الدرس الجديد بأحر من الجمر
::
::
أخي الكريم .. إن شاء الله سيكون درس المؤشرات بعد درس السجلات .. و على فكرة إن موضوع المؤشرات هو من أجمل و أمتع المواضيع التي درستها في البرمجة .. و إن شاء الله أوفق في تبسيطها لك و لكن علينا أولاً الانتهاء من درس السجلات و أنا الأن بصدد كتابته ..
موعدنا في الأسبوع القادم إن شاء الله و سأحاول قدر استطاعتي أن أنهي الدرس غداً السبت .. بالتوفيق للجميع .
مشاركة: :: مشروع لتعليم أساسيات ++C :: موضوع الردود و الأسئلة
السلام عليكم
أخي Wolf Sniper
بعد تعلم لغة سي بلس بلس ...
ما هي الخطوة التالية ؟
MFC
Visual C++ 6.0
Visual C++ 2005
ثم
ما هي MFC ؟
و ما الفرق بين Visual C++ 6.0 و Visual C++ 2005 ؟
أو الدوت نت ..
و بماذا تنصحني ؟
أرجو أن أجد عندك الجواب الشافي ..
و السلام