PDA

نسخه کامل مشاهده نسخه کامل : خواهش مي كنم يكي در رابطه با پاسكال سوالهامن رو جواب بده



aluminum
25-10-2007, 23:47
توي برنامه پاسكال چه جوري مي توان يك متغير رو به توان يك متغير ديگه رساند.مي خوام برنامه جو استاندارد را بنويسم .لطفاٌ كمكم كنيد:41:

winxp
25-10-2007, 23:53
سلام دوست عزیز

این کار تو پاسکال امکان پزیر نیست

شما باید مثلا اگه میخواین عدد 2 رو به توان 10 برسونین بنویسین
2*2*2*2*2*2*2*2*2*2

موفق باشین

aluminum
26-10-2007, 00:04
نه من مي خوام يك متغير را به توان يك عدد اعشاري برسونم .بد جوري گير كردم نميدونم چه كار بايد بكنم

winxp
26-10-2007, 00:12
سلام عزیزم

ببین عزیزم شما باید بنویسی

s:=m^13.6

که در اینجا s یهنی حاصل توان
m یهنی متغیر شما و اون یکی هم عدد شماست
حالا اون ^ علامت در پسکال تعریف نشده
شما میتونین بنویسین
مثلا عدد اعشاریتون 6.06 هستش
s:=m*m*m*m*m*m*.06


درست گفتم یا نه
باید جواب بده
تست کنین
موفق باشین

jamali
26-10-2007, 00:21
جواب آقای WinXP باید جواب بده ولی اگه نشد :

توان اعشاری در واقع نرکیبی از یک توان و یک ریشه (رادیکال) هست
برای توان :
میتونی عدد رو با استفاده از یک حلقه به اندازه N (که N یه عدد دلخواه تو هست) در خودش ضرب کنی.

برای ریشه p ام :
باید از روش دیفرانسیلی و با استفاده از روش نیوتون ینویسی .

ببخشید دیگه وقت ندارم توضیح بدم . خودت برو دنبالش

aluminum
26-10-2007, 00:23
نه اين جوري نمي شه
s:=m*m*m*m*m*m*.06 به نظر غاط مياد چون تو عدد را 6 بار ضرب در هم كردي بعد ضرب در 0.06 در صوردتي كه 0.06 در توان است و بايد عدد مورد نظر به توان 0.06 برسد.
درست ميگم؟

aluminum
26-10-2007, 00:28
ما رو تو خوماري نگذار .لطفاٌ هر وقت كه تونستي جواب بده.هر چه زود تر بهتر
ممنون:10:

jamali
26-10-2007, 00:40
منظورت منم؟
سعی میکنم بنویسم ، آقا خیلی مشغولم:(

aluminum
26-10-2007, 00:47
بله شما .دست درد نكنه

winxp
26-10-2007, 01:08
منظورت منم؟
سعی میکنم بنویسم ، آقا خیلی مشغولم:(


سلام عزیز

اره حتما بنویس
من با استادمون کل کل همینو داشتم
بگو تا یه ضد حال از من بخوره

ممنون

موفق باشین
:11:

DrXoX
26-10-2007, 01:59
سلام

والا تا اونجايي كه من يادم مياد به توان رساندن در پاسكال امكان پذير نبود ولي يه فرمول بود كه مي شد براي به توان رساندن اعداد ازش استفاده كرد به صورت زير:

مثلا برايX به توان Y به صورت زير مي شود :

Z : يك متغير كه حاصل را در خود ذخيره مي كند


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشيد

jamali
26-10-2007, 11:39
ببینید ، مثلا میخوای به توان 3.16 برسونی ، یعنی به توان 100/316 ، پس:

1 - باید عدد رو به توان 316 برسونی ، چطوری؟
یه حلقه بنویس که 316 بار عدد رو در خودش ضرب کنه بریزه تو یه متغیری.

2 - حالا باید ریشه صدم عددی رو که در مرحله 1 بدست آوردی رو بگیری. چون ریشه زوجه میتونی 50 باز جذر بگیری*. مثلا میتونی یه حلقه بنویسی که 50 بار جذر بگیره و بریزه تو یه متغیری مثل total

خوب حالا شما عدد رو به توان 3.16 رسوندی! جواب در متغیر total ذخیره شده البته با تقریب خیلی خوب یعنی 4 رقم اعشار. برگردوندنش به زبان پاسکال با خودت، راستی یه قسمتی هم توش در نظر بگیر که اگر عدد نما منفی بود در آخر عدد بدست آورده رو معکوس کنه.

البته این راه غیر از روش نیوتونه و همون طور که میبینی محاسبات زیادی داره . البته اگه قسمتی از یه پروژه بزرگ نیست و زمان اجرا برات اهمیت نداره میشه استفاده کرد.
روش نیتون هم اگه دیفرانسیل خوندی باید یادت باشه... ولی من سعی میکنم در اولین فرصت اون رو هم بنویسم.

* اگر جذر به صورت متوالی گرفته بشه به ترتیب 1بار و 2 بار و 3 بار و 4 بار و 5 بار و 6 بار و ... ریشه های : 2و4و6و8و10و12 ... حاصل خواهند بود.

winxp
27-10-2007, 20:52
سلام عزیزان

اگه برنامشو نوشتین به من هم بدین که لازم شد حسابی

منتظرمااااااااااااااااااا اااااااااااا

موفق باشین دوستان خوبم

aluminum
28-10-2007, 21:04
به يه مشكل جديد خوردم
error 205 : floating point overflow]
[var
ttt,x,tt,r,g,y,h1,h2,p1,p2,ro1,ro2,t1,t2,a:real;
i:integer;
begin
t1:=288.16;p1:=101325;ro1:=1.225;h1:=0;g:=9.81;r:= 278.26;
for i:=1 to 10 do
begin
a:=-0.0065;
h2:=i*100;
t2:=t1+(a*(h2-h1));
y:=-g/(a*r);
tt:=t2/t1;
p2:=p1*(exp(y*ln(tt)));
x:=((-g/a*r)+1);
ro2:=(ro1*abs((exp(x*ln(tt)))));
writeln(t22,' ',p22,' ',ro22,' ');
end
end.][/code]

enjmehrdad
06-11-2007, 22:57
فکر کنم سرریزی میکنه به خاطر اعشاری بودن ...
شما هر دفعه 4 رقم اعشار رو بگیر از بقیش چشن پوشی کن ...