![]() |
AW: Seltsames Verhalten einer Funktion
Zitat:
|
AW: Seltsames Verhalten einer Funktion
Finde ich auch - und vermutlich der Lehrer auch :lol:
|
AW: Seltsames Verhalten einer Funktion
Hallo,
Zitat:
Dann könnte später ein Kollege am Code weiterarbeiten und man wäre ersetzbar ... ;) |
AW: Seltsames Verhalten einer Funktion
Zitat:
Diese Ausfertigung darf maximal 12 Din A4 Seiten füllen, es hört sich zwar einfach an aber das ist es definitiv nicht (12 Seiten sind verdammt wenig). Ich bin jetzt schon, ohne den Vergleich von Boxplots bei ca. 12 Seiten, demnach muss ich versuchen so viel wie möglich zu kürzen. Ich erkläre sowieso alles in der Ausfertigung, zudem werden Kommentare im Code alles erklären. Der Code soll eigentlich nur "Beiwerk" sein, die Facharbeit konzentriert sich auf das erklären des Programmes und wie ich es gelöst habe. Außerdem meinte ich mit kompakt, dass ich Dinge weg lasse/auslagere die "unnötig" sind und umständliche Sachen einfacher schreiben will :) Die Facharbeit ist soweit fertig, allerdings muss ich den vergleich noch einbringen und das wird schwierig. Zur Krönung des ganzen: Ich habe meinen Lehrer gefragt ob ich ihm eine E-Mail schreiben kann um mit ihm alles zu besprechen, in dieser E-Mail war die erste Version meiner Facharbeit und ich fragte Ihn ob ich es so machen kann, diese E-Mail ist nun fast eine Woche her und bisher habe ich keine Reaktion erhalten. Und um es noch schöner zu gestalten: Am 07.05. ist die Abgabe, d.h. ich habe nicht mehr viel Zeit die schriftliche Ausfertigung zu machen und es ist natürlich nicht schön, dass man an der "einfachsten" Aufgabe nun hängt, weil man nicht genau weiß wie man es machen soll -_- (PS: Wir haben Ferien daher kann ich ihn nicht persönlich fragen und ich habe es nicht vor mir hin geschoben, die erste Version (in C++) war schon im Dezember fertig, allerdings hatte er bis vor kurzem die ganze Zeit über keine Zeit). Zitat:
Das ersetzen wird daher vielleicht etwas schwerer :P |
AW: Seltsames Verhalten einer Funktion
Hallo,
Zitat:
|
AW: Seltsames Verhalten einer Funktion
Zitat:
Aber nach einer erneuten E-Mail hat er geantwortet, habe jetzt mal einen Anhaltspunkt. wünscht mir Glück :D |
AW: Seltsames Verhalten einer Funktion
Vielleicht könnt ihr mir gerade noch diese kurze Frage beantworten:
Ich habe meinen Code ja mittlerweile zu einer Klasse umgeschrieben. Normalerweise würde man doch für jeden Boxplot eine Instanz erstellen, allerdings habe ich insgesamt nur eine Instanz für alle Boxplots erstellt. Hierbei lasse ich dann einfach eine Schleife x Boxplots zeichnen, je nachdem wie viele Datensätze vorhanden sind. Aber effektiv habe ich mir doch durch den umschrieb jetzt nichts gespart Hätte ich einen Array vom Typ meiner Klasse erzeugt (wo jeder Index eine Instanz ist) hätte es doch mehr gebracht oder bin ich gerade nur dumm? :pale: |
AW: Seltsames Verhalten einer Funktion
Zitat:
|
AW: Seltsames Verhalten einer Funktion
Zitat:
|
AW: Seltsames Verhalten einer Funktion
Zitat:
Meine Lösung ist nun:
Delphi-Quellcode:
Ist das so schon mal verständlicher? :D
procedure TBoxplot.zeichnen(Boxplot : real);
var i, xWert, index: integer; eineLaengeneinheit : Double; getHeight : array[0..9] of integer; getWidth : array[0..3] of integer; begin if Length(FZahlen) > 0 then begin xWert := 50; index := trunc(Boxplot); eineLaengeneinheit := (FSize[1]-120) / (FZahlen[index][High(FZahlen[index])] - FZahlen[index][0]); getHeight[0] := round(FSize[0] * 0.31919 + FHeight * Boxplot); getHeight[1] := round(FSize[0] * 0.13214 + FHeight * Boxplot); getHeight[2] := round(FSize[0] * 0.18379 + FHeight * Boxplot); getHeight[3] := round(FSize[0] * 0.04839 + FHeight * Boxplot); getHeight[4] := round(FSize[0] * 0.09839 + FHeight * Boxplot); getHeight[5] := round(FSize[0] * 0.21839 + FHeight * Boxplot); getHeight[6] := round(FSize[0] * 0.15839 + FHeight * Boxplot); getHeight[7] := round(FSize[0] * 0.26839 + FHeight * Boxplot); getHeight[8] := round(FSize[0] * 0.28839 + FHeight * Boxplot); getHeight[9] := round(FSize[0] * 0.27742 + FHeight * Boxplot); getWidth[0] := round(xWert + (FQuartils[index][0] - FZahlen[index][0]) * eineLaengenEinheit); getWidth[1] := round(xWert + (FMedian[index] - FZahlen[index][0]) * eineLaengenEinheit); getWidth[2] := round(xWert-1 + (FQuartils[index][1] - FZahlen[index][0]) * eineLaengenEinheit); // Name des Boxplots FPaintBox.Canvas.TextOut(xWert-20, getHeight[3]-20, FNamen[index] + ':'); // Einteilung/Markierung // Minimum FPaintBox.Canvas.TextOut(xWert-5, getHeight[0], FloatToStr(FZahlen[index][0])); drawLine(clRed, xWert, getHeight[1], xWert, getHeight[2]); // Maximum FPaintBox.Canvas.TextOut(FWidth-5, getHeight[0], FloatToStr(FZahlen[index][High(FZahlen[index])])); drawLine(clRed, FWidth, getHeight[1], FWidth, getHeight[2]); // unteres Quartil FPaintBox.Canvas.TextOut(getWidth[0]-5, getHeight[3], FloatToStr(FQuartils[index][0])); drawLine(clRed, getWidth[0], getHeight[4], getWidth[0], getHeight[5]); // FMedian[index] FPaintBox.Canvas.TextOut(getWidth[1]-5, getHeight[3], FloatToStr(FMedian[index])); drawLine(clRed, getWidth[1], getHeight[4], getWidth[1], getHeight[5]); // oberes Quartil FPaintBox.Canvas.TextOut(getWidth[2]-5, getHeight[3], FloatToStr(FQuartils[index][1])); drawLine(clRed, getWidth[2], getHeight[4], getWidth[2], getHeight[5]); //Boxplot an sich drawLine(clBlack, xWert, getHeight[6], getWidth[0], getHeight[6]); drawLine(clBlack, getWidth[0], getHeight[4], getWidth[2], getHeight[4]); drawLine(clBlack, getWidth[0], getHeight[5], getWidth[2], getHeight[5]); drawLine(clBlack, getWidth[2], getHeight[6], FWidth, getHeight[6]); //Skala for i := 0 to round(FZahlen[index][High(FZahlen[index])]-FZahlen[index][0]) do begin getWidth[3] := round(xWert + i * eineLaengenEinheit); drawLine(clBlack, getWidth[3], getHeight[7], getWidth[3], getHeight[8]); end; drawLine(clBlack, xWert, getHeight[9], FWidth, getHeight[9]); end; end; Und habt Ihr noch Tipps es übersichtlicher/verständlicher zu schreiben? :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:41 Uhr. |
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 by Thomas Breitkreuz