Italia
Include

Mathematik leicht gemacht - INCLUDE mit leichtem Code.

 
- Page 1 -



Gary12345
Ciao,

ich habe eine Include basierend auf leichtem XPROFAN Code erstellt.

Download

Funktionen aus dem Code ablesbar!

10 kB
Hochgeladen:01.02.2013
Downloadcounter263
Download
 
MfG
Gary12345
27.01.2013  
 



 
- Page 4 -



Jörg
Sellmeyer
Du musst dir einige Sachen in der Aiuto 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

En
/a>

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 per 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 per 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 finora 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  
 



 
- Page 5 -



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

Nur ich bin ein Anfänger und werde Problem per Problem löasen und nicht 10 auf einmal. Dazu sollte der COde per 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 Stabilire.

Gary12345 (31.01.13)

Dazu sollte der COde per 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 per die Öffentlichkeit geschrieben und per mich zum lernen. Das diese sich noch auf dem Anfängerniveau è, 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 necessario 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 per 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 Aiuto nach "Namensraum".
In einer Include-File 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  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

51.583 Views

Untitledvor 0 min.
Erhard Wirth14.06.2024
XProfan Newbie18.02.2023
rafl21.06.2022
Member 229993121.10.2019
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


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