SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
UTN - FRTInformática II - UTN - FRTInformática II -
UTN – Facultad Regional Tucumán
Informática II
Funciones
Prof. Ing. Oscar Gálvez
A.T.P. Ing. César Ovejero
Subprogramas en C
UTN - FRTInformática II - UTN - FRTInformática II -
1.¿Quées unafunción?
2.Definición.
3.Paso deparámetros.
4.Devolución deresultados.
5.Llamada.
6.Declaración.
2
Contenidos
UTN - FRTInformática II - UTN - FRTInformática II - 1. ¿Qué es una función?
3
Función:Secuenciadeinstrucciones agrupadas bajo
un mismo nombrequerealizan unatareadeterminada.
Lafunción seejecutarátantas veces como selallame
mediantesu nombre.
Ventajas:
Facilitalareutilización decódigo, aumentandolaproductividad
del programador.
Descomposición de un problema en subproblemas más
sencillos → sedisminuyelacomplejidaddel problema.
El uso de funciones mejora la estructura del programa,
haciéndolomáslegibleyentendible.
UTN - FRTInformática II - UTN - FRTInformática II - 2. Definición
4
Ladefinición deunafunción constade:
Cabecera. Indica el tipo devuelto por la función (puede ser
nulo: void), su nombre y los argumentos que recibe (puede
norecibir ninguno).
Cuerpo. Bloquedeinstrucciones delafunción.
Sintaxis:
tipo nombre(argumentos)
{
/*
/*
declaración de variables locales */
instrucciones */
return exprexión;
}
UTN - FRTInformática II - UTN - FRTInformática II - 3. Paso de Parámetros
5
En ladefinición delafunción seespecificalalistade
parámetros o argumentos querecibey su(s) tipo(s).
Puedenotener ningúnargumento
Lasintaxis delalistadeargumentos es:
(tipo1 argumento1, tipo2 argumento2, ...)
Al invocar (llamar) alafunción seledeben pasar
tantos argumentos como recibay del tipo correcto.
Existen dos formas depaso deparámetros:
Por valor. Se pasa como parámetro un valor (puede ser una
constante, unavariable, el resultadodeunaoperación…).
Por referencia. Se pasa como parámetro la dirección en
memoria de una variable. Esta variable podrá ser modificada
desdedentro delafunción.
UTN - FRTInformática II - UTN - FRTInformática II - 4. Devolución de Resultados
6
Una función puede devolver un valor como
resultado. El valor devuelto será del tipo definido en
lacabeceradelafunción.
Si el tipoespecificadoesvoid, lafunciónnodevolveránada(esloque
normalmentesellamaunprocedimiento).
Si el tipoespecificadonoesvoid, lafuncióndeberáobligatoriamente
devolver unvalor deretorno.
Lainstrucción paradevolver el valor deretorno es:
return valor;
Si no se devuelve ningún valor no es necesario que
aparezca return, aunque puede usarse para evitar
quesesigan ejecutando instrucciones delafunción:
return;
UTN - FRTInformática II - UTN - FRTInformática II - 5. Llamada
7
Para que se ejecute una función, esta debe ser
invocada mediante su nombre, seguido por los
argumentos entreparéntesis.
nombre(arg1, arg2, ...);
Los parámetros pueden ser variables, constantes,
expresiones o el resultado de llamadas a otras
funciones.
Si la función invocada devuelve un valor, este podrá
ser almacenado en una variable o utilizado como
operando en algunaexpresión.
variable = función2();
UTN - FRTInformática II - UTN - FRTInformática II - 6. Declaración
8
La declaración de una función consiste en escribir su
cabecera seguida de un punto y coma. El nombre de los
argumentos no es necesario, tan sólo su tipo.
Es conveniente declarar las funciones antes de utilizarlas.
Esto permite que el compilador dé error si no se utilizan bien
(comprobará el tipo y número de argumentos y el tipo
devuelto).
Si la definición de una función aparece en el programa antes
desu uso, sirveademás como declaración.
Las declaraciones de las funciones de las librerías estándar
(además de otras cosas como constantes, tipos, ...) es lo que
hay en las cabeceras queseincluyen en los programas:
#include <stdio.h>
UTN - FRTInformática II - UTN - FRTInformática II - Ejemplo
9
#include <stdio.h>
/* Declaración de la función suma */
int suma(int
int main()
a, int b);
{ /* Llamada a la función suma */
printf("3
return 0;
+ 5 = %dn", suma(3, 5));
}
/* Definición de la función
b)
suma */
int suma(int
{
return a + b;
a, int
}
UTN - FRTInformática II - UTN - FRTInformática II -
10
Ejemplo (II)
#include <stdio.h>
/* Declaración y definición
nombre[])
de saluda */
void saluda(char
{
printf("Hola, %s.n", nombre);
}
int main()
{ /* Invocación del
saluda("Juan");
saluda("Luisa");
return 0;
procedimiento saluda */
}

Más contenido relacionado

La actualidad más candente

Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4flaquita_dany
 
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...Ricardo Ros
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De ControlUPS
 
métodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javamétodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javaHenry Upla
 
Estructura de un programa en C
Estructura de un programa en CEstructura de un programa en C
Estructura de un programa en Csaenz_elvis_92
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)José Toro
 
Introduccion matlab
Introduccion matlabIntroduccion matlab
Introduccion matlabgrupo6eda
 
Apuntes programacion basica
Apuntes programacion basicaApuntes programacion basica
Apuntes programacion basicamarigelcontreras
 
Estructuras repetitivas for y while
Estructuras repetitivas for y whileEstructuras repetitivas for y while
Estructuras repetitivas for y whilechristianlopezth
 
Scjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlScjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlJose Selman
 
Clase5 laboratorio1-estructuras decontrol
Clase5 laboratorio1-estructuras decontrolClase5 laboratorio1-estructuras decontrol
Clase5 laboratorio1-estructuras decontrolEnrique Reyes
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Javaquesada_diego
 
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓN
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓNTEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓN
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓNAnyeni Garay
 
Estructuras de controlm
Estructuras de controlmEstructuras de controlm
Estructuras de controlmK Manuel TN
 

La actualidad más candente (20)

Yy
YyYy
Yy
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
Ejercicios evaluados i. shearly achji y ricardo ros. estructuras de datos i. ...
 
Estructuras De Control
Estructuras De ControlEstructuras De Control
Estructuras De Control
 
métodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control javamétodos procedimimientos estructuras de control java
métodos procedimimientos estructuras de control java
 
Funciones
FuncionesFunciones
Funciones
 
Estructura de un programa en C
Estructura de un programa en CEstructura de un programa en C
Estructura de un programa en C
 
Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)Sesion07- Estructuras de control (Oracle)
Sesion07- Estructuras de control (Oracle)
 
Introduccion matlab
Introduccion matlabIntroduccion matlab
Introduccion matlab
 
Introducción a java
Introducción a javaIntroducción a java
Introducción a java
 
Apuntes programacion basica
Apuntes programacion basicaApuntes programacion basica
Apuntes programacion basica
 
Programación básica
Programación básicaProgramación básica
Programación básica
 
Estructuras repetitivas for y while
Estructuras repetitivas for y whileEstructuras repetitivas for y while
Estructuras repetitivas for y while
 
Scjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow ControlScjp Jug Section 2 Flow Control
Scjp Jug Section 2 Flow Control
 
Clase5 laboratorio1-estructuras decontrol
Clase5 laboratorio1-estructuras decontrolClase5 laboratorio1-estructuras decontrol
Clase5 laboratorio1-estructuras decontrol
 
Estructuras de control en Java
Estructuras de control en JavaEstructuras de control en Java
Estructuras de control en Java
 
Logica difusa grupo 2
Logica difusa grupo 2Logica difusa grupo 2
Logica difusa grupo 2
 
Estructuras
EstructurasEstructuras
Estructuras
 
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓN
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓNTEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓN
TEMA Nº 8: CONTROL DE EJECUCIÓN Y MANTENIMIENTO DE SESIÓN
 
Estructuras de controlm
Estructuras de controlmEstructuras de controlm
Estructuras de controlm
 

Similar a funciones

Similar a funciones (20)

FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Funciones
FuncionesFunciones
Funciones
 
Elemento 4
Elemento 4Elemento 4
Elemento 4
 
SEMANA 7 INFORMATICA APLICADA A INGENIERI.pptx
SEMANA 7 INFORMATICA APLICADA A INGENIERI.pptxSEMANA 7 INFORMATICA APLICADA A INGENIERI.pptx
SEMANA 7 INFORMATICA APLICADA A INGENIERI.pptx
 
Guia programacion modular
Guia programacion modularGuia programacion modular
Guia programacion modular
 
Metodos funciones
Metodos funcionesMetodos funciones
Metodos funciones
 
Funciones
FuncionesFunciones
Funciones
 
Unidad 2 funciones
Unidad 2 funcionesUnidad 2 funciones
Unidad 2 funciones
 
Presen iii 26 funciones
Presen iii  26 funcionesPresen iii  26 funciones
Presen iii 26 funciones
 
Anexo1
Anexo1Anexo1
Anexo1
 
Capítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdfCapítulo 3 Algoritmos recursivos.pdf
Capítulo 3 Algoritmos recursivos.pdf
 
Semana 02 software libre maxima
Semana 02 software libre maximaSemana 02 software libre maxima
Semana 02 software libre maxima
 
Funciones
FuncionesFunciones
Funciones
 
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdfUnidad III-Programación Modular-introducción al lenguaje programable.pdf
Unidad III-Programación Modular-introducción al lenguaje programable.pdf
 
Indentificacion de funciones
Indentificacion de funcionesIndentificacion de funciones
Indentificacion de funciones
 
trabajo monografico.pptx
trabajo monografico.pptxtrabajo monografico.pptx
trabajo monografico.pptx
 
P_UNIDAD 4 FUNCIONES.pptx
P_UNIDAD 4 FUNCIONES.pptxP_UNIDAD 4 FUNCIONES.pptx
P_UNIDAD 4 FUNCIONES.pptx
 
Funciones
FuncionesFunciones
Funciones
 
funciones con c++
funciones con c++funciones con c++
funciones con c++
 
Guía funciones
Guía funcionesGuía funciones
Guía funciones
 

Último

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Alejandrino Halire Ccahuana
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdfenelcielosiempre
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoJosDanielEstradaHern
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVGiustinoAdesso1
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
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
 
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
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADauxsoporte
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñotapirjackluis
 

Último (20)

Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
Lecciones 05 Esc. Sabática. Fe contra todo pronóstico.
 
plan de capacitacion docente AIP 2024 clllll.pdf
plan de capacitacion docente  AIP 2024          clllll.pdfplan de capacitacion docente  AIP 2024          clllll.pdf
plan de capacitacion docente AIP 2024 clllll.pdf
 
Presentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza MultigradoPresentacion Metodología de Enseñanza Multigrado
Presentacion Metodología de Enseñanza Multigrado
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
actividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° gradoactividades comprensión lectora para 3° grado
actividades comprensión lectora para 3° grado
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática4    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática4    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática4 MPG 2024 Ccesa007.pdf
 
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...
 
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...
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niñoproyecto de mayo inicial 5 añitos aprender es bueno para tu niño
proyecto de mayo inicial 5 añitos aprender es bueno para tu niño
 

funciones

  • 1. UTN - FRTInformática II - UTN - FRTInformática II - UTN – Facultad Regional Tucumán Informática II Funciones Prof. Ing. Oscar Gálvez A.T.P. Ing. César Ovejero Subprogramas en C
  • 2. UTN - FRTInformática II - UTN - FRTInformática II - 1.¿Quées unafunción? 2.Definición. 3.Paso deparámetros. 4.Devolución deresultados. 5.Llamada. 6.Declaración. 2 Contenidos
  • 3. UTN - FRTInformática II - UTN - FRTInformática II - 1. ¿Qué es una función? 3 Función:Secuenciadeinstrucciones agrupadas bajo un mismo nombrequerealizan unatareadeterminada. Lafunción seejecutarátantas veces como selallame mediantesu nombre. Ventajas: Facilitalareutilización decódigo, aumentandolaproductividad del programador. Descomposición de un problema en subproblemas más sencillos → sedisminuyelacomplejidaddel problema. El uso de funciones mejora la estructura del programa, haciéndolomáslegibleyentendible.
  • 4. UTN - FRTInformática II - UTN - FRTInformática II - 2. Definición 4 Ladefinición deunafunción constade: Cabecera. Indica el tipo devuelto por la función (puede ser nulo: void), su nombre y los argumentos que recibe (puede norecibir ninguno). Cuerpo. Bloquedeinstrucciones delafunción. Sintaxis: tipo nombre(argumentos) { /* /* declaración de variables locales */ instrucciones */ return exprexión; }
  • 5. UTN - FRTInformática II - UTN - FRTInformática II - 3. Paso de Parámetros 5 En ladefinición delafunción seespecificalalistade parámetros o argumentos querecibey su(s) tipo(s). Puedenotener ningúnargumento Lasintaxis delalistadeargumentos es: (tipo1 argumento1, tipo2 argumento2, ...) Al invocar (llamar) alafunción seledeben pasar tantos argumentos como recibay del tipo correcto. Existen dos formas depaso deparámetros: Por valor. Se pasa como parámetro un valor (puede ser una constante, unavariable, el resultadodeunaoperación…). Por referencia. Se pasa como parámetro la dirección en memoria de una variable. Esta variable podrá ser modificada desdedentro delafunción.
  • 6. UTN - FRTInformática II - UTN - FRTInformática II - 4. Devolución de Resultados 6 Una función puede devolver un valor como resultado. El valor devuelto será del tipo definido en lacabeceradelafunción. Si el tipoespecificadoesvoid, lafunciónnodevolveránada(esloque normalmentesellamaunprocedimiento). Si el tipoespecificadonoesvoid, lafuncióndeberáobligatoriamente devolver unvalor deretorno. Lainstrucción paradevolver el valor deretorno es: return valor; Si no se devuelve ningún valor no es necesario que aparezca return, aunque puede usarse para evitar quesesigan ejecutando instrucciones delafunción: return;
  • 7. UTN - FRTInformática II - UTN - FRTInformática II - 5. Llamada 7 Para que se ejecute una función, esta debe ser invocada mediante su nombre, seguido por los argumentos entreparéntesis. nombre(arg1, arg2, ...); Los parámetros pueden ser variables, constantes, expresiones o el resultado de llamadas a otras funciones. Si la función invocada devuelve un valor, este podrá ser almacenado en una variable o utilizado como operando en algunaexpresión. variable = función2();
  • 8. UTN - FRTInformática II - UTN - FRTInformática II - 6. Declaración 8 La declaración de una función consiste en escribir su cabecera seguida de un punto y coma. El nombre de los argumentos no es necesario, tan sólo su tipo. Es conveniente declarar las funciones antes de utilizarlas. Esto permite que el compilador dé error si no se utilizan bien (comprobará el tipo y número de argumentos y el tipo devuelto). Si la definición de una función aparece en el programa antes desu uso, sirveademás como declaración. Las declaraciones de las funciones de las librerías estándar (además de otras cosas como constantes, tipos, ...) es lo que hay en las cabeceras queseincluyen en los programas: #include <stdio.h>
  • 9. UTN - FRTInformática II - UTN - FRTInformática II - Ejemplo 9 #include <stdio.h> /* Declaración de la función suma */ int suma(int int main() a, int b); { /* Llamada a la función suma */ printf("3 return 0; + 5 = %dn", suma(3, 5)); } /* Definición de la función b) suma */ int suma(int { return a + b; a, int }
  • 10. UTN - FRTInformática II - UTN - FRTInformática II - 10 Ejemplo (II) #include <stdio.h> /* Declaración y definición nombre[]) de saluda */ void saluda(char { printf("Hola, %s.n", nombre); } int main() { /* Invocación del saluda("Juan"); saluda("Luisa"); return 0; procedimiento saluda */ }