Descargar

Funciones y Programación Estructurada

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red Funciones Una función es una sección de código que realiza una tarea específica, y que puede ser llamada desde otra función.

    Todo programa en C/C++ se compone de una o más funciones, incluyendo la función main().

    El lenguaje C incluye muchas funciones de utilidad general, las cuales están organizadas en librerías.

    edu.red Definición de funciones Una función en C/C++ se define de la manera siguiente:

    tipo nombre (argumento1, argumento2, … ) { // instrucciones a realizar }

    donde tipo representa el tipo de datos del valor devuelto por la función, y los argumentos son variables (con especificación de tipo) donde se guardan los parámetros de la función.

    edu.red Ejemplo int factorial(int n) { int i, f = 1; for (i = 1; i <= n; i++) { f = f * i; } return f; }

    int main() { int n; for (n = 1; n <= 10; n++) { cout << n << “! = “ << factorial(n) << endl; } }

    edu.red Funciones tipo void Es posible definir una función que no devuelva ningún resultado si se declara de tipo void:

    void Retardo(int segundos) { int t0 = time(); while (time() – t0 < segundos) {} }

    Notar que, en este caso, no es necesario usar la instrucción return a menos que se desee terminar la función de manera prematura.

    edu.red Práctica Implemente una función f(x) que tome por parámetro un número x (de punto flotante) y devuelva 3cos(x) – 1

    Implemente una función llamada bisección que tome por parámetros a y b, y encuentre la raíz de la función f(x) en el intervalo [a,b]. En caso de no existir una raíz, la función deberá devolver el valor de a.

    Ninguna de las dos funciones anteriores debe pedir datos al usuario o imprimir información en la pantalla.

    Dentro de la función main(), pida al usuario los valores de a y b, y llame a la función de bisección para encontrar e imprimir la raíz de f(x) en [a,b]. En caso de no existir una raíz, el programa deberá actuar de manera acorde.

    edu.red Paso de argumentos por valor Por lo general, las funciones reciben argumentos por valor. Esto significa que los parámetros son variables que solo existen dentro del contexto de la función:

    void intercambia(int a, int b) { int temp = a; a = b; b = temp; }

    int main() { int a = 1, b = 2; intercambia(a, b); cout << “a = “ << a << “, b = “ << b << endl; }

    La salida de este programa es: a = 1, b = 2

    edu.red Paso de argumentos por referencia El paso por referencia asocia los parámetros de una función con variables que existen fuera del contexto de la función, lo cual permite modificar su valor:

    void intercambia(int &a, int &b) { int temp = a; a = b; b = temp; }

    El paso por referencia es útil cuando se requiere que una función devuelva más de un resultado. Operador de referencia

    edu.red Práctica Escriba su propia versión de la función exp(x) utilizando la siguiente serie:donde N es dado como segundo argumento.

    Utilice la función anterior para escribir una función que calcule la densidad de probabilidad de una distribución Gaussiana con media m y varianza s 2, dada por:

    Utilice la regla del trapecio para mostrar que

    edu.red Ejercicios Escriba una función llamada car2pol que tome como argumentos las coordenadas de un punto (x,y) en el plano cartesiano, así como las coordenadas polares (r,a) por referencia. La función deberá calcular r y a a partir de x y y. De manera similar, escriba una función pol2car(r,a,x,y) que realice la operación inversa. Para probar ambas funciones, pida al usuario (dentro de la función main) las coordenadas cartesianas de un punto, conviértalas a polares y nuevamente a cartesianas, e imprima el resultado.

    Escriba funciones llamadas mcd(a,b) y mcm(a,b) que calculen y devuelvan, respectivamente, el máximo común divisor y el mínimo común múltiplo de sus dos argumentos enteros. Use estas funciones dentro de la función main() para imprimir el mcd y mcm de dos números dados por el usuario.

    Escriba una función que calcule el coeficiente binomial:tratando de que funcione para el mayor valor de n posible. Escriba una función main para probar la función anterior.

    edu.red Programación estructurada Un programa estructurado se compone de tres tipos básicos de estructuras de flujo:

    Secuencia: la cual indica el orden de ejecución de las instrucciones.

    Selección: mediante la cual una secuencia de instrucciones se ejecuta dependiendo del estado del programa.

    Repetición: mediante la cual una secuencia de instrucciones se ejecuta de manera iterativa mientras el programa se encuentre en un cierto estado.

    Partes: 1, 2
    Página siguiente