SlideShare una empresa de Scribd logo
1 de 21
ESCUELA SUPERIOR POLITÉCNICA DE
CHIMBORAZO
CURSO : 2do “C”
INTEGRANTES:
- Moreno Dalton
-Taguada Luis
Funciones y procedimientos como parámetros
Grupo N 13
FACULTAD DE MECÁNICA
ESCUELA DE INGENIERIA AUTOMOTRIZ
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.
Ejemplo:
• procedimiento P(E func: F1; E real: x, y) real
función F(E func: F1, F2; E entero:x, y)
• Los parámetros formales del procedimiento P
son la función F1 y las variables x e y, y los
parámetros formales de la función F son las
funciones F1 y F2, y las variables x e y.
Procedimientos función
• Para ilustrar el uso de los parámetros
función, consideremos la función integral
para calcular el área bajo una curva
f(x) para un intervalo a <= x <= b.
La técnica conocida para el cálculo del área
es subdividir la región en rectángulos, y
sumar las áreas de los rectángulos.
• Los parámetros función se designan como tales con
una cabecera de función dentro de la lista de
parámetros formales. La función integral podrá
definirse por
• real función integral(E func: f; E real: a,b; E entero:
n) el tipo func-tipo real func función (E real: x)
• aquí la función f(x: real): real especifica que f es una
función parámetro que denota una función cuyo
parámetro formal y valor son de tipo real.
Ejemplo:
• Diseñar un algoritmo que utilice la función Integral
para calcular el área bajo el gráfico de las funciones
f1 (x) = x 3 – 6x3 + 10x y f2(x) = x2+3x+2 para 0 <= x
<= 4.
algoritmo Area_bajo_curvas
tipo
real función(E real : x) : func
var
real : a,b
entero : n
inicio
escribir('¿Entre qué límites?')
leer(a, b)
escribir('¿Subintervalos?')
leer(n)
escribir(integral(f1, a, b, n))
escribir(integral(f2, a, b, n))
fin
real FUNCIÓN f1 (E real : x)
inicio
devolver( x * x * x – 6 * x * x
+ 10 * x)
fin_funcion
real FUNCIÓN f2 (E real : x)
inicio
devolver( x * x + 3 * x + 2 )
fin_función
real FUNCIÓN integral (E
func : f; E real : a, b; E entero
: n)
var
real :
baserectangulo,altura,x,s
entero : i
inicio
baserectangulo ← (b –
a) / n
x ← a +
baserectangulo/2
s ← 0
desde i ← 1 hasta n
hacer
altura ← f(x)
s ← s + baserectangulo
* altura
x ← x +
baserectangulo
fin_desde
devolver(s)
fin_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.
En procedimientos
• La comunicación del procedimiento con el resto del
programa se debe realizar normalmente a través de
parámetros.
• Cualquier otra comunicación entre el procedimiento
y el resto del programa se conoce como efectos
laterales. Los efectos laterales son perjudiciales
casi en la mayoría de casos.
En funciones
• Una función toma los valores de los argumentos y
devuelve un único valor
• 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 Entrada y
Salida.
Recursión (recursividad)
• Como ya se conoce, un subprograma puede
llamar a cualquier otro subprograma y éste a
otro, y así sucesivamente; dicho de otro modo,
los subprogramas se pueden anidar. Se puede
tener
• A llamar_a B, B llamar_a C, C llamar_a D
• Cuando se produce el retorno de los
subprogramas a la terminación de cada uno de
ellos el proceso resultante será
• D retornar_a C, C retornar_a B, B retornar_a A
• ¿Qué sucedería si dos subprogramas de una
secuencia son los mismos?
• A llamar_a A o bien A llamar_a B, B llamar_a A
• En primera instancia, parece incorrecta. Sin
embargo, existen lenguajes de programación —
Pascal, C, entre otros— en que un subprograma
puede llamarse a sí mismo.
• Una función o procedimiento que se puede
llamar a sí mismo se llama recursivo.
• La recursión (recursividad) es una herramienta
muy potente en algunas aplicaciones, sobre todo
de cálculo.
• La recursión puede ser utilizada como una
alternativa a la repetición o estructura repetitiva.
• La función factorial se define como
1sin n =0 0!=1
n!= nx(n-1)x(n-2)x…….x#x”x! si n>0
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/fundamentos-de-
programacin-4ta-edicin-luis-joyanes-aguilar
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
5. Una función puede cambiar el contenido de una variable ….……….. y ejecutar
instrucciones de…………..
Respuestas:
A) Global 1) A y B
B) Local 2) A y C
C) Entrada y Salida 3) B y C
D)Valor y Parámetro 4) B y D

Más contenido relacionado

La actualidad más candente

La actualidad más candente (20)

Introducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje CIntroducción a las funciones en el lenguaje C
Introducción a las funciones en el lenguaje C
 
10. subalgoritmos parte i
10. subalgoritmos parte i10. subalgoritmos parte i
10. subalgoritmos parte i
 
Presentacion
PresentacionPresentacion
Presentacion
 
Ap7 java2
Ap7 java2Ap7 java2
Ap7 java2
 
Introducción a la programación y la informática. Tema 5
Introducción a la programación y la informática. Tema 5Introducción a la programación y la informática. Tema 5
Introducción a la programación y la informática. Tema 5
 
Utilidad de las funciones en c
Utilidad de las funciones en cUtilidad de las funciones en c
Utilidad de las funciones en c
 
Operadores C++
Operadores C++Operadores C++
Operadores C++
 
01 curso poo Funciones
01 curso poo Funciones01 curso poo Funciones
01 curso poo Funciones
 
INTRODUCCIÓN ADSI - PARTE 2
INTRODUCCIÓN ADSI - PARTE 2INTRODUCCIÓN ADSI - PARTE 2
INTRODUCCIÓN ADSI - PARTE 2
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
Conceptos fundmentales
Conceptos fundmentalesConceptos fundmentales
Conceptos fundmentales
 
Metodos en java
Metodos en javaMetodos en java
Metodos en java
 
11. subalgoritmos parte ii
11. subalgoritmos parte ii11. subalgoritmos parte ii
11. subalgoritmos parte ii
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Funciones
FuncionesFunciones
Funciones
 
Programa 9
Programa 9Programa 9
Programa 9
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...
Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...
Lenguaje de programacion c++ basico 4ta parte expresiones y funciones matemát...
 
Estructura general de un programa (Funciones Internas)
Estructura general de un programa (Funciones Internas) Estructura general de un programa (Funciones Internas)
Estructura general de un programa (Funciones Internas)
 
07 funciones
07 funciones07 funciones
07 funciones
 

Similar a Actividad 20

Similar a Actividad 20 (20)

Actividad grupal
Actividad grupalActividad grupal
Actividad grupal
 
Funcionesenlenguaje c
Funcionesenlenguaje cFuncionesenlenguaje c
Funcionesenlenguaje c
 
Funciones en c++
Funciones en c++Funciones en c++
Funciones en c++
 
Presentacion capitulo 6
Presentacion capitulo 6Presentacion capitulo 6
Presentacion capitulo 6
 
SUBPROGRAMAS
SUBPROGRAMASSUBPROGRAMAS
SUBPROGRAMAS
 
Funciones
FuncionesFunciones
Funciones
 
Capítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimientoCapítulo 6 funciones y procedimiento
Capítulo 6 funciones y procedimiento
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++ESTRUCTURA BÁSICA PARA C++
ESTRUCTURA BÁSICA PARA C++
 
Guía funciones
Guía funcionesGuía funciones
Guía funciones
 
Exposicion grupal
Exposicion grupalExposicion grupal
Exposicion grupal
 
11funciones 1231096290787715-2
11funciones 1231096290787715-211funciones 1231096290787715-2
11funciones 1231096290787715-2
 
04 - Módulos. Funciones.doc
04 - Módulos. Funciones.doc04 - Módulos. Funciones.doc
04 - Módulos. Funciones.doc
 
Presen iii 26 funciones
Presen iii  26 funcionesPresen iii  26 funciones
Presen iii 26 funciones
 
Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3Programacion ii modulo2-leccion3
Programacion ii modulo2-leccion3
 
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
 
A3 u1-16230227
A3 u1-16230227A3 u1-16230227
A3 u1-16230227
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
ESTRUCTURA BASICA PARA C++
ESTRUCTURA BASICA PARA C++ESTRUCTURA BASICA PARA C++
ESTRUCTURA BASICA PARA C++
 

Último

ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...JAVIER SOLIS NOYOLA
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdfgimenanahuel
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxzulyvero07
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfAngélica Soledad Vega Ramírez
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
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
 
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
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuaDANNYISAACCARVAJALGA
 
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
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
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
 
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
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfMARIAPAULAMAHECHAMOR
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosCesarFernandez937857
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 

Último (20)

ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf30-de-abril-plebiscito-1902_240420_104511.pdf
30-de-abril-plebiscito-1902_240420_104511.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdfSELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
SELECCIÓN DE LA MUESTRA Y MUESTREO EN INVESTIGACIÓN CUALITATIVA.pdf
 
Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.Defendamos la verdad. La defensa es importante.
Defendamos la verdad. La defensa es importante.
 
La Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdfLa Trampa De La Felicidad. Russ-Harris.pdf
La Trampa De La Felicidad. Russ-Harris.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
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.
 
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
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
cortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahuacortes de luz abril 2024 en la provincia de tungurahua
cortes de luz abril 2024 en la provincia de tungurahua
 
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
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.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...
 
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
 
Herramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdfHerramientas de Inteligencia Artificial.pdf
Herramientas de Inteligencia Artificial.pdf
 
Informatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos BásicosInformatica Generalidades - Conceptos Básicos
Informatica Generalidades - Conceptos Básicos
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 

Actividad 20

  • 1. ESCUELA SUPERIOR POLITÉCNICA DE CHIMBORAZO CURSO : 2do “C” INTEGRANTES: - Moreno Dalton -Taguada Luis Funciones y procedimientos como parámetros Grupo N 13 FACULTAD DE MECÁNICA ESCUELA DE INGENIERIA AUTOMOTRIZ
  • 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. Ejemplo: • procedimiento P(E func: F1; E real: x, y) real función F(E func: F1, F2; E entero:x, y) • Los parámetros formales del procedimiento P son la función F1 y las variables x e y, y los parámetros formales de la función F son las funciones F1 y F2, y las variables x e y.
  • 5. Procedimientos función • Para ilustrar el uso de los parámetros función, consideremos la función integral para calcular el área bajo una curva f(x) para un intervalo a <= x <= b. La técnica conocida para el cálculo del área es subdividir la región en rectángulos, y sumar las áreas de los rectángulos.
  • 6. • Los parámetros función se designan como tales con una cabecera de función dentro de la lista de parámetros formales. La función integral podrá definirse por • real función integral(E func: f; E real: a,b; E entero: n) el tipo func-tipo real func función (E real: x) • aquí la función f(x: real): real especifica que f es una función parámetro que denota una función cuyo parámetro formal y valor son de tipo real.
  • 7. Ejemplo: • Diseñar un algoritmo que utilice la función Integral para calcular el área bajo el gráfico de las funciones f1 (x) = x 3 – 6x3 + 10x y f2(x) = x2+3x+2 para 0 <= x <= 4.
  • 8. algoritmo Area_bajo_curvas tipo real función(E real : x) : func var real : a,b entero : n inicio escribir('¿Entre qué límites?') leer(a, b) escribir('¿Subintervalos?') leer(n) escribir(integral(f1, a, b, n)) escribir(integral(f2, a, b, n)) fin
  • 9. real FUNCIÓN f1 (E real : x) inicio devolver( x * x * x – 6 * x * x + 10 * x) fin_funcion real FUNCIÓN f2 (E real : x) inicio devolver( x * x + 3 * x + 2 ) fin_función real FUNCIÓN integral (E func : f; E real : a, b; E entero : n) var real : baserectangulo,altura,x,s entero : i
  • 10. inicio baserectangulo ← (b – a) / n x ← a + baserectangulo/2 s ← 0 desde i ← 1 hasta n hacer altura ← f(x) s ← s + baserectangulo * altura x ← x + baserectangulo fin_desde devolver(s) fin_función
  • 11. 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.
  • 12. En procedimientos • La comunicación del procedimiento con el resto del programa se debe realizar normalmente a través de parámetros. • Cualquier otra comunicación entre el procedimiento y el resto del programa se conoce como efectos laterales. Los efectos laterales son perjudiciales casi en la mayoría de casos.
  • 13. En funciones • Una función toma los valores de los argumentos y devuelve un único valor • 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 Entrada y Salida.
  • 14. Recursión (recursividad) • Como ya se conoce, un subprograma puede llamar a cualquier otro subprograma y éste a otro, y así sucesivamente; dicho de otro modo, los subprogramas se pueden anidar. Se puede tener • A llamar_a B, B llamar_a C, C llamar_a D
  • 15. • Cuando se produce el retorno de los subprogramas a la terminación de cada uno de ellos el proceso resultante será • D retornar_a C, C retornar_a B, B retornar_a A • ¿Qué sucedería si dos subprogramas de una secuencia son los mismos? • A llamar_a A o bien A llamar_a B, B llamar_a A
  • 16. • En primera instancia, parece incorrecta. Sin embargo, existen lenguajes de programación — Pascal, C, entre otros— en que un subprograma puede llamarse a sí mismo. • Una función o procedimiento que se puede llamar a sí mismo se llama recursivo. • La recursión (recursividad) es una herramienta muy potente en algunas aplicaciones, sobre todo de cálculo. • La recursión puede ser utilizada como una alternativa a la repetición o estructura repetitiva.
  • 17. • La función factorial se define como 1sin n =0 0!=1 n!= nx(n-1)x(n-2)x…….x#x”x! si n>0
  • 18. 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/fundamentos-de- programacin-4ta-edicin-luis-joyanes-aguilar
  • 19. 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
  • 20. 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
  • 21. 5. Una función puede cambiar el contenido de una variable ….……….. y ejecutar instrucciones de………….. Respuestas: A) Global 1) A y B B) Local 2) A y C C) Entrada y Salida 3) B y C D)Valor y Parámetro 4) B y D