Retroceder   Foros del Web > Temas generales de computación > Programación > Visual Basic

Respuesta
 
Herramientas Desplegado
Antiguo 27-ene-2007, 10:48   #1 (permalink)
lizertina ha deshabilitado el karma
 
Fecha de Ingreso: diciembre-2006
Mensajes: 17
Pregunta

Hola a todos!
Visual Basic tiene algún problema cuando intenta elevar un numero negativo a un numero par (múltiple de dos, lo aclaro porqué soy catalana y no sé si en castellano se escribe par o tiene otro nombre)? Esque con los números impares me lo hace bien i con los pares no...

Muchas gracias.

Lizer
lizertina está desconectado   Responder Citando
Antiguo 27-ene-2007, 12:31   #2 (permalink)
albertovicat está en el buen camino
 
Fecha de Ingreso: noviembre-2004
Ubicación: Corrientes, Arg.
Mensajes: 129
Enviar un mensaje por Yahoo  a albertovicat Enviar un mensaje por Skype™ a albertovicat
Re: Pregunta

Posiblemente sea un problemita de interpretar de quien es el signo. Estos dos ejemplos los ejecuté en la ventana inmediato de VB6 (Control + G):

for n=0 to 4:print -2^n;:next n
-1 -2 -4 -8 -16

for n=0 to 4:print (-2)^n;:next n
1 -2 4 -8 16

... lo que escribí yo es el renglón de arriba en cada caso, lo de abajo es la respuesta de VB6. En el primer caso lo hace "mal" porque entiende que el signo menos es de la potencia ya efectuada: -(2^n), en el segundo caso lo hace bien porque se le aclara que el signo menos es del 2 y no de la potencia.
Saludos.
albertovicat está desconectado   Responder Citando
Antiguo 28-ene-2007, 04:04   #3 (permalink)
lizertina ha deshabilitado el karma
 
Fecha de Ingreso: diciembre-2006
Mensajes: 17
Re: Pregunta

Hola.
Primeramente, gracias por responder.
El programa encuentra zeros de funciones con el teorema de Bolzano. declaro, por ejemplo una variable a i luego otra f(a) si la funcion a "resolver" es x^2/2 a la que llega a un valor negativo peta pero si la función es x^3/2 lo hace bien. La variable f(a)=(a^2)/2, el programa lo tendria que entender bien no? He provado que f(a)= ((a)^2)/2 pero peta igual... cuando la elevas a pares peta pero si son impares no... la verdad es que no lo entiendo...

Merci

Lizer.
lizertina está desconectado   Responder Citando
Antiguo 28-ene-2007, 07:40   #4 (permalink)
albertovicat está en el buen camino
 
Fecha de Ingreso: noviembre-2004
Ubicación: Corrientes, Arg.
Mensajes: 129
Enviar un mensaje por Yahoo  a albertovicat Enviar un mensaje por Skype™ a albertovicat
Re: Pregunta

Hay algo que no te estoy entendiendo. Mira lo que hace el mío en la ventana inmediato:
a= -3
print a
-3
print (a^2)/2 'esto es correcto, al ser exp par se positiviza
4,5
print (a^3)/2
-13,5
print a
-3

puse en azul lo que responde VB.
Hace años, con GWBASIC, me ocurrió algo así de tener resultados distintos en comando directo y en una función definida en el programa.
Por ser domingo haré un pequeño programita definiendo la función, a ver qué pasa.
albertovicat está desconectado   Responder Citando
Antiguo 28-ene-2007, 08:46   #5 (permalink)
lizertina ha deshabilitado el karma
 
Fecha de Ingreso: diciembre-2006
Mensajes: 17
Re: Pregunta

Hola!
Te agradezco mucho tu ayuda, ya me has contestado a la pregunta, debería entenderlo bien. En fin, me pondré a mirar qué debe ser aunque lo ilógico es que lo haga bien con algunas expresiones y con otras no...
Gracias de nuevo.
Lizer
lizertina está desconectado   Responder Citando
Antiguo 28-ene-2007, 08:52   #6 (permalink)
lizertina ha deshabilitado el karma
 
Fecha de Ingreso: diciembre-2006
Mensajes: 17
Re: Pregunta

Ai que tonta me siento a veces...
Ya sé lo que le pasa! la función es, por ejemplo, x^2/2: dados dos puntos a i b de distinto signo, calculamos f(a) i f(b), el programa peta porque los dos resultados son positivos y, por tanto, no habrà un punto medio en el qual la f(x)=0! El teorema no se cumple! Bueno ahora sólo queda prevenir ese error y eso lo sabré hacer!
A veces lo más evidente no lo parece...
gracias de todas formas!
lizertina está desconectado   Responder Citando
Respuesta

No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 15:18.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93