AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eine ganzzahl herrausfinden?

Ein Thema von heru1990 · begonnen am 20. Mai 2008 · letzter Beitrag vom 20. Mai 2008
Antwort Antwort
Seite 2 von 2     12   
heru1990

Registriert seit: 20. Mai 2008
8 Beiträge
 
#11

Re: Eine ganzzahl herrausfinden?

  Alt 20. Mai 2008, 21:56
Delphi-Quellcode:
const
  EPSILON = 1E-8;

function F(x: Double): Double;
begin
  Result := (-8/5) * x + Sqrt(39 / 25 * x * x - 19);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  x, y: Double;
begin
  x := -100;

    while (39 / 25 * x * x - 19) < 0 do
    begin
    x := x + 0.0001;
    end;
    
  repeat
    x := x + 0.0001;
    y := F(x);
  until IsZero(y - Round(y), EPSILON);
  ShowMessage(Format('%0.4f %.0n', [x, y]));
end;
naja ich hab jetzt ein while rein mit der das eigentlich umgangen werden müsste, jedoch besteht das problem weiterhin
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#12

Re: Eine ganzzahl herrausfinden?

  Alt 20. Mai 2008, 22:17
Besser so:

Delphi-Quellcode:
const
  INFIMUM = -100;
  MAXIMUM = 1000;
  EPSILON = 1E-8;
  STEP = 1E-4;

function F(x: Double): Double;
var
  r: Double;
begin
  r := 39 / 25 * x * x - 19;
  if r < 0
    then Result := NaN
    else Result := (-8/5) * x + Sqrt(r);
end;

procedure TDemoForm.Button14Click(Sender: TObject);
var
  x, y: Double;
begin
  x := INFIMUM;
  repeat
    x := x + STEP;
    y := F(x);
  until IsNaN(y) or (x > MAXIMUM) or IsZero(y - Round(y), EPSILON);
  if IsNaN(y)
    then ShowMessage('rats')
    else ShowMessage(Format('x = %0.4f y = %.4f', [x, y]));
end;
Analysiere die Unterschiede.
  Mit Zitat antworten Zitat
heru1990

Registriert seit: 20. Mai 2008
8 Beiträge
 
#13

Re: Eine ganzzahl herrausfinden?

  Alt 20. Mai 2008, 22:29
da hätte ich jetzt mal eine frage:

wenn ich klicke kommt sofort 'rats'

wenn ich jedoch schritt für schritt (F7) das Programm durchgehe geht er nicht bis dahin?!?
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: Eine ganzzahl herrausfinden?

  Alt 20. Mai 2008, 22:39
Und was schließt du daraus?

"Herr Doktor, wenn ich mit meinem Finger hier drücke, dann tut es unwahrscheinlich weh. Auch hier und hier und hier, was stimmt da nicht?"
"Ihr Finger ist gebrochen!"

Ohne Haltepunkt verlässt dein Programm wahrscheinlich sehr schnell den Gültigkeitsbereich.
Bei schrittweisem Abarbeiten benötigst du vielleicht eine Million Durchläufe.

Gute Nacht.
  Mit Zitat antworten Zitat
heru1990

Registriert seit: 20. Mai 2008
8 Beiträge
 
#15

Re: Eine ganzzahl herrausfinden?

  Alt 20. Mai 2008, 23:05
okay sry die frage hätte ich mir wirklich sparen können aber vielen dank
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz