DATOS DE ALGORITMOS

**II. Tipos de datos**

**2.1 Datos**

El primer objetivo de toda computadora es el manejo de información o datos. Estos datos pueden ser las cifras de ventas de un supermercado o las calificaciones de una clase. Un dato es la expresión general que describe los objetos con los cuales opera una computadora.

Existen dos tipos de datos: simples (sin estructura) y compuestos (estructurados, los cuales se verán en programación).

Los tipos de datos simple.

numéricos (integer, real).

lógicos (boolean).

caracter (char, string).

Datos numéricos:

El tipo numérico es el conjunto de los valores numéricos. Estos pueden representarse en dos formas distintas:

- Tipo numérico entero (integer).

- Tipo numérico real (real).

Enteros: El tipo entero es un subconjunto finito de los números enteros. Los enteros son números completos, no tienen componentes fraccionarios o decimales y pueden ser negativos o positivos. En ocasiones se denominan números de punto fijo.

Ejemplo de números enteros son:

5 6 -15 4.

20 17 1,340 26.

Reales: El tipo real consiste en un subconjunto de los números reales. Los números reales siempre tienen un punto decimal y pueden ser positivos o negativos. Un número real consta de un entero y una parte decimal.

Los siguientes ejemplos son números reales:

0.08 3739.41 3.7452 -52.321.

-8.12 3.0 12.45678 -0.12334.

En aplicaciones científicas se requiere una representación especial para manejar números muy grandes como la masa de la Tierra o muy pequeños como la masa de un electrón. Una computadora sólo puede representar un número fijo de dígitos. Este número puede variar de una máquina a otra, siendo ocho dígitos un número típico. Este límite provocará problemas para representar y almacenar números muy grandes o muy pequeños como son los ya citados o los siguientes:

4867213432 0.00000000387.

Existe un tipo de representación denominado notación exponencial o científica y que se utiliza para números muy grandes o muy pequeños. Así,

se representa en notación científica, descomponiéndolo en grupos de tres dígitos.

367 520 100 000 000 000 000.

y posteriormente en forma de potencias de 10.

3.675201 x 10^19 y de modo similar.

.0000000000302579 se representa como.

3.02579 x 10^-11.

La representación en coma o punto flotante es una generalización de notación científica.

Obsérvese que las siguientes expresiones son equivalentes:

3.675201x10^19 = .3675201x10^20 = .03675201x10^21 = ,..., = 36.75201x10^18 = ...

En estas expresiones se considera la mantisa (parte decimal) al número real y el exponente (parte potencial) el de la potencia de diez.

36.75201 mantisa 18 exponente.

Datos lógicos (booleanos).

El tipo lógico - también denominado booleano - es aquel dato que sólo puede tomar uno de dos valores:

verdadero (true) o falso (false).

Este tipo de datos se utiliza para representar las alternativas (sí / no) a determinadas condiciones. Por ejemplo, cuando se pide si un valor entero es par, la respuesta será verdadera o falsa, según sea par o impar.

Datos tipo caracter.

El tipo caracter es el conjunto finito y ordenado de caracteres que la computadora reconoce. Un dato tipo caracter contiene un solo caracter.

Los caracteres que reconocen las diferentes computadoras no son estándar; sin embargo, la mayoría reconoce los siguientes caracteres alfabéticos y numéricos:

- caracteres alfabéticos (A, B, C,..., Z).

- caracteres numéricos (1, 2, ..., 9).

- caracteres especiales (+, -, \*, /, ^, ... , <, >, $, ...).

Una cadena (string) de caracteres es una sucesión de caracteres que se encuentran delimitados por una comilla (apóstrofo) o dobles comillas, según el tipo de lenguaje de programación. La longitud de una cadena de caracteres es el número de ellos comprendidos entre los separadores o delimitadores. Algunos lenguajes tienen datos tipo cadena. Ejemplo:

‘8 de octubre de 1976’.

**2.2 Constantes y Variables.**

Los programas de computadora contienen ciertos valores que no deben de cambiar durante la ejecución del programa. Tales valores se llaman constantes. De igual forma, existen otros valores que cambiarán durante la ejecución del programa; a estos valores se les llama variables.

Constantes.

Una constante es una partida de datos que permanecen sin cambios durante todo el desarrollo del algoritmo o durante la ejecución del programa.

Una constante tipo caracter o constante de caracteres consiste en un caracter válido encerrado dentro de apóstrofos; por ejemplo:

‘B’ ‘+’ ‘4’ ‘;’ ‘ ’’ ’.

Una secuencia de caracteres se denomina normalmente una cadena, y una constante tipo cadena es una cadena encerrada entre apóstrofos. Por consiguiente:

‘José Luis García’.

es constante de cadena válida. Si un apóstrofe es uno de los caracteres en una constante de cadena, debe aparecer como un par de apóstrofos:

‘Jonhn’’s’.

Sólo existen dos constantes lógicas o booleanas: verdadero y falso.

Variables.

Una variable es un objeto o partida de datos cuyo valor puede cambiar durante el desarrollo del algoritmo o ejecución del programa.

Dependiendo del lenguaje, hay diferentes tipos de variables tales como: enteras, reales, caracter, lógicas y de cadena.

Una variable que es de un cierto tipo puede tomar únicamente valores de ese tipo.

Una variable de caracter, por ejemplo, puede tomar como valor sólo caracteres, mientras que una variable entera puede tomar sólo valores enteros.

Si se intenta asignar un valor de un tipo a una variable de otro tipo se producirá un error de tipo.

Una variable se identifica por los siguientes atributos: nombre que lo asigna y tipo que describe el uso de la variable.

Los nombres de las variables, a veces conocidos como identificadores, suelen constar de varios caracteres alfanuméricos de los cuales el primero normalmente es una letra. No se deben utilizar como nombres de identificadores palabras reservadas del lenguaje de programación.

Nombres válidos de variables son:

A510.

Nombres.

Nombre\_Apellidos.

Los nombres de las variables elegidas para el algoritmo o el programa deben ser significativos y tener relación con el objeto que representan, como pueden ser los casos siguientes:

Nombre para representar nombres de personas.

Precios para representar los precios de diferentes artículos.

**2.3 Asignación.**

La operación de asignación es el modo de darle valores a una variable. Existen dos maneras de dar un valor a las variables : una es leer un valor para la variable mediante una operación de entrada; la otra manera es asignar un valor a la variable por medio de una asignación. Cuando un programa solicita un valor para una variable hablamos de una entrada. En cambio, en la asignación simplemente se le confiere un valor a la variable. Una variable solo puede contener un valor a la vez, por lo que cuando se le asigna un nuevo valor el anterior se pierde. Por esto se dice que la naturaleza de la asignación es destructiva. La operación de asignación se representa con el símbolo u operador. La operación de asignación se conoce como instrucción o sentencia de asignación cuando se refiere a una lenguaje de programación.

El formato general de una operación de asignación es la siguiente:

nombre de la variable <--- expresión.

En donde expresión es una expresión, una variable o una constante.

La flecha (operador de asignación) se sustituye en otros lenguajes por = (BASIC, FORTRAN) o := (PASCAL). Sin embargo, es preferible el uso de la flecha en la redacción del algoritmo, para evitar ambigüedades dejando el uso del símbolo = exclusivamente para el operador de **igualdad**.

La operación de asignación:

A <--- 5.

Significa que a la variable A se le ha asignado el valor 5.

La acción de asignar es destructiva, ya que el valor que tuviera la variable antes de la asignación se pierde y se reemplaza por el nuevo valor.

Así en la secuencia de operaciones.

A <--- 124.

A <--- 18.

A <--- 7.

Cuando éstas se ejecutan, el valor último que toma A será 7 (los valores 124 y 18 han desaparecido).

Las acciones de asignación se clasifican según sea el tipo de expresiones en: aritméticas, lógicas y de caracteres.

Asignación aritmética.

Las expresiones en las operaciones de asignación son aritméticas:

AMN <--- 3+14+8.

se evalúa la expresión 3+14+8 y se asigna a la variable AMN, es decir, 25 será el valor que toma AMN.

TER1 <--- 14.5 + 8
TER2 <--- 0.75 \* 3.4
MEDIA <--- TER1 / TER2.

Se evalúan las expresiones 14.5 +8 y 0.75 \* 3.4 y en la tercera acción se dividen los resultados de cada expresión y se asigna a la variable MEDIA, es decir, las 3 operaciones equivalen a MEDIA.

(14.5 + 8) / (0.75 \* 3.4).