Subido por mariokart8.jhrm

2-Unidad I Estructuras Fundamentales de Datos-Sub

Anuncio
09/02/2018
UNIVERSIDAD AUTÓNOMA DE
SINALOA
Facultad de Informática Culiacán
CURSO: Estructura de Datos
Aprendiendo a construir soluciones a problemas del mundo
real, aplicando las Estructuras de Datos.
Instructor:
MC. Gerardo Gálvez Gámez
Febrero de 2018
Unidad I• FIC-UAS
Unidad I.- ESTRUCTURAS FUNDAMENTALES DE DATOS
▫ Tipos de datos.
 Tipos de datos simples.
 Tipos de datos abstractos.
 Representación.
▫ Estructuras de datos.




Definición.
Clasificación.
Lineales y no lineales.
Dinámicas y estáticas.
1
09/02/2018
Unidad I• FIC-UAS
DATO
• Información
significado.
en
bruto,
no
procesado
y
sin
ningún
• Dado un enunciado, evento o acción, los datos
▫ Permiten representar sus actores o participantes
▫ Analizándolos, se podrá obtener resultados deseados
• Analicemos el siguiente hecho:
▫ La estudiante de nombre: Judith Pérez de 22 años, tiene un
promedio de 7.5
• Podemos tomar los siguientes datos
▫ Nombre: Judith Pérez
▫ Edad: 22
▫ Promedio: 7.5
-> Cadena
-> Entero
-> Real
Unidad I• FIC-UAS
INFORMACIÓN
• Es el resultado deseado luego de procesar los
datos.
• Los datos, al ser procesados, se convierten en
información útil o resultados.
Datos de salida(se muestran
en el monitor)
Empleado
Horas
Juan, Perez
160
Pedro, Rodriguez
155
Juan, Perez
Luis, Pozo
120
Pedro, Rodriguez
$310
Luis, Pozo
$240
Valor por hora = $2
Datos de entrada(ingresados x
teclado)
$320
Procesamiento:
Calcular salarios
2
09/02/2018
Unidad I• FIC-UAS
¿Cómo representar los datos?
• Los seres humanos:
▫ Usamos lenguaje natural o símbolos
▫ Ejemplo:
 Para representar números, usamos el sistema decimal
 Para representar palabras, usamos el abecedario
• La computadora:
▫ Usa conjuntos de 1s y 0s
▫ El dato más pequeño en la computadora es
 Un 1 ó un 0 -> bit
▫ El conjunto de 8 bits -> 1 byte
Unidad I• FIC-UAS
TIPOS DE DATOS
• Los datos se clasifican en TIPOS
• Son de diferentes dominios. Ejemplo:
▫ Edad, Año de Nacimiento, Número de multas
 Tienen dominio numérico
▫ Nombre, Dirección, Número de Cedula,
 Caen en el dominio de la información tipo texto
• Y las operaciones permitidas para dicho dominio:
Un conjunto de valores y operaciones definidas sólo para esos
valores
3
09/02/2018
Unidad I• FIC-UAS
TIPOS DE DATOS
• Un tipo de dato es el conjunto de valores:
▫ Al que puede pertenecer una constante
▫ Que puede asumir una variable o expresión
▫ Que puede ser generado por un Método
• De una constante, variable o expresión:
▫ Se puede deducir su tipo de dato
▫ Ya sea de su forma o de su declaración
▫ Sin necesidad que se ejecute ningún proceso
• Las operaciones entre datos:
▫ Necesitan participantes (argumentos) de determinado tipo
▫ Producen resultados de otro o el mismo tipo
Unidad I• FIC-UAS
Tipo de Dato
• Es un atributo de una parte de los datos que
indica a la computadora (y/o al programador)
algo sobre la clase de datos, sobre lo que se va a
procesar.
• Esto incluye imponer restricciones en los datos,
como qué valores pueden tomar y qué
operaciones se pueden realizar.
Tipos de Datos Maquina (0-1)
Tipos de Datos Primitivos
•Numéricos
•Lógicos
•Alfanuméricos
Tipos de Datos Abstractos
4
09/02/2018
Unidad I• FIC-UAS
TIPOS DE DATOS SIMPLES(Básicos)

Los podemos distinguir fácilmente, están en el diario vivir:


El Sr. Vera de 63 años tiene cedula No. 0908815533, y paga $120 de impuestos
Son tipos de datos simples:

Que permiten representar información numérica, Alfanumérico (caracteres) ó
lógicos.
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
Alfanuméricos
Letras, números, especiales, juntos
forman una cadena
Sumar carácter + entero restar,
multiplicar por entero
Unidad I• FIC-UAS
Tipos de Datos Abstractos
• Abstracción.-
Proceso mental mediante el cual se
extraen los rasgos esenciales de algo para representarlos
mediante un lenguaje gráfico o escrito.
• Proceso de simplificar un problema complejo enfocándose
tan sólo en los aspectos relevantes para la solución.
• En el desarrollo de software esto significa centrarse en lo
que es y hace un objeto, antes de decidir cómo debería ser
implementado.
5
09/02/2018
Unidad I• FIC-UAS
Abstracción de Datos
• Técnica o metodología
estructuras de datos.
que
permite
diseñar
• Consiste en representar bajo ciertos lineamientos
de formato, las características esenciales de una
estructura de datos.
• No se considera
implementación
los
detalles
específicos de
Unidad I• FIC-UAS
Estructura de Datos
• Es cualquier colección o grupo de datos
organizados de tal forma que tengan
asociados un conjunto de operaciones para
poder manipularlos.
• Ejemplo los Arreglos:
▫ Son un conjunto de datos del mismo tipo.
▫ Con métodos claros de acceso.
▫ Con diversas operaciones.
6
09/02/2018
Unidad I• FIC-UAS
Unidad I• FIC-UAS
Tipo de Dato Abstracto (TDA)
• Es la creación o diseño de una nueva
estructura de datos aplicando la técnica y
metodología de la abstracción, que podrá
implementarse en cualquier lenguaje y
aplicarse en cualquier concepto.
7
09/02/2018
Unidad I• FIC-UAS
Tipo de Dato Abstracto (TDA)
• Es un conjunto de valores
y operaciones asociadas
que se especifican de
manera
precisa,
independientes
de
alguna implementación en
particular.
• El TDA define la interface a
la abstracción de datos sin
especificar detalles de la
implementación.
Unidad I• FIC-UAS
Tipo de Dato Abstracto (TDA)
• Es un tipo de dato definido por el programador
que se puede manipular de un modo similar a
los tipos de datos definidos por el sistema.
• Está formado por un conjunto válido de
elementos y un número
de operaciones
primitivas que se pueden realizar sobre ellos.
• Una vez definido se podrán declarar variables
de ese tipo y operar con ellas utilizando las
operaciones que aporta el tipo.
8
09/02/2018
Unidad I• FIC-UAS
Tipo de Dato Abstracto
Una clase que modela los atributos y el
comportamiento de una colección de objetos,
define un tipo de dato.
Si en el modelo se encapsula la representación de
los atributos y la implementación de las
operaciones, el tipo de dato es abstracto.
La interface describe qué pueden hacer los
objetos de una clase, la implementación establece
cómo lo hacen.
Unidad I• FIC-UAS
Para construir un tipo abstracto debemos
Exponer una definición del tipo.
2. Definir las operaciones (funciones y
procedimientos) que permitan operar con
instancias de ese tipo.
3. Ocultar la representación de los elementos
del tipo de modo que sólo se pueda actuar
sobre
ellos
con
las
operaciones
proporcionadas.
4. Poder hacer instancias múltiples del tipo.
9
09/02/2018
Unidad I• FIC-UAS
Representación de TDA
• Un TDA es representado por su interfaz, la
cual
sirve
como
cubierta
a
la
correspondiente implementación.
• La idea es que los usuarios de un TDA
tengan que preocuparse sólo por la
interfaz, pero no por la implementación,
ya que esta puede ir cambiando con el
tiempo
Unidad I• FIC-UAS
Representación
• La solidez de un TDA reposa en la idea de que la
implementación está escondida al usuario. Solo
la interfaz es pública.
• Lo anterior significa que el TDA puede ser
implementado de diferentes formas, pero
mientras se mantenga consistente con la
interfaz, los programas que lo usan no se ven
afectados.
10
09/02/2018
Unidad I• FIC-UAS
Implementación
• Una vez definido el TAD se escoge una
representación interna utilizando los tipos
que proporciona el lenguaje y/o otros TAD ya
definidos previamente.
• La representación deberá ocultarse utilizando
los mecanismos que nos proporcione el
lenguaje. Ocultamiento de Información.
• Normalmente la implementación del tipo se
realiza en un módulo aparte que será
enlazado al programa principal.
Unidad I• FIC-UAS
Clasificación de las Estructuras de Datos
11
09/02/2018
Unidad I• FIC-UAS
Estructuras de Datos Lineales y No Lineales.
Estructuras de datos lineales: Cada componente
tiene un único sucesor y un único predecesor con
excepción del último y el primero.
Estructura de datos no lineal.-Cada componente
puede tener varios sucesores y varios predecesores.
Unidad I• FIC-UAS
Estructuras de Datos Estáticas y Dinámicas
• Las estructuras de datos estáticas:
▫ Son aquellas en las que el tamaño ocupado en
memoria se define antes que el programa se
ejecute y el mismo no puede ser modificado
durante la ejecución. Ejemplo: Arreglo, cadenas,
estructuras.
• Las estructuras de datos dinámicas:
▫ No tienen limitaciones en cuanto al tamaño de
memoria ocupada. Para utilizar este tipo de
estructuras necesitamos usar un tipo de dato
específico llamado puntero. Ejemplo: Pilas, colas,
Lista, árbol, grafo.
12
09/02/2018
Unidad I• FIC-UAS
FIN Unidad I
¿Preguntas?
Unidad I• FIC-UAS
Ejemplificación de los elementos teóricos abordados, en un
lenguaje de programación. Pág. 29 libro Cairo, ejemplo 1.11.
13
09/02/2018
Unidad I• FIC-UAS
Unidad I• FIC-UAS
Actividad #1
• Aplicando la abstracción de datos,
diseñe la estructura de dato, que
permita
representar
las
características esenciales de un
alumno, si se requiriera el guardar su
número de cuenta y nombre, así
como también, las calificaciones de
sus tres parciales correspondientes,
en la materia de Estructura de
Datos.
14
09/02/2018
Unidad I• FIC-UAS
Actividad #2
• Tomando como referencia el tipo
dato obtenido en la actividad
anterior,
diseñe
una
aplicación
(interfaz) que permita registrar los
datos de más de un alumno.
Unidad I• FIC-UAS
FIN Ejercicios
¿Preguntas?
15
Descargar