[email protected] estructura de datos. evaluación exámenes 70% acumulativo 30%...

19
rfernandez.clases@gmai l.com Estructura de DATOS

Upload: juan-jose-ponce-cordero

Post on 24-Jan-2016

215 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

[email protected]

Estructura de DATOS

Page 2: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

EvaluaciónExámenes 70%Acumulativo 30%-------------------- Total 100%

Acumulativos1.T. Investigación 10%2.Resúmenes 10%3.Exposiciones / Otros 10%----------------------------------- Total 30%

Page 3: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

Acumulativo I – Trabajo de Investigación

1.la notación grande: información, significado y aplicaciones.2.Tipos de datos abstractos fundamentales: pilas, colas y listas.3.Herramientas – Técnicas – Métodos para Evaluar Algoritmos

Lineamientos del Trabajo de Investigación1.Portada – Introducción – Índice – Objetivos2.Contenido3.Conclusiones4.Referencias / Bibliografía (Libros - Sitiosweb)

•Entrega por Correo Electrónico:•Formato de entrega: .docx & .pdf•Fecha de Entrega: 24 de Julio 2012 Hora máxima 5:00pm

[email protected]@gmail.comm

Page 4: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

DATO Información en bruto, sin ningún significado 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: El estudiante de nombre Pedro Mejia de 22 años, tiene un

promedio de 7.5

Podemos tomar los siguientes datos Nombre: Pedro Velez -> Conjunto de Caracteres

Edad: 22 -> entero

Promedio: 7.5 -> real

Page 5: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

INFORMACIÓN Es el resultado deseado luego de procesar los

datos Los datos, al ser procesados, se convierten en

información útil o resultados.

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

Page 6: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

¿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 mas pequeño en el computador es

Un 1 o un 0 -> bit

El conjunto de 8 bits -> 1 byte

Page 7: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

TIPOS DE DATOS

Los datos se clasifican en TIPOS Son los diferentes dominios existentes. Ejemplo:

Edad, Año de Nacimiento, Numero de multas Tienen dominio numérico

Nombre, Dirección, Num. 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 solo para esos valores

Page 8: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

importante 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 una función

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

Page 9: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

TIPOS DE DATOS BASICOS

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

Los podemos distinguir fácilmente, están en el diario vivir: El Sr. Vera de 63 años tiene cedula No. 0908815533, y paga L.1200 de impuestos

Son tipos de datos simples Que permiten representar información numérica, caracteres, etc.

Page 10: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

Datos EN LA COMPUTADORA

Solo vienen integrados los tipos de datos básicos En la computadora

Cada byte es un casillero y tiene una dirección en memoria

Los datos (números y letras) se almacena en estos casilleros

¿Cuantas casilleros ocupa un dato? Depende de su tipo y del hardware de la computadora Un entero puede ocupar casillas de hasta 4 bytes Un doble siempre ocupara mas, por su mayor precisión

PERO, un carácter SIEMPRE ocupara casillas de 1 byte

1000

1001

1002

1003

Page 11: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

ALMACENANDO DATOS

TIPO DE DATO #bytes Representación interna En ANSI C

ENTEROS 248

Positivos: conjunto de bits38 -> 00100110Negativos:Complemento a Dos-38 -> 11011001

intlong

REALES 816

Mantisa x base(exponente)

387.53 -> 38753 x 10-2

00000000100101110110000111111110

floatdouble

CARACTERES 1 ASCII11000000 -> ‘A’

char

Page 12: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

DECLARACION DE VARIABLES Una declaración de variables en C incluye

Tipo de dato y Nombre de variable(identificador) Ejemplo:

int a, b;float c;

¿Para que se declaran variables? Especifica cuanta memoria debe reservarse y Como se van a interpretar dichos datos

f = a + b Es una suma de enteros, que al final se convierte a real

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

100101102103104

char c;

Page 13: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

Estructura de Datos Se trata de un conjunto de variables de un determinado

tipo agrupadas y organizadas de alguna manera para representar un comportamiento. Lo que se pretende con las estructuras de datos es facilitar un esquema lógico para manipular los datos en función del problema que haya que tratar y el algoritmo para resolverlo. En algunos casos la dificultad para resolver un problema radica en escoger la estructura de datos adecuada. Y, en general, la elección del algoritmo y de las estructuras de datos que manipulará estarán muy relacionadas. .

Page 14: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

Podemos encontrar muchas definiciones completas o formales de algoritmo en los textos de algorítmica y programación, todas ellas muy similares:

Secuencia finita de instrucciones, reglas o pasos que describen de forma precisa las operaciones de un ordenador debe realizar para llevar a cabo un tarea en un tiempo mas finito. [Donald E. Knuth, 1968]

Descripcion de un esquema de comportamiento expresado mediante un reportorio finito de acciones y de informaciones elementales, identificadas, bien comprendidas y realizables a priori. Este repertorio se denomica lexico [Pierre Scholl, 1988]

Un algoritmo es un conjunto finito de pasos definidos, estructurados en el tiempo y formulados con base a un conjunto finito de reglas no ambiguas, que proveen un procedimiento para dar la solución o indicar la falta de esta a un problema en un tiempo determinado. [Rodolfo Quispe-Otazu, 2004]Caracteristicas:

Algoritmo

Page 15: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

Las características fundamentales que debe cumplir todo algoritmo son:

Ser definido: Sin ambigüedad, cada paso del algoritmo debe indicar la acción a realizar sin criterios de interpretación.

Ser finito: Un número específico y numerable de pasos debe componer al algoritmo, el cual deberá finalizar al completarlos.

Tener una o más salidas: Debe siempre devolver un resultado; de nada sirve un algoritmo que hace algo y nunca sabemos que fue. El devolver un resultado no debe ser considerado como únicamente “verlos” en forma impresa o en pantalla, como ocurre con las computadoras. Existen muchos otros mecanismos susceptibles de programación que no cuentan con una salida de resultados de esta forma. Por salida de resultados debe entenderse todo medio o canal por el cual es posible apreciar los efectos de las acciones del algoritmo.

Efectividad: El tiempo y esfuerzo por cada paso realizado debe ser preciso, no usando nada más ni nada menos que aquello que se requiera para y en su ejecución.

Page 16: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

Análisis de Algoritmos

Es una herramienta para hacer la evaluación de un diseño.

Permite establecer la calidad de un programa y compararlo con otros programas que resuelven un mismo problema.

Suponga que existen dos programas P1 y P2 para resolver el mismo problema.

¿Cuál de los dos es mejor?.

Page 17: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

Análisis de Algoritmos

Solución:

Desarrollar (Implementar) ambos programas y medir el tiempo que cada uno de ellos consume para resolver el problema. Modificar los datos de entrada, promediar al final su desempeño para establecer su comportamiento en el caso promedio.

Page 18: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

Análisis de Algoritmos

Problemas:

Pueden existir muchos algoritmos para resolver el problema.

Costoso y casi imposible implementar todos los programas.

Modificación de los datos puede ser una labor sin sentido.

Page 19: Rfernandez.clases@gmail.com ESTRUCTURA DE DATOS. Evaluación Exámenes 70% Acumulativo 30% -------------------- Total 100% Acumulativos 1.T. Investigación

Tiempo de ejecución de un algoritmos

Para tener una medida del tiempo de ejecución de un programa, se debe pensar en los factores que tienen influencia en dicho valor.

Velocidad de procesamiento. El compilador utilizado (calidad del código

generado). La estructura del algoritmo.

¿Cuáles de estos factores no son inherentes a la solución?.