Вы находитесь на странице: 1из 4

Diseño del algoritmo[editar]

Un algoritmo consiste en una especificación clara y concisa de los pasos necesarios para
resolver un determinado problema, pero para poder diseñar algoritmos es necesario disponer
de una notación, que llamaremos ‘notación algorítmica’, que permita:

 Describir las operaciones puestas en juego (acciones, instrucciones, comandos,...)


 Describir los objetos manipulados por el algoritmo (datos/informaciones)
 Controlar la realización de las acciones descritas, indicando la forma en que estas se
organizan en el tiempo
Para poder describir cualquier tipo de acción de las que intervienen en un algoritmo, diversos
autores proponen el uso de un conjunto de construcciones lógicas (secuencia, decisión e
iteración) con las que es posible escribir cualquier programa. Lo que sigue a continuación es la
descripción de las diferentes construcciones disponibles para el diseño de algoritmos.

Acciones elementales[editar]
Se entiende por acciones elementales aquellas que el ordenador es capaz de realizar y que
serán de dos tipos:

 Aritmético – lógicas: Operaciones que, a partir de unos determinados datos, realizan un


cálculo aritmético (suma, resta, multiplicación,...) o un cálculo lógico (mayor que, menor
que, igual que,...).Las primeras devuelven un valor numérico (4, -5.67,...) y las segundas
un valor lógico (verdadero o falso).
 De entrada – salida: Acciones que permiten capturar datos para su posterior tratamiento
(las de entrada) y guardar los resultados de dicho tratamiento (las de salida).
Secuencia de acciones elementales[editar]
Cuando en un algoritmo se deben ejecutar varias acciones sucesivamente, éstas se describen
una detrás de otra según el orden en que deban ejecutarse. Si se desea se puede emplear
algún tipo de símbolo para separar dos acciones consecutivas. En el siguiente ejemplo se
muestra la descripción de acciones separadas por punto y coma (símbolo que habitualmente
se emplea como separador).

Acción 1;
Acción 2;
...
Acción n;

Composición condicional[editar]
Cuando en un algoritmo se quiere indicar que cierta acción solo se debe ejecutar bajo cierta
condición se indica del siguiente modo:

Si Condición Entonces
Acción;
FinSi
Solo si la Condición (operación lógica) es verdadera se ejecutará la Acción. En este caso,
la Acción puede referirse tanto a una acción elemental como a un conjunto de ellas.

Composición condicional doble (alternativa)[editar]


En ocasiones, se deben ejecutar unas acciones u otras dependiendo de la ocurrencia de una
determinada condición. Esta especificación se realiza del siguiente modo:

Si Condición Entonces
Acción A;
SiNo
Acción B;
FinSi

Dependiendo de si la Condición es verdadera o falsa se ejecutará la Acción A o la Acción


B respectivamente. De forma análoga a como ocurría en el caso anterior, tanto la Acción
Acomo la Acción B pueden referirse a una acción elemental o a un conjunto de ellas.

Composición condicional múltiple[editar]


También es posible que a la hora de especificar la ejecución de una acción haya que escoger
ésta entre varias dependiendo del valor de una determinada variable (o indicador). Este caso
se expresa del siguiente modo:

Según Indicador Hacer


Caso Valor 1:
Acción 1;
Caso Valor 2:
Acción 2;
...
Caso Valor n:
Acción n;
[De Otro Modo:
Acción X;]
FinSegun

En esta construcción Indicador debe tener un determinado valor que en caso de coincidir con
alguno de los n valores provocará la ejecución de la acción asociada a dicho valor. Si el valor
del Indicador no coincidiera con ninguno de los especificados se ejecutará la Acción X. No
tiene por qué haber una Acción X para cuando el Indicador' no coincida con ninguno de
los n valores; en ese caso, si el Indicador' no coincide con ningún valor no se ejecutaría
ninguna acción.
Al igual que en los casos anteriores, todas las acciones que aparecen en esta estructura
(Acción 1, Acción 2,..., Acción n y Acción X) pueden referirse a una única acción o a un
conjunto de ellas.

Composición iterativa o bucle[editar]


Cuando una acción o conjunto de acciones debe ejecutarse varias veces se recurre a una
estructura iterativa o bucle. En este tipo de estructuras se necesita una condición que
determine cuando terminan las iteraciones. Dependiendo de si esa condición se evalúa al
principio o al final de la estructura y de si la condición para que las iteraciones continúen debe
ser verdadera o falsa, se pueden definir cuatro construcciones iterativas distintas:

La condición de terminación ha La condición de terminación ha


de ser FALSA de ser VERDADERA
(Estructura 1) (Estructura 2)
Condición al Mientras CondiciónHacer Hasta CondiciónHacer
principio de la
Acción; Acción;
estructura
FinMientras FinHasta

(Estructura 3) (Estructura 4)
Condición
Hacer Hacer
al final de
la Acción; Acción;
estructura
MientrasCondición; Hasta Condición;

Sobre las cuatro construcciones que se acaban de presentar cabe hacer las siguientes
observaciones:

 Si en las estructuras 1 y 2, cuando se evalúa la ‘Condición’, ésta toma por primera vez un
valor tal que no permita ejecutar la ‘Acción’ (FALSO en la 1 y VERDADERO en la 2), ésta
no se ejecutará ninguna vez. Es decir, puede ocurrir que la ‘Acción’, en las estructuras 1 y
2, no se ejecute nunca.
 En las estructuras 3 y 4, al estar la ‘Condición’ de terminación al final, la ‘Acción’ se
ejecutará antes de que la condición se evalúe por primera vez, por lo que aunque la
‘Condición’ tome un valor tal que no se permita realizar más iteraciones, la ‘Acción’ se
ejecutará al menos una vez.
 Si las ‘Condiciones’ de las estructuras 1 y 2 son complementarias, es decir, que siempre
que una es verdadera la otra es falsa y viceversa (ejemplo: [a > b] y [a ≤ b] son
condiciones complementarias), entonces ambas estructuras son equivalentes ya que en
ambas la ‘Acción’ se ejecutará el mismo número de veces.
 De forma análoga, si las ‘Condiciones’ de las estructuras 3 y 4 son complementarias
también ambas estructuras serán equivalentes.
Existe una construcción especial para indicar una repetición de acciones que se suele emplear
cuando se quiere que dicha repetición se realice un número determinado de veces:

Para i = 1 Hasta n Hacer


Acción;
FinPara

En este caso la ‘Acción’ se repetirá n veces e ‘i’ será una variable que tomará todos los
valores entre 1 y n (ambos inclusive) en cada una de las sucesivas repeticiones. Esta
construcción, aunque de apariencia diferente a las anteriores, se podría expresar como un
caso particular de la estructura 1 del siguiente modo:
i = 1;
Mientras i <= n Hacer
Acción;
i = i + 1;
FinMientras

En este caso la condición de finalización del bucle es que la variable ‘i’ sea mayor que ‘n’ y
siempre, al finalizar la ejecución de la ‘Acción’, ‘i’ se incrementa en una unidad antes de volver
a evaluar la ‘Condición’ para el nuevo valor de ‘i’.

Вам также может понравиться