clase 008

Upload: michel-mejia

Post on 12-Oct-2015

9 views

Category:

Documents


0 download

TRANSCRIPT

  • Mg.Ing. Yuri A. Pomachagua Basualdo

    2014

    Universidad Tecnolgica del Per

    Yart Ing Yuri A. Pomachagua Basualdo

  • Funciones

    Ing Yuri A. Pomachagua Basualdo

  • Contenido

    Modulacin de un programa

    Definicin de Funcin

    Argumento.

    Retorno

    Aplicaciones

    Yart Ing Yuri A. Pomachagua Basualdo

  • Logro

    Al finalizar esta sesin el alumno ser

    capaz de comprender un programa

    utilizando funciones y sabr definir

    adecuadamente las funciones con

    parmetros o sin parmetros

    Yart Ing Yuri A. Pomachagua Basualdo

  • La abstraccin es la herramienta ms poderosa que la gente tiene para gestionar la complejidad!

    Ing Yuri A. Pomachagua Basualdo

  • Ejercicio.- Escribir un programa que dibuja

    una casa tal como se

    muestra en la imagen

    Ing Yuri A. Pomachagua Basualdo

  • Principal

    Dibuja Chimenea

    Dibuja Puerta

    Dibuja Ventana

    Dibuja Contorno

    Dibuja Marco de Puerta

    Dibuja Perilla

    Ing Yuri A. Pomachagua Basualdo

  • Consiste en dividir un programa

    complejo en subprogramas, donde

    el programa principal es el

    controlador o conductor y los

    subprogramas son las funciones o

    procedimientos

    Ing Yuri A. Pomachagua Basualdo

  • El programa principal invoca al

    subprograma, el subprograma

    ejecuta las tareas y luego devuelve

    el control al Programa principal.

    Programa Principal

    Subprograma1

    Subprograma 2

    Subprograma1.1

    Invoca

    Retorna

    Invoca

    Retorna

    Ing Yuri A. Pomachagua Basualdo

  • Definicin.- Una funcin consta de dos

    partes, el encabezado y el cuerpo de la

    funcin.

    El encabezado.- Aqu, al igual que en el

    prototipo de la misma, se tienen que

    especificar los parmetros de la funcin,

    si los utiliza y el tipo de datos que

    devuelve.

    El cuerpo.- Se compone de las

    instrucciones necesarias para realizar la

    tarea para la cual se crea la funcin

    Ing Yuri A. Pomachagua Basualdo

  • Tipo_de_Retorno Nombre_Funcin(Parmetros)

    { Declaraciones;

    Instrucciones;

    --------

    --------

    return [expresin];

    }

    Cuero de la Funcin

    Encabezado

    Ing Yuri A. Pomachagua Basualdo

  • Tipo_de_retorno: es el tipo del valor devuelto por la funcin,

    o, en caso de que la funcin no devuelva valor alguno, la

    palabra reservada void.

    Nombre_funcin: es el identificador asignado a la funcin.

    Parmetros: Tambin llamado argumentos es la lista de

    declaracin de los parmetros que son pasados a la funcin.

    stos se separan por comas. Debemos tener en cuenta que

    pueden existir funciones que no utilicen parmetros.

    Cuerpo_de_la_funcin: est compuesto por un conjunto de

    sentencias que llevan a cabo la tarea especfica para la cual

    ha sido creada la funcin.

    Return: mediante la palabra reservada return, se devuelve

    el valor de la funcin, en este caso representado por

    expresin.

    Ing Yuri A. Pomachagua Basualdo

  • La declaracin de una funcin se conoce tambin como prototipo de la funcin. En el prototipo de una funcin se tienen que especificar los parmetros de la funcin, as como el tipo de dato que devuelve. Los prototipos de las funciones se incluyen generalmente en la cabecera del programa.

    Ing Yuri A. Pomachagua Basualdo

  • Tipo_de_Retorno Nombre_Funcin(Parmetros);

    Int main()

    { Instrucciones;

    -------

    return [expresin];

    }

    Tipo_de_Retorno Nombre_Funcin(Parmetros) {

    Instrucciones;

    return expresin;

    }

    Funcin principal

    Prototipo

    Ing Yuri A. Pomachagua Basualdo

  • float vol_Esfera( float Ra,);

    Int main()

    { Instrucciones;

    -------

    return 0;

    }

    float vol_Esfera(Pfloat Ra) {

    return 3.14*3/4*Ra*Ra*Ra;

    }

    Ing Yuri A. Pomachagua Basualdo

  • Ejercicio.- Elaborar una

    funcin que

    calcule el

    producto de dos

    nmeros

    #include

    using namespace std;

    double Multiplicar(float N1, float N2);

    int main()

    {

    float A,B;

    double Prod;

    cout > A;

    cout > B;

    Prod = Multiplicar(A,B); // Aqu se invoca a la funcin

    cout

  • Ejercicio.- Elaborar una funcin que calcule

    el volumen de un

    cilindro

    #include

    using namespace std;

    float Vol_Cilindro(float, float);

    int main()

    {

    float ra,ha, res;

    cout > ra;

    cout > ha;

    res = Vol_Cilindro(ra,ha); // Aqu se invoca a la funcin

    cout

  • Solucin 1: C++

    #include

    using namespace std;

    float Media(float a, float b, float c);

    int main() {

    float x, y, z;

    Media(x, y, z); // Aqu se invoca a la funcin

    system(pause);

    return 0; }

    float Media(float a, float b, float c)

    { float M;

    cout > a;

    cout > b;

    cout > c;

    M=(a+b+c)/3.0;

    cout

  • float Vol_Cilindro(float R, float H)

    {

    float resp;

    resp = 3.1416*R*R*H;

    return resp;

    }

    Ing Yuri A. Pomachagua Basualdo

  • Variable Global- Tienen actuacin sobre todo el programa, tanto el principal como cualquier

    subprograma.

    float vol_Esfera( float Ra,);

    double volum;

    Int main()

    { Instrucciones;

    Volum = Expresion;

    return 0;

    }

    float vol_Esfera(float Ra) {

    volum=Expresin1;

    return [Expresin];

    }

    Ing Yuri A. Pomachagua Basualdo

  • Por Referencia- Es aquel en que se pasa la variable y no el valor, lo que permite pueda ser

    modificada por el subprograma llamado.

    Ing Yuri A. Pomachagua Basualdo

  • Paso de

    parmetro

    por valor

    #include using namespace std; int funcion(int n, int m); int main() { int a, b; a = 50; b = 100; cout

  • Paso de

    parmetro

    por

    referencia

    #include using namespace std; int funcion(int &n, int &m); int main() { int a, b; a = 50; b = 100; cout

  • Ejercicio 1.- Elaborar una funcin que calcule la

    cantidad de nmeros primos que se encuentran

    entre dos valores a, b naturales; a>b.

    Ejercicio 2.- Escribir una funcin para imprimir

    todos los valores de a, b y c que cumplan con la

    siguiente ecuacin c2 = a2 + b2 , para valores de a,

    b y c que se encuentran entre 1 y 50.

    .

    Ing Yuri A. Pomachagua Basualdo

  • Smbolo Operacin

    ++ Incremento

    -- Decremento

    = A = B

    += A += B A = A + B

    -= A -= B A = A - B

    *= A *= B A = A * B

    /= A /= B A = A / B

    %= A %= B A = A % B

    Ing Yuri A. Pomachagua Basualdo

  • IMPLEMENTAR EN EL LABORATORIO LAS FUNCIONES

    EXPLICADOS EN CLASE

    Yart Ing Yuri A. Pomachagua Basualdo