Funcionesclase1
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
444
On Slideshare
444
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
8
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Funciones
  • 2.
    • Programación Modular: consta de varias secciones dividas de forma que interactúan a través de llamadas a procedimientos, que integran el programa en su totalidad. El programa principal coordina las llamadas a los módulos secundarios y pasa los datos necesarios en forma de parámetros. A su vez cada modulo puede contener sus propios datos y llamar a otros módulos o funciones.
    • Función: Es la división de un programa en muchos módulos (rutinas pequeñas), que permiten aislar mejor los problemas, escribir programas correctos más rápido y producir programas más fáciles de mantener. Una función es simplemente un conjunto de sentencias que pueden ser llamadas desde cualquier parte del programa.
    •  
  • 3.
    • Prototipo: Se sitúan normalmente al inicio del programa, antes la función principal main(). Los prototipos son la declaración de una función y proporcionan información al compilador para verificar que la función está siendo llamada correctamente, con respecto al número y tipo de los parámetros y tipo devuelto por la función.
    • Tipo_de_retorno nombreFunción (ListaDeParametros);
    • Los aspectos más resaltantes en el diseño de una función son:
    • Tipo de retorno: Tipo de dato que devuelve la función.
    • Lista de parámetros : es una lista de argumentos tipificados.
    • Cuerpo de la función: se cierra entre llaves { } no hay punto y coma después de la llave de 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.
    • Valor devuelto por la función: mediante la palabra reservada return se puede devolver el valor de la función.
  • 4.
    • Definición de una Función
    • Tipo_de_retorno nombreFunción (ListaDeParametros)
    • {
    • //cuerpo de la función
    • return expresión;
    • }
  • 5.
    • Llamado de una Función: La función llamada que recibe el control del programa se ejecuta desde el principio y cuando termina (se alcanza la sentencia return, o la llave de cierre ( } ) si se omite return) el control del programa vuelve y retorna a la función donde fue llamada (main() u otra función )
    • Las funciones se utilizan por invocación o llamada . Su sintaxis:
    •   nombre_función ( arg1, arg2, … );
    • Si la función retorna un valor , ésta puede almacenarse en una variable imprimirse directamente.
    • V = nombre_función ( arg1, arg2, … );
    • cout<<“El valor es:”<< nombre_función ( arg1, arg2, … );
  • 6. Algunos Ejemplos
    • Ejemplo 1: cree un programa que lea el valor de dos números enteros y calcule su suma empleando una función.
    • #include <iostream>
    • using namespace std;
    • int suma(int x, int y); //prototipo de función
    • int main()
    • {
    • int a, b, c;
    • cout << &quot;Introduzca valor de A:&quot;;
    • cin >> a;
    • cout << &quot;Introduzca valor de B:&quot;;
    • cin >> b;
    • c=suma(a,b); //llamado de función
    • cout << &quot;La suma de a+b es:&quot; << c << &quot;n&quot;;
    • system(&quot;Pause&quot;);
    • return 0;
    • }
    • int suma(int x, int y)// definición de función
    • {
    • return x+y;
    • }
  • 7.
    • Ejemplo 2: cree un programa que lea los catetos de un triángulo rectángulo y utilice una función para calcular la hipotenusa e imprimir el resultado.
    • #include <iostream>
    • #include <math.h>
    • using namespace std;
    • void hip(float ca, float co);
    • int main()
    • {
    • float a, b;
    • cout << &quot;Introduzca valor del cateto opuesto: &quot;;
    • cin >> a;
    • cout << &quot;Introduzca valor del cateto adyacente: &quot;;
    • cin >> b;
    • hip(a,b);
    • system(&quot;Pause&quot;);
    • return 0;
    • }
    • void hip(float ca, float co)
    • {
    • float hip;
    • hip=sqrt(pow(ca,2)+pow(co,2));
    • cout << &quot;El valor de la hipotenusa es... &quot; << hip << &quot;n&quot;;
    • }
  • 8.
    • Variables Locales y Globales: En los programas está permitido declarar variables en cualquier parte del código fuente. 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 llama locales ya que sólo son útiles 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:
    • A las variables que declaramos 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( ) .
  • 9.
    • Pase por Valor y Referencia: En la mayoría de los lenguajes hay dos formas de pasar las variables a una función, por valor o por referencia. Por valor significa que la función (o subrutina) recibe sólo una copia del valor que tiene la variable, o sea que no la puede modificar. Por referencia significa que se pasa la posición de memoria donde está guardada la variable, por lo que la función puede saber cuánto vale, pero además puede modificarla de cualquier manera.
    • Las distintas versiones de C pasan normalmente los parámetros a funciones y subrutinas internas por valor. Se puede pedir que los pase por referencia utilizando & . Otra forma de lograr lo mismo es usando punteros, para manejar la dirección de memoria de las variables directamente.
    • Por valor: int Pase_Val(int x);
    • Por referencia: int Pase_Ref(int & x) ;
  • 10.
    • Algunos Ejemplos
    • Ejemplo 3: Cree un programa que sume dos valores enteros globales, y retorne el resultado a una variable local.
    • #include<iostream>
    • using namespace std;
    • int suma(void);//prototipo
    • int a, b;//variables globales
    • int main()
    • {
    • int c;//variables locales
    • cout << &quot;Valor de A:n&quot;;
    • cin >> a;
    • cout << &quot;Valor de B:n&quot;;
    • cin >> b;
    • c=suma();//llamado de función
    • cout << &quot;El Valor de la Suma es...&quot;<< c;
    • cout << &quot;n&quot;;
    • system (&quot;pause&quot;);
    • }
    • int suma (void)//definición
    • {
    • return a+b;
    • }
  • 11.
    • Ejemplo 4: Cree un programa que declare dos valores de forma local en el main, y obtenga el cociente (a/b) utilizando dos funciones: la primera debe validar el valor de b y solicitar uno nuevo de ser igual a 0; la segunda debe calcular y retornar el valor del cociente. Use el paso por referencia en la primera y por valor en la segunda.
    • #include <iostream>
    • using namespace std;
    • void validar(float &b);
    • float dividir(float a, float b);
    • int main()
    • {
    • float a, b;
    • cout << &quot;Introduzca el Valor de an&quot;;
    • cin >> a;
    • cout << &quot;Introduzca el Valor de bn&quot;;
    • cin >> b;
    • validar(b);
    • cout << &quot;nEl Cociente a entre b es: &quot; << dividir(a, b);
    • system (&quot;pause&quot;);
    • }
    • void validar(float &b)
    • {
    • while(b==0)
    • {
    • cout << &quot;nEl divisor debe ser diferente de 0nNuevo valor de b:&quot;;
    • cin >> b;
    • };
    • }
    • float dividir(float a, float b)
    • {
    • return a/b;
    • }  
    Material suministrado por el Licdo. Jesús Rojas