SlideShare una empresa de Scribd logo
1 de 23
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

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
Funcionesadark
 
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.docAdrianaLuna80
 
Subprogramas y efectos laterales
Subprogramas y efectos lateralesSubprogramas y efectos laterales
Subprogramas y efectos lateralesVíctor Eras Costa
 
Programación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funcionesProgramación Modular - Subprogramas o funciones
Programación Modular - Subprogramas o funcionesAlexanderAloid
 
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'
 
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'
 
Estructura de datos , investigacion 2
Estructura de datos , investigacion 2Estructura de datos , investigacion 2
Estructura de datos , investigacion 2xgianx
 
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.pdfWilliamMataRodriguez
 
Visualbasic net tema de java
Visualbasic net tema de javaVisualbasic net tema de java
Visualbasic net tema de javaGroup Lliuya
 
Operadores de asignación
Operadores  de asignaciónOperadores  de asignación
Operadores de asignaciónFernando Solis
 
Metodos funciones
Metodos funcionesMetodos funciones
Metodos funcioneseulo10
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacionYsaac Ruiz
 

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
 
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
 
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
 
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
 
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

Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónLourdes Feria
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docxAleParedes11
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arteRaquel Martín Contreras
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoFundación YOD YOD
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxlclcarmen
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleJonathanCovena1
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfMaryRotonda1
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadAlejandrino Halire Ccahuana
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxinformacionasapespu
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzprofefilete
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticosisabeltrejoros
 

Último (20)

Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docxGLOSAS  Y PALABRAS ACTO 2 DE ABRIL 2024.docx
GLOSAS Y PALABRAS ACTO 2 DE ABRIL 2024.docx
 
Historia y técnica del collage en el arte
Historia y técnica del collage en el arteHistoria y técnica del collage en el arte
Historia y técnica del collage en el arte
 
Heinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativoHeinsohn Privacidad y Ciberseguridad para el sector educativo
Heinsohn Privacidad y Ciberseguridad para el sector educativo
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptxSINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
SINTAXIS DE LA ORACIÓN SIMPLE 2023-2024.pptx
 
Introducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo SostenibleIntroducción:Los objetivos de Desarrollo Sostenible
Introducción:Los objetivos de Desarrollo Sostenible
 
Manual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdfManual - ABAS II completo 263 hojas .pdf
Manual - ABAS II completo 263 hojas .pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
Lecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdadLecciones 04 Esc. Sabática. Defendamos la verdad
Lecciones 04 Esc. Sabática. Defendamos la verdad
 
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptxPRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
PRIMER SEMESTRE 2024 ASAMBLEA DEPARTAMENTAL.pptx
 
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdfPlanificacion Anual 4to Grado Educacion Primaria   2024   Ccesa007.pdf
Planificacion Anual 4to Grado Educacion Primaria 2024 Ccesa007.pdf
 
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdfResolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
Resolucion de Problemas en Educacion Inicial 5 años ED-2024 Ccesa007.pdf
 
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyzel CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
el CTE 6 DOCENTES 2 2023-2024abcdefghijoklmnñopqrstuvwxyz
 
texto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticostexto argumentativo, ejemplos y ejercicios prácticos
texto argumentativo, ejemplos y ejercicios prácticos
 

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