Pseudocódigo y diagramas de flujo

Cada caso de uso requiere seguir una serie de instrucciones que habrán de indicarse a la computadora. La computadora trabaja de forma secuencial, hace tareas muy sencillas a una gran velocidad, sin embargo, el programador deberá indicarle que tareas debe hacer.

Para ello, se hace uso de algoritmos que son secuencias (ordenadas) finitas de pasos para resolver un problema. Es similar a una receta de cocina o un manual para ensamblar un mueble. Para realizar una acción es necesario que ocurra algo antes, de lo contrario podríamos tener resultados sorpresivos que pudieron anticiparse con una buena planeación.

Dentro de la metodología de solución de problemas, partimos del diagrama de sistema:

diagrama

Para ello es necesario identificar las variables de entrada y los resultados esperados como salida del programa, y posteriormente hallar la forma de relacionar ambas partes a través de un procedimiento o algoritmo de solución. En algunos problemas, es necesario retroalimentar datos de la salida o realizar procesos repetitivos.

Para codificar los algoritmos podemos utilizar psudocódigos, que es una representación en lenguaje natural (una lengua como español o inglés) con cierta estructura de un lenguaje formal (como de computadora). Donde se utilizan verbos para representar acciones, se usan variables y se describen los pasos de forma secuencial.

Adicionalmente, se pueden utilizar representaciones gráficas para los verbos más comunes como leer (recuperar un dato del usuario), escribir (dar información al usuario), calcular información y asignar un valor a variables, comparar y, en consecuencia, brincar algunas instrucciones, repetir parte del código o llamar a algún subproceso. Los símbolos se representan con diagramas de flujo.

Haciendo una comparación entre los elementos de un “sistema”, en general, podemos tener las siguientes equivalencias para los pseudocódigos y diagramas de flujo:

diagrama

Observa con más detalle cómo utilizar cada símbolo:

Las instrucciones inician y terminan con el símbolo del cuadrado con esquinas redondeadas o un óvalo, ahí se escriben las leyendas “inicio” o “fin”. Entre estos dos símbolos se encuentra la ejecución de todo el programa.

Para conocer el orden de la secuencia, los símbolos, que representan a los pasos, se unen con una flecha que indica la precedencia de las sentencias o instrucciones.

diagrama

Pseudocódigo

inicio

// Aquí va el algoritmo

fin

Lectura o entrada de información

La forma como se le proporciona la información a los algoritmos es a través de la entrada de información; esta operación se hace comúnmente desde el teclado o consola.

Existen varios símbolos

Pseudocódigo

// Comentario de lo que se lee

Leer variable(s)

Aquí usaremos el símbolo de “tarjeta” que corresponde a un rectángulo con una muesca en el lado superior izquierdo. Algunos símbolos que suelen usarse son:

diagrama

Ejemplos:

La forma como se le proporciona la información a los algoritmos es a través de una operación que se hace comúnmente desde el teclado o consola.

El formato como aparecen las asignaciones es el siguiente:

Pseudocódigo

asignar variable expresión

Del lado izquierdo siempre va una variable, después una flecha hacia la izquierda y del lado derecho una expresión. En los Pseudocódigos y en los diagramas de flujo, las expresiones pueden ir codificadas en el lenguaje del dominio del problema, por ejemplo: matemático, fórmulas químicas, nomenclaturas de biblioteca, etc.; o bien, parecido al que se usaría en un lenguaje de programación. Aunque se prefiere como el primero, ya que será un medio de comunicación con el usuario que solicita el programa. El verbo “Asignar” suele omitirse, ya que el símbolo de asignación () es suficiente.

Ejemplos:

Llamadas a subprocesos

El símbolo de asignación también puede utilizarse para la llamada a un subproceso o para indicar una acción a realizar que puede ser muy compleja o que aún no se sabe cómo hacerse.

Pseudocódigo

// Comentario de lo que se lee

Llamar subproceso()

El verbo “Llamar” se puede omitir.

Por ejemplo, cuando se calcula la desviación estándar de una lista de números antes debe leerse la lista de números (no sólo un número), calcular el promedio y posteriormente calcular la desviación estándar. Se escribe el nombre del proceso y se ponen paréntesis al final. Si se necesita calcular información adicional, se envía a través de parámetros que aparecen en medio de los paréntesis, separados por comas.

Ejemplo:

diagrama

Inicio

leer N // número de datos

// llamadas a procedimientos:

leer lista de números (N, lista)

calcular promedio (promedio, N, lista)

calcular desviación estándar (desviación estándar, promedio, N, lista)

escribir desviación estándar

fin

Escritura o presentación de datos

La forma como se muestra la información es a través de su salida desde el sistema; esta operación se hace comúnmente desde el monitor o una impresora.

El formato como se muestra, se escribe o se da la salida de la información es el siguiente:

Pseudocódigo

escribir expresión

Por su facilidad de dibujo, usaremos el símbolo de “impresión” que corresponde a un rectángulo una onda en la parte inferior, simulando una hoja de papel de forma continua. Esta instrucción incluye adelante una expresión que puede conformarse con textos, valores de variables, constantes numéricas, fórmulas (que aparecerán en el resultado) o una combinación de todos ellos. Algunos símbolos que suelen usarse son:

diagrama

Ejemplos:

En ciertos puntos de ejecución de los programas, es necesario realizar la verificación de valores o expresiones que generan resultados booleanos: falso o verdadero. En función al resultado el flujo del programa puede avanzar, brincar una serie de instrucciones o regresar a un punto previo del algoritmo.

La representación de las sentencias de comparación es un rombo, en el interior se hace una pregunta que regresa un valor booleano y de esta forma se decidirá el flujo del programa. Normalmente, esto puede ocurrir en dos situaciones:

Necesita “brincar” instrucciones hacia adelante

diagrama

Necesita regresar a un punto previo del programa

diagrama

Recuerda que la computadora trabaja de forma secuencial, por ello se tomarán las siguientes convenciones:

  1. la llegada a la instrucción de evaluación es por la esquina superior;
  2. se preferirá continuar hacia abajo si la acción se efectúa en la mayoría de los casos o se presenta como la continuación natural de las sentencias;
  3. las bifurcaciones para avanzar o brincar a una sentencia posterior se manejarán por la esquina de la derecha; y
  4. las bifurcaciones para regresar saldrán por el lado izquierdo.

Pseudocódigo

si ( expresión booleana ) entonces

continuar secuencialmente

si no

brincar o regresar

En este material, se tomarán en cuenta las siguientes convenciones:

Esta sentencia es muy importante, y da origen a las sentencias condicionales y las estructuras de control cíclicas. No se abordarán en este punto y se pueden consultar en los materiales propuestos en los hipervínculos, al igual que la estructura de ciclo que se representa con un hexágono y que es una especialización de la sentencia condicional:

diagrama

Ejemplo:

Elaborar un algoritmo en diagrama de flujo y pseudocódigo para calcular el área de un triángulo:

Fase de un sistema Diagrama de flujo Pseudocódigo
diagrama inicio
Entrada diagrama leer base, altura
Proceso diagrama area base*altura/2
Salida diagrama escribir área
diagrama fin
Con los siguientes ejercicios verificarás si aprendiste el procedimiento para crear pseudocódigos y diagramas de flujo de algoritmos sencillos.
Escribir

Ejercicio 1. IMC

Escribe la respuesta correcta en los espacios en blanco para completar el pseudocódigo y calcular el índice de masa corporal $imc \leftarrow \tfrac{peso}{estatura^2}$ de una persona.

Diagrama de flujo Pseudocódigo
diagrama inicio
diagrama
leer peso, estatura
diagrama imc
imc peso/estatura^2
diagrama
escribir “el IMC es “, IMC
diagrama fin
Es necesario que escribas las respuestas para recibir retroalimentación.
Arrastrar

Ejercicio 2. Ecuación de segundo grado

Arrastra la respuesta correcta en los espacios en blanco para completar el pseudocódigo para calcular el índice de masa corporal (recuerda que $x_{1,2}= \leftarrow \tfrac{-b \pm \sqrt{b^2-4ac}}{2a}$ de una persona).

diagrama
diagrama
diagrama
Diagrama de flujo Pseudocódigo
diagrama inicio
leer a, b, c
$$x_{1,2}= \leftarrow \tfrac{-b \pm \sqrt{b^2-4ac}}{2a}$$ $$x_{1,2}= \leftarrow \tfrac{-b \pm \sqrt{b^2-4ac}}{2a}$$
escribir “la primera raíz es “, X1 escribir “la segunda raíz es “, X2
diagrama fin