Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: theluigy13etv en 17 Agosto 2011, 20:47 pm



Título: ¿Una variable es un dato o contiene un dato?
Publicado por: theluigy13etv en 17 Agosto 2011, 20:47 pm
Es una pequeña duda acerca delas variables. Algunos textos dicen que una variable es una posición de memoria, en otros que es un dato cuyo contenido cambia. En otro que no es un dato, sin que almacena datos...total...me confunde un poco??...alguien que me dé su punto de vista.. :)


Título: Re: ¿Una variable es un dato o contiene un dato?
Publicado por: farresito en 17 Agosto 2011, 20:59 pm
Te cuento lo mejor que pueda.

Una variable es simplemente una etiqueta que contiene una dirección de memoria. En esta dirección de memoria es donde se almacenan los números o valores que quieras.

Cuando tu haces:

i=5

Lo que le estás diciendo a la etiqueta 'i': ve a la posición de memoria que tienes guardada y cambia el valor. Cuando tu accedes a un valor le dices: ve a la posición de memoria que tienes guardada y dame su valor.

De algun modo, una variable no tiene un valor como tal, sino que contiene una dirección de memoria donde SI hay un valor


Título: Re: ¿Una variable es un dato o contiene un dato?
Publicado por: farresito en 17 Agosto 2011, 21:04 pm
Encontré una imagen. Fíjate:

(http://upload.wikimedia.org/wikipedia/commons/f/f3/Codigo_de_maquina.png)

Fíjate en el cuadro azul de abajo a la izquierda. Esto son las posiciones de memoria. Esto es lo que contiene una variable. Lo de la derecha es lo que contiene esta dirección de memoria.

Tomando como ejemplo esta imagen:

Variable NUMERO contendría 0CFD:0100 y cuando usas esta variable, se trabaja con el contenido de la posición de memoria, que sería (el contenido) 'Hola' (en hexadecimal, que es lo que se ve, 48 6F 6C 61 2C)


Título: Re: ¿Una variable es un dato o contiene un dato?
Publicado por: Meta en 18 Agosto 2011, 08:04 am
Hola:

Estás en una calle. En esa calle hay muchas casas, cada casa tiene en su puerta el número de la casa. Por ejemplo hay 50 casas, así que puedes ir de la casa nº 1 hasta la nº 50.

Te dice que dirección ir, por ejemplo, la nº 15. Dentro de ella hay datos, por ejemplo, la cantidad de personas que hay dentro de la casa nº 15, puede ser dos personas.

Así que 15 = 2.

Ahora vas a la casa nº 28, comprobarás que hay 1 persona.

Dirección 28 = 1 persona.

Te vas a otra dirección...

Dirección 17 = 0 personas.

¿Ya entiendes el concepto?


Título: Re: ¿Una variable es un dato o contiene un dato?
Publicado por: theluigy13etv en 19 Agosto 2011, 17:30 pm
Gracias a todos por sus explicaciones, la verdad que la idea de variable la voy entendiendo poco a poco con sus buenos ejemplos...  ;)


Título: Re: ¿Una variable es un dato o contiene un dato?
Publicado por: Meta en 19 Agosto 2011, 20:44 pm
Si tienes dudas.

http://es.wikipedia.org/wiki/Variable_%28programaci%C3%B3n%29

http://www.alegsa.com.ar/Dic/variable.php

Saludo.


Título: Re: ¿Una variable es un dato o contiene un dato?
Publicado por: theluigy13etv en 19 Agosto 2011, 23:01 pm
Miren lo que encontré


MEMORIA PRINCIPAL
La memoria principal está formada por millares de casilleros los cuales son una especie de unidades de almacenamiento llamados celdas de memoria.

Cada uno de estos casilleros (celdas) ocupa un lugar relativo por lo tanto, tiene una dirección de memoria. La dirección de memoria es un número único (expresado generalmente en el sistema hexadecimal) correspondiente a cada casillero y permite ubicarlo exactamente en la memoria.
Cada celda de memoria tiene la capacidad de almacenar datos.

Para poder almacenar algún dato en la memoria necesitamos en primer lugar reservar los casilleros o celdas necesarias para que alberguen al dato. La reservación de una parte de la memoria la realizaremos al momento de declarar una variable.

DECLARACIÓN DE UNA VARIABLE
La declaración de una variable consiste en especificar el Tipo y el Identificador para la variable. De esta forma nos veremos en la necesidad de declarar una variable por cada dato que vayamos a almacenar. 

ACCESO A LA CELDA DE MEMORIA RESERVADA
La declaración nos permitió reservar las celdas necesarias para almacenar los datos que vayamos a usar. Pero ¿Cómo accedemos a dichas celdas? Estas celdas pueden encontrarse en cualquier parte de la memoria porque la reservación de estas es al azar. Es en este momento donde se observa la importancia de los Identificadores de variables. El identificador de una variable se comporta como la dirección de la celda reservada. De este modo, para almacenar un dato en una celda de memoria, debemos hacer referencia al Identificador de la variable que se utilizó al momento de la declaración.

CONCLUSIONES
Hemos conseguido notar que los datos en realidad son almacenados en las celdas de memoria. El almacenamiento de datos en la memoria es un proceso muy complicado por lo que en programación, se recurre al uso de variables lo que permite que este proceso sea más fácil de realizar:
Primero: Reservación de las celdas necesarias. Esto se realiza mediante la declaración de variables.
Segundo: Acceso a las celdas reservadas y almacenamiento. Esto se hace haciendo referencia al identificador de la variable declarada y utilizando ciertas instrucciones como la de asignación.

OBSERVACIÓN
El concepto de variable permite que el almacenamiento de datos sea más fácil de comprender y de realizar. Casi siempre en este texto y en otros se va a mencionar frases como la siguiente: “La variable almacena un valor x”. Pero en realidad sabemos que lo que se quiere decir es que el valor se almacena en una celda de memoria y que para poder manipular este valor almacenado se utiliza el identificador de la variable. Es por esto que a una variable se le conoce también como como una posición de memoria, porque es como si fuera la celda en sí misma