SlideShare una empresa de Scribd logo
1 de 32
TIPOS DE DATOS ESTRUCTURAS DE DATOS www.espol.edu.ec www.fiec.espol.edu.ec
OBJETIVOS ,[object Object],[object Object],[object Object],[object Object]
DATO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
INFORMACIÓN ,[object Object],[object Object],Procesamiento: Calcular salarios Juan, Perez  $320 Pedro, Rodriguez  $310 Luis, Pozo  $240 Datos de salida(se muestran en el monitor) Datos de entrada(ingresados x teclado) Juan, Perez  Pedro, Rodriguez Luis, Pozo 160 155 120 Empleado Horas Valor por hora = $2
¿Cómo representar los datos? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TIPOS  DE DATOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Un conjunto de  valores  y  operaciones  definidas solo para esos valores
RECORDAR ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
TIPOS DE DATOS BASICOS ,[object Object],[object Object],[object Object],[object Object],NOMBRE CONJUNTO DE VALORES OPERACIONES Enteros Negativos y positivos sin decimal Sumar, restar, dividir, multiplicar, residuo Reales Negativos y positivos, con decimal Sumar, restar, dividir, multiplicar Lógicos Verdadero o Falso(1 o 0) And, Or, Not Caracteres Letras, números, especiales, juntos forman una cadena Sumar carácter + entero restar, multiplicar por entero
Y EN LA COMPUTADORA? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1000 1001 1002 1003
ALMACENANDO DATOS TIPO DE DATO #bytes Representación interna En ANSI C ENTEROS 2 4 8 Positivos: conjunto de bits 38  ->  00100110 Negativos:Complemento a Dos -38  ->  11011001 int long REALES 8 16 Mantisa x base (exponente) 387.53  -> 38753 x 10 -2 00000000100101110110000111111110 float double CARACTERES 1 ASCII 11000000  -> ‘A’ char
DECLARACION DE VARIABLES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Al declarar una variable se le asigna espacio en memoria y una  dirección  para dicho espacio int a; 4 bytes, dir: 100 1 byte, dir: 104 char c; 100 101 102 103 104
DIRECCIONES DE MEMORIA &a es 1000 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1000 1001 1002 1003
DECLARACION DE PUNTEROS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],pt almacena la dirección de x, se dice que  pt apunta a x x pt int *p; 1000 1001 1002 1003 1004 1005 1000 ,[object Object],[object Object],[object Object],3
CONSULTANDO CONTENIDO ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Es equivalente a : printf(“%c”, c); Es equivalente a : c = ‘N’ Imprime ‘N’ pues c ya cambio ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ejercicio
EJERCICIO EN CLASE *p1 = *p2; int x,y; int *p1,*p2; x = -42; y = 163; p1 = &x; p2 = &y; *p1 = 17; *p2 = x+5; 1000  1004 Es equivalente a escribir  x = y; p1 = p2; Esto indica que p1 ahora apunta a la misma variable que p2 1004  p1 = NULL; p2 = NULL; Esto es equivalente a “encerar” el puntero, y decir que no apunta a ninguna variable -42 22 1000 1004 17 22 0 0 163 1004 1000 1004 1008 1012 x y p1 p2
PASO DE PARAMETROS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
PASO POR VALOR ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],x = 5 printf(“%d”,x); funct(x); printf(“%d”,x); void funct(int y){ y = y+1; printf(“%d”,y); } Se imprime 5, el valor de x no cambia aunque la función haya intentado modificarla
PASO POR REFERENCIA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],x = 5 printf(“%d”,x); funct(&x); printf(“%d”,x); void funct(int *py){ *py = *py+1; printf(“%d”,*py); } Se imprime 6, el valor de x  cambió  dentro de la función Ejercicio
TIPOS DE DATOS COMPUESTOS ,[object Object],[object Object],[object Object],[object Object],[object Object],TIPO FORMATO DECLARACION Bytes ARREGLOS int arrEj[10]; 10*2 = 20 ESTRUCTURAS ,[object Object],[object Object],[object Object],[object Object],2 + 100 = 102 UNIONES ,[object Object],[object Object],[object Object],[object Object],100
ARREGLOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],... A 0 1 2 3 4 99
OPERACIONES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Tipo de  dato: Conjunto de valores y  operaciones  definidas solo para esos valores
REPRESENTACION INTERNA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],&Lista[i]  -> &Lista[0] + (i*sizeof(Lista[0])) 1000 1008 1016 1024 1032 Lista[0] Lista[1] Lista[2] Lista[3] Lista[4]
RESERVA DE MEMORIA DINAMICA ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],#include <stdlib.h> void *malloc(size_t size); int *a; //No se reserva nada .. /*Cuando se desee, se reserva*/ a = malloc(sizeof(int));  //La variable normalmente *a = 3; a  no apunta a otra variable, tiene memoria propia, solo para el
ARREGLOS DINAMICOS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Para indicar el nuevo tamaño se puede usar una constante o una variable,o cualquier expresión main(){ int *arreglo, n; printf(“Ingrese el tamaño del arreglo:”); n = GetInteger(); arreglo = malloc(sizeof(int)*n); printf(“Ahora tiene %d elementos para trabajar”,n); ... }
Y LIBERA.. ,[object Object],[object Object],[object Object],int *a; a = malloc...; … free(a); Cuando se libera para una variable Ejercicio
ARITMETICA DE PUNTEROS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],102 108 104 La suma indica que p se mueva 2 “enteros” mas adelante Cada entero equivale a 4 bytes 100 + 2*4 = 108
EJERCICIO EN CLASE main(){ double Lista[3]; double *p,*p1,*p2; int k; Lista[0] = 1; Lista[1] = 1.1; Lista[2] = 1.2; p = Lista; p = p + 2; printf(“%d”, *p); p = p - 1; printf(“%d”, *p); p1 = Lista+2; p2 = &Lista[0]; k = p1-p2; printf(“%d”, k); } p se mueve 2 desfases p retrocede un desfase Da el total de desfases entre p1 y p2 1 1.1 1.2 Ejercicio 1000 1008 1016 Lista[0] Lista[1] Lista[2] p p2 p1
PASO DE ARREGLOS A FUNCIONES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Ejercicio
ARREGLOS BIDIMENSIONALES ,[object Object],[object Object],[object Object],[object Object],[object Object],int A[3][3]; Ejercicio A[0] A[1] A[2] A[0][0] A[1][0] A[2][0] A[0]1] A[1][1] A[2][1] A[0][2] A[1][2] A[2][2]
ESTRUCTURAS o REGISTROS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],typedef struct  TNombreCompleto { char Primero[10]; char Inicial; char Ultimo[10]; } NombreCompleto ;
USANDO ESTRUCTURAS ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],snombre Los registros de tipo NombreCompleto, tendrán la misma “estructura”  Cada dato tiene diferente tamaño y espacio en memoria Cada dato representa una información diferente Ejercicio primero inicial ultimo
AMBITO DE VARIABLES ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-while
Delvi Ramirez
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
Roldan El Gato
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
Rosbelia Balza
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
1002pc3
 

La actualidad más candente (20)

Comandos de raptor
Comandos de raptorComandos de raptor
Comandos de raptor
 
Pruebas de escritorio
Pruebas de escritorioPruebas de escritorio
Pruebas de escritorio
 
10 ejercicios-de-do-while
10 ejercicios-de-do-while10 ejercicios-de-do-while
10 ejercicios-de-do-while
 
Ejemplos en PSeint
Ejemplos en PSeintEjemplos en PSeint
Ejemplos en PSeint
 
Arreglos en PSeInt
Arreglos en PSeIntArreglos en PSeInt
Arreglos en PSeInt
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Metodos de-ordenamiento
Metodos de-ordenamientoMetodos de-ordenamiento
Metodos de-ordenamiento
 
21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos21 problemas de algoritmo resueltos
21 problemas de algoritmo resueltos
 
Ejercicios resueltos de programacion
Ejercicios resueltos de programacionEjercicios resueltos de programacion
Ejercicios resueltos de programacion
 
Estructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigoEstructuras repetitivas - pseudocodigo
Estructuras repetitivas - pseudocodigo
 
Ordenamiento en C++
Ordenamiento en C++Ordenamiento en C++
Ordenamiento en C++
 
Analizador Sintáctico
Analizador SintácticoAnalizador Sintáctico
Analizador Sintáctico
 
Modelo relacional
Modelo relacionalModelo relacional
Modelo relacional
 
Busqueda Binaria
Busqueda BinariaBusqueda Binaria
Busqueda Binaria
 
Fundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: ModularidadFundamentos de Programación - Unidad V: Modularidad
Fundamentos de Programación - Unidad V: Modularidad
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 
EJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOSEJERCICIOS DE ALGORITMOS
EJERCICIOS DE ALGORITMOS
 
Informe de arreglos en PseInt
Informe de arreglos en PseInt Informe de arreglos en PseInt
Informe de arreglos en PseInt
 

Similar a Tipos De Datos

Tipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.pptTipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.ppt
ricardosusa5
 

Similar a Tipos De Datos (20)

1.Tipos de Datos.ppt
1.Tipos de Datos.ppt1.Tipos de Datos.ppt
1.Tipos de Datos.ppt
 
1.Tipos de Datos.ppt
1.Tipos de Datos.ppt1.Tipos de Datos.ppt
1.Tipos de Datos.ppt
 
1.Tipos de Datos.ppt
1.Tipos de Datos.ppt1.Tipos de Datos.ppt
1.Tipos de Datos.ppt
 
1.tipos de datos
1.tipos de datos1.tipos de datos
1.tipos de datos
 
Tipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.pptTipos de Datos y su tipologia en contexto.ppt
Tipos de Datos y su tipologia en contexto.ppt
 
00 Tipos de Datos.ppt
00 Tipos de Datos.ppt00 Tipos de Datos.ppt
00 Tipos de Datos.ppt
 
1.Tipos de Datos.ppt
1.Tipos de Datos.ppt1.Tipos de Datos.ppt
1.Tipos de Datos.ppt
 
5-EDA-teo.ppt
5-EDA-teo.ppt5-EDA-teo.ppt
5-EDA-teo.ppt
 
5-EDA-teo.ppt
5-EDA-teo.ppt5-EDA-teo.ppt
5-EDA-teo.ppt
 
5-EDA-teo.ppt
5-EDA-teo.ppt5-EDA-teo.ppt
5-EDA-teo.ppt
 
Estructura de Datos y tipos de Datos - Informática
Estructura de Datos y tipos de Datos - InformáticaEstructura de Datos y tipos de Datos - Informática
Estructura de Datos y tipos de Datos - Informática
 
fundamentos de algoritmos básico intermedio.ppt
fundamentos de algoritmos básico intermedio.pptfundamentos de algoritmos básico intermedio.ppt
fundamentos de algoritmos básico intermedio.ppt
 
estructura de datos y algoritmos repaso
estructura de  datos y algoritmos repasoestructura de  datos y algoritmos repaso
estructura de datos y algoritmos repaso
 
Tipos de datos en C
Tipos de datos en CTipos de datos en C
Tipos de datos en C
 
Variables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en CVariables, constantes y tipos de datos en C
Variables, constantes y tipos de datos en C
 
Estructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacionEstructura sintactica de los lenguajes de programacion
Estructura sintactica de los lenguajes de programacion
 
Elementos para solucionar problemas en seudocódigo c5. p1.
Elementos para solucionar problemas en seudocódigo c5. p1.Elementos para solucionar problemas en seudocódigo c5. p1.
Elementos para solucionar problemas en seudocódigo c5. p1.
 
Datos y algoritmos
Datos y algoritmosDatos y algoritmos
Datos y algoritmos
 
Lenguajec diapositivas
Lenguajec diapositivasLenguajec diapositivas
Lenguajec diapositivas
 
ED 01 tipos_datos
ED 01 tipos_datosED 01 tipos_datos
ED 01 tipos_datos
 

Más de Johanna Toledo Morillo (19)

Logica Juridica
Logica JuridicaLogica Juridica
Logica Juridica
 
Contrato Ocasional
Contrato OcasionalContrato Ocasional
Contrato Ocasional
 
Rodrigo Borja Cevallos
Rodrigo Borja CevallosRodrigo Borja Cevallos
Rodrigo Borja Cevallos
 
Ventajas De La ComunicacióN
Ventajas De La ComunicacióNVentajas De La ComunicacióN
Ventajas De La ComunicacióN
 
Niveles De La ComunicacióN Oral
Niveles De La ComunicacióN OralNiveles De La ComunicacióN Oral
Niveles De La ComunicacióN Oral
 
Comunicacion
ComunicacionComunicacion
Comunicacion
 
Crear vocabulario
Crear vocabularioCrear vocabulario
Crear vocabulario
 
Gran Depresion
Gran DepresionGran Depresion
Gran Depresion
 
Comunicación Oral
Comunicación OralComunicación Oral
Comunicación Oral
 
Comunicaciòn Interpersonal
Comunicaciòn InterpersonalComunicaciòn Interpersonal
Comunicaciòn Interpersonal
 
Comunicación Empresarial
Comunicación EmpresarialComunicación Empresarial
Comunicación Empresarial
 
Grafos 2
Grafos 2Grafos 2
Grafos 2
 
19 Grafos 1
19 Grafos 119 Grafos 1
19 Grafos 1
 
Heaps
HeapsHeaps
Heaps
 
Arboles
ArbolesArboles
Arboles
 
1 Tipos De Datos Ejercicios
1 Tipos De Datos Ejercicios1 Tipos De Datos Ejercicios
1 Tipos De Datos Ejercicios
 
Tipo de Datos
Tipo de DatosTipo de Datos
Tipo de Datos
 
U 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 Borganiz
U 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 BorganizU 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 Borganiz
U 1 Ae. %2 Bconceptos%2 Bbasicos%2 Bde%2 Badminist.%2 By%2 Borganiz
 
A
AA
A
 

Tipos De Datos

  • 1. TIPOS DE DATOS ESTRUCTURAS DE DATOS www.espol.edu.ec www.fiec.espol.edu.ec
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. ALMACENANDO DATOS TIPO DE DATO #bytes Representación interna En ANSI C ENTEROS 2 4 8 Positivos: conjunto de bits 38 -> 00100110 Negativos:Complemento a Dos -38 -> 11011001 int long REALES 8 16 Mantisa x base (exponente) 387.53 -> 38753 x 10 -2 00000000100101110110000111111110 float double CARACTERES 1 ASCII 11000000 -> ‘A’ char
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. EJERCICIO EN CLASE *p1 = *p2; int x,y; int *p1,*p2; x = -42; y = 163; p1 = &x; p2 = &y; *p1 = 17; *p2 = x+5; 1000 1004 Es equivalente a escribir x = y; p1 = p2; Esto indica que p1 ahora apunta a la misma variable que p2 1004 p1 = NULL; p2 = NULL; Esto es equivalente a “encerar” el puntero, y decir que no apunta a ninguna variable -42 22 1000 1004 17 22 0 0 163 1004 1000 1004 1008 1012 x y p1 p2
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27. EJERCICIO EN CLASE main(){ double Lista[3]; double *p,*p1,*p2; int k; Lista[0] = 1; Lista[1] = 1.1; Lista[2] = 1.2; p = Lista; p = p + 2; printf(“%d”, *p); p = p - 1; printf(“%d”, *p); p1 = Lista+2; p2 = &Lista[0]; k = p1-p2; printf(“%d”, k); } p se mueve 2 desfases p retrocede un desfase Da el total de desfases entre p1 y p2 1 1.1 1.2 Ejercicio 1000 1008 1016 Lista[0] Lista[1] Lista[2] p p2 p1
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.