SlideShare una empresa de Scribd logo
ESCUELA SUPERIOR POLITÉCNICA DE
CHIMBORAZO
INTEGRANTES:
SAÚL CHUQUÍN
RONI URQUIZO
ANGEL APUGLLÓN
Funciones y procedimientos como parámetros
Grupo N 13
TEMARIO
• Funciones y procedimientos como parámetros
• Los efectos laterales
• En procedimientos
• En funciones
• Recursión (recursividad)
Funciones y procedimientos como
parámetros
• Hasta ahora los subprogramas que hemos
considerado implicaban dos tipos de
parámetros formales: parámetros valor y
parámetros variable. Sin embargo, en
ocasiones se requiere que un procedimiento o
función dado invoque a otro procedimiento o
función que ha sido definido fuera del ámbito
de ese procedimiento o función.
Efectos laterales
Las modificaciones que se produzcan mediante una función o
procedimiento en los elementos situados fuera del
subprograma (función o procedimiento) se denominan efectos
laterales. Aunque en algunos casos los efectos laterales pueden
ser beneficiosos en la programación, es conveniente no
recurrir a ellos de modo general.
Consideramos a continuación los efectos laterales en:
funciones y en procedimientos.
EFECTOS LATERALES EN
funciones
• Una función toma los valores de los argumentos y
devuelve un único valor. Sin embargo, al igual que
los procedimientos una función – en algunos
lenguajes de programación – puede hacer cosas
similares a un procedimiento o subrutina.
• Una función puede tener parámetros variables
además de parámetros valor en la lista de
parámetros formales.
• Una función puede cambiar el contenido de una
variable global y ejecutar instrucciones de E/S
(escribir un mensaje en la pantalla, leer un valor
del teclado, etc). Estas operaciones se conoce
como parámetros laterales y se deben evitar.
EFECTOS LATERALES EN
procedimientos
• La comunicación del procedimiento con el resto del
programa se debe realizar normalmente a través de
parámetros.
• Si un procedimiento modifica una variable global
(distinta de un parámetro actual), este es un efecto
lateral. Por ello, excepto en contadas ocasiones, no
debe aparecer en la declaración del procedimiento. Si
se 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 una
variable global, utilice un parámetro formal variable en
la declaración del procedimiento y a continuación
utilice la variable global como el parámetro actual en
una llamada al procedimiento.
AMBITO: VARIABLES LOCALES Y
GLOBALES
• Las variables utilizadas en los programas
principales y subprogramas se clasifican en
dos tipos:
Variables
locales
Variables
Globales
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:
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:
Variable Global
Variable Local
Variable Local
Variable Local
Ejemplo:
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. Los parámetros
actuales 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 )
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 los
parámetros actuales o reales.
Llamar_a nombre (A1, A2, ...,An )
Existen dos métodos para establecer la
correspondencia de parámetros:
• Correspondencia posicional. La correspondencia
se establece aparejando los parámetros reales y
formales según su posición en las listas: así, Fi se
corresponde con Ai, donde i= 1, 2, . . . n. este
método tiene algunas desventajas de legibilidad
cuando el número de parámetros es grande.
• Correspondencia por el nombre explicito:
también llamado método de paso de
parámetros por nombre. En este método, en las
llamadas se indica explícitamente la
correspondencia entre los parámetros reales y
formales.
Sub (Y => B, X => 30);
PASO POR VALOR
• El paso de parámetros por valor consiste en
copiar el contenido de la variable que
queremos pasar en otra dentro del ámbito
local de la subrutina, consiste pues en copiar
el contenido de la memoria del argumento que
se quiere pasar a otra dirección de memoria,
correspondiente al argumento dentro del
ámbito de dicha subrutina. Se tendrán dos
valores duplicados e independientes, con lo
que la modificación de uno no afecta al otro.
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
PASO POR REFERENCIA
• El paso de parámetros por referencia consiste
en proporcionar a la subrutina a la que se le
quiere pasar el argumento la dirección de
memoria del dato. En este caso se tiene un
único valor referenciado (o apuntado) desde
dos puntos diferentes, el programa principal y
la subrutina a la que se le pasa el argumento,
por lo que cualquier acción sobre el parámetro
se realiza sobre la misma posición de memoria
•
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
Concepto de recursión
Recursión (recursividad, recurrencia)
Definición recursiva: En la definición aparece lo que se define
Factorial(N) = N x Factorial(N-1) (N >= 0)
(wikipedia.org)
La imagen del paquete
aparece dentro del propio
paquete,... ¡hasta el infinito!
Algoritmos recursivos
ANEXOS.
1. Elija la palabra correcta que complete el párrafo
Hasta ahora los subprogramas que hemos considerado implicaban dos tipos de parámetros
formales: parámetros…………. y parámetros……………..
Respuestas:
A. local 1) A,D
B. variable 2) D,C
C. valor 3) B,C
D. global 4) B,A
2. Las modificaciones que se produzcan mediante una función o procedimiento en los
elementos situados fuera del subprograma (función o procedimiento) se denominan:
Respuestas:
A. efectos globales. 1) A
B. efectos laterales. 2) D
C. efectos secundarios. 3) B
D. efectos de programación. 4) C
3. Una variable local es aquella cuyo ámbito se………………. a la función que la ha declarado se
dice entonces que la variable es……………a esa función.
Respuestas:
A. Parcial. 1) D,A
B. local. 2) D,B
C. Prohíbe. 3) A,B
D. Restringe 4) C,D
4. Una variable global es aquella que se define fuera del cuerpo de cualquier función,
normalmente al principio del………
Respuestas:
A. Programa. 1) C
B. Subprograma. 2) A
C. Software. 3) D
D. Documento 4) B
Referencias:
Bibliográficas
• LUÍS, J. (2003): “Fundamentos de
Programación, Algoritmos, Estructuras de
Datos y Objetos.” Mc-Graw Hill. Madrid.
• http://es.slideshare.net/julius77/fundamento
s-de-programacin-4ta-edicin-luis-joyanes-
aguilar

Más contenido relacionado

La actualidad más candente

Funciones C++ modificado
Funciones C++ modificadoFunciones C++ modificado
Funciones C++ modificado
compumet sac
 
Fundamentos de programación: Subprogramas
Fundamentos de programación: SubprogramasFundamentos de programación: Subprogramas
Fundamentos de programación: Subprogramas
Luis Ortiz
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
ANDRES FELIPE CRUZ ERAZO
 
Funciones y procedimientos
Funciones y procedimientosFunciones y procedimientos
Funciones y procedimientos
williguerrero
 
Diapositivas compu final
Diapositivas compu finalDiapositivas compu final
Diapositivas compu final
Xavier Maita
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
Jose Eamirez
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
flaquita_dany
 
procedimientos (programación)
procedimientos (programación)procedimientos (programación)
procedimientos (programación)
Jandry Banegas
 
vectores y matrices
vectores y matricesvectores y matrices
vectores y matrices
Marlene Pallo
 
Funciones con vectores y matrices1
Funciones con vectores y matrices1Funciones con vectores y matrices1
Funciones con vectores y matrices1
Marlene Pallo
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3
karlalopezbello
 
8448148681
84481486818448148681
8448148681
David Brigido
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
flaquita_dany
 
Funciones en visual basic
Funciones en visual basicFunciones en visual basic
Funciones en visual basic
Danny Mendoza
 
Procedimientos en visual basic
Procedimientos en visual basicProcedimientos en visual basic
Procedimientos en visual basic
Lenin Yoeseer Espinoza Lopez
 
Guía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de FlujoGuía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de Flujo
José Ricardo Tillero Giménez
 
Metodos en java
Metodos en javaMetodos en java
Metodos en java
Ricardo Garcia
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
Ronny Parra
 
Programación modular en Introducción a la Programación
Programación modular en Introducción a la ProgramaciónProgramación modular en Introducción a la Programación
Programación modular en Introducción a la Programación
Facultad de Ciencias y Sistemas
 
Funciones en VB
Funciones en VBFunciones en VB

La actualidad más candente (20)

Funciones C++ modificado
Funciones C++ modificadoFunciones C++ modificado
Funciones C++ modificado
 
Fundamentos de programación: Subprogramas
Fundamentos de programación: SubprogramasFundamentos de programación: Subprogramas
Fundamentos de programación: Subprogramas
 
Funciones en C++
Funciones en C++Funciones en C++
Funciones en C++
 
Funciones y procedimientos
Funciones y procedimientosFunciones y procedimientos
Funciones y procedimientos
 
Diapositivas compu final
Diapositivas compu finalDiapositivas compu final
Diapositivas compu final
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
procedimientos (programación)
procedimientos (programación)procedimientos (programación)
procedimientos (programación)
 
vectores y matrices
vectores y matricesvectores y matrices
vectores y matrices
 
Funciones con vectores y matrices1
Funciones con vectores y matrices1Funciones con vectores y matrices1
Funciones con vectores y matrices1
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3
 
8448148681
84481486818448148681
8448148681
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Funciones en visual basic
Funciones en visual basicFunciones en visual basic
Funciones en visual basic
 
Procedimientos en visual basic
Procedimientos en visual basicProcedimientos en visual basic
Procedimientos en visual basic
 
Guía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de FlujoGuía Práctica de Diagramas de Flujo
Guía Práctica de Diagramas de Flujo
 
Metodos en java
Metodos en javaMetodos en java
Metodos en java
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Programación modular en Introducción a la Programación
Programación modular en Introducción a la ProgramaciónProgramación modular en Introducción a la Programación
Programación modular en Introducción a la Programación
 
Funciones en VB
Funciones en VBFunciones en VB
Funciones en VB
 

Similar a Actividad grupal

Actividad 20
Actividad 20 Actividad 20
Actividad 20
luis-1995
 
Funciones
FuncionesFunciones
Funciones
adark
 
GRUPO 12 Ámbito: variables locales y globales
GRUPO 12  Ámbito: variables locales y globales GRUPO 12  Ámbito: variables locales y globales
GRUPO 12 Ámbito: variables locales y globales
Rommel Lòpez
 
04 - Módulos. Funciones.doc
04 - Módulos. Funciones.doc04 - Módulos. Funciones.doc
04 - Módulos. Funciones.doc
AdrianaLuna80
 
Variables
VariablesVariables
Variables
Franklin Anilema
 
Subprogramas y efectos laterales
Subprogramas y efectos lateralesSubprogramas y efectos laterales
Subprogramas y efectos laterales
Víctor Eras Costa
 
05 - Funciones en lenguaje C
05 - Funciones en lenguaje C05 - Funciones en lenguaje C
05 - Funciones en lenguaje C
Diego Andrés Alvarez Marín
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
computaciondosunefm
 
Programación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funcionesProgramación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funciones
AlexanderAloid
 
Estructura de datos , investigacion 2
Estructura de datos , investigacion 2Estructura de datos , investigacion 2
Estructura de datos , investigacion 2
xgianx
 
Estructura de datos , investigacion 2
Estructura de datos , investigacion 2Estructura de datos , investigacion 2
Estructura de datos , investigacion 2
'Giancarlos Villarreal'
 
Mecanismo de paso de parametros en funciones
Mecanismo de paso de parametros en funcionesMecanismo de paso de parametros en funciones
Mecanismo de paso de parametros en funciones
'Giancarlos Villarreal'
 
Mecanismo de pasos de parametros en funciones
Mecanismo de pasos de parametros en funcionesMecanismo de pasos de parametros en funciones
Mecanismo de pasos de parametros en funciones
'Giancarlos Villarreal'
 
Funciones
FuncionesFunciones
Funciones
COLEGIOYARUQUI
 
050 Componentes de un programa Python.pdf
050 Componentes de un programa Python.pdf050 Componentes de un programa Python.pdf
050 Componentes de un programa Python.pdf
WilliamMataRodriguez
 
Visualbasic net tema de java
Visualbasic net tema de javaVisualbasic net tema de java
Visualbasic net tema de java
Group Lliuya
 
Operadores de asignación
Operadores  de asignaciónOperadores  de asignación
Operadores de asignación
Fernando Solis
 
Metodos funciones
Metodos funcionesMetodos funciones
Metodos funciones
eulo10
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
Ysaac Ruiz
 
Elemento 4
Elemento 4Elemento 4
Elemento 4
mariaamec
 

Similar a Actividad grupal (20)

Actividad 20
Actividad 20 Actividad 20
Actividad 20
 
Funciones
FuncionesFunciones
Funciones
 
GRUPO 12 Ámbito: variables locales y globales
GRUPO 12  Ámbito: variables locales y globales GRUPO 12  Ámbito: variables locales y globales
GRUPO 12 Ámbito: variables locales y globales
 
04 - Módulos. Funciones.doc
04 - Módulos. Funciones.doc04 - Módulos. Funciones.doc
04 - Módulos. Funciones.doc
 
Variables
VariablesVariables
Variables
 
Subprogramas y efectos laterales
Subprogramas y efectos lateralesSubprogramas y efectos laterales
Subprogramas y efectos laterales
 
05 - Funciones en lenguaje C
05 - Funciones en lenguaje C05 - Funciones en lenguaje C
05 - Funciones en lenguaje C
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
Programación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funcionesProgramación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funciones
 
Estructura de datos , investigacion 2
Estructura de datos , investigacion 2Estructura de datos , investigacion 2
Estructura de datos , investigacion 2
 
Estructura de datos , investigacion 2
Estructura de datos , investigacion 2Estructura de datos , investigacion 2
Estructura de datos , investigacion 2
 
Mecanismo de paso de parametros en funciones
Mecanismo de paso de parametros en funcionesMecanismo de paso de parametros en funciones
Mecanismo de paso de parametros en funciones
 
Mecanismo de pasos de parametros en funciones
Mecanismo de pasos de parametros en funcionesMecanismo de pasos de parametros en funciones
Mecanismo de pasos de parametros en funciones
 
Funciones
FuncionesFunciones
Funciones
 
050 Componentes de un programa Python.pdf
050 Componentes de un programa Python.pdf050 Componentes de un programa Python.pdf
050 Componentes de un programa Python.pdf
 
Visualbasic net tema de java
Visualbasic net tema de javaVisualbasic net tema de java
Visualbasic net tema de java
 
Operadores de asignación
Operadores  de asignaciónOperadores  de asignación
Operadores de asignación
 
Metodos funciones
Metodos funcionesMetodos funciones
Metodos funciones
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
Elemento 4
Elemento 4Elemento 4
Elemento 4
 

Último

Mi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste BlancoMi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste Blanco
Ruth Noemí Soto Villegas
 
Gracias papá hombre_letra y acordes de guitarra.pdf
Gracias papá hombre_letra y acordes de guitarra.pdfGracias papá hombre_letra y acordes de guitarra.pdf
Gracias papá hombre_letra y acordes de guitarra.pdf
Ani Ann
 
REGIMÉN ACADÉMICO PARA LA EDUCACIÓN SECUNDARIA - RESOC-2024-1650-GDEBA-DGC...
REGIMÉN ACADÉMICO PARA LA EDUCACIÓN SECUNDARIA - RESOC-2024-1650-GDEBA-DGC...REGIMÉN ACADÉMICO PARA LA EDUCACIÓN SECUNDARIA - RESOC-2024-1650-GDEBA-DGC...
REGIMÉN ACADÉMICO PARA LA EDUCACIÓN SECUNDARIA - RESOC-2024-1650-GDEBA-DGC...
carla526481
 
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptx
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptxDesarrollo-Embrionario-y-Diferenciacion-Celular.pptx
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptx
TatianaHerrera46
 
Independencia de Chile, Causas internas y externas
Independencia de Chile, Causas internas y externasIndependencia de Chile, Causas internas y externas
Independencia de Chile, Causas internas y externas
canessamacarena
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
Jose Luis Jimenez Rodriguez
 
La filosofía presocrática y los filosofos más relvantes del periodo.
La filosofía presocrática y los filosofos más relvantes del periodo.La filosofía presocrática y los filosofos más relvantes del periodo.
La filosofía presocrática y los filosofos más relvantes del periodo.
DobbieElfo
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
johnyamg20
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
LuanaJaime1
 
Hablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes CuadernilloHablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes Cuadernillo
Mónica Sánchez
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
Ana Fernandez
 
Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.
genesiscabezas469
 
Escuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdfEscuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdf
Alejandrino Halire Ccahuana
 
PLAN 365 Presentación Gobierno 2024 (1).pdf
PLAN 365 Presentación Gobierno 2024  (1).pdfPLAN 365 Presentación Gobierno 2024  (1).pdf
PLAN 365 Presentación Gobierno 2024 (1).pdf
ElizabethLpez634570
 
Eureka 2024 ideas y dudas para la feria de Ciencias
Eureka 2024 ideas y dudas para la feria de CienciasEureka 2024 ideas y dudas para la feria de Ciencias
Eureka 2024 ideas y dudas para la feria de Ciencias
arianet3011
 
1.- manual-para-la-creacion-33-dias-de-manifestacion-ulises-sampe.pdf
1.- manual-para-la-creacion-33-dias-de-manifestacion-ulises-sampe.pdf1.- manual-para-la-creacion-33-dias-de-manifestacion-ulises-sampe.pdf
1.- manual-para-la-creacion-33-dias-de-manifestacion-ulises-sampe.pdf
MiNeyi1
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
LuanaJaime1
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
karlafreire0608
 
Presentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdfPresentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdf
eleandroth
 
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacional
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacionalPapel histórico de los niños, jóvenes y adultos mayores en la historia nacional
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacional
BrunoDiaz343346
 

Último (20)

Mi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste BlancoMi Comunidad En El Sector Monterrey-Poste Blanco
Mi Comunidad En El Sector Monterrey-Poste Blanco
 
Gracias papá hombre_letra y acordes de guitarra.pdf
Gracias papá hombre_letra y acordes de guitarra.pdfGracias papá hombre_letra y acordes de guitarra.pdf
Gracias papá hombre_letra y acordes de guitarra.pdf
 
REGIMÉN ACADÉMICO PARA LA EDUCACIÓN SECUNDARIA - RESOC-2024-1650-GDEBA-DGC...
REGIMÉN ACADÉMICO PARA LA EDUCACIÓN SECUNDARIA - RESOC-2024-1650-GDEBA-DGC...REGIMÉN ACADÉMICO PARA LA EDUCACIÓN SECUNDARIA - RESOC-2024-1650-GDEBA-DGC...
REGIMÉN ACADÉMICO PARA LA EDUCACIÓN SECUNDARIA - RESOC-2024-1650-GDEBA-DGC...
 
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptx
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptxDesarrollo-Embrionario-y-Diferenciacion-Celular.pptx
Desarrollo-Embrionario-y-Diferenciacion-Celular.pptx
 
Independencia de Chile, Causas internas y externas
Independencia de Chile, Causas internas y externasIndependencia de Chile, Causas internas y externas
Independencia de Chile, Causas internas y externas
 
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdfFEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
FEEDBACK DE LA ESTRUCTURA CURRICULAR- 2024.pdf
 
La filosofía presocrática y los filosofos más relvantes del periodo.
La filosofía presocrática y los filosofos más relvantes del periodo.La filosofía presocrática y los filosofos más relvantes del periodo.
La filosofía presocrática y los filosofos más relvantes del periodo.
 
Business Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business TechBusiness Plan -rAIces - Agro Business Tech
Business Plan -rAIces - Agro Business Tech
 
Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......Clase Prensencial, Actividad 2.pdf.......
Clase Prensencial, Actividad 2.pdf.......
 
Hablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes CuadernilloHablemos de ESI para estudiantes Cuadernillo
Hablemos de ESI para estudiantes Cuadernillo
 
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBALMATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
MATERIAL ESCOLAR 2024-2025 3 AÑOS CEIP SAN CRISTÓBAL
 
Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.Presentación de la historia de PowerPoint y sus características más relevantes.
Presentación de la historia de PowerPoint y sus características más relevantes.
 
Escuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdfEscuela Sabática. El conflicto inminente.pdf
Escuela Sabática. El conflicto inminente.pdf
 
PLAN 365 Presentación Gobierno 2024 (1).pdf
PLAN 365 Presentación Gobierno 2024  (1).pdfPLAN 365 Presentación Gobierno 2024  (1).pdf
PLAN 365 Presentación Gobierno 2024 (1).pdf
 
Eureka 2024 ideas y dudas para la feria de Ciencias
Eureka 2024 ideas y dudas para la feria de CienciasEureka 2024 ideas y dudas para la feria de Ciencias
Eureka 2024 ideas y dudas para la feria de Ciencias
 
1.- manual-para-la-creacion-33-dias-de-manifestacion-ulises-sampe.pdf
1.- manual-para-la-creacion-33-dias-de-manifestacion-ulises-sampe.pdf1.- manual-para-la-creacion-33-dias-de-manifestacion-ulises-sampe.pdf
1.- manual-para-la-creacion-33-dias-de-manifestacion-ulises-sampe.pdf
 
Presentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdfPresentación de proyecto en acuarela moderna verde.pdf
Presentación de proyecto en acuarela moderna verde.pdf
 
Los Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres VivosLos Dominios y Reinos de los Seres Vivos
Los Dominios y Reinos de los Seres Vivos
 
Presentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdfPresentación simple corporativa degradado en violeta blanco.pdf
Presentación simple corporativa degradado en violeta blanco.pdf
 
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacional
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacionalPapel histórico de los niños, jóvenes y adultos mayores en la historia nacional
Papel histórico de los niños, jóvenes y adultos mayores en la historia nacional
 

Actividad grupal

  • 1. ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO INTEGRANTES: SAÚL CHUQUÍN RONI URQUIZO ANGEL APUGLLÓN Funciones y procedimientos como parámetros Grupo N 13
  • 2. TEMARIO • Funciones y procedimientos como parámetros • Los efectos laterales • En procedimientos • En funciones • Recursión (recursividad)
  • 3. Funciones y procedimientos como parámetros • Hasta ahora los subprogramas que hemos considerado implicaban dos tipos de parámetros formales: parámetros valor y parámetros variable. Sin embargo, en ocasiones se requiere que un procedimiento o función dado invoque a otro procedimiento o función que ha sido definido fuera del ámbito de ese procedimiento o función.
  • 4. Efectos laterales Las modificaciones que se produzcan mediante una función o procedimiento en los elementos situados fuera del subprograma (función o procedimiento) se denominan efectos laterales. Aunque en algunos casos los efectos laterales pueden ser beneficiosos en la programación, es conveniente no recurrir a ellos de modo general. Consideramos a continuación los efectos laterales en: funciones y en procedimientos.
  • 5. EFECTOS LATERALES EN funciones • Una función toma los valores de los argumentos y devuelve un único valor. Sin embargo, al igual que los procedimientos una función – en algunos lenguajes de programación – puede hacer cosas similares a un procedimiento o subrutina. • Una función puede tener parámetros variables además de parámetros valor en la lista de parámetros formales. • Una función puede cambiar el contenido de una variable global y ejecutar instrucciones de E/S (escribir un mensaje en la pantalla, leer un valor del teclado, etc). Estas operaciones se conoce como parámetros laterales y se deben evitar.
  • 6. EFECTOS LATERALES EN procedimientos • La comunicación del procedimiento con el resto del programa se debe realizar normalmente a través de parámetros. • Si un procedimiento modifica una variable global (distinta de un parámetro actual), este es un efecto lateral. Por ello, excepto en contadas ocasiones, no debe aparecer en la declaración del procedimiento. Si se 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 una variable global, utilice un parámetro formal variable en la declaración del procedimiento y a continuación utilice la variable global como el parámetro actual en una llamada al procedimiento.
  • 7. AMBITO: VARIABLES LOCALES Y GLOBALES • Las variables utilizadas en los programas principales y subprogramas se clasifican en dos tipos: Variables locales Variables Globales
  • 8. 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:
  • 9. 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:
  • 12. 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. Los parámetros actuales 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 )
  • 13. 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 los parámetros actuales o reales. Llamar_a nombre (A1, A2, ...,An )
  • 14. Existen dos métodos para establecer la correspondencia de parámetros: • Correspondencia posicional. La correspondencia se establece aparejando los parámetros reales y formales según su posición en las listas: así, Fi se corresponde con Ai, donde i= 1, 2, . . . n. este método tiene algunas desventajas de legibilidad cuando el número de parámetros es grande. • Correspondencia por el nombre explicito: también llamado método de paso de parámetros por nombre. En este método, en las llamadas se indica explícitamente la correspondencia entre los parámetros reales y formales. Sub (Y => B, X => 30);
  • 15. PASO POR VALOR • El paso de parámetros por valor consiste en copiar el contenido de la variable que queremos pasar en otra dentro del ámbito local de la subrutina, consiste pues en copiar el contenido de la memoria del argumento que se quiere pasar a otra dirección de memoria, correspondiente al argumento dentro del ámbito de dicha subrutina. Se tendrán dos valores duplicados e independientes, con lo que la modificación de uno no afecta al otro.
  • 16. 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
  • 17. PASO POR REFERENCIA • El paso de parámetros por referencia consiste en proporcionar a la subrutina a la que se le quiere pasar el argumento la dirección de memoria del dato. En este caso se tiene un único valor referenciado (o apuntado) desde dos puntos diferentes, el programa principal y la subrutina a la que se le pasa el argumento, por lo que cualquier acción sobre el parámetro se realiza sobre la misma posición de memoria •
  • 18. 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
  • 19. Concepto de recursión Recursión (recursividad, recurrencia) Definición recursiva: En la definición aparece lo que se define Factorial(N) = N x Factorial(N-1) (N >= 0) (wikipedia.org) La imagen del paquete aparece dentro del propio paquete,... ¡hasta el infinito!
  • 21. ANEXOS. 1. Elija la palabra correcta que complete el párrafo Hasta ahora los subprogramas que hemos considerado implicaban dos tipos de parámetros formales: parámetros…………. y parámetros…………….. Respuestas: A. local 1) A,D B. variable 2) D,C C. valor 3) B,C D. global 4) B,A 2. Las modificaciones que se produzcan mediante una función o procedimiento en los elementos situados fuera del subprograma (función o procedimiento) se denominan: Respuestas: A. efectos globales. 1) A B. efectos laterales. 2) D C. efectos secundarios. 3) B D. efectos de programación. 4) C
  • 22. 3. Una variable local es aquella cuyo ámbito se………………. a la función que la ha declarado se dice entonces que la variable es……………a esa función. Respuestas: A. Parcial. 1) D,A B. local. 2) D,B C. Prohíbe. 3) A,B D. Restringe 4) C,D 4. Una variable global es aquella que se define fuera del cuerpo de cualquier función, normalmente al principio del……… Respuestas: A. Programa. 1) C B. Subprograma. 2) A C. Software. 3) D D. Documento 4) B
  • 23. Referencias: Bibliográficas • LUÍS, J. (2003): “Fundamentos de Programación, Algoritmos, Estructuras de Datos y Objetos.” Mc-Graw Hill. Madrid. • http://es.slideshare.net/julius77/fundamento s-de-programacin-4ta-edicin-luis-joyanes- aguilar