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.
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}
Desværre mora, men jeg skal bruge tal og bogstaver, så jeg bruger abx\'s! Tak begge to!
Synes godt om
Ny brugerNybegynder
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.