You are on page 1of 9

UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE

INGENIERA DE COMPUTACIN Y SISTEMAS


FUNDAMENTOS DE PROGRAMACIN 1 METODOS -II

MTODOS (FUNCIONES)

Uso de un mtodo.

Para usar un mtodo, se aplica siempre a travs del uso un objeto de una clase determinada
por medio del operador punto (.).
Para usar un mtodo se hace invocando
nombre_objeto . nombre_mtodo (parmetros actuales);
y envindole los valores necesarios para su normal funcionamiento..
El acto de invocar a un mtodo suele denominarse envo de un mensaje a un objeto.
Al ser invocado un mtodo, los parmetros actuales se copian en los parmetros formales
para que la funcin pueda realizar los clculos necesarios y luego devuelve el valor calculado
a travs del nombre del mtodo.

mbito de las variables

En java se disponen de tres tipos de variables:


-Variables miembros, pertenecientes a una clase.
-Argumentos de un mtodo de la clase.
-Variables locales de un mtodo de la clase.

Los argumentos trabajan como variables locales de un mtodo.


Ejemplo:

class Ejemplo
{ int x; // Variable miembro

void metodo ( int y ) // Parmetro formal de un mtodo


{
int z; // variable local

x= y + z;
}
}

Las variables miembro, son visibles (accesibles) desde cualquier parte de la clase.
Los argumentos y variables locales solo son visibles (accesibles) dentro del mtodo al que
pertenecen. Dejan de existir cuando termina el mtodo.
Dentro de un mtodo, si coincide el identificador de un argumento o variable local con el de
una variable miembro, solo se accede a la variable local del mtodo.

1
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS
FUNDAMENTOS DE PROGRAMACIN 1 METODOS -II

Ejemplo 1:
Escribir un programa utilizando funciones que permita calcular e imprimir los n primeros
trminos de la serie: X + X 2/ 2! + X 3 / 3! + X 4 / 4! + X 5 / 5! ................. X n / n!
Tambin debe imprimir la suma de los n trminos.

Inicio leenum( )

Variables n, suma = 0, x , num=1, p , f Variables n

n = leenum( ) leer n

leer x n0

p = potencia( x, num ) retornar n

f = factorial (num)
potencia ( x, n)
Imprimir p, / , f
Variables cont=0 , p=1
suma = suma + p / f
cont < n
num = num + 1
num n p=p*x

Imprimir suma cont = cont + 1

Fin retornar p

factorial ( n )

Variables f=1 , cont = 1

cont n

f = f*cont

cont = cont +1

retornar f

2
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS
FUNDAMENTOS DE PROGRAMACIN 1 METODOS -II

Cdigo en Java
import java.io.*;
public class metodos1_serie{
static int leenum( ) throws IOException
{BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n;
System.out.println("ingrese numero...");
n= Integer.parseInt(br.readLine());
return n;
}
/************************************/
static int factorial(int n) throws IOException
{ int f=1, cont=1;
while(cont<=n)
{f=f*cont;
cont++;
}
return f;
}
/************************************/
static double potencia(float x, int n) throws IOException
{ int cont=0;
double p=1.0;
while(cont<n)
{ p=p*x;
cont++;
}
return p;
}
/************************************/
public static void main(String[] args)throws IOException
{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n, num=1,f;
double p,suma=0;
float x;
n=leenum();
System.out.println("ingrese numero X =");
x= Float.parseFloat(br.readLine());
do{p=potencia(x,num);
f=factorial(num);
System.out.print(p+"/"+f+" , ");
suma=suma + (double)p/f;
num++;
} while(num<=n);
System.out.println("Suma = "+suma);
}
}

3
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS
FUNDAMENTOS DE PROGRAMACIN 1 METODOS -II

Ejemplo 2:
Escribir un programa utilizando funciones que permita calcular e imprimir los n primeros trminos de
la serie: X + X 2/ 2! + X 3 / 3! + X 4 / 4! + X 5 / 5! ................. X n / n! . Tambin debe imprimir la
suma de los n trminos. El programa se debe repetir mientras se desee continuar.

Inicio

Variables n, suma, x, num, p, f, resp leenum( )

suma = 0 Variables n
num = 1
leer n
n = leenum( )
leer x n0

p = potencia( x, num ) retornar n

f = factorial (num)
potencia ( x, n)
Imprimir p, / , f
Variables cont=0 , p=1
suma = suma + p / f
cont < n
num = num + 1
num n p=p*x

Imprimir suma cont = cont + 1

resp = continuar( ) retornar p


resp = S

Fin factorial ( n )

Variables f=1 ,cont = 1


continuar( )
cont n
variables resp
Escribir : f = f * cont
"Desea Continuar S/N ? "
cont = cont +1

leer resp retornar f

resp S ^ resp N
retornar resp

4
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS
FUNDAMENTOS DE PROGRAMACIN 1 METODOS -II

Cdigo en Java
import java.io.*;

public class metodos2_serie


{
static int leenum( ) throws IOException
{BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n;
System.out.println("ingrese numero ...");
n= Integer.parseInt(br.readLine()); return
n;
}

/************************************/
static int factorial(int n) throws IOException
{ int f=1, cont=1;
while(cont<=n)
{f=f*cont;
cont++;
}
return f;
}

/************************************/
static double potencia(float x, int n) throws IOException
{ int cont=0;
double p=1.0;
while(cont<n)
{ p=p*x;
cont++;
}
return p;
}

/************************************/
static char continuar( ) throws IOException
{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
char resp;
String cad;
do {System.out.print("\nDesea Continuar...S/N ? : ");
cad = br.readLine(); // lee una cadena de caracteres en cad.
cad = cad.toUpperCase(); //convierte la cadena cad a Maysculas
resp = cad.charAt(0); //selecciona el primer carcter de cad
}
while (resp!='S' && resp!='N');
return resp;
}

/************************************/

5
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS
FUNDAMENTOS DE PROGRAMACIN 1 METODOS -II

public static void main(String[ ] args)throws IOException


{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n, num,f;
double p,suma;
float x;
char resp:
do{ suma=0;
num=1;
n=leenum();
System.out.println("ingrese numero X =");
x= Float.parseFloat(br.readLine());
do{ p=potencia(x,num);
f=factorial(num);
System.out.print(p+"/"+f+" , ");
suma=suma + (double)p/f;
num++;
} while(num<=n);
System.out.println("Suma = "+suma);
resp= continuar( );
}
While(resp = =S);
}
/************************************/

6
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS
FUNDAMENTOS DE PROGRAMACIN 1 METODOS -II

Ejemplo 3:
Escribir un programa utilizando funciones que calcule e imprima los n primeros trminos de
la serie de fibonacci: 1, 1, 2, 3, 5, 8, 13, 21 .....
Tambin debe imprimir la suma de los n trminos y el programa se debe repetir mientras se
desee hacerlo.

Inicio leenum( )

Variables n , resp , suma variables n

n = leenum ( ) leer n

suma = fibonacci ( n ) n0
reportar (suma)
retornar n
resp = continuar( )
fibonacci ( n )
resp = S
Fin f1=0, f2 = 0, term =1
variables
sum = 0 , cont = 0

continuar ( ) Escribir: term

variables resp sum = sum + term

Imprimir: cont = cont + 1


Desea continuar S/N?
f1 = f2
leer resp
f2 = term
resp S ^ resp N
term = f1 + f2
retornar res
cont < n

reportar ( suma) retornar sum

variables
escribir: suma
retornar

7
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS
FUNDAMENTOS DE PROGRAMACIN 1 METODOS -II

Cdigo en Java
import java.io.*;
public class metodos3_fibonacci
{
static int leenum( ) throws IOException
{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
int n;
do{System.out.print("\nIngrese numero :");
n= Integer.parseInt(br.readLine());
}
while(n<=0);
return n;
}
/**************************/
static int fibonacci(int n) throws IOException
{ int f1=0, f2=0, term=1, sum=0,cont=0;
System.out.println("Los "+n+" terminos de la serie son: ");
do
{System.out.print(" "+term);
sum = sum + term;
cont++;
f1=f2;
f2=term;
term=f1+f2;
}
while(cont<n);
return sum;
}
/**************************/
static void reportar(int suma) throws IOException
{
System.out.println("\nLa suma de los terminos es = "+suma);
}

/**************************/
static char continuar( ) throws IOException
{ BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
char resp;
String cad;
do {System.out.print("\nDesea Continuar...S/N ? : ");
cad = br.readLine(); // lee una cadena de caracteres en cad.
cad = cad.toUpperCase(); //convierte la cadena cad a Maysculas
resp = cad.charAt(0); //selecciona el primer carcter de cad
}
while (resp!='S' && resp!='N');
return resp;
}

8
UNIVERSIDAD PRIVADA ANTENOR ORREGO WALTER LAZO AGUIRRE
INGENIERA DE COMPUTACIN Y SISTEMAS
FUNDAMENTOS DE PROGRAMACIN 1 METODOS -II

public static void main(String[] args)throws IOException


{ int n,suma;
char resp;
System.out.println("Programa que imprime la serie Fibonacci ");
do { n = leenum( );
suma=fibonacci(n);
reportar(suma);
resp=continuar( );
}
while(resp= ='S');
}
}

You might also like