Estructura de programacion

Post on 14-Apr-2015

43 views 6 download

description

UIGV

Transcript of Estructura de programacion

ESTRUCTURA DE INFORMACIONESTRUCTURA DE INFORMACION

Creditos : 3Horas semanales: 4Prerequisitos : Lenguaje de programacion I

Profesor: Carlos A. Ruiz De La Cruz MeloCorreo : ruizdelacruzmelo@uigv.edu.pe

UNIVERSIDAD INCA GARCILASO DE LA VEGAFacultad de Ingeniería de Sistemas, Computo y Telecomunicaciones

TEMARIOPRIMERA PARTE

1.TAD

2.Filas secuenciales

3.Arreglos

4.Listas

5.Otras estructuras dinámicas

EXAMEN PARCIAL

1

TEMARIOSEGUNDA PARTE

1.Pilas y Colas

2.Arboles binarios

3.Arboles AVL

4.Arboles B

5.Grafos

EXAMEN FINAL

2

EVALUACION

Promedio Final = ( EP + EF + PP) / 3

Promedio de practicas (PP)

• 3 notas de practicas calificadas• 2 notas trabajos calificados opcionales

PP= ( nota1 + nota2 + asistencia) / 3

3

Las 2 notas mas altas (nota1 y nota2)

UNIVERSIDAD INCA GARCILASO DE LA VEGAFacultad de Ingeniería de Sistemas, Computo y Telecomunicaciones

AsignaturaEstructura de Información

Tema

Tipos Abstractos de Datos

Profesor: Lic. Carlos A. Ruiz De La Cruz MeloCorreo : ruizdelacruzmelo@uigv.edu.pe

Abstracción

Problema

Modelo

abstracción

Problema de la vida real

Problema de la vida real, tomando solo los detalles esenciales

Abstracción

MODELO •datos•operaciones

Se tiene una propia perspectiva del problema

Abstracción- ejemploEn la FISC se hará un programa que contenga la información de todos los alumnos para posteriormente usarlo en procesos netamente académicos:

padres amigos

nombre

dni

dirección

pasatiempos

Pareja sentimental

edad

Color de pelosexo

INFORMACION DEL ALUMNO

ABSTRACCIONdninombredirecciónedadsexo

Abstracción- ejemploEl modelo necesita herramientas para manipular la información necesaria.

• Operación para registrar un alumno• Operación para reporte de alumnos• Operación para reporte de alumnos por sexo• Operación para sacar a un alumno de la BD

Abstracción- ejemploMODELO FINAL

abstracción

dninombredirecciónedadsexo

ALUMNO

• Registrar_alumno• Reporte _alumnos• Reporte_alumnos_sexo• Sacar_alumno_BD

Observando el modelo

dninombredirecciónedadsexo

• Registrar_alumno• Reporte _alumnos• Reporte_alumnos_sexo• Sacar_alumno_BD

Tipo Abstracto de Dato

ALUMNO

dni enteronombre cadenaDirección cadenaedad enterosexo entero

Tipos simples de datos

Interface

Tipos de datos

TAD o tipos compuestos

entero

cadena

caracter

reales

Lógico

Tipos simples

08153500Juan Peña TorresJr. Carmen 234, Surco21masculino

08153500Juan Peña TorresJr. Carmen 234, Surco21masculino

08153500Juan Peña TorresJr. Carmen 234, Surco21masculino

08153500Juan Peña TorresJr. Carmen 234, Surco21masculino

Estructura de DatosForma de organizar un conjunto de datos simples para facilitar la manipulación de estos datos como un todo o individualmente.

ALUMNOEsta entidad define la estructura de datos de un conjunto de elementos

08456070María Coral GuerraJr. German 453, Breña18femenino

08356578Jose Rojas RodriguezJr. Lucas 123, Lince23masculino

TADEs una entidad , con un solo identificador, constituido por datos de otro tipo.

Características

• Exporta un tipo• Exporta un conjunto de operaciones (interface)• Las operaciones es el único medio de acceso al TAD

ALUMNOdatos

operaciones

Utilidad de los TADLa información se presenta en forma organizada y estructurada

ente

ro cadena

caracter

realesLógico Registrar_alumno

Reporte _alum

nos

Reporte_alumnos_sexo

Sacar_alumno_BD

entero

cadena

caracter

reales

Lógico

Sacar_alumno_BD

Reporte _alumnos

Reporte_alumnos_sexo

Registrar_alumno

La información no aparece de manera aislada en forma de datos simples.

PROGRAMAR

PROGRAMAR ESTRUCTURADE DATOS

ALGORITMOS= +

Secuencia de tareas que realizan una tarea

Representación:• Diagramas de flujo• pseudocódigo

ALGORITMORepresentación en modo texto que se aproxima al código fuente final.

Escritura rápida de representaciones de algoritmos.

Procedimiento XXX():Fin_XXX

procedure XXXbegin:end;

void XXX(){:}

LENGUAJE PASCAL

LENGUAJE C++

SINTAXIS EN ALGORITMOS

Expresiones

Instrucciones

métodos

• Aritméticas• Relacionales y Lógicas

• Funciones• Procedimientos

• Declaración de variables• Asignación• Lectura / escritura• Selectiva• Selectiva múltiple• Repetitivas

Tipos de datos• Simples• TAD

TIPOS DE DATOS

Tipos de datos

TAD

• entero• real• cadena• carácter• lógico

especificación Nombre_TAD usar // tipos TAD’s de datos que se usan variable // declaración de variables operaciones // operaciones con sus parámetros significado // explicación de los métodosfin_TAD

EXPRESIONES

Aritméticas

Ejemplos:

suma + 23b + c * 20cantidad[ índice]total

Relacionesy Lógicas

Ejemplos:

dato > suma (a = b ) y (c <= 20)total !=cantidad[ indice]

Procedimientos procedimiento Nombre_Procedimiento(v1 , v2, ….,vN) tipo de dato : v1

tipo de dato : v2

:

tipo de dato : vN

: // instrucciones :fin_Nombre_Procedimiento

Funciones funcion Nombre_Función(v1 , v2, ….,vN): tipo tipo de dato : v1

tipo de dato : v2

:

tipo de dato : vN

: // instrucciones :fin_Nombre_Función

Declaración de variables

Tipo de dato : nombre de variableEjemplo

lógico : salir, encontró entero: valor, a, cantidad real : dato

Asignación

nombre de variable expresiónEjemplo

salir encontró + 5 b a total dato[ posición]

Leer(lista de variables)

Ejemplos leer(dato, valor, cantidad) leer(posicion)

Lectura

Escritura

escritura(lista de variables/constantes)

Ejemplos escribir(dato, 56, “MARIA”) escribir(cantidad, a)

Selectivasi (expresión) entonces // instrucciones sino // instruccionesfinsi

Selectivamúltiple

en caso sea (variable/constante) hacer caso 1: // instrucciones caso 2: // instrucciones : sino: // instruccionesfincaso

Repetitivas

mientras (expresión ) hacer // instruccionesfin_hacer

repetir // instruccioneshasta (expresión)

desde variable=variable/kte hasta expresión // instruccionesfin_desde

BIBLIOGRAFIATenenbaum A. M., Langsam Y., Augenstein,M.A., (1993) Estructura de Datos

Joyanes Aguilar Programación en C++: algoritmos, estructuras de Datos y Objetos

Cairó O., Guardati M.C. S., (2002) Estructura de Datos

Schildt H., (1994) Turbo C/C++ Manual de Referencia, Una información completa ideal para todo usuario de Turbo C/C

Allen Weiss, M., (1995) Estructura de Datos y Algoritmos, México D.F., Addison- Wesley Iberoamericana

Brassard, G., Bratley, P., (1998) Fundamentos de Algoritmia