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

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  calculadora por jerarquia ()*/+- ...C#...
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: 1 [2] 3 Ir Abajo Respuesta Imprimir
Autor Tema: calculadora por jerarquia ()*/+- ...C#...  (Leído 48,332 veces)
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: calculadora por jerarquia ()*/+- ...C#...
« Respuesta #10 en: 31 Julio 2009, 01:46 am »

Citar
Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en informática debido a su simplicidad y ordenación implícita en la propia estructura.
Representación gráfica de una pila

Para el manejo de los datos se cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado.

A eso me refería.

Citar
es un reto??? xD

Yo también lo vi de esa manera.

Este tema, lo había analizado en VB, y cobein me recomendó lo de la pila.

Un saludo!


En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: calculadora por jerarquia ()*/+- ...C#...
« Respuesta #11 en: 31 Julio 2009, 01:52 am »

Citar
Una pila (stack en inglés) es una lista ordinal o estructura de datos en la que el modo de acceso a sus elementos es de tipo LIFO (del inglés Last In First Out, último en entrar, primero en salir) que permite almacenar y recuperar datos. Se aplica en multitud de ocasiones en informática debido a su simplicidad y ordenación implícita en la propia estructura.
Representación gráfica de una pila

Para el manejo de los datos se cuenta con dos operaciones básicas: apilar (push), que coloca un objeto en la pila, y su operación inversa, retirar (o desapilar, pop), que retira el último elemento apilado.


A eso me refería.

Entonces si, es la clase generica xD

Citar
es un reto??? xD

Yo también lo vi de esa manera.

Este tema, lo había analizado en VB, y cobein me recomendó lo de la pila.

Un saludo!
Yo tengo que hacerlo en vb.net (que es en donde lo necesito para el proyecto que estoy haciendo). Pensaba hacerlo de esta manera

1- Dividir por terminos (a travez de una o tres expresiones regulares) dividir llaves, corchetes, parentesis; multiplicacion y division; suma y resta

2 - Analizar las ecuaciones ( yo lo necesito, pero no ecuaciones con X, sino con palabras claves, ej: A200 seria un valor que ya tengo en una tabla)

3 - Resolver la ecuacion mas "baja" (la que se debe resolver primero xD) y de ahi ir subiendo...


se entiende??? xD despues planteo codigo


En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: calculadora por jerarquia ()*/+- ...C#...
« Respuesta #12 en: 31 Julio 2009, 01:58 am »

Citar
Dividir por terminos (a travez de una o tres expresiones regulares) dividir llaves, corchetes, parentesis; multiplicacion y division; suma y resta

Exacto, solo hace falta saber matemáticas. Comienzas a recorrer la pila, ten en cuenta que el primero es el último, {} luego []  () ... / * ... + y - , y mientras recorres lo resuelves.

Ahora con respecto a lo de ecucaciones, si unicamente son valores que están en una tabla, no es muy difícil, si en realidad son ecuaciones, tendrás que recurrir a métodos para averigurar la complejidad de dicha ecucación y utilizar algún método de algebra avanzada para hacer eficiente tu programa, hace un tiempo hice un programa en Pascal para resolver ecuaciones por el método de Gauss, pero luego perdí el código.

Un saludo!
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: calculadora por jerarquia ()*/+- ...C#...
« Respuesta #13 en: 31 Julio 2009, 02:29 am »

Citar
Dividir por terminos (a travez de una o tres expresiones regulares) dividir llaves, corchetes, parentesis; multiplicacion y division; suma y resta

Exacto, solo hace falta saber matemáticas. Comienzas a recorrer la pila, ten en cuenta que el primero es el último, {} luego []  () ... / * ... + y - , y mientras recorres lo resuelves.

No entiendo como lo harias con una pila  :-\
En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: calculadora por jerarquia ()*/+- ...C#...
« Respuesta #14 en: 31 Julio 2009, 02:36 am »

Una pila, es simplemente una lista o array.

Es como si tendrías esto:

{'(','1','+','3',')'};

El primer dato a analizar será ')'.

Espero no estar equivocado.
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: calculadora por jerarquia ()*/+- ...C#...
« Respuesta #15 en: 31 Julio 2009, 16:52 pm »

Una pila, es simplemente una lista o array.

Es como si tendrías esto:

{'(','1','+','3',')'};

El primer dato a analizar será ')'.

Espero no estar equivocado.

estas bien, y si eso lo se, pero no entiendo la logica de analizar una pila xD
En línea

h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: calculadora por jerarquia ()*/+- ...C#...
« Respuesta #16 en: 31 Julio 2009, 16:58 pm »

Que en la pila no tendrás una limitación de compilación, sino la tendrás cuando estés dentro del programa; por algo es una ventaja del programador trabajar con memoria dinámica. No se trata de lógica, sino de aprovechar los recursos de una pc, es simplemente un "array dinámico".
En línea

fuenteRea


Desconectado Desconectado

Mensajes: 2.709


Volver a ser un niño


Ver Perfil
Re: calculadora por jerarquia ()*/+- ...C#...
« Respuesta #17 en: 31 Julio 2009, 17:08 pm »

pila, lista, cola, arboles etc, son lo mismo.

pila--> El ultimo elemento que entra es el primero en salir. Ejemplo

apliar(2);
apliar(3);
apliar(4);
en la pila tenemos 4-3-2
si quieremos mostrar los elementos de la pila mostraremos el 4 luego el 3 y luego el 2.

lista es lista y punto jaja

cola--> El ultumo que entra es el ultimo en salir (como en la cola del cine, por orden de entrada).

encolar(2);
encolar(3);
encolar(4);
en la cola la tenemos 2-3-4
si quieremos mostrar los elementos de la pila mostraremos el 4 luego el 3 y luego el 2.

Lo bueno de las pilas es que te permite usar recusividad muy facilmente. Al contrario que la cola.

un saludo!!º
En línea

Una rosa es una rosa...
h0oke


Desconectado Desconectado

Mensajes: 2.059


Coder ~


Ver Perfil WWW
Re: calculadora por jerarquia ()*/+- ...C#...
« Respuesta #18 en: 31 Julio 2009, 17:13 pm »

Cita a wikipedia:

Citar
En programas de aplicación escrito en un lenguaje de alto nivel, una pila puede ser implementada de manera eficiente, ya sea usando vectores o listas enlazadas.

 
Citar
Expresión de evaluación y análisis sintáctico sintaxis

Se calcula empleando la notación polaca inversa utilizando una estructura de pila para los posibles valores. Las expresiones pueden ser representadas en prefijo, infijo, postfijo. La conversión de una forma de la expresión a otra forma necesita de una pila. Muchos compiladores utilizan una pila para analizar la sintaxis de las expresiones, bloques de programa, etc. Antes de traducir el código de bajo nivel. La mayoría de los lenguajes de programación son de contexto libre de los idiomas que les permite ser analizados con máquinas basadas en la pila.

Por ejemplo, el cálculo: ((1 + 2) * 4) + 3, puede ser anotado como en notación postfija con la ventaja de no prevalecer las normas y los paréntesis necesarios:

1 2 + 4 * 3 +

La expresión es evaluada de izquierda a derecha utilizando una pila:

    * Apilar cuando se enfrentan a un operando y
    * Desafilar dos operandos y evaluar el valor cuando se enfrentan a una operación.
    * Apilar el resultado.

Espero que eso aclare las dudas  ;)
En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: calculadora por jerarquia ()*/+- ...C#...
« Respuesta #19 en: 31 Julio 2009, 21:10 pm »

thedoctor77 se usar estructuras de datos.


Lo que no entendia la logica de las pilas. Pero hay un error jeje..... que pasa si yo meto para calcular 6 + (8 + 3) - [6 * (3 + 2) + 5] * (2 * 10 / 5) + (5 * ((2 * 6) + 2)

habria que ordenarlos, xq de la forma que emplea Seu¥ creo que no funcionaria porque no esta ordenada
En línea

Páginas: 1 [2] 3 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Así es la jerarquía del sistema de archivos de Linux mostrada en una sola imagen
Noticias
wolfbcn 0 1,604 Último mensaje 16 Febrero 2015, 18:23 pm
por wolfbcn
Establecer jerarquía en controles Treeview
Programación Visual Basic
Serapis 8 6,074 Último mensaje 19 Mayo 2018, 22:26 pm
por Serapis
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines