Buscador
Operadores e identificadores en los diagramas de flujo - V
Como ejemplo integrador de los aspectos vistos hasta el momento, el siguiente caso muestra la
creación de un algoritmo algo más complejo y completo. El problema a desarrollar se basa en un
programa de venta de artículos; cada cliente puede comprar un número de artículos variable, por lo
que el usuario del programa debe ir introduciendo el precio de cada artículo. Una vez hecho esto, se
comprobará el precio del artículo, y si sobrepasa el importe de 30, se le aplicará un descuento del 2%.
En el caso de que el importe sea menor, se le otorgará al cliente un punto de bonificación sobre el
artículo para la próxima compra. Cuando se hayan procesado todos los artículos, deberemos obtener el
importe total de la compra y la cantidad de puntos de bonificación, finalizando de esta manera el
algoritmo. El diagrama de flujo correspondiente quedaría como muestra la Figura 17.
Operadores e identificadores en los diagramas de flujo - III
Figura 14. Diagrama de flujo con el algoritmo para calcular el importe de cartuchos de impresora.
Supongamos ahora, que en el anterior algoritmo hemos olvidado realizar el cálculo del impuesto a
aplicar sobre el importe de los cartuchos. Para solucionar este inconveniente realizaremos un proceso
de depuración sobre dicho algoritmo, obteniendo una nueva versión, representada en el diagrama de la
Figura 15.
Los algoritmos representados hasta el momento, se basan en un proceso simple de toma de datos,
cálculo de operaciones, y muestra de resultados. Pero una de las ventajas de la programación consiste
en la posibilidad de repetir, un número determinado de veces, un mismo proceso, dentro de una
estructura repetitiva denominada bucle.
Entre las operaciones a realizar dentro de una estructura repetitiva, podemos definir un identificador
que actúe como contador, y que controle el número de veces que llevamos ejecutada la estructura, para
saber en qué momento debemos finalizar su ejecución y seguir con el resto del proceso.
Otra particularidad relacionada con las estructuras repetitivas, consiste en acumular un valor en un
identificador, en cada paso o ejecución de la estructura. Para ello, debemos hacer algo tan sencillo
como poner dicho identificador o acumulador, además de en la parte izquierda de la asignación,
también en la parte derecha.
El algoritmo desarrollado a continuación, muestra un ejemplo de los elementos que acabamos de
mencionar. Vamos a definir un bucle controlado por un contador, que tiene un identificador con el
nombre Pasos, el cuál estaremos ejecutando mientras que dicho contador no sea 10. En cada paso del
bucle, el usuario debe introducir un dato que se depositará en el identificador Valor; dicho dato se
almacenará en el identificador Resultado, acumulándolo al valor que previamente hubiera en
Resultado. Cuando el contador haya alcanzado el valor adecuado, se finalizará la ejecución del bucle,
escribiendo el resultado del acumulador. Ver Figura 16.
Operadores e identificadores en los diagramas de flujo - II
El símbolo igual ( = ), además de para una comparación, se utiliza también para asignar el resultado de
una operación a un identificador, situando el identificador al que vamos a asignar el valor a la
izquierda del símbolo, y la operación a realizar en la derecha.
En el caso de necesitar representar una entrada o salida de datos, podemos usar las palabras Lectura y
Escritura, seguidas de los identificadores a los que se asignará, o de los que se obtendrá un valor.
En el siguiente ejemplo, representaremos un algoritmo mediante un diagrama de flujo, enfocado al
siguiente problema: calcular el importe de una factura emitida por una empresa de consumibles que
vende cartuchos de impresora. Cada cartucho tiene un precio de 12 euros, y el usuario debe de
introducir la cantidad de cartuchos vendidos, y calcular el total, mostrándolo al final. Este algoritmo nos servirá además para comprobar la representación de las entradas y salidas de información en un diagrama. Ver Figura 14.
introducir la cantidad de cartuchos vendidos, y calcular el total, mostrándolo al final. Este algoritmo nos servirá además para comprobar la representación de las entradas y salidas de información en un diagrama. Ver Figura 14.
Operadores e identificadores en los diagramas de flujo - I
Dentro de los elementos de un diagrama de flujo, es frecuente la necesidad de realizar operaciones
para obtener diversos resultados. En función de la acción o partícula de la acción a representar,
emplearemos un conjunto de símbolos en mayor o menor medida generalizados, de los cuales pasamos
a describir los más comunes.
Cuando necesitemos indicar una operación aritmética, emplearemos los siguientes símbolos:
• + Suma.
• - Resta.
• * Multiplicación.
• / División.
• \ División entera.
• ^ Potenciación.
Para establecer una comparación utilizaremos estos símbolos:
• > Mayor que.
• >= Mayor o igual que.
• < Menor que.
• <= Menor o igual que.
• = Igual que.
Al realizar una operación, el resultado necesitaremos guardarlo en algún sitio; para ello, disponemos
de los llamados identificadores, que son elementos que representan un valor utilizado a lo largo del
desarrollo del algoritmo. El valor contenido en un identificador puede variar según las operaciones que
realicemos con el mismo. A un identificador le daremos un nombre cualquiera, siendo recomendable
que guarde cierta relación con el valor que contiene. En el próximo ejemplo se utilizarán
identificadores, de forma que el lector pueda comprobar cómo se lleva a cabo su uso.
Diagramas de flujo - IV
Anteriormente hemos mencionado la depuración, como la técnica que nos permite corregir o mejorar
el proceso desarrollado por un algoritmo o programa; dicho sistema puede ser aplicado a este
algoritmo que acabamos de representar en forma de optimización. El anterior ejemplo sólo contempla
la posibilidad de una llave para abrir la puerta, pero normalmente suele ocurrir que tenemos varias
llaves, entre las que hemos de elegir la correcta. Teniendo este aspecto en cuenta, depuremos el
anterior algoritmo tal y como se muestra en la Figura 13, de manera que nos sirva para introducir de
paso un elemento de decisión.
Diagramas de flujo - III
• Complementarios.
o Teclado. Indica una acción de entrada de datos en el algoritmo. Ver Figura 9.
En el proceso de diseño de un diagrama de flujo, se indicarán las operaciones mediante el símbolo
correspondiente, introduciendo dentro del símbolo si es necesario, o este lo requiere, una nota con la
operación que va a realizarse.
Un algoritmo no sirve única y exclusivamente para ser aplicado en la resolución de problemas
informáticos, es posible emplear algoritmos para resolver los más variados tipos de problema, incluso
tareas simples.
Como ejemplo ilustrativo de esta situación, vamos a mostrar un diagrama con el algoritmo de un
problema tan natural como abrir una puerta con una llave. Ver Figura 12.
o Teclado. Indica una acción de entrada de datos en el algoritmo. Ver Figura 9.
Diagramas de flujo - I
Un diagrama de flujo consiste en una representación gráfica, basada en símbolos, de los pasos que
debe realizar un algoritmo. Estos símbolos pueden clasificarse, de mayor a menor importancia, en:
Básicos.
Básicos.
Algoritmos - II
Observemos cómo los datos de entrada serían el CD a reproducir; el proceso estaría representado por
los pasos dados con el reproductor para ponerlo en funcionamiento; mientras que la salida sería la
música reproducida que escucharíamos.
Cuando finalicemos la escritura de un algoritmo, es muy conveniente realizar una ejecución de prueba
para el mismo, empleando datos reales para comprobar que el resultado es el adecuado. En el caso de
que obtengamos resultados no esperados, o bien, consideremos que es posible optimizar el proceso de
ejecución del algoritmo, modificaremos las partes que consideremos necesarias para mejorarlo; este
proceso se denomina depuración o refinamiento.
Tomando este concepto de depuración, y aplicándolo al anterior algoritmo para escuchar un CD,
podríamos refinar el proceso añadiendo los elementos adicionales que se muestran en el Código fuente
3.
2. Tomar un CD
3. Pulsar el botón de encendido del reproductor
4. Abrir la bandeja del reproductor
5. Introducir el CD en la bandeja
6. Cerrar la bandeja
7. Ajustar el volumen
8. Pulsar el botón de comienzo
9. Escuchar la música
10. Fin
Código fuente 3
De esta manera tenemos en cuenta otros factores como el hecho de que el reproductor pueda estar apagado o el volumen de reproducción no sea el adecuado. Una vez que hemos realizado el análisis del algoritmo, necesitamos un elemento que nos permita representarlo. Si bien no existe una técnica única para la representación de algoritmos, disponemos de algunas que, dadas sus características, nos facilitan dicha tarea, por lo que son mayormente utilizadas. Entre los medios para la creación de algoritmos, tenemos los diagramas de flujo, el pseudocódigo, y los diagramas Nassi-Schneiderman.
Algoritmos - I
Un algoritmo se puede definir como el conjunto de acciones a realizar para resolver un determinado
problema.
El modo de afrontar la creación de un algoritmo, pasa por descomponer el problema planteado en
problemas más pequeños y fáciles de resolver independientemente. Una vez resueltos los problemas
independientes, se unirán todos, obteniendo de esta forma el correspondiente algoritmo.
El proceso indicado por un algoritmo debe ser claro y tener sus pasos bien definidos, de forma que si
realizamos dicho proceso varias veces, empleando siempre los mismos valores en el algoritmo,
deberemos obtener el mismo resultado. De igual forma, en un algoritmo deben distinguirse las
siguientes fases: entrada, proceso y salida.
Para comenzar a familiarizarnos con el diseño y escritura de algoritmos tomemos el siguiente ejemplo:
desarrollar el algoritmo para escuchar un CD de música. El Código fuente 2 muestra los pasos a seguir
para confeccionar este algoritmo.
2. Tomar un CD
3. Introducirlo en el reproductor
4. Pulsar el botón de comienzo
5. Escuchar la música
6. Fin
Código fuente 2
Análisis del problema
Esta etapa consiste en investigar el problema a resolver, y desarrollar los procesos necesarios para ello.
Tras estudiar el problema, deberemos diseñar un algoritmo que lo solvente satisfactoriamente, y
realizar diversas comprobaciones para verificar su correcto funcionamiento.
Los siguientes apartados describen los principales puntos a desarrollar durante la fase de análisis
Suscribirse a:
Entradas (Atom)