I.- OBJETIVOS: • • Diseñar funciones que resuelvan procesos específicos dentro de un programa. Implementar métodos en Java que retornen valores. II.- SEGURIDAD: Advertencia: En este laboratorio está prohibida la manipulación del hardware, conexiones eléctricas o de red; así como la ingestión de alimentos o bebidas. III.- FUNDAMENTO TEÓRICO: Importante. Dentro de la carpeta D:\Java, verifique que tiene una carpeta identificada con su nombre y apellido. En esta carpeta debe crear los proyectos de los laboratorios. Si no existe la carpeta, créela. • Los procedimientos de creación de proyectos se encuentran detallados en la guía de laboratorio de la segunda semana. IV.- NORMAS EMPLEADAS: No aplica V.- RECURSOS: • • En este laboratorio cada alumno trabajará con un equipo con Windows XP. Este equipo cuenta con JDK instalado, así como alguno de los IDE (Entorno de Desarrollo Integrado) como Eclipse o NetBeans. VI.- METODOLOGÍA PARA EL DESARROLLO DE LA TAREA: • El desarrollo del laboratorio es en grupos de dos. VII.- PROCEDIMIENTO: • Cree el proyecto 08_Funciones en su carpeta de trabajo. FUNCIONES (MÉTODOS) CON RETORNO DE DATOS • En el proyecto, cree una clase con el siguiente código: public class Funciones_01 { // El método main probará la ejecución de las funciones (métodos). public static void main(String args[]) { int num1 = Integer.parseInt(args[0]); int num2 = Integer.parseInt(args[1]); int num3 = Integer.parseInt(args[2]); int n2) { if (n1 > n2) return n1. lo que hace es mostrar cuál es el valor mayor de los tres argumentos.} System. else if (num2>=num1 && num2>=num3) System. Haga los siguientes cambios y vuelva a probar la clase: .out. else System. Pruébelo. int num3 = Integer. consiste en realizar una invocación anidada del método mayor como se muestra a continuación. if (num1>=num2 && num1>=num3) System.println(num1).out.parseInt(args[0]).out. num3)).out.print("El mayor es: " + mayor(parcial. } Antes de ejecutar la clase.println(num2). Esta clase es muy sencilla. num2). System. Agregue el siguiente método (luego del método main y antes de la llave que cierra la clase) a la clase: public static int mayor(int n1.print("El mayor es: "). } ¿Cuántos argumentos recibe y cuál es el tipo de datos que retorna este método? Ahora modifique el método main de la siguiente manera: public static void main(String args[]) { int num1 = Integer.out. se usa la variable parcial para determinar el mayor de los dos primeros argumentos y luego se compara la variable parcial con el tercer argumento. int parcial = mayor(num1. else return n2. sin usar la variable parcial.println(num3). } Como se puede apreciar.parseInt(args[2]). asígnele tres argumentos. • Ahora vamos a dividir en módulos la aplicación.parseInt(args[1]). Crearemos un método (función) que devuelva el mayor de dos números y lo utilizaremos para poder determinar el número mayor de tres argumentos. int num2 = Integer. Otra alternativa. System. el método debe retornar 19: public static int previoPrimo(int num) { boolean n= false. return true. num2). } • Agregue. agregue. Por ejemplo: si se recibe 22. } Nota: La técnica de descomponer el programa principal en programas menores se denomina TOP-DOWN y tiene la lógica de “DIVIDE Y VENCERÁS”. } • Si el cuadrado de un número n es igual a la suma de los n primeros números impares (ejemplo 32 = 1+3+5). public static long cuadrado(int n) { .public static void main(String args[]) { int num1 = Integer. cree una función que calcule el cuadrado de un numero mediante sumas sucesivas de los números impares. el método previoPrimo que reciba un número y retorne el número primo previo correspondiente. num3)).print("El mayor es: " + mayor(mayor(num1. el método esPrimo que determina si un número es primo: public static boolean esPrimo(int n) { for (int cont=2.parseInt(args[1]). while (n==esPrimo(num)) { num--. } Contando con el método anterior. • Agregue. cont++) if (n % cont == 0) return false.parseInt(args[0]). a la clase Funciones. cont< n/2. } return num. a la clase. int num2 = Integer. Averigüe la fórmula para el cálculo public static double farAcel(double grados) { return (grados-32)*5/9.out. el método farAcel que reciba una temperatura en grados Fahrenheit y la convierta a Celsius. a la clase Funciones.parseInt(args[2]). int num3 = Integer. si el número es 23 la suma sería 5. }while(n>1).int total=0. } } return total. i++) { if (i%2==0) { total=total. } else { total=total+i. public static int sumDigitos(int n) { int total =0.. return total. . i <= n*2. } VIII. Por ejemplo. n=n/10.OBSERVACIONES: • • Se diseñar funciones que resuelvan procesos específicos dentro de un programa. for (int i = 0. do{ total=(n%10)+total. . } • Escribir una función que reciba un numero y devuelva como resultado la suma de sus dígitos. Se implementó métodos en Java que retornen valores.