El INDICADO es una declaración encontrada en muchos lenguajes de programación de la computadora que es una combinación de las palabras del inglés el va y a . Cuando le está ejecutado causa una transferencia incondicional del control (un " jump") a otra declaración. Saltar-a la declaración se especifica usar una cierta clase de la etiqueta, que puede ser un identificador o una línea número dependiendo de la lengua. En el nivel del código automático un goto es una forma de la rama o de la declaración del salto.

En algunas idiomas, la funcionalidad de goto puede estar presente sin el uso explícito de la palabra clave goto, tal como donde una palabra clave de break o de continue se puede seguir cerca con un identificador que denota una etiqueta. El lenguaje de programación SNOBOL apoya una forma de sufijo de la declaración que cause una transferencia del control incondicional después de que la declaración haya acabado la ejecución.

Las declaraciones INDICADAS se encuentran en la mayoría de los idiomas de alto nivel que allí son algunos idiomas de alto nivel que no apoyan una declaración de goto, por ejemplo en el Java (donde está una palabra reservada pero no sirve actualmente goto ninguna función).

Uso

La declaración de goto se combina a menudo con el si la declaración para causar una transferencia del control condicional.

SI etiqueta indicada ENTONCES de la condición del de ;

Los lenguajes de programación imponen diversas restricciones con respecto la localización del salto de una declaración de goto. Por ejemplo, en el lenguaje de programación C no se permite saltar a una etiqueta contenida dentro de otra función. Las funciones setjmp/longjmp proporcionan la ayuda para los gotos non-local.

Críticas del uso indicado

La declaración INDICADA ha sido la blanco de muchas críticas, la demanda que es ese uso de INDICADO produce el " ilegible y generalmente unmaintainable; " del código de espagueti ;. Mientras que la programación estructurada llegó a ser más popular en los años 60 y los años 70, muchos informáticos llegaron a la conclusión que los programas deben utilizar siempre comandos reguladores de corriente “estructurados” supuestos tales como lazos y si entonces - las declaraciones otras en lugar de INDICADO. Sin embargo, otros creyeron que el uso de INDICADO incondicional no llevó al código de la mal calidad y que hay algunas tareas que no se pueden directo lograr en muchos lenguajes de programación sin el uso de uno o más declaraciones INDICADAS, tales como ejecución del estallido de los autómatas finito de los lazos jerarquizados y de la dirección de excepción .

Las críticas más famosas de INDICADO son probablemente 1968 que la letra por el Edsger Dijkstra llamado va al de la declaración consideraba dañoso en esa letra Dijkstra sostuvo que las declaraciones INDICADAS sin restricción se deben suprimir de idiomas de alto nivel porque complicaron la tarea de analizar y de verificar la corrección de programas (particularmente ésas que implican lazos). Un punto de vista alternativo se presenta en el Donald programación estructurada del de s de Knuth que la 'con va a las declaraciones que analiza muchas tareas programadas comunes y encuentra que eso en algunos de ellos INDICADOS es la construcción de lengua óptima a utilizar.

El diseño de la lengua del Ada tomó la nota de las críticas antedichas, pero la declaración fue incluida en la lengua a pesar de ellas, para apoyar principalmente el código automáticamente generado donde el goto pudo probar la indispensable. Sin embargo, las etiquetas usadas como la destinación de una declaración indicada toman la forma inusual de un identificador incluido en los corchetes menores/mayores dobles (e. <>) y este sintaxis no se utiliza en cualquier otro lugar en la lengua. Esto hace fácil comprobar un programa para la existencia de destinaciones indicadas. La declaración indicada sí mismo toma a del de la forma simple indicado Start_Again; .

Variaciones

Hay un número de diversas construcciones de lengua que se pueden describir como formas del indicado:

GOTOs restricto

Muchas idiomas, tales como C y Java, proporcionan declaraciones relacionadas del flujo de control, como break y continue, que son formas con eficacia restringidas de la declaración indicada. Su efecto es un salto incondicional, pero pueden ser utilizadas solamente para saltar a un punto después de que el extremo de un bloque del lazo - continuar un lazo en la iteración siguiente (continuar), o terminar el lazo (rotura).

estructuras del interruptor/del caso

La declaración de interruptor en el C, el C++ y el Java realiza con eficacia un indicado de la multi-manera donde la destinación es seleccionada por el valor de una expresión. En algunas otras idiomas la declaración del interruptor (o caso) no se comporta exacto de esta manera (no tiene " caer-through" comportamiento).

INDICADO computado

Un computaba INDICADO (original terminología del FORTRAN ) los saltos a una de varias etiquetas basadas en el valor de una expresión, o los saltos a una etiqueta que se ha almacenado en una variable. La declaración ENCENDIDO INDICADA en el BASIC apoya la primera clase de INDICADO computado y es útil para la ramificación para cada caso particular, como en la declaración de interruptor de la c . Algunos compiladores C (e., GCC ) apoyan el " goto" con una variable de etiqueta usar el operador del valor de la etiqueta del . El && del operador del valor de la etiqueta del vuelve la dirección de su operando, que debe ser una etiqueta definida en la función actual o una función que contiene. El valor es un constante del tipo void* y se debe utilizar solamente en una declaración indicada computada. La característica es una extensión a C y a C++, ejecutados para facilitar el virar de los programas hacia el lado de babor desarrollados con GNU C.

Continuaciones

Una continuación es similar a un INDICADO computado en que él control de transferencias de un punto arbitrario en el programa a un punto previamente marcado. Una continuación puede ser más flexible que INDICADA en algunas idiomas porque puede salir de la función actual, algo que un INDICADO no puede hacer en la mayoría de las idiomas. La ejecución de una continuación implica generalmente un cierto ajuste de la pila de llamadas del programa además de un salto. La función del longjmp del lenguaje de programación C es un ejemplo de una continuación del escape que se pueda utilizar para escapar el contexto actual de alrededor. El campo común balbucea VA operador también tiene esta característica el desenrollar del apilado, a pesar de la construcción que es el léxico scoped, como la etiqueta que se saltará a puede ser referido de un encierro .

" VIENE FROM" Parodiar INDICADO

En el de programación esotérico INTERCAL, que del lenguaje es un parodiar de idiomas como el BASIC, el VIENE de se utiliza en vez de INDICADO.

Perl INDICADO

En Perl, hay una variante de la declaración de goto que no es una declaración INDICADA tradicional en absoluto. Toma un nombre de función y un control de transferencias con eficacia substituyendo una llamada de función para otra (una llamada de la cola): la nueva función no volverá al INDICADO, sino que por el contrario al lugar de el cual la función original fue llamada. Las versiones tempranas COBOL tenían el verbo de la ALTERACIÓN para lograr esto.

Ver también

programado no estructurado
Flujo de control

.

  • Zenithic
  • AJC Oaks
    Random links:Territorios de confianza de Naciones Unidas | Rubrication | James Shaffer | Regimiento de Tánger

  • © 2007-2008 enciclopediaespana.com; article text available under the terms of GFDL, from en.wikipedia.org
    ="http://pagead2.googlesyndication.com/pagead/show_ads.js">