غدير القضاه نشر 27 يوليو 2020 أرسل تقرير مشاركة نشر 27 يوليو 2020 Write a c++ function that find and return the value of the following serias (1/2 )+(2/2 )+(3/2)+...+(n/2) 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 محمد ربيع زليول نشر 27 يوليو 2020 أرسل تقرير مشاركة نشر 27 يوليو 2020 أولًا نقوم بكتابة أساسيات أي برنامج ب C++ وهي الدالة main. #include <iostream> using namespace std; int main () { } ثم سنقوم بإنشاء متغيرين: المتغير الأول هو لحفظ قيمة n، وستأخد نوع int لأنه عدد صحيح طبيعي. المتغير الثاني لحفظ قيمة المجموع total، ستأخد القيمة الإبتدائية 0 ونوع float. #include <iostream> using namespace std; int main () { int n; float total = 0; } بعد ذلك سنطلب من المستخدم إدخال قيمة n. #include <iostream> using namespace std; int main () { int n; float total = 0; cout << "Enter n: "; cin >> n; } بعد ذلك ستقوم بعمل تكرار من قيمة 1 إلى قيمة n عن طريق for بالشكل التالي: #include <iostream> using namespace std; int main () { int n; float total = 0; cout << "Enter n: "; cin >> n; for (float i = 1; i <= n; i++){ } } في كل تكرار سنقوم بجمع total مع قيمة i/2. #include <iostream> using namespace std; int main () { int n; float total = 0; cout << "Enter n: "; cin >> n; for (float i = 1; i <= n; i++){ total = total + i / 2; } } وفي النهاية سنقوم بطبع قيمة المجموع، أي طبع قيمة total. #include <iostream> using namespace std; int main () { int n; float total = 0; cout << "Enter n: "; cin >> n; for (float i = 1; i <= n; i++){ total = total + i / 2; } cout << total; } يمكنك تجربة الكود عن طريق الرابط التالي. 1 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 مصطفى القباني نشر 27 يوليو 2020 أرسل تقرير مشاركة نشر 27 يوليو 2020 (معدل) يمكن أيضاً تبسيط المطلوب رياضياً عن طريق أخذ 1/2 عامل مشترك، وإستخدام قانون مجموع الأعداد من 1 إلى n، فيصبح المجموع: ويصبح الكود كالآتي: #include <iostream> using namespace std; int main () { int n; float total = 0; cout << "Enter n: "; cin >> n; cout << (float)n*(n+1)/4; } يمكنك تجربته من هنا. تم التعديل في 27 يوليو 2020 بواسطة مصطفى القباني 2 اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 عصام يخلف نشر 27 يوليو 2020 أرسل تقرير مشاركة نشر 27 يوليو 2020 أولا نقوم بإنشاء الدالة التي ترجع لنا قيمة المجموع : هنا ندخل while loop لنتمكن من إضافة المجموع الأول إلى المجموع الكلي ثم نضيف i = i + 1; لزيادة قيمة المتغير i بقيمة 1 الدالة هنا ترجع لنا قيمة المجموع الكلي عبر المعامل n #include <iostream> using namespace std; /* نقوم بإنشاء الدالة التي ترجع لنا قيمة المجموع */ float get_sum(int n){ /* هنا تهيئة قيم المتغيرات n والمجمو ع sum*/ float sum = 0; float i = 1; while(i <= n){ sum = sum + (i / 2); i = i + 1; } return sum; } ثانيا : ننشئ الدالة الرئيسة main : بعد إدخال قيمة n ,نقوم بمناداة الدالة get_sum بالمعامل n نضع الناتج من الدالة داخل المتغير sum نقوم بإخراج قيمة sum للحصول على المجموع الكلي int main () { float sum ; int n; /* n نقوم بإدخال قيمة المتغر */ cout << "Please Enter Value of N: "; cin >> n; /* n مناداة الدالة مع إعطائها قيمة للمعامل */ sum = get_sum(n); /* ثم نقوم بإرجاع قيمة المجموع الكلي */ cout << sum; return 0; } يمكنك التأكد من هذه الدالة عبر هذا الرابط اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Yomna Raouf نشر 27 يوليو 2020 أرسل تقرير مشاركة نشر 27 يوليو 2020 (معدل) #include <iostream> #include <math.h> using namespace std; int main() { /* sum نقوم بتعريف متغير لتخزين ناتج جمع المتسلسلة */ /* و متغير اّخر لحساب قيمة كل حد في المتسلسة */ double sum = 0, a; /* n نقوم بتعريف متغير لتخزين عدد حدود المتسلسلة */ int n, i; cout << "\n\n Find the sum of the series 1/2 + 2/2 +.....+ n/2:\n"; cout << "----------------------------------------------------------------\n"; cout << " Input the value for nth term: "; cin >> n; /* نقوم بعمل حلقة لحساب كل حد من حدود المتسلسلة و جمعه إلى الحدود الأخري */ for (i = 1; i <= n; ++i) { /* نقوم بحساب قيمة كل حد من حدود المتسلسلة */ a = i / 2; cout << i << "/" << "2" << " = " << a << endl; /* نقوم بجمع كل حد إلى الحدود السابقة */ sum += a; } cout << " The sum of the above series is: " << sum << endl; } الكود السابق يوضح ال logic المستخدم لحساب مجموع المتسلسلة يمكن بعد ذلك استخدامه داخل دالة من نوع double لأننا نريدها أن ترجع مجموع السلسلة و هو من نوع double double sumOfSeries(int n); /* main section */ double sumOfSeries(int n) { /* كود جمع المتسلسلة السابق */ return sum; } تم التعديل في 27 يوليو 2020 بواسطة Yomna Raouf اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
0 Hamada Sayed نشر 28 يوليو 2020 أرسل تقرير مشاركة نشر 28 يوليو 2020 ممكن باستخدام الازاحه لليمين فهي غير معقده علي cpu مثل عمليه القسمه #include <iostream> using namespace std; double sum(int n){ double total = 0.0; for (int i = 1; i <= n; i++){ total = total + (double)(i>>1); if (i&1) total+=0.5; } return total; } int main () { int n=0; cout <<"Enter n: "; cin >>n; cout <<sum(n) <<endl; return 0; } اقتباس رابط هذا التعليق شارك على الشبكات الإجتماعية More sharing options...
السؤال
غدير القضاه
Write a c++ function that find and return the value of the following serias
(1/2 )+(2/2 )+(3/2)+...+(n/2)
رابط هذا التعليق
شارك على الشبكات الإجتماعية
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.