Sie sind auf Seite 1von 5

I.

- OBJETIVOS:

Disear funciones que resuelvan procesos especficos dentro de un programa.


Implementar mtodos en Java que retornen valores.

II.- SEGURIDAD:
Advertencia:
En este laboratorio est prohibida la manipulacin del
hardware, conexiones elctricas o de red; as como la
ingestin de alimentos o bebidas.

III.- FUNDAMENTO TERICO:


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, crela.

Los procedimientos de creacin de proyectos se encuentran detallados en la


gua 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.- METODOLOGA 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 (MTODOS) CON RETORNO DE DATOS

En el proyecto, cree una clase con el siguiente cdigo:

public class Funciones_01 {


// El mtodo main probar la ejecucin de las funciones
(mtodos).
public static void main(String args[]) {
int num1 = Integer.parseInt(args[0]);
int num2 = Integer.parseInt(args[1]);
int num3 = Integer.parseInt(args[2]);

System.out.print("El mayor es: ");


if (num1>=num2 && num1>=num3)
System.out.println(num1);
else
if (num2>=num1 && num2>=num3)
System.out.println(num2);
else
System.out.println(num3);

}
Antes de ejecutar la clase, asgnele tres argumentos. Esta clase es muy sencilla, lo
que hace es mostrar cul es el valor mayor de los tres argumentos.

Ahora vamos a dividir en mdulos la aplicacin. Crearemos un mtodo (funcin)


que devuelva el mayor de dos nmeros y lo utilizaremos para poder determinar el
nmero mayor de tres argumentos. Agregue el siguiente mtodo (luego del
mtodo main y antes de la llave que cierra la clase) a la clase:
public static int mayor(int n1, int n2) {
if (n1 > n2)
return n1;
else
return n2;
}

Cuntos argumentos recibe y cul es el tipo de datos que retorna este mtodo?

Ahora modifique el mtodo main de la siguiente manera:


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 parcial = mayor(num1, num2);
System.out.print("El mayor es: " + mayor(parcial,
num3));
}
Como se puede apreciar, 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. Prubelo.
Otra alternativa, sin usar la variable parcial, consiste en realizar una invocacin
anidada del mtodo mayor como se muestra a continuacin. Haga los siguientes
cambios y vuelva a probar la clase:

public static void main(String args[]) {


int num1 = Integer.parseInt(args[0]);
int num2 = Integer.parseInt(args[1]);
int num3 = Integer.parseInt(args[2]);
System.out.print("El mayor es: " + mayor(mayor(num1,
num2), num3));
}
Nota: La tcnica de descomponer el programa principal en programas menores se
denomina TOP-DOWN y tiene la lgica de DIVIDE Y VENCERS.

Agregue, a la clase, el mtodo farAcel que reciba una temperatura en grados


Fahrenheit y la convierta a Celsius. Averige la frmula para el clculo
public static double farAcel(double grados) {
return (grados-32)*5/9;

Agregue, a la clase Funciones, el mtodo esPrimo que determina si un


nmero es primo:
public static boolean esPrimo(int n) {
for (int cont=2; cont< n/2; cont++)
if (n % cont == 0)
return false;
return true;
}

Contando con el mtodo anterior, agregue, a la clase Funciones, el mtodo


previoPrimo que reciba un nmero y retorne el nmero primo previo
correspondiente. Por ejemplo: si se recibe 22, el mtodo debe retornar 19:
public static int previoPrimo(int num) {
boolean n= false;
while (n==esPrimo(num)) {
num--;
}
return num;
}

Si el cuadrado de un nmero n es igual a la suma de los n primeros nmeros


impares (ejemplo 32 = 1+3+5), cree una funcin que calcule el cuadrado de un
numero mediante sumas sucesivas de los nmeros impares.

public static long cuadrado(int n) {

int total=0;
for (int i = 0; i <= n*2; i++) {
if (i%2==0) {
total=total;
}
else {
total=total+i;
}
}

return total;
}

Escribir una funcin que reciba un numero y devuelva como resultado la suma de
sus dgitos. Por ejemplo, si el nmero es 23 la suma sera 5.
public static int sumDigitos(int n) {
int total =0;
do{
total=(n%10)+total;
n=n/10;
}while(n>1);
return total;
}

VIII.- OBSERVACIONES:

Se disear funciones que resuelvan procesos especficos dentro de un programa.


Se implement mtodos en Java que retornen valores.
.