الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

برامج بسيطة, صعبة على المبتدئين

مغلق
بدأه العُبد في 27 أكتوبر 2005 · 14 رد · 1,039 مشاهدة · في الأسئلة المجابة
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

الأخوة الأعزاء في منتديات الفريق العربي للبرمجة، أنا مبرمج مبتدأ صغير يتعلم، يرحب بكم في موضوعه الأول،

ويتمنى أن يستطيع تقديم أي إفادة في أي شيء ولو كان صغيراً .. إن شاء الله في المستقبل بعد ما أصير مصمم محترف :lol:

:rolleyes:

السؤال الأول: يطلب مني أن أكتب برنامج يقوم بحساب قيمة تقديرية للثابت الرياضي e باستخدام الصيغة التالية:

اقتباس
e = 1 + 1/1! + 1/2 + 1/3 + ....

السؤال الثاني: يطلب مني كتابة برنامج يقوم بطباعة النموذج التالي في output واحداً تلو الآخر. استخدم حلقات for من أجل توليدها (بحلقات while خلنا نفلح بالأول :angry: ) يجب طباعة الرموز (*) بواسطة تعليمة للخرج لها الشكل التالي:

اقتباس
cout << '*'; (مما يسبب طباعة الرموز * بجانب بعضها البعض)

والمشكلة كيف أبدأ بالفراغات كما في الـ output

**********

*********

********

*******

******

*****

****

***

**

*

بهذا الشكل باللون الأحمر .. :blink:

السؤال الثالث: يقول لك أنه تقوم مؤسسة بريدية للبيع بالتجزئة ببيع خمسة منتجات وذلك وفقاً للأسعار التالية:

المنتج رقم (1) __ $ 2.98

المنتج رقم (2) __ $ 4.50

المنتج رقم (3) __ $ 9.98

اكتب برنامجاً يقوم بقراءة سلسلة من أزواج من الأعداد تمثل ما يلي:

1. يمثل الرقم الأول رقم المنتج.

2. يمثل الرقم الثاني قيمة الترخيص ليوم واحد.

يجب على برنامجك أن يستخدم swich من أجل تحديد السعر الإفرادي لكل منتج من المنتجات السابقة.

كما يجب عليه أن يحسب ويظهر مجمل أسعار كافة المنتجات التي تم ترخيصها في آخر أسبوع.

:unsure: وكلها أسئلة صعبة عليّ :( ، ماذا أفعل؟ ما هي أسهل طريقة لمعرفة كيفية تفكير البرنامج؟

علماً: أستخدم برنامج فيجول c++ 6.0

أرجو مساعدتي في الحل، ولكم جزيل الشكر.

تم تعديل هذه المشاركة بواسطة hasan_aljudy في 27 أكتوبر 2005 في 23:49

#2

السلام عليكم

اولاً حياك الله فى المنتدى عضو جديد, وياريت تقراء قواعد المنتدى, لان عنوان الموضوع مخالف, على كل حال هذه اول مشاركة لك لذلك اكتفى بالتنويه...

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

واخيراً هذه الاسئلة سهلة للغاية يمكنك البحث فى المنتدى وستجد العديد من الامثلة المشابهه, وحاول ان تبداء بكتابة برنامج يكتب سطر على الشاشة وبعد ذلك يمكنك بإٍسخدام الدالة cout بإضافة الدالة endln ان تكتب اكثر من سطر وبهذا تكون قد انتهيت من السؤال الثانى..

إبداء بالسؤال الثانى لانه هو الاسهل وبعد ذلك عد بالنتيجة كى نساعدك فى الباقى...

بالتوفيق

والسلام عليكم

تم تعديل هذه المشاركة بواسطة احمد غريب في 27 أكتوبر 2005 في 21:19

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#3

قوانين المنتدى لا تسمح بحل الواجبات الدراسية للأسف و كما قلت أنت في مشاركتك

اقتباس
لسؤال الأول: يطلب مني
اقتباس
السؤال الثاني: يطلب مني

فهذا الواجب مطلوب منك أنت و ليس منا نحن

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#4

شكراً جزيلاً .. محد قال انه ليس واجب مدرسي :unsure: أو أنه لا يطلب مني انا

ولكن توقعت المساعدة .. وإن شاء الله راح أحاول بنفسي

ثانياً كوني عضو جديد لم أعرف ذلك <_<

وراح أدرج محاولاتي

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

ومو مشكلة أحط تطبيق لكم عشان لا أكون قائل بلا فعل

#include <iostream>

using std::cout;
using std::cin;
using std::endl;

int main ()
{
      int arabteam2000, total=0, counter=0;
      
      cout <<"Enter no. user arabteam2000-forum.com: (-1 to end) \a";
      cin >> arabteam2000;

      while ( arabteam2000 != -1)
      {
                total = total + arabteam2000;
                counter ++;
                cout <<"Enter no. user arabteam2000-forum.com: (-1 to end) \a";
                cin >> arabteam2000;
       }

       return 0;

}

وراح أدرج محاولاتي الفاشلة، فيما بعد إذا ما تخالف القوانين طبعاً

سأعود لاحقاً .. في حفظ الله :rolleyes:

لازم تفّوق

تم تعديل هذه المشاركة بواسطة احمد غريب في 27 أكتوبر 2005 في 21:51

#5

البرنامج الذى قمت بوضعه يقوم باخذ ارقام من المستخدم وجمعها, مجموع الارقام يوجد فى المتغير total عدد الارقام التى تم جمعها توجد فى المتغير count :::

يمكنك فى اخر البرنامج بطباعة هذه المتغيرات لتعرف المجموع وعدد الارقام, ولكن هذا البرنامج لا علاقة له باسئلتك !!!

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#6

صحيح اننا لا نحب طرح اسئلة الواجب, لكن على الأقل الأخ السائل هنا طرح سؤاله بطريقة محترمة!

بالنسبة للسؤال الثاني, فلكي اساعدك حاطلب من تحاول تعمل هذه الأشياء:

1- هل تستطيع كتابة حلقة تكتب عددا معينا من النجوم * وراء بعضها, بحسب المتغير الموجود في الحلقة؟

2- هل تستطيع كتابة حلقة تقوم بعد الارقام مثلا من 5 الى 1 بشكل تنازلي, بحيث تكتب كل رقم في سطر جديد؟

لو عرفت تعمل هذين الطلبين فحل السؤال لازم يكون سهل ..

لا اعتقد السؤال يطلب منك تلوين النجوم بالأحمر .. و لا حتى وضع فراغات بينها! الفراغات سببها هو ان حجم النجمة صغير في هذا الخط, لذلك لو كتبت نجمة و وضعت تحتها نجمة أخرى فيسظهر و كان هناك فراغ .. لكنه لا يوجد في الحقيقة سطر فارغ بينهما.

**

*

***

*

***

#7

لا أدري ما سبب عـنوان هذا الموضوع...

برامج بسيطـة للمحترفين .. أرجو مساعدتي ، صعبة على المبتدئين

وبصراحـة حينما دخلت الموضوع كنت أظن أن هـناك أسئلة صعبة للغاية يكون فيها أحد الأخطاء الصعبة (إن لم تكن المستحيلة) أن يكشف عـنها .. مؤشر طاش في الذاكرة ولا يدري أين يؤشر ، قالب لا يدري ماذا يفعل ، كائن ضائع في البرنامج ولا يدري ما هـو عـمله ، خطأ منطقي صعب .. أو سؤال صعب للغاية ويحتاج إعمال للعقل...

أنا لا أستهزيء بموضوعـك أخي العـزيز ، ولكن لا داعي لمثل هذه العـناوين ، خاصـة أن هذه الأسئلة بسيطة للغاية وبإمكانك حلها لو فكرت قليلاً..

#8
احمد غريب كتب:
البرنامج الذى قمت بوضعه يقوم باخذ ارقام من المستخدم وجمعها, مجموع الارقام يوجد فى المتغير total عدد الارقام التى تم جمعها توجد فى المتغير count :::

يمكنك فى اخر البرنامج بطباعة هذه المتغيرات لتعرف المجموع وعدد الارقام, ولكن هذا البرنامج لا علاقة له باسئلتك !!!

نعم أخي وضعت البرنامج فقط لأقول أني أعرف وظائف الدوال ولكن لا أعرف أن أستخدمها، وإنما وضعت الموضوع لذلك

ولا علاقة للبرنامج بالأسئلة، إنما لقولك الكريم اكتب برنامج يكتب سطر في الشاشة وما إلى ذلك .. هذه المرحلة تجاوزتها والحمد لله، لكن مشكلتي مع الدوال وبنى التحكم :unsure:

وشكراً لك على أي حال..

hasan_aljudy كتب:
صحيح اننا لا نحب طرح اسئلة الواجب, لكن على الأقل الأخ السائل هنا طرح سؤاله بطريقة محترمة!

بالنسبة للسؤال الثاني, فلكي اساعدك حاطلب من تحاول تعمل هذه الأشياء:

1- هل تستطيع كتابة حلقة تكتب عددا معينا من النجوم * وراء بعضها, بحسب المتغير الموجود في الحلقة؟

2- هل تستطيع كتابة حلقة تقوم بعد الارقام مثلا من 5 الى 1 بشكل تنازلي, بحيث تكتب كل رقم في سطر جديد؟

لو عرفت تعمل هذين الطلبين فحل السؤال لازم يكون سهل ..

لا اعتقد السؤال يطلب منك تلوين النجوم بالأحمر .. و لا حتى وضع فراغات بينها! الفراغات سببها هو ان حجم النجمة صغير في هذا الخط, لذلك لو كتبت نجمة و وضعت تحتها نجمة أخرى فيسظهر و كان هناك فراغ .. لكنه لا يوجد في الحقيقة سطر فارغ بينهما.

**

*

***

*

***

راح أحاول من جديد وأرجع أريكم النتائج

لا ما في أحمر ولا أخضر :rolleyes: لا أردت فقط الملاحظة أن البداية تبدأ بالفراغ

شكراً لك ..

Sultan_Althibity كتب:
لا أدري ما سبب عـنوان هذا الموضوع...

برامج بسيطـة للمحترفين .. أرجو مساعدتي ، صعبة على المبتدئين

وبصراحـة حينما دخلت الموضوع كنت أظن أن هـناك أسئلة صعبة للغاية يكون فيها أحد الأخطاء الصعبة (إن لم تكن المستحيلة) أن يكشف عـنها .. مؤشر طاش في الذاكرة ولا يدري أين يؤشر ، قالب لا يدري ماذا يفعل ، كائن ضائع في البرنامج ولا يدري ما هـو عـمله ، خطأ منطقي صعب .. أو سؤال صعب للغاية ويحتاج إعمال للعقل...

أنا لا أستهزيء بموضوعـك أخي العـزيز ، ولكن لا داعي لمثل هذه العـناوين ، خاصـة أن هذه الأسئلة بسيطة للغاية وبإمكانك حلها لو فكرت قليلاً..

آسف عزيزي .. إذا العنوان مضايقك أرجو أن تقوموا بتبديله <_<

مع أني لا أجد فيه شيء عويص جداً :rolleyes: والحمد لله ما ضاع كائن ولا طاش مؤشر :lol:

آسف فعلاً إذا كان العنوان غير معبر

فقط أردت توصيل معلومة من خلاله أن هذه البرامج الاتي بالداخل يتعلمها المبتدئين فتكون صعبة عليهم وأنا واحد منهم

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

اقتباس
اولاً حياك الله فى المنتدى عضو جديد, وياريت تقراء قواعد المنتدى, لان عنوان الموضوع مخالف, على كل حال هذه اول مشاركة لك لذلك اكتفى بالتنويه...

واخيراً هذه الاسئلة سهلة للغاية يمكنك البحث فى المنتدى وستجد العديد من الامثلة المشابهه, وحاول ان تبداء بكتابة برنامج يكتب سطر على الشاشة وبعد ذلك يمكنك بإٍسخدام الدالة cout بإضافة الدالة endln ان تكتب اكثر من سطر وبهذا تكون قد انتهيت من السؤال الثانى..

ولكن عندي صعبة للغاية .. هذا هو العنوان ببساطة

وكما ذكرت يمكن للمشرف على هذا القسم تغيره بما يناسب :rolleyes: مشكوراً

وبالنسبة للقوانين ما أدري وين ألاقيها.. غير عند التسجيل القوانين العشرة المعروفة والتي كانت مكتوبة بالأحرف الانجليزية أيضاً

سأعود سريعاً ومع التطبيق للسؤال الثاني

وما أدري يعني شلون يجوز أستفسر هل صح أو لا أو شلون يعني ؟!!

بحفظ الله

#10
اقتباس
صحيح اننا لا نحب طرح اسئلة الواجب, لكن على الأقل الأخ السائل هنا طرح سؤاله

بطريقة محترمة!

صحيح .

طريقته في طرح الاسئلة محترمة .. وايضا منظم الموضوع ( الوان وحركات :) )

يستاهل المساعدة ..

هذا اللي عندي :)

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#11

الأخوة الأعزاء .. قرأت القوانين الآن :rolleyes:

ووجدت أن موضوعي مخالف، لا بل من كبار المخالفين لقوانين المنتدى،

لذلك أرجو إغلاقه .. وذلك لأني لا أريد أن يكون موضوعي الأول في هذا المنتدى الرائع مخالف؟!

شكراً لكم

الله يحفظكم

#12

السلام عليكم

انا لا يوجد عندى اى إعتراض على إسلوب الاخ السائل فى طرح السؤال, بالعكس اسلوبه محترم إلا ابعد الحدود ولكن فى نفس الوقت لا نريد ان نضره بطرح الاجابة واكيد يستاهل المساعدة وهدف المنتدى هو مساعدة الاعضاء..

يعنى كتابة برامج مثل التى طرحها السائل الكريم لا تستغرق اكثر من 10 دقائق لكل سؤال, ولكنى اريده ان يحاول وإن شاء الله إذا وصل إلا طريق مسدود لن نتركه هكذا وإنما بالتاكيد سنمد له يد العون حتى يستوعب المسائل...

بالتوفيق

والسلام عليكم

لا إله إلا الله محمد رسول الله

busbar : يجب ان تدرك انه هناك حد ادنى للمعرفة المطلوبة قبل البدء في عمل أي شئ.

#13

انا اعرف حل السؤال الثاني لانه مايحتاج تفكير ..

لن اكتب الحل بشكل مباشر عشان مشرف المنتدى ما يبهدلني :)

لو قلت لك اطبع اسمك الكريم اربع مرات ..

ستكتب مباشرة

#include"iostream.h"

main()
{
cout<<"muhmmad\n";
cout<<"muhmmad\n";
cout<<"muhmmad\n";
cout<<"muhmmad\n";

}

معلش ما اعرف اكتب اسمك باالانقليزي :)

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

#include"iostream.h"

main()
{
for(int i =0;i<=4;i++)
cout<<"muhmmad\n";


}

الان اطبع نجوم .. باستخدام حلقة متداخلة ..

 for ( int x = 0; x< 6; x++)
{

for ( int a= 0; a< 5; a++ )
{
cout << " * "; 
}
 cout <<endl;


}

الان بتغير قيمة واحدة ستحل الواجب :)

لكن انت عندك النجوم تتناقص .. يعني تعكس :

 for ( int x = 6; x> 0; x--)

باختصار الجواب تلقاه في دروس الاخ هيثم :unsure:

/index.php?showtopic=35402#

الاجابة قصيرة .. لكن مططناها هروبا من المسائلة بتهمة حل الواجبات :P

اعتذر من المشرفين اذا كنت خالفت القوانين وحليت الواجب ( لكن السائل محترم بدرجة لاتقاوم :) )

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#14

ولك .. انت حليت الواجب :P

الان كيف سيكون موقفي من الامم المتحدة :angry:

#15

طيب, اسمحولي اغلق الموضوع,

اولا لان الكاتب طلب ذلك,

ثانيا لأن الشمري اعطى الحل مباشرة,

ثالثا حتى لا يفتح باب نريد اغلاقه (باب الواجبات).

مع احترامي الشديد لكاتب الموضوع.

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…