PDA

View Full Version : سوال: محاسبه‌ي خطا رابطه‌ي رياضي



konjkav_
یک شنبه 30 خرداد 1389, 15:50 عصر
سلام؛
سوالي كه استاد مطرح كرده‌اند به اين شرح است:
خطاي sigma 1/i را وقتي i = 1 ~100 با خطاي همين رابطه وقتي i = 100 ~1 مقايسه كنيد.
اين برنامه‌ايِ كه نوشتم(!):

---------------------------------------------------------
#include<iostream.H>
#include<conio.h>

int main()
{
clrscr();
float i,sum;

for(i=1;i<=100;i++)
sum=sum+(1/i);

cout<<endl;
cout<<"--- 1 to 100 --- :="<<sum<<endl<<endl;

for(i=100;i<=1;i--)
sum=sum+(1/i);

cout<<"--- 100 to 1 --- :="<<sum;

getch();
return 0;
}
---------------------------------------------------------
ولي مسلما هيچ تفاوتي بين اين دوتا سيگما وجود نداره در خروجي؛ بنظرم بايد يه مقدار فرمولي براي كسر وجود داشته باشه و همينطور جواب اين دو رابطه با هم متفاوت بدست بياد.
اگر ايده‌اي براي حلش داريد لطفا دريغ نكنيد.

-با سپاس فراوان

saber187518
یک شنبه 30 خرداد 1389, 18:02 عصر
با سلام
دویت عزیز وقتی که شما در حلقه دوم که از 100 تا 1 به صورت معکوس و i-- حرکت میکنه از اون خارج میشی مقدار شمارنده حلقه دیگه صفر شده و دلیل خطا هم همینه.
شما باید این مشکل رو حل کنی.
مثلا قبل از اون تقسیم بنویسی i=1 اونوقت درست میشه.
موفق باشی

konjkav_
یک شنبه 30 خرداد 1389, 18:31 عصر
اول از همه خيلي خيلي ممنون كه به اين سرعت پاسخ دادين.
مشكل من run نشدن برنامه نيست؛ به‌خوبي اجرا ميشه ولي ايده‌ي كلي حل مسئله بايد غلط باشه.
اينكه يه‌سري از اعداد رو با هم جمع كنيم حالا چه از كوچك به بزرگ و چه برعكس، حاصل بايد يكي باشه و اين برنامه هم همين جواب رو ميده ولي متاسفانه اين چيزي نيست كه طراح سوال دنبالشه.
براي مثال وقتي sigma i رو بررسي مي‌كنيم كه اين i ها در بازه‌ي 0 تا بينهايت هستند يه رابطه داريم اونم n(n+1) / 2 يعني مقدار دقيق اين سري. اين چيزي كه به‌نظر استاد درس دنبالش هستند بايد يه همچين عبارتي باشه كه حالا تو قالب برنامه‌ي C بايد قرار بگيره.

tdkhakpur
یک شنبه 30 خرداد 1389, 20:52 عصر
اگر شما خواسته خودتان را و همچنین نوع n و باز حرکت را دقیقتر بیان کنید راحتتر به نتیجه میرسید.
مقدار sigma i مفدار از 0 تا بینهایت را به n میده یا سری به شکل دیگه هست؟