Declaración de cambio


En los lenguajes de programación informática , una declaración de cambio es un tipo de mecanismo de control de selección que se utiliza para permitir que el valor de una variable o expresión cambie el flujo de control de la ejecución del programa a través de la búsqueda y el mapa.

Las declaraciones de cambio funcionan de manera algo similar a la ifdeclaración utilizada en lenguajes de programación como C / C++ , C# , Visual Basic .NET , Java y existe en la mayoría de los lenguajes de programación imperativos de alto nivel como Pascal , Ada , C / C++ , C# , Visual Basic. NET , Java y en muchos otros tipos de lenguaje, utilizando palabras clave como switch, o .caseselectinspect

Las declaraciones de cambio vienen en dos variantes principales: un cambio estructurado, como en Pascal, que toma exactamente una rama, y ​​un cambio no estructurado, como en C, que funciona como un tipo de goto . Las razones principales para usar un interruptor incluyen mejorar la claridad, al reducir la codificación repetitiva y (si la heurística lo permite) también ofrece el potencial para una ejecución más rápida a través de una optimización del compilador más fácil en muchos casos.

En su texto de 1952 Introducción a las Metamatemáticas , Stephen Kleene demostró formalmente que la función CASO (la función SI-ENTONCES-SINO es su forma más simple) es una función recursiva primitiva , donde define la noción definition by casesde la siguiente manera:

Kleene proporciona una prueba de esto en términos de las funciones recursivas de tipo booleano "signo de" sg() y "no signo de" ~sg() (Kleene 1952:222-223); el primero devuelve 1 si su entrada es positiva y −1 si su entrada es negativa.

Boolos-Burgess-Jeffrey hacen la observación adicional de que la "definición por casos" debe ser tanto mutuamente excluyente como colectivamente exhaustiva . Ellos también ofrecen una prueba de la recursividad primitiva de esta función (Boolos-Burgess-Jeffrey 2002:74-75).