sábado, 22 de febrero de 2014

Herramientas de programación (3)

Este artículo es continuación de este.
En el último artículo vimos lo que eran los Diagramas de flujos de datos. Expliqué los principales símbolos y vimos un ejemplo de dfd. En este nuevo artículo hablaré de las otras dos herramientas que me quedan:
Pseudocódigo y Diagrama de N-S.

PseudoCódigo:
     El pseudocódigo es un lenguaje de descripción de algoritmos. Es el paso final antes de escribir el algoritmo en un lenguaje de programación. Se creó usando palabras reservadas similares a los lenguajes de programación en inglés y es un buen medio para interpretar las estructuras de control y bucles que se usan en la programación estructurada.
Esta herramienta separa la lógica del programa de los lenguajes de programación, de modo que una vez hecho el algoritmo en pseudocódigo es relativamente fácil portarlo a cualquier lenguaje. El pseudocódigo no puede ejecutarse en el ordenador. Es solo una herramienta que facilita el desarrollo del algoritmo en un lenguaje de programación. El pseudocódigo original utilizaba palabras muy parecidas a las que se utilizan en lenguajes de programación estructurada como C o Pascal, tales como start, end, if,while, do-while, break, continue etc, haciendo por tanto, el paso a estos lenguajes muy sencillo. En los últimos tiempos, la comunidad hispana a tenido un fuerte crecimiento, y en la actualidad, en las facultades y ciclos de grado superior se da el pseudocódigo con palabras en español: inicio, fin, parada, continue, si,mientras, hacer-mientras etc. Esto hace que los estudiantes de programación aprendan más rápido a desarrollar algoritmos y a entenderlos mejor sin necesidad de preocuparse de aprender las reglas de un lenguaje en concreto.

En próximos artículos mostraré como se hacen los algoritmos en pseudocódigo, veremos sus palabras claves y podremos probarlos gracias a un programa llamado PSeInt, del cual hablaré más detalladamente en otro artículo. 

La estructura de un programa en pseudocódigo tiene esta forma:
Inicio
     instrucción1
     instrucción2
     instrucción3
     instrucciónN
Fin

Como veis, cada instrucción del programa se escribe en una línea entre las palabras inicio y fin y se indentan las instrucciones para clarificar su lectura.

Básicamente, el pseudocódigo es una herramienta que se da en las universidades y ciclos de grado superior de informática de forma muy leve porque todos los conceptos fundamentales de programación (estructuras de control, bucles, variables, tipos de datos, funciones, listas, pilas etc) se enseñan directamente en un lenguaje de programación (normalmente C o C++).Supongo que porque el pseudocódigo no se puede probar en un ordenador directamente, es mejor que el estudiante vea las cosas desde el lenguaje de programación. Pero ahora los alumnos tienen a su disposición una herramienta muy útil que de hecho se está usando ya en muchas universidades y ciclos. Esta herramienta es un interprete de pseudocódigo, permite escribir el algoritmo usando un pseudocódigo en español, fácil de entender para cualquiera y probarlo en una terminal de consola (ventana DOS). Como ya dije, hablaré en otro artículo del programa y veremos todos los conceptos fundamentales desde él. 

Ahora veremos un ejemplo de un algoritmo en pseudocódigo:
Análisis del problema:
     Objetivo del  programa: Elaborar un programa que permita ordenar dos números enteros de mayor a menor usando pseudocódigo.
     Entrada que se necesita (fuente): Dos números enteros (fuente: el teclado)
     Proceso sobre la entrada: Comprobar los dos números, si el segundo es mayor que el primero, mostrarlos por pantalla en orden inverso. Si ya están ordenados al introducirlos por teclado, escribirlos en pantalla tal cual.
     Salida que se necesita: Escribir los dos números ordenados de mayor a menor.

El algoritmo en pseudocódigo quedaría de la siguiente forma:

Inicio OrdenarNumeros // Nombre del algoritmo 
     // Algoritmo que ordena dos números de mayor a menor
    
     //  Declaración de variables
     Definir num1 como Entero; // Variable que guarda el valor del primer número
     Definir num2 como Entero; // Variable que guarda el valor del segundo número
    
     // Lectura de datos por teclado
     Escribir "Introduzca el primer número que desee ordenar: ";
     Leer num1; // Leemos con el teclado el primer número y lo guardamos en la variable num1
     Escribir "Introduzca el segundo número:";
     Leer num2; // Leemos con el teclado el segundo número y lo guardamos en la variable num2

     // Ordenamos los números
     Si num1 < num2 entonces
          // Si el primer número es más pequeño hay que invertir el orden al mostrarlos
          Escribir "Los números ordenados de mayor a menor son: ", num2,num1;
     Sino 
          // Si ya están ordenados al introducirlos por teclado se muestran normal
          Escribir "Los números ordenados de mayor a menor son: ",num1,num2;
     FinSi
Fin

Aquí está el primer programa escrito en pseudocódigo, como veis es fácil de entender por cualquier persona. Utilizamos palabras clave como Escribir para indicar que vamos a mostrar texto en pantalla, leer para indicar que vamos a guardar un dato en memoria etc. (Ahora mimos no os preocupéis si no sabéis que es una variable ni otras partes porque es solo un ejemplo, luego veremos ya entrados en materia lo que es cada cosa y aprenderemos a hacer algoritmos en pseudocódigo más complejos.
De aquí podemos destacar varias cosas: 

  • Todo algoritmo en pseudocódigo tiene que empezar por inicio y acabar con fin.
  • Están en negrita las palabras clave que realizan acciones en el algoritmo (crear variables, escribir en pantalla, leer valores de teclado etc)
  • Las palabras escritas después de los símbolos // indican comentarios en programación (son aclaraciones para entender el código, el ordenador siempre las ignora.
  • Los bloques siempre se cierran (inicio-fin, Si-FinSi, Mientras-FinMientras. Todo esto lo veremos más detalladamente en otros artículos.)
  • Las líneas de código están indentadas para una fácil comprensión. Si os fijáis lo que hay en el bloque  está indentado para destacar que lo que viene después pertenece a ese bloque.

Por último veremos el Diagrama de N-S

Diagrama de N-S (Nassi-Schneiderman)
Este diagrama, también conocido como diagrama de chapin, es una mezcla entre pseudocódigo y el diagrama de flujo de datos. Consiste en escribir en cajas las instrucciones del programa pero eliminando las flechas de fujo de los dfds quedando por tanto así:

Aquí podéis ver también como se escribe en este tipo de diagramas una estructura de decisión Si-No (veremos todos los tipos de estructuras en un próximo artículo, por ahora no os preocupéis de eso). Este bloque lo que hace es que se evalúa una expresión, si se cumple se ejecutan las instrucciones del bloque Si, de lo contrario se ejecutan las del bloque No.

No hay comentarios:

Publicar un comentario