bucle for visual basic

13
E.S.T JOSÉ DE ESCANDÓN MATERIA TECNOLOGÍA TITULAR DE LA MATERIA ING.JOSÉ ALEJA NDRO SALINAS ORTA TEMA CICLO FOR REALIZADO POR MADELEINE SARAI CAMACHO MORENO FABIÁN E. CASTAÑEDA CALDERÓN

Upload: fabianbc20

Post on 12-Feb-2017

361 views

Category:

Technology


0 download

TRANSCRIPT

E.S.T

JOSÉ DE ESCANDÓN

MATERIA

TECNOLOGÍA

TITULAR DE LA

MATERIA

ING.JOSÉ ALEJA NDRO

SALINAS ORTA

TEMA

CICLO FOR

REALIZADO POR

MADELEINE SARAI

CAMACHO MORENO

FABIÁN E. CASTAÑEDA

CALDERÓN

Estructura de control en la que la

PC nos muestra el como programar

si es que nosotros queremos

programar un robot b-bot , en este

se puede indicar el modo en la que

se puede indicar el número mínimo

de iteraciones.

Está disponible en casi todos los lenguajes de programación

imperativos.

Elementos del bucle

• 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.

• 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.

• 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.

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, por

que si se intenta leer un dato inexistente, esto genera un error de

programación.

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 iterará el mismo, lo

cual muchas veces puede redundar en una optimización del código por parte

de los compiladores.

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

PróximoRegistro(tabla)

HacerAlgo(ElementoActual(tabla))

FIN PARA

Ejemplo de PARA en pseudocódigo

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++

#include

<iostream>

#include <conio.h>

using namespace

std;

int vector[10], i;

for(i=0; i<10; i++)

{

vector[i] = i;

cout<< i<<endl;

}

getch();

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.

Bucle Por Cada (For Each)

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.

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:

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.