PDA

View Full Version : کمک برای نوشتن یک برنامه



linuxknoppix
دوشنبه 02 شهریور 1383, 21:01 عصر
سلام.
شاید این موضوع با این انجمن مرتبط نباشه. اما یکی از مدیران گفتن که اگر اینجا مطرح کنم دوستان میتونن کمکم کنند.
من باید یک برنامه با پاسکال بنویسم که بتونه هر معادله ای رو که بهش میدیم ریشه هایش رو از طریق روش نیوتن محاسبه کنه و بهمون نشون بده.من هر کاری کردم نتونستم بنویسمش. استادمون گفته در این برنامه نباید از دستور Goto استفاده بشه. ضمنا تا آخر این هفته هم باید تحویلش بدم.
از بین شما دوستان گرامی اگر کسی میتونه لطفا راهنماییم کنه و اگر میشه سورس برنامه رو بنویسه.
توضیح روش نیوتن را هم در تصویر زیر قرار دادم.
http://img.villagephotos.com/p/2004-8/812088/Nioton.GIF
بینهایت سپاسگذارم.

Sepidar
سه شنبه 03 شهریور 1383, 02:32 صبح
function f(x:real):real;
begin
Result:= //محل قرارگیری فرمول تابع;
end;

function f_prime(x:real):real;
begin
Result:= //محل قرارگیری فرمول مشتق تابع;
end;

functiobn GetRoot(guess,accuracy:real;maxIterate:word;var root:real):boolean;
var
i:word;
x,x0:real;
begin
i:=0;
x:=guess;

repeat
inc(i);
x0:=x;
x:=1-f(x0)/f_prime(x0);
until (accuracy<abs(x-x0)or(i>=maxIterate);

root:=x;
result:=abs(x-x0)<=accuracy;
end;

توجه 1) حل نیوتن رافسون عملا فقط برای مسایل کاربردی قابل استفاده است و میتوان بسیاری از مسایل ریاضی پیدا کرد که بتوان با آن این الگوریتم را گول زد!

توجه 2) به جای استفاده از توابع مشتق گیری دقیق میتوان با توجه به دقت لازم از مشتق گیری عددی استفاده کرد که در صورت لزوم تکنیک این کار را برایتان خواهم گفت.

Sepidar
سه شنبه 03 شهریور 1383, 02:39 صبح
هر معادله ای رو که بهش میدیم
منظورتان از این جمله چیست؟ اگر منظور گرفتن تابع از ورودی در حین اجرای برنامه است، باید پردازش عبارت روی آن انجام شود. اما اگر منظور گرفتن ریشه از یک تابع مشخص تعریف شده در برنامه است، بحث فرق میکند.

مطمئنا قبلا درباره ارسال توابع به صورت پارامتر توضیح داده شده است. یکی از عزیزان لطف کنه و لینک بده.

با احترام

سار
سه شنبه 03 شهریور 1383, 16:02 عصر
نمیدونم درست متوجه مطلبتون شدم یا نه ولی شرح عکسی که فرستادی رو خوندم
یه فایل برای شما میفرستم شاید کمکتون کنه.
امیدوارم مفید باشه.

linuxknoppix
سه شنبه 03 شهریور 1383, 21:40 عصر
سلام.
دوستان عزیز خیلی خیلی ازتون ممنونم. واقعا خیلی لطف کردید. مشکل من حل شد. سار عزیز تشکر ویژه از شما میکنم که با ارسال اون فایل دنیا رو به من دادید. جناب سپیدار از شما هم به خاطر الگوریتم بالا بینهایت ممنونم.
امیدوارم همواره در زندگیتان پیروز و موفق باشید.