PROGRAMACIÓN laboratorio 2007-1 PRÁCTICA 9. FUNCIONES OBJETIVOS: El alumno aprenderá a crear sus propios procedimientos con el fin de hacer más eficiente los programas. El alumno reforzará la necesidad de crear funciones dentro de un programa. El alumno aprenderá a distinguir entre parámetros por valor y parámetros por referencia.. EQUIPO: Computadora Disco Flexible o algún otro medio para almacenar sus prácticas Turbo C (TC) G ENERALIDADES FUNCIONES Cuando un programa comienza a ser largo y complejo no es apropiado tener todas las instrucciones en un solo bloque, esto dificulta el entender lo que el programa realiza. Para solucionar este problema el lenguaje de programación proporciona la facilidad de generar subprogramas resolviendo por parte el problema principal. Estos subprogramas se conocen como funciones y procedimientos, y su función es ocultar los detalles de la solución del problema y resolver una parte de dicho problema en otro lugar del código. El lenguaje C utiliza bibliotecas de funciones para realizar operaciones y cálculos de uso común, y a la vez el programador puede definir sus propias funciones para realizar tareas. Función : es un bloque de instrucciones a realizar la cual tiene como objetivo devolver un valor resultante FORMATO : tipoRetorno nombreFuncion(tipo1 parametro1, tipo2 parametro1, … , tipoN parametroN){ declaración de variables; bloque de instrucciones; return (valorRetorno); } A los vectores o arreglos se pueden asignar valores al ser declarados. UTILIZACIÓN : tipo_de_dato resultado; resultado = nombreFuncion(parámetros); 1 de 2 PROGRAMACIÓN laboratorio 2007-1 PARÁMETROS Los parámetros los definimos como valores necesarios para realizar la función, los cuales se definen en el programa principal o rutina principal con el fin de realizar la función en distintas situaciones. Los parámetros pueden ser por valor o por referencia. Los de valor son aquellos datos necesarios para la función sin que sufran alteración, y los parámetros por referencia son aquellos datos necesarios para la función que pueden ser modificados, estos se distinguen con el operador & al ser declarados. FORMATO : void nombreFuncion(int x, int *y){ // sentencias } // invocación nombreFuncion(x,&y); // x se pasa por valor, y por referencia ACTIVIDAD Código Morse. Fue desarollado por Alfred Vail mientras colaboraba en 1835 con Samuel Morse en la invención del telégrafo eléctrico. Vail creó un método según el cual cada letra o número era transmitido de forma individual con un código consistente en rayas y puntos, es decir, señales telegráficas que se diferencian en el tiempo de duración de la señal activa. Una raya tiene una duración de aproximadamente tres veces la del punto. Entre cada par de símbolos existe una ausencia de señal con duración aproximada a la de un punto. Para la separación de palabras transmitidas el tiempo es de cinco veces el del punto. Morse reconoció la idoneidad de este sistema y lo patentó junto con el telégrafo eléctrico. Fue conocido como «American Morse Code» y fue utilizado en la primera transmisión por telégrafo. A B C CH D E F G H I J K L M · — — — — · · — · · · — · — — · · — · · — · · — · — — · · — · — — · — · · · · — — — · · N Ñ O P Q R S T U V W X Y Z — — — · — · · — · · · — — — · — — — — — · · — — — — · · — · · · · — · · — — · — · — · — — — · 0 1 2 3 4 5 6 7 8 9 . , ? " — · · · · · — — — — · — · · — — · · · · · — — — — — · — — — — · · · · · — — · · — · — — — — · · · · · — — · — · — — — — — · · · · · · — · — — — · · Escriba un programa que lea una frase escrita en español y cifre dicha frase en código Morse y que también lea una frase en código Morse y la convierta en el equivalente en español. Utilice un espacio en blanco entre cada letra codificada Morse y tres espacios en blanco entre cada palabra codificada en Morse. El programa deberá incorporar una función menu() que muestre las siguientes opciones: 1) Traducir una frase de español a código Morse [void traducirEspMorse(char[] fraseEsp)] 2) Traducir una frase de Morse a español [void traducirMorseEsp(char[] fraseMor)] 3) Salir *Acierto extra: función que genere el sonido de la frase en código Morse 2 de 2