Академический Документы
Профессиональный Документы
Культура Документы
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:
Acciones elementales[editar]
Se entiende por acciones elementales aquellas que el ordenador es capaz de realizar y que
serán de dos tipos:
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.
Si Condición Entonces
Acción A;
SiNo
Acción B;
FinSi
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.
(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:
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’.