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 -



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

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)

EndProc


Oder
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-Hilfe.
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 für mich ist es so leichter vorerst. Wenns geht, mache ich es nicht für 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 natürlich 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 für mich ist. Lesen tue ich im großen Lehrbuch schon Und in der Hilfe natürlich 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 ich den 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 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  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

51.176 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