Programación Estructurada (2024)

Palabras clave: Programación estructurada, Estructuras de control

Preguntas de repaso

  • Cuando diseñas un algoritmo ¿Cuáles son las consideraciones que deben tenerse en cuenta?

  • ¿Por qué es más importante hacer un buen algoritmo en programación?

  • ¿Cuáles son las instrucciones simples de Processing?

No sigas si no conoces las respuestas.

1. Programación imperativa y modular

Hasta ahora hemos estudiado dos paradigmas de programación.

La programación imperativa es un paradigma de programación que describe la programación en términos del estado del programa y sentencias que cambian dicho estado. Los programas imperativos son un conjunto de instrucciones que le indican al ordenador cómo realizar una tarea.Los lenguajes imperativos de alto nivel, como Processing, usan variables así como un conjunto de operadores y funciones para su manipulación.En la programación imperativa todas las variables son globales, pues pueden utilizarse en cualquier parte del programa.

La programación modular abstrae un conjunto de instrucciones como una función que define el programador.El programador debe declarar y definir las funciones en términos de las instrucciones imperativas del lenguaje.Una función construida por el programador puede invocarse como una instrucción más del lenguaje.Las funciones se comunican entre sí a través de sus parámetros.Por contra a la programación imperativa no está bien visto trabajar con variables globales. Todas las variables deben ser locales a las funciones donde se declaran.

2. Programación estructurada

La programación estructurada es un paradigma de programación orientado a mejorar la claridad, calidad y tiempo de desarrollo de un programa utilizando únicamente subrutinas o funciones y tres estructuras: secuencial, condicional y repetitiva.

A finales de los años 1970 surgió una nueva forma de programar que daba lugar a programas más legibles, fiables y eficientes. Se basaban en elteorema del programa estructurado, propuesto por Böhm-Jacopini, que demuestra que todo programa puede escribirse utilizando únicamente las tres estructuras de control siguientes:

  • Estructura secuencial. Está formada por una secuencia de llamadas a instrucciones del lenguaje o funciones del programador.

  • Estructura condicional. Es aquella que ejecuta una estructura si se cumple una condición booleana.

  • Estructura iterativa con condición. Es aquella que ejecuta una estructura una y otra vez si se cumple una condición booleana.

Solamente con estas tres estructuras se pueden escribir todos los programas y aplicaciones posibles. Si bien los lenguajes de programación tienen un mayor repertorio de estructuras de control.

En la programación estructurada los 3 tipos de estructuras mencionadas no aparecen de forma aislada sino que unas aparecen "en el interior" (o anidada) de cualquiera de ellas. Por ejemplo, lo normal es que una estructura secuencia aparezca "anidada" en una condicional o una iterativa, o es muy usual que una iterativa aparezca "anidada" en otra iterativa.

Estas estructuras y sus "anidamientos" no son nuevos para tí.Ya se introdujo este aspecto al hablar de "Resolución de Problemas con Ordenador"y se daban algunas recomendaciones sobre cómo s debe expresar un algoritmo,donde destacamos:se deberán de utilizar verbos en infinitivo, las expresiones si-entonces y mientas-hacer. Estas expresiones se corresponden con la estructras de control secuencial, condicional e iterativa, respectivamente.

Ejemplo 1. Algoritmo estructurado para hacer algunos cálculos

El siguiente algoritmo tiene como propósito sumar los números pares que hay entre dos números dados por el usuario, así como multiplicar los números impares que haya entre ambos números. El algoritmo se ha diseñado utilizando únicamente las 3 estructuras indicadas.

  1. Almacena en n y m valores dados por el usuario.

  2. Considerar actual igual a n.

  3. Considerar suma igual a 0.

  4. Considerar producto igual a 1.

  5. Mientras que actual sea menor o igual a m hacer los siguiente

    1. Imprime el valor de actual

    2. Si actual es par,

      1. sumar actual a suma para actualizar suma

    3. Si actual es impar,

      1. multiplicar actual a producto para actualizar producto

    4. Actualizar actual con el siguiente número.

  6. Muestra el valor de suma.

  7. Muestra el valor de producto.

Este algoritmo empieza por una estructura secuencial. La estructura está formada por las líneas 1-4. En Processing esta estructura se traduce en un secuencias de instrucciones de declaraciones del tipo de dato de un serie de variables y su correspondiente instrucción de asignación.

En la línea 5 tenemos una estructura repetitiva. Repite las líneas a-d una y otra vez mientras que actual sea menor o igual que m. La estructura repetitiva contiene a su vez a 4 estructuras: Una secuencial (formada por la línea a), dos estructuras condicionales (las líneas b y c) y una secuencial (la formada por la línea d). A su vez cada una de las estructuras condicionales contiene una estructura secuencial formada por una única instrucción: líneas b.i para hacer una suma y c.i para realizar un producto.

El algoritmo finaliza con otra estructura secuencial formada por dos líneas. En Processing estas estructura se traduce en dos instrucciones println().

Cuando una estructura está en el "interior" de otra estrcutura se dice que está anidada.

3. Repaso

  • Existen muchos tipos de paradigmas de programación.

  • El paradigma imperativo se basa en una secuencia de instrucciones.

  • El paradigma modular se basa en la construcción de funciones del programador.

  • El paradigma estructurado se basa en diseñar los algoritmos utilizando únicamente 3 estructuras básicas, llamadas estructuras de control.

  • Tu objetivo es realizar programación estructurada y modular.

Programación Estructurada (2024)
Top Articles
Latest Posts
Article information

Author: Dean Jakubowski Ret

Last Updated:

Views: 5834

Rating: 5 / 5 (70 voted)

Reviews: 85% of readers found this page helpful

Author information

Name: Dean Jakubowski Ret

Birthday: 1996-05-10

Address: Apt. 425 4346 Santiago Islands, Shariside, AK 38830-1874

Phone: +96313309894162

Job: Legacy Sales Designer

Hobby: Baseball, Wood carving, Candle making, Jigsaw puzzles, Lacemaking, Parkour, Drawing

Introduction: My name is Dean Jakubowski Ret, I am a enthusiastic, friendly, homely, handsome, zealous, brainy, elegant person who loves writing and wants to share my knowledge and understanding with you.