clase programación 13

Upload: gmullerb

Post on 31-May-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

  • 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.