SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Ingeniería Mecánica y Automotriz         1                       Informática II


CAPITULO 1.- FUNCIONES
Tiempo de vida de los datos

    Según el lugar donde son declaradas puede haber dos tipos de variables.

    Globales: las variables permanecen activas durante todo el programa. Se crean
al iniciarse éste y se destruyen de la memoria al finalizar. Pueden ser utilizadas en
cualquier función.

   Locales: las variables son creadas cuando el programa llega a la función en la
que están definidas. Al finalizar la función desaparecen de la memoria.

   Si dos variables, una global y una local, tienen el mismo nombre, la local
prevalecerá sobre la global dentro de la función en que ha sido declarada.

   Dos variables locales pueden tener el mismo nombre siempre que estén
declaradas en funciones diferentes.


/* Variables globales y locales. */

#include <iostream.h>

int num1=1;
void main() /* Escribe dos cifras */
{
        int num2=10;
        cout<<num1<<endl;
        cout<<num2;

}

Funciones

   Las funciones son bloques de código utilizados para dividir un programa en
partes más pequeñas, cada una de las cuáles tendrá una tarea determinada.

    Su sintaxis es:

         tipo_función nombre_función (tipo y nombre de argumentos)
         {
                  bloque de sentencias
         }

    tipo_función: puede ser de cualquier tipo de los que conocemos. El valor
devuelto por la función será de este tipo. Por defecto, es decir, si no indicamos el
tipo, la función devolverá un valor de tipo entero ( int ). Si no queremos que
retorne ningún valor deberemos indicar el tipo vacío ( void ).

    nombre_función: es el nombre que le daremos a la función.

   tipo y nombre de argumentos: son los parámetros que recibe la función. Los
argumentos de una función no son más que variables locales que reciben un valor.
Este valor se lo enviamos al hacer la llamada a la función. Pueden existir funciones
que no reciban argumentos.



Ing. Alberto Moreno C.
Ingeniería Mecánica y Automotriz         2                       Informática II


    bloque de sentencias: es el conjunto de sentencias que serán ejecutadas cuando
se realice la llamada a la función.

   Las funciones pueden ser llamadas desde la función main o desde otras
funciones. Nunca se debe llamar a la función main desde otro lugar del programa.
Por último recalcar que los argumentos de la función y sus variables locales se
destruirán al finalizar la ejecución de la misma.

1.3.- Declaración de las funciones

    Al igual que las variables, las funciones también han de ser declaradas. Esto es
lo que se conoce como prototipo de una función. Para que un programa en C sea
compatible entre distintos compiladores es imprescindible escribir los prototipos de
las funciones.

    Los prototipos de las funciones pueden escribirse antes de la función main o
bién en otro fichero. En este último caso se lo indicaremos al compilador mediante
la directiva #include.

    En el ejemplo adjunto podremos ver la declaración de una función ( prototipo ).
Al no recibir ni retornar ningún valor, está declarada como void en ambos lados.
También vemos que existe una variable global llamada num. Esta variable es
reconocible en todas las funciones del programa. Ya en la función main
encontramos una variable local llamada num. Al ser una variable local, ésta tendrá
preferencia sobre la global. Por tanto la función escribirá los números 10 y 5.

/* Declaración de funciones. */

#include <iostream.h>

void funcion(void); /* prototipo */
int num=5; /* variable global */
void main() /* Escribe dos números */
{
         int num=10; /* variable local */
         cout<<num<<endl;
         funcion(); /* llamada */
}

void funcion(void){
         cout<<num;
}

Paso de parámetros a una función

   Como ya hemos visto, las funciones pueden retornar un valor. Esto se hace
mediante la instrucción return, que finaliza la ejecución de la función, devolviendo
o no un valor.

   En una misma función podemos tener más de una instrucción return. La forma
de retornar un valor es la siguiente:

         return ( valor o expresión );

    El valor devuelto por la función debe asignarse a una variable. De lo contrario,
el valor se perderá.


Ing. Alberto Moreno C.
Ingeniería Mecánica y Automotriz        3                       Informática II


   En el ejemplo puedes ver lo que ocurre si no guardamos el valor en una
variable. Fíjate que a la hora de mostrar el resultado de la suma, en el cout,
también podemos llamar a la función.


/* Paso de parámetros. */
#include <iostream.h>

int suma(int,int); /* prototipo */
void main() /* Realiza una suma */
{
         int a=10,b=25,t;
         t=suma(a,b); /* guardamos el valor */
         cout<<"a+b=”<<t;
}

int suma(int a,int b){
         return (a+b);
}
    Ahora veremos lo que se conoce como paso de parámetros.

    Existen dos formas de enviar parámetros a una función:

    Por valor: cualquier cambio que se realice dentro de la función en el
argumento enviado, NO afectará al valor original de las variables utilizadas en la
llamada. Es como si trabajaramos con una copia, no con el original. No es posible
enviar por valor arrays, deberemos hacerlo por referencia.

   Por referencia: lo que hacemos es enviar a la función la dirección de memoria
donde se encuentra la variable o dato. Cualquier modificación SI afectará a las
variables utilizadas en la llamada. Trabajamos directamente con el original.

/* Paso por valor. */
#include <iostream.h>
void intercambio(int,int);
void main() /* Intercambio de valores */
{
         int a=1,b=2;
         cout<<"a=”<<a<<endl;
         cout<<”b=”<<b<<endl;
         intercambio(a,b); /* llamada */
         cout<<a<<” , “<<b;
}

void intercambio (int x,int y)
{
         int aux;
         aux=x;
         x=y;
         y=aux;
         cout<<"a=”<<x<<endl;
         cout<<”b=”<<y<<endl;

}




Ing. Alberto Moreno C.
Ingeniería Mecánica y Automotriz        4                       Informática II

Para enviar un valor por referencia se utiliza el símbolo & ( ampersand ) delante de
la variable enviada. Esto le indica al compilador que la función que se ejecutará
tendra que obtener la dirección de memoria en que se encuentra la variable.

   Vamos a fijarnos en los ejemplos. En el ejemplo anterior podrás comprobar que
antes y después de la llamada, las variables mantienen su valor. Solamente se
modifica en la función intercambio ( paso por valor ).

     En el siguiente ejemplo podrás ver como las variables intercambian su valor tras
la llamada de la función ( paso por referencia ).

   Las variables con un * son conocidas como punteros, el único dato en 'C' que
puede almacenar una dirección de memoria.


/* Paso por referencia. */

#include <iostream.h>

void intercambio(int *,int *);

void main() /* Intercambio de valores */
{
        int a=1,b=2;
        cout<<"a=”a<<endl;
        cout<<”b=”<<b<<endl;
        intercambio(&a,&b); /* llamada */
}

void intercambio (int *x,int *y)
{
         int aux;
         aux=*x;
         *x=*y;
         *y=aux;
         cout<<"a=”<<*x<<” , “<<”b=<<*y;

}

Los argumentos de la función main

   Ya hemos visto que las funciones pueden recibir argumentos. Pues bién, la
función main no podía ser menos y también puede recibir argumentos, en este
caso desde el exterior.

    Los argumentos que puede recibir son:

    argc: es un contador. Su valor es igual al número de argumentos escritos en la
línea de comandos, contando el nombre del programa que es el primer argumento.

   argv: es un puntero a un array de cadenas de caracteres que contiene los
argumentos, uno por cadena.

   En este ejemplo vamos a ver un pequeño programa que escribirá un saludo por
pantalla (Programa : ARGUMENTO.C).

/* Argumentos de la main. */


Ing. Alberto Moreno C.
Ingeniería Mecánica y Automotriz   5            Informática II


#include <iostream.h>

main(int argc,char *argv[]) /* argumentos */
{
cout<<"nCurso de Programación en Cn";
cout<<"Programa de ejemplo.nn";
if (argc<2)
{
         cout<<"Teclee: ARGUMENTO su_nombre";
         exit(1); /* fin */
}
cout<<"Hola:”<<argv[1];

}




Ing. Alberto Moreno C.
Ingeniería Mecánica y Automotriz          6                          Informática II


PROBLEMAS PROPUESTOS 1

1.    Especifique el resultado que se obtiene al ejecutar el siguiente programa.

      #include <iostream.h>

      void velresult (int distancia, int tiempo ) {
             float vel;
             vel = (float) distancia / tiempo;
             cout<<“La velocidad Kmph:”<<vel;
      }

      void main ( )
      {
            int distancia, tiempo;
            distancia = 100;
            tiempo = 2;
            velresult (distancia, tiempo);
            velresult (400, 10);
      }


2.    Escriba una función llamada bisuma que calcule la suma de dos variables
      num1 y num2 enteras y regrese un resultado entero.


3.    Escriba una función llamada media_de_3 que reciba como parámetro un
      dato entero y lo divida entre 3. Suponga que el dato enviado a la función es
      el total de sumar 3 números, por lo que el resultado de esta función será la
      media de los 3 datos.


4.    Escriba un programa completo que lea tres valores enteros para las
      variables a, b, c, que enseguida invoque a las funciones bisuma y
      media_de_3 de los ejercicios anteriores y que, por último, despliegue el
      valor promedio de los tres datos con un mensaje apropiado. ¿Qué cambios
      necesitaría realizar a las funciones para obtener el promedio de más de 3
      datos?


5.    Escriba una función llamada cuadrado que tenga un parámetro de entrada
      llamado longitud y entregue como resultado el perímetro del cuadrado cuyo
      lado sea la longitud especificada y su área. Todas las variables son reales.


6.    Escriba una función llamada magnitud que tenga cuatro parámetros de
      entrada llamados x1, x2, y1, y2 y que entregue como resultado la distancia
      entre dos puntos cuyas coordenadas son (x1, y1) y (x2, y2) según la siguiente
      fórmula:

                            dist = ( y 2 − y1 ) 2 + ( x 2 − x1 ) 2

7.    Un piso rectangular que mide 12 metros por 15 metros está cubierto
      parcialmente por tapetes circulares. El radio de un tapete es un metro. El
      radio del otro es de dos metros.




Ing. Alberto Moreno C.
Ingeniería Mecánica y Automotriz      7                       Informática II

      Escriba un programa que encuentre el área de la parte del piso que está
      descubierta.

      El programa deberá tener:


      a)     Una función que reciba como parámetro el radio de un círculo y que
             regrese el valor del área de ese círculo. Suponga que el radio y el
             área son reales.

      b)     Una función con dos parámetros reales que calcule el área de un
             rectángulo de base y altura dadas.


8.    Escriba una función llamada digfinal que tenga un parámetro de entrada
      llamado número y que entregue como resultado el dígito de las unidades del
      número. Por ejemplo, si el número es 234, el resultado es 4.

9.    Escribe una función que tome 3 parámetros: dos de tipo enteros y uno de
      tipo carácter. La función deberá sumar, restar, multiplicar o dividir los
      valores de los dos primeros parámetros dependiendo del código indicado en
      el tercer parámetro, y devolver el resultado.

10.   Escribe una función que devuelva el (a) factorial, (b) n-simo número de
      Fibonacci, de su argumento.

11.   Escribe una función que diga si sus dos argumentos son múltiplo el uno del
      otro (no importa cuál de cuál).

12.   Escribe una función que devuelva si su argumento n es o no es primo.

      NOTA: Tener en cuenta que basta con probar la divisibilidad por los números
            desde el 2 hasta la n . Lo cual ahorra muchas operaciones. Si
            además consideramos que basta con saber si es par o no al principio,
            podemos ahorrarnos la mitad de las pruebas de divisores, eliminando
            todos los pares. Por fin una última mejora, importante, es eliminar los
            múltiplos de tres.

13.   Escribe una función que devuelva el n-símo número primo (1 es el primero),
      recibiendo n como argumento.

14.   Escribe una función que ‘escriba’ los números primos hasta el numero que se
      le pasa como parámetro.




Ing. Alberto Moreno C.
Ingeniería Mecánica y Automotriz   8   Informática II




Ing. Alberto Moreno C.

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

Funciones en C
Funciones en CFunciones en C
Funciones en C
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Guía funciones
Guía funcionesGuía funciones
Guía funciones
 
11 Funciones
11 Funciones11 Funciones
11 Funciones
 
Apuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje cApuntes1 elementos del lenguaje c
Apuntes1 elementos del lenguaje c
 
Presen iii 26 funciones
Presen iii  26 funcionesPresen iii  26 funciones
Presen iii 26 funciones
 
Funciones
FuncionesFunciones
Funciones
 
Unidad6 funciones
Unidad6 funcionesUnidad6 funciones
Unidad6 funciones
 
Utp lpi_s6y7_funciones y variables 2012-2
 Utp lpi_s6y7_funciones y variables 2012-2 Utp lpi_s6y7_funciones y variables 2012-2
Utp lpi_s6y7_funciones y variables 2012-2
 
Algoritmos y lenjuage de programacion
Algoritmos y  lenjuage de programacionAlgoritmos y  lenjuage de programacion
Algoritmos y lenjuage de programacion
 
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
 
Utp pti_s6y7_funciones y variables
 Utp pti_s6y7_funciones y variables Utp pti_s6y7_funciones y variables
Utp pti_s6y7_funciones y variables
 
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
 
INSTRUCCIONES BÁSICAS PARA C++
INSTRUCCIONES BÁSICAS PARA C++INSTRUCCIONES BÁSICAS PARA C++
INSTRUCCIONES BÁSICAS PARA C++
 
C++ y sus librerias
C++ y sus libreriasC++ y sus librerias
C++ y sus librerias
 
Funciones y procedimientos
Funciones y procedimientosFunciones y procedimientos
Funciones y procedimientos
 
Funcion printf
Funcion printfFuncion printf
Funcion printf
 
Abstracción en programación
Abstracción en programaciónAbstracción en programación
Abstracción en programación
 
Acciones funciones
Acciones funcionesAcciones funciones
Acciones funciones
 
Utilidad de las funciones en c
Utilidad de las funciones en cUtilidad de las funciones en c
Utilidad de las funciones en c
 

Ähnlich wie Metodos funciones

Ähnlich wie Metodos funciones (20)

Programación modular en Introducción a la Programación
Programación modular en Introducción a la ProgramaciónProgramación modular en Introducción a la Programación
Programación modular en Introducción a la Programación
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
P_UNIDAD 4 FUNCIONES.pptx
P_UNIDAD 4 FUNCIONES.pptxP_UNIDAD 4 FUNCIONES.pptx
P_UNIDAD 4 FUNCIONES.pptx
 
Funciones en C.docx
Funciones en C.docxFunciones en C.docx
Funciones en C.docx
 
Funcionesenlenguaje c
Funcionesenlenguaje cFuncionesenlenguaje c
Funcionesenlenguaje c
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
Indentificacion de funciones
Indentificacion de funcionesIndentificacion de funciones
Indentificacion de funciones
 
6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv6 libro fundamentos cap__modularidad_ecler mv
6 libro fundamentos cap__modularidad_ecler mv
 
Lenguaje De Programacion
Lenguaje De ProgramacionLenguaje De Programacion
Lenguaje De Programacion
 
8448148681
84481486818448148681
8448148681
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinas
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinas
 
Roberto orta salinas
Roberto orta salinasRoberto orta salinas
Roberto orta salinas
 
Funciones
FuncionesFunciones
Funciones
 
Unidad educativa
Unidad educativaUnidad educativa
Unidad educativa
 
07 funciones
07 funciones07 funciones
07 funciones
 
1ra parte elementos basicos del lenguaje
1ra parte elementos basicos del lenguaje1ra parte elementos basicos del lenguaje
1ra parte elementos basicos del lenguaje
 
1ra parte elementos basicos del lenguaje
 1ra parte elementos basicos del lenguaje 1ra parte elementos basicos del lenguaje
1ra parte elementos basicos del lenguaje
 
Clase 19
Clase 19Clase 19
Clase 19
 
Introduccion a C++
Introduccion a C++Introduccion a C++
Introduccion a C++
 

Metodos funciones

  • 1. Ingeniería Mecánica y Automotriz 1 Informática II CAPITULO 1.- FUNCIONES Tiempo de vida de los datos Según el lugar donde son declaradas puede haber dos tipos de variables. Globales: las variables permanecen activas durante todo el programa. Se crean al iniciarse éste y se destruyen de la memoria al finalizar. Pueden ser utilizadas en cualquier función. Locales: las variables son creadas cuando el programa llega a la función en la que están definidas. Al finalizar la función desaparecen de la memoria. Si dos variables, una global y una local, tienen el mismo nombre, la local prevalecerá sobre la global dentro de la función en que ha sido declarada. Dos variables locales pueden tener el mismo nombre siempre que estén declaradas en funciones diferentes. /* Variables globales y locales. */ #include <iostream.h> int num1=1; void main() /* Escribe dos cifras */ { int num2=10; cout<<num1<<endl; cout<<num2; } Funciones Las funciones son bloques de código utilizados para dividir un programa en partes más pequeñas, cada una de las cuáles tendrá una tarea determinada. Su sintaxis es: tipo_función nombre_función (tipo y nombre de argumentos) { bloque de sentencias } tipo_función: puede ser de cualquier tipo de los que conocemos. El valor devuelto por la función será de este tipo. Por defecto, es decir, si no indicamos el tipo, la función devolverá un valor de tipo entero ( int ). Si no queremos que retorne ningún valor deberemos indicar el tipo vacío ( void ). nombre_función: es el nombre que le daremos a la función. tipo y nombre de argumentos: son los parámetros que recibe la función. Los argumentos de una función no son más que variables locales que reciben un valor. Este valor se lo enviamos al hacer la llamada a la función. Pueden existir funciones que no reciban argumentos. Ing. Alberto Moreno C.
  • 2. Ingeniería Mecánica y Automotriz 2 Informática II bloque de sentencias: es el conjunto de sentencias que serán ejecutadas cuando se realice la llamada a la función. Las funciones pueden ser llamadas desde la función main o desde otras funciones. Nunca se debe llamar a la función main desde otro lugar del programa. Por último recalcar que los argumentos de la función y sus variables locales se destruirán al finalizar la ejecución de la misma. 1.3.- Declaración de las funciones Al igual que las variables, las funciones también han de ser declaradas. Esto es lo que se conoce como prototipo de una función. Para que un programa en C sea compatible entre distintos compiladores es imprescindible escribir los prototipos de las funciones. Los prototipos de las funciones pueden escribirse antes de la función main o bién en otro fichero. En este último caso se lo indicaremos al compilador mediante la directiva #include. En el ejemplo adjunto podremos ver la declaración de una función ( prototipo ). Al no recibir ni retornar ningún valor, está declarada como void en ambos lados. También vemos que existe una variable global llamada num. Esta variable es reconocible en todas las funciones del programa. Ya en la función main encontramos una variable local llamada num. Al ser una variable local, ésta tendrá preferencia sobre la global. Por tanto la función escribirá los números 10 y 5. /* Declaración de funciones. */ #include <iostream.h> void funcion(void); /* prototipo */ int num=5; /* variable global */ void main() /* Escribe dos números */ { int num=10; /* variable local */ cout<<num<<endl; funcion(); /* llamada */ } void funcion(void){ cout<<num; } Paso de parámetros a una función Como ya hemos visto, las funciones pueden retornar un valor. Esto se hace mediante la instrucción return, que finaliza la ejecución de la función, devolviendo o no un valor. En una misma función podemos tener más de una instrucción return. La forma de retornar un valor es la siguiente: return ( valor o expresión ); El valor devuelto por la función debe asignarse a una variable. De lo contrario, el valor se perderá. Ing. Alberto Moreno C.
  • 3. Ingeniería Mecánica y Automotriz 3 Informática II En el ejemplo puedes ver lo que ocurre si no guardamos el valor en una variable. Fíjate que a la hora de mostrar el resultado de la suma, en el cout, también podemos llamar a la función. /* Paso de parámetros. */ #include <iostream.h> int suma(int,int); /* prototipo */ void main() /* Realiza una suma */ { int a=10,b=25,t; t=suma(a,b); /* guardamos el valor */ cout<<"a+b=”<<t; } int suma(int a,int b){ return (a+b); } Ahora veremos lo que se conoce como paso de parámetros. Existen dos formas de enviar parámetros a una función: Por valor: cualquier cambio que se realice dentro de la función en el argumento enviado, NO afectará al valor original de las variables utilizadas en la llamada. Es como si trabajaramos con una copia, no con el original. No es posible enviar por valor arrays, deberemos hacerlo por referencia. Por referencia: lo que hacemos es enviar a la función la dirección de memoria donde se encuentra la variable o dato. Cualquier modificación SI afectará a las variables utilizadas en la llamada. Trabajamos directamente con el original. /* Paso por valor. */ #include <iostream.h> void intercambio(int,int); void main() /* Intercambio de valores */ { int a=1,b=2; cout<<"a=”<<a<<endl; cout<<”b=”<<b<<endl; intercambio(a,b); /* llamada */ cout<<a<<” , “<<b; } void intercambio (int x,int y) { int aux; aux=x; x=y; y=aux; cout<<"a=”<<x<<endl; cout<<”b=”<<y<<endl; } Ing. Alberto Moreno C.
  • 4. Ingeniería Mecánica y Automotriz 4 Informática II Para enviar un valor por referencia se utiliza el símbolo & ( ampersand ) delante de la variable enviada. Esto le indica al compilador que la función que se ejecutará tendra que obtener la dirección de memoria en que se encuentra la variable. Vamos a fijarnos en los ejemplos. En el ejemplo anterior podrás comprobar que antes y después de la llamada, las variables mantienen su valor. Solamente se modifica en la función intercambio ( paso por valor ). En el siguiente ejemplo podrás ver como las variables intercambian su valor tras la llamada de la función ( paso por referencia ). Las variables con un * son conocidas como punteros, el único dato en 'C' que puede almacenar una dirección de memoria. /* Paso por referencia. */ #include <iostream.h> void intercambio(int *,int *); void main() /* Intercambio de valores */ { int a=1,b=2; cout<<"a=”a<<endl; cout<<”b=”<<b<<endl; intercambio(&a,&b); /* llamada */ } void intercambio (int *x,int *y) { int aux; aux=*x; *x=*y; *y=aux; cout<<"a=”<<*x<<” , “<<”b=<<*y; } Los argumentos de la función main Ya hemos visto que las funciones pueden recibir argumentos. Pues bién, la función main no podía ser menos y también puede recibir argumentos, en este caso desde el exterior. Los argumentos que puede recibir son: argc: es un contador. Su valor es igual al número de argumentos escritos en la línea de comandos, contando el nombre del programa que es el primer argumento. argv: es un puntero a un array de cadenas de caracteres que contiene los argumentos, uno por cadena. En este ejemplo vamos a ver un pequeño programa que escribirá un saludo por pantalla (Programa : ARGUMENTO.C). /* Argumentos de la main. */ Ing. Alberto Moreno C.
  • 5. Ingeniería Mecánica y Automotriz 5 Informática II #include <iostream.h> main(int argc,char *argv[]) /* argumentos */ { cout<<"nCurso de Programación en Cn"; cout<<"Programa de ejemplo.nn"; if (argc<2) { cout<<"Teclee: ARGUMENTO su_nombre"; exit(1); /* fin */ } cout<<"Hola:”<<argv[1]; } Ing. Alberto Moreno C.
  • 6. Ingeniería Mecánica y Automotriz 6 Informática II PROBLEMAS PROPUESTOS 1 1. Especifique el resultado que se obtiene al ejecutar el siguiente programa. #include <iostream.h> void velresult (int distancia, int tiempo ) { float vel; vel = (float) distancia / tiempo; cout<<“La velocidad Kmph:”<<vel; } void main ( ) { int distancia, tiempo; distancia = 100; tiempo = 2; velresult (distancia, tiempo); velresult (400, 10); } 2. Escriba una función llamada bisuma que calcule la suma de dos variables num1 y num2 enteras y regrese un resultado entero. 3. Escriba una función llamada media_de_3 que reciba como parámetro un dato entero y lo divida entre 3. Suponga que el dato enviado a la función es el total de sumar 3 números, por lo que el resultado de esta función será la media de los 3 datos. 4. Escriba un programa completo que lea tres valores enteros para las variables a, b, c, que enseguida invoque a las funciones bisuma y media_de_3 de los ejercicios anteriores y que, por último, despliegue el valor promedio de los tres datos con un mensaje apropiado. ¿Qué cambios necesitaría realizar a las funciones para obtener el promedio de más de 3 datos? 5. Escriba una función llamada cuadrado que tenga un parámetro de entrada llamado longitud y entregue como resultado el perímetro del cuadrado cuyo lado sea la longitud especificada y su área. Todas las variables son reales. 6. Escriba una función llamada magnitud que tenga cuatro parámetros de entrada llamados x1, x2, y1, y2 y que entregue como resultado la distancia entre dos puntos cuyas coordenadas son (x1, y1) y (x2, y2) según la siguiente fórmula: dist = ( y 2 − y1 ) 2 + ( x 2 − x1 ) 2 7. Un piso rectangular que mide 12 metros por 15 metros está cubierto parcialmente por tapetes circulares. El radio de un tapete es un metro. El radio del otro es de dos metros. Ing. Alberto Moreno C.
  • 7. Ingeniería Mecánica y Automotriz 7 Informática II Escriba un programa que encuentre el área de la parte del piso que está descubierta. El programa deberá tener: a) Una función que reciba como parámetro el radio de un círculo y que regrese el valor del área de ese círculo. Suponga que el radio y el área son reales. b) Una función con dos parámetros reales que calcule el área de un rectángulo de base y altura dadas. 8. Escriba una función llamada digfinal que tenga un parámetro de entrada llamado número y que entregue como resultado el dígito de las unidades del número. Por ejemplo, si el número es 234, el resultado es 4. 9. Escribe una función que tome 3 parámetros: dos de tipo enteros y uno de tipo carácter. La función deberá sumar, restar, multiplicar o dividir los valores de los dos primeros parámetros dependiendo del código indicado en el tercer parámetro, y devolver el resultado. 10. Escribe una función que devuelva el (a) factorial, (b) n-simo número de Fibonacci, de su argumento. 11. Escribe una función que diga si sus dos argumentos son múltiplo el uno del otro (no importa cuál de cuál). 12. Escribe una función que devuelva si su argumento n es o no es primo. NOTA: Tener en cuenta que basta con probar la divisibilidad por los números desde el 2 hasta la n . Lo cual ahorra muchas operaciones. Si además consideramos que basta con saber si es par o no al principio, podemos ahorrarnos la mitad de las pruebas de divisores, eliminando todos los pares. Por fin una última mejora, importante, es eliminar los múltiplos de tres. 13. Escribe una función que devuelva el n-símo número primo (1 es el primero), recibiendo n como argumento. 14. Escribe una función que ‘escriba’ los números primos hasta el numero que se le pasa como parámetro. Ing. Alberto Moreno C.
  • 8. Ingeniería Mecánica y Automotriz 8 Informática II Ing. Alberto Moreno C.