Tema: Tipos Abstractos de Datos (TAD s) en C#.

Documentos relacionados
Tema: Tipos Abstractos de Datos (TAD s) en C++.

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo.

Tema: Genéricos en C#.

Tema: Arboles en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Definición de Árbol Binario. Programación IV. Guía No.

Tema: Algoritmos para la ruta más corta en un Grafo.

Tema: Análisis Léxico

Tema: Programación Dinámica.

Tema: Autómatas de Estado Finitos

Tema: Punteros a Objetos. Puntero this.

Tema: Plantillas en C++.

Ingeniera de Sistemas: Luz Esperanza Espitia Tutora de Estructura de datos.

Tema: Grafos en C#. Objetivos Específicos. Materiales y Equipo. Introducción Teórica. Programación IV. Guía 7

Programación Estructurada

Tema: Sobrecarga de Operadores Unarios. Sobrecarga de Funciones.

GUIA 2: Repaso sobre uso de C#. Funciones, métodos y arreglos.

CONCEPTOS BÁSICOS. Prof. Ing. M.Sc. Fulbia Torres

Tema: Funciones Virtuales y Polimorfismo.

Tema: Algoritmos para la ruta más corta en un Grafo.

Aprender los conceptos, manejo, usos y aplicación de heaps a fin de utilizarlos para el desarrollo de aplicaciones

Tema: Punteros.Puntero this en C#.

UNIVERSIDAD AUTONOMA DE MADRID ESCUELA POLITÉCNICA SUPERIOR ESTRUCTURAS DE DATOS Y ALGORITMOS

En esta práctica se tratarán los puntos básicos para la definición de clases y creación de objetos.

Profesor: José Miguel Rubio L.

Tema: Análisis Semántico

Tema: Arreglos de objetos en C#.

Tipos Recursivos de Datos

Tema: DESARROLLO DE APLICACIONES CON VISUAL STUDIO-NET (PARTE I)

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.

Tema: Configuración de red AD-HOC

Tema: Autómata de Pila

Tema: Herencia en C#.

Tema: Programación Dinámica.

UNIDAD 8 Tipos de datos dinámicos: Punteros Asignación dinámica de memoria. Uso de punteros. Inicialización y asignación de punteros.

Tema: Clases y Objetos en C#. Parte II.

Tema: Sobrecarga. Objetivos. Materiales y Equipo. Introducción Teórica. Programación II. Guía No. 7

Unidad I: Introducción a las estructuras de datos

TÉCNICO SUPERIOR UNIVERSITARIO EN TECNOLOGÍAS DE LA INFORMACIÓN Y COMUNICACIÓN ÁREA SISTEMAS INFORMÁTICOS

Estructuras Dinámicas de datos.

Experiencia en gestión de proyectos, bases de datos, licenciatura en informática o afines

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México

Tema: Herramientas UML, Análisis y diseño UML

Tema: Métodos de Ordenamiento. Parte 1.

Las FILAS. ING PEDRO BELTRÁN CANESSA Estructuras de Datos 1

Estructuras de datos utilizando JAVA

UNIDAD 9. DATOS COMPLEJOS PILAS

Tema: Análisis Sintáctico

1. El Tipo Abstracto de Datos.

Tema: Tabla de Símbolos

TAD: Pila. TALLER: TAD Pila

Manual de referencia de C++ Parte IV Variables Punteros. Preparado por Prof. Luis A. Ortiz Ortiz

GUIA 1: Repaso sobre uso de C#. Funciones, procedimientos y arreglos.

Tema 8. Listas. José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz

Introducción a OOP. Programación Orientada a Objeto

Tema: Operaciones de Carga, Transferencia, Comparación y Aritméticas del S7-1200

Estructura de datos y algoritmos. Tema IV: TIPOS DE DATOS ABSTRACTOS DINÁMICOS LINEALES

Segundo Parcial de Programación 2 7 de junio de 2017

Tema: Herramientas UML, Análisis y diseño UML

Tema: Herramientas UML, Análisis y diseño UML

2. ESTRUCTURAS BÁSICAS

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Tema: GESTIÓN DE CADENAS EN PHP.

Procesos de Fabricación I. Guía 1 1 MANUFACTURA INTEGRADA POR COMPUTADORA

Tema: Repaso sobre el uso del IDE de Microsoft Visual C#.

ESTRUCTURAS DE DATOS Y ALGORITMOS

Estructura de Datos. Unidad de Aprendizaje: Unidad de Competencia II: Estructuras de Datos Lineales. M. en C. Edith Cristina Herrera Luna

Tema 5. Estructura de datos Pila

Tema 6. Gestión dinámica de memoria

Tema: Estructuras en C#.

(1) Recordemos qué es una pila...

Procesos de Fabricación I. Guía 1 1 SISTEMAS HIDRÁULICOS Y NEUMÁTICOS.

Guia#11: Tema: Estructuras en C#.

Tema: Funciones, Procedimientos y Recursividad en C#.

Conceptos Básicos. Programación Orientada a Objetos 2

ESTRUCTURAS DINÁMICAS DE DATOS (PILAS)

UNIVERSIDAD DE SAN CARLOS DE GUATEMALA FACULTAD DE INGENIERIA ESCUELA DE CIENCIAS Y SISTEMAS

Tema: Funciones, Procedimientos y Recursividad en C#.

Conceptos de Programación Orientada a Objetos

ASIGNATURA: ESTRUCTURA DE DATOS II

Programación Orientada a Objetos en C++

Prof. Dr. Paul Bustamante

AREA A LA QUE PERTENECE: 103 Matemática Básica 2 34 créditos POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015

EXAMEN EXTRAORDINARIO Informática y Computación IV

POST REQUISITO: CATEGORIA: Obligatorio SEMESTRE: Primer Semestre 2015 HORAS POR SEMANA DEL LABORATORIO: DIAS QUE SE IMPARTE EL LABORATORIO:

Tema: Tipos de Bloques en S7-1200

Programación I. Carrera: IFM Participantes. Representantes de la academia de sistemas y computación de los Institutos Tecnológicos.

Procesos de Fabricación I. Guía 1 1 MANUFACTURA INTEGRADA POR COMPUTADORA

ESTRUCTURAS DINÁMICAS DE DATOS (PILAS) EN C

Tema: Lenguaje ensamblador embebido

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

A l g o r i t m o y E s t r u c t u r a d e D a t o s Ing. en Sistemas de Información - 1º año -

PRN315 Programación III Ciclo II Guía de Ejercicios de Diseño Orientado a Objetos (DOO)

Tema: Introducción a Compiladores y al Lenguaje Micro C

APUNTADORES. Un apuntador es un objeto que apunta a otro objeto. Es decir, una variable cuyo valor es la dirección de memoria de otra variable.

Tema: Traductor ENSAMPOCO a ASM 8086

Grado en Ingeniería Informática. Estructura de Datos y Algoritmos, Grupo 84M, 2014/ de Marzo de

ANÁLISIS Y DISEÑO ORIENTADO A OBJETOS

12. Tipos de atributos

Implementaciones de pilas, colas y afines. Memoria dinámica.

Programación de sistemas Listas enlazadas

Transcripción:

Programación II. Guía No. 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C#. Objetivos Comprender el concepto Tipo Abstracto de Datos (TAD). Describir la sintaxis de los TAD en C# para la aplicación de este concepto. Resolver problemas comunes de programación orientada a objetos por medio de los TAD. Materiales y Equipo Computadora con el software Visual Studio C#. Guía Número 12. Introducción Teórica Tipos Abstractos de Datos (TAD s). Un TAD se define como una estructura algebraica compuesta por un conjunto de objetos abstractos que modelan elementos del mundo real, y un conjunto de operaciones para su manipulación. Un TAD es un ente cerrado y autosuficiente, que no requiere de un contexto específico para que pueda ser utilizado en un programa. Esto garantiza portabilidad y reutilización del software. Las partes que forman un TAD son: a) atributos (tipos de datos, identificadores, etc.) b) funciones (rutinas) que definen las operaciones válidas para manipular los datos (atributos). A la forma de operar y encerrar los atributos y funciones dentro un TAD se le denomina encapsulamiento.

2 Programación II. Guía No. 12 Para implementar un TAD se siguen dos pasos: 1. Diseñar las estructuras de datos que van a representar cada objeto abstracto. 2. Desarrollar una función, por cada operación del TAD, que simule el comportamiento del objeto abstracto, sobre las estructuras de datos seleccionadas. Las operaciones de un TAD se clasifican en 3 grupos, según su función sobre el objeto abstracto: a) Constructora: es la operación encargada de crear elementos del TAD. b) Modificadora: es la operación que puede alterar el estado de un elemento de un TAD. c) Analizadora: es una operación que no altera el estado del objeto, sino que tiene como misión consultar su estado y retornar algún tipo de información. Entre las aplicaciones de los TAD s se encuentran el TAD lista, el TAD pila, el TAD cola, etc. TAD s Estáticos. La creación y mantenimiento de un TAD estático requiere de memoria no dinámica, es decir, el espacio en memoria para almacenar los datos es reservado en tiempo de compilación (Arreglos). TAD s Dinámicos (Asignación dinámica de memoria). La creación y mantenimiento de estructuras dinámicas de datos (TAD s dinámicos), requiere de obtener más espacio de memoria (reservar memoria) en tiempo de ejecución para almacenar datos o para almacenar el tipo de clase Nodo. El TAD Lista Una lista está formada por una serie de elementos llamados nodos los cuales son objetos que contiene como variable miembro un puntero asignado y variables de cualquier tipo para manejar datos. El puntero sirve para enlazar cada nodo con el resto de nodos que conforman la lista. De esto podemos deducir que una lista enlazada (lista) es una secuencia de nodos en el que cada nodo esta enlazado o conectado con el siguiente (por medio del puntero mencionado anteriormente). El primer nodo de la lista se denomina cabeza de la lista y el último nodo cola

Programación II. Guía No. 12 3 de la lista. Este último nodo suele tener su puntero igualado a NULL Para indicar que es el fin de la lista. El TAD pila. Una pila (stack) es una secuencia de cero o más elementos de un mismo tipo, que puede crecer y decrecer por uno de sus extremos (el tope de la pila). Figura 1. Una Pila ó stack. Las pilas se denominan también estructuras LIFO (Last In First Out), porque su característica principal es que el último elemento en llegar es el primero en salir. Son muy utilizadas en programación para evaluar expresiones. En todo momento, el único elemento visible de la estructura es el último que se colocó. Se define el tope de la pila como el punto donde se encuentra dicho elemento, y el fondo, como el punto donde se encuentra el primer elemento incluido en la estructura. En el TAD pila se definen operaciones constructoras para crear la pila, operaciones modificadoras para agregar y eliminar elementos y analizadoras para retornar el elemento del tope de la lista, las cuales serán analizadas más adelante. Procedimiento Se implementarán algunos ejemplos para tener una idea del funcionamiento de los Tipos Abstractos de Datos utilizando estructuras de datos como son las listas y las pilas. EJEMPLO No. 1 - Implementación de pilas a través de una lista utilizando clases. Cree un proyecto modo consola en Visual C# y agregue dos clases, una llamada nodo y otra llamada pila

4 Programación II. Guía No. 12 CLASE NODO CLASE PILA

CLASE PROGRAM, dentro del MAIN Programación II. Guía No. 12 5 EJEMPLO No. 2 - Implementación de pilas a través de TAD predeterminado por C#. Cree un proyecto modo consola en Visual C# y agregue al inicio el nombre de espacio Collections de la siguiente manera: using System.Collections; Dentro del Programa Principal y el Main digitar lo siguiente:

6 Programación II. Guía No. 12 EJEMPLO No. 3- Implementación de listas a través de TAD predeterminado por C#. Cree un proyecto modo consola en Visual C# y agregue al inicio el nombre de espacio Collections y a continuación digite el siguiente código: Análisis de Resultados Ejercicio 1: Modifique el ejemplo No. 1 para crear un TAD pila que acepte datos: De tipo carácter. De tipo double. De tipo int

Programación II. Guía No. 12 7 Implementar la solución a través de un menú que me permita realizar las operaciones básicas con la pila (sin importar el tipo de dato de la pila). Ejercicio 2: Modifique el ejemplo No. 3 de forma que permita al usuario agregar él mismo los nombres que desea y también buscar el índice de cualquier persona dentro de la lista. Además ordene en orden alfabético los elementos que agregue a la lista (por medio de una función) y muéstrelos en pantalla. Investigación Complementaria Ejercicio: Utilizar un TAD Pila que permita determinar si una palabra o frase es un palíndromo. Nota: Una palabra es un palíndromo si la lectura en ambos sentidos produce el mismo resultado

8 Programación II. Guía No. 12 Guía 12: Tipos Abstractos de Datos (TAD s) en C#. Hoja de cotejo: 12 Alumno: Máquina No: Docente: GL: Fecha: EVALUACIÓN % 1-4 5-7 8-10 Nota CONOCIMIENTO Del 20 al 30% Conocimiento deficiente de los fundamentos teóricos Conocimiento y explicación incompleta de los fundamentos teóricos Conocimiento completo y explicación clara de los fundamentos teóricos APLICACIÓN DEL CONOCIMIENTO Del 40% al 60% ACTITUD Del 15% al 30% No tiene actitud proactiva. Actitud propositiva y con propuestas no aplicables al contenido de la guía. Tiene actitud proactiva y sus propuestas son concretas. TOTAL 100%