26/04/2018
Universidad Nacional de Trujillo
Facultad de Ciencias Físicas y Matemáticas
Departamento Académico de Informática
Programación Estructurada
Ms. Ing Carlos Castillo Diestra
Programación Estructurada
La programación estructurada es la técnica de desarrollo de
programas de la forma más clara posible haciendo uso de tres
estructuras de control: la secuencia, la selección y la interacción.
Estas estructuras pueden combinarse para crear programas que
manejen cualquier necesidad de procesamiento de datos.
1
26/04/2018
Conceptos
• Metodología: Conjunto de procedimientos, técnicas,
herramientas y un soporte documental que ayuda a los
desarrolladores a realizar nuevo software.
• Estructura: Es la descomposición ordenada de las partes de
un todo. Conjunto de elementos interrelacionados que
forman un todo.
• Programación estructurada: Consiste en el diseño, escritura y
prueba de un programa, construido con estructura.
Metodología de la programación
• Es la técnica que permite que la programación
sea lo más eficaz posible en cuanto al
desarrollo y mantenimiento.
• Conjunto de principios generales que un
programador ha de seguir para desarrollar un
programa
2
26/04/2018
Metodologías de programación
• Programación convencional
• Programación Estructurada
• Programación Modular
• Programación orientada a objetos.
Consideraciones al diseñar programas
• Correcto/fiel. Producir resultados requeridos.
• Legible. Debe ser entendido por cualquier
programador.
• Modificable. Su estructura debe permitir
modificaciones.
• Depurable. Debe ser fácil la localización y
corrección de errores.
3
26/04/2018
Concepto de Módulo
• Esta constituido por una o varias instrucciones
físicamente contiguas lógicamente
encadenadas, las cuales se pueden referenciar
mediante un nombre y pueden ser llamadas
desde diferentes puntos de un programa.
• Un modulo puede ser un programa, una
función, una subrutina(procedimiento).
Programación modular
• Descomponer un programa en un número
pequeño de abstracciones coherentes que
pertenecen al dominio del problema y
enmascaran la complejidad interna.
• Método de diseño que tiende a dividir el
problema, de forma lógica, en partes
perfectamente diferenciadas que pueden ser
analizadas, programadas y puesta a punto
independientemente.
4
26/04/2018
Ventajas de la programación
modular
• Es más fácil de escribir y depurar.
• Fácil mantener y modificar.
• Fácil control de la programación.
• Posibilita el uso repetitivo de las rutinas en el
mismo o en diferentes programas.
Programación estructurada
• Técnica de construcción de programas que
utilizan al máximo los recursos del lenguaje,
limita el conjunto de estructuras aplicables a
leer y presenta una serie de reglas que
coordinan adecuadamente el desarrollo de las
diferentes fases de la programación.
– Estructuras básicas de control.
– Recursos abstractos
– Diseño descendente
5
26/04/2018
Estructuras básicas de control
• El teorema de la estructura(Bohm y Jacopini 1966) establece
que un programa propio puede ser escrito utilizando
solamente las siguientes estructuras lógicas de control:
secuencia, selección e iteración.
• Un programa se define como propio si cumple con los dos
requerimientos siguientes:
– Tiene exactamente una entrada y una salida para control
del programa.
– Existen caminos seguibles desde la entrada hasta la salida
que conducen por cada parte del programa, es decir, no
existen lazos infinitos ni instrucciones que no se ejecutan
Recursos abstractos
• Diseñar o concebir un problema en términos
abstractos consiste en no tener en cuenta la
máquina que lo va a resolver así como el
lenguaje de programación que se va a utilizar.
• Ejemplo : El concepto de variable implica una
abstracción cuando se da un nombre a una
operación determinada, y se utiliza
considerando lo que hace pero sin
preocuparnos de cómo lo hace.
6
26/04/2018
Metodología descendente
• Consiste en establecer una serie de niveles de
menor o mayor complejidad que den solución
al problema.
• Un programa estructurado tiene una
representación en forma de árbol.
• El diseño se basa en la realización de
diferentes niveles.
Diseño de programas estructurados.
• La realización del diseño estructurado de un programa se basa
en la aplicación de los siguientes conceptos:
– Ir de lo general a lo particular, descendiendo en la
estructura del programa y en su nivel de detalle.
– De la definición inicial del problema se pasa a un esquema
de algoritmo descrito en pseudocódigo.
– Independencia inicial del lenguaje.
– Diseño por niveles. Verificar en cada nivel el esquema
correcto.
– Finalizar con un trabajo de recomposición del algoritmo
completo.
7
26/04/2018
Ventajas de la programación estructurada.
• Los programas son más fáciles de entender
• Reducción del esfuerzo en las pruebas.
• Reducción de los costos de mantenimiento.
• Programas más sencillos y más rápidos
• Aumento de la productividad del programador
• Los programas quedan mejor documentados
internamente.
Programación Estructurada
Composición
La programación estructurada está compuesta por segmentos de código que
pueden incluir desde una instrucción hasta varias páginas de estas.
Cada uno de los segmentos de un programa, debe cumplir con dos procesos
básicos: la entrada y la salida de datos.
A diferencia de otros estilos de programación, los programas estructurados
pueden ser leídos secuencialmente, desde el inicio hasta el final, sin perder la
continuidad.
8
26/04/2018
Características de la Programación
Estructurada
Los programas escritos con estos principios tienen no solo una estructura fácil
de leer, sino que además tienen una excelente presentación, que permite
comprender el código con mayor facilidad. La estructuración del contenido
facilita la revisión de la codificación y reduce el tiempo de prueba y
depuración de programas.
Estructuras de control
Son estructuras que permiten controlar el orden de ejecución de las
instrucciones contenidas dentro de ellas dependiendo de condiciones
previamente establecidas.
Características de la Programación
Estructurada
Estructuras de control
Todos los programas pueden desarrollarse utilizando únicamente
con las tres estructuras de control características de la
programación estructurada: secuencia, selección e iteración
Secuencia:
• Se refiere al orden en la que las instrucciones de un programa
son ejecutadas, tal y como se tienen en el programa.
• Los elementos 1, 2 y 3 pueden ser instrucciones o bloques
que indican que independientemente de su complejidad o
tamaño, su ejecución es realizada en el orden indicado.
9
26/04/2018
Características de la Programación
Estructurada
Selección:
• Es la posibilidad de elegir entre dos instrucciones, donde la
decisión se toma en base a la evaluación de una expresión a la
que llamamos condición.
• La imagen indica que si se cumple la condición 1, se avanza al
punto 2 y se llega al punto 4, en caso de no cumplirse la
condición 1 entonces se avanza al punto 3 y así se llega al
punto 4.
Características de la Programación
Estructurada
Iteración:
• Es una estructura que se utiliza para repetir alguna instrucción
o grupo de instrucciones siempre que se cumpla una
condición.
• Si se cumple la condición 1, se avanza al punto 2 y se llega al
punto 3 donde se encuentra una nueva condición 3 que si se
cumple se regresa a la condición 1 y si no se cumple, se
continúa al punto 4.
10
26/04/2018
Características de la Programación
Estructurada
21
Características de la Programación
Estructurada
Segmentación
• Para favorecer la comprensión del código de los programas desarrollados, es
conveniente establecer segmentos del programa para que estos no excedan una
página de codificación (50 líneas en promedio).
• No se trata únicamente de dividir un programa en trozos donde la longitud sea de
50 líneas; la segmentación debe cumplir con las siguientes características básicas:
– Las partes se deben relacionar entre sí de forma jerárquica, formando una
estructura de árbol.
– Debe mostrar claramente las relaciones existentes entre las funciones para
permitir comprender lo que debe hacer el programa de forma fácil.
– La comunicación entre los segmentos se debe realizar cuidadosamente y de
forma controlada.
• La comunicación entre los segmentos se debe realizar a través de una lista de
parámetros, lo cual reduce la oportunidad de se relacionen entre ellos de forma
indeseada o inentendible.
11
26/04/2018
Características de la Programación
Estructurada
Identación
• Es el espacio o sangría que se asigna a una línea de código y
dependiendo de su longitud, esta indica si una instrucción o
grupo de instrucciones pertenecen a determinado bloque.
• Este espacio es importante ya que facilita la lectura del
programa respecto a las relaciones existentes entre las
instrucciones y los segmentos.
Ejercicios
1. Mostrar los N primeros términos de la serie: 5, 7, 10,14,19,….., N
2. Ingrese una serie de números hasta ingresar el valor 0. Luego reporte
cuántos de los números ingresados fueron impares y cuantos pares.
3. Lea un número entero y determinar si es primo o compuesto. (Un número
es primo cuando es solamente divisible entre si mismo y entre uno).
4. Lea dos números enteros e imprima todos sus divisores comunes, excepto
la unidad.
5. Lea un número entero positivo y determine si es un número perfecto. (Un
número entero positivo es perfecto si es igual a la suma de todos sus
divisores enteros positivos, excepto el mismo. Ejemplo: 6 es un número
perfecto, ya que sus divisores son: 1,2,3 y 1+2+3 = 6)
6. Lea número entero y lo escriba en forma inversa. (2345, su inverso 5432).
7. Lea dos números enteros y determine su mínimo común múltiplo.
8. Lea dos números enteros y determine su máximo común divisor.
12