Unidad 3:
Datos y Entidades Primitivas
Profa. Yenny Salazar
Identificar los tipos de datos empleados
en la escritura de algoritmos y programas.
● Datos
● Tipo de Datos
oRango de los Valores
oTipo de Datos Caracteres
oTipo de Datos Numéricos
oTipo de Datos Lógicos
oTipo de Datos Void
● Conversión de Tipos
o Conversión Forzada de Tipos de Datos
● Actividades
● Referencias
Son las representaciones simbólicas de un determinado atributo o
variable. Estos datos pueden ser las cifras de ventas de un
supermercado o las calificaciones de una clase. Esta expresión
general, describe los objetos con los cuales opera una computadora.
Los datos de entrada se transforman en datos de salida, después de
ser procesados por el programa. En los lenguajes de programación,
los datos son la expresión de las entidades sobre las cuales operan
dichos programas, que están almacenados en memoria, discos, USB,
tarjetas SD… o bien son introducidos por un periférico de entrada
como: teclado, escáner, sensor eléctrico, etc.
Los datos, son particularmente importantes para la estructura de
datos (rama de la computación que estudia la forma particular de
almacenaje de la información en porciones mínimas para lograr una
posterior recuperación eficiente).
En el proceso de resolución de problemas, el diseño de la
estructura de datos es tan importante como el diseño del
algoritmo y su traducción a un lenguaje de programación.
Es el conjunto específico de valores que asumen los datos y un
conjunto de operaciones que actúan sobre ellos.
Cuando se habla de tipos de datos (o simplemente tipo) se refiere
a un atributo que le indica al computador la naturaleza de los datos
que se dispone a procesar. Esto incluye delimitar o restringir los
datos, definir los valores que pueden tomar, qué operaciones se
puede realizar con ellos, etc.
La mayoría de las computadoras pueden trabajar con varios tipos
de datos y algunos de esos tipos son:
● Carácter: Dígitos individuales que se pueden representar
mediante datos numéricos (0-9), letras (a-z) u otros símbolos.
● Carácter unicode: Unicode es un estándar de codificación que
permite representar más eficazmente los datos, permitiendo así
hasta 65.535 caracteres diferentes.
● Numéricos: Pueden ser números reales o enteros.
● Lógicos: Representan dos valores (verdadero o falso)
En los lenguajes de programación los datos deben de ser de un
tipo específico, donde se establece el rango de valores que puede
tomar durante el programa. Por ejemplo en lenguaje C cada tipo de
dato está delimitado por un rango de valores:
Siendo E: exponencial
Tipo Tamaño (bytes) Rango
int (enteros) 2 -32,768 a 32,767
float (flotante - reales) 4 3.4 E-38 a 3.4 E+38
double (flotante de doble precisión) 8 1.7 E-308 a 1.7 E+308
char (carácter) 1 -128 a 127
void 0 sin valor
El almacenamiento de caracteres se hace en palabras de 8 bits (1
byte). Este tipo representa valores enteros (de -128 a 127). El lenguaje
C proporciona el tipo unsigned char para valores de 0 a 255 y así
representar todos los caracteres ASCII.
Una característica de la parte estándar del conjunto de caracteres
(los primeros 128) es que contiene las letras mayúsculas (A–Z), las
minúsculas (a–z) y los dígitos (0–9), y que cada uno de estos tres
subconjuntos está ordenado en su forma natural, por lo que se
pueden manejar rangos de caracteres bien definidos. Los caracteres
se almacenan internamente como números y por lo tanto se pueden
realizar operaciones aritméticas con datos tipo carácter (char).
Existe también el dato tipo cadena, que es una sucesión de
caracteres que se encuentran delimitados por comillas; su longitud
(número de caracteres) se define entre los delimitadores [ ].
Este tipo de datos se divide en enteros y reales.
● Enteros (int): Son aquellos números que no tienen fracciones o
decimales. Pueden ser negativos o positivos, aunque este rango
puede variar de un compilador a otro. Se almacenan
internamente en 2 o 4 bytes de memoria y pueden ser: unsigned
int, short int, int, unsigned long o long (cada uno de estos datos
puede almacenar un rango diferente de valores). Cuando el
rango de los tipos básicos no es suficientemente grande para sus
necesidades, se consideran tipos enteros largos. Ambos tipos
long requieren 4 bytes de memoria (32 bits) de almacenamiento.
● Reales o de coma flotante (float/double): Son aquellos números
que contienen una coma (un punto) decimal, tal como 3.1416,
pueden ser positivos y negativos, formando el subconjunto de
los números reales. Para representar números muy pequeños o
muy grandes se emplea la notación de punto flotante, que es
una generalización de la notación científica. C soporta tres
formatos de coma flotante: el float (4 bytes), double (8 bytes) y
long double (10 bytes).
Los valores lógicos True y False (verdadero y falso) son de tipo
bool, que representa valores lógicos.
El nombre bool viene del matemático George Boole, quien creó un
sistema algebraico para la lógica binaria. Por lo mismo, a True y
False también se les llama valores booleanos. El nombre no es muy
intuitivo, pero es el que se usa en informática, así que hay que
conocerlo.
Hay lenguajes que sólo pueden tomar uno de dos valores
(verdadero y falso), en lenguaje C no existe el tipo lógico pero se
puede implementar con un número entero, 0 es falso, y cualquier
número diferente de cero es verdadero.
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.
Los tipo de datos void, son datos vacíos o sin valor. La palabra
reservada void define el concepto de no existencia o no atribución
de un tipo de dato en una variable o declaración. Es decir, una
función declarada como void no devolverá ningún valor. Esta
palabra reservada también puede usarse para indicar que una
función no recibe parámetros. Por ejemplo la función main en
lenguaje C, no regresa valor alguno (nada): void main() o void
main(void) porque tampoco tiene parámetros.
Se debe tener cuidado, ya que esta característica es propia de
algunos compiladores, pero por ejemplo en DEV-C11 el main tiene
que regresar un entero (int), por el return 0, es decir int main(void)
o int main(); pero las demás funciones predefinidas sí pueden
utilizar el tipo void; esto se estudiará más adelante.
Cuando se evalúa una expresión aritmética que contiene
diferentes tipos de datos, el compilador convierte todos ellos a un
tipo único. Estas conversiones pueden aumentar o disminuir la
precisión del tipo al que se convierten los elementos de la
expresión. La conversión se hace operación a operación y se lleva a
cabo según el tipo que esté más a la derecha de la siguiente
relación:
char→int→unsigned int→long→unsigned long→float→double→long double
Conversión Forzada de Tipos de Datos
Además de la conversión automática, el lenguaje C ofrece la
posibilidad de forzar la conversión de un tipo de datos en otro tipo
diferente. Esta conversión forzada es conocida como casts
ACTIVIDAD
● Investigue y realice un cuadro comparativo con
los rangos de valores, memoria requerida y
descripción de cada tipo de dato, incluyendo
los vistos en este tema y los signed, unsigned,
short, long, según corresponda.
● Identifique qué tipo de dato son los siguientes:
* “12” * 234 * 0.23e-12 * “casa”
* 3.14 * „A‟ * TRUE * i
● Investigue cuáles tipo de datos soporta el
PSeInt.
Corona, M. y Ancona M. 2011. Diseño de algoritmos y su codificación en
lenguaje C. McGraw-Hill. México.
Joyanes, L. y Zahonero, I. 2002. Programación en C. Metodología,
algoritmos y estructura de datos. McGraw-Hill.
Joyanes, L. 2008. Fundamentos de Programación, Algoritmos, Estructura
de Datos y Objetos. Cuarta edición. McGraw-Hill.
López, J. Algoritmos y Programación. 2009. Segunda Edición. Eduteka.
Unidad 3:
Datos y Entidades Primitivas
Profa. Yenny Salazar

3.1.- Tipo de Datos

  • 1.
    Unidad 3: Datos yEntidades Primitivas Profa. Yenny Salazar Identificar los tipos de datos empleados en la escritura de algoritmos y programas.
  • 2.
    ● Datos ● Tipode Datos oRango de los Valores oTipo de Datos Caracteres oTipo de Datos Numéricos oTipo de Datos Lógicos oTipo de Datos Void ● Conversión de Tipos o Conversión Forzada de Tipos de Datos ● Actividades ● Referencias
  • 3.
    Son las representacionessimbólicas de un determinado atributo o variable. Estos datos pueden ser las cifras de ventas de un supermercado o las calificaciones de una clase. Esta expresión general, describe los objetos con los cuales opera una computadora. Los datos de entrada se transforman en datos de salida, después de ser procesados por el programa. En los lenguajes de programación, los datos son la expresión de las entidades sobre las cuales operan dichos programas, que están almacenados en memoria, discos, USB, tarjetas SD… o bien son introducidos por un periférico de entrada como: teclado, escáner, sensor eléctrico, etc. Los datos, son particularmente importantes para la estructura de datos (rama de la computación que estudia la forma particular de almacenaje de la información en porciones mínimas para lograr una posterior recuperación eficiente). En el proceso de resolución de problemas, el diseño de la estructura de datos es tan importante como el diseño del algoritmo y su traducción a un lenguaje de programación.
  • 4.
    Es el conjuntoespecífico de valores que asumen los datos y un conjunto de operaciones que actúan sobre ellos. Cuando se habla de tipos de datos (o simplemente tipo) se refiere a un atributo que le indica al computador la naturaleza de los datos que se dispone a procesar. Esto incluye delimitar o restringir los datos, definir los valores que pueden tomar, qué operaciones se puede realizar con ellos, etc. La mayoría de las computadoras pueden trabajar con varios tipos de datos y algunos de esos tipos son: ● Carácter: Dígitos individuales que se pueden representar mediante datos numéricos (0-9), letras (a-z) u otros símbolos. ● Carácter unicode: Unicode es un estándar de codificación que permite representar más eficazmente los datos, permitiendo así hasta 65.535 caracteres diferentes. ● Numéricos: Pueden ser números reales o enteros. ● Lógicos: Representan dos valores (verdadero o falso)
  • 5.
    En los lenguajesde programación los datos deben de ser de un tipo específico, donde se establece el rango de valores que puede tomar durante el programa. Por ejemplo en lenguaje C cada tipo de dato está delimitado por un rango de valores: Siendo E: exponencial Tipo Tamaño (bytes) Rango int (enteros) 2 -32,768 a 32,767 float (flotante - reales) 4 3.4 E-38 a 3.4 E+38 double (flotante de doble precisión) 8 1.7 E-308 a 1.7 E+308 char (carácter) 1 -128 a 127 void 0 sin valor
  • 6.
    El almacenamiento decaracteres se hace en palabras de 8 bits (1 byte). Este tipo representa valores enteros (de -128 a 127). El lenguaje C proporciona el tipo unsigned char para valores de 0 a 255 y así representar todos los caracteres ASCII. Una característica de la parte estándar del conjunto de caracteres (los primeros 128) es que contiene las letras mayúsculas (A–Z), las minúsculas (a–z) y los dígitos (0–9), y que cada uno de estos tres subconjuntos está ordenado en su forma natural, por lo que se pueden manejar rangos de caracteres bien definidos. Los caracteres se almacenan internamente como números y por lo tanto se pueden realizar operaciones aritméticas con datos tipo carácter (char). Existe también el dato tipo cadena, que es una sucesión de caracteres que se encuentran delimitados por comillas; su longitud (número de caracteres) se define entre los delimitadores [ ].
  • 7.
    Este tipo dedatos se divide en enteros y reales. ● Enteros (int): Son aquellos números que no tienen fracciones o decimales. Pueden ser negativos o positivos, aunque este rango puede variar de un compilador a otro. Se almacenan internamente en 2 o 4 bytes de memoria y pueden ser: unsigned int, short int, int, unsigned long o long (cada uno de estos datos puede almacenar un rango diferente de valores). Cuando el rango de los tipos básicos no es suficientemente grande para sus necesidades, se consideran tipos enteros largos. Ambos tipos long requieren 4 bytes de memoria (32 bits) de almacenamiento. ● Reales o de coma flotante (float/double): Son aquellos números que contienen una coma (un punto) decimal, tal como 3.1416, pueden ser positivos y negativos, formando el subconjunto de los números reales. Para representar números muy pequeños o muy grandes se emplea la notación de punto flotante, que es una generalización de la notación científica. C soporta tres formatos de coma flotante: el float (4 bytes), double (8 bytes) y long double (10 bytes).
  • 8.
    Los valores lógicosTrue y False (verdadero y falso) son de tipo bool, que representa valores lógicos. El nombre bool viene del matemático George Boole, quien creó un sistema algebraico para la lógica binaria. Por lo mismo, a True y False también se les llama valores booleanos. El nombre no es muy intuitivo, pero es el que se usa en informática, así que hay que conocerlo. Hay lenguajes que sólo pueden tomar uno de dos valores (verdadero y falso), en lenguaje C no existe el tipo lógico pero se puede implementar con un número entero, 0 es falso, y cualquier número diferente de cero es verdadero. 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.
  • 9.
    Los tipo dedatos void, son datos vacíos o sin valor. La palabra reservada void define el concepto de no existencia o no atribución de un tipo de dato en una variable o declaración. Es decir, una función declarada como void no devolverá ningún valor. Esta palabra reservada también puede usarse para indicar que una función no recibe parámetros. Por ejemplo la función main en lenguaje C, no regresa valor alguno (nada): void main() o void main(void) porque tampoco tiene parámetros. Se debe tener cuidado, ya que esta característica es propia de algunos compiladores, pero por ejemplo en DEV-C11 el main tiene que regresar un entero (int), por el return 0, es decir int main(void) o int main(); pero las demás funciones predefinidas sí pueden utilizar el tipo void; esto se estudiará más adelante.
  • 10.
    Cuando se evalúauna expresión aritmética que contiene diferentes tipos de datos, el compilador convierte todos ellos a un tipo único. Estas conversiones pueden aumentar o disminuir la precisión del tipo al que se convierten los elementos de la expresión. La conversión se hace operación a operación y se lleva a cabo según el tipo que esté más a la derecha de la siguiente relación: char→int→unsigned int→long→unsigned long→float→double→long double Conversión Forzada de Tipos de Datos Además de la conversión automática, el lenguaje C ofrece la posibilidad de forzar la conversión de un tipo de datos en otro tipo diferente. Esta conversión forzada es conocida como casts
  • 11.
    ACTIVIDAD ● Investigue yrealice un cuadro comparativo con los rangos de valores, memoria requerida y descripción de cada tipo de dato, incluyendo los vistos en este tema y los signed, unsigned, short, long, según corresponda. ● Identifique qué tipo de dato son los siguientes: * “12” * 234 * 0.23e-12 * “casa” * 3.14 * „A‟ * TRUE * i ● Investigue cuáles tipo de datos soporta el PSeInt.
  • 12.
    Corona, M. yAncona M. 2011. Diseño de algoritmos y su codificación en lenguaje C. McGraw-Hill. México. Joyanes, L. y Zahonero, I. 2002. Programación en C. Metodología, algoritmos y estructura de datos. McGraw-Hill. Joyanes, L. 2008. Fundamentos de Programación, Algoritmos, Estructura de Datos y Objetos. Cuarta edición. McGraw-Hill. López, J. Algoritmos y Programación. 2009. Segunda Edición. Eduteka. Unidad 3: Datos y Entidades Primitivas Profa. Yenny Salazar