PDA

View Full Version : سوال: کمک در مورد نوشتن الگوریتم



Felony
سه شنبه 16 مهر 1387, 15:07 عصر
سلام ...

:چشمک:دوستان من تو نوشتن 2 تا الگوریتم موندم میشه یکی کمکم کنه ؟
:قهقهه: وای وای ، چقد سخته !!!

1.الگوریتمی بنویسید که ضرایب یک معادله ی درجه ی 2 را از وردودی گرفته و ریشه های این معادله را محاسبه کند و چاپ کند.

2.الگوریتمی بنویسید که ضرایب یک دستگاه دو معادله ، دو مجهول را از ورودی گرفته و ریشه های معادله را به دست آورد و چاپ کند.

:چشمک:ممنون ...

اوبالیت به بو
سه شنبه 16 مهر 1387, 22:52 عصر
1.الگوریتمی بنویسید که ضرایب یک معادله ی درجه ی 2 را از وردودی گرفته و ریشه های این معادله را محاسبه کند و چاپ کند


Program Digree2;
Uses CRT;
Var
a:integer;
b:Integer;
c:Integer;
Delta:Integer;
x1:Real;
x2:Real;
BEGIN
clrscr;
gotoxy(22,3);
Writeln( ' Enter Value for a, b, c:');
gotoxy(10,5);
Write('a: ');
Readln(a);
gotoxy(10,6);
Write('b: ');
Readln(b);
gotoxy(10,7);
Write('c: ');
readln(c);
gotoxy(18,10);
{ Write (a,' ', 'X ^ 2',' ', b,' ', 'X',' ', c);}
Delta:= b * b - 4 * a * c;
Gotoxy(22,15);
Writeln('Delta is:',' ', Delta);
Case Delta of
0..32767: Begin
x1:= ((-b) + SQR(Delta)) / 2 * a;
x2:= ((-b) - SQR(Delta)) / 2 * a;
Writeln('x1 is: ',x1);
Writeln('x2 is: ',x2);
End;
0: begin
x1:=((-b)/a);
Writeln('x is : ', x1);
End;
-32768..0 : Writeln('Root = !@#$%^&*()');
End;
Readln;
END.

2.الگوریتمی بنویسید که ضرایب یک دستگاه دو معادله ، دو مجهول را از ورودی گرفته و ریشه های معادله را به دست آورد و چاپ کند.

يا با كرامر، يا ماتريس، حذفي

Felony
سه شنبه 16 مهر 1387, 23:00 عصر
1
.الگوریتمی بنویسید که ضرایب یک معادله ی درجه ی 2 را از وردودی گرفته و ریشه های این معادله را محاسبه کند و چاپ کند.

اولی رو خودم نوشتم مونده دومی یعنی این :


.الگوریتمی بنویسید که ضرایب یک دستگاه دو معادله ، دو مجهول را از ورودی گرفته و ریشه های معادله را به دست آورد و چاپ کند.

Felony
سه شنبه 16 مهر 1387, 23:03 عصر
چناب obalitjoOon ممنون همون موقع که شما این پست رو دادید من خودم الگوریتم اولی رو نوشتم ، در ضمن من الگوریتم میخواستم نه برنامه ی پاسکال .

اوبالیت به بو
سه شنبه 16 مهر 1387, 23:17 عصر
روش كرامر مي گم راحت تره:

دستگاه 2 معادله 2 مجهولي معمولاً به صورت زير هستش:


ax + by = c
Ax + By = C

حروف كوچيك و بزرگ تفاوت دارن.
بعد دترمينان اين دستگاه رو حساب مي كني:


Term:= a* B - b*A;

حالا براي محسابه X از اين فرمول استفاده مي كني:


x:= ((b*C) +- (C*B)) / Term;

و براي محسابه Y از اين فرمول:



y:= ((a*C) +- (c*A)) / Term;


منظور از +- اين هست كه ممكنه جواب حاصلضرب مثبت يا منفي بشه.