Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Fakultät und Exeption (https://www.delphipraxis.net/85606-fakultaet-und-exeption.html)

h4nnes_ 2. Feb 2007 07:22


Fakultät und Exeption
 
Hallo allerseits!
Ich möchte mich mal vorstellen, bin Johannes T. aus Graz (AUT). Hoffe ich kann viel bei eurer Community beitragen.

Mein derzeitiges Problem liegt bei einer Delphi Hausübung. Ich bin Maturant (Abitur) in einem Gymnasium mit Informatik Zweig, tu mir nicht gerade leicht mit den von der Professorin gestellten Aufgaben.

Vielleicht weißt ihr dazu mehr... ich versteh nur Bahnhof, jedoch muss das bis Montag abgegeben werden.


Zitat:

Fakultät und Exeption


Der Benutzer soll auf eine SDI-Formular eine ganze und positive Zahl für den Wert n mittels eines geeignet beschrifteten Editfelds, das mit 0 initialisiert ist, eingeben können.
Über eine Raiogroup soll der Benutzer auswählen können, ob er n! oder 1/n! (1/n!)oder Summe die arithmetische Summe von 1 bis n gebrochen durch n! ((1+2+…+n)/n!) berechnet haben möchte!
1) Gestalten Sie ein geeignetes SDI-Formular
2) Lösen Sie die jeweiligen Berechnungen mittels geeigneter, globaler Funktionen
3) Sorgen Sie durch eine umfassende Exceptionbehandlung daür, dass vom Benutzer unzulässige Werte zu einer Fehlermeldung aber nicht zur Programmtermination führen.
4) Geben Sie die errechneten Werte in einem RichEditfeld aus
5) Erstellen Sie geeignete Menüpunkte, um die Inhalte des RichEditfelds entweder in die Zwischenablage zu kopieren, in einem vorerst unsichtbaren Listfeld anzuzeigen oder aus zudrucken können.

Kennt sich einer damit aus, bitte mich ICQ zu ädden oder mir hier sagen wie das gehen soll :idea:


Vielen herzlichen Dank, MFG, :P

mkinzler 2. Feb 2007 07:25

Re: Servus!
 
Wo happerts? Was hast du schon?

Matze 2. Feb 2007 07:29

Re: Servus!
 
Hi,

herzlich willkommen. Bitte ändere den Titel so, dass er dein Problem ein wenig beschreibt.

Du musst ein Formular erstellen, ein TEdit darauf setzen, in das ganze Zahlen eingegeben werden sollen (bei Programmstart soll im Edit 0 stehen) und über ein Menü (MainMenu/Buttons) sollst du eine Funktion aufrufen, die dir entsprechend die 2 Formeln berechnet. Die Ausgabe im RichEdit ist auch nicht schwer.

Wie man eine Zahl einliest und eine Funktion erstellt hast du sicher gelernt. Mit einer Schleife pro Funktion ist das schnell gelöst. Du kannst auch beide Berechnungen in eine Funktion packen und über einen Parameter die zusätzliche Division 1/x durchführen.

Gibt man ins Edit einen Buchstaben oder ähnliches ein, darf dein Programm nicht abstürzen, also überprüfe, ob es sich um eine Zahl handelt. Aber auch das hattet ihr sicher im Unterricht. Wie man den Inhalt eines RichEdits druckt, steht in der DP.


Gruß

Phoenix 2. Feb 2007 07:31

Re: Servus!
 
Hallo Hannes,

erstmal herzlich willkommen in der DP. :hi:

Jetzt hab ich aber gleich ein paar Punkte zum meckern ;-)

1.) 'Servus!' mag eine nette Begrüßung sein, aber als Titel hier in der DP hat das nichts zu suchen. Bitte drücke bei Gelegenheit rechts oben auf 'Edit' an Deinem Beitrag und gebe dem Ding einen gescheiten Namen, der auch etwas über das Problem aussagt.


2.) Programmieren allgemein ist das nicht. Gut, das kannst Du noch nicht wissen, aber das sollte eher in eine der Delphi-Sparten. Darum werde ich mich kümmern.

3.) Das Problem ist zu Pauschal.
Um ehrlich zu sein ist das nichts, was die meisten von uns hier nicht in einer halben Stunde zusammengeklickt hätten, aber damit ist Dir nicht geholfen.

Zeige uns doch mal, was Du schon hast, bzw. erkläre uns genau, wo Du Verständnisprobleme hast. Wenn Du z.B. nicht weisst was ein SDI ist, dann hilft Dir hier unser Hint schon weiter - bzw. liefert er Dir zumindest den voll ausgeschriebenen Namen von dem Ding bei dem Dir Mr. Google oder auch die Forensuche hier schon weiterhelfen kann.

Wenn Du Probleme mit den Algorithmen zur Fakultät oder zur Summierung hast, dann ist das hier zwar die richtige Sparte, aber ohne konkrete Problemstellung wird Dir hier keiner helfen.

4.) Wir sind kein Hausaufgaben-Mach-Forum. Wenn Du willst, dass jemand das einfach so für Dich macht, dann darfst Du gerne die Leute hier entsprechend anfragen - aber dann rechne auch damit, dass die Stundensätze die hier genannt werden nicht gerade im Zehn bis dreissig-Euro-Bereich liegen sondern ein gutes Stück darüber. Sobald Du Eigeninitiative zeigst, zeigst was Du schon hast und wo Du nicht weiterkommst, ist das alles kein Problem und die kleinen Hürden die sich Dir in den Weg stellen sind sicher schnell ausgeräumt.


Vorschlag an der Stelle: Bau doch zuerstmal das Formular auf. Was da drauf soll steht ja in der Aufgabe. Und dann Versuch doch den ersten Teil der Aufgabe (Fakultät) schonmal hinzubekommen.

Edit Nachtrag: Himmel ist der Matze heut früh schon wieder schnell... schneller als es der rote Kasten erlaubt .oO

DP-Maintenance 2. Feb 2007 07:34

DP-Maintenance
 
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "VCL / WinForms / Controls" verschoben.
Hier gehts nach der Aufgabe zu schliessen erstmal um TForm, TButton, TRichEdit etc.. also ab nach Komponenten und der Umgang mit denen...

MrSpock 2. Feb 2007 07:36

Re: Servus!
 
Hallo h4nnes_,

zunächst einmal herzlich willkommen im Delphi-PRAXiS Forum.

Wir helfen gerne und in der Regel auch schnell. Dazu haben wir uns einige Regeln gegeben, die du ja auch beim Anmelden akzeptiert hast. Diese Regeln, die wir Verhaltenskodex nennen, haben auch einen Beitrag zum Thema Fragen stellen, in dem wir darum bitten, konkrete Fragen zu stellen, nachdem sich ein Mitglied mit der Thematik auseinandergesetzt hat. Das posten einer Hausaufgabe mit dem Hinweis man benötigt Hilfe, ist genau das, was wir dort explizit ausschließen. Deshalb meine Aufforderung: Sage uns, was du bisher geschafft hast, und frage dann konkret an der Stelle nach, an der du nicht weiterkommst. Dann bekommst du sicher auch schnell und kompetent Hilfe.

h4nnes_ 2. Feb 2007 11:12

Re: Fakultät und Exeption
 
Liebe User!

Danke einmal für schnelle replys.
Die Regeln des Forums werde ich mir sofort (wenn ich heim komme) durchlesen ;)...


Zunächst einmal zum Problem..

Mit der Anleitung von Matze werde ich einmal soviel probieren wie ich kann... hab ja auch schon biserl was gelernt... allerdings wirds dann mit Exception happern da ich nicht mal weiß was das ist :-/...

Am besten ist, ich mach einmal Kontrollstruktur (RadioB.), Edit Feld, Button...

Das nächste Problem wäre dann die globale Funktion. Was ist die globale Funktion? Erstelle ich sie selber? Ich arbeitete bis jetzt immer mit Prozeduren (konnte mit denen rechnen). Meine Professorin ist krank, das Abitur steht vor der Tür und wir müssen uns selbst helfen.

Also am besten ich starte mal wenn ich heim komme und halte euch am Laufenden!


Vielen herzlichen Dank, Johannes :coder2:

mkinzler 2. Feb 2007 11:16

Re: Fakultät und Exeption
 
Zitat:

Was ist die globale Funktion? Erstelle ich sie selber? Ich arbeitete bis jetzt immer mit Prozeduren
Eine Funktion ist eine Prozedur mit Rückgabewert. Man deklariert sie wie eine Prozedur

statt
Delphi-Quellcode:
proocedure <prozedurname>(<parameterliste>);
dann

Delphi-Quellcode:
function <funktionsname>(<parameterliste>):<rückgabewert;
Bsp

Delphi-Quellcode:
function f( x:integer): Entended;
...
y := f(x); //Aufruf

Lun 2. Feb 2007 11:24

Re: Fakultät und Exeption
 
Hi h4nnes,

Zitat:

allerdings wirds dann mit Exception happern da ich nicht mal weiß was das ist :-/...
Exceptions sind dazu da, um Fehler selber abzufangen falls diese ausgelöst werden.

Dazu hier ein Tutorial dazu.

DAs wirst du schnell lernen, das Thema ist nicht so kompliziert.

greetz Lun

hsg 2. Feb 2007 11:36

Re: Fakultät und Exeption
 
Zitat:

Zitat von mkinzler

Delphi-Quellcode:
function <funktionsname>(<parameterliste>):<rückgabewert;
Bsp

Delphi-Quellcode:
function f( x:integer): Extended;
begin
   Result := x / 2;
end;

...
y := f(x); //Aufruf

Um auch noch zu erklären, wie die Funktion den Rückgabewert bekommt :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:52 Uhr.
Seite 1 von 3  1 23      

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