Avatar billede easysoft_studios Nybegynder
20. september 2001 - 17:32 Der er 11 kommentarer og
1 løsning

matematik: algebra og ligninger

Det ikke fordi det interessere mig sønderligt, men det kunne være skæg at se om man i praktis kan lave et program, der løser en ligning!

Nogle forslag?
Avatar billede fastpoint Nybegynder
20. september 2001 - 17:40 #1
fuck den bliver kedelig og lave....

der er mange forskellige ligninger så der skal sgu looooooppess en del:)
Avatar billede easysoft_studios Nybegynder
20. september 2001 - 17:42 #2
hehe, det kan du have ret i. Men tror du ikke der må være delphikode, til den grove del af arbjedet?
Avatar billede fastpoint Nybegynder
20. september 2001 - 17:52 #3
det kan der muligvis være.....
Martinlind ved nok mere om det lad os vente og se hvad han siger:)
Avatar billede easysoft_studios Nybegynder
20. september 2001 - 18:04 #4
jeg venter spændt!
Avatar billede speedy Nybegynder
20. september 2001 - 22:10 #5
Avatar billede dkn Nybegynder
22. september 2001 - 14:45 #6
Jeg har lavet et lille program det kan regne Diskriminanten, Toppunkt og nulpunkter ud i en anden grads ligning. Det virker faktisk helt fint. Men jeg ved ikke om jeg vil give dig source til den,,,,Den sætter jo heller ikke nogle tal ind i x\'s plads, men rener bare ud fra de andre tal.

Dennis
Avatar billede mora Nybegynder
24. september 2001 - 09:45 #7
Jeg har noget i JAVA, hvis jeg husker det, kan jeg godt lave noget ligende i Delphi, nu er matematikken jo lavet :)
Avatar billede mora Nybegynder
24. september 2001 - 09:45 #8
(skal lige hjem først ... )
Avatar billede mora Nybegynder
24. september 2001 - 14:16 #9
Nu kom jeg så hjem :)

a b og c er TEdit elementer.
Memo1 er TMemo :)


procedure TForm1.Button1Click(Sender: TObject);
var
aa,bb,cc,d,res1,res2 : Real;
begin
aa:=StrToInt(a.text);
bb:=StrToInt(b.text);
cc:=StrToInt(c.text);


d:=bb*bb;
d:=d - 4*(aa*cc);

res1:=(-bb+Sqrt(d));
res1:=res1 / (2*aa);

res2:=(-bb-Sqrt(d));
res2:=res2 / (2*aa);

memo1.lines.clear;
memo1.lines.add(\'D:          \'+FloatToStr(d));
Memo1.lines.add(\'Resultat 1: \'+FloatToStr(Res1));
Memo1.lines.add(\'Resultat 2: \'+FloatToStr(Res2));
Memo1.Visible:=True;
end;
Avatar billede abx Nybegynder
25. september 2001 - 23:13 #10
Program Ligning;
{Turbo Pascal 5+ version.}
{Viser, hvordan man kan finde en loesning til en \"paen\" ligning
i Pascal og i Delphi}

{$F+,N+}
{Direktiv ikke noedvendigt i Delphi 32 bit?}

{************************************************}
Function MinFunc(x:double):double;
{Udtrykket, der skal saettes lig med nul; erstat med dit eget}
Begin
  Minfunc:=x*x-5*x+6; {Her x^2-5*x=-6}
End;
{************************************************}

Type Func=Function(x:double):double;

Function Loesning(f:Func; start_gaet,tolerance:double):double;
{Proever at finde en eller anden loesning til ligningen
f=0 ved sekant metoden udfra start_gaet.}
{Virker for \"paene\" funktioner.
Programmet crasher hvis numerisk fejl opstaar}
Var test,f1,x0,x1:double;
    slut:boolean;
    count:integer;
Begin
slut:=false;
count:=0;
x0:=start_gaet;
repeat
      f1:=(f(x0+0.0001)-f(x0-0.0001))/0.0002;
      x1:=x0-f(x0)/f1;
      test:=abs(x1-x0);
      if test<=tolerance then slut:=true;
      inc(count);
      if (count=100) and not(slut)
      then
        begin
        x1:=0.0;
        {Returner 0.0 som \"loesning\" da ingen blev fundet i 100 trin}
        slut:=true;
        end;
      x0:=x1;
until slut;
Loesning:=x1;
end ;{Loesning}

Var f:Func;
    resultat:double;
Begin
{Hoved program}
f:=MinFunc;
resultat:=loesning(f,-6,0.0001);
{Ligningen MinFUNC=0 loeses med start_gaet
-6.}
{Tolerancen justeres hvis der kraeves stoerre noejagtighed.}
writeln(resultat:4:4,\' \',MinFunc(resultat):4:4);
readln;
{Brug en editbox eller consol applikation
i Delphi til at udskrive resultatet istedet for
ovenstaende to linier}

End.
Avatar billede mora Nybegynder
25. september 2001 - 23:28 #11
Ja, ok, min er til andengrads ligninger :)

Men algebra er jo netop tal som bogstaver hvis disse skal beholdes virker mit ikke ...
Avatar billede easysoft_studios Nybegynder
30. september 2001 - 19:06 #12
Desværre mora, men jeg skal bruge tal og bogstaver, så jeg bruger abx\'s! Tak begge to!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester