Sunteți pe pagina 1din 10

Relación entre algoritmos y

estructuras de datos

Nombre del estudiante: Montero Campos


Angel Jonathan
Nombre del profesor: FELIPE GAYOSSO
MARTINEZ.
Nombre del Asesor: NANCY ROSALINA
GUTIÉRREZ SOTO .
Materia: Estructura de datos.
Actividad: 1
INSTRUCCIONES

INSTRUCCIONES
1. Indicar ¿Que es un algoritmo? señalar sus cualidades y características principales y tres ejemplos de
algoritmos conocidos. Un algoritmo va ligado necesariamente al problema que resuelve. Ejemplo: el
problema de la búsqueda de un elemento dentro de un arreglo o en alguna notra estructura o el problema
de encontrar el máximo común divisor de dos números naturales. Incluir tres ejemplos de problemas que
requieren algoritmos.

2. ¿Qué es una estructura de datos? proporcionar tres ejemplos de estructuras, indicar cuál es la diferencia
entre estructuras con realizaciones estáticas y realizaciones dinámicas. ¿A qué se le denomina la realización
de una estructura?

3. ¿Qué es un tipo abstracto de datos (TAD)? Ejemplificar este concepto indicando el TAD de una lista
enlazada (no requiere código).

5. (Asignación dinámica de memoria) la instrucción string *Nombres[20] declara un arreglo de 20


apuntadores a carácter los cuales pueden servir como a apuntadores a nombres para después procesarlos.
Pero qué tal si el número de nombres a usar se requiere que sea introducido por el usuario y determinarse
en tiempo de ejecución, entonces tenemos que reservar dinámicamente la memoria para el arreglo
Nombres. ¿Como se resuelve mediante un programa esta situación?

6. ¿Cuáles son las relaciones entre las estructuras de datos y los algoritmos?

2
INSTRUCCIONES

Introducción

En esta primera actividad se trata de buscar las características de lo que es un algoritmo, estructura de
datos y tipos abstractos del TAD.

En tal de comprender aún más la programación que esta carrera nos ofrece.

Esto es importante para un buen inicio de desarrollo se un software.

3
INSTRUCCIONES

Actividades.

1. ¿Qué es un algoritmo?

Un algoritmo es un conjunto de secuencias de instrucciones que representan un flujo de datos que


solucionan un determinado problema. “Flujo de datos que conducen a obtener solución de un problema”

Para realizar la secuencia conveniente se debe estudiar muy bien el diseño y definición previa de un
algoritmo, como cabe mencionar para crear un algoritmo se necesita creatividad y conocimiento extenso de
la programación.

Los algoritmos son independientes de los lenguajes de programación.

Para un algoritmo no es un impedimento escribir un lenguaje especifico, ya que cualquier modelo de


programación se adecua a este flujo de datos, ya que de igual manera este se puede ejecutar.

En pocas palabras.

El algoritmo es la estructura de cualquier solución sin importar cualquier lenguaje.

Características principales.

1. Preciso.

Un algoritmo siempre se tiene que definir de manera exacta.

2. Definido.

Un algoritmo solo se puede definir una vez, ya que si se ocupa dos veces se obtendrá el mismo resultado.

“Se recomienda que el algoritmo siempre sea muy corto para evitar problemas en el flujo.”

3. Finito.

En algún momento tiene que terminar.

4. Elementos de entrada pueden ser varios o cero.


5. Produce resultado bajo instrucciones que se le indiquen para la salida de datos.

4
INSTRUCCIONES

Etapas.

1. Análisis del problema, definición y delimitación (macroalgoritmo). Considerar los datos de entrada,
el proceso que debe realizar el computador y los datos de salida.
2. Diseño y desarrollo del algoritmo (se utiliza pseudocódigo, escritura natural del algoritmo, diagramas
de flujo, etc. )
3. Prueba de escritorio. Seguimiento manual de los pasos descritos en el algoritmo. Se hace con valores
bajos y tiene como fin detectar errores.
4. Codificación. Selección de un lenguaje de programación y digitación del pseudocódigo haciendo uso
de la sintaxis y estructura gramatical del lenguaje seleccionado.
5. Compilación o interpretación del programa. El software elegido convierte las instrucciones escritas
en el lenguaje a las comprendidas por el computador.
6. Ejecución. El programa es ejecutado por la máquina para llegar a los resultados esperados.
7. Depuración (debug). Operación de detectar, localizar y eliminar errores de mal funcionamiento del
programa.
8. Evaluación de resultados. Obtenidos los resultados se los evalúa para verificar si son correctos. (Un
programa puede arrojar resultados incorrectos aún cuando su ejecución no muestra erorres).

Ejemplo de problemas que requieren algoritmo.

1. Determinar la hipotenusa de un triángulo rectángulo conocidas las longitudes de sus dos catetos.
Desarrolle el algoritmo correspondiente.

2. Desarrolle un algoritmo que permita leer tres valores y almacenarlos en las variables A, B y C
respectivamente. El algoritmo debe imprimir cual es el mayor y cuál es el menor. Recuerde constatar que los
tres valores introducidos por el teclado sean valores distintos. Presente un mensaje de alerta en caso de que
se detecte la introducción de valores iguales.

3. Desarrolle un algoritmo que realice la sumatoria de los números enteros comprendidos entre el 1 y el 10,
es decir, 1 + 2 + 3 + …. + 10.

2. ¿Qué es una estructura de datos?

La estructura de datos es la forma organizada con el que se dan los datos de un computador para utilizarlos
de manera efectiva y ordenada.

Una estructura de datos siempre debe ser independiente para cada aplicación o recursos que queramos
desarrolla, esto debido que el contexto de los datos no se generaliza para determinar un objetivo específico.

5
INSTRUCCIONES
Si lo llegamos a asociar con nuestra vida diaria, se podría decir que la estructura de datos conforma cada
grupo en específico de alimentos, bebidas, ropa, zapatos etc.

Ejemplos de estructura de datos.

1. Registro.

Es estructura de datos que se agregan al registro, estos contienen valores con los cuales se logra
diferenciar porque son número fijo y de secuencia indicado por nombre. (siempre se conocerán como
campos)

2. Árbol

La estructura de datos de árbol, no permite ciclos, al cual solo existe un camino desde un nodo llamado
raíz, que se dirigen a otros nodos.

3. Pila.

La estructura de datos en pila nos permite almacenar y recuperar datos.

“Primero en entrar y primero en salir”

6
INSTRUCCIONES

Diferencia entre realizaciones estáticas y realizaciones dinámicas.

Estructura De Datos Estáticas

La estática es aquella en la que el tamaño ocupado se defines antes de que el programa se ejecute, este
tamaño no se puede modificar en el proceso de ejecución, entre estas estructuras de datos se
encuentran los array (vectores y matrices), registro, archivos y cadenas.

http://www.monografias.com/trabajos24/estructura-datos/estructura-datos.shtml#estructestat

Estructuras de datos dinámicas

La estructura de datos en cambio es aquella en la que el tamaño ocupado en la memoria se puede modificar
durante la ejecución del programa.

La variable se empieza a crear durante la ejecución del programa, estas llamándose variables continuas.

Esta manera es más efectiva ya que podemos adquirir del espacio necesario durante la ejecución, sin ocupar
menos ni mas espacio.

En la estructura de datos dinámicos cuenta con dos grandes grupos de estructuras.

Siendo lineales (pilas, colas, listas enlazadas) y siendo no lineales (Arboles y grafos)

7
INSTRUCCIONES

http://www.inf.ucv.cl/~rsoto/cursos/INF245/Cap2_Parte1_6ppt_INF245.pdf

3. ¿Qué es un tipo abstracto de datos (TAD)?

Para comprender bien que es la abstracción de datos es necesario comprender que es la abstracción
para un programador.

La abstracción para ellos es la simplificación de los objetos en la realidad, en donde solo se poner
presente los aspectos que son más relevantes.

Esto se ocupará para dar sencillez de los algoritmos.

La abstracción tiene dos puntos que son función y de datos.

Entonces para comprender mejor el tipo abstracto de datos (TAD) es un tipo definido por el usuario que
tiene un conjunto de valores y operaciones.

Todo esto tiene tiene que cumplir con el principio de abstracción que se comentó en la parte de arriba.

Como se comentó y para amplificar toda esta información, el TAD nos pone a disposición un conjunto de
objetos que contienen operaciones básicas que son independientes a la implementación que se toma.

https://www.infor.uva.es/~mserrano/EDI/cap3.pdf

8
INSTRUCCIONES

4. (Asignación dinámica de memoria) la instrucción string *Nombres[20] declara un arreglo de 20


apuntadores a carácter los cuales pueden servir como a apuntadores a nombres para después
procesarlos. Pero qué tal si el número de nombres a usar se requiere que sea introducido por el
usuario y determinarse en tiempo de ejecución, entonces tenemos que reservar dinámicamente la
memoria para el arreglo Nombres.
Instrucción; string *Nombre[20]

¿Como se resuelve mediante un programa esta situación?

Este programa se resuelve mediante un programa repetitivo o de siclo (CADENA).

Debe de contar con estructura de datos Dinámicos.

Asignación de memoria.

Memoria estática.

Memoria dinámica.

Memoria Retorica.

5. ¿Cuáles son las relaciones entre las estructuras de datos y los algoritmos?

La relación entre ambas son que la escritura y orden de datos de un computador deben ser
independiente de cada aplicación, esto también es obligatorio para llevar un orden adecuado para
solucionar un problema solicitado.

9
INSTRUCCIONES
De igual manera las operaciones de un algoritmo en las matemáticas se tienen que registrar en
forma ordenada, de acuerdo con la estructura de datos.

Conclusión.

Para terminar esta actividad, el conocimiento obtenido nos ayuda demasiado al momento de
programar ya que empezaremos desde cero, al cual se tiene que tener en mente que es un
algoritmo y con ella la estructura de datos.

Aprendimos que un algoritmo son instrucciones de secuencias como de igual manera la estructura
de datos es la organización de información que puede tener una base de datos.
Juntando ambos podemos realizar un programa que nos proporcione un resultado de manera
ordenada y limpia.

Esto ayuda demasiado a un buen desarrollo de un software.

Bibliografía.

Algoritmo.

Disponible en http://ing.unne.edu.ar/pub/informatica/Alg_diag.pdf Recuperado el día 18-07-2018


Ejercicios de Algoritmo

Joyanes Aguilar, L (2003): Fundamentos de programación, Algoritmos y Estructuras de


datos y Objetos, Madrid, McGraw-Hill.
Estructura de datos definición y tipos principales.

Disponible en https://www.universidadviu.es/estructura-datos-definicion-tipos-principales/
Recuperado el día 18-07-2018
Estructura de datos.

Disponible en https://es.wikipedia.org/wiki/Estructura_de_datos Recuperado el día 18-07-2018


Estructura de datos estáticas y dinámicas.

Disponible en http://estructura-davomtz92.blogspot.com Recuperado el día 18-07-2018


TIPOS ABSTRACTOS DE DATOS (TAD)

Disponible en https://www.infor.uva.es/~mserrano/EDI/cap3.pdf Recuperado el día 18-07-2018


TIPOS ABSTRACTOS DE DATOS \(TAD\)

Disponible en https://www.infor.uva.es/~mserrano/EDI/cap2.pdf Recuperado el día 18-07-2018


Programación Orientada a Objetos

Disponible en http://picarcodigo.blogspot.com/2012/03/cadena-de-caracteres.html Recuperado el dia


18-07-2018

10

S-ar putea să vă placă și