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