Está en la página 1de 10

Trabajo practico 1

Materia: Estructura de datos I


Estudiante: David Jhonatan Sandoval Garca
Grupo: SA
Sigla: INF 220
Docente: Ing. Ubaldo Prez Ferreira

1. Describa los conceptos de: Datos, Tipos de Dato, Tipos Abstracto de Datos y
Estructura de Datos.
Datos.- Un dato es una representacin simblica (numrica, alfabtica, algortmica, espacial, etc.)
de un atributo o variable cuantitativa o cualitativa. Los datos describen hechos empricos, sucesos y
entidades. Es un valor o referente que recibe el computador por diferentes medios, los datos
representan la informacin que el programador manipula en la construccin de una solucin o en el
desarrollo de un algoritmo.
Tipos de datos.- Un Tipo de dato es un atributo de una parte de los datos que indica al ordenador
(y/o al programador) algo sobre la clase de datos sobre los que se va a procesar. Los tipos de datos
son un conjunto de valores ms un conjunto de funciones definidas sobre los mismos valores. Esto
incluye imponer restricciones en los datos, como qu valores pueden tomar y qu operaciones se
pueden realizar.
Tipos abstractos de datos.- Es una coleccin de valores y operaciones definidas mediante una
especificacin independiente de cualquier representacin.
Estructura de datos.- Es una coleccin de variables interconectadas de formas diversas para dar
servicio al tipo abstracto de dato (TAD) que se implementa.

2. Cules son los Componentes de un TAD.


Un TAD se compone de dos partes:
Interfaz.- Se declaran los Datos y sus operaciones que se van a realizar.
Implementacin.- Contiene el cdigo fuente de las operaciones y lo mantiene oculto al usuario.

3. Describa Ventajas que proporciona el uso de TAD.


Entre las ventajas del uso de TAD se tienen las siguientes:
1.
2.
3.
4.
5.

Mejoran la conceptualizacin y hacen ms claro y comprensible el cdigo.


Hacen que el sistema sea ms robusto.
Reducen el tiempo de compilacin.
Permiten modificar la implementacin sin que afecte al interfaz pblico.
Facilitan la extensibilidad.

4. Cules son las formas de especificar un TAD.


El objetivo es describir el comportamiento del TAD, existen 2 formas de especificar un TAD, los
cuales, pueden tener un enfoque formal y otro informal.

Especificacin informal: Describe en lenguaje natural todos los datos y sus operaciones, sin
aplicar conceptos matemticos complicados para las persona que no estn familiarizados con los
TAD's, de manera, que todas las personas que no conocen a fondo las estructura de los TAD's, lo
puedan entender de manera sencilla y que esas mismas personas puedan explicarlo de la misma
manera natural, a otros con la misma facilidad con la que ellos lo entendieron.
Especificacin Formal: Una de las ventajas de especificar formalmente con respecto a las
informales, es que hay la posibilidad de simular especificaciones y las cuales se establecen
mediantes precondiciones y postcondiciones. Aqu damos un conjunto de axiomas que van a
describir el comportamiento de todas las operaciones.

5. Describa los pasos para la Construccin de un TAD.


La construccin de un TAD consta de dos fases bien diferenciadas entre ellas:
Especificacin Formal: Hacen referencia a aspectos Sintcticos: Nombre de la operacin,
Parmetros de entrada, Parmetros de salida, Tipo de dichos parmetros, Resultado devuelto por la
operacin, Tipo del resultado, etc. Las caractersticas de un TAD no deben depender de su
realizacin concreta, sino solamente de cmo queremos que sea su comportamiento, lo cual
llamamos especificacin.
Implementacin: Indican el efecto producido por la operacin. La implementacin consiste en
tomar el diseo del TDA y convertirlo en algo real, es decir, llevarlo a un lenguaje de programacin.

6. Explique la Diferencia entre Especificacin e Implementacin en la Construccin de


TAD.
La diferencia entre especificacin e implementacin durante la construccin de un TAD consiste en
que en la especificacin solo se define el comportamiento que tendr el TAD, como ser el nombre
que tendr, las variables con las cuales va a trabajar y el resultado que deber entregar, es decir, solo
se indican las caractersticas que tendr el TAD antes de pasar a ser algo real, mientras que en la
implementacin se trabaja para poder pasar todo lo que se defini en la especificacin a algo real, es
decir, un programa o un software, por medio de los distintos lenguajes de programacin con los que
se cuenta.

7. Cules son las Partes de la Especificacin Formal de un TAD.


La descripcin o especificacin formal constar de cuatro partes:
NOMBRE. Nombre genrico del TAD. Declara si se utilizan otros TADs previamente definidos.
CONJUNTOS. Conjuntos de datos que intervienen en la definicin. Define el nombre de los tipos
que se declararan en la especificacin.

SINTAXIS. Signatura de las operaciones definidas. Describe las funciones que tendrn los tipos
definidos, declarando los parmetros que tendrn de cada funcin, y el tipo del valor devuelto.
nicamente describe su sintaxis, sin entrar en su comportamiento.
<nombre_operacin> : <conj_dominio> <conj_resultado>
SEMNTICA. Indica el significado de las operaciones. Dadas las operaciones anteriores, describe
su semntica. Es decir, con la declaracin anterior una funcin puede tener cualquier
comportamiento con tal de que respete los parmetros, sus tipos, y el tipo resultante, con las
ecuaciones se describe cual ser el comportamiento de dichas operaciones ante los datos.

8. Explique los conceptos de SINTAXIS y SEMANTICA.


Sintaxis.- La sintaxis de programacin es el conjunto de normas que regulan y coordinan las
distintas variables y su asociacin.
En la lengua, la sintaxis es el conjunto de normas y leyes combinatorias que estructuran la
construccin de oraciones y textos. La sintaxis hace referencia a la inclusin de sujeto y predicado y
al rol de las palabras en relacin con otras. En las ciencias de la computacin, la sintaxis comprende
un concepto equivalente.
Para la informtica, la sintaxis es un grupo de normas que funcionan gobernando la vinculacin de
las distintas variables que configuran las instrucciones operativas.

Semntica.- En informtica, la semntica es considerada una aplicacin de la matemtica lgica.


La semntica refleja el significado de programas o funciones. En la Teora de lenguajes de
programacin, la semntica es el campo que tiene que ver con el estudio riguroso desde un punto de
vista matemtico del significado de los lenguajes de programacin.

9. Realice la Especificacin Formal para los siguientes TADs.


a. TAD Naturales (Conjunto de Nmeros Enteros Naturales)
Nombre: Natural
Conjuntos: N y M conjuntos de naturales, B conjunto de valores booleanos
Sintaxis:
1. cero: N
2. sucesor(N) N
3. escero(N) B
4. igual(N, N) B

5. suma(N, N) N
6. resta(R, R) R
Semntica:
1. escero (cero) = true
2. escero (sucesor (n)) = false
3. igual (cero, n) = escero (n)
4. igual (sucesor (n), cero) = false
5. igual (sucesor (n), sucesor (m)) = igual (n, m)
6. suma (cero, n) = n
7. suma (sucesor (m), n) = sucesor (suma (m, n))

b. TAD Real (Conjunto de Nmeros Reales Compuesto por una parte entera y una
parte fraccionaria)
Nombre: Real
Conjuntos: R y S conjunto de nmeros reales, B conjunto de valores booleanos
Sintaxis:
1. cero: R
2. sucesor(R) R
3. escero(R) B
4. igual(R, R) B
5. suma(R, R) R
6. resta(R, R) R
Semntica:
1. escero (cero) = true
2. escero (sucesor (R)) = false
3. igual (cero, R) = escero (R)
4. igual (sucesor (R), cero) = false
5. igual (sucesor (R), sucesor (S)) = igual (R, S)

6. suma (cero, R) = R
7. suma (sucesor (S), R) = sucesor (suma (S, R))

c. TAD Conjunto (Especificacin de elementos sin duplicidades pueden estar en


cualquier orden, se usa para representar los conjuntos matemticos con sus
operaciones).
Nombre: Conjunto
Conjuntos: N conjunto de nmeros naturales, B conjunto de valores booleanos
Sintaxis:
1. sonprimos (Conjunto de nmeros naturales) B
2. numordenados (Conjunto de nmeros naturales) B
3. soniguales (Conjunto de nmeros naturales) B
4. sumdeelementos (Conjunto de nmeros naturales) N
5. muldeelementos (Conjunto de nmeros naturales) N
Semntica:
1. sonprimos (nmeros pares > 2) = false
2. numordenados (N[i] = N[i] ) = false
3. soniguales (N[i] > N[i+1]) = false
4. sumdeelementos (N, conjunto de puros ceros) = N
5. muldeelementos (si hay un cero en el conjunto) = cero

d. TAD Cadena (Secuencia de caracteres ASCII terminada por un byte nulo).


Nombre: Cadena
Conjuntos: Cadenas de caracteres, B conjunto de valores booleanos
Sintaxis:
1. hayespacios (Cadena) B
2. numespacios (Cadena) N
3. numdecaracteres (Cadena) N

4. cantdepalabras (Cadena) N
5. elimvocales (Cadena) Cadena
6. elimespacios (Cadena) Cadena
7. soniguales (Cadena, Cadena) B
Semntica:
1. hayespacios (Cadena) = False numespacios (Cadena) = cero
2. hayespacios (Cadena) = False cantdepalabras (Cadena) = uno
3. numdecaracteres (vacio) 0

e. TAD Bolsa (Coleccin de elementos no ordenados que pueden estar repetidos).


Nombre: Bolsa
Conjuntos: N conjunto de nmeros naturales, B conjunto de valores booleanos, R conjunto de nmeros
reales
Sintaxis:
1. sonprimos (Conjunto de nmeros naturales) B
2. numelementos (Conjunto de nmeros naturales) N
3. soniguales (Conjunto de nmeros naturales) B
4. sumdeelementos (Conjunto de nmeros naturales) N
5. muldeelementos (Conjunto de nmeros naturales) N
6. promedio (Conjunto de nmeros naturales) R
Semntica:
1. soniguales (N[i] > N[i+1]) = false
2. sumdeelementos (N, conjunto de puros ceros) = N
3. muldeelementos (si hay un cero en el conjunto) = cero
4. promedio (conjunto vaco) = cero por la excepcin de que no existe divisin entre cero elementos

f. TAD Complejo (Par de nmeros reales que representan la parte real e imaginaria de
un nmero complejo segn el concepto matemtico).

Nombre: Complejo
Conjuntos: R conjunto de nmeros reales, B conjunto de valores booleanos, C conjunto de nmeros
complejos
Sintaxis:
1. esnumcomplejo (R, R) B
2. sumdenum (C, C) C
3. resdenum (C, C) C
4. muldenum (C, C) C
Semntica:
1. esnumcomplejo (R, cero) = False
2. esnumcomplejo (cero, R) = False
3. sumdenum(C, cero) = C
4. resdenum (C, cero) = C
5. muldenum (C, cero)= cero

g. TAD Hora (Conjunto de valores compuesto por HH MM SS).


Nombre: Hora
Conjuntos: N conjunto de nmeros naturales, B conjunto de valores booleanos, Cadenas en las cuales estarn
las horas, minutos y segundos , R conjunto de nmeros reales
Sintaxis:
1. eshoracero (Cadena) B
2. esmasdeundia (Cadena) B
3. enseg (Cadena) N
4. enmin (Cadena) R
5. enhoras (Cadena) R
6. sumadehoras (Cadena, Cadena) Cadena
Semntica:
1. horacero (HH > 0 || MM > 0 || SS > 0) = False
2. esmasdeundia (HH < 24) = False

3. enseg (cero) = cero


4. enmin (cero) = cero
5. enhoras (cero) = cero
6, sumadehoras (Cadena, cero) = Cadena

h. TAD Fecha (Conjunto de valores compuesto por DD MM YYYY).


Nombre: Fecha
Conjuntos: N conjunto de nmeros naturales, B conjunto de valores booleanos, Cadenas en las cuales estarn
los aos, meses y das, R conjunto de nmeros reales
Sintaxis:
1. esaobisiesto (Cadena) B
2. endias (Cadena) N
3. siglodefecha (Cadena) Cadena
4. sumdefechas (Cadena, Cadena) Cadena
Semntica:
1. esaobisiesto ((YYYY / 4) <> cero) = False
2. endias (cero) = cero
3. sumdefechas (Cadena, cero) = Cadena

i. TAD Circulo (Figura Geomtrica Circulo)


Nombre: Circulo
Conjuntos: R conjunto de nmeros reales, B conjunto de valores booleanos
Sintaxis:
1. radio R
2. dimetro (R) R
3. aumentarradio (R, R) R
4. permetro (R) R
5. rea (R) R
6. readecuadrante (R) R
Semntica:

1. dimetro (cero) = cero


2. permetro (cero) = cero
3. rea (cero) = cero
4. aumentarradio (R, cero) = R

j. TAD Agenda (Conjunto de Elemento compuesto por: Nombre, Telfono, Direccin y


Mail)
Nombre: Agenda
Conjuntos: N conjunto de nmeros naturales, Cadenas, B conjunto de valores booleanos
Sintaxis:
1. numelementos (conjunto de elementos) N
2. nombresordenados (conjunto de elementos) B
3. agendavacia (conjunto de elementos) B
Semntica:
1. numelmentos (conjunto vaco) = cero
2. agendavacia (conjunto) = True ssi numelementos (conjunto) = cero

10. Implementar las funciones de los TADs del punto anterior (clsNatu, clsReal,
clsConj, clsCade, clsBols, clsComp, clsHora, clsFech, clsCirc, ClsAgen).
En otros archivos

11. Implementar las interfaces (formularios) para el uso de todas las funciones
implementadas en el punto anterior.
En otros archivos

También podría gustarte