Sei sulla pagina 1di 7

El bucle for es una estructura de control en programación en la que se

puede indicar de antemano el número mínimo de iteraciones.[1] Está


disponible en casi todos los lenguajes de programación imperativos.
Índice

Elementos del bucleEditar


'Variable de control': prácticamente un mandato
impuesto por el uso habitual es utilizar la letra i Iterador como variable
de control, o bien sus sucesoras en caso de bucles anidados. El uso de
esta letra críptica quizás a primera vista es sin embargo una excelente
forma de aportar agilidad de lectura al código por su uso tan extensivo.
Como raras veces los bucles anidados superan las tres dimensiones (por
una sencilla cuestión de explosión exponencial), las letras i, j y k suelen
ser las únicas relacionadas con este uso. En C se define en el primer
parámetro de la instrucción junto con la inicialización (opcional).

 Inicialización de la variable de control: en pseudolenguaje se


pide explicitarlo (es la sección := ValorInicial), sin embargo, otros
lenguajes más permisivos como C no lo requieren de forma
obligatoria. De todos modos, la práctica de utilizar variables de
control que no se inicializan en el bucle no es recomendada para la
legibilidad del código. En C se define en el primer parámetro del
bucle junto con la variable de control.

 Condición de control: en pseudolenguaje se ve representado por


el valor final que puede tomar la variable de control (la sección A
ValorFinal). En C es el segundo parámetro y puede ser cualquier
condición (ni siquiera es obligación que esté la variable de control,
aunque una vez más, esto no se considera una buena práctica).

 Incremento: en pseudolenguaje se toma por defecto el valor 1,


aunque puede explicitarse por medio de la sentencia PASO = ValorPaso
cualquier número entero (léase bien entero, o sea que técnicamente
podemos decrementar). En C es el último parámetro.

 Cuerpo: es lo que se hará en cada iteración, pueden ser una o


más instrucciones. En pseudolenguaje pesa la restricción de no poder
alterar el valor de la variable de control; esto no es requerido en C, pero
no se considera una buena práctica.

UsosEditar
Su uso principal se orienta a los vectores, pudiendo modificar, agregar,
eliminar o consultar datos que se encuentren según el índice. Por esto
último, una condición mínima del vector es que debe ser ordenado,
porque si se intenta leer un dato inexistente, esto genera un error de
programación. es una herramienta
For en PseudolenguajeEditar
La principal diferencia de un bucle PARA con respecto a los bucles
MIENTRAS Y REPETIR, es que puede determinarse al comienzo del bucle
cuántas veces se interará el mismo, lo cual muchas veces puede
redundar en una optimización del código por parte de los compiladores.
Los condicionales constituyen junto con los bucles los pilares de
la programación estructurada, y su uso es una evolución de una
sentencia de lenguaje ensamblador que ejecutaba la siguiente línea o no
en función del valor de una condición.
El bucle PARA se ha convertido en el bucle más ampliamente utilizado
en la programación, ya que con la evolución de los lenguajes la mayoría
de las condiciones de fin

MIENTRAS NoFinDeTabla(tabla) HACER


PróximoRegistro(tabla)
HacerAlgo(ElementoActual(tabla))
FIN MIENTRAS

Es lo mismo decir:

PARA i=0 a CantidadRegistros(tabla) - 1, PASO = 1


PróximoRegistro(tabla)
HacerAlgo(ElementoActual(tabla))
FIN PARA

Otro uso común es utilizar los bucles PARA para recorrer vectores de dos
o más dimensiones, en cuyo caso se anidan estas iteraciones.

PSEUDOLENGUAJE

Vector a[3][4][2]. // Estamos indicando un vector de 3


dimensiones y 24 elementos en total.
PARA i:= 0 A 2 HACER
PARA j:= 0 A 3 HACER
PARA k:= 0 A 1 HACER
HacerAlgo(a[i][j][k])
FIN PARA
FIN PARA
FIN PARA
Ejemplo de PARA en pseudocódigoEditar
PARA VariableControl := ValorInicial A ValorFinal, PASO =
Incremento
Cuerpo
FIN PARA

donde VariableControl, ValorInicial, ValorFinal y Paso son enteros. La(s)


instrucción(es) del cuerpo se ejecutará(n) (ValorFinal - ValorInicial + 1)
veces, o sea que va desde ValorInicial a ValorFinal inclusive.
Ejemplo en C++Editar
1. #include <iostream>
2. #include <conio.h>
3. using namespace std;

int main() {

int vector[10];
for(int i=0; i<10; i++){
vector[i] = i;
cout<< i<<endl;
}
system ("PAUSE");
return 0;

En la definición del for, tenemos que la variable de control i se inicializa


en un valor 0, luego se entrega la condición de control que debe ser
falsa durante su ejecución, para completar el ciclo; y por último,
tenemos el incrementador en una unidad.
Si por ejemplo en la condición colocamos i < 11, entonces el ciclo for se
ejecutará desde [0...10], lo cual, al intentar acceder al elemento
vector[10], esto generará error, ya que el vector (por definición) va
desde [0..(n-1)].

Cualquiera de los componentes en el paréntesis se puede omitir, pero


los separadores punto y coma deben aparecer siempre. El resultado es
un bucle infinito.

Ejemplo anterior escrito en LexicoEditar


tarea
{
los objetos vector[10], i son cantidades
variando i desde 0 hasta 9 haga
copie i en vector[i]
}

Bucle Por Cada (For Each)Editar


Este bucle es una evolución del concepto del bucle Para en algunos
lenguajes. Se utiliza para recorrer estructuras repetitivas de datos de
forma más simple y ágil. El bucle For Each puede describirse
genéricamente (en pseudolenguaje) de la siguiente manera:

POR CADA elemento DE tipo EN conjunto HACER


Cuerpo
FIN FOR EACH

 Elemento: es el nombre de la variable u objeto que toma el


elemento iterado en el cuerpo del bucle.
 Tipo de Dato: es el tipo de variable o la clase a la que pertenece
el objeto que se quiere iterar.
 Conjunto: es la estructura de datos que se quiere iterar. El uso
más típico es con vectores o -en programación orientada a objetos-
clases del tipo Colección.
 Cuerpo: es lo que se hará en cada iteración, pueden ser una o
más instrucciones. Si bien no se impone una obligación al respecto, lo
más común es que en este Cuerpo exista alguna operación sobre el
elemento iterado.

Necesidad de una nueva estructura de controlEditar


Esta estructura surge como una innovación en los lenguajes para
permitir un código más ágil y legible en una situación que es una de las
principales causas del uso del bucle PARA: aplicar la misma operación
sobre todos los elementos de un vector, y no necesitar conocer la
posición del elemento en el vector. Esta estructura con el bucle PARA se
resuelve de la siguiente manera:

Con el bucle POR CADA esto se reduce a:

POR CADA x DE tipo EN Vector HACER


x = AlgunaOperación(x)
FIN PARA

Las ventajas de utilizar la estructura POR CADA son las siguientes:

1. No es necesario llamar a una función que obtenga el tamaño del


vector
2. No es necesario utilizar la incómoda notación de sub-índices para
referirnos al valor en cuestión, sobre todo teniendo en cuenta que si
utilizamos esta estructura es porque no necesitamos el valor del índice.
3. Nos permite hacer un chequeo en tiempo de compilación sobre el
tipo de dato que representa el elemento.

El bucle POR CADAo no es un sustituto del PARA, es una mejora para el


muy frecuente caso anteriormente mencionado. La diferencia esencial
entre el bucle PARA y el POR CADA es que en el primero guía su
iteración por una variable que se incrementa hasta cierto punto de
corte; en cambio en el segundo lo que guía la iteración es el recorrido de
todos los elementos de un vector. Ciertamente podemos transformar
cualquier POR CADA en un PARA, pero transformar un bucle PARA en un
bucle POR CADA requeriría inicializar y controlar manualmente las
variables de control, con lo cual se perdería nuevamente legibilidad en
el código. Por tanto, cuando en un lenguaje se nos da la posibilidad de
utilizar ambas estructuras, la elección del POR CADA debe hacerse en
aquellos casos para los que fue pensado: aplicar la misma operación a
todos los elementos de un vector sin importar el orden en que se hagan;
si bien no es necesario que la variable elemento sea utilizada en el
cuerpo del bucle, su ausencia denota con seguridad una mala elección
de estructura de control.

¿Cómo funcionan las condiciones If/else?

Las condiciones If/else permiten segmentar sus contactos en un escenario. La condición


if/else es una etapa que depende de la validez (o invalidez) de una condición relativa a un
atributo de sus contactos o a un evento personalizado. Por lo tanto, su escenario se dividirá en
2 ramas: "Yes" si el contacto cumple la condición y "No" si el contacto no la cumple. A
continuación, encontrará las condiciones principales que puede crear:

1. Actividad de los contactos: seleccione si un contacto está presente en una lista concreta,
si se ha suscrito desde un formulario de suscripción o si corresponde a un atributo de contacto
concreto. En el siguiente ejemplo, añadimos una condición para separar los contactos que son
clientes de los que no lo son.

 
 

2. Actividad de los e-mails de marketing y transaccionales:  la condición verificará si el


contacto ha abierto o ha hecho clic en unos de sus e-mails de marketing o transaccionales.

3. Actividad vinculada a su sitio: utilice esta condición para los eventos personalizados,
como un JS/API Event o atributo, o un call identify. Por ejemplo, puede comprobar si la
persona ha visitado una página de su sitio web o ha realizado un pedido...

Serie de Fourier
Ir a la navegaciónIr a la búsqueda
Las primeras cuatro aproximaciones para una función periódica escalonada

Una serie de Fourier es una serie infinita que converge puntualmente a una función


periódica y continua a trozos (o por partes). Las series de Fourier constituyen la herramienta
matemática básica del análisis de Fourier empleado para analizar funciones periódicas a
través de la descomposición de dicha función en una suma infinita de funciones sinusoidales
mucho más simples (como combinación de senos y cosenos con frecuencias enteras). El
nombre se debe al matemático francés Jean-Baptiste Joseph Fourier, que desarrolló la teoría
cuando estudiaba la ecuación del calor. Fue el primero que estudió tales series
sistemáticamente, y publicó sus resultados iniciales en 1807 y 1811. Esta área de
investigación se llama algunas veces análisis armónico.
Es una aplicación usada en muchas ramas de la ingeniería, además de ser una herramienta
sumamente útil en la teoría matemática abstracta. Áreas de aplicación incluyen análisis
vibratorio, acústica, óptica, procesamiento de imágenes y señales, y compresión de datos. En
ingeniería, para el caso de los sistemas de telecomunicaciones, y a través del uso de los
componentes espectrales de frecuencia de una señal dada, se puede optimizar el diseño de
un sistema para la señal portadora del mismo. Refiérase al uso de un analizador de espectros.
Las series de Fourier tienen la forma:
Donde  y  se denominan coeficientes de Fourier de la serie de Fourier de la función 

Potrebbero piacerti anche