Clase Programación 13
Transcript of Clase Programación 13
-
8/14/2019 Clase Programacin 13
1/70
Programacin
Prof. Gonzalo Mller
[email protected] de Ingeniera
Universidad Central de Venezuela
Clase 13. Tipos e Datos
-
8/14/2019 Clase Programacin 13
2/70
Clase Anterior
Computador: Procesador, Memoria, Disco Duro,Diskettes, Monitor, Teclado, Ratn.
Sistema Computador: Unidad Central de Proceso,Memoria Principal, Unidades de Entrada, Unidades deSalida Unidades de Almacenamiento Secundario.
Programacin Prof. Gonzalo Mller Clase 13 GM - 2
Memoria
ROM y RAM
Localidades
Tamao: bit, byte, Direccin.
Sistemas de Numeracin: Binario y Hexadecimal
-
8/14/2019 Clase Programacin 13
3/70
-
8/14/2019 Clase Programacin 13
4/70
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
Programacin Prof. Gonzalo Mller Clase 13 GM - 4
.
Conoce las caractersticas, el funcionamiento de lacomputadora y las tecnologa asociadas.
Establece los tipos de datos y disea las estructurasde datos requeridas a utilizar en la resolucin de unproblema.
-
8/14/2019 Clase Programacin 13
5/70
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
Programacin Prof. Gonzalo Mller Clase 13 GM - 5
.
Conoce las caractersticas, el funcionamiento de lacomputadora y las tecnologa asociadas.
Establece los tipos de datos y disea las estructurasde datos requeridas a utilizar en la resolucin de unproblema.
-
8/14/2019 Clase Programacin 13
6/70
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
Programacin Prof. Gonzalo Mller Clase 13 GM - 6
.
Conoce las caractersticas, el funcionamiento de lacomputadora y las tecnologa asociadas.
Establece los tipos de datos y disea las estructurasde datos requeridas a utilizar en la resolucin de unproblema.
-
8/14/2019 Clase Programacin 13
7/70
Diseo de Datos
Diseo de DatosDiseo de Datos Diseo de AlgoritmoDiseo de Algoritmo
Programacin Prof. Gonzalo Mller Clase 13 GM - 7
-
8/14/2019 Clase Programacin 13
8/70
-
8/14/2019 Clase Programacin 13
9/70
-
8/14/2019 Clase Programacin 13
10/70
Datos
Se almacenan:
Datos .
Programas.CPU
Unidadde
Control
Unidad Aritmtico-
Lgica
Se procesanDatos
Programacin Prof. Gonzalo Mller Clase 13 GM - 10
Unidades deEntrada
Memoria Principal
Almacenamiento SecundarioUnidades de
Salida
-
8/14/2019 Clase Programacin 13
11/70
Datos
Se almacenan:
Datos .
Programas.CPU
Unidadde
Control
Unidad Aritmtico-
LgicaSe leen
ProgramaDatos Datos
Programacin Prof. Gonzalo Mller Clase 13 GM - 11
Unidades deEntrada
Memoria Principal
Almacenamiento SecundarioUnidades de
Salida
-
8/14/2019 Clase Programacin 13
12/70
-
8/14/2019 Clase Programacin 13
13/70
-
8/14/2019 Clase Programacin 13
14/70
Datos
Un dato est formado por un conjunto de bytes:
1 Byte
Programacin Prof. Gonzalo Mller Clase 13 GM - 14
-
8/14/2019 Clase Programacin 13
15/70
Datos
Los datos pueden ser de distinta naturaleza:
Texto
NmerosImgenes
Programacin Prof. Gonzalo Mller Clase 13 GM - 15
Etc.
130Kg y 65Kg
-
8/14/2019 Clase Programacin 13
16/70
Datos
Los datos pueden ser de distinta naturaleza:
Texto
NmerosImgenes
Programacin Prof. Gonzalo Mller Clase 13 GM - 16
Etc.
130Kg y 65Kg
Todos almacenados comoconjuntos de bytes
-
8/14/2019 Clase Programacin 13
17/70
Datos
Existen tres tipos de datos bsicos elementales:
Numricos.
Carcter.
Lgicos.
Programacin Prof. Gonzalo Mller Clase 13 GM - 17
Los Numricos se subdividen en:Enteros.
Reales. JavaScript es un lenguaje donde las variablesno estan restringidas a un tipo de dato
-
8/14/2019 Clase Programacin 13
18/70
Entero
Almacenan el valor de un nmero entero.
1232567894
Programacin Prof. Gonzalo Mller Clase 13 GM - 18
976843600287325645
Existen dos tipos de entero:Enteros con signo.Enteros sin signo.
-
8/14/2019 Clase Programacin 13
19/70
-
8/14/2019 Clase Programacin 13
20/70
Entero
Enteros sin signo de 1 byte :
1 byte 8 bits 256 situaciones
Son capaces de almacenar los primeros 256 enterosno negativos:
Programacin Prof. Gonzalo Mller Clase 13 GM - 20
0 255
-
8/14/2019 Clase Programacin 13
21/70
Entero
Enteros sin signo de 2 byte :
2 bytes 16 bits 65536 situaciones
Son capaces de almacenar los primeros 65536enteros no negativos:
Programacin Prof. Gonzalo Mller Clase 13 GM - 21
0 65535
-
8/14/2019 Clase Programacin 13
22/70
-
8/14/2019 Clase Programacin 13
23/70
-
8/14/2019 Clase Programacin 13
24/70
Entero
Enteros con signo : son capaces de almacenar nmeroenteros cualesquiera (incluyendo negativos).
,-34428, , -567,,0, , 234, , 679790,
Programacin Prof. Gonzalo Mller Clase 13 GM - 24
-
8/14/2019 Clase Programacin 13
25/70
-
8/14/2019 Clase Programacin 13
26/70
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 ponderacinen el sistema de numeracin.
Programacin Prof. Gonzalo Mller Clase 13 GM - 26
Utilizar un bit para el signo reduce el nmero de
posibles situaciones a representar con un cadenade bits.
-
8/14/2019 Clase Programacin 13
27/70
-
8/14/2019 Clase Programacin 13
28/70
Entero
Enteros con signo de 2 byte :
2 byte 1 bit (de signo) 15 bits:
32768 negativos. 32768 no negativos.
Programacin Prof. Gonzalo Mller Clase 13 GM - 28
Son capaces de almacenar:
-32768 32767
-
8/14/2019 Clase Programacin 13
29/70
Entero
Enteros con signo de 4 byte :
4 byte 1 bit (de signo) 31 bits:
2147483648 negativos. 2147483648 no negativos.
Programacin Prof. Gonzalo Mller Clase 13 GM - 29
Son capaces de almacenar:
-2147483648 2147483647
-
8/14/2019 Clase Programacin 13
30/70
Entero
En general, para Enteros con signo de n bytes:
28*n 1 2 8*n 1 1
Programacin Prof. Gonzalo Mller Clase 13 GM - 30
-
8/14/2019 Clase Programacin 13
31/70
Entero
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donas
vendidas por un vendedor informal en medio da.
Programacin Prof. Gonzalo Mller Clase 13 GM - 31
-
8/14/2019 Clase Programacin 13
32/70
Entero
Ejemplo: Se requiere seleccionar el tipo de dato parauna 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
-
8/14/2019 Clase Programacin 13
33/70
Entero
Ejemplo: Se requiere seleccionar el tipo de dato parauna 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 - 33
, .
-
8/14/2019 Clase Programacin 13
34/70
Entero
Ejemplo: Se requiere seleccionar el tipo de dato parauna 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 - 34
, .
Debe ser Entera sin signo , ya que el vendedorentrega las donas no las recibe (sin considerar
productos devueltos por el comprador o hurtos).
-
8/14/2019 Clase Programacin 13
35/70
Entero
Ejemplo: Se requiere seleccionar el tipo de dato parauna 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 - 35
, .
Debe ser Entera sin signo , ya que el vendedorentrega 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 enmedioda.
-
8/14/2019 Clase Programacin 13
36/70
-
8/14/2019 Clase Programacin 13
37/70
Real
Almacena magnitudes formadas por una parte entera y una decimal.
0,00023400890003
Programacin Prof. Gonzalo Mller Clase 13 GM - 37
,-976843,006002873
456721,0
Solo es posible representar un subconjunto finito
de los nmero reales.
-
8/14/2019 Clase Programacin 13
38/70
Real
Tambin se conoce como datos punto flotante .Se rige segn la norma IEEE 754.
La forma como es almacenado un nmero realestaba basado en la notacin cientfica:
Programacin Prof. Gonzalo Mller Clase 13 GM - 38
5.67x1056
5.67 mantisa56 exponente
-
8/14/2019 Clase Programacin 13
39/70
Real
Mantisa normalizada:
0.1 Mantisa normalizada < 1
0.567x10 57
Programacin Prof. Gonzalo Mller Clase 13 GM - 39
0.567 mantisa normalizada57 exponente
l
-
8/14/2019 Clase Programacin 13
40/70
Real
Solo sera necesario almacenar:567
57Existe un ahorro en memoria:
Programacin Prof. Gonzalo Mller Clase 13 GM - 40
0.
x
10
-
8/14/2019 Clase Programacin 13
41/70
R l
-
8/14/2019 Clase Programacin 13
42/70
Real
Real de 4 bytes:
En el exponente se puede almacenar:
Exponente Mantisa
s 8 bits 23 bits
Programacin Prof. Gonzalo Mller Clase 13 GM - 42
0 255 (1 254)6 cifras significativas.
16777216 puntos en el rango.(-1)Signo x 1.Mantisa x 2 Exponente 127
R l
-
8/14/2019 Clase Programacin 13
43/70
Real
El mayor nmero que se puede representar:
1.11111111...12 x 2 127
3.4028234663852886x 10 38
En nmero ms pe ueo ue se puede representar:
Programacin Prof. Gonzalo Mller Clase 13 GM - 43
1.17549435 x 10 -38
En epsilon entre un nmero y otro:
1.1920929 x 10 -7
Re l
-
8/14/2019 Clase Programacin 13
44/70
Real
Real de 8 bytes:Exponente Mantisa
s 11 bits 52 bits
Programacin Prof. Gonzalo Mller Clase 13 GM - 44
0 2047(1 2046)15 cifras significativas.
9007199254740992 puntos en el rango.(-1)Signo x 1.Mantisa x 2 Exponente 1023
Real
-
8/14/2019 Clase Programacin 13
45/70
Real
El mayor nmero que se puede representar:
1.11111111...12 x 2 1023
1.7976931348623158x 10 308
En nmero ms pe ueo ue se puede representar:
Programacin Prof. Gonzalo Mller Clase 13 GM - 45
2.2250738585072014 x 10 -308
En epsilon entre un nmero y otro:
2.2204460492503131 x 10 -16
Real
-
8/14/2019 Clase Programacin 13
46/70
Real
Real de 4 Byte
0 3.4028234663852886 x 1038-3.4028234663852886 x 1038
1.17549435 x 10-38-
1.1920929 x 10-7
Dos nmero consecutivos de subconjunto finito
Programacin Prof. Gonzalo Mller Clase 13 GM - 46
Real de 8 Byte
01.7976931348623158 x 10
308
-1.7976931348623158 x 10308
2.2250738585072014 x 10-308-
2.2204460492503131 x 10-16
Dos nmero consecutivos de subconjunto finito
Real
-
8/14/2019 Clase Programacin 13
47/70
Real
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donas
vendidas promedio vendidas por un vendedorinformal en medio da por una semana.
Programacin Prof. Gonzalo Mller Clase 13 GM - 47
Real
-
8/14/2019 Clase Programacin 13
48/70
Real
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donas
vendidas promedio vendidas por un vendedorinformal en medio da por una semana.
Debe ser Numrica .
Programacin Prof. Gonzalo Mller Clase 13 GM - 48
Real
-
8/14/2019 Clase Programacin 13
49/70
Real
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donas
vendidas promedio vendidas por un vendedorinformal en medio da por una semana.
Debe ser Numrica .
Programacin Prof. Gonzalo Mller Clase 13 GM - 49
Debe ser Real , ya que el promedio es un nmerono necesariamente entero, es decir, puede contenerdecimales.
Real
-
8/14/2019 Clase Programacin 13
50/70
Real
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donas
vendidas promedio vendidas por un vendedorinformal en medio da por una semana.
Debe ser Numrica .
Programacin Prof. Gonzalo Mller Clase 13 GM - 50
Debe ser Real , ya que el promedio es un nmerono necesariamente entero, es decir, puede contenerdecimales.
Puede ser de 4 bytes , ya que este tipo ofrece unaprecisin de 6 cifras significativas y para el
vendedor es necesario a lo sumo 1 cifra.
Real
-
8/14/2019 Clase Programacin 13
51/70
Real
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar las cantidad de donas
vendidas promedio vendidas por un vendedorinformal en medio da por una semana.
Debe ser Numrica .
Programacin Prof. Gonzalo Mller Clase 13 GM - 51
Debe ser Real , ya que el promedio es un nmero no necesariamenteentero, es decir, puede contener decimales.
Puede ser de 4 bytes , ya que este tipo ofrece una precisin de 6cifras significativas y para el vendedor es necesario a lo sumo 1 cifra.
Real de 4 bytes
-
8/14/2019 Clase Programacin 13
52/70
Lgico
-
8/14/2019 Clase Programacin 13
53/70
g co
Almacena Verdadero o Falso.
Normalmente ocupa el menor tamao posible, esdecir, 1 byte.
Programacin Prof. Gonzalo Mller Clase 13 GM - 53
en es c erto en un yte tenemosposibilidades:
00000000 Falso.
Cualquier otro valor es Verdadero .
Lgico
-
8/14/2019 Clase Programacin 13
54/70
g
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar si un vendedor informal
vendi donas de chocolate en medio da.
Programacin Prof. Gonzalo Mller Clase 13 GM - 54
Lgico
-
8/14/2019 Clase Programacin 13
55/70
g
Ejemplo: Se requiere seleccionar el tipo de dato parauna variable que almacenar si un vendedor informal
vendi donas de chocolate en medio da.
Debe ser Lgica , ya que se necesita almacenar dossituaciones si vendi o no vendi verdadero si
Programacin Prof. Gonzalo Mller Clase 13 GM - 55
vendi y falso de lo contrario.
-
8/14/2019 Clase Programacin 13
56/70
Carcter
-
8/14/2019 Clase Programacin 13
57/70
Contiene una unidad de informacin de texto oalfanumrica.
Caracteres Alfabticos:
Programacin Prof. Gonzalo Mller Clase 13 GM - 57
ay scu as: , ,
Minsculas: a, b,
Caracteres Numricos: 0, 1,
Caracteres especiales:#, ,, >, {,
Carcter
-
8/14/2019 Clase Programacin 13
58/70
Un carcter se almacena en un byte de memoria.
Programacin Prof. Gonzalo Mller Clase 13 GM - 58
En un byte 8 bits 28 = 256 posibilidades:
256 Caracteres
Carcter
-
8/14/2019 Clase Programacin 13
59/70
Cada carcter almacenado corresponde a un nmeroentero establecido en una tabla de conversin definidapor la ANSI (American National Standard Institute)llamada tabla ASCII (American Standard Code forInterchange of Information)
Programacin Prof. Gonzalo Mller Clase 13 GM - 59
Carcter
-
8/14/2019 Clase Programacin 13
60/70
Memoria(Binario) RepresentacinEntera Carcter
00100000 32
Programacin Prof. Gonzalo Mller Clase 13 GM - 60
00111111 63 ?01000111 71 G01100111 103 g
10000001 129 10100100 164
Carcter
-
8/14/2019 Clase Programacin 13
61/70
Programacin Prof. Gonzalo Mller Clase 13 GM - 61
Carcter
-
8/14/2019 Clase Programacin 13
62/70
Programacin Prof. Gonzalo Mller Clase 13 GM - 62
Carcter
-
8/14/2019 Clase Programacin 13
63/70
Los primeros 32 caracteres son caracteres noimprimibles, los cuales son fundamentalmente paraejecutar funciones especiales.
Los restantes si representan caracteres de texto:
Programacin Prof. Gonzalo Mller Clase 13 GM - 63
ntero exa ec ma ar cter48 30 065 41 A
97 61 a129 81 171 AB
Tipo de datos
-
8/14/2019 Clase Programacin 13
64/70
Reflexin:Tipo de dato a seleccionar.
Operaciones en diferentes tipos.Errores en truncamiento o redondeo.
Programacin Prof. Gonzalo Mller Clase 13 GM - 64
Se tiene un subconjunto finito de los nmero reales.Igualdades con Reales.
Acumulacin de errores de truncamiento oredondeo.
Tipo de datos
-
8/14/2019 Clase Programacin 13
65/70
Reflexin:Errores en truncamiento o redondeo.
Igualdades con Reales.
Programacin Prof. Gonzalo Mller Clase 13 GM - 65
Ejemplo:c = 0.5 0.1 0.1 - 0.1 0.1 0.1
Tipo de datos
-
8/14/2019 Clase Programacin 13
66/70
Reflexin:Errores en truncamiento o redondeo.
Igualdades con Reales.
Programacin Prof. Gonzalo Mller Clase 13 GM - 66
Ejemplo:c = 0.5 0.1 0.1 - 0.1 0.1 0.1
Debera ser 0!
?
-
8/14/2019 Clase Programacin 13
67/70
Variables
-
8/14/2019 Clase Programacin 13
68/70
Ejemplo: Construir un algoritmo para promediar 2nmeros.Fase 1: Diseo y Anlisis:
DES, DRE DF y LV .
Programacin Prof. Gonzalo Mller Clase 13 GM - 68
Ejercicio
-
8/14/2019 Clase Programacin 13
69/70
Dados los siguientes problemas, construir el DESy LV (al menos entrada y salida) y justificar:
a) Contar cantidad de nmeros pares en un conjunto de 260nmeros.
b) Contar el nmero de votos.
Programacin Prof. Gonzalo Mller Clase 13 GM - 69
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.
Resumen
-
8/14/2019 Clase Programacin 13
70/70
Tipos de Datos:Numricos:
Entero:Sin Signo: 1, 2, 4 y 8 bytes.
Con Signo: 1, 2, 4 y 8 bytes.
Programacin Prof. Gonzalo Mller Clase 13 GM - 70
Real:4 bytes.
8 bytes.
Lgicos.Carcter.