Deutsch
Includes

Mathematik leicht gemacht - INCLUDE mit leichtem Code.

 
- Seite 1 -



Gary12345
Hallo,

ich habe eine Include basierend auf leichtem XPROFAN Code erstellt.

Download

Funktionen aus dem Code ablesbar!

10 kB
Hochgeladen:01.02.2013
Ladeanzahl262
Herunterladen
 
MfG
Gary12345
27.01.2013  
 



 
- Seite 4 -



Jörg
Sellmeyer
Du musst dir einige Sachen in der Hilfe und hier im Thread noch mehrmals und sehr gründlich durchlesen!!
KompilierenMarkierenSeparieren
Proc Addieren//Addiert Floatwerte a! und b! miteinander. Funktion ist also: Addieren(a!,b!). Beispiel dazu wäre: Addieren(2,4). Das Ergebnis wäre dann logischerweise 6

    parameters a!,b!
    declare ?_Addieren!
    set("decimals",2)//Kürzt die Zahl auf zwei Nachkommastellen
    ?_Addieren! = a!+b!//Funktion
    return ROUND(?_Addieren!,2)//Rundet die Zahlen auf zwei Nachkommastellen

EndProc


Hier rufst du zB die Proc Addieren mit Return nochmal auf und erhälst eine endlose Wiederholung.
Und solange du Set("Decimals",2) und Round in deiner Prozedur hast, sind die Funktionen schlicht unbrauchbar.
Außerdem: mal ganz unter uns... wenn ich x = 1+3 schreiben kann, warum sollte ich dann x = Addieren(1,3) schreiben?

Damit will ich gar nicht sagen, dass du nicht weitermachen sollst. Ist bestimmt ne gute Übung für dich. Aber häng doch einfach alles etwas tiefer. Anstatt das hier wie die Neuerfindung von geschnittenem Brot anzupreisen, schreib einfach, dass du das ganze für dich zum Lernen sehr nützlich findest.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
31.01.2013  
 




Gary12345
Gehen wird die Sache mal ganz gechillt an

Mit Return will ich das Ergebnis Round(?_Addieren!,2) angeben. Das wurde mir hier sogar im Thread gesagt. Damit wird eine Prozedur abgeschlossen.

Mit Set("Decimals",2) will ich die Nachkommastellen auf 2 kürzen und diese dann auf zwei Nachkommastellen runden. Siehe da keinen Fehler.

Wenn ich eine mathematische Include schreiben will, warum nicht gleich alltägliche Funktionen? Sehe da schon den Sinn.

Oder verstehe ich mit Return was falsches?
Servus
 
MfG
Gary12345
31.01.2013  
 




Julian
Schmidt
Gary12345 (31.01.13)

Mit Set("Decimals",2) will ich die Nachkommastellen auf 2 kürzen und diese dann auf zwei Nachkommastellen runden. Siehe da keinen Fehler.


Der Fehler liegt darin, das du damit den Anwender vorschreibst, dass er Zahlen mit zwei Nachkommastellen verwenden muss.
Besser wäre, wenn du den Programmierer den Freiraum läst diese selbst zu definieren, ohne das er in deinen Include-Code herumwühlen muss.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.01.2013  
 




Julian
Schmidt
Gary12345 (31.01.13)

Wenn ich eine mathematische Include schreiben will, warum nicht gleich alltägliche Funktionen? Sehe da schon den Sinn.


Dann wenigsten Funktionen, welche gleichwertig mit XProfan-Funktionen sind.

In XProfan kannst du Beispielsweise auch Summen mit mehreren Summand ausrechnen. Bei dir können bislang nur maximal zwei Summanden angegeben werde, andernfalls muss man mehrere Funktionsaufrufe ineinander verknüpfen.

Du könntest nun hergehen und in deiner Funktion die angabe von unendlich vielen Summanden als Parameter erlauben. Dann würde deine Funktion unter Umständen sogar Vorteile bringen, weil man weniger Klammern setzten müsste.
Falls du es versuchen willst schau dir %ParCount in Kombination mit einer whileloop-Schleife an. Die Parameter bekommt du dann per @!(N).
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.01.2013  
 



 
- Seite 5 -



Gary12345
Das mit Set("decimals",2) und ROUND werde ich noch für den Benutzer anpassen. Keine Sorge.

Nur ich bin ein Anfänger und werde Problem für Problem löasen und nicht 10 auf einmal. Dazu sollte der COde für mich leicht verständlich sein.
Und das mit mehrern Summanden kann auch irgendwann mal eingebaut werden. Keine Sorge

Servus
 
XProfan X2
MfG
Gary12345
31.01.2013  
 




Gary12345
Neues Update raus. Bei einigen Funktionen kann man decimals! und Rundungswert angeben. Bei Flächen und Volumen habe ich das bewusst nicht gemacht.

Besser? Irgendeinen Fehler im Code?
 
XProfan X2
MfG
Gary12345
31.01.2013  
 




Julian
Schmidt
Gary12345 (31.01.13)

Neues Update raus. Bei einigen Funktionen kann man decimals! und Rundungswert angeben. Bei Flächen und Volumen habe ich das bewusst nicht gemacht.


Ich würde generell aus allen Routinen Round und SetDecimals entfernen, aus den bereits oben genannten Gründen.

Gary12345 (31.01.13)

Dazu sollte der COde für mich leicht verständlich sein.


Dann solltest du mal anfangen deinen Code einzurücken. So ist er nämlich wirklich unübersichtlich und es ist eine Qual sich darin zurechzufinden.

Gary12345 (31.01.13)

Und das mit mehrern Summanden kann auch irgendwann mal eingebaut werden.


Bezog sich nicht nur auf Summanden, sondern auch auf Minuenden und und und.

Für was gibt es eig. die Info-Routinen? Schreib doch alles direkt in die Routinen als Kommentar so wie du es Teilweise auch schon gemacht hast.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
31.01.2013  
 




Gary12345
Ich habe teilweise kommentiert. Die Info ist nur zur Show da (wers braucht, kanns ja verwenden).

Ich habe die Include für die Öffentlichkeit geschrieben und für mich zum lernen. Das diese sich noch auf dem Anfängerniveau befindet, ist mir bewusst.

Ich überlege noch, ob ich ROUND und SetDecimals aus dem Code entfernen werden.

Ja ich weiss....meine Einrückungen

Servus
 
MfG
Gary12345
31.01.2013  
 




Jörg
Sellmeyer
Ok - ich muss mich korrigieren. Hatte mich verlesen und gedacht, du sendest die Funktion Addieren mit Return zurück. Du hast aber die Variable Addieren! mit einem Namensraum-Tag versehen.
Das ist hier nicht notwendig, da du Addieren! nur lokal in einer Prozedur deklarierst. Diese Variable ist außerhalb der Prozedur nicht sichtbar und benötigt keine Maskierung durch einen Namensraum.
Wichtiger wäre es, die Funktion Addieren mit ?_Addieren zu versehen, da das ein Name ist, der im ganzen Programm bekannt ist, und zu Kollisionen führen kann, wenn jemand, die gleiche Bezeichnung für eine Funktion verwendet.

Die Einrückungen, kannst du dir hier im Editfeld übrigens vornehmen lassen und brauchst das dann nur noch in deinen Editor kopieren und abspeichern.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01.02.2013  
 




Gary12345
Das würde dann bedeuten, dass wenn ich die Proc mit ?_Addieren bezeichnet habe, auch die Funktion so heißen muss? Also ?:Addieren(4,2,2,2) =6.00 ?

LG
 
XProfan X2
MfG
Gary12345
01.02.2013  
 




Jörg
Sellmeyer
Such mal in der Hilfe nach "Namensraum".
In einer Include-Datei ist das nicht zwingendnotwendig, da der Anwender ja sehen kann, welche Funktionsnamen verwendet werden und seinen Quelltext oder den der Include ggf. anpassen kann.
Ich nehme an, du meinst ?_Addieren(4,2,2,2)
decimals!,runden! sollten Integerwerte sein. Man kann nicht auf 1,5 Stellen Runden und auch die Nachkommastellen können nur ganzzahlig sein.
 
Windows XP SP2 XProfan X4
... und hier mal was ganz anderes als Profan ...
01.02.2013  
 




Gary12345
Neues Update raus. decimals und runden wurden jetzt auf integer gesetzt. Auch wurden den Prozeduren ein Namensraum gegeben (nicht die Infos, da ich überlege, ob ich die ausbaue).

Vieta wird jetzt offiziell nicht eingebaut. Werde jetzt an einem Taschenrechner arbeiten, um dann Beispielcodes mitliefern zu können.
 
XProfan X2
MfG
Gary12345
01.02.2013  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

51.147 Betrachtungen

Unbenanntvor 0 min.
Erhard Wirth14.06.2024
XProfan Newbie18.02.2023
rafl21.06.2022
Member 229993121.10.2019
Mehr...

Themeninformationen



Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie