Programación

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

Diseño descendente (Top-down)

El diseño descendente es una forma de afrontar un proyecto de programación que


consiste en empezar por lo más general e ir avanzando nivel a nivel hacia lo más
particular.
Se efectúa una relación entre las etapas de la estructuración, de forma que una
etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas
de datos. Se integra de una serie de descomposiciones sucesivas del problema
inicial, que recibe el refinamiento progresivo del repertorio de instrucciones que
van a formar parte del programa.
En otras palabras, la solución del problema se divide una y otra vez hasta que esté
expresada en términos de estructuras de control, cada uno de los niveles o pasos
sucesivos se conoce como refinamiento.
Esta técnica tiene los siguientes objetivos:

Con lo anterior podemos decir que: un módulo se caracteriza por realizar una
tarea específica, posee sus propios datos de entrada y su resultado. El diseño de
cada módulo debe ser independiente de los otros; si es necesario que exista
comunicación entre ellos, ésta únicamente podrá realizarse a través de los
parámetros de entrada y del valor de retorno. En este sentido, puede ser visto, por
otros módulos, como una caja negra que hacia el exterior sólo muestra qué hace y
qué necesita, pero no cómo lo hace.
La creación de un módulo conlleva dos partes: la definición del módulo y la
llamada o invocación (ejecución). La primera consta de tres partes:
1. Definir los parámetros de entrada;
2. Definir el valor de retorno;
3. Escribir todas las instrucciones que le permitirán llevar a cabo la tarea, es
decir, un algoritmo.
La llamada o invocación a un módulo es el proceso de ejecutar el conjunto de
instrucciones definidas en el módulo dado un conjunto de entradas específico. La
forma general de invocar un módulo es escribiendo su nombre y entre paréntesis
los valores de cada uno de los parámetros de entrada, respetando el orden que
con el que se definió.
No existe un método para saber en cuántos módulos se deben dividir un
problema, sin embargo es importante tener en cuenta los siguientes principios del
diseño modular:
 Las partes altamente relacionadas deben pertenecer a un mismo módulo. 
 Las partes no relacionadas deben residir en módulos diferentes.
Algunas ventajas del diseño descendiente top-down son:
 Es mucho más fácil encontrar errores en el código, sobre todo en
programas largos.
 Permite usar procedimientos construidos por otros programadores.
 Evita cambios indeseables en las variables del programa. Sólo algunas de
ellas se transfieren entre las diferentes unidades de programa, aquellas
variables que son necesarias para realizar los cálculos previstos.
 Las demás variables sólo son accesibles en la unidad de programa donde
se declaran (variables locales), quedando a salvo de cambios imprevistos
para el resto de las unidades de programa.
Y en cuanto a las funciones intrínsecas:
 Están definidas por el programador o subprogramas función.
 Las funciones definidas por el programador se usan igual que las funciones
intrínsecas.
 Su resultado es un valor numérico, lógico, una cadena de caracteres o un
array.
 La estructura general de un procedimiento función es:
o Cabecera de función
o Sección de especificaciones
o Sección de ejecución
o Terminación de la función
Estructuras de control

Existen tareas más complejas que no pueden ser resueltas empleando un


esquema tan sencillo, en ocasiones es necesario repetir una misma acción un
número determinado de veces o evaluar una expresión y realizar acciones
diferentes en base al resultado de dicha evaluación.
Para resolver estas situaciones existen las denominadas estructuras de control
que poseen las siguientes características:
 Una estructura de control tiene un único punto de entrada y un único punto
de salida.
 Una estructura de control se compone de sentencias o de otras estructuras
de control.
Tales características permiten desarrollar de forma muy flexible todo tipo de
algoritmos aun cuando sólo existen tres tipos fundamentales de estructuras de
control:
 Secuencial.
 Alternativa.
 Repetitiva
Las primeras permiten seleccionar un camino a ejecutarse entre dos o más
opciones "por una sola vez"; y las segundas, permiten ejecutar un conjunto de
instrucciones "varias veces" mientras se cumpla una condición. 
Al escribir una estructura de control, se deberá tener presente que una correcta
tabulación, permitirá que el programa sea más legible y fácil de comprender. Los
lenguajes de programación, realizan esta tabulación de forma automática, siempre
y cuando se escriban correctamente el inicio y final de cada estructura.
Las estructuras de control condicional son las que incluyen alternativas de
selección en base al resultado de una operación booleana (El resultado de una
operación booleana es siempre verdadero o falso), como por ejemplo, una
comparación (A=B). Según la expresión sea cierta o falsa, se ejecutará un trozo
de código u otro. Es el caso de la sentencia IF (Si), THEN (Entonces), ELSE
(Sino).
Con las estructuras de control se puede:
 De acuerdo con una condición, ejecutar un grupo u otro de sentencias (If-
Then-Else)
 De acuerdo con el valor de una variable, ejecutar un grupo u otro de
sentencias (Select-Case)
 Ejecutar un grupo de sentencias mientras se cumpla una condición (Do-
While)
 Ejecutar un grupo de sentencias hasta que se cumpla una condición (Do-
Until)
 Ejecutar un grupo de sentencias un número determinado de veces (For-
Next)
Todos los lenguajes de programación modernos tienen estructuras de control
similares. Básicamente lo que varía entre las estructuras de control de los
diferentes lenguajes es su sintaxis; cada lenguaje tiene una sintaxis propia para
expresar la estructura.
Estructuras básicas de programación

Las partes principales de un programa están relacionadas con dos bloques:


declaraciones e instrucciones.
En las instrucciones podemos diferenciar tres partes fundamentales
 Entrada de Datos: La constituyen todas las instrucciones que toman los
datos de entrada desde un dispositivo externo y los almacena en la
memoria principal para que puedan ser procesados.
 Proceso o algoritmo: Está formado por las instrucciones que modifican los
objetos a partir de su estado inicial (datos de entrada) hasta el estado final
(resultados) dejando los objetos que lo contiene disponibles en la memoria
principal.
 Salida de resultados: Conjunto de instrucciones que toman los datos finales
(resultado) de la memoria principal y los envían a los dispositivos externos. 
El teorema de Böhm y Jacopini
(1966) dice que un programa
propio puede ser escrito utilizando
sólo tres tipos de estructuras de
control:
1. Estructura secuencial
Una estructura de programa es
secuencial si las instrucciones se
ejecutan una tras otra, a modo de
secuencia lineal, es decir que una
instrucción no se ejecuta hasta
que finaliza la anterior, ni se
bifurca el flujo del programa.
Dentro de este tipo podemos
encontrar operaciones de
inicio/fin, inicialización de variables, operaciones de asignación, cálculo,
sumarización, etc. Este tipo de estructura se basa en las 5 fases de que consta
todo algoritmo o programa:
 Definición de variables
 (Declaración)
 Inicialización de variables.
 Lectura de datos
 Cálculo
 Salida
2. Estructura selectiva o de selección
La estructura condicional simple consta de una simple condición, si esta se cumple
se deberán ejecutar las instrucciones dentro del bloque de correspondiente. En
caso de no cumplirse el programa simplemente ignorara esas instrucciones y no
las leerá ni ejecutara. Es decir "Si se cumple la condición has esto."
La estructura selectiva permite que la ejecución del programa se bifurque a una
instrucción (o conjunto) u otra/s, según un criterio o condición lógica establecida,
sólo uno de los caminos en la bifurcación será el tomado para ejecutarse.
 Estructura de control selectiva simple
 Estructura de control selectiva doble
 Estructura de control selectiva múltiple

3. Estructura de control cíclica o repetitiva


Las estructuras cíclicas o también conocidas como repetitivas cumplen la función
de ejecutar un bloque de código un número definido de veces, es decir como su
nombre lo dice, repiten las mismas líneas de código una y otra vez según sea
Existen 3 tipos de estructuras cíclicas:
 Para hasta que: en términos literales podría ser escrito como: "Ejecuta
estas instrucciones hasta que la condición sea falsa" o "Para hasta que la
condición sea falsa".
 Mientras que: se representa generalmente con el ciclo WHILE, el cual si lo
tradujéramos textualmente seria "Mientras Que la condición cumpla ejecuta
las instrucciones". 
 Haz mientras: traducido literalmente seria "Haz este código Mientras la
condición se cumpla". Este básicamente es exactamente igual que el Ciclo
While, solamente cambia el acomodo en su declaración y sintaxis, en
resumen cumple exactamente la misma función.

También podría gustarte