You are on page 1of 25

Entorno de desarrollo integrado

De Wikipedia, la enciclopedia libre Saltar a: navegacin, bsqueda Un entorno de desarrollo integrado (en ingls integrated development environment) es un programa informtico compuesto por un conjunto de herramientas de programacin. Puede dedicarse en exclusiva a un slo lenguaje de programacin o bien, poder utilizarse para varios.

Dev C++, un IDE para el lenguaje de programacin C++ .

WebDevStudio, un IDE en lnea para el lenguaje de programacin C/C++.

Un IDE es un entorno de programacin q ue ha sido empaquetado como un programa de aplicacin, es decir, consiste en un editor de cdigo, un compilador, un depurador y un constructor de interfaz grfica (GUI). Los IDEs pueden ser aplicaciones por s solas o pueden ser parte de aplicaciones existentes. El lenguaje Visual Basic, por ejemplo, puede ser usado dentro de las aplicaciones de Microsoft Office, lo que hace posible escribir sentencias Visual Basic en forma de macros para Microsoft Word. Los IDE proveen un marco de trabajo amigable para la mayora de los lenguajes de programacin tales como C++, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecucin, en donde se permite utilizar el lenguaje de programacin en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C. Es posible que un mismo IDE pueda funcionar con varios lenguajes de programacin. Este es el caso de Eclipse, al que mediante plugins se le puede aadir soporte de lenguajes adicionales.

Contenido
[ocultar]

1 Componentes 2 Soporte del Lenguaje 3 Actitudes en diferentes plataformas computacionales 4 Vase tambin 5 Enlaces externos

[editar] Componentes

Un editor de texto. Un compilador. Un intrprete. Un depurador. Posibilidad de ofrecer un sistema de control de versiones. Factibilidad para ayuda en la construccin de interfaces grficas de usuario.

[editar] Soporte del Lenguaje


Algunos IDEs soportan mltiples lenguajes, tales como Eclipse o NetBeans, ambas basadas en Java o MonoDevelop, basado en C#. El soporte para lenguajes alternativos es a menudo proporcionada por plugins, que les permite ser instalado en el mismo IDE al mismo tiempo. Por ejemplo, Eclipse y NetBeans tiene plugins para C / C + + , Ada , Perl , Python , Ruby y PHP , entre otros lenguajes.

[editar] Actitudes en diferentes plataformas computacionales


Muchos de los programadores de Unix argumentan que las herramientas de la lnea de comandos POSIX constituyen una IDE, aunque una con un estilo diferente de la interfaz y en el entorno Unix. Adems, muchos programadores de Unix utilizan Emacs o Vim. En las distintas plataformas de Microsoft Windows, las herramientas de lnea de comando para el desarrollo rara vez se utilizan. En consecuencia, hay muchas soluciones comerciales y no comerciales, sin embargo cada uno tiene un diseo diferente que comnmente crean incompatibilidades. La mayora de los principales proveedores de compiladores para Windows siguen ofreciendo copias gratuitas de sus herramientas de lnea de comando. Adems las herramientas del software libre GNU (gcc, gdb) estn disponibles en muchas plataformas, incluyendo Windows IDEs siempre han sido populares en el Macintosh de Apple Mac OS, que proviene de Macintosh Programmer's Workshop, Turbo Pascal, THINK Pascal y THINK C. Actualmente los programadores de Mac OS X puede elegir entre IDEs limitadas, incluyendo IDEs nativos como Xcode , mayores IDEs como CodeWarrior y herramientas de cdigo abierto, tales como Eclipse y NetBeans. Algunos de cdigo abierto, tales como IDE Code::Blocks, Eclipse, Lazarus, KDevelop y Netbeans, que a su vez se desarrollan utilizando un lenguaje multi-plataforma (por ejemplo, Free Pascal o Java), se ejecutan en mltiples plataformas incluyendo Windows, GNU / Linux, y Mac OS.

Introduccion Al Lenguaje YA Su Entorno De Desarrollo


partner-pub-8555 w w w .mitecnolog ISO-8859-1 w w w .mitecnolog

Buscar

Introduccin a C++ Esta seccin es la primera parte de la introduccin a C++. Aqu nos enfocamos en el lenguaje C, del cul C++ fue adoptado. C++ extiende el lenguaje de programacin C con una fuerte tipificacin, algunas caractersticas y - ms importante an - conceptos de orientacin a objetos. 7.1 El Lenguaje de Programacin C Desarrollado en en la ltima parte de los 1970s, C se constituy en un enorme xito debido al desarrollo de UNIX que fue escrito casi por completo en este lenguaje [4]. En contraste

con otros lenguajes de alto nivel, C fu escrito por programadores para programadores. De tal manera que algunas veces permite, por decirlo as, cosas extraas que en otros lenguajes como Pascal estn prohibidas debido a su mala influencia sobre el estilo de programacin. De todas maneras, cuando se usa con alguna disciplina, C es un lenguaje tan bueno como cualquier otro. Los comentarios en C se encierran en /* */ Y no se pueden anidar 7.1.1 Tipos de Datos La Tabla 7.1 describe los tipos de datos integrados de C. El Size (tamao) especificado se mide en bytes en una PC 386 corriendo Linux 1.2.13. El Domain (dominio) provisto se basa en el valor del Size (tamao). Puedes obtener informacin acerca del tamao de los tipos de datos por medio del operador sizeof. !! Historia En 1967 Martin Richards cre un lenguaje de programacin BCPL, para escribir sistemas operativos y compiladores y Ken Thompson cre el lenguaje B basndose en el BCPL. Con B, Thompson escribi las primeras versiones de UNIX en los laboratorios Bell durante 1970. Estos 2 lenguajes muy rsticos y dejaban muchas tareas al programador. En 1972 Denis Ritchie escribe un lenguaje basado en BCPL y B con varias mejoras que contribuyen a su posterior popularidad; lo llam C. La eficiencia del C en trminos de ejecucin y administracin de recursos lo hizo el preferido de las empresas de software que diseaban sistemas operativos y compiladores.
Una de sus principales caractersticas es su independencia del hardware, lo cual permita inicialmente correr programas C en cualquier plataforma con mnimas modificaciones. Pero las empresas de software comenzaron a disear versiones de C particulares que le quitaban portabilidad a los programas. Por eso, en el 1983 el ANSI cre un comit tcnico para su standarizacin. La versin aprobada junto a la ISO vi la luz en 1990 y se lo conoce como ANSI C.

En 1980 Bjarne Stroustrup en los Laboratorios Bell, comenz a experimentar con versiones mejoradas de C (C con clases) con la nica finalidad de escribir programas de simulacin orientada a eventos.

El nombre de C++ fue idea de Rick Masciatti haciendo uso del operador postincremento del lenguaje y sugera que era el lenguaje que le segua a C. Este compilador fue creciendo con renovadas caractersticas que lo hacen muy original, manteniendo la compatibilidad con su antecesor C. C++ incorpora clases y funciones virtuales basndose en SIMULA 67, tipos genricos y expresiones de ADA, la posibilidad de declarar variables en cualquier lugar de ALGOL 68?, as como otras caractersticas que no existan antes: herencia mltiple, espacios en nombres, funciones virtuales puras, etc. Alex Stepanov y Adrew Koenig idearon la biblioteca STL, la cual le da a C++ una potencia nica entre los lenguajes de alto nivel. Debido a la enorme difusin de C++, y a las diferentes versiones que fueron apareciendo, las organizaciones ANSI e ISO se reunieron en 1990 para definir el Standard de este lenguaje, el cual fue aprobado en 1998. Hoy da, C++ posee una notable insercin en el mundo de las computadoras y es un de los lenguajes clsicos de programacin: tanto sistemas operativos y compiladores, como aplicaciones. .::Resumen de Todo Esto POr Ricardo Chavez d(o_O)b::. El lenguaje C se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan del cdigo fuente para funcionar (P.ej: Basic). Los compilados convierten el cdigo fuente en un fichero objeto y ste en un fichero ejecutable. Este es el caso del lenguaje C. Podemos decir que el lenguaje C es un lenguaje de nivel medio, ya que combina elementos de lenguaje de alto nivel con la funcionalidad del lenguaje ensamblador.Es un lenguaje estructurado, ya que permite crear procedimientos en bloques dentro de otros procedimientos. Hay que destacar que el C es un lenguaje portable, ya que permite utilizar el mismo cdigo en diferentes equipos y sistemas informticos: el lenguaje es independiente de la arquitectura de cualquier mquina en particular. Por ltimo solo queda decir que el C es un lenguaje relativamente pequeo; se puede describir en poco espacio y aprender rpidamente. Este es sin duda el objetivo de ste curso. No pretende ser un completo manual de la programacin, sin una base til para que cualquiera pueda introducirse en este apasionante mundo. Aunque en principio cualquier compilador de C es vlido, para seguir este curso se recomienda utilizar el compilador Turbo C/C++ o bien el Borland C++ 5.0.

Explicamos las distintas estructuras poniendo ejemplos tanto en diagrama de flujo como en pseudocdigo.
Por Wilder Urbaez
Atencin: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

Las estructuras condicionales comparan una variable contra otro(s)valor (es), para que en base al resultado de esta comparacin, se siga un curso de accin dentro del programa. Cabe mencionar que la comparacin se puede hacer contra otra variable o contra una constante, segn se necesite. Existen tres tipos bsicos, las simples, las dobles y las mltiples.

Simples:

Las estructuras condicionales simples se les conoce como Tomas de decisin. Estas tomas de decisin tienen la siguiente forma:

Pseudocdigo:

Diagrama de flujo:

Dobles:

Las estructuras condicionales dobles permiten elegir entre dos opciones o alternativas posibles en funcin del cumplimiento o no de una determinada condicin. Se representa de la siguiente forma:

Pseudocdigo:

Diagrama de flujo:

Donde: Si:Indica el comando de comparacin Condicin : Indica la condicin a evaluar Entonces : Precede a las acciones a realizar cuando se cumple la condicin Instruccin(es):Son las acciones a realizar cuando se cumple o no la condicin si no :Precede a las acciones a realizar cuando no se cumple la condicin Dependiendo de si la comparacin es cierta o falsa, se pueden realizar una o ms acciones.

Mltiples:

Las estructuras de comparacin mltiples, son tomas de decisin especializadas que permiten comparar una variable contra distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma comn es la siguiente:

Pseudocdigo:

Diagrama de flujo:

Mltiples (En caso de):

Las estructuras de comparacin mltiples, es una toma de decisin especializada que permiten evaluar una variable con distintos posibles resultados, ejecutando para cada caso una serie de instrucciones especificas. La forma es la siguiente:

Pseudocdigo:

Diagrama de flujo:

Veamos algunos ejemplos donde se aplique todo lo anterior:

Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de edad debe aparecer un mensaje indicndolo. Expresarlo en Pseudocdigo y Diagrama de flujos.

Pseudocdigo:

Diagrama de flujo:

Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y enviar un mensaje donde diga si el alumno aprob o reprob el curso. Exprese el algoritmo usando Pseudocdigo y diagrama de flujos.

Pseudocdigo:

INICIO Not1, Not2, Not 3 :REAL Def: REAL LEA Nota1, Nota2, Nota3 Def (Not1 + Not2 + Not3) /3 Si Def < 3 entonces Escriba Reprob el curso Sino Escriba Aprob el curso Fin-Si FIN

Diagrama de flujo:

Se desea escribir un algoritmo que pida la altura de una persona, si la altura es menor o igual a 150 cm enve el mensaje: Persona de altura baja; si la altura est entre 151 y 170 escriba el mensaje: Persona de altura media y si la altura es mayor al 171 escriba el mensaje: Persona alta. Exprese el algoritmo usando Pseudocdigo y diagrama de flujos.

Pseudocdigo:

INICIO Altura: ENTERO ESCRIBA Cul es tu altura? LEA Altura Si Altura <=150 entonces ESCRIBA persona de altura baja Sino Si Altura <=170 entonces

ESCRIBA persona de altura media Sino Si Altura>170 ENTONCES ESCRIBA persona alta Fin-Si Fin-Si Fin-Si FIN

Es importante ser ordenado en el cdigo que se escribe!

Diagrama de flujo:

Dado un numero entre 1 y 7 escriba su correspondiente da de la semana as: 1- Lunes 2- Martes 3- Mircoles 4- Jueves 5- Viernes 6- Sbado 7- Domingo Exprese el algoritmo usando Pseudocdigo y diagrama de flujos.

Pseudocdigo: Pseudocdigo:

INICIO Dia: ENTERO ESCRIBA Diga un nmero para escribir su da LEA Dia En-caso-de Dia haga Caso 1: ESCRIBA Lunes Caso 2: ESCRIBA Martes Caso 3: ESCRIBA Mircoles Caso 4: ESCRIBA Jueves Caso 5: ESCRIBA Viernes Caso 6: ESCRIBA Sbado Caso 7: ESCRIBA Domingo SINO: ESCRIBA Escribi un numero fuera del rango 1-7 Fin-Caso FIN

Diagrama de flujo:

Qu son las constantes, las variables y las expresiones en la programacin as como su clasificacin. Por Wilder Urbaez
Atencin: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

Constantes Una constante es un dato numrico o alfanumrico que no cambia durante la ejecucin del programa. Ejemplo: pi = 3.1416 Variable Es un espacio en la memoria de la computadora que permite almacenar temporalmente un dato durante la ejecucin de un proceso, su contenido puede cambiar durante la ejecucin del programa. Para poder reconocer una variable en la memoria de la computadora, es necesario darle un nombre con el cual podamos identificarla dentro de un algoritmo. Ejemplo: area = pi * radio ^ 2 Las variables son : el radio, el area y la constate es pi Clasificacin de las Variables

Por su contenido

Variables Numricas: Son aquellas en las cuales se almacenan valores numricos, positivos o negativos, es decir almacenan nmeros del 0 al 9, signos (+ y -) y el punto decimal. Ejemplo: iva = 0.15 pi = 3.1416 costo = 2500 Variables Lgicas: Son aquellas que solo pueden tener dos valores (cierto o falso) estos representan el resultado de una comparacin entre otros datos.

Variables Alfanumricas: Esta formada por caracteres alfanumricos (letras, nmeros y caracteres especiales). Ejemplo: letra = a apellido = lopez direccion = Av. Libertad #190

Por su uso

Variables de Trabajo: Variables que reciben el resultado de una operacin matemtica completa y que se usan normalmente dentro de un programa. Ejemplo: Suma = a + b /c Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operacin o se cumple una condicin. Con los incrementos generalmente de uno en uno. Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores que se van leyendo o calculando progresivamente.

Expresiones Las expresiones son combinaciones de constantes, variables, smbolos de operacin, parntesis y nombres de funciones especiales. Por ejemplo: a + (b + 3) / c Cada expresin toma un valor que se determina tomando los valores de las variables y constantes implicadas y la ejecucin de las operaciones indicadas. Una expresin consta de operadores y operandos. Segn sea el tipo de datos que manipulan, se clasifican las expresiones en:

Aritmticas Relacionales Lgicas

Prioridad de los operadores aritmticos, relacionales, lgicos y de cadena

En una expresin puede aparecer uno o ms operadores aritmticos, relacionales, lgicos y/o de cadena. Ejemplo 1: Algunos ejemplos son: 5 * 4 > 5 + 4 o falso y "ab" < "aa" ( 5 * 4 > 5 + 4 o falso ) y 'f' < 'b' no verdadero < falso no ( verdadero < falso ) Para poder evaluar correctamente las expresiones anteriores, es necesario seguir un criterio de prioridad de operadores. En nuestro pseudocdigo CEE, la prioridad entre los operadores aritmticos, relacionales, lgicos y de cadena es:

Figura. Prioridad de los operadores aritmticos, relacionales, lgicos y de cadena en pseudocdigo.

Por tanto, los valores que proporcionan las expresiones del ejemplo 18 son: verdadero (actan en orden los operadores: (*), suma (+), (>), (<), (y) y (o)) falso (actan en orden los operadores: (*), suma (+), (>), (o), (<) e (y)) falso (actan en orden los operadores: (no) y (<)) verdadero (actan en orden los operadores: (<) y (no)) Obsrvese que, los parntesis "()" son capaces de cambiar el orden de actuacin de los operadores de cualquier expresin. Adems, los parntesis se pueden anidar, es decir, se pueden escribir unos dentro de otros, priorizndose del ms interno al ms externo y, despus, de izquierda a derecha. Ejemplo 2: De la expresin 42 mod ( ( 4 - 5 ) * ( 8 + 2 ) ) se obtiene el valor: 2 (actan en orden los operadores: (-), (+), (*) y (mod).

Estructura selectiva mltiple.


Enlaces patrocinadosEstructuras

Lean MDC

Material tubular para armardo carro surtidor, flow racks,supermercados www.leanmdc.com

Con frecuencia es necesario que existan ms de dos elecciones posibles. Este problema se podra resolver por estructuras selectivas simples o dobles, anidadas o en cascada, pero si el nmero de alternativas es grande puede plantear serios problemas de escritura y de legibilidad. Usando la estructura de decisin mltiple se evaluar una expresin que podr tomar n valores distintos, 1, 2 , 3, ....,n y segn que elija uno de estos valores en la condicin, se realizar una de las n acciones o lo que es igual, el flujo del algoritmo seguir slo un determinado camino entre los n posibles. Esta estructura se representa por un selector el cual si toma el valor 1 ejecutar la accin 1, si toma el valor 2 ejecutar la accin 2, si toma el valor N realizar la accin N.

Ejemplo 1: Disear un algoritmo tal que dados como datos dos variables de tipo entero, obtenga el resultado de la siguiente funcin:

Metodologa LEAN Curso 100% online Visite el Campus Sinergy www.sinergy.esEnlaces patrocinados

Ejemplo 2. Dados como datos la categora y el sueldo de un trabajador, calcule el aumento correspondiente teniendo en cuenta la siguiente tabla. Imprimir la categora del trabajador y el nuevo sueldo.

Definicin de variables: Cate = categora Sue = sueldo Nsue = nuevo sueldo ALGORITMO Inicio Leer (cate, sue) En caso que cate sea 1: hacer nsue <-- sue * 1.15 2: hacer nsue <-- sue * 1.10 3: hacer nsue <-- sue * 1.08 4: hacer nsue <-- sue * 1.07 Fin_caso_que Escribir (cate, nsue) Fin

El bucle for o ciclo for es una estructura de control en la que se puede indicar el nmero minimo de iteraciones. Est disponible en casi todos los lenguajes de programacin imperativos.

Contenido
[ocultar]

1 Elementos del bucle 2 Usos 3 For en pseudolenguaje 4 Ejemplo de PARA en pseudolenguaje 5 Ejemplo en C 6 Ejemplo anterior escrito en Lexico 7 Bucle Por Cada (For Each) o 7.1 Necesidad de una nueva estructura de control 8 Vase tambin 9 Referencias

[editar] Elementos del bucle

'Variable de control': prcticamente 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 crptica quizs a primera vista es sin embargo una excelente forma de aportar agilidad de lectura al cdigo por su uso tan extensivo. Como raras veces los bucles anidados superan las tres dimensiones (por una sencilla cuestin de explosin exponencial), las letras i, j y k suelen ser las nicas relacionadas con este uso. En C se define en el primer parmetro de la instruccin junto con la inicializacin (opcional). Inicializacin de la variable de control: en pseudolenguaje se pide explicitarlo (es la seccin := ValorInicial), sin embargo, otros lenguajes ms permisivos como C no lo requieren de forma obligatoria. De todos modos, la prctica de utilizar variables de control que no se inicializan en el bucle no es recomendada para la legibilidad del cdigo. En C se define en el primer parmetro del bucle junto con la variable de control. Condicin de control: en pseudolenguaje se ve representado por el valor final que puede tomar la variable de control (la seccin A ValorFinal). En C es el segundo parmetro y

puede ser cualquier condicin (ni siquiera es obligacin que est la variable de control, aunque una vez ms, esto no se considera una buena prctica).

Incremento: en pseudolenguaje se toma por defecto el valor 1, aunque puede explicitarse por medio de la sentencia PASO = ValorPaso cualquier nmero entero (lase bien entero, o sea que tcnicamente podemos decrementar). En C es el ltimo parmetro. Cuerpo: es lo que se har en cada iteracin, pueden ser una o ms instrucciones. En pseudolenguaje pesa la restriccin de no poder alterar el valor de la variable de control; esto no es requerido en C, pero no se considera una buena prctica.

[editar] Usos
Su uso principal se orienta a los vectores, pudiendo modificar, agregar, eliminar o consultar datos que se encuentren segn el ndice. Por esto ltimo, una condicin mnima del vector es que debe ser ordenado, por que si se intenta leer un dato inexistente, esto genera un error de programacin.

[editar] For en pseudolenguaje


La principal diferencia de un bucle PARA con respecto a los bucles MIENTRAS Y REPETIR, es que puede determinarse al comienzo del bucle cuntas veces se iterar el mismo, lo cual muchas veces puede redundar en una optimizacin del cdigo por parte de los compiladores. Los condicionales constituyen junto con los bucles los pilares de la programacin estructurada, y su uso es una evolucin de una sentencia de lenguaje ensamblador que ejecutaba la siguiente lnea o no en funcin del valor de una condicin. El bucle PARA se ha convertido en el bucle ms ampliamente utilizado en la programacin, ya que con la evolucin de los lenguajes la mayora de las condiciones de fin
MIENTRAS NoFinDeTabla(tabla) HACER PrximoRegistro(tabla) HacerAlgo(ElementoActual(tabla)) FIN MIENTRAS

Es lo mismo decir:
PARA i := 0 a CantidadRegistros(tabla) - 1, PASO = 1 PrximoRegistro(tabla) HacerAlgo(ElementoActual(tabla)) FIN PARA

Otro uso comn es utilizar los bucles PARA para recorrer vectores de dos o ms 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

[editar] Ejemplo de PARA en pseudolenguaje


PARA VariableControl := ValorInicial A ValorFinal, PASO = Incremento Cuerpo FIN PARA

donde VariableControl, ValorInicial, ValorFinal y Paso son enteros. La(s) instruccin(es) del cuerpo se ejecutar(n) (ValorFinal - ValorInicial + 1) veces, o sea que va desde ValorInicial a ValorFinal inclusive.

[editar] Ejemplo en C
int main() { int vector[10], i; for(i = 0; i < 10; i++) { vector[i] = i; } }

En la definicin del for, tenemos que la variable de control i se inicializa en un valor 0, luego se entrega la condicin de control que debe ser falsa durante su ejecucin, para completar el ciclo; y por ltimo, tenemos el incrementador en una unidad. Si por ejemplo en la condicin 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 definicin) va desde [0..(n-1)].

[editar] Ejemplo anterior escrito en Lexico


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

[editar] Bucle Por Cada (For Each)

Este bucle es una evolucin del concepto del bucle Para en algunos lenguajes. Se utiliza para recorrer estructuras repetitivas de datos de forma ms simple y gil. El bucle For Each puede describirse genricamente (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 ms tpico es con vectores o -en programacin orientada a objetos- clases del tipo Coleccin. Cuerpo: es lo que se har en cada iteracin, pueden ser una o ms instrucciones. Si bien no se impone una obligacin al respecto, lo ms comn es que en este Cuerpo exista alguna operacin sobre el elemento iterado.

[editar] Necesidad de una nueva estructura de control

Esta estructura surge como una innovacin en los lenguajes para permitir un cdigo ms gil y legible en una situacin que es una de las principales causas del uso del bucle PARA: aplicar la misma operacin sobre todos los elementos de un vector, y no necesitar conocer la posicin 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 = AlgunaOperacin(x) FIN PARA

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


1. No es necesario llamar a una funcin que obtenga el tamao del vector 2. No es necesario utilizar la incmoda notacin de subndices para referirnos al valor en cuestin, 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 compilacin sobre el tipo de dato que representa el elemento.

El bucle POR CADA 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 gua su iteracin por una variable que se incrementa hasta cierto punto de corte; en cambio en el segundo lo que gua la iteracin 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 requerira inicializar y controlar manualmente las variables de control, con lo cual se perdera

nuevamente legibilidad en el cdigo. Por tanto, cuando en un lenguaje se nos da la posibilidad de utilizar ambas estructuras, la eleccin del POR CADA debe hacerse en aquellos casos para los que fue pensado: aplicar la misma operacin 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 eleccin de estructura de control.

You might also like