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
Downloadcounter262
Download
 
MfG
Gary12345
27.01.2013  
 



 
- Page 4 -



Gary12345

KompilierenMarkierenSeparieren
Proc Wurzel

    parameters a!
    clear mErr&
    declare Wurzel!
    set("decimals",2)

    If a!<0

        mErr&=2

    EndIf

    If mErr& = 2

        print "Negative Wurzel!"
        return

    Else

        Wurzel! = sqrt(a!)
        Return Round(Wurzel!,2)

    EndIf

EndProc

Proc ADreieck

    parameters a!,b!
    clear mErr&
    declare ADreieck!
    set("decimals",2)

    If (a!<0) or (b!<0)

        mErr&=3

    EndIf

    If mErr&=3

        print "Unlogisches Ergebnis, da - Flächeninhalt!"
        return

    Else

        ADreieck! = 0.5*a!*b!
        return ROUND(ADreieck!,2)

    EndIf

EndProc

Proc AQuadrat

    parameters a!
    clear mErr&
    declare Quadrat!
    set("decimals",2)

    If a! <0

        mErr&=4

    EndIf

    If mErr&=4

        print "Unlogisches Ergebnis, da - Flächeninhalt!"
        return

    Else

        Quadrat!=a!*a!
        return ROUND(Quadrat!,2)

    EndIf<
a class=s4 href='./../../references-fonction/xprofan/endproc/'>EndProc

Gibt alle Werte richtig aus. Habe es nicht so umgesetzt, wie Du es im obrigen Beispiel gemacht hast! Ist an meinem was falsch? Kanns mir nich vorstellen!
ADreieck gibt es keinen negativen Flächeninhalt.Daher habe ich das gemacht-
 
XProfan X2
MfG
Gary12345
30.01.2013  
 




Julian
Schmidt
Natürlich gibt es alle Werte richtig aus und ist deswegen auch korrekt.
Allerdings kannst du dir eine Menge Zeilen sparen, weil die zweite IF-Bedingung Theoretisch unnötig ist.
Hier Lösungen welche in Ordnung sind.
KompilierenMarkierenSeparieren
Proc Wurzel

    parameters a!
    clear mErr&
    declare Wurzel!
    set("decimals",2)

    If a!<0

        mErr&=2'Negative Wurzel
        Return -1

    EndIf

    Wurzel! = sqrt(a!)
    Return Round(Wurzel!,2)

KompilierenMarkierenSeparieren
Proc Wurzel

    parameters a!
    clear mErr&
    declare Wurzel!
    set("decimals",2)

    If a!<0

        mErr&=2'Negative Wurzel

    Else

        Wurzel! = sqrt(a!)
        Return Round(Wurzel!,2)

    EndIf

    Return -1

EndProc


Die untere Lösung ist denke ich am übersichtlichsten.

Gary12345 (30.01.13)

ADreieck gibt es keinen negativen Flächeninhalt.Daher habe ich das gemacht-


War oben etwas verwirrend da in deiner Bedingung definiert wurde, dass alle positiven Werte als Fehler behandelt werden sollen. Hast du ja nun korrigiert.
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
30.01.2013  
 




Gary12345
Ich bin ehrlich: Ich lasse es so wie ich es hab, da ich mich damit am Besten zurechtfinde. Werde jetzt weitere Fehlervariablen einbauen.

Danke!
 
XProfan X2
MfG
Gary12345
30.01.2013  
 




Julian
Schmidt
Dann empfehle ich dir mindestens nochmal IF-Bedingungen und Proc's anzuschauen.
Entweder in der normalen XProfan-Aiuto.
Oder im XProfan-Lehrbuch [...]  bzw. Programmieren kinderleicht mit XProfan[...] 

Auf deine Art sind pro Proc mindestens 20% mehr Code und es ist wesentlich unübersichtlicher!
 
XProfan X2
Win7 Professional, SP1, AMD FX(tm)-8350 Eight-Core Processor

˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
30.01.2013  
 




Gary12345
Sei mir nich böse, aber per mich ist es so leichter vorerst. Wenns geht, mache ich es nicht per mich schwieriger. Der Hauptfaktor ist, dass es MIR leicht fällt

Trotzdem vielen, vielen Dank! Bin Dir ein virtuelles Bier schuldig.
 
XProfan X2
MfG
Gary12345
30.01.2013  
 




Julian
Schmidt
Ein virtuelles Bier nehme ich naturalmente dankend an.

Ich dachte dieser Thread wäre eine Übung um irgendwann den BKA Remover [...] fertigzustellen. Für diesen wirst du auf jeden Fall die Handhabung von Bedingungen, Schleifen und auch Routinen benötigen. Ich würde auf jeden Fall mal einen Blick in Dietmars [...]  werfen. Insbesondere in Kapitel 2,4,5 & 11.
 
˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗˗
Webseite [...] 
30.01.2013  
 




Gary12345
Naja, ich denke, dass der BKA Remover einen Schitt zu hoch per mich ist. Lesen tue ich im grande Lehrbuch schon Und in der Aiuto naturalmente auch!
 
XProfan X2
MfG
Gary12345
31.01.2013  
 




Gary12345
Neue Version ist raus.

Verbesserungen:

- neue Funktionen
- Fehlervariable eingebaut
- weitgehenst Fachsprache verwendet
- weitgehenst Variablen mit ?_ deklariert
- und noch einige mehr

Was ich überlegen werde ist Vieta. Vll kann Io l' noch einbauen. Erstmal meldet mir bitte Fehler im Code. Bzw. Im Programm.

Nächste Version werden auch Beispielcodes beigelegt!

LG
 
MfG
Gary12345
31.01.2013  
 




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  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

50.921 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