Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   kurvendiskussion linearer Funktionen mit Delphi (https://www.delphipraxis.net/179365-kurvendiskussion-linearer-funktionen-mit-delphi.html)

user14 2. Mär 2014 20:06

kurvendiskussion linearer Funktionen mit Delphi
 
Hallo an die Welt da draußen! Ich bin ein verzweifelter Informatik-nicht-könner. Ich hab mich jetzt entschlossen, eine Kurvendisskussion für lineare Funktionen mit DELPHI durchzuführen. Allerdings weiß ich nicht, wie ich starten soll und wie es dann weiter geht. Kann mir jemand einen ersten Ansatz geben?
Ich würde mich freuen, wenn wir von ganz vorn anfangen. Natürlich möchte ich möglichst viel selbst machen, sodass ich es letztlich vielleicht doch verstehe. Aber selbst für das Formular hab ich sooooo viele Ideen.. Das Problem ist nur, dass ich nicht weiß, was für mich bzw für den Computer später am sinnvollsten ist. Ich weiß nicht, was bei dem Programm noch alles auf mich zukommen wird. Würde mich also freuen, wenn ihr mir helfen könntet. Lg :wink:

BUG 2. Mär 2014 20:25

AW: kurvendiskussion linearer Funktionen mit Delphi
 
Zitat:

Zitat von user14 (Beitrag 1250326)
Allerdings weiß ich nicht, wie ich starten soll und wie es dann weiter geht. Kann mir jemand einen ersten Ansatz geben?

Mach das Gleiche, was du auf dem Papier machen würdest. Dann programmiere das nach :wink:

Medium 3. Mär 2014 01:08

AW: kurvendiskussion linearer Funktionen mit Delphi
 
So komplett ohne grundlegenden Ansatz können wir hier auch nur schwer helfen. Was du dir zuerst überlegen solltest ist: Was für Funktionen sollen nachher behandelt werden? In welcher Form sollen diese eingegeben werden? Ist grafische Darstellung gewünscht? Welche Berechnungen sollen mit einer gegebenen Formel angestellt werden? Wann sollen diese gemacht werden? Wie soll das Ergebnis dargestellt werden? (Textliste, vorgegebene Ausgabefelder, Markierungen an einem Graphen, etc. pp.)

Ein grobes "Outline" müsstest du schon mindestens machen, damit man ungefähr weiss, auf was es nachher hinauslaufen könnte, bzw. wovon man dir erstmal abraten sollte. Auch wäre wichtig zu erfahren wir groß dein Kenntnisstand so in etwa ist. Man kann fast jede Aufgabe entweder sehr einfach und "dirty" lösen, oder softwaretechnisch sauber und universell lösen wie es in einem Lehrbuch stehen sollte. Letzteres erfordert meist einen guten Happs mehr Wissen und Methode.

Bis zu dem Punkt wo du dir genau überlegt hast was der User nachher wo eingeben, und was er wo und wann als Ergebnis nachher sehen soll, und einem ersten ernsten Formular-Entwurf solltest du schon einmal kommen, bevor wir hier über die eigentliche Umsetzung (oder Umbauung) der genauen Funktionalitäten reden können. Das grobe Konzept können wir dir nicht abnehmen.

user14 4. Mär 2014 19:29

AW: kurvendiskussion linearer Funktionen mit Delphi
 
so. Ich hab jetzt so die ersten Ansätze und wahrscheinlich hab ich mir das alles viel zu kompliziert vorgestellt.
Ich hätte da (bis jetzt) eine konkretere Frage.

Also erstmal kurz zur Aufklärung. In dem Programm muss man ein m (für den Anstieg der Funktion) und ein n (für die Verschiebung gegen y-Achse) eingeben. (allgemeine Form y=m*x+n)
Das Programm soll meiner Meinung nach einen showmessage ausgeben, wenn der User vergisst m einzugeben. Außerdem soll das Programm auch dann arbeiten, wenn für n kein Wert angegeben wurde.
Habt ihr eine Idee? :)

BUG 4. Mär 2014 19:57

AW: kurvendiskussion linearer Funktionen mit Delphi
 
Ehrlich gesagt wundere ich mich schon, was man bei linearen Funktionen großartig an Kurvendiskussion machen kann ... im Grunde kann nur die Schnittpunkte mit den Achsen berechnen :gruebel:

Im Prinzip musst dein Programm das Folgende tun:
  1. die Eingabe in Gleitkommazahlen (double) umwandeln
  2. die Achsenschnittpunkte berechnen
  3. die errechneten Werte wieder in Strings umwandeln und ausgeben
Wobei benötigst du Hilfe?

user14 4. Mär 2014 20:17

AW: kurvendiskussion linearer Funktionen mit Delphi
 
Ja, allzuviel gibt es da wahrscheinlich nicht zu tun.
Bis jetzt hab ich das auch alles soweit, also mit den Schnittpunkten, etc.
Allerdings hätte ich gern, dass Delphi auch die Schnittpunkte ausgibt, wenn ich kein n eingegeben habe. Bis jetzt ist es so, dass ich für beide Variablen einen Wert eingeben muss...

Medium 5. Mär 2014 01:13

AW: kurvendiskussion linearer Funktionen mit Delphi
 
"Kein Wert für n" ist bei dir gleichbedeutend mit "n bekommt den Wert 0"? (Matehmatisch sind das zwei Paar Schuhe, das aber nur am Rande.) Wenn es bei leerer Eingabe 0 sein soll, prüfe vor dem Berechnen ob das Edit-Feld leer ist, und setze in diesem Fall n=0, sonst auf den Wert, der im Feld steht.

Volker Z. 5. Mär 2014 01:16

AW: kurvendiskussion linearer Funktionen mit Delphi
 
Hallo,

Zitat:

Allerdings hätte ich gern, dass Delphi auch die Schnittpunkte ausgibt, wenn ich kein n eingegeben habe. Bis jetzt ist es so, dass ich für beide Variablen einen Wert eingeben muss
Du kannst Delphi schon dazu "überreden" in einem solchen Fall (fehlende Ordinate) Schnittpunkte auszugeben - dazu musst Du nur Dein Programm entsprechend implementieren.

Eine fehlende Ordinate (Variable n = 0) in Deiner Polynomfunktion ersten Grades heißt doch letztlich nichts anderes als: Es gibt definitiv keine Verschiebung in Y-Richtung - oder: Die Gerade geht sicher durch den Ursprung.

Zitat:

[...] Ich weiß nicht, was bei dem Programm noch alles auf mich zukommen wird [...]
Naja, dass kann ich Dir jetzt auch nicht wirklich (vorher)sagen, aber: Wenn sich die Problemstellung nicht grundlegend ändern sollte - urplötzlich Polynome höheren Grades oder gar andere Funktionen (e^x, ln (x), sin (x), cos (x) etc.) "diskutiert" werden sollen -, dann wird wohl nicht viel mehr dazu kommen, und dann heißt das:

Zitat:

[...] Natürlich möchte ich möglichst viel selbst machen, sodass ich es letztlich vielleicht doch verstehe [...]
Da ist Dein Ansatz wirklich mehr als löblich ist(!) und es ließe sich letztlich alles recht einfach auflösen mit (Pseudocode, ich lass die Code-Tags mal bewusst weg [oh, Bob, was für ein gepfriemel]):

Steigung = LeseSteigung;
Ordinate = LeseOrdinate;
wenn Steigung nicht definiert oder Null und Ordinate nicht angeben oder Null dann
   ZeigeNachricht: "f (x) = 0! Das ist jetzt aber nicht wirklich Ihr Ernst oder?"
ansonsten
   wenn Steigung nicht definiert oder Null dann
      ZeigeNachricht: "Schnittpunkte: Keine Nullstelle, mit der Y-Achse bei Ordinate (0; Ordinate)"
   ansonsten
      wenn Ordinate nicht definiert oder Null dann
        ZeigeNachricht: "Schnittpunkte: Nullstelle bei (0; 0), keine mit der Y-Achse"
   ansonsten
        ZeigeNachricht: "Schnittpunkte: Nullstelle bei (-Berechne (Ordinate geteilt durch Steigung); 0) und mit der Y-Achse bei (0; Ordinate)")


Jetzt noch alles in ein Delphi-Äquivalent gegossen, fertig.

Sollten sich doch noch Fragen ergeben, dann helfen die Kollegen - auch ich - gerne weiter


Gruß

user14 5. Mär 2014 16:56

AW: kurvendiskussion linearer Funktionen mit Delphi
 
Erstmal vielen Dank für eure Antworten:)

Ich hab gerade nochmal verschiedene Befehlslisten durchgeschaut, bin aber nicht so richtig fündig geworden. Gibt es einen Befehl,in dem ich sagen kann: z.B. if y no value ?
oder muss ich das irgendwie umschreiben?
LG :)

Volker Z. 5. Mär 2014 23:15

AW: kurvendiskussion linearer Funktionen mit Delphi
 
Hallo,

Zitat:

Ich hab gerade nochmal verschiedene Befehlslisten durchgeschaut [...] Gibt es einen Befehl,in dem ich sagen kann: z.B. if y no value ? oder muss ich das irgendwie umschreiben?
:gruebel:

Ich rate da jetzt mal fröhlich ins Blaue rein:
Delphi-Quellcode:
s := GetSlope; // GetSlope liefert die Steigung, was auch immer der User eingeben hat, oder 0, wenn die Eingabe nicht gültig ist
y := GetYAxis; // GetYAxis liefert die Verschiebung in Y-Richtung, was auch immer [...]
if (s = 0.0) and (y = 0.0) then
  ShowMessage ('f (x) = 0! Das ist jetzt aber nicht wirklich Ihr Ernst oder?');
else
  [...]
Geht das in Deine Richtung?

Gruß


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz