La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Modularización (Funciones) Prof. Miguel Vélez Rubio.

Presentaciones similares


Presentación del tema: "Modularización (Funciones) Prof. Miguel Vélez Rubio."— Transcripción de la presentación:

1 Modularización (Funciones) Prof. Miguel Vélez Rubio

2 Función o Módulo main() Tomado de Gaddis

3 Funciones que Devuelven un Valor int main() {... return 0; } double average() {... avg = (v1+v2)/2; return avg; }

4 Funciones que Devuelven un Valor Ejemplos de llamadas: Discutidos: valorNuevo = sqrt(16); otroValor = valorNuevo + pow(2, 5); Creada: prom = average();

5 Funciones o Módulos que No Devuelven Valor void presentarTitulos() {... } void leerDatos() {... }

6 Funciones o Módulos que No Devuelven Valor Ejemplos de llamadas: presentarTitulos(); leerDatos();

7 Prototipo de Funciones (Declaración de Funciones) Se declaran antes del main() de la siguiente manera: double average(); void presentarTitulos(); void leerDatos();

8 Prototipo de Funciones Tomado de Gaddis

9 Prototipo de Funciones Tomado de Gaddis

10 Paso de argumentos a funciones En pseudocódigo hacíamos llamadas con argumentos así: Execute CalcularPromedio(valor1, valor2, prom) Para invocar módulos construídos así: Module CalcularPromedio(In v1, v2:real, Out p:real) …

11 Paso de argumentos a funciones Los parámetros en los módulos se declaran: In: Sólo se reciben sin devolverlos (v1 y v2) Out: Se devuelven tras asignarles algún valor (p) In/Out: Se reciben con algún valor el cual cambia y se devuelve cambiado

12 Parámetros Tipo In Se les llama parámetros por valor (by value)

13 Ejemplo Por Valor En el prototipo: void PresentarResultados(int, double); En módulo que llama (Ejemplo: main()) PresentarResultados(unidades, costo); En definición del módulo: void PresentarResultados(int units, double cost) { … }

14 Ejemplo Por Valor Tomado de Gaddis

15 Ejemplo Por Valor Tomado de Gaddis

16 Parámetros Tipo Out o In/Out Se les llama parámetros por referencia (by reference)

17 Ejemplo Por Referencia En el prototipo: void LeerDatos(int &, double &); En módulo que llama (Ejemplo: main()) LeerDatos(valor1, valor2); En definición del módulo: void LeerDatos(int &v1, double &v2) { … }

18 Ejemplo Por Referencia Tomado de Gaddis

19 Ejemplo Por Referencia Tomado de Gaddis

20 Ejemplo Combinado En el prototipo: void CalcularPromedio(double, double, double &); En módulo que llama (Ejemplo: main()) CalcularPromedio(valor1, valor2, prom); En definición del módulo: void CalcularPromedio(double v1, double v2, double &p) { … }

21 El Mismo Ejemplo con Función que Regresa un Valor En el prototipo: double CalcularPromedio(double, double); En módulo que llama (Ejemplo: main()) prom = CalcularPromedio(valor1, valor2); En definición del módulo: double CalcularPromedio(double v1, double v2) { return (v1+v2)/2; }

22 Variables y Constantes Locales Son todas aquellas variables o constantes que declaramos y utilizamos dentro de un módulo o función Esto incluye a main() o a cualquier función definida por el usuario Su tiempo de vida está dado desde el instante en que se declara hasta el final de la función en donde haya sido definida

23 Ejemplos de Variables Locales int main() { int num1, num2; int prod; char letter; … } Todas estas variables son locales a main()

24 Ejemplos de Variables Locales int main() { int num1, num2; … FuncionTal(); } void FuncionTal() { double x; boolean s; … } num1 y num2 son locales a main() x y s son locales a FuncionTal()

25 Variables y Constantes Globales Son todas aquellas variables o constantes que declaramos al principio de un programa antes de la función main() Su tiempo de vida está dado desde el instante en que se declara hasta el momento en que deje de ejecutar el programa Pueden ser utilizadas en cualesquiera de las funciones del programa y nunca pierden su valor al ser utilizadas en funciones distintas salvo los cambios que se hagan en sí a una variable

26 Ejemplo Combinado const double PI = 3.14159; void FuncionTal(); int main() { int num1, num2; … num2 = num1 * PI; FuncionTal(); } void FuncionTal() { double x; … cout << (x * PI); } num1 y num2 son locales a main() x es local a FuncionTal() PI es visible en todos

27 Discusión de Problema … y Práctica Dirigida


Descargar ppt "Modularización (Funciones) Prof. Miguel Vélez Rubio."

Presentaciones similares


Anuncios Google