elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Calculadora-Duda
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Calculadora-Duda  (Leído 2,003 veces)
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Calculadora-Duda
« en: 17 Julio 2009, 01:08 am »

Hola, analizando ayer la calculadora de windows me ha quedado una duda para hacer una implementación en vb.

Pareciera que mi cerebro está algo congelado peor no logro entender la siguiente lógica:

Para realizar las operaciones, uno ingresa un número, escoge la operación, y luego ingresa otro número,..., todo esto N veces. Bien, la calculadora no borra nunca la pantalla entre un número y otro número; lo que yo pienso es que existe una bandera que cambia a un TRUE cuando se escoge una operación, luego cuando se ingresa el próximo número, se analiza si esta bandera está en TRUE, si es así guarda el resultado en una variable, limpia el textbox y uno sigue escribiendo normalmente, ¿esto es correcto?


En línea

ny0x


Desconectado Desconectado

Mensajes: 336


Ver Perfil
Re: Calculadora-Duda
« Respuesta #1 en: 17 Julio 2009, 01:33 am »

pues ni modo si quieres averiguarlo tendras que usar ingenieria inversa o hacer tu propio metodo  :xD


En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621


"No quiero creer, quiero saber" - Carl Sagan


Ver Perfil WWW
Re: Calculadora-Duda
« Respuesta #2 en: 17 Julio 2009, 01:35 am »

Hola, queres que le pida el codigo a microsoft ?? no...mejor hace tu propia calculadora...mientras menos les copies mejor  :xD, empeza probando con 2 operaciones basicas como resta y suma y despues vas a ver que no es dificil...

saludos.
En línea

La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Calculadora-Duda
« Respuesta #3 en: 17 Julio 2009, 01:38 am »

 :xD No es mi idea hacer ingenieria inversa o algo por el estilo, solo pense que existía algún "método", pero como bien dijeron tal vez sea conveniente hacerlo a mi manera.

La razón por la cual lo quiero hacer, es porque la calculadora en otros sistemas por ejemplo en base 2 tiene muchos problemas con números negativos, asi como tampoco en sus otras bases no posee división con decimales.

Un saludo
En línea

Skeletron


Desconectado Desconectado

Mensajes: 1.731


A long way to go


Ver Perfil WWW
Re: Calculadora-Duda
« Respuesta #4 en: 17 Julio 2009, 01:54 am »

Creo que la implementacion de "bandera" es lo mas correcto o aproximado a la calculadora de Windows.. si si..
Aunque ojo...
Cuando pones: 3 + 4 = = =  =
Recuerda que tiene que seguir sumando a 3 el valor 4... y si no implementas algo para ello, al colcoar el "=", te colocará el nuevo valor y no hará la proxima suma...
Y a que querio llegar con semejante estupidez que acabo de decir?
A que cada "boton" de operacion, tendrá que tener una particularidad diferente.. Cada boton, cada operacion tendrá su codigo.. por lo tanto, no busques un codigo standart para todas las operaciones..
Los numeros haran lo suyo.
+ - * y / haran lo suyo
= Hará lo suyo
Yo te recomiendo guardar en una variable el ultimo resultado y en otra, el ultimo operador..
Porque si haces:
3+1 = + = * = = = = / = + =
Ahí tienes que hacer unas cuantas operaciones, siempre con el ultimo resultado dado y con el ultimo operando...

El DISPLAY se modificará:
luego de precionar el "="
escribiendo un numero luego de "="
escribiendo un numoer luego de precionar un operador luego de "="
y otras varias
En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: Calculadora-Duda
« Respuesta #5 en: 17 Julio 2009, 02:39 am »

La manera logica de resolver esto es usar un pila, basicamente empujas los valores y operadores en la pila y luego resolves recursivamente

Algo asi:

 3+4*2

pila

3
+
4
*
2

lo que haces es recorrer la pila resolviendo 1 operacion a la vez, en el orden correcto (*,/,+,-)hasta que quede 1 solo valor.

1- Primer pasada, hay una multiplicacion? si, ok la resolves y volves a llamar a la funcion

3
+
8

2- hay multiplicacion? no
hay division? no
hay suma? si

la resolves

11

en este punto terminas, queda solamente 1 numero.

la misma mecanica la podes aplicar pra usar parentesis, seno, coseno, etc.
En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Calculadora-Duda
« Respuesta #6 en: 17 Julio 2009, 02:45 am »

Exacto cobein  ::) a eso me refería, sin duda.

Una última duda, la pila no es que se determina en la ejecución del programa?, me confundí en esa parte, porque no manejo esos conceptos, unicamente por teoría y menos en vb, pero lo que leí me indica que en medio del programa necesitas hacer uso de "heap", o te refieres a crear una pila de cierto tamaño para la pronta ejecución?
En línea

cobein


Desconectado Desconectado

Mensajes: 759



Ver Perfil WWW
Re: Calculadora-Duda
« Respuesta #7 en: 17 Julio 2009, 03:11 am »

La "pila" puede ser simplemente un array de strings que redimensionas para ir agregando mas datos. Yo usaria un custom type para poder almacenar algunos datos extra, por ejemplo en el caso de numeros negativos, tener un flag asi es mas simple de procesar.

En línea

http://www.advancevb.com.ar
Más Argentino que el morcipan
Aguante el Uvita tinto, Tigre, Ford y seba123neo
Karcrack es un capo.
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: Calculadora-Duda
« Respuesta #8 en: 17 Julio 2009, 03:13 am »

Me sorprendes cobein  ::).

Bien, ahora que lo mencionas, en vb se pueden redimensionar los datos estructurados, muchas gracias.

Un saludo.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Duda pascal calculadora
Programación General
netca 1 3,388 Último mensaje 12 Abril 2011, 02:20 am
por Nakp
Duda con calculadora online java
Java
Tryndamere 3 3,480 Último mensaje 24 Mayo 2011, 00:12 am
por xassiz~
[Duda] Sobre una cosa de Calculadora
Programación Visual Basic
Senior++ 6 2,130 Último mensaje 30 Junio 2011, 20:12 pm
por 79137913
Duda con Calculadora Casio
Dudas Generales
vilcar 0 1,645 Último mensaje 10 Enero 2012, 19:13 pm
por vilcar
Duda de como hacer una Calculadora (PYTHON)
Scripting
Tuplado 1 2,511 Último mensaje 16 Enero 2012, 01:59 am
por Leyer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines