if you want to remove an article from website contact us from top.

    cuando uso funciones, si declaro una variable dentro de una función, esa variable puede ser usada dentro de cualquiera de las funciones del programa.

    Santiago

    Chicos, ¿alguien sabe la respuesta?

    obtenga cuando uso funciones, si declaro una variable dentro de una función, esa variable puede ser usada dentro de cualquiera de las funciones del programa. de este sitio.

    Variables locales y globales

    6.2) Variables locales y globales. Las reglas de ámbito de un lenguaje son las reglas que controlan si un fragmento de código conoce o tiene acceso a otro fragmento de código o de datos. Una variable local es aquella cuyo ámbito se restringe a la función que la ha declarado se dice entonces que la variable es local a esa función. Esto implica que esa variable sólo va a poder ser manipulada en dicha sección, y no se podrá hacer referencia fuera de dicha sección. Cualquier variable que se defina dentro de las llaves del cuerpo de una función se interpreta como una variable local a esa función. Cuando una variable x es local a una función func1, significa que la función func1 es la propietaria de dicha variable, y puede acceder a ella y modificarla. Si cualquier otra función del programa necesita conocer el valor de la variable x, es la función func1 la que debe transferir el valor de x a través del paso de argumentos en la llamada a la función. Si además esta función desea modificar el valor de dicha variable, entonces tendrá que devolver el nuevo valor a func1, y será func1 quien se encargue de asignar el valor devuelto a su variable x.  El argumento formal (los veremos en la siguiente sección) ámbito de un argumento formal es el mismo que el de una variable local; el argumento formal definido en la cabecera de una función sólo podrá ser accedido dentro del cuerpo de dicha función, y no en otros lugares del programa. Una variable global es aquella que se define fuera del cuerpo de cualquier función, normalmente al principio del programa, después de la definición de los archivos de biblioteca (#include), de la definición de constantes simbólicas y antes de cualquier función. El ámbito de una variable global son todas las funciones que componen el programa, cualquier función puede acceder a dichas variables para leer y escribir en ellas. Es decir, se puede hacer referencia a su dirección de memoria en cualquier parde del programa. Ejemplo: Se muestra la diferencia entre las variables locales y globales, con la consiguiente diferenciación en los ámbitos que abarcan: El uso de variables globales no es aconsejable a pesar de que aparentemente nos parezca muy útil, esto se debe a varias razones fundamentales:Legibilidad menor.Nos condiciona en muchos casos que el programa sólo sirvapara un conjunto de casos determinados.El uso indiscriminado de variables globales produce efectos colaterales. Esto sucede cuando existe una alteración no deseada del contenido de una variable global dentro de una función, bien por invocación, bien por olvidar definir en la función una variable local o un parámetro formal con ese nombre. La corrección de dichos errores puede ser muy ardua.Atenta contra uno de los principios de la programación, la modularidad. El bajo acoplamiento supone no compartir espacios de memoria con otras funciones, y potenciar el paso de información (llamadas) para que la función trate la información localmente. Las variables declaradas dentro de una función son automáticas por defecto, es decir, sólo existen mientras se ejecuta la función. Cuando se invoca la función se crean estas variables en la pila y se destruyen cuando la función termina. La única excepción la constituyen las variables locales declaradas como estáticas ( static ). En este caso, la variable mantiene su valor entre cada dos llamadas a la función aún cuando su visibilidad sigue siendo local a la función.  Una función siempre es conocida por todo el programa, excepto cuando se declara como estática, en cuyo caso sólo la podrán utilizar las funciones del mismo módulo de compilación. En C, todas las funciones están al mismo nivel de ámbito. Es decir, no se puede definir una función dentro de otra función. Esto es por lo que C no es técnicamente un lenguaje estructurado en bloques. También puede suceder que en unvariables  locales y globales con el mismo nombre. Cuando sucede esta situación, siempre son las variables locales y argumentos formales los que tienen prioridad sobre las globales. Para ver reflejado todo esto más gráficamente se muestra un ejemplo a continuación:

    fuente : ccia.ugr.es

    Funciones (1). Python. Bartolomé Sintes Marco. www.mclibre.org

    Funciones (1)

    En esta lección se trata la creación de funciones en Python y el uso de variables en las funciones. Otros conceptos relativos a las funciones se tratan en la lección Funciones (2):

    Definir funciones en Python

    Las funciones se pueden crear en cualquier punto de un programa, escribiendo su definición.

    La primera línea de la definición de una función contiene:

    la palabra reservada def

    el nombre de la función (la guía de estilo de Python recomienda escribir todos los caracteres en minúsculas separando las palabras por guiones bajos)

    paréntesis (que pueden incluir los argumentos de la función, como se explica más adelante)

    Las instrucciones que forman la función se escriben con sangría con respecto a la primera línea.

    Por comodidad, se puede indicar el final de la función con la palabra reservada return (más adelante se explica el uso de esta palabra reservada), aunque no es obligatorio.

    Para poder utilizar una función en un programa se tiene que haber definido antes. Por ello, normalmente las definiciones de las funciones se suelen escribir al principio de los programas

    El ejemplo siguiente muestra un programa que contiene una función y el resultado de la ejecución de ese programa.

    Ejemplo de función

    def licencia():

    print("Copyright 2020 Bartolomé Sintes Marco")

    print("Licencia CC-BY-SA 4.0")

    return

    print("Este programa no hace nada interesante.")

    licencia()

    print("Programa terminado.")

    Este programa no hace nada interesante.

    Copyright 2020 Bartolomé Sintes Marco

    Licencia CC-BY-SA 4.0

    Programa terminado.

    Ejemplo de función - Paso 1

    def licencia():

    print("Copyright 2020 Bartolomé Sintes Marco")

    print("Licencia CC-BY-SA 4.0")

    return

    print("Este programa no hace nada interesante.")

    licencia()

    print("Programa terminado.")

    La definición de la función no provoca ninguna salida del programa. Las instrucciones que forman parte de la función se ejecutan únicamente cuando se llama a la función en el programa.

    Ejemplo de función - Paso 2

    def licencia():

    print("Copyright 2020 Bartolomé Sintes Marco")

    print("Licencia CC-BY-SA 4.0")

    return

    print("Este programa no hace nada interesante.")

    licencia()

    print("Programa terminado.")

    Este programa no hace nada interesante.

    La primera instrucción que se ejecuta es la que está después de la definición de la función.

    Ejemplo de función - Paso 3

    def licencia():

    print("Copyright 2020 Bartolomé Sintes Marco")

    print("Licencia CC-BY-SA 4.0")

    return

    print("Este programa no hace nada interesante.")

    licencia()

    print("Programa terminado.")

    Este programa no hace nada interesante.

    A continuación se encuentra la llamada a la función. Como tal, la llamada no produce ninguna salida del programa, pero hace que a continuación se ejecuten las instrucciones incluidas en la función.

    Ejemplo de función - Paso 4

    def licencia():

    print("Copyright 2020 Bartolomé Sintes Marco")

    print("Licencia CC-BY-SA 4.0")

    return

    print("Este programa no hace nada interesante.")

    licencia()

    print("Programa terminado.")

    Este programa no hace nada interesante.

    Copyright 2020 Bartolomé Sintes Marco

    Se ejecuta la primera instrucción de la función.

    Ejemplo de función - Paso 5

    def licencia():

    print("Copyright 2020 Bartolomé Sintes Marco")

    print("Licencia CC-BY-SA 4.0")

    return

    print("Este programa no hace nada interesante.")

    licencia()

    print("Programa terminado.")

    Este programa no hace nada interesante.

    Copyright 2020 Bartolomé Sintes Marco

    Licencia CC-BY-SA 4.0

    Se ejecuta la segunda instrucción de la función.

    Ejemplo de función - Paso 6

    def licencia():

    print("Copyright 2020 Bartolomé Sintes Marco")

    print("Licencia CC-BY-SA 4.0")

    return

    print("Este programa no hace nada interesante.")

    licencia()

    print("Programa terminado.")

    Este programa no hace nada interesante.

    Copyright 2020 Bartolomé Sintes Marco

    Licencia CC-BY-SA 4.0

    La instrucción return indica el final de la función y continúa la ejecución del programa tras la llamada a la función.

    Ejemplo de función - Paso 7

    def licencia():

    print("Copyright 2020 Bartolomé Sintes Marco")

    print("Licencia CC-BY-SA 4.0")

    return

    print("Este programa no hace nada interesante.")

    licencia()

    print("Programa terminado.")

    Este programa no hace nada interesante.

    Copyright 2020 Bartolomé Sintes Marco

    Licencia CC-BY-SA 4.0

    Programa terminado.

    Se ejecuta la última instrucción del programa y el programa termina.

    El ejemplo siguiente muestra un programa incorrecto que intenta utilizar una función antes de haberla definido.

    Ejemplo de función incorrecta

    print("Este programa no hace nada interesante.")

    licencia()

    print("Programa terminado.")

    def licencia():

    print("Copyright 2020 Bartolomé Sintes Marco")

    print("Licencia CC-BY-SA 4.0")

    return

    Este programa no hace nada interesante.

    Traceback (most recent call last):

    File "ejemplo.py", line 2, in

    fuente : www.mclibre.org

    4.2. Ámbito de las variables (Introducción a JavaScript)

    Introducción a JavaScript

    4.2. Ámbito de las variables

    El ámbito de una variable (llamado "scope" en inglés) es la zona del programa en la que se define la variable. JavaScript define dos ámbitos para las variables: global y local.

    El siguiente ejemplo ilustra el comportamiento de los ámbitos:

    function creaMensaje() {

    var mensaje = “Mensaje de prueba”;

    } creaMensaje(); alert(mensaje);

    El ejemplo anterior define en primer lugar una función llamada creaMensaje que crea una variable llamada mensaje. A continuación, se ejecuta la función mediante la llamada creaMensaje(); y seguidamente, se muestra mediante la función alert() el valor de una variable llamada mensaje.

    Sin embargo, al ejecutar el código anterior no se muestra ningún mensaje por pantalla. La razón es que la variable mensaje se ha definido dentro de la función creaMensaje() y por tanto, es una variable local que solamente está definida dentro de la función.

    Cualquier instrucción que se encuentre dentro de la función puede hacer uso de esa variable, pero todas las instrucciones que se encuentren en otras funciones o fuera de cualquier función no tendrán definida la variable mensaje. De esta forma, para mostrar el mensaje en el código anterior, la función alert() debe llamarse desde dentro de la función creaMensaje():

    function creaMensaje() {

    var mensaje = “Mensaje de prueba”;

    alert(mensaje); } creaMensaje();

    Además de variables locales, también existe el concepto de variable global, que está definida en cualquier punto del programa (incluso dentro de cualquier función).

    var mensaje = “Mensaje de prueba”;

    function muestraMensaje() {

    alert(mensaje); }

    El código anterior es el ejemplo inverso al mostrado anteriormente. Dentro de la función muestraMensaje() se quiere hacer uso de una variable llamada mensaje y que no ha sido definida dentro de la propia función. Sin embargo, si se ejecuta el código anterior, sí que se muestra el mensaje definido por la variable mensaje.

    El motivo es que en el código JavaScript anterior, la variable mensaje se ha definido fuera de cualquier función. Este tipo de variables automáticamente se transforman en variables globales y están disponibles en cualquier punto del programa (incluso dentro de cualquier función).

    De esta forma, aunque en el interior de la función no se ha definido ninguna variable llamada mensaje, la variable global creada anteriormente permite que la instrucción alert() dentro de la función muestre el mensaje correctamente.

    Si una variable se declara fuera de cualquier función, automáticamente se transforma en variable global independientemente de si se define utilizando la palabra reservada var o no. Sin embargo, las variables definidas dentro de una función pueden ser globales o locales.

    Si en el interior de una función, las variables se declaran mediante var se consideran locales y las variables que no se han declarado mediante var, se transforman automáticamente en variables globales.

    Por lo tanto, se puede rehacer el código del primer ejemplo para que muestre el mensaje correctamente. Para ello, simplemente se debe definir la variable dentro de la función sin la palabra reservada var, para que se transforme en una variable global:

    function creaMensaje() {

    mensaje = "Mensaje de prueba";

    } creaMensaje(); alert(mensaje);

    ¿Qué sucede si una función define una variable local con el mismo nombre que una variable global que ya existe? En este caso, las variables locales prevalecen sobre las globales, pero sólo dentro de la función:

    var mensaje = "gana la de fuera";

    function muestraMensaje() {

    var mensaje = "gana la de dentro";

    alert(mensaje); } alert(mensaje); muestraMensaje(); alert(mensaje);

    El código anterior muestra por pantalla los siguientes mensajes:

    gana la de fuera gana la de dentro gana la de fuera

    Dentro de la función, la variable local llamada mensaje tiene más prioridad que la variable global del mismo nombre, pero solamente dentro de la función.

    ¿Qué sucede si dentro de una función se define una variable global con el mismo nombre que otra variable global que ya existe? En este otro caso, la variable global definida dentro de la función simplemente modifica el valor de la variable global definida anteriormente:

    var mensaje = "gana la de fuera";

    function muestraMensaje() {

    mensaje = "gana la de dentro";

    alert(mensaje); } alert(mensaje); muestraMensaje(); alert(mensaje);

    En este caso, los mensajes mostrados son:

    gana la de fuera gana la de dentro gana la de dentro

    La recomendación general es definir como variables locales todas las variables que sean de uso exclusivo para realizar las tareas encargadas a cada función. Las variables globales se utilizan para compartir variables entre funciones de forma sencilla.

    Anterior 4.1. Funciones Siguiente

    4.3. Sentencias break y continue

    Indice de contenidos

    1. Introducción2. El primer script3. Programación básica

    Capítulo 4. Programación avanzada

    4.1. Funciones

    4.2. Ámbito de las variables

    4.3. Sentencias break y continue

    4.4. Otras estructuras de control

    fuente : uniwebsidad.com

    ¿Quieres ver la respuesta o más?
    Santiago 5 month ago
    4

    Chicos, ¿alguien sabe la respuesta?

    haga clic para responder