Español
Foro

Quadratwurzel sin Begrenzung

 

Stefan
Landsberg
¡Hola,

Yo möchte una Programa escribir, dass el Quadratwurzel un número berechnet.
ABER lo se no en 6 Nachkommastellen runden, pero solange weitermachen a uno en Stop klickt.

Cuestión:
(como) puede ser el Kürzen en 6 Nachkommastellen en sqrt() y pow() abstellen.

Si el no va, entonces muss Yo irgend una Procedimiento einfallen dejar el dass macht.
Aber Por favor, no Fertiglösung puesto. Dann lerne Yo nichts.

Noch una Cuestión:
es en XProfan 10 el länge uno floats begrenzt?
 
15.08.2008  
 




Sebastian
Sprenger
¡Hola Stefan,

Cuestión 1:

El Características Sqrt() and Pow() runden gar nichts. Los números son simplemente sólo a kurz adecuado.
Lo son como una Befehl nombre Decimals . Mit el kannst du bestimmen, wieviele Nachkommastellen adecuado voluntad debería (a dieser Punto verweise Yo dich veces en el XProfan-Ayuda ).

Cuestión 2:

Floats puede en el Principio unendlich lang ser, sólo el sog. "Rechengenauigkeit" es en 15 Stellen begrenzt.
Mit otro Worten: Wenn du una Zahl hast, el encima 15 Ziffern lang es (egal si Nachkommastellen oder no), kann lo passieren, dass Rechnungen oder Ergebnisse de el 16. Punto ungenau voluntad.

Yo geb dir veces una kleines Ejemplo:
declarar a!
decimals 35
a!=.333333333333333
imprimir a!
waitinput
En me kommt 0.33333333333333298 con etlichen Nullen fuera. El ersten 15 Ziffern stimmen also, de el 16. Punto stimmt no viel.

So, genug gelernt?
Saludo, 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 puede en el Principio unendlich lang ser,

Das stimmt no...


sólo el sog. "Rechengenauigkeit" es en 15 Stellen begrenzt.

...y así es una Float NIEMALS unendlich lang. Außerdem es sólo una bestimmter Zona erlaubt (Yo glaube el kleinste es 1*10^-43xx más o menos). Kleiner Pagar voluntad entonces auch no akzeptiert.

Lo son Algorithmen, con denen du el Wurzel siempre más berechnen dejar kannst. Willst du sólo el 2. Wurzel oder se jede beliebige n-te Wurzel berechenbar ser? Yo podría veces schauen, si Yo qué como 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
Yo tener jetz auch ya una bisschen rumprobiert.
irgendwie komm Yo no así correcto voran porque mein programm no macht Yo voluntad.

@sebastian:
danke para rápido antwort. pero en me kann I, con decimals aber auch sólo a 35 ir. mehr nachkommastellen voluntad no adecuado.

si float sólo a a 15ten lugar genau es es en diesem fall nutzlos para mich.

@Jac
Yo möchte primero sólo el 2. Así que el Quadratwurzel berechnen. (wir haben el thema grad en el Schule, deshlab komme Yo auch en el Concepto para así una Programa).
Yo habe auch ya daran pensamiento algo a escribir qué una Punto después de el otro berechnet. Das wäre nämlich genau el Yo haben quería.
Yo weiß sólo todavía no wo Yo anfangen se.

Wäre lo a viel verlangt si du (si du así una Algorithmus hast) no el ganzen Code postest pero sólo Tipps gibts con welchen Befehlen el a realisieren es y el groben aufbau beschreibst? Sonst es el Programa sí no de me

@all
Yo como ausgabefeld para el ergebnis una multiedit genommen.
es el para el ausgabe de zahlen geeignet oder hay qué besseres?

ach sí. así sieht el de Yo a zeit habe. lo se aber gar nichts gerechnet. pero sólo el zahl de el eingabefeld übernommen:  [...] 
 
15.08.2008  
 




Jac
de
Lad
Nein, nein, nein! Typischer Anfängerfehler. Um con el Eingaben a rechnen musst du lo sólo de String en una Float umwandeln (siehe "Val()") y a Edición en el MultiEdit otra vez en una String (siehe "Str$()").
Declarar
declarar in&,out&,btn&,ergebnis$,ende%,eingabe$
Ventana redactar
windowstyle 575
windowtitle "Quadratwurzel"
window 20,20 - 600,400
usefont "MS Sans Serif",20,0,0,0,0
Ventana 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
    caso %key=2 : romper

    if clicked(btn&)

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

    endif

endwhile


Kürzer wäre dein Prog así:
Declarar
declarar in&,out&,btn&,ende%
Ventana redactar
windowstyle 575
windowtitle "Quadratwurzel"
window 20,20 - 600,400
usefont "MS Sans Serif",20,0,0,0,0
Ventana 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

    if %key=2

        romper

    elseif clicked(btn&)

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

    endif

endwhile


Zum Thema Berechnung:

Usted puede entweder jede Punto einzeln berechnen dejar oder una Zahl quadrieren y je después de si ellos a groß oder a klein es siempre una wenig erhöhen oder abziehen. Dazu musst du los números en Cuerdas speichern y jede Punto 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
¡Hola,

Yo nehme para el ausgabe des ergebnisses una einfaches editfeld, aber como Yo en mi Programa sí a el vorhandene zahl siempre el neu berechnete lugar dranhängen voluntad, es meiner meinung después de unpraktisch y wahrscheinlich auch a langsam siempre sólo el aktuellen texto con gettext de el editfeld auszulesen, una neu ziffer dranzuhängen, y luego otra vez el zahl con settext en el editfeld a escribir.
gibts como una bessere methode oder irgendeine mensaje (gibts una seite/datei en el el messages en Alemán erklärt son) ?
 
19.08.2008  
 



wm_copyData podría Usted hier helfen.
 
19.08.2008  
 




Stefan
Landsberg
hallo,
danke primero aber hay irgendwo ne dokumentation en el el messages verständlich (al besten Alemán) erklärt son?
Yo blick en msdn no así correcto por!
 
19.08.2008  
 



Klar, XProfan.com búsqueda y google son el Helfer en solcher Not!
 
19.08.2008  
 




Stefan
Landsberg
después de que jetz endlich otra vez una wenig zeit para XProfan gefunden tener (schule beansprucht ne todo menge zeit. antes allem latein )
lugar Yo veces otra vez una frage:

por qué wir en el if abfrage no wert a el variable firstpart$ transferencia?
Yo tener auch ya intenta ellos como integer a declarieren. va auch no:
Declarar
declarar in&,out&,calcbtn&,stopbtn&,ergebnis$,ende%,eingabe$
PROC-Teil

Proc sqrtlong

    Algorithmus para ziehen uno Quadratwurzel
    Parámetros zahl$, output&, stopbtn&
    declarar vorkomma$, div2%, firstsqrt%, firstpart$
    zahl$=translate$(zahl$, "," , ".") Dezimalkomma por Dezimalpunkt sustituir
    vorkomma$=substr$(zahl$,1,".") Ziffern antes el Komma en vorkomma$ speichern
    div2%=Instr(".",str$(substr$(len(vorkomma$ / 2),1,"."))) Prüfen si el Anzahl el Ziffern antes el Komma gerade oder ungerade es.

    if div2% = 0

        firstpart$=mid$(vorkomma$,0,2) erste 2 Ziffern de vorkomma$ voluntad en firstpart$ gespeichert
        firstsqrt%=substr$(str$(sqrt(val(firstpart$))), 1 , ".") lo se el sqrt de firstpart$ gebildet (rest se weggelassen)

    más

        firstpart$=mid$(vorkomma$,0,1) erste Ziffer de vorkomma$ se en firstpart$ gespeichert
        firstsqrt%=substr$(str$(sqrt(val(firstpart$))), 1 , ".") lo se el sqrt de firstpart$ gebildet (rest se weggelassen)

    endif

    locate 4,1 sólo para testen qué firstpart$ enhält
    imprimir "firstpart:",firstpart$ sólo para test qué firstpart$ enhält
    sendmessage(output&,$004A,%hWnd,Addr(firstsqrt%))

ENDPROC

Ventana redactar
windowstyle 575
windowtitle "Quadratwurzel"
window 20,20 - 600,125
usefont "MS Sans Serif",20,0,0,0,0
Ventana 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
    caso %key=2 : romper

    if clicked(calcbtn&)

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

    endif

endwhile

 
06.09.2008  
 



Der Zweite Parámetro de Mid$ muss mindestens 1 ser si uno tatsächlich de erster Position ermitteln möchte.
 
06.09.2008  
 




Stefan
Landsberg
ahhh,
danke (por qué bin Yo como no incluso en él gekommen )
 
06.09.2008  
 




Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

10.339 Views

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

Themeninformationen



Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie