Herramienta de programación para solución de Problema Pseudocódigo y diagrama de flujo | EL Informático GO Sistemas

Herramienta de programación para solución de Problema Pseudocódigo y diagrama de flujo

 Para implementar la solución de un problema mediante el uso de una computadora es necesario establecer una serie de pasos que permitan resolver el problema, a este conjunto de pasos se le denomina algoritmo, el cual debe tener como característica final la posibilidad de transcribirlo fácilmente a un lenguaje de programación, para esto se utilizan herramientas de programación, las cuales son métodos que permiten la elaboración de algoritmos escritos en un lenguaje entendible.

Un algoritmo, aparte de tener como característica la facilidad para transcribirlo, debe ser:

1. Preciso. Debe indicar el orden en el cual debe realizarse cada uno de los pasos que conducen a la solución del problema. 

2. Definido. Esto implica que el resultado nunca debe cambiar bajo las mismas condiciones del problema, éste siempre debe ser el mismo.

3. Finito. No se debe caer en repeticiones de procesos de manera innecesaria; deberá terminar en algún momento.

Por consiguiente, el algoritmo es una serie de operaciones detalladas y no ambiguas para ejecutar paso a paso que conducen a la resolución de un problema, y se representan mediante una herramienta o técnica.1 O bien, es una forma de describir la solución de un problema planteado en forma adecuada y de manera genérica.

Además de esto, se debe considerar que el algoritmo, que posterior- mente se transformará en un programa de computadora, debe considerar las siguientes partes:

Una descripción de los datos que serán manipulados.

Una descripción de acciones que deben ser ejecutadas para manipular los datos.

Los resultados que se obtendrán por la manipulación de los datos.

Las herramientas o técnicas de programación que más se utilizan y que se emplearán para la representación de algoritmos a lo largo del libro son dos:

1. Pseudocódigo.

2. Diagramas de flujo.

Y alternativamente se presentarán soluciones de problemas donde se utilicen:

3. Diagramas Nassi-Schneiderman (N/S).

Identificadores

Antes de analizar cada una las herramientas que se utilizan en representación de algoritmos para la solución de problemas, se establecerá qué son los identificadores que se utilizan dentro de un algoritmo.

Los identificadores son los nombres que se les asignan a los objetos, los cuales se pueden considerar como variables o constantes, éstos inter- vienen en los procesos que se realizan para la solución de un problema, por consiguiente, es necesario establecer qué características tienen.

Para establecer los nombres de los identificadores se deben respetar ciertas reglas que establecen cada uno de los lenguajes de programación, para el caso que nos ocupa se establecen de forma indistinta según el pro- blema que se esté abordando, sin seguir regla alguna, generalmente se uti- lizará la letra, o las letras, con la que inicia el nombre de la variable que representa el objeto que se va a identificar.

Constante

Un identificador se clasifica como constante cuando el valor que se le asig- na a este identificador no cambia durante la ejecución o proceso de solu- ción del problema. Por ejemplo, en problemas donde se utiliza el valor de PI, si el lenguaje que se utiliza para codificar el programa y ejecutarlo en la computadora no lo tiene definido, entonces se puede establecer de forma constante estableciendo un identificador llamado PI y asignarle el valor correspondiente de la siguiente manera:

PI 3.1416.

De igual forma, se puede asignar valores constantes para otro identificadores según las necesidades del algoritmo que se esté diseñando.

Variables:

Los identificadores de tipo variable son todos aquellos objetos cuyo valor cambia durante la ejecución o proceso de solución del problema. Por ejem- plo, el sueldo, el pago, el descuento, etcétera, que se deben calcular con un algoritmo determinado, o en su caso, contar con el largo (L) y ancho (A) de un rectángulo que servirán para calcular y obtener su área. Como se puede ver, tanto L como A son variables que se proporcionan para que el algoritmo pueda funcionar, y no necesariamente se calculen dentro del proceso de solución.

Tipos de variables

Los elementos que cambian durante la solución de un problema se denominan variables, se clasifican dependiendo de lo que deben representar en el algoritmo, por lo cual pueden ser: de tipo entero, real y string o de cadena, sin embargo, existen otros tipos de variables que son permitidos con base en el lenguaje de programación que se utilice para crear los programas, por consiguiente, al momento de estudiar algún lenguaje de programación en especial se deben dar a conocer esas clasificaciones.

Para el caso de este libro, se denominará variables de tipo entero a todas aquellas cuyo valor no tenga valores decimales; contrario a las de tipo real, la cual podrá tomar valores con decimales. Como ejemplo de variables enteras se puede considerar el número de personas, días trabajados, edad de una persona, etcétera. Y para el caso de reales, se puede considerar el sueldo de una persona, el porcentaje de equis cantidad, etcétera.

En caso de que las variables tomen valores de caracteres, se desig- narán string o de cadena; como ejemplo de éstas se pueden mencionar el sexo de una persona, falso o verdadero, el nombre de una persona, el tipo de sangre, etcétera.

Pseudocódigo

Sin duda, en el mundo de la programación el pseudocódigo es una de las herramientas más conocidas para el diseño de solución de problemas por computadora. Esta herramienta permite pasar casi de manera directa la solución del problema a un lenguaje de programación específico. El pseudocódigo es una serie de pasos bien detallados y claros que conducen a la resolución de un problema.

La facilidad de pasar casi de forma directa el pseudocódigo a la computadora ha dado como resultado que muchos programadores implementen de forma directa los programas en la computadora, cosa que no es muy recomendable, sobre todo cuando no se tiene la suficiente experiencia para tal aventura, pues se podrían tener errores propios de la poca experiencia acumulada con la solución de diferentes problemas.

Por ejemplo, el pseudocódigo para determinar el volumen de una caja de dimensiones A, By C se puede establecer de la siguiente forma:

1. Inicio.

2. Leer las medidas A, B y C.

3. Realizar el producto de ABC y guardarlo en V

(V-A B C).

4. Escribir el resultado V.

5. Fin.

Como se puede ver, se establece de forma precisa la secuencia de los pasos por realizar, además, si se le proporciona siempre los mismos valores a las variables A, B y C, el resultado del volumen será el mismo y, por consiguiente, se cuenta con un final.

Diagramas de flujo

Los diagramas de flujo son una herramienta que permite representar visualmente qué operaciones se requieren y en qué secuencia se deben efectuar para solucionar un problema dado. Por consiguiente, un diagrama de flujo es la representación gráfica mediante símbolos especiales, de los pasos o procedimientos de manera secuencial y lógica que se deben realizar para solucionar un problema dado.

Los diagramas de flujo desempeñan un papel vital en la programación de un problema, ya que facilitan la comprensión de problemas complica- dos y sobre todo aquellos en que sus procesos son muy largos; general- mente, los diagramas de flujo se dibujan antes de comenzar a programar el código fuente, que se ingresará posteriormente a la computadora.

Los diagramas de flujo facilitan la comunicación entre los programa- dores y los usuarios, además de que permiten de una manera más rápida detectar los posibles errores de lógica que se presenten al implementar el algoritmo. En la tabla 1.1 se muestran algunos de los principales símbolos utilizados para construir un diagrama de flujo.

Dentro de los diagramas de flujo se pueden utilizar los símbolos que se presentan en la tabla 1.2, con los cuales se indican las operaciones que se efectuarán a los datos con el fin de producir un resultado.

Tabla1.1 Principales símbolos utilizados para contribuir los diagramas de flujos.


Por ejemplo, se puede establecer la solución del diagrama de flujo para determinar el volumen de una caja de dimensiones A, By C como se muestra en la figura 1.1.

Inicio
Leer las medidas A,B y C.
Calcular Volumen: Volumen= A*B*C
Escribir el volumen obtenido: Volumen
Fin
Figura 1.1 Diagrama de flujo para obtener el volumen de un cubo.

Y como se puede ver de manera gráfica, se establece de forma precisa la secuencia de los pasos por realizar para obtener el resultado del volumen. Como se puede verificar, son los mismos pasos que se establecieron en el algoritmo presentado previamente mediante el pseudocódigo.

Diagramas Nassi-Schneiderman N/S
El diagrama N-S es una técnica en la cual se combina la descripción textual que se utiliza en el pseudocódigo y la representación gráfica de los diagramas de flujo. Este tipo de técnica se presenta de una manera más compacta que las dos anteriores, contando con un conjunto de símbolos muy limitado para la representación de los pasos que se van a seguir por un algoritmo; por consiguiente, para remediar esta situación, se utilizan expresiones del lenguaje natural, sinónimos de las palabras propias de un lenguaje de programación (leer, hacer, escribir, repetir, etcétera).
Por ejemplo, se puede establecer la solución del diagrama N/S para determinar el volumen de una caja de dimensiones A, B y C como se muestra en la figura 1.2.
Como se puede ver de este ejemplo, los diagramas N/S son como los diagramas de flujo en el que se omiten las flechas de unión y las cajas son contiguas. Las acciones sucesivas se escriben dentro de las cajas sucesivas y, como en los diagramas de flujo, se pueden escribir diferentes acciones en una caja.


Inicio
Leer A, B, C
Hacer volumen = A* B* C
Escribir volumen
Fin

Figura 1.2 Diagrama N/S para obtener el volumen de un cubo.
Establecer cuál herramienta utilizar para representar los algoritmos diseñados para la solución de problemas estará en función del gusto y pre- ferencia del programador, y quizás no tanto en función de la complejidad de los problemas, ya que si bien es cierto que los diagramas N/S tienen pocos símbolos, presentan la ventaja de que por lo compacto que resul- tan sus representaciones suelen ser más fáciles de leer y de transcribir al lenguaje de programación que se utilizará, pero luego resulta complicado acomodar las acciones al construir el diagrama.
Los símbolos más utilizados en diagrama N/S corresponden a un tipo de estructura para la solución del problema, esas estructuras pueden ser: secuenciales de decisión y de ciclo. Estas estructuras de los diagramas N/S se presentan en la tabla 1.3.
A continuación, se muestran ejemplos sobre cómo utilizar las es- tructuras de los diagramas N/S, tal es el caso de la figura 1.3 que muestra un diagrama N/S con el algoritmo para obtener el área de un rectángulo, en el cual la solución tiene una estructura secuencial.

Inicio
Leer b, h
a = b * h
Escribir "area:", a
 Fin
Para una estructura de decisión se muestra la figura 1.4, en la cual se tiene la solución de un algoritmo para determinar cuál de dos cantidades es la mayor.-
Finalmente para una estructura de ciclo, el símbolo que se utiliza es como el que se muestra en la figura 1.5, en el cual están presentes una combinación de estructuras secuenciales con la de ciclo. En este diagrama se presenta la solución de la suma de diez cantidades cualesquiera.
Como se puede ver, dentro de estos símbolos se utilizan palabras reservadas como: Inicio, Fin, Leer, Escribir, Mientras, Repita, Hasta, Para, Incrementar, Decremento, Hacer Función, etcétera.
En algunos casos se acostumbra indicar el tipo de las variables que se utilizarán en el proceso, que para el caso de los diagramas de flujo y el pseudocódigo representa en la tabla de variables que se ha venido utili- zando (Entero, Real, Carácter o Cadena).
También es importante señalar que antes de presentar cualquier so- lución de un problema es necesario analizar el problema para entender qué es lo que se quiere obtener, con qué se cuenta y cómo se obtendrá lo desea- do. En otras palabras, cómo está conformado el sistema: entrada, proceso y salida. No establecer con claridad lo que se tiene puede traer consigo una solución totalmente errónea; para que esto quede más claro, considere el siguiente ejemplo. Se requiere un algoritmo para determinar el cambio que recibirá una persona que adquiere un producto en la tienda.
Posiblemente alguien piense que la solución de este problema re- quiere una gran cantidad de pasos probablemente demasiado complica- dos, o por el contrario, que es demasiado sencillo, que no tiene ninguna complejidad. La cuestión es: ¿quién puede tener la razón? La respuesta puede ser que los dos, todo dependerá de cómo se entienda su plantea- miento, si se plantea un razonamiento sencillo la solución puede ser la mostrada en la figura 1.6.
Ahora, si el mismo problema que se planteó se piensa en otros aspectos, de tal forma que para la solución se planteara algún cuestionamiento como: "¿Se debe considerar que el dinero alcanzó para comprar el arti- culo?”, la solución que se propondría ya no sería igual que la anterior, y podría plantearse de la forma como se muestra en la figura 1.7.
Como se puede ver, en ocasiones exponer la solución de un problema dado dependerá de cómo se considere su planteamiento, y también tendrá mucho que ver la forma en la que el diseñador lo conceptualice; debido a esto, es muy importante, cuando se realicen algoritmos para la solución de problemas prácticos, que se plantee de manera correcta lo que se quiere y se aclaren los puntos necesarios que permitan diseñar la solución más óptima, pues hay que recordar que un algoritmo es siempre perfectible.
Para los siguientes capítulos se propondrá la solución de problemas donde se utilicen para su representación principalmente pseudocódigo y diagramas de flujo, y en otros casos diagramas N/S.
Pero antes de pasar al planteamiento y solución de problemas, es necesario dejar bien claro que las soluciones planteadas en este texto no son únicas, y pueden ser mejoradas por los lectores.
Fin del capitulo----

 QR de este contenido:

Descargar esta imagen Aquí

Publicar un comentario

Tema Anterior Tema Siguiente