Vous êtes sur la page 1sur 12

1

EP1
Practica #1
Tipos Abstractos

Nombre:
Garca L. David
Mat- GLDO130184
Grupo 3 B







2

NDICE



Introduccin . . . . . . . . . 3

Diseo de la solucin . . . . . . . 4

Pruebas . . . . . . . . . . 6

Conclusiones . . . . . . . . .11

Referencias Bibliogrficas . . . . . . 12 .
.






3

Introduccin
En programacin los TDA o Tipo de Dato Abstracto se refiere al mecanismo de
abstraccin que otorga la posibilidad de considerar una resolucin de un cierto problema,
un grupo de datos ya sean (vectores, registros, constantes, etc.) que cumplen cierta
condicin especifica. [2]
Una herramienta til para especificar las propiedades lgicas de los tipos de datos
abstractos (TDA), el cual es fundamentalmente una coleccin de valores y un conjunto de
operaciones sobre esos valores. [1] La coleccin de valores y las operaciones sobre esos
valores forman una construccin matemtica que pueden implementarse utilizando una
estructura de dato particular ya sea de hardware o de software.
La abstraccin es una propiedad que permite en programacin, tomar informacin
relevante, y descartar aquellos detalles que no son importantes en el mbito del problema.
Es decir, pensemos que debemos construir una clase que se llame Pacientes, para una
aplicacin de un consultorio mdico (de esos tpicos que usan las secretarias para asignar
turnos). [1]
El TDA tiene como identidad y comportamiento, los cuales le permite la interaccin entre
el mismo seudocdigo en cualquier lenguaje como C.C++, JAVA, Pascal etc [2]
El TDA es una herramienta que ayuda al programador a manejar con tipos de datos
haciendo abstraccin de los mismos, es decir, se aplica tanto en su utilizacin como en
su construccin. [2]
Para la propiedad del TDA se encuentran dos tipos:
Encapsulacin: un TDA encapsula ciertos tipos de datos y operaciones con el
objetivo de localizar en un punto determinado de su programa la especificacin del
TDA.
Generalizacin: un programador es libre de definir sus propios tipos de datos y sus
propias operaciones con el objetivo de aplicarlos a operadores que no
necesariamente tiene que ser de un tipo fundamental.
[1]En la abstraccin procedimental, cada algoritmo resuelve el diseo de un mdulo
equivale a una caja negra que ejecuta una tarea determinando, normalmente estas cajas
negras se implementan como subprogramas. La abstraccin procedimental implica la
especificacin de cada mdulo antes de su implementacin en el lenguaje, as como lo
muestra la figura 1


4





Diseo del Algoritmo
A continuacin se muestra el diseo para resolver el problema planteado para la practica
1 correspondiente a la unidad 1 de aprendizaje.
Figura 2.- diagrama de bloques

En la figura 2 se muestra el diagrama de bloques de lo que el programa desarrollara
Se realiz el siguiente diagrama de flujo para entender ms el diseo del programa determinado
por la prctica de la unidad 1


Entrada
se definira la estructura
basando en el struct
llamada auto, asi el
usuario agregara cuantos
autos desea ingresar y
posteriormente agregar
los datos de cada
Proceso
se guardara las
variables y subariables
en struct AUTO ,
ordenara depende lo
que el usuario
determine que quiere
hacer.
Salida
Despues de desplegar
el menu el usario
agregara una opcion y
el programa
desplegara la opcion
deseada por el
usuario..

5















6

Pruebas
En la ilustracin 1 se muestra en pantalla el nmero determinado por el usuario de autos a
ingresar y posteriormente pasa a llenar cada uno de los requerimientos de cada de las
variables.

Ilustracin 1.- Prueba ingresar valores y datos Para la ilustracin nmero 2, se muestra que despus de ingresar los
datos, el usuario eligi la opcin 1 que es la de desplegar todos los autos ingresados en el programa.

Ilustracin 2.- opcin 1 Mostrar todos

7

En la ilustracin nmero 3 se muestra como el usuario elije la opcin 2 para despus pedir el auto
que desea desplegar y como se muestra en pantalla.

Ilustracin 3, - opcin 2 Mostrar solo 1 auto
En la ilustracin nmero 4 se muestra como al elegir la opcin 4 el programa ordenara los datos
conforme al modelo del auto.

Ilustracin 4.- opcin Numero 4 ordenar modelo



8

En la ilustracin 5 muestra el ordenamiento, esta vez, del color de cada auto.

Ilustracin 5.- opcin Numero 5 ordenar color
Para la ilustracin nos muestra el ordenamiento esta vez por placa desplegando en pantalla tal
resultado.

Ilustracin 6.- opcin 6 ordenar placa




9

Para la ilustracin 7 se puede observar el ordenamiento de datos esta vez usando de base el
precio de cada automvil.

Ilustracin 7.- opcin 7 ordenar precio.
En la ilustracin nmero 8 simplemente muestra cuando usuario elije salir y el mensaje de
despedida que sale en pantalla y cierre del mismo

Ilustracin 8.- Salir de programa



10

En la ilustracin 9 y 10 se muestra detalladamente como el usuario ingresa la opcin 3 y determina
cual delos auto ser eliminado de la lista, en el caso, el usuario eligi la opcin 2, borrar el auto
bocho, por ltimo se despliega en pantalla que se ha borrado dicho auto, no teniendo datos en la
misma variable.

Ilustracin 9.- Opcin 3 borrar auto

Ilustracin 10.- Opcin 3 borrar auto y desplegar en pantalla todos




11

Conclusiones
Para la evidencia de desempeo 1, se necesit del conocimiento del usuario adstrato de datos, de
cada tipo, se dio a conocer la introduccin de lo que es un dato abstracto para cualquier lenguaje,
el caso de la prctica fue en c++.
Dificultades
En la estructura de datos se determinaron dificultados desde el comienzo de la prctica, un
ejemplo es cuando se asigna el struct y la variable general para el programa a desarrollar, no era
en si la utilizacin o asignacin el problema, si no, la lgica de usar este tipo de dato.
Otro inconveniente fue la asignacin de las sub-variables establecidas, ya que al asignar
directamente no se poda y marcaba errores lgicos en el programa.
As tambin se asigna como inconveniente el poder llevar a acomodar todos los datos en forma
arreglada, no se tuvieron inconvenientes con la parte de variable float, si no, al tratar de
acomodar las variable de tipo char
Y por ltimo el desarrollo de la funcin para eliminar un dato abstracto, ya que al parecer el
compilador que se us, no detecta la opcin delete que ayudara a borrar esta variable.
Como se superaron dichas dificultades
Se determin y encontramos que los datos que se tenan de como asignar la variable estaban bien,
solo no se contaba el conocimiento adecuado de la misma, as determinando que dicha variable
abstracta funcionaba como un int,char etc., de asignacin de una sub-variable
Se encontr la forma correcta de asignar la variable abstracta apoyndonos de un vector que esa
misma aria todo el trabajo de almacenamiento de cada dato ingresado por el usuario.
De igual manera se lleg a la conclusin del ordenamiento de cada sector de la sub-variable
apoyndonos una herramienta llamada strcmp que se encuentra en la librera strig.h, esta
determinan cada sector de la variable ingresa por el usuario y por lo tanto acomodar
correctamente de forma positiva el ordenamiento de cada sub-variable.
En la ltima parte ya que no se poda borrar por medio del delete, se opt por poner solo espacio
en blanco al eliminar la variable abstracta denominada auto dependiendo solo de que el usuario
determinara cual borrar.
En resumen la prctica al entender la parte lgica de lo que es un dato adstrato y como utilizarlo
es hasta cierto punto fcil poder hacer este tipo de cosas, ya que para las condiciones finales solo
se agreg un swich para cumplir con las condiciones que el problema de la prctica a desarrollar.

12

Referencias
[1] libro de estructura de datos en
c++ de Luis Joyanes Aguilar
[2]Algoritmos y Programacin
Catedra: Ing. Pablo Guarna
Web
http://web.fi.uba.ar/~bortega/apunt
e_TDA.pdf

Vous aimerez peut-être aussi