SlideShare una empresa de Scribd logo
1 de 26
Universidad Nacional Experimental
     “Francisco de Miranda”
 Aprendizaje Dialógico Interactivo
Unidad Curricular: Computación II.




                               Realizado por:
                                      Burgos José


Santa Ana de Coro; Marzo del 2013
Programación Modular
Modularidad: Acoplamiento


Un módulo debe ofrecer un grupo de servicios diseñados para que el resto del

programa pueda interactuar con él . Por ejemplo, en el procesador de texto se

debe contar con rutinas para:

 Cambiar la letra utilizada: cambiar Estilo ()

 Cambiar el color: cambiar Color Letra()
Programación Modular


Es un método de resolución de problemas que consiste en resolver de
forma   independiente   los   subproblemas   que   se   obtienen   de   una
descomposición del problema general
Programación Modular
Ventajas de los Módulos



Facilitan la escritura y depuración de un programa
 Localización rápida de errores
 La modificación de un módulo no afecta a los demás
 Un grupo de instrucciones que se repite en varias partes de un programa puede
   incluirse en un módulo y llamarlo en el programa.
Funciones
Prototipos de Funciones


Antes de usar una función C debe tener conocimiento acerca del tipo de dato que
regresara y el tipo de los parámetros que la función espera.
El estándar ANSI de C introdujo una nueva (mejor) forma de hacer lo anterior
respecto a las versiones previas de C.
La importancia de usar prototipos de funciones es la siguiente:
 Se hace el código mas estructurado y por lo tanto, mas fácil de leer.
 Se permite al compilador de C revisar la sintaxis de las funciones llamadas.
Lo anterior es hecho, dependiendo del alcance de la función. Básicamente si una
función ha sido definida antes de que sea usada (o llamada), entonces se puede
usar la función sin problemas.
Prototipos de Funciones (Cont.)

Si no es así, entonces la función se debe declarar. La declaración simplemente
maneja el tipo de dato que la función regresa y el tipo de parámetros usados por
la función.

Es una practica usual y conveniente escribir el prototipo de todas las funciones
al principio del programa, sin embargo esto no es estrictamente necesario.

Para declarar un prototipo de una función se indicara el tipo de dato que
regresara la función, el nombre de la función y entre paréntesis la lista del tipo
de los parámetros de acuerdo al orden que aparecen en la definición de la
función. Por ejemplo: int longcad (char []);

Lo anterior declara una función llamada longcad que regresa un valor entero y
acepta una cadena como parámetro.
Definición de una Función

Es donde se realizan los procesos que se requieren. La definición
de una función consta de la cabecera de la función y del cuerpo.
Su forma general es:

• Tipo _ retorno Nombre _ función(Lista de parámetros
  formales){

• //Cuerpo de la función

• return (expresión); //optativo

• }
Definición de una función (Tipo Retorno)

Tipo de retorno: Es ele tipo de dato que devuelve la función en C++. El tipo de
dato debe ser de los tipos simples como int, float , char, bool entre otros. Si la
función no devuelve algún valor se utiliza la función reservada void .

            Ejemplo:
            Int main ()
            {
                 float x, y;
                 x = triple(3) + 2; → x = 9 + 2
                 y = triple(triple(2)); → y = triple(6) → y = 18
            }
            float triple(float x)
            {
                return (3 * x);
            }
Definición de una función (Tipo Retorno)

Cuando hacemos una llamada a una función, lo primero que se realiza es una
asignación de los parámetros reales a los parámetros formales y a continuación
se ejecutan las instrucciones de la función.
• Si queremos una función que no devuelva ningún valor, se declara de tipo
  void.
 Ejemplo:
 void Escribe Suma(int a, int b)
 {
  cout << a + b;
  return;
 }
Definición de una función (Nombre de una Función )

Nombre: es el identificador de la función , que puede comenzar con una letra
o un subrayado (_) y puede contener tantas letras, números o subrayados
desee.



    Nombre _Función (Lista parámetros actuales ) ;

    Si la función retorna un Valor , se puede almacenar en una variable :
                 V= Nombre _Función (arg1, arg2 ….. );
                          o también directamente :
  Cout<<“ El Valor es: ” <<Nombre _Función Función (arg1, arg2 ..);
Definición de una función (Cont.)


Lista de parámetros : es una lista de parámetros con tipos que utiliza el
formato siguiente: Tipo _ parámetro Nombre _ parámetro
Cuerpo de la Función: Es el conjunto de instrucciones que debe estar
encerrado entre llaves de apertura ({ ) y cierre (}) .



Declaración local : Las constantes, tipos de datos y variables declaradas
dentro de la función son locales a la misma y no perduran fuera de ella s.
Valor devuelto por la función : una función puede devolver un único valor
mediante la palabra reservada return . Tan pronto como el programa encuentre
cualquiera de las sentencias return, se retorna la sentencia llamada.
Llamado de una Función
• Cuando una función es invocada o llamada se le pasa el control a la
  misma, una vez que esta finalizo con su tarea el control es devuelto
  al punto desde la cual la función fue llamada .

• Una llamada a una función redigirá el control del programa a la
  función nombrada . Debe ser una sentencia o una expresión de otra
  función que realiza la llamada. Esta sentencia debe ser tal que debe
  haber coincidencia en el numero, orden y tipo entre la lista de
  parámetros formales y actuales de la función.
Sintaxis

Si la función retorna un Valor, se puede almacenar en una variable:




O también imprima directamente :
Cree un programa que lea los catetos de un triangulo y utilice una función
para calcular la hipotenusa e imprima el resultado...
Se pueden declarar variables en cualquier parte del programa y además de
pasar variables como parte del argumento de una función , también es posible
declarar variables dentro del cuerpo de una función a este tipo de variables
se les conoce como variables locales ya que son útiles solo dentro del cuerpo
de la función . Los parámetros utilizados en una función se consideran como
variables de tipo local y se utilizan exactamente de la misma manera, como se
muestra a continuación:


                            int suma(int a, int b) {
                                     Int s;
                                    S=a+b;
                                   return }
A las variables que se declaran fuera del cuerpo de cualquier función se dice
que tienen un alcance global y por lo tanto están disponibles para cualquier
función del programa , incluyendo a la función main ().
Programación modular y funciones
Programación modular y funciones
Programación modular y funciones
Programación modular y funciones
Programación modular y funciones
Programación modular y funciones

Más contenido relacionado

La actualidad más candente

Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejerciciosWalter Chacon
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Idalia Tristan
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoJesús E. CuRias
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()Clara Patricia Avella Ibañez
 
Estructuras de decisión o selectivas
Estructuras de decisión o selectivasEstructuras de decisión o selectivas
Estructuras de decisión o selectivasDenisse C
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y ConstantesYenny Salazar
 
Cuestionario
CuestionarioCuestionario
Cuestionariojpauly4
 
Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++yesid19
 
Pseudocódigo
PseudocódigoPseudocódigo
Pseudocódigocoldclean
 
GUI Salario en java con NetBeans
GUI Salario en java con NetBeansGUI Salario en java con NetBeans
GUI Salario en java con NetBeansEmerson Garay
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesIsrael Castillo Cruz
 
Requerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no FuncionalesRequerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no Funcionalessullinsan
 

La actualidad más candente (20)

Presentacion de c++
Presentacion de c++Presentacion de c++
Presentacion de c++
 
Introduccion a python 3
Introduccion a python 3Introduccion a python 3
Introduccion a python 3
 
Casos de Uso ejercicios
Casos de Uso ejerciciosCasos de Uso ejercicios
Casos de Uso ejercicios
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++
 
Métrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigoMétrica de punto de función y lineas de codigo
Métrica de punto de función y lineas de codigo
 
11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()11 Curso de POO en java - métodos constructores y toString()
11 Curso de POO en java - métodos constructores y toString()
 
Estructuras de decisión o selectivas
Estructuras de decisión o selectivasEstructuras de decisión o selectivas
Estructuras de decisión o selectivas
 
3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes3.2.- Identificadores, Variables y Constantes
3.2.- Identificadores, Variables y Constantes
 
Análisis estructurado
Análisis estructuradoAnálisis estructurado
Análisis estructurado
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++Elementos Basicos del Lenguaje C++
Elementos Basicos del Lenguaje C++
 
Estructura de registros
Estructura de registrosEstructura de registros
Estructura de registros
 
Pseudocódigo
PseudocódigoPseudocódigo
Pseudocódigo
 
Manual de usuario (C/C++)
Manual de usuario (C/C++)Manual de usuario (C/C++)
Manual de usuario (C/C++)
 
GUI Salario en java con NetBeans
GUI Salario en java con NetBeansGUI Salario en java con NetBeans
GUI Salario en java con NetBeans
 
Lenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretesLenguajes de programacion tema 2_compiladores e interpretes
Lenguajes de programacion tema 2_compiladores e interpretes
 
Introducción a PHP
Introducción a PHPIntroducción a PHP
Introducción a PHP
 
Requerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no FuncionalesRequerimientos Funcionales y no Funcionales
Requerimientos Funcionales y no Funcionales
 
Ciclo PARA
Ciclo PARACiclo PARA
Ciclo PARA
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 

Similar a Programación modular y funciones

Similar a Programación modular y funciones (20)

8448148681
84481486818448148681
8448148681
 
Funciones
FuncionesFunciones
Funciones
 
Presen iii 26 funciones
Presen iii  26 funcionesPresen iii  26 funciones
Presen iii 26 funciones
 
Presentacion capitulo 6
Presentacion capitulo 6Presentacion capitulo 6
Presentacion capitulo 6
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
Tema 7 www.fresymetal.com
Tema 7 www.fresymetal.comTema 7 www.fresymetal.com
Tema 7 www.fresymetal.com
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Funciones
FuncionesFunciones
Funciones
 
Funciones con vectores y matrices1
Funciones con vectores y matrices1Funciones con vectores y matrices1
Funciones con vectores y matrices1
 
vectores y matrices
vectores y matricesvectores y matrices
vectores y matrices
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Funciones
FuncionesFunciones
Funciones
 
Funciones
FuncionesFunciones
Funciones
 
Funcionesenlenguaje c
Funcionesenlenguaje cFuncionesenlenguaje c
Funcionesenlenguaje c
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
Funciones en VB
Funciones en VBFunciones en VB
Funciones en VB
 
Guía funciones
Guía funcionesGuía funciones
Guía funciones
 
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuarioLenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
Lenguajesdeprogramacion c nivel1-unidad1-03-funciones definidas por el usuario
 
Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage c
 

Último

TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxkeithgiancarloroquef
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfcoloncopias5
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024gharce
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOMARIBEL DIAZ
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...YobanaZevallosSantil1
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfSarayLuciaSnchezFigu
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docxLuisAndersonPachasto
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...DavidBautistaFlores1
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicialLorenaSanchez350426
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxRosabel UA
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOMARIBEL DIAZ
 

Último (20)

TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Concurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptxConcurso José María Arguedas nacional.pptx
Concurso José María Arguedas nacional.pptx
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdfFisiologia.Articular. 3 Kapandji.6a.Ed.pdf
Fisiologia.Articular. 3 Kapandji.6a.Ed.pdf
 
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
SISTEMA INMUNE FISIOLOGIA MEDICA UNSL 2024
 
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADOFICHA  PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
FICHA PL PACO YUNQUE.docx PRIMARIA CUARTO GRADO
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO  YESSENIA 933623393 NUEV...
IV SES LUN 15 TUTO CUIDO MI MENTE CUIDANDO MI CUERPO YESSENIA 933623393 NUEV...
 
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdfPresentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
Presentacion minimalista aesthetic simple beige_20240415_224856_0000.pdf
 
Aedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptxAedes aegypti + Intro to Coquies EE.pptx
Aedes aegypti + Intro to Coquies EE.pptx
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docxEDUCACION FISICA 1°  PROGRAMACIÓN ANUAL 2023.docx
EDUCACION FISICA 1° PROGRAMACIÓN ANUAL 2023.docx
 
describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...describimos como son afectados las regiones naturales del peru por la ola de ...
describimos como son afectados las regiones naturales del peru por la ola de ...
 
libro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación iniciallibro para colorear de Peppa pig, ideal para educación inicial
libro para colorear de Peppa pig, ideal para educación inicial
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
Presentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptxPresentación Bloque 3 Actividad 2 transversal.pptx
Presentación Bloque 3 Actividad 2 transversal.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADOPLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
PLAN DE TUTORIA- PARA NIVEL PRIMARIA CUARTO GRADO
 
recursos naturales america cuarto basico
recursos naturales america cuarto basicorecursos naturales america cuarto basico
recursos naturales america cuarto basico
 

Programación modular y funciones

  • 1. Universidad Nacional Experimental “Francisco de Miranda” Aprendizaje Dialógico Interactivo Unidad Curricular: Computación II. Realizado por: Burgos José Santa Ana de Coro; Marzo del 2013
  • 3. Modularidad: Acoplamiento Un módulo debe ofrecer un grupo de servicios diseñados para que el resto del programa pueda interactuar con él . Por ejemplo, en el procesador de texto se debe contar con rutinas para:  Cambiar la letra utilizada: cambiar Estilo ()  Cambiar el color: cambiar Color Letra()
  • 4. Programación Modular Es un método de resolución de problemas que consiste en resolver de forma independiente los subproblemas que se obtienen de una descomposición del problema general
  • 6. Ventajas de los Módulos Facilitan la escritura y depuración de un programa  Localización rápida de errores  La modificación de un módulo no afecta a los demás  Un grupo de instrucciones que se repite en varias partes de un programa puede incluirse en un módulo y llamarlo en el programa.
  • 8. Prototipos de Funciones Antes de usar una función C debe tener conocimiento acerca del tipo de dato que regresara y el tipo de los parámetros que la función espera. El estándar ANSI de C introdujo una nueva (mejor) forma de hacer lo anterior respecto a las versiones previas de C. La importancia de usar prototipos de funciones es la siguiente:  Se hace el código mas estructurado y por lo tanto, mas fácil de leer.  Se permite al compilador de C revisar la sintaxis de las funciones llamadas. Lo anterior es hecho, dependiendo del alcance de la función. Básicamente si una función ha sido definida antes de que sea usada (o llamada), entonces se puede usar la función sin problemas.
  • 9. Prototipos de Funciones (Cont.) Si no es así, entonces la función se debe declarar. La declaración simplemente maneja el tipo de dato que la función regresa y el tipo de parámetros usados por la función. Es una practica usual y conveniente escribir el prototipo de todas las funciones al principio del programa, sin embargo esto no es estrictamente necesario. Para declarar un prototipo de una función se indicara el tipo de dato que regresara la función, el nombre de la función y entre paréntesis la lista del tipo de los parámetros de acuerdo al orden que aparecen en la definición de la función. Por ejemplo: int longcad (char []); Lo anterior declara una función llamada longcad que regresa un valor entero y acepta una cadena como parámetro.
  • 10. Definición de una Función Es donde se realizan los procesos que se requieren. La definición de una función consta de la cabecera de la función y del cuerpo. Su forma general es: • Tipo _ retorno Nombre _ función(Lista de parámetros formales){ • //Cuerpo de la función • return (expresión); //optativo • }
  • 11. Definición de una función (Tipo Retorno) Tipo de retorno: Es ele tipo de dato que devuelve la función en C++. El tipo de dato debe ser de los tipos simples como int, float , char, bool entre otros. Si la función no devuelve algún valor se utiliza la función reservada void . Ejemplo: Int main () { float x, y; x = triple(3) + 2; → x = 9 + 2 y = triple(triple(2)); → y = triple(6) → y = 18 } float triple(float x) { return (3 * x); }
  • 12. Definición de una función (Tipo Retorno) Cuando hacemos una llamada a una función, lo primero que se realiza es una asignación de los parámetros reales a los parámetros formales y a continuación se ejecutan las instrucciones de la función. • Si queremos una función que no devuelva ningún valor, se declara de tipo void. Ejemplo: void Escribe Suma(int a, int b) { cout << a + b; return; }
  • 13. Definición de una función (Nombre de una Función ) Nombre: es el identificador de la función , que puede comenzar con una letra o un subrayado (_) y puede contener tantas letras, números o subrayados desee. Nombre _Función (Lista parámetros actuales ) ; Si la función retorna un Valor , se puede almacenar en una variable : V= Nombre _Función (arg1, arg2 ….. ); o también directamente : Cout<<“ El Valor es: ” <<Nombre _Función Función (arg1, arg2 ..);
  • 14. Definición de una función (Cont.) Lista de parámetros : es una lista de parámetros con tipos que utiliza el formato siguiente: Tipo _ parámetro Nombre _ parámetro Cuerpo de la Función: Es el conjunto de instrucciones que debe estar encerrado entre llaves de apertura ({ ) y cierre (}) . Declaración local : Las constantes, tipos de datos y variables declaradas dentro de la función son locales a la misma y no perduran fuera de ella s. Valor devuelto por la función : una función puede devolver un único valor mediante la palabra reservada return . Tan pronto como el programa encuentre cualquiera de las sentencias return, se retorna la sentencia llamada.
  • 15. Llamado de una Función • Cuando una función es invocada o llamada se le pasa el control a la misma, una vez que esta finalizo con su tarea el control es devuelto al punto desde la cual la función fue llamada . • Una llamada a una función redigirá el control del programa a la función nombrada . Debe ser una sentencia o una expresión de otra función que realiza la llamada. Esta sentencia debe ser tal que debe haber coincidencia en el numero, orden y tipo entre la lista de parámetros formales y actuales de la función.
  • 16. Sintaxis Si la función retorna un Valor, se puede almacenar en una variable: O también imprima directamente :
  • 17.
  • 18. Cree un programa que lea los catetos de un triangulo y utilice una función para calcular la hipotenusa e imprima el resultado...
  • 19. Se pueden declarar variables en cualquier parte del programa y además de pasar variables como parte del argumento de una función , también es posible declarar variables dentro del cuerpo de una función a este tipo de variables se les conoce como variables locales ya que son útiles solo dentro del cuerpo de la función . Los parámetros utilizados en una función se consideran como variables de tipo local y se utilizan exactamente de la misma manera, como se muestra a continuación: int suma(int a, int b) { Int s; S=a+b; return }
  • 20. A las variables que se declaran fuera del cuerpo de cualquier función se dice que tienen un alcance global y por lo tanto están disponibles para cualquier función del programa , incluyendo a la función main ().