Práctica Semana 10 Funciones- Continuación. El motivo de la “funcionalización” de un programa : o Esta bajo el enfoque “Divide y vencerás”. o Hace que el desarrollo del mismo sea más manipulable. o La reutilización del software, el uso de funciones existentes, como bloques constructivos para crear nuevos programas. o Técnica de abstracción: programas creados partiendo de funciones estandarizadas, que ejercen tareas específicas, en vez de utilizar código personalizado. Las funciones permiten al programador “modulizar” un programa. La gran mayoría de las funciones tienen una lista de parámetros. Las variables declaradas en una función son variables locales, es decir son conocidas sólo en la función en la cual están definidas. Los parámetros proporcionan la forma de comunicar información entre funciones. Los parámetros de una función también son variables locales. Llamadas a funciones, argumentos: o Por valor: debería ser utilizada siempre que la función llamada no necesite modificar el valor de la variable original del llamador. o Por referencia: debe ser utilizada sólo en funciones confiables, que necesitan modificar las variables originales. En C el pase por referencia se hace mediante la utilización de operadores de dirección (* y &) y de indirección (*). Reglas de alcance: Porción del programa en el cual dicho identificador puede ser referenciado. Cómo pasar arreglos a una función: o Prototipo : int modifarreglo ( tipo [ ], int) o En la llamada especifique el nombre del arreglo, sin corchete alguno. Ejemplo: int tempxhora[24]; …… modifarreglo(tempxhora,24) /* el nombre del arreglo es la dirección del primer elemento de dicho arreglo.*/ 1. Escriba una función en C, que recibe como parámetros un arreglo de n elementos desordenado y regresa el arreglo ordenado. Utilice el algoritmo de la Burbuja. Protótipo: Void burbuja(int [], int ) 2. Escriba una función en C, que realiza la BUSQUEDA de un elemento dado en un arreglo. Recibe como parámetros un arreglo de n elementos desordenado y regresa la posición del elemento busacado si existe y cero sino Protótipo: Int Busqueda(int [], int , int ) 3. Modifique la función del ejercicio 2, de manera tal que realice la búsqueda del elemento por el método dicotómico. Protótipo: Int Busqdicotom(int [], int , int ) 4. Modifique la función escrita en el ejercicio 1 y mejórelo sabiendo que al final del primer ciclo el elemento mayor se encuentra en el lugar que le corresponde y así sucesivamente. Por lo tanto en cada nuevo ciclo seguimos ordenando los n-1, n-2, n-3 … elementos restantes. Protótipo: Void burbujamejor(int [], int ) 5. Realice el programa que lee los valores de un arreglo, los ordena utilizando la función Ordenburbuja que usted realizo en el ejercicio 4, luego lea un valor y realice la búsqueda del mismo utilizando la función de Busqdicotom