Autor Beitrag
Speedy2507
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 06.03.07 18:03 
Heeeey


ich brauche dringend eure Hilfe, ich habe in der Schule mein Seminarfach Informathik!! Fuer meine Klausurn soll ich mir jetz ueberlegen, wie ich ein Programm programmiere das eine Mathematische gleichung 4. Grades, den Graphen der Funktion in ein Koordinaten system eintraegt!!


Kann mir jemand Helfen!!!???

Bitte um eure antworten!!

Danke!!

Chris
jakobwenzel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 1889
Erhaltene Danke: 1

XP home, ubuntu
BDS 2006 Prof
BeitragVerfasst: Di 06.03.07 18:06 
DU sollst dir was überlegen.

Wie wärs erstmal mit der Suche? Da solltest du genug finden.

_________________
I thought what I'd do was, I'd pretend I was one of those deaf-mutes.
Speedy2507 Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Di 06.03.07 18:11 
Ich woll ein Programm schreiben, das einen Mathematischen Term, als graphen in ein Koordinaten system eintraegt!!


Ich habe gesucht und gesucht!! und habe nichts gefunden!!

Waere nett wenn du eine Seite oder Threat wuesstest mir ihn sagen wuerdesT!!!

Danke!!!
Tilo
ontopic starontopic starontopic starontopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 1098
Erhaltene Danke: 13

Win7 geg. WInXP oder sogar Win98
Rad2007
BeitragVerfasst: Di 06.03.07 18:18 
grundlegende Frage: Wie wird der Term eingegeben?
als Zeichenkette? ->Praser
in einer Maske? ->Maske erstellen und nutzen
JayEff
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2971

Windows Vista Ultimate
D7 Enterprise
BeitragVerfasst: Di 06.03.07 18:35 
Hallo und :welcome: in der Entwickler-Ecke!
Freut mich, dass du zu uns gefunden hast.
Erstens: Wir brauchen keine 3 ! nach jedem Satz ;)
Zweitens: Wir hassen es, wenn jemand sagt "Macht bitte meine Hausaufgaben für mich" ;)
Aber keine Sorge, wir helfen dir natürlich, nur halt ohne dir sämtliche Arbeit abzunehmen ;)
Tilos Antwort ist jetzt vielleicht etwas knapp geraten, aber er sagt im Prinzip alles, was du wissen musst.
Nun, um meine Antwort etwas individueller zu gestalten, sag doch mal, was du Delphimäßig so drauf hast. Bist du mehr so der Halbprofi oder eher ein absoluter Anfänger? Denn wenn du nicht mindestens ein halber Profi bist, wirst du niemals selbst einen Parser schreiben können! Ein Parser ist ein Algorithmus, der einen String wie "sin(x+5)/(cos(b)*ln(3))" interpretiert und berechnet. Das ist ziemlich kompliziert, und füllt ganze Units (Such mal im Forum nach einem "Mathematischen Parser" wenn du es nicht selbst programmieren musst, hier gibts was, das du benutzen kannst).
Was die Maske betrifft, die Tilo angesprochen hat:
Du hast eine feste Form, wie die Gleichung aussehen muss...:
ausblenden Quelltext
1:
 f(x)= a*x³ + b*x² + c*x + d					

Nun gibts du dem User die Möglichkeit, in 4 verschiedenen Edits Werte für a, b, c und d einzugeben, und dann soll er auf "Graph zeichnen" klicken. In dieser Methode hast du dann eine forschleife, in der du die x-Werte von -50 nach +50 oder so durchläufst. In dieser berechnest du dann die y-Werte und zeichnest sie aufs Canvas per Canvas.Pixels[x,y]:=clBlack;
Wenn du weitere Fragen hast, beantworte ich sie gern ;)

_________________
>+++[>+++[>++++++++<-]<-]<++++[>++++[>>>+++++++<<<-]<-]<<++
[>++[>++[>>++++<<-]<-]<-]>>>>>++++++++++++++++++.+++++++.>++.-.<<.>>--.<+++++..<+.
Kroko
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1284

W98 W2k WXP
Turbo D
BeitragVerfasst: Mi 07.03.07 06:37 
Kein Koordinatensystem gefunden, ohhhhhhh

_________________
Die F1-Taste steht nicht unter Naturschutz und darf somit regelmäßig und oft benutzt werden! oder Wer lesen kann, ist klar im Vorteil!
Jakob_Ullmann
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 1747
Erhaltene Danke: 15

Win 7, *Ubuntu GNU/Linux*
*Anjuta* (C, C++, Python), Geany (Vala), Lazarus (Pascal), Eclipse (Java)
BeitragVerfasst: Sa 10.03.07 08:53 
Mach doch folgendes:
Nimm ein TeeChart!
Oder du machst das hier:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
begin
  Canvas.Brush.Color := clBlue;
  Canvas.Pen.Color := clNavy;
  Canvas.Ellipse(StrToInt(Edit1.Text)-3,StrToInt(Edit2.Text)-3,StrToInte(Edit1.Text)+3,StrToInt(Edit3.Text)+3);
end;
//und bei Create des Forms:
//------------------------
begin
  //Zeichne mit Canvas das Koordinatensystem

Ich würde dir dennoch TeeChart (TChart) empfehlen.
Findest du bei www.steema.com (neben TeeTree).
x2
Hält's aus hier
Beiträge: 3



BeitragVerfasst: So 11.03.07 20:46 
Ich denke mal das wird dir weiterhelfen...
ein bißchen nachdenken musst du trotzdem noch zB. bei k ist nämlich variabel für den zoom...
die müsstest du vllt ändern...
und das alles wird in TImage gezeichnet...(bei mir) ^^
und z auch selber definieren...
ausblenden volle Höhe Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
implementation
  var   xmin,xmax,ymin,ymax,k,i,z:Integer;

      begin
      Brush.Color:=clWhite;    //Hintergrundfarbe
      Pen.Color:=clBlack;      //Linienfarbe
      RectAngle(0,0,402,402);

      xmin:=1;
      xmax:=401;
      ymin:=1;
      ymax:=401;
 //Raster und Einteilung der x-Achse
      for i:=1 to z do
        begin
          Pen.Color:=clLtGray;
          moveto(xmin+k*i,ymin);
          lineto(xmin+k*i,ymax);
          Pen.Color:=clBlack;
          moveto(xmin+k*i,201-3);
          lineto(xmin+k*i,201+3);
        end;
 //Raster und Einteilung der y-Achse

      for i:=1 to z do
        begin
          Pen.Color:=clLtGray;
          moveto(xmin,ymin+k*i);
          lineto(xmax,ymin+k*i);
          Pen.Color:=clBlack;
          moveto(201-3,ymin+k*i);
          lineto(201+3,ymin+k*i);
        end;

 //Koordinatenkreuz

          moveto(xmin,201);
          lineto(xmax,201);
          moveto(201,ymin);
          lineto(201,ymax);

 //Pfeilspitze  x-Achse

          Brush.Color:=clBlack;
          Polygon([Point(390,198),Point(401,201),Point(390,204),Point(390,198)]);

 //Pfeilspitze y-Achse

          Polygon([Point(198,11),Point(201,1),Point(204,11),Point(198,11)]);
          Brush.Color:=clWhite;

 //Achsenbeschriftung

          Textout(390,205,'x');
          Textout(190,1,'y');

          if k=25 then
            begin
              Textout(222,205,'1');
              Textout(169,205,'-1');
              Textout(190,169,'1');
              Textout(186,219,'-1');
            end;
if k=10 then
            begin
              Textout(222,205,'3');
              Textout(169,205,'-3');
              Textout(190,169,'3');
              Textout(186,219,'-3');
            end;

         if k=50 then
            begin
              TextOut(245,205, '1');
              TextOut(142,205,'-1');
              TextOut(181,145, '1');
              TextOut(178,245,'-1');
            end;

         if k=5 then
            begin
              Textout(222,205,'5');
              Textout(169,205,'-5');
              Textout(190,169,'5');
              Textout(186,219,'-5');
            end;

hoffe es hilft weiter... ansonsten schönen abend noch =)