Sei sulla pagina 1di 8

ESTRUCTURA DE DATOS

 “Es una colección o grupo de datos organizados para representar alguna


entidad o abstracción matemática”.
Las estructuras de datos más comunes:
1. La estructura de datos estáticos es aquellas en las cantidades de memoria
requieren se le asigne en tiempo de programación y permanecen fijas
durante la ejecución del programa
2. La estructura de datos dinámicos es aquellos en las que la cantidad de
memoria que requieren varias durante la ejecución del programa

Cadenas (texto)

Estaticos Arreglos

Registros listas
Estructura de
datos
Lineales Pilas

Colas
Dinamicos

Grafos
No lineales
Arboles

ARREGLOS

 Es una colección finita de n elementos homogéneos almacenados en


posiciones contiguas en memoria
 Es identificado por su nombre único que representa a todos los elementos y a
su vez cada elemento se identifica mediante el nombre de la estructura y un
subíndice
 Los arreglos pueden ser organizados con un solo subíndice en forma de vector
(unidimensional), con dos subíndices en forma de matriz (bidimensional)
Con tres subíndices 8tridimnesional), etc.
ARREGLOS UNIDIMENCIONALES
Se caracterizan por que cada elemento se identifica mediante su nombre genérico
y un solo subíndice.
Ejemplo:
Arreglo de Notas de n notas, donde n=10
ANota
1 2 3 4 5 6 7 8 9 10
14 10 06 13 18 11 05 19 02 17

Arreglo de Nombres, donde n=10


ANombres
1 2 3 4 5 6 7 8 9 10
JUAN ANA PEDRO LUZ ROSA EVA CAMILA VERONIKA FERNANDO LUCY

Para almacenar la nota 18 en el casillero 5 y la nota 02 en el casillero 9 las


instrucciones son:
ANota5 18
ANota9 02
Almacenar nombre de Ana en el casillero 2:
ANombres2Ana
Para leer los datos y almacenarlos en los arreglos se utiliza las instrucciones Leer y
Escribir para cada casillero del arreglo utilizando una estructura repetitiva

PARA k=1 HASTA 10 VECES


LEER ANota K

PARA k=1 HASTA 10 VECES


ESCRIBIR ANota K
MODULARIDAD
Metodología descendente (Top Down Method)
Conocida como “arriba-abajo”, tiene las siguientes etapas:
 Identificar y expresar el problema al mayor nivel de abstracción. considerar el
problema como un módulo único
 Analizar el problema y descomponerlo en sub problemas de menor complejidad
cada sub problema debe corresponder a una unidad lógica o modulo nivel
 Resolver independientemente cada unidad lógica o modulo identificado en el
nivel anterior como si fuera un nuevo problema.
 Esta metodología produce la siguiente jerarquía

Problema

subproblema 1 subproblema 2 subproblema 3

Subproblema 21 Subproblema 22 Subproblema 23 Subproblema 24

PROGRAMACION MODULAR
Concepto de modulo
 “Pieza única o conjunto unitario de piezas que se repiten en una construcción
de cualquier tipo, para hacerla más fácil regular y económica”
 Un módulo es un conjunto de instrucciones que efectúan un proceso único y
completamente definido, que son referenciados mediante un nombre y
pueden ser invocados desde diferentes puntos de un programa u otros
módulos”
Objetivos de la programación modular
 Afrontara cualquier tarea compleja mediante la descomposición de esta en
módulos reduciendo la complejidad
 Aumentar la fiabilidad de los programas, constituyendo como una metodología
que facilita la verificación
 Facilitar el mantenimiento del programa. Esto es, las modificaciones se
localizarán en módulos especificados y los nuevos requerimientos se
implementarán en nuevos módulos
 Disminuir el costo, mejorando la administración y el control del proyecto que
implicar mayor productividad
Ventajas y desventajas de la programación modular

VENTAJAS
 es más fácil afrontar el diseño e implementación de programas complejos
 el hecho de que los módulos sean considerados como unidades lógicas
independientes, hacen que estos puedan ser escritos y depurados
independientemente, permitiendo así mayor fiabilidad
 un programa modular es más fácil de mantener.

DESVENTAJAS
 No se dispone de algoritmos formales que permitan descomponer un
problema en módulos. En muchos casos es difícil identificar los límites y
alcances de un módulo, sobre en los programadores noveles
 Requiere más memoria. Cada llamada de un módulo requiere que se reserve
memoria para almacenar la dirección a donde debe retornar el control de
programa
 Para innovar a un módulo implica un tiempo ejecución adicional, esto hace que
la ejecución de os programa modulares requieran más tiempo

CARACTERISTICAS DE UN MODULO
 Corresponde a una unidad lógica perfectamente diferenciada donde se debe
especificar completamente:
“cada módulo deberá ejecutar solo una tarea, pero hacerla bien”
 Tiene un comportamiento de “caja negra”, donde los detalles de
implementación son inherentes solo al módulo y no tiene ninguna implicancia
sobre los otros módulos. Un módulo debe encapsular un proceso ocultando los
detalles de su implementación.
 El tamaño de un módulo no debe ser ni corto ni largo, debe tener el tamaño
necesario para cumplir con su objetivo y ser legible
 No debe depender de variables externas cada módulo debe administra sus
propias variables (variables locales). El modulo interactúa con otros módulos
intercambian información solo a través de los parámetros.

Criterios de descomposición modular

1. Descomposición por tareas o procesos


Este criterio hace un análisis de los procesos existentes en el sistema y
considera su complejidad como criterio principal de descomposición
Modulo
1

Modulo Modulo
7 2

Modulo
datos Modulo
6 3

Modulo Modulo
5 4

Léxico, sintaxis de la Programación Modular


Para identificar el léxico y la sintaxis de los módulos necesitamos identificar sus
elementos:
 Los datos con los que se debe trabajar conjuntamente con la especificación de la
pre condición
 La acción que debe realizar
 Los resultados que debe producir conjuntamente al finalizar el modulo

Datos Modulo Resultado


EJERCICIOS

1. Escribir un programa que muestre textos entre líneas de asteriscos

2. Modificar el programa anterior de modo que los textos sean mostrados


entre líneas de asteriscos de la misma longitud que los textos.
3. Modificar el programa anterior para mejorar la reusabilidad de código

4. Modificar el programa anterior para que los textos se muestren en un


recuadro de asteriscos
5. Escribir un programa para que muestre las tablas aritméticas de: Sumar,
Restar, Multiplicar y Dividir. El programa debe utilizar un módulo menú
y módulos para cada tabla aritmética.

Completar el programa anterior con las tablas aritméticas de: Multiplicar y Dividir.

Potrebbero piacerti anche