Estructura de programacion

25
ESTRUCTURA DE INFORMACION ESTRUCTURA DE INFORMACION Creditos : 3 Horas semanales: 4 Prerequisitos : Lenguaje de programacion I Profesor: Carlos A. Ruiz De La Cruz Melo Correo : [email protected] UNIVERSIDAD INCA GARCILASO DE LA VEGA Facultad de Ingeniería de Sistemas, Computo y Telecomunicaciones

description

UIGV

Transcript of Estructura de programacion

Page 1: Estructura de programacion

ESTRUCTURA DE INFORMACIONESTRUCTURA DE INFORMACION

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

Profesor: Carlos A. Ruiz De La Cruz MeloCorreo : [email protected]

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

Page 2: Estructura de programacion

TEMARIOPRIMERA PARTE

1.TAD

2.Filas secuenciales

3.Arreglos

4.Listas

5.Otras estructuras dinámicas

EXAMEN PARCIAL

1

Page 3: Estructura de programacion

TEMARIOSEGUNDA PARTE

1.Pilas y Colas

2.Arboles binarios

3.Arboles AVL

4.Arboles B

5.Grafos

EXAMEN FINAL

2

Page 4: Estructura de programacion

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)

Page 5: Estructura de programacion

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 : [email protected]

Page 6: Estructura de programacion

Abstracción

Problema

Modelo

abstracción

Problema de la vida real

Problema de la vida real, tomando solo los detalles esenciales

Page 7: Estructura de programacion

Abstracción

MODELO •datos•operaciones

Se tiene una propia perspectiva del problema

Page 8: Estructura de programacion

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

Page 9: Estructura de programacion

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

Page 10: Estructura de programacion

Abstracción- ejemploMODELO FINAL

abstracción

dninombredirecciónedadsexo

ALUMNO

• Registrar_alumno• Reporte _alumnos• Reporte_alumnos_sexo• Sacar_alumno_BD

Page 11: Estructura de programacion

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

Page 12: Estructura de programacion

Tipos de datos

TAD o tipos compuestos

entero

cadena

caracter

reales

Lógico

Tipos simples

Page 13: Estructura de programacion

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

Page 14: Estructura de programacion

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

Page 15: Estructura de programacion

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.

Page 16: Estructura de programacion

PROGRAMAR

PROGRAMAR ESTRUCTURADE DATOS

ALGORITMOS= +

Secuencia de tareas que realizan una tarea

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

Page 17: Estructura de programacion

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++

Page 18: Estructura de programacion

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

Page 19: Estructura de programacion

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

Page 20: Estructura de programacion

EXPRESIONES

Aritméticas

Ejemplos:

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

Relacionesy Lógicas

Ejemplos:

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

Page 21: Estructura de programacion

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

Page 22: Estructura de programacion

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]

Page 23: Estructura de programacion

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

Page 24: Estructura de programacion

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

Page 25: Estructura de programacion

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