You are on page 1of 70

Programacin

Clase 13. Tipos de Datos


Prof. Gonzalo Mller
gmullerb@mail.com

Facultad de Ingeniera Universidad Central de Venezuela

Clase Anterior
Computador: Procesador, Memoria, Disco Duro, Diskettes, Monitor, Teclado, Ratn. Sistema Computador: Unidad Central de Proceso, Memoria Principal, Unidades de Entrada, Unidades de Salida, Unidades de Almacenamiento Secundario. Memoria ROM y RAM Localidades Tamao: bit, byte, Direccin. Sistemas de Numeracin: Binario y Hexadecimal
Programacin Prof. Gonzalo Mller Clase 13 GM - 2

El Programador
Un programador es aquel: Tiene la capacidad para describir la solucin a un problema a travs de un secuencia de pasos. Es capaz de transformar esa secuencia de pasos a un lenguaje que la computadora puede efectuar. Conoce las caractersticas, el funcionamiento de la computadora y las tecnologa asociadas. Establece los tipos de datos y disea las estructuras de datos requeridas a utilizar en la resolucin de un problema.
Programacin Prof. Gonzalo Mller Clase 13 GM - 3

El Programador
Un programador es aquel: Tiene la capacidad para describir la solucin a un problema a travs de un secuencia de pasos. Es capaz de transformar esa secuencia de pasos a un lenguaje que la computadora puede efectuar. Conoce las caractersticas, el funcionamiento de la computadora y las tecnologa asociadas. Establece los tipos de datos y disea las estructuras de datos requeridas a utilizar en la resolucin de un problema.
Programacin Prof. Gonzalo Mller Clase 13 GM - 4

El Programador
Un programador es aquel: Tiene la capacidad para describir la solucin a un problema a travs de un secuencia de pasos. Es capaz de transformar esa secuencia de pasos a un lenguaje que la computadora puede efectuar. Conoce las caractersticas, el funcionamiento de la computadora y las tecnologa asociadas. Establece los tipos de datos y disea las estructuras de datos requeridas a utilizar en la resolucin de un problema.
Programacin Prof. Gonzalo Mller Clase 13 GM - 5

El Programador
Un programador es aquel: Tiene la capacidad para describir la solucin a un problema a travs de un secuencia de pasos. Es capaz de transformar esa secuencia de pasos a un lenguaje que la computadora puede efectuar. Conoce las caractersticas, el funcionamiento de la computadora y las tecnologa asociadas. Establece los tipos de datos y disea las estructuras de datos requeridas a utilizar en la resolucin de un problema.
Programacin Prof. Gonzalo Mller Clase 13 GM - 6

Diseo de Datos

Diseo de Datos

Diseo de Algoritmo

Programacin Prof. Gonzalo Mller Clase 13 GM - 7

Datos
Se almacenan: Datos. Programas.
CPU

Unidad AritmticoLgica

Unidad de Control

Unidades de Entrada

Memoria Principal
Almacenamiento Secundario
Programacin Prof. Gonzalo Mller Clase 13 GM - 8

Unidades de Salida

Datos
Se almacenan: Datos. Programas.
CPU

Unidad AritmticoLgica

Unidad de Control

Datos
Unidades de Entrada

Datos

Memoria Principal
Almacenamiento Secundario
Programacin Prof. Gonzalo Mller Clase 13 GM - 9

Unidades de Salida

Datos
Se almacenan: Datos. Programas.
CPU

Se procesan Datos
Unidad de Control

Unidad AritmticoLgica

Unidades de Entrada

Memoria Principal
Almacenamiento Secundario
Programacin Prof. Gonzalo Mller Clase 13 GM - 10

Unidades de Salida

Datos
Se almacenan: Datos. Programas. Se leen Datos
Unidades de Entrada
CPU

Datos

Programa

Datos

Unidad AritmticoLgica

Unidad de Control

Memoria Principal
Almacenamiento Secundario
Programacin Prof. Gonzalo Mller Clase 13 GM - 11

Unidades de Salida

Datos
Se almacenan: Datos. Programas.
CPU

Datos

Programa

Datos

Unidad AritmticoLgica

Unidad de Control

Unidades de Entrada

Memoria Principal
Almacenamiento Secundario
Programacin Prof. Gonzalo Mller Clase 13 GM - 12

Se muestran Datos
Unidades de Salida

Datos
Se almacenan: Datos. Programas.
CPU

Unidad AritmticoLgica

Unidad de Control

Unidades de Entrada

Se transmiten Datos

Memoria Principal
Almacenamiento Secundario
Programacin Prof. Gonzalo Mller Clase 13 GM - 13

Unidades de Salida

Datos
Un dato est formado por un conjunto de bytes:

1 Byte

Programacin Prof. Gonzalo Mller Clase 13 GM - 14

Datos
Los datos pueden ser de distinta naturaleza: Texto Nmeros Imgenes Etc.

130Kg y 65Kg
Programacin Prof. Gonzalo Mller Clase 13 GM - 15

Datos
Los datos pueden ser de distinta naturaleza: Texto Nmeros Imgenes Etc.

Todos almacenados como conjuntos de bytes


130Kg y 65Kg
Programacin Prof. Gonzalo Mller Clase 13 GM - 16

Datos
Existen tres tipos de datos bsicos elementales: Numricos. Carcter. Lgicos. Los Numricos se subdividen en:
Enteros. Reales.
JavaScript es un lenguaje donde las variables no estan restringidas a un tipo de dato
Programacin Prof. Gonzalo Mller Clase 13 GM - 17

Entero
Almacenan el valor de un nmero entero.

123 2567894 976843600287325645


Existen dos tipos de entero:
Enteros con signo. Enteros sin signo.
Programacin Prof. Gonzalo Mller Clase 13 GM - 18

Entero
Enteros sin signo: son capaces de almacenar solo nmeros enteros no negativos.

0, 1, 2, , 234, , 679790,
Estos se subdividen segn el tamao que ocupan en memoria:
1 Byte. 2 Byte. 4 Byte.

Programacin Prof. Gonzalo Mller Clase 13 GM - 19

Entero
Enteros sin signo de 1 byte: 1 byte 8 bits 256 situaciones Son capaces de almacenar los primeros 256 enteros no negativos:

0 255

Programacin Prof. Gonzalo Mller Clase 13 GM - 20

Entero
Enteros sin signo de 2 byte: 2 bytes 16 bits 65536 situaciones Son capaces de almacenar los primeros 65536 enteros no negativos:

0 65535

Programacin Prof. Gonzalo Mller Clase 13 GM - 21

Entero
Enteros sin signo de 4 byte: 4 bytes 32 bits 4294967296 situaciones Son capaces de almacenar los primeros 4294967296 enteros no negativos:

0 4294967295

Programacin Prof. Gonzalo Mller Clase 13 GM - 22

Entero
En general, para Enteros sin signo de n bytes:

0 28*n 1

Programacin Prof. Gonzalo Mller Clase 13 GM - 23

Entero
Enteros con signo: son capaces de almacenar nmero enteros cualesquiera (incluyendo negativos).

,-34428, , -567,,0, , 234, , 679790,

Programacin Prof. Gonzalo Mller Clase 13 GM - 24

Entero
Almacenar el signo requiere de un bit: un bit 0 establece que el nmero es positivo. un bit 1 establece que el nmero es negativo.

0 nmero 0 1 nmero < 0


Programacin Prof. Gonzalo Mller Clase 13 GM - 25

Entero
El bit de signo se le llama bit ms significativo (MSB), ya que es el que se encuentra ms a la izquierda, por lo tanto tiene una mayor ponderacin en el sistema de numeracin.

Utilizar un bit para el signo reduce el nmero de posibles situaciones a representar con un cadena de bits.

Programacin Prof. Gonzalo Mller Clase 13 GM - 26

Entero
Enteros con signo de 1 byte: 1 byte 1 bit (de signo) 7 bits: 128 negativos. 128 no negativos. Son capaces de almacenar:
Memoria 01111111 01111110 00000001 00000000 11111111 10000001 10000000
Programacin Prof. Gonzalo Mller Clase 13 GM - 27

Entero 127 126 1 0 -1 -127 -128

-128 127

Entero
Enteros con signo de 2 byte: 2 byte 1 bit (de signo) 15 bits: 32768 negativos. 32768 no negativos. Son capaces de almacenar:

-32768 32767
Programacin Prof. Gonzalo Mller Clase 13 GM - 28

Entero
Enteros con signo de 4 byte: 4 byte 1 bit (de signo) 31 bits: 2147483648 negativos. 2147483648 no negativos. Son capaces de almacenar:

-2147483648 2147483647
Programacin Prof. Gonzalo Mller Clase 13 GM - 29

Entero
En general, para Enteros con signo de n bytes:

28*n 1 28*n 1 1

Programacin Prof. Gonzalo Mller Clase 13 GM - 30

Entero
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas por un vendedor informal en medio da.

Programacin Prof. Gonzalo Mller Clase 13 GM - 31

Entero
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas por un vendedor informal en medio da. Debe ser Numrica.

Programacin Prof. Gonzalo Mller Clase 13 GM - 32

Entero
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas por un vendedor informal en medio da. Debe ser Numrica. Debe ser Entera, ya que se vende las donas enteras.

Programacin Prof. Gonzalo Mller Clase 13 GM - 33

Entero
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas por un vendedor informal en medio da. Debe ser Numrica. Debe ser Entera, ya que se vende las donas enteras. Debe ser Entera sin signo, ya que el vendedor entrega las donas no las recibe (sin considerar productos devueltos por el comprador o hurtos).

Programacin Prof. Gonzalo Mller Clase 13 GM - 34

Entero
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas por un vendedor informal en medio da. Debe ser Numrica. Debe ser Entera, ya que se vende las donas enteras. Debe ser Entera sin signo, ya que el vendedor entrega las donas no las recibe (sin considerar productos devueltos por el comprador o hurtos). Puede ser de 1 byte, ya que es difcil que un vendedor informal venda ms de 255 donas en medioda.
Programacin Prof. Gonzalo Mller Clase 13 GM - 35

Entero
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas por un vendedor informal en medio da.
Debe ser Numrica. Debe ser Entera, ya que se vende las donas enteras Debe ser Entera sin signo, ya que el vendedor entrega las donas no las recibe (sin considerar productos devueltos por el comprador o hurtos). Puede ser de 1 byte, ya que es difcil que un vendedor informal venda ms de 255 donas en medioda.

Entera sin signo de 1 byte


Programacin Prof. Gonzalo Mller Clase 13 GM - 36

Real
Almacena magnitudes formadas por una parte entera y una decimal.

0,00023400890003 786596,40505 -976843,006002873 456721,0


Solo es posible representar un subconjunto finito de los nmero reales.
Programacin Prof. Gonzalo Mller Clase 13 GM - 37

Real
Tambin se conoce como datos punto flotante. Se rige segn la norma IEEE 754. La forma como es almacenado un nmero real estaba basado en la notacin cientfica:

5.67x1056 5.67 mantisa 56 exponente

Programacin Prof. Gonzalo Mller Clase 13 GM - 38

Real
Mantisa normalizada: 0.1 Mantisa normalizada < 1

0.567x1057 0.567 mantisa normalizada 57 exponente

Programacin Prof. Gonzalo Mller Clase 13 GM - 39

Real
Solo sera necesario almacenar:
567 57

Existe un ahorro en memoria:


0 . x 10

Programacin Prof. Gonzalo Mller Clase 13 GM - 40

Real
En general:
Exponente Mantisa

n bits

m bits

La Mantisa es un nmero binario. El Exponente es un nmero entero sin signo. La Base es 2, no 10:

(-1)Signo x 1.Mantisa x 2 Exponente Bias


Programacin Prof. Gonzalo Mller Clase 13 GM - 41

Real
Real de 4 bytes:
Exponente Mantisa

8 bits

23 bits

En el exponente se puede almacenar: 0 255 (1 254) 6 cifras significativas. 16777216 puntos en el rango.

(-1)Signo x 1.Mantisa x 2 Exponente 127


Programacin Prof. Gonzalo Mller Clase 13 GM - 42

Real
El mayor nmero que se puede representar:

1.11111111...12 x 2 127
3.4028234663852886 x 10 38 En nmero ms pequeo que se puede representar:

1.17549435 x 10 -38
En epsilon entre un nmero y otro:

1.1920929 x 10 -7

Programacin Prof. Gonzalo Mller Clase 13 GM - 43

Real
Real de 8 bytes:
Exponente Mantisa

11 bits

52 bits

En el exponente se puede almacenar: 0 2047(1 2046) 15 cifras significativas. 9007199254740992 puntos en el rango.

(-1)Signo x 1.Mantisa x 2 Exponente 1023


Programacin Prof. Gonzalo Mller Clase 13 GM - 44

Real
El mayor nmero que se puede representar:

1.11111111...12 x 2 1023
1.7976931348623158 x 10 308 En nmero ms pequeo que se puede representar:

2.2250738585072014 x 10 -308
En epsilon entre un nmero y otro:

2.2204460492503131 x 10 -16

Programacin Prof. Gonzalo Mller Clase 13 GM - 45

Real
Real de 4 Byte
1.1920929 x 10-7 - -3.4028234663852886 x 10 38 0 1.17549435 x 10-38 3.4028234663852886 x 10 38 Dos nmero consecutivos de subconjunto finito

Real de 8 Byte
2.2204460492503131 x 10-16 - -1.7976931348623158 x 10 308 0 2.2250738585072014 x 10-308 1.7976931348623158 x 10 308 Dos nmero consecutivos de subconjunto finito

Programacin Prof. Gonzalo Mller Clase 13 GM - 46

Real
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas promedio vendidas por un vendedor informal en medio da por una semana.

Programacin Prof. Gonzalo Mller Clase 13 GM - 47

Real
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas promedio vendidas por un vendedor informal en medio da por una semana. Debe ser Numrica.

Programacin Prof. Gonzalo Mller Clase 13 GM - 48

Real
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas promedio vendidas por un vendedor informal en medio da por una semana. Debe ser Numrica. Debe ser Real, ya que el promedio es un nmero no necesariamente entero, es decir, puede contener decimales.

Programacin Prof. Gonzalo Mller Clase 13 GM - 49

Real
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas promedio vendidas por un vendedor informal en medio da por una semana. Debe ser Numrica. Debe ser Real, ya que el promedio es un nmero no necesariamente entero, es decir, puede contener decimales. Puede ser de 4 bytes, ya que este tipo ofrece una precisin de 6 cifras significativas y para el vendedor es necesario a lo sumo 1 cifra.
Programacin Prof. Gonzalo Mller Clase 13 GM - 50

Real
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar las cantidad de donas vendidas promedio vendidas por un vendedor informal en medio da por una semana.
Debe ser Numrica. Debe ser Real, ya que el promedio es un nmero no necesariamente entero, es decir, puede contener decimales. Puede ser de 4 bytes, ya que este tipo ofrece una precisin de 6 cifras significativas y para el vendedor es necesario a lo sumo 1 cifra.

Real de 4 bytes
Programacin Prof. Gonzalo Mller Clase 13 GM - 51

Real
Casos especiales: :
Exponente Mantisa Representacin Todos 0 != 0 Nmeros subnormales Todos 0 Todos 1 Todos 1 =0 =0 != 0 Cero (con signo) Infinito (con signo) NaN(Not a Number)

Subnormales: (-1)S x 0.Mantisa x 2 Exponente Bias Not a Number : s

0: Operacin No Valida 1: Indeterminado

Los nmeros subnormales llena el vacio formado alrededor del 0


Programacin Prof. Gonzalo Mller Clase 13 GM - 52

Lgico
Almacena Verdadero o Falso. Normalmente ocupa el menor tamao posible, es decir, 1 byte. Si bien es cierto en un byte tenemos 256 posibilidades:
00000000 Falso. Cualquier otro valor es Verdadero.

Programacin Prof. Gonzalo Mller Clase 13 GM - 53

Lgico
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar si un vendedor informal vendi donas de chocolate en medio da.

Programacin Prof. Gonzalo Mller Clase 13 GM - 54

Lgico
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar si un vendedor informal vendi donas de chocolate en medio da. Debe ser Lgica, ya que se necesita almacenar dos situaciones, si vendi o no vendi, verdadero si vendi y falso de lo contrario.

Programacin Prof. Gonzalo Mller Clase 13 GM - 55

Lgico
Ejemplo: Se requiere seleccionar el tipo de dato para una variable que almacenar si un vendedor informal vendi donas de chocolate en medio da.
Debe ser Lgica, ya que se necesita almacenar dos situaciones, si vendi o no vendi, verdadero si vendi y falso de lo contrario.

Lgica

Programacin Prof. Gonzalo Mller Clase 13 GM - 56

Carcter
Contiene una unidad de informacin de texto o alfanumrica. Caracteres Alfabticos:
Maysculas: A, B, Minsculas: a, b,

Caracteres Numricos: 0, 1, Caracteres especiales:#, ,, >, {,

Programacin Prof. Gonzalo Mller Clase 13 GM - 57

Carcter
Un carcter se almacena en un byte de memoria.

En un byte 8 bits 28 = 256 posibilidades:

256 Caracteres
Programacin Prof. Gonzalo Mller Clase 13 GM - 58

Carcter
Cada carcter almacenado corresponde a un nmero entero establecido en una tabla de conversin definida por la ANSI (American National Standard Institute) llamada tabla ASCII (American Standard Code for Interchange of Information)

Programacin Prof. Gonzalo Mller Clase 13 GM - 59

Carcter

Memoria (Binario) 00100000 00111111 01000111 01100111 10000001 10100100

Representacin Entera 32 63 71 103 129 164


Programacin Prof. Gonzalo Mller Clase 13 GM - 60

Carcter

? G g

Carcter

Programacin Prof. Gonzalo Mller Clase 13 GM - 61

Carcter

Programacin Prof. Gonzalo Mller Clase 13 GM - 62

Carcter
Los primeros 32 caracteres son caracteres no imprimibles, los cuales son fundamentalmente para ejecutar funciones especiales. Los restantes si representan caracteres de texto:
Entero 48 65 97 129 171 Hexadecimal 30 41 61 81 AB Carcter 0 A a

Programacin Prof. Gonzalo Mller Clase 13 GM - 63

Tipo de datos
Reflexin: Tipo de dato a seleccionar. Operaciones en diferentes tipos. Errores en truncamiento o redondeo.
Se tiene un subconjunto finito de los nmero reales.

Igualdades con Reales.


Acumulacin redondeo. de errores de truncamiento o

Programacin Prof. Gonzalo Mller Clase 13 GM - 64

Tipo de datos
Reflexin: Errores en truncamiento o redondeo. Igualdades con Reales. Ejemplo:
c = 0.5 0.1 0.1 - 0.1 0.1 0.1

Programacin Prof. Gonzalo Mller Clase 13 GM - 65

Tipo de datos
Reflexin: Errores en truncamiento o redondeo. Igualdades con Reales. Ejemplo:
c = 0.5 0.1 0.1 - 0.1 0.1 0.1

Debera ser 0! ?
Programacin Prof. Gonzalo Mller Clase 13 GM - 66

Variables
Lista de Variables: Una vez desarrollado el algoritmo, se debe establecer los tipos de las variables a utilizar. Es til para la posterior implementacin en el lenguaje construir una lista con todas las variables utilizadas en el algoritmo y sus respectivos tipos.
Variable variable1:tipo1 variableN:tipoN
Programacin Prof. Gonzalo Mller Clase 13 GM - 67

Variables
Ejemplo: Construir un algoritmo para promediar 2 nmeros. Fase 1: Diseo y Anlisis: DES, DRE DF y LV.

Programacin Prof. Gonzalo Mller Clase 13 GM - 68

Ejercicio
Dados los siguientes problemas, construir el DES y LV (al menos entrada y salida) y justificar: a) Contar cantidad de nmeros pares en un conjunto de 260 nmeros. b) Contar el nmero de votos. c) Promediar 25 notas enteras de un curso. Presentar en la salida: d) La opcin seleccionada entre 1, 2 y 3. e) Si una persona es alta o baja. f) La nacionalidad de una persona. g) El nmero de hijos de una persona.
Programacin Prof. Gonzalo Mller Clase 13 GM - 69

Resumen
Tipos de Datos: Numricos:
Entero:
Sin Signo: 1, 2, 4 y 8 bytes. Con Signo: 1, 2, 4 y 8 bytes.

Real:
4 bytes. 8 bytes.

Lgicos. Carcter.
Programacin Prof. Gonzalo Mller Clase 13 GM - 70

You might also like