ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Algoritmo Iterativo

choquetigre119 de Octubre de 2013

580 Palabras (3 Páginas)469 Visitas

Página 1 de 3

Algoritmo iterativo

Saltar a: navegación, búsqueda

Los algoritmos iterativos son algoritmos que se caracterizan por ejecutarse mediante ciclos. Estos algoritmos son muy útiles al momento de realizar tareas repetitivas (como recorrer un arreglo de datos). Casi todos los lenguajes de programación modernos tienen palabras reservadas para la realización de iteraciones.

La opción al uso de algoritmos iterativos es el uso de la recursividad en funciones. Estas implican una escritura más sencilla (corta), tanto para su implementación como para su entendimiento, pero en contraparte, utilizan mucho más recursos de sistema que una iteración debido a que necesitan, además del uso del procesador, la pila del sistema para "apilar" los diversos ámbitos de cada función.

Ejemplo de uso de un algoritmo iterativo en C

#include <stdio.h>

int main(int argc, char** argcv)

{

for(int i = 1; i <= 10; i++) {

printf("¡Esta es la vez %d que hago esto!\n", i);

}

return 0;

}

Ejemplo de uso de un algoritmo iterativo en Pascal

Program Itera;

var

i: Integer;

Begin

for i:= 1 to 10 do

writeln('¡Esta es la vez ',i,' que hago esto!');

End.

La palabra iteración significa repetición, reiteración; por tanto, en este apartado vamos a estudiar las estructuras que implican repetir o iterar un fragmento de código y las sentencias que se definen en lenguaje C para ello.

Aunque aún no hayamos hablado de este tipo de estructuras, su necesidad resulta casi evidente en múltiples algoritmos. De hecho son las estructuras más importantes en los lenguajes imperativos, como el lenguaje C que estamos estudiando.

Imaginemos por ejemplo que queremos saber si un número natural n es primo. La solución de esta pregunta, según la definición de número primo, implica comprobar si la división de n por los números menores que él, es exacta o no (es decir, si el resto del cociente es cero o no). Por tanto, el código que resolvería esta pregunta implica la necesidad de una estructura iterativa o reiterativa que vaya repitiendo la división desde 2 hasta n-1. Si se quiere refinar el algoritmo para evitar divisiones innecesarias, en realidad sólo sería necesario comprobar el resto de la división por 2 y por los números impares desde 3 hasta el número impar inmediatamente inferior que la raíz cuadrada de n. Aún más fino, sería tener una lista de números primos menores que la raíz cuadrada de n, y comprobar solamente los cocientes entre n y tales números primos.

Otros casos que nos exigen disponer de estructuras iterativas son, por ejemplo aquellos donde un problema matemático se resuelve repitiendo una misma operación. En general, tal es el caso de las expresiones matemáticas que se escriben con un sumatorio. Así, el cálculo de la media aritmética de un conjunto de números puede resolverse almacenando la suma de los números en alguna variable, y finalmente dividir por la cantidad de números que componen la lista:

Fórmula en MathML: La media de equis es igual a uno partido de ene por el sumatorio desde i igual a uno hasta i igual a ene de equis sub i

Otro ejemplo más sofisticado puede ser calcular el valor aproximado de la integral de cierta función f(x) entre dos límites a y b. Para ello, podemos usar la semejanza con la superficie formada por rectángulos que quedan por debajo de la función. Entonces, se puede iterar acumulando la suma de los pequeños rectángulos de altura f(x) y base Dx, desde a hasta b

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 2 páginas más »
Disponible sólo en Clubensayos.com