Vous êtes sur la page 1sur 5

1

Leccion #5 Java Doc. I.Prado

FUNCIONES

Una función es un segmento de programa que realiza una


tarea específica. Tiene un nombre, de manera optativa puede
tener parámetros de entrada y también de manera optativa
puede tener retorno. Las funciones deben ser definidas
luego del programa principal (main) y para que se ejecuten
se las llama desde el programa principal.

Ejemplo 21. Programa para encontrar el mínimo valor de 3 y


7.
En este ejemplo la función se llama “min”, tiene dos
parámetros de entrada “x“ y “y” que son enteros y tiene
una salida también de tipo entero (int) que es enviada con
return al programa principal. Se llama a la función desde
la última línea del programa principal, indicando el nombre
de la función min y enviando dos valores que tienen las
variables “a” y “b”. Es con estos valores que va a
trabajar la función. La primera variable “a” asigna su
valor a “x” y la segunda variable “b” se asigna su valor a
“y”. En la función se realiza la operación y el resultado
es enviado al programa principal

// programa para encontrar el minimo de dos valores que ingresan por teclado
import java.io.*;
public class p1
{
public static void main(String args[])throws IOException
{
int a, b;
BufferedReader in;
in = new BufferedReader (new InputStreamReader (System.in));
System.out.println("Ingrese un numero ");
a = Integer.parseInt(in.readLine());
System.out.println("Ingrese otro numero ");
b = Integer.parseInt(in.readLine());
System.out.println("El menor es "+min(a,b));
}
//definicion de la funcion
public static int min(int x, int y)
{
2

Leccion #5 Java Doc. I.Prado

return x<y ? x:y;


}
}

El operador ? se utiliza como abreviación del if/else


simple. Por ejemplo:

Z=x<=y ? x:y;
Esto quiere decir que si x<=y entonces z=x, caso contrario
z=y. En otras palabras es igual a escribir:

If (x<=y) Z=x;
Else
Z =y;

Ejemplo 22.- Realizar un programa que lea un número


positivo X que ingresa por teclado, luego desplegar en
pantalla el factorial de cada número comprendido desde 1
hasta X.
import java.io.*;
public class fa1
{
public static void main (String args[])throws IOException
{ int x;
BufferedReader in;
in = new BufferedReader (new InputStreamReader (System.in));
do{
System.out.println("Ingrese x positivo");
x=Integer.parseInt(in.readLine());
}while(x<=0); //para asegurarno que ingresaron positivo
for(int i=1;i<=x;i++){
System.out.println("EL FACTORIAL DE "+i+" ES= "+calcula_factorial_de(i));
}
}
public static int calcula_factorial_de(int z)
{
int resultado=1;
for(int j=1;j<=z;j++){
resultado=resultado*j;
}
return resultado;
3

Leccion #5 Java Doc. I.Prado

}}

Ejemplo 23 .- Realizar un programa para desplegar un saludo


desde una función.

Este ejemplo muestra una función que no tiene retorno


(return).
import java.io.*;
public class ej3
{
public static void main(String arg[])throws IOException
{
System.out.println("Saludos desde el programa principal");
saludos(); //asi se llama la funcion sin retorno
}
public static void saludos()
{
//es void porque no tiene return
//la funcion no tiene parametros de entrada
System.out.println("Saludos dede la funcion ");
}
}

Ejemplo 24.- Realizar la suma de factoriales correlativos desde 1 hasta X.


En este ejemplo se muestra otra forma de llamar una función con retorno. En
este caso recibe el factorial de la función y este valor lo suma en el programa
principal.
import java.io.*;
public class fa2
{
public static void main (String args[])throws IOException
{ int x,suma=0;
BufferedReader in;
in = new BufferedReader (new InputStreamReader (System.in));
do{
System.out.println("Ingrese x positivo");
x=Integer.parseInt(in.readLine());
}while(x<=0); //para asegurarno que ingresaron positivo
for(int i=1;i<=x;i++){
suma = suma + calcula_factorial_de(i);
//otra forma de llamar a la funcion con retorno
System.out.print(i+"! + ");
4

Leccion #5 Java Doc. I.Prado

}
System.out.println("La sumatoria de factoriales es "+suma);
}
public static int calcula_factorial_de(int z)
{
int resultado=1;
for(int j=1;j<=z;j++){
resultado=resultado*j;
}
return resultado;
}
}

Ejemplo 25.- El siguiente programa utiliza la función


leer_matriz y la función listado_matriz. Se utiliza la
función leer_matriz dos veces una para leer la matriz A y
otra para leer la matriz B. De igual manera, se utiliza la
función listado_matriz dos veces, una para listar la matriz
A y otra para listar la matriz B.

import java.io.*;
public class matrices
{
public static void main (String [] args) throws IOException
{
int x,y;
BufferedReader k;
k = new BufferedReader (new InputStreamReader (System.in));

do
{
System.out.println (" Dimension de la matriz cuadrada A: ");
x = Integer.parseInt (k.readLine ());
}
while (x <= 0); //nos aseguramos que sea positivo
System.out.println("\n**** Datos para la matriz A ****");
int [][] A = lee_matriz (x);
do
{
System.out.println (" Dimension de la matriz cuadrada B: ");
y = Integer.parseInt (k.readLine ());
}
5

Leccion #5 Java Doc. I.Prado

while (x <= 0); //nos aseguramos que sea positivo


System.out.println("\n**** Datos para la matriz B ****");
int [][] B = lee_matriz (y);
System.out.println ("\n*** La matriz A es ***");
listado_matriz (x, A);
System.out.println ("\n*** La matriz B es ***");
listado_matriz (y, B);
}
public static int [] [] lee_matriz (int n) throws IOException
{
BufferedReader in;
in = new BufferedReader (new InputStreamReader (System.in));
int [] [] matriz = new int [5] [5];
for (int i = 1 ; i <= n ; i++)
for (int j = 1 ; j <= n ; j++)
{
System.out.println (" Ingrese el elemento " + i + " " + j);
matriz [i] [j] = Integer.parseInt (in.readLine ());
}
return (matriz);
}
public static void listado_matriz (int n1, int [] [] z)
{
for (int i = 1 ; i <= n1 ; i++)
{
for (int j = 1 ; j <= n1 ; j++)
{
System.out.print (" " + z [i] [j]);
}
System.out.println (" ");
}
}
}

Vous aimerez peut-être aussi