Programación estructurada: instrucciones básicas y ejemplos de código

Documento de Universidad sobre Programación Estructurada. El Pdf, de Informática, explica cómo escribir programas claros y fáciles de mantener, presentando instrucciones de secuencia, selección e iteración, junto con ejemplos de código y la distinción entre variables globales y locales.

Ver más

56 páginas

3 PROGRAMACIÓN ESTRUCTURADA
Programación - A
41
La programación estructurada es un procedimiento que
consiste en diseñar e implementar programas de forma
clara y sencilla para que puedan ser mantenidos con fa-
cilidad.
La idea de la programación estructurada fue expuesta por
E.W. Dijkstra en 1965 y su base teórica se apoyó en los
trabajos de Böhm y Jacopini.
El estudio concluyó que, con la combinación de tres tipos
de instrucciones, podemos crear un programa estructurado:
Secuencia de instrucciones
Selección de instrucciones
Iteración o bucle de instrucciones
BUSCA EN LA WEB
Si quieres conocer más sobre
Edsger W. Dijkstra, visita esta
web sobre el científico:
https://dialnet.unirioja.es/
descarga/articulo/3402333.
pdf
BUSCA EN LA WEB
Para saber más sobre los
trabajos de Böhm y Jacopini,
puedes visitar esta web:
https://dl.acm.org/doi/
pdf/10.1145/355592.365646
x y
x
y
condición
verdadero
falso
x
condición
verdadero
iteración
falso

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Programación Estructurada

La programación estructurada es un procedimiento que consiste en diseñar e implementar programas de forma clara y sencilla para que puedan ser mantenidos con fa- cilidad.

La idea de la programación estructurada fue expuesta por E.W. Dijkstra en 1965 y su base teórica se apoyó en los trabajos de Böhm y Jacopini.

El estudio concluyó que, con la combinación de tres tipos de instrucciones, podemos crear un programa estructurado:

Busca en la Web: Edsger W. Dijkstra

Si quieres conocer más sobre Edsger W. Dijkstra, visita esta web sobre el científico: https://dialnet.unirioja.es/ descarga/articulo/3402333. pdf

Tipos de Instrucciones para Programas Estructurados

Secuencia de instrucciones x y Selección de instrucciones x verdadero condición falso y Iteración o bucle de instrucciones x verdadero falso condición iteración

Busca en la Web: Trabajos de Böhm y Jacopini

Para saber más sobre los trabajos de Böhm y Jacopini, puedes visitar esta web: https://dl.acm.org/doi/ pdf/10.1145/355592.365646 R

Fundamentos de Programación

Los fundamentos de la programación se basan en un conjunto de técnicas que persiguen desarrollar algo- ritmos que sean sencillos de escribir, leer, modificar y testear.

El orden en que se ejecutan las sentencias de un programa es secuencial. Este flujo significa que las sentencias se eje- cutan en secuencia, una después de otra, y en el orden en que se encuentran dentro del programa.

Teorema de Böhm y Jacopini

Un programa debe de cumplir las siguientes características:

  • Debe tener un único punto de entrada y uno de salida.
  • Toda acción del algoritmo debe ser accesible. Tiene que haber al menos un camino que va desde el inicio hasta el fin del algoritmo.
  • No deben existir, por tanto, bucles infinitos.

El programa se encarga de transformar la entrada en salida: ENTRADA PROGRAMA SALIDA

Por lo tanto, la programación es un proceso de desarrollo que nos ayuda a resolver un determinado problema.

Ponte a Prueba: Tipos de Instrucciones

Dijkstra concluyó que la combi- nación de varios tipos de instruc- ciones, podemos crear un programa estructurado. ¿ Cuáles son?

  1. Secuencia de instrucciones.
  2. Selección de instrucciones.
  3. Iteración de instrucciones.
  4. Todas las opciones son correctas.

Ponte a Prueba: Características de un Programa

Según Böhm y Jacopini, ¿cuál de las siguientes opciones sobre un programa es cierta?

  1. Tiene un único punto de entrada y uno de salida.
  2. Toda acción del algoritmo debe ser accesible.
  3. No deben existir bucles infinitos.
  4. Todas las respuestas son correctas.

Introducción a la Algoritmia y Herramientas de Diseño

Un algoritmo es una secuencia de los pasos y las distintas operaciones que debe realizar el programa para conseguir resolver un problema planteado.

En cambio, la algoritmia es un conjunto ordenado y finito de operaciones que permite encontrar la solución a un pro- blema cualquiera.

La algoritmia utiliza un conjunto de herramientas lógicas, matemáticas e informáticas con el objetivo de diseñar y presentar un algoritmo. Anteriormente, ya hemos hablado de dos herramientas para la construcción de algoritmos: el pseudocódigo y los diagramas de flujo. Este conjunto de herramientas es utilizado en las etapas de Ingeniería del Software que veremos a continuación.

Ciclo de Vida de un Proyecto Software

La imagen representa el ciclo de vida de un programa informático, de manera que las flechas indican el orden de realización de cada etapa.

Análisis Diseño Implementación Pruebas Mantenimiento

Etapas del Ciclo de Vida del Software

  • Análisis de requisitos: a partir de las necesidades del usuario o del programa planteado, se decide qué es lo que hay que hacer para llegar a conseguir una solución óptima, y se genera un documento de requisitos. Se trata de la etapa más importante del ciclo de vida. Existen varias técnicas para obtener los requisitos del usuario:
    • Entrevistas
    • Brainstrorming
    • Prototipos
    • Casos de uso
    • JAD (entrevistas en grupos o talleres)
  • Diseño de la arquitectura: se hace un estudio para ver los distintos componentes que van a formar parte de nuestro programa (módulos, subsistemas, etc.) y se ge- nera un documento de diseño. Esta fase se va a revisar todas las veces que sea necesario hasta que estemos se- guros de cuál va a ser la mejor solución.
    • Diseño estructurado: tenemos varias notaciones como los diagramas de flujo o el pseudocódigo.
    • Diseño orientado a objetos: trabajaremos con repre- sentaciones en UML (diagramas de clases, diagramas de secuencia, etc.).
  • Etapa de implementación o codificación: en esta eta- pa vamos a pasar a codificar las aplicaciones que hemos elegido en la etapa anterior, empleando el lenguaje de programación con el que estemos trabajando. El resulta- do que vamos a obtener va a ser el código fuente.
  • Pruebas de integración: hay que realizar ensayos del funcionamiento, combinando todos los módulos de la aplicación. Así, haciendo funcionar la aplicación comple- ta, comprobamos que cumple lo establecido en el diseño.
  • Pruebas de validación: el último paso de la integración se basa en realizar nuevas pruebas de la aplicación en su conjunto. El objetivo es cerciorarse de que se cumple lo establecido en el documento de requisitos y que cubre las necesidades de los usuarios que ya habíamos previsto.
  • Fase de mantenimiento: revisar todo el proceso anterior e ir actualizando o modificando los cambios oportunos en las etapas anteriores.

Ponte a Prueba: Etapa de Diseño

En la etapa de diseño, tomamos los requi- sitos de los clientes.

  1. Verdadero
  2. Falso

Ponte a Prueba: Fase Posterior a Pruebas

Después de la fase de pruebas, ¿qué etapa se lleva a cabo?

  1. Análisis
  2. Implementación
  3. Mantenimiento
  4. Ninguna de las opciones es correcta

Prueba de Programas

Una vez implementado y compilado el código de nuestro algoritmo, debemos ponerlo en marcha y comenzar la etapa de testing, plan de prueba o prueba de programa.

En ella, se prueba un programa para demostrar la existencia de defectos: algorítmicos, de sintaxis, de documentación, de sobrecarga, de capacidad, de rendimiento, de sincro- nización, de recuperación, de hardware y software y de estándares.

Este proceso de prueba del programa se lleva a cabo de manera automática o manual y persigue los siguientes objetivos:

  • Comprobar los requisitos funcionales y no funcionales del programa.
  • Probar todo tipo de casos para detectar alguna anomalía en su ejecución.

Técnicas de Pruebas

Tenemos dos tipos de técnicas de pruebas:

  • Pruebas de caja blanca: donde se valida la estructura del sistema.
  • Pruebas de caja negra: donde se analizan las entradas y salidas del sistema sin tener en cuenta el funcionamiento interno.

CAJA BLANCA Entrada(s) Salida(s) CAJA NEGRA Entrada(s) Salida(s)

El plan de prueba consta de varias etapas, ya que, después de implementar el código, si existiera algún tipo de fallo en el programa, tendríamos que volver a empezar con el nuevo código modificado.

Tipos de Datos: Simples y Compuestos

C# es un lenguaje de programación en el que cada variable, constante, atributo o valor que devuelve una función se en- cuentra establecido en un rango de elementos ya definidos.

Podemos diferenciar entre:

Tipos Simples

A la hora de seleccionar un determinado tipo, debemos considerar el rango de valores que puede tomar, las ope- raciones a realizar y el espacio necesario para almacenar datos.

Debemos tener en cuenta que el tipo de datos simple no está compuesto por otros tipos, y que contiene un valor único.

  • Tipos simples predefinidos: entre sus propiedades más importantes podemos destacar que son indivisibles, tie- nen existencia propia y permiten operadores relacionales.

Se utilizan sin necesidad de ser definidos previamente:

  • Natural: números naturales (N): byte, uint, ushort, ulong.
  • Entero: números enteros (Z): sbyte, int, long, short.
  • Real: números reales (R): decimal, float, double.
  • Carácter: caracteres (C): char.
  • Lógico: booleanos (B): bool.
  • Tipos simples definidos por el usuario
    • Tipos enumerados: es un tipo de valor definido por el usuario, así como un conjunto de constantes. Para defi- nir un tipo de enumeración, utilizamos la palabra clave enum y especificamos los nombres de componentes de la enumeración: public class EnumTest { enum dias {Domingo, Lunes, Martes, Miercoles, Jueves, Viernes, Sabado } ; static void Main () { int x = (int) dias. Domingo; int y = (int) dias. Viernes; Console. WriteLine («Domingo = {0}», x) ; Console. WriteLine («viernes = {0}», y) ; } } / * Salida: Domingo = 0 Viernes = 5 * /

Tipos Compuestos o Estructurados

Se crean mediante la unión de varios tipos (simples o com- puestos).

  • Vectores: estructura donde almacenamos varias varia- bles del mismo tipo. Se puede declarar una matriz si se especifica el tipo de sus elementos. También son llama- dos array unidimensional, es decir, de una dimensión. Con esto, nos damos cuenta de la cantidad de indica- dores de posición que necesitamos para acceder a un elemento de la tabla. Sintaxis: <tipo> [] <nombre> = new <tipo> [<tamaño>] ; Por ejemplo: int [] v = new int [10] ; int [ ] array1 = new int [ ] { 1, 3, 5, 7, 9, 11, 13, 15, 17, 19 } ; int [] array2 = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; Con el anterior código, estamos declarando 10 números enteros en un vector al que hemos llamado v. A continuación, veremos la manera de acceder a cada uno de ellos. Cabe recordar que la primera posición de todo v[0] > Primer número entero del vector. v[1] > Segundo número entero del vector. v[2] > Tercer número entero del vector. v[3] > Cuarto número entero del vector. … v[9] -> Último número entero del vector Veamos el siguiente ejemplo: char [ ] miArray = { 'a' , 'b' , 'c' , 'd' , 'e' } ; for (int x=0; x<5; x++) { miArray [1]='z' ; } Console. WriteLine (miArray [1] ) ; / / Guardamos en la posición 1, el carácter z. Por lo que, por panta- lla, mostrará ese carácter en esa posición. Ahora el vector estaría formado por { 'a' , 'z' , 'c' , 'd' , 'e' }
  • Matrices: unión de varios vectores de cualquier tipo simple (enteros, reales, etcétera). También la podemos

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.