Français
Forum

Quadratwurzel sans Begrenzung

 

Stefan
Landsberg
Salut,

je voudrais un Programme écrivons, dass qui Quadratwurzel einer numéro berechnet.
ABER es soll pas sur 6 Nachkommastellen runden, mais solange weitermachen jusqu'à on sur Stop klickt.

Frage:
(comment) peux on cela Kürzen sur 6 Nachkommastellen chez sqrt() et pow() abstellen.

si cela pas allez, ensuite muss je mir irgend une Procédure envahir laisser qui dass pouvoir.
mais s'il te plaît aucun Fertiglösung posten. ensuite lerne je rien.

encore une Frage:
ist dans XProfan 10 qui länge eines floats begrenzt?
 
15.08.2008  
 




Sebastian
Sprenger
allô Stefan,

Frage 1:

qui Funktionen Sqrt() and Pow() runden gar rien. Les chiffres sont simple seulement trop kurz angezeigt.
il y a là une Befehl nommé Decimals . avec dem peux du bestimmen, wieviele Nachkommastellen angezeigt volonté devoir (à cette Stelle verweise je toi la fois sur qui XProfan-Aider ).

Frage 2:

Floats peut im Prinzip unendlich long son, seulement qui sog. "Rechengenauigkeit" ist sur 15 se mettre begrenzt.
avec anderen Worten: si du une numéro la hâte, qui sur 15 Les chiffres long ist (égal si Nachkommastellen ou bien aucun), peux es passer, dass Rechnungen ou bien Ergebnisse ab qui 16. Stelle ungenau volonté.

je geb dir la fois un kleines Beispiel:
declare a!
decimals 35
a!=.333333333333333
imprimer a!
waitinput
chez mir venez 0.33333333333333298 avec etlichen Nullen raus. qui ersten 15 Les chiffres stimmen alors, ab qui 16. Stelle stimmt pas viel.

So, genug gelernt?
Salut, Sebastian
 
Profan² 7.0e, XProfan 9, 11.2a, FreeProfan32
Windows Vista Home Premium 32-Bit, 2.8 Ghz, 4 GB RAM
Windows Me, 1.8 Ghz, 256 MB RAM
15.08.2008  
 




Jac
de
Lad

Floats peut im Prinzip unendlich long son,

c'est ça pas...


seulement qui sog. "Rechengenauigkeit" ist sur 15 se mettre begrenzt.

...et avec cela est un Float NIEMALS unendlich long. Aussi ist seulement un bestimmter Bereich erlaubt (je crois cela kleinste ist 1*10^-43xx ou bien so). Kleiner payons volonté ensuite aussi pas akzeptiert.

il y a Algorithmen, avec denen du qui Wurzel toujours plus berechnen laisser peux. veux du seulement qui 2. Wurzel ou bien soll chacun beliebige n-te Wurzel berechenbar son? je pourrait la fois regarder, si je quoi là habe...

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.08.2008  
 




Stefan
Landsberg
je hab jetz aussi déjà un bisschen rumprobiert.
irgendwie komm je pas so richtig voran weil mon programm pas pouvoir quoi je veux.

@sebastian:
merci pour qui schnelle antwort. mais chez mir peux je avec decimals mais aussi seulement jusqu'à 35 aller. plus nachkommastellen volonté pas angezeigt.

si float seulement jusqu'à zur 15ten lieu oui c'est ca ist ist es dans diesem le cas nutzlos pour mich.

@Jac
je voudrais erstmal seulement qui 2. alors qui Quadratwurzel berechnen. (on a cela thema grad dans qui une école, deshlab viens je aussi sur qui concept pour so un Programme).
j'ai aussi déjà daran gedacht quelque chose trop écrivons quoi une Stelle pour qui anderen berechnet. cela wäre nämlich oui c'est ca cela quoi je avons voulais.
je sais seulement encore pas wohin je anfangen soll.

Wäre es trop viel verlangt si du (si du so une Algorithmus la hâte) pas den ganzen Code postest mais seulement Tipps gibts avec welchen Befehlen cela trop realisieren ist et den groben aufbau beschreibst? Sonst ist cela Programme oui pas de mir

@espace
j'ai comme ausgabefeld pour cela ergebnis un multiedit pris.
ist cela pour qui ausgabe de payons approprié ou bien gibt es quoi besseres?

ah oui. so sieht cela aus quoi je en ce moment habe. es wird mais gar rien gerechnet. mais seulement qui numéro aus dem eingabefeld übernommen:  [...] 
 
15.08.2008  
 




Jac
de
Lad
non, non, non! Typischer Anfängerfehler. Um avec den Eingaben trop le calcul musst du es seulement de String dans un Float transformer (siehe "Val()") et zur Ausgabe im MultiEdit wieder dans une String (siehe "Str$()").
Déclarer
declare in&,out&,btn&,ergebnis$,ende%,eingabe$
la fenêtre erstellen
style de fenêtre 575
windowtitle "Quadratwurzel"
window 20,20 - 600,400
usefont "MS Sans Serif",20,0,0,0,0
la fenêtre gestalten
in&=create("edit",%hWnd,"25",5,5,580,20)
btn&=create("button",%hWnd,"Berechnen",250,30,100,30)
out&=create("multiedit",%hWnd,»,5,65,580,-270)

whilenot ende%

    WaitInput
    cas %clé=2 : pause

    si clicked(btn&)

        eingabe$=gettext$(in&)
        ergebnis$=Str$(sqrt(Val(eingabe$)))
        settext out&,»
        settext out&,ergebnis$

    endif

endwhile


Kürzer wäre dein Prog so:
Déclarer
declare in&,out&,btn&,ende%
la fenêtre erstellen
style de fenêtre 575
windowtitle "Quadratwurzel"
window 20,20 - 600,400
usefont "MS Sans Serif",20,0,0,0,0
la fenêtre gestalten
in&=create("edit",%hWnd,"25",5,5,580,20)
btn&=create("button",%hWnd,"Berechnen",250,30,100,30)
out&=create("multiedit",%hWnd,»,5,65,580,-270)

whilenot ende%

    WaitInput

    si %clé=2

        pause

    elseif clicked(btn&)

        settext out&,Str$(sqrt(Val(gettext$(in&))))

    endif

endwhile


Zum Thema Berechnung:

tu peux entweder chacun Stelle einzeln berechnen laisser ou bien une numéro quadrieren et je après que si vous trop grand ou bien trop petite ist toujours un peu erhöhen ou bien abziehen. en supplément musst du les numéros dans Cordes Sauver et chacun Stelle einzeln multiplizieren.

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
15.08.2008  
 




Stefan
Landsberg
Salut,

je prends pour qui ausgabe des ergebnisses un simple editfeld, mais là je dans mon Programme oui à qui vorhandene numéro toujours qui récente berechnete lieu dranhängen veux, ist es meiner attitude pour unpraktisch et wahrscheinlich aussi trop lente toujours seulement den aktuellen text avec gettext aus dem editfeld auszulesen, une récente ziffer dranzuhängen, et ensuite wieder qui numéro avec settext ins editfeld trop écrivons.
gibts là une bessere methode ou bien irgendeine message (gibts une page/fichier dans qui qui messages sur allemande erklärt sommes) ?
 
19.08.2008  
 



wm_copyData pourrait Dir ici aider.
 
19.08.2008  
 




Stefan
Landsberg
allô,
merci erstmal mais gibt es irgendwo ne dokumentation dans qui qui messages verständlich (am besten allemande) erklärt sommes?
je perspective chez msdn pas so richtig par!
 
19.08.2008  
 



bien sûr, XProfan.com cherche et google sommes qui Helfer dans solcher Not!
 
19.08.2008  
 




Stefan
Landsberg
après que je jetz enfin wieder un peu zeit pour XProfan trouvé hab (une école beansprucht ne ganze la quantité zeit. avant allem latin )
lieu je la fois wieder une frage:

pourquoi wir dans qui si abfrage aucun wert à qui variable firstpart$ transfert?
je hab aussi déjà versucht vous comme integer trop declarieren. allez aussi pas:
Déclarer
declare in&,out&,calcbtn&,stopbtn&,ergebnis$,ende%,eingabe$
PROC-partie

Proc sqrtlong

    Algorithmus zum tirer einer Quadratwurzel
    Paramètres numéro$, output&, stopbtn&
    declare vorkomma$, div2%, firstsqrt%, firstpart$
    numéro$=translate$(numéro$, » , ".") Dezimalkomma par Dezimalpunkt ersetzen
    vorkomma$=substr$(numéro$,1,".") Les chiffres avant dem Komma dans vorkomma$ Sauver
    div2%=Instr(".",str$(substr$(len(vorkomma$ / 2),1,"."))) vérifier si qui Anzahl qui Les chiffres avant dem Komma justement ou bien ungerade est.

    si div2% = 0

        firstpart$=mid$(vorkomma$,0,2) erste 2 Les chiffres aus vorkomma$ volonté dans firstpart$ gespeichert
        firstsqrt%=substr$(str$(sqrt(val(firstpart$))), 1 , ".") es wird qui sqrt aus firstpart$ gebildet (reste wird weggelassen)

    d'autre

        firstpart$=mid$(vorkomma$,0,1) erste Ziffer aus vorkomma$ wird dans firstpart$ gespeichert
        firstsqrt%=substr$(str$(sqrt(val(firstpart$))), 1 , ".") es wird qui sqrt aus firstpart$ gebildet (reste wird weggelassen)

    endif

    locate 4,1 seulement zum testen quoi firstpart$ enhält
    imprimer "firstpart:",firstpart$ seulement zum test quoi firstpart$ enhält
    sendmessage(output&,$004A,%hWnd,Addr(firstsqrt%))

endproc

la fenêtre erstellen
style de fenêtre 575
windowtitle "Quadratwurzel"
window 20,20 - 600,125
usefont "MS Sans Serif",20,0,0,0,0
la fenêtre gestalten
in&=create("edit",%hWnd,"25,5",5,5,580,20)
calcbtn&=create("button",%hWnd,"Berechnen",170,30,100,30)
stopbtn&=create("button",%hWnd,"Stop",310,30,100,30)
out&=create("edit",%hWnd,»,5,65,580,20)

whilenot ende%

    WaitInput
    cas %clé=2 : pause

    si clicked(calcbtn&)

        sqrtlong gettext$(in&), out&, stopbtn&

    endif

endwhile

 
06.09.2008  
 



qui Zweite paramètre de Milieu$ muss mindestens 1 son si on réellement ab erster Position ermitteln voudrais.
 
06.09.2008  
 




Stefan
Landsberg
ahhh,
merci (pourquoi suis je là pas selbst sur elle gekommen )
 
06.09.2008  
 




répondre


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

10.360 Views

Untitledvor 0 min.
Sebastian Sprenger13.10.2013
Andreas Koch20.12.2011

Themeninformationen



Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie