Exposicion grupal

19
Universidad Técnica Particular de Loja INTEGRANTES: Byron Narváez María José Orellana Nashelly Romero Ángel Torres ELECTRONICA Y TELECOMUNICACIONES FUNDAMENTOS DE LA PROGRAMACION ING. SANTIAGO QUIÑONES Grupo N 2 Capitulo 5

Transcript of Exposicion grupal

Page 1: Exposicion grupal

Universidad Técnica Particular de Loja

INTEGRANTES:

Byron Narváez

María José Orellana

Nashelly Romero

Ángel Torres

ELECTRONICA Y TELECOMUNICACIONES

FUNDAMENTOS DE LA PROGRAMACION

ING. SANTIAGO QUIÑONES

Grupo N 2

Capitulo 5

Page 2: Exposicion grupal

TEMARIO

• Ámbito: variables locales y globales.

• Comunicación con subprogramas: paso de parámetros.

• Los efectos laterales.

Page 3: Exposicion grupal

AMBITO: VARIABLES LOCALES Y GLOBALES

• Las variables utilizadas en los programasprincipales y subprogramas se clasifican endos tipos:

Variables locales

Variables

Globales

Page 4: Exposicion grupal

VARIABLE LOCAL

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.

Definición:

Page 5: Exposicion grupal

VARIABLE GLOBAL

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 parte del programa.

Definición:

Page 6: Exposicion grupal

Variable Global

Variable Local

Variable Local

Variable Local

Page 7: Exposicion grupal

Ejemplo:

Page 8: Exposicion grupal

Comunicación con subprogramas: paso de parámetros

• Cuando un programa llama a un subprograma, la información se comunica através de la lista de parámetros y se establece una correspondenciaautomática entre los parámetros formales y actuales. Los parámetrosactuales son sustituidos o utilizados en lugar de los parámetros formales.

• La declaración del subprograma se hace con:

• Y la llamada al subprograma con Llamar_a nombre (A1, A2, ...,An )

Page 9: Exposicion grupal

Sintaxis para el llamado de un subprograma

• La declaración del subprograma se hace con:

• Y la llamada al subprograma con

• Donde F1, F2, . . . Fn son los parámetros formales y A1, A2, . . . An losparámetros actuales o reales.

Llamar_a nombre (A1, A2, ...,An )

Page 10: Exposicion grupal

Existen dos métodos para establecer la

correspondencia de parámetros:

• Correspondencia posicional. La correspondenciase establece aparejando los parámetros reales yformales según su posición en las listas: así, Fi secorresponde con Ai, donde i= 1, 2, . . . n. estemétodo tiene algunas desventajas de legibilidadcuando el número de parámetros es grande.

• Correspondencia por el nombre explicito:también llamado método de paso deparámetros por nombre. En este método, en lasllamadas se indica explícitamente lacorrespondencia entre los parámetros reales yformales.

Sub (Y => B, X => 30);

Page 11: Exposicion grupal

PASO POR VALOR

• El paso de parámetros por valor consiste encopiar el contenido de la variable quequeremos pasar en otra dentro del ámbitolocal de la subrutina, consiste pues en copiarel contenido de la memoria del argumento quese quiere pasar a otra dirección dememoria, correspondiente al argumentodentro del ámbito de dicha subrutina. Setendrán dos valores duplicados eindependientes, con lo que la modificación deuno no afecta al otro.

Page 12: Exposicion grupal

Ejemplo:

En la función principal

tenemos 2 valores a y b

cuando se llama a la

función “función” los

valores se pasan a n y m

porque solo se pasan los

valores de las variables

y no se modifica nada

Page 13: Exposicion grupal

PASO POR REFERENCIA

• El paso de parámetros por referencia consisteen proporcionar a la subrutina a la que se lequiere pasar el argumento la dirección dememoria del dato. En este caso se tiene unúnico valor referenciado (o apuntado) desdedos puntos diferentes, el programa principal yla subrutina a la que se le pasa elargumento, por lo que cualquier acción sobreel parámetro se realiza sobre la mismaposición de memoria

Page 14: Exposicion grupal

Ejemplo:#include <iostream>

using namespace std;

int funcion(int &n, int &m);

int main() {

int a, b;

a = 10; b = 20;

cout << "a,b ->" << a << ", " << b << endl;

cout << "funcion(a,b) ->" << funcion(a, b) << endl;

cout << "a,b ->" << a << ", " << b << endl;

return 0;

}

int funcion(int &n, int &m) {

n = n + 2;

m = m - 5;

return n+m;

}

Sucede lo mismo que el

anterior caso pero este

hacen que con el &

retornen las variables con

el orden que estuvieron

Page 15: Exposicion grupal

Efectos laterales

Las modificaciones que se produzcan mediante una función oprocedimiento en los elementos situados fuera delsubprograma (función o procedimiento) se denominan efectoslaterales. Aunque en algunos casos los efectos laterales puedenser beneficiosos en la programación, es conveniente norecurrir a ellos de modo general.

Consideramos a continuación los efectos laterales en:funciones y en procedimientos.

Page 16: Exposicion grupal

EFECTOS LATERALES EN funciones

• Una función toma los valores de los argumentos ydevuelve un único valor. Sin embargo, al igual quelos procedimientos una función – en algunoslenguajes de programación – puede hacer cosassimilares a un procedimiento o subrutina.

• Una función puede tener parámetros variablesademás de parámetros valor en la lista deparámetros formales.

• Una función puede cambiar el contenido de unavariable global y ejecutar instrucciones de E/S(escribir un mensaje en la pantalla, leer un valordel teclado, etc). Estas operaciones se conocecomo parámetros laterales y se deben evitar.

Page 17: Exposicion grupal

EFECTOS LATERALES EN procedimientos

• La comunicación del procedimiento con el resto delprograma se debe realizar normalmente a través deparámetros.

• Si un procedimiento modifica una variable global(distinta de un parámetro actual), este es un efectolateral. Por ello, excepto en contadas ocasiones, nodebe aparecer en la declaración del procedimiento. Sise necesita una variable temporal en un procedimiento,utilicé una variable local, no una variable global.

• Si se desea que el programa modifique el valor de unavariable global, utilice un parámetro formal variable enla declaración del procedimiento y a continuaciónutilice la variable global como el parámetro actual enuna llamada al procedimiento.

Page 18: Exposicion grupal

Conclusiones

Page 19: Exposicion grupal

Referencias:

Bibliográficas

• LUÍS, J. (2003): “Fundamentos de Programación, Algoritmos, Estructuras de Datos y Objetos.” Mc-Graw Hill. Madrid.