19 enero 2009

4 Tipos de datos y variables

img_163

Para todo buen programador (véase imagen a la izquierda, jeje), es indispensable saber hacer algoritmos.  Sin embargo, para hacer algoritmos para la computadora, es indispensable guardar información.  No se puede trabajar con datos, si no puedes ponerlos en algún lado, ¿cierto?

Dejando estas obviedades a un lado, vamos viendo lo que son los tipos de datos, cómo se dividen, qué tipos hay, etc. para luego hablar de variables, las cuales son una especie de encarnación de los tipos de datos en un programa.  Ahí vamos…

Pero antes de hablar de tipos de datos, ¿qué es un dato?  Un dato, según la RAE (Real Academia Española) es el antecedente necesario para llegar al conocimiento exacto de algo o para deducir las consecuencias legítimas de un hecho.  He allí la importancia del manejo de datos, la justificación misma por la que las computadoras son indispensables para la humanidad entera (parece exagerado esta afirmación pero, ¿qué pasaría si apagáramos las todas las computadoras del país media hora?  ¿Quién se haría cargo de manejar toda esa información?).  Por otro lado, también aclara que en la informática, un dato es la información dispuesta de manera adecuada para su tratamiento por un ordenador.  Esta definición es exactamente lo que andamos buscando, o por lo menos para los fines de este artículo.

Para la computadora, todo lo que almacenes es un número binario, o sea, puros unos y ceros.  Absolutamente todo.  Es por esta razón que hay que decirle a la computadora cómo queremos que trate a ese número, porque hay información de todo tipo: números, letras, valores booleanos (verdadero o falso), fecha, hora, etc.  Por ejemplo, la computadora podrá guardar el un byte en su memoria que almacene el siguiente número binario: 10000010.  Si lo interpretamos como un número entero, equivaldría al 130 pero si lo interpretamos como una sola letra correspondería al “é” (gracias al código ASCII).

Los datos se pueden dividir en ordinales y escalares (o no-ordinales como dicen algunos autores).  Los datos ordinales son aquellos que almacenan datos que se pueden contar, o sea que se puede establecer una relación uno a uno entre sus elementos y el conjunto de números naturales, como lo son los enteros, lógicos o booleanos y los caracteres o letras.  Los datos escalares o no-ordinales son aquellos que no se pueden contar y se pueden resumir que son los números reales o sea, números que contienen un punto decimal.

Un tipo de dato básicamente en un conjunto de valores que un dato puede tomar durante un programa.  Básicamente hay dos tipos de datos: los numéricos y los de caracteres (letras).

Como decía antes, una variable es algo así como la encarnación de un tipo de dato en un programa.  Formalmente podríamos decir que una variable es un campo de memoria que almacena información, la cual puede cambiar en cualquier momento.  En álgebra lo usan para definir cosas de las que todavía desconoces su valor y en la computación lo usamos para guardar datos, por lo que cada variable tiene un tipo de dato definido.

Haz de cuenta que las variables son como los contenedores (como Tupperware) que tienen en su casa: cada bote contiene un solo tipo de cosa, ya sea café, sal, azúcar, etc.  El tipo de contenido (café, azúcar, etc.) es el tipo de dato y tendrías un error terrible si al bote de azúcar lo llenas con sal.  Probablemente en tu alacena el bote donde pones la sal es idéntico al que usas para la pimienta, pero lo que difiere es la forma en que lo usas, el contexto en el cual usas el contenido de cada bote, al igual que las variables, las cuales son espacios en memoria que contienen dígitos binarios y la única diferencia entre una y otra es la forma en que se usa el número que está almacenado.  Para hacer cualquier cosa en la cocina, necesitas de varios botes de tu alacena con los diferentes ingredientes que vas a usar en tu receta/algoritmo porque guardan cosas/datos indispensables para la solución.

A continuación voy a poner una tabla con los tipos de datos principales (o por lo menos los más usados).  Escribiré el tipo de dato, el número de bytes que ocupa en la memoria y el rango de valores que acepta.  Aunque los nombres de los tipos son en lenguaje C o C++, estos tipos de datos existen en todos los lenguajes de programación.

Tipo

Tamaño (bytes)

Valor mínimo

Valor máximo

char

1

-

-

int

2

-32768

32767

unsigned int

2

0

65536

long int

4

-2^91

2^91 - 1

float

4

-3.2 x 10^38

3.2 x 10^38

double

8

-1.7 x 10^308

1.7 x 10^308

Ok.  Creo que más o menos agarramos la onda de lo que tratan las variables, pero ¿cómo nos referimos a ellas?  Fácil.  Haríamos lo mismo que para hablarle a cualquier amigo: por su nombre.  El único problema radica en decidir qué nombre ponerle.

Las variables, al igual que las personas, pueden tener el nombre que sea.  Sin embargo, no todo nombre es adecuado.  En álgebra, estamos acostumbrados a usar nombres como x, y o z, sin embargo son muy pocas las variables usadas en las funciones matemáticas, a diferencia de un programa para la computadora que puede manejar miles de datos al mismo tiempo.  Es por eso que se debería poner un nombre que tenga que ver con el dato que quiero guardar.  Por ejemplo, en lugar de ponerle juanito_perez a una variable donde almaceno la cantidad que voy a descontar del subtotal del pedido de un cliente, sería mejor ponerle un nombre como descuento.

Hay un estándar que nos ayuda a nombrar variables una nomenclatura húngara que consiste en unos lineamientos que sirven para nombrar variables de tal manera que al solo ver la variable, nos demos cuenta de qué tipo de dato se trata.  Para usar esta nomenclatura inicias los nombre de todas las variables con tres letras que indican el tipo de dato, seguido del nombre de la variable que comienza con una letra mayúscula.  Por ejemplo, si el porcentaje de descuento del que hablaba en el párrafo anterior es de tipo entero, el nombre de variable que sugiere esta nomenclatura sería intDescuento.

Antes de poder usar una variable, hay que declararla (hay lenguajes que no te obligan a hacerlo de forma explícita porque si no lo haces, el lenguaje le asigna un tipo de forma automática).  Al declarar una variable el programa reserva unos cuantos bytes de la memoria RAM y recuerda que a esos bytes los va a conocer como esa variable y va a tratar el dato que está allí de determinado forma (según el tipo de datos).

Cada lenguaje de programación tiene su propia manera de declarar variables.  Por ejemplo, en C y C++ la sintaxis sería esta:

tipo nombre;

Por ejemplo:

int X;

También se pueden declarar muchas variables del mismo tipo en una sola línea, como se ve aquí:

double dblTotal,dblPrecio,dblCambio;

E incluso le puedo asignar un valor a la variable para inicializarla con algún valor (nota: las constantes que son caracteres van entre apóstrofes.  Si no las hubiera puesto en el siguiente ejemplo, estaría tratando de asignarle a chrLetra el valor almacenado en la variable S):

char chrLetra=’S’;

Aquí le paro.  Luego podremos hablar sobre como usar variables en otros lenguajes, pero de todos modos es muy similar.  ¡Hasta la próxima!

4 comentarios:

Related Posts Plugin for WordPress, Blogger...