20
ESCUELA SUPERIOR POLITECNICA DE CHIMBORAZO Integrantes: Xavier Maita David Molina Luis Taguada

Diapositivas compu final

Embed Size (px)

Citation preview

Page 1: Diapositivas compu final

ESCUELA SUPERIOR POLITECNICA DE

CHIMBORAZO

Integrantes:Xavier MaitaDavid MolinaLuis Taguada

Page 2: Diapositivas compu final

SUBPROGRAMAS: FUNCIONES

Page 3: Diapositivas compu final

Ámbito variables locales y globales

• Variables locales

• Variables globales

Page 4: Diapositivas compu final

Variables Locales

• Una variable local es aquella que esta declarada y definida dentro de un subprograma, en el sentido de que esta dentro de ese subprograma y es distinta de las variables con el mismo nombre declaradas en cualquier parte del programa principal

Page 5: Diapositivas compu final

Variables Globales

• Una variable global es aquella que está declarada para el programa o algoritmo principal, del que dependen todos los subprograma.

Page 6: Diapositivas compu final

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

Cuando un programa llama a un subprograma, la información se comunica a través de la lista de parámetros y se establece una correspondencia automática entre los parámetros formales y actuales

Page 7: Diapositivas compu final

PASO DE PARÁMETROS• Entradas: las entradas proporcionan valores desde el programa que llama y

que se utilizan dentro de un procedimiento. En los subprogramas función, las entradas son los argumentos en el sentido tradicional;•

Salidas: las salidas producen los resultados del subprograma; de nuevo si se utiliza el caso de una función, éste devuelve un valor calculado por dicha función, mientras que con procedimientos pueden calcularse cero, una o varias salidas.

• Entradas/salidas: un solo parámetro se utiliza para mandar argumentos a un programa y para devolver resultados. Desgraciadamente, el conocimiento del tipo de parámetros no es suficiente para caracterizar su funcionamiento; por ello, examinaremos los diferentes métodos que se utilizan para pasar o transmitir parámetros.

Page 8: Diapositivas compu final

PARÁMETRO POR VALOR

• Un parámetro es pasado por valor cuando lo que se le pasa al subprograma, es una copia del valor de una variable, el cual recibe en una variable local al subprograma, de modo que cualquier operación realizada sobre dicho valor no afectará ni cambiará al valor original. Tomemos, por ejemplo, el siguiente algoritmo:

Page 9: Diapositivas compu final

• procedimiento cambiar(entero a, entero b)• var•    entero: aux• inicio•    aux <- a•    a <- b•    b <- aux• fin_procedimiento

algoritmo Paso_Por_Valor• var•    entero: a, b   • inicio•    a <- 5•    b <- 50•    escribir(a, b)•    cambiar(a, b)•    escribir(a,b)• fin

Page 10: Diapositivas compu final

PASO POR REFERENCIA

• Ahora bien, cuando pasamos parámetros por referencia, en realidad estamos pasando a un subprograma un indicador o apuntador que señala a la posición de memoria donde se almacena el valor de una variable, de modo que todas las operaciones que se hacen sobre dichos valores dentro del subprograma afectan y cambian a los mismos. En el paso por referencia no se pasa una copia de los datos, sino las referencias a los datos originales. Para indicar que un parámetro está siendo pasado por referencia, utilizamos la palabra reservada var delante de cada uno de los argumentos que especifiquemos en la definición del subprograma.

Page 11: Diapositivas compu final

• procedimiento cambiar(var entero a, var entero b)• var•    entero: aux• inicio•    aux <- a•    a <- b•    b <- aux• fin_procedimiento

• algoritmo Paso_Por_Valor• var•    entero: a, b   • inicio•    a <- 5•    b <- 50•    escribir(a, b)•    cambiar(a, b)•    escribir(a,b)• fin

Page 12: Diapositivas compu final

Comparaciones de los métodos de paso de parámetros

• Para examinar de modo práctico los diferentes métodos, consideremos un ejemplo único y veamos los diferentes valores que toman los parámetros. El algoritmo correspondiente con un procedimiento:

Page 13: Diapositivas compu final

Modo por valor• a) sólo por valorno se transmite ningún resultado, por consiguienteC no varía C = 17 • b) valor_resultado X=A=3A=3 Y=A=3B=5 pasa al procedimiento Z=A+B=8 C=17 V=C=17

Page 14: Diapositivas compu final

Modo por referencia

C recibirá el valor 12.

Page 15: Diapositivas compu final

Utilizando variables globales  

 Es decir, el valor de C será 13.La llamada por referencia es el sistema estándar utilizado por FORTRAN para pasar parámetros. La llamada por nombre es estándar en Algol 60. Simula 67 proporciona llamadas por valor, referencia y nombre.

Page 16: Diapositivas compu final

Síntesis de la transmisión de parámetros• Los métodos de transmisión de parámetros más utilizados son por

valor y por referencia.• El paso de un parámetro por valor significa que el valor del

argumento “parámetro actual o real” se asigna al parámetro formal.

Paso de un parámetro por valor.

Page 17: Diapositivas compu final

• Este método es el método por defecto en Pascal si no se indica explícitamente otro. Estos parámetros de entrada se denominan parámetros valor

Paso de un parámetro por referencia.

Page 18: Diapositivas compu final

EJEMPLO: Se trata de realizar el cálculo del área de un círculo y la longitud de la circunferencia en función del valor del radio leído desde el teclado.

Page 19: Diapositivas compu final
Page 20: Diapositivas compu final

¡ GRACIAS !