SlideShare una empresa de Scribd logo
1 de 48
Descargar para leer sin conexión
FUNCIONES O MÉTODOS
Algoritmia y Programación
CONTENIDO
 Funciones/métodos
 Definición
 Partes de una función
 Ejemplos
 Ámbito de variables
Variables Locales
Variables Globales

Algoritmia y programación
Universidad del Valle

Slide 2
DEFINICIÓN
Una función ó método es una porción de código
(sub-algoritmo) que forma parte de un algoritmo
principal, el cual se encarga de resolver una tarea
específica.

Algoritmia y programación
Universidad del Valle

Slide 3
DEFINICIÓN
Una función ó método es una porción de código
(sub-algoritmo) que forma parte de un algoritmo
principal, el cual se encarga de resolver una tarea
específica.
 Divide y vencerás: Es una estrategia para
resolver
problemas grandes, dividiéndolo en
problemas más pequeños

Algoritmia y programación
Universidad del Valle

Slide 4
DEFINICIÓN
Los métodos reciben datos del programa principal,
realizan operaciones y le devuelven los resultados.
Es como una oficina: El programa principal es el
jefe, que da instrucciones a sus subordinados
(métodos), ellos realizan una tarea, y cuando
terminan le devuelven el resultado y control al jefe.

Algoritmia y programación
Universidad del Valle

Slide 5
VENTAJAS DE USAR MÉTODOS
 Los problemas pequeños son más fáciles de
entender, de desarrollar y de mantener (localizar
errores).

 Se evita código innecesario, pues los métodos se
escriben una sola vez, y pueden ser utilizados
(llamados) desde diferentes partes del programa,
las veces que sea necesario

Algoritmia y programación
Universidad del Valle

Slide 6
PROBLEMA
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa.

Algoritmia y programación
Universidad del Valle

Slide 7
PROBLEMA
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa.
1. Análisis del problema
Entrada:

a, b

Algoritmia y programación
Universidad del Valle

Slide 8
PROBLEMA
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa.
1. Análisis del problema
Entrada:

a, b

Salidas :

hipotenusa, mayor

Proceso:

??

Algoritmia y programación
Universidad del Valle

Slide 9
PROBLEMA
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa.
1. Análisis del problema
Entrada:

a, b

Salidas :

hipotenusa, mayor

Proceso:

determinar mayor de 2 números
calcular hipotenusa

Algoritmia y programación
Universidad del Valle

Slide 10
PROBLEMA
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa.
1. Análisis del problema
Entrada:

a, b

Salidas :

hipotenusa, mayor

Proceso:

entero determinarMayor(a, b :entero) {

a y b son datos necesarios
para calcular el mayor de
los dos números

Algoritmia y programación
Universidad del Valle

Slide 11
PROBLEMA
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa.
1. Análisis del problema
Entrada:

a, b

Salidas :

hipotenusa, mayor

Proceso:

entero determinarMayor(a, b :entero) {
m: entero
SI a>b
m= a
SINO
m=b
retornar m

}
Algoritmia y programación
Universidad del Valle

Slide 12
PROBLEMA
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa.
1. Análisis del problema
Entrada:

a, b

Salidas :

hipotenusa, mayor

Proceso:

real calcularHipotenusa(a, b :entero)

Algoritmia y programación
Universidad del Valle

Slide 13
PROBLEMA
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa.
1. Análisis del problema
Entrada:

a, b

Salidas :

hipotenusa, mayor

Proceso:

real calcularHipotenusa(a, b :entero)
a y b son datos necesarios
para calcular la hipotenusa

Algoritmia y programación
Universidad del Valle

Slide 14
PROBLEMA
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa.
1. Análisis del problema
Entrada:

a, b

Salidas :

hipotenusa, mayor

Proceso:

real calcularHipotenusa(a, b :entero) {
h: real

h=√( a2+b2)
retornar h
}
Algoritmia y programación
Universidad del Valle

Slide 15
PROBLEMA
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa.
1. Análisis del problema
Entrada:

a, b

Salidas :

hipotenusa, mayor

Proceso: real calcularHipotenusa(a, b :entero) {
h: real

h= √( a2+b2)
retornar h

¿Cómo se escribe
método en Java?

un

}
Algoritmia y programación
Universidad del Valle

Slide 16
PARTES DE UN MÉTODO
Sintaxis global es:
Modificador_de_acceso Tipo_de_retorno
{
declaración_variables_locales

nombre(parámetros,…)

cuerpo_del_método
valor_de_retorno
}







Tiene un nombre,
Recibe unos parámetros o argumentos (opcionalmente),
Contiene sentencias o instrucciones para realizar algo, y
Devuelve un valor de algún Tipo de dato conocido (opcionalmente).
Tiene un modificador de acceso

Algoritmia y programación
Universidad del Valle

Slide 17
PARTES DE UN MÉTODO
public double calcularHipotenusa(int a, int b)
{
double h;
h= Math.sqrt((a*a)+(b*b));
return h;
}

Algoritmia y programación
Universidad del Valle

Slide 18
PARTES DE UN MÉTODO
public

double calcularHipotenusa(int a, int b)

{
double h;
h= Math.sqrt((a*a+(b*b));

return h;
}

Modificador de acceso:
public – cualquiera puede acceder usar e invocar al
método
private – Sólo puede acceder ó invocarse el método
desde otro método de la clase.
protected - proporciona acceso público para las clases
derivadas y acceso privado (prohibido) para el resto de
clases.
Algoritmia y programación
Universidad del Valle

Slide 19
PARTES DE UN MÉTODO
public

double

calcularHipotenusa(int a, int b)

{
double h;
h= Math.sqrt((a*a+(b*b));

return h;
}

Tipo de Retorno
Corresponde al tipo de dato del valor que el método
debe retornar, que puede ser:
•int, float, double, char, String. etc
•void – Indica que el método no retorna ningún
valor
Algoritmia y programación
Universidad del Valle

Slide 20
PARTES DE UN MÉTODO
public

double

calcularHipotenusa(int a, int b)

{
double h;
h= Math.sqrt((a*a+(b*b));

return h;
}

Tipo de dato del valor que devuelve
Valor que devuelve

Algoritmia y programación
Universidad del Valle

Slide 21
PARTES DE UN MÉTODO
public double

calcularHipotenusa(int

a, int b)

{
double h;
h= Math.sqrt((a*a+(b*b));

return h;
}

Nombre
Es el nombre con el que se hará referencia al
método dentro del programa. El cual debe estar
relacionado con las operaciones que va a realizar

Algoritmia y programación
Universidad del Valle

Slide 22
PARTES DE UN MÉTODO
public double calcularHipotenusa(int

a, int b)

{
double h;
h= Math.sqrt((a*a+(b*b));

return h;
}

Parámetros / argumentos
Hay métodos que reciben algunos valores para poder
hacer operaciones con ellos. Si son varios se separan
con comas ,
Algoritmia y programación
Universidad del Valle

Slide 23
PARTES DE UN MÉTODO
public double calcularHipotenusa(int

a, int b)

{
double h;
h= Math.sqrt((a*a+(b*b));

return h;
}

Este método recibe 2
argumentos de tipo
entero

Algoritmia y programación
Universidad del Valle

Slide 24
PARTES DE UN MÉTODO
public double calcularHipotenusa(int

a, int b)

{
double h;
h= Math.sqrt((a*a+(b*b));

return h;
}

¿Cómo llamar a un
método desde el
programa principal?

Algoritmia y programación
Universidad del Valle

Slide 25
LLAMADO DE MÉTODOS
 Desarrolle un programa que lea los datos de 2 catetos (a,b)
y determine cual de los 2 es mayor y muestre su hipotenusa
2. Diseñar el algoritmo y escribirlo en pseudocódigo
Inicio
a,b,mayor : entero
hipotenusa : real

La variable hipotenusa
va a tomar el valor que
le devuelva el método
calcularHipotenusa(a,b)

leer (a)
leer (b)
hipotenusa = calcularHipotenusa(a,b)
mayor = determinarMayor(a,b)
imprimir(hipotenusa, mayor)
Fin
Algoritmia y programación
Universidad del Valle

Slide 26
LLAMADO DE MÉTODOS
import javax.swing.JOptionPane;
public class Hipotenusa{
public static double calcularHipotenusa(int a, int b){
double h;
h= Math.sqrt((a*a)+(b*b));
return h;
}
public static int determinarMayor(int a,int b){
int m;
if(a>b){
m=a;}
else{
m=b;}
return m;
}

Algoritmia y programación
Universidad del Valle

Slide 27
LLAMADO DE MÉTODOS
public static void main (String args[]){

Inicio
a,b,mayor : entero
hipotenusa : real
leer (a)
leer (b)

int a, b, mayor;
double hipotenusa;

hipotenusa = calcularHipotenusa(a,b)
mayor = determinarMayor(a,b)
imprimir(hipotenusa, mayor)
Fin

a=Integer.parseInt(JOptionPane.showInputDialog(
“Digite el valor de a: “));
b=Integer.parseInt(JOptionPane.showInputDialog(
“Digite el valor de b: “));
hipotenusa = calcularHipotenusa(a,b);
mayor= determinarMayor(a,b);
JOptionPane.showMessageDialog(null,”Hipotenusa: ”+ hipotenusa +
”n Mayor: “+ mayor );
}
}
Algoritmia y programación
Universidad del Valle

Slide 28
PROBLEMA
Se desea reforestar un bosque que mide un número n de hectáreas. Si la
superficie del terreno excede a 1’000.000m2, entonces se siembra así:
% superficie

Tipo de árbol

70%

Pino

20%

Oyamel

10%

Cedro

Si la superficie del terreno es menor o igual a 1’000.000m2 entonces se
siembra así:
% superficie

Tipo de árbol

50%

Pino

30%

Oyamel

20%

Cedro

Se desea saber el número de pinos, oyameles y cedros que se deben
sembrar, si se sabe que en 10m2 caben 8 pinos; en 15m2 caben 15
oyameles, y en 18m2 caben 10 cedros.

Algoritmia y programación
Universidad del Valle

Slide 29
EJEMPLO
1. Análisis del problema
Entrada:

n

Salidas :

cant_pinos, cant_oyamel, cant_cedro

Proceso: hallarCantidades

Algoritmia y programación
Universidad del Valle

Slide 30
EJEMPLO
1. Diseñar el algoritmo y escribirlo en pseudocódigo

Inicio
n: entero

leer(n)
hallarCantidades( n)

Fin

Algoritmia y programación
Universidad del Valle

Slide 31
EJEMPLO
1. Diseñar el algoritmo y escribirlo en pseudocódigo
hallarCantidades(n: entero){

cant_pino,cant_oyamel,cant_cedro, hectarea=10000 : entero
SI (n*hectarea) > 1000000
cant_pino= (((n*hectarea) *0.7)/10)*8
cant_oyamel = (((n*hectarea) *0.2)/15)*15
cant_cedro= (((n*hectarea) *0.1)/18)*10
SINO
cant_pino= (((n*hectarea) *0.5)/10)*8
cant_oyamel = (((n*hectarea) *0.3)/15)*15
cant_cedro= (((n*hectarea) *0.2)/18)*10
Imprimir (cant_pino, cant_oyamel, cant_cedro);
}
Algoritmia y programación
Universidad del Valle

Slide 32
EJEMPLO
public class Reforestacion{
hallarCantidades(n: entero){

cant_pino,cant_oyamel,cant_cedro: entero

public static void hallarCantidades(int n){
int cant_pino, cant_oyamel, cant_cedro;
final int hectarea=10000;

SI (n*hectarea) > 1000000
cant_pino= (((n*hectarea) *0.7)/10)*8
cant_oyamel = (((n*hectarea) *0.2)/15)*15

if ( (n*hectarea) > 1000000){

cant_cedro= (((n*hectarea) *0.1)/18)*10

cant_pino= (((n*hectarea) *0.7)/10)*8;

SINO

cant_oyamel = (((n*hectarea) *0.2)/15)*15;

cant_pino= (((n*hectarea) *0.5)/10)*8

cant_cedro= (((n*hectarea) *0.1)/18)*10;

cant_oyamel = (((n*hectarea) *0.3)/15)*15

}

cant_cedro= (((n*hectarea) *0.2)/18)*10

else{
cant_pino= (((n*hectarea) *0.5)/10)*8;
cant_oyamel = (((n*hectarea) *0.3)/15)*15;

Imprimir (cant_pino, cant_oyamel, cant_cedro);
}

cant_cedro= (((n*hectarea) *0.2)/18)*10;
}
JOptionPane.showMessageDialog(null, “cantidad de pinos”+ cant_pino+ “n cantidad de pinos”+
cant_oyamel+“n cantidad de pinos”+ cant_cedro);
}
Algoritmia y programación
Universidad del Valle

Slide 33
EJEMPLO
public class Reforestacion{
public static void hallarCantidades(int n){
int cant_pino, cant_oyamel, cant_cedro;
final int hectarea=10000;

void
especifica que el
método no va a devolver
ningún valor a quién lo
llamó, sino que va a realizar
alguna operación e imprimir
su resultado dentro del
mismo método.

if ( (n*hectarea) > 1000000){
cant_pino= (((n*hectarea) *0.7)/10)*8;
cant_oyamel = (((n*hectarea) *0.2)/15)*15;
cant_cedro= (((n*hectarea) *0.1)/18)*10;
}
else{
cant_pino= (((n*hectarea) *0.5)/10)*8;
cant_oyamel = (((n*hectarea) *0.3)/15)*15;
cant_cedro= (((n*hectarea) *0.2)/18)*10;
}
JOptionPane.showMessageDialog(null, “cantidad de pinos”+ cant_pino+ “n cantidad de pinos”+
cant_oyamel+“n cantidad de pinos”+ cant_cedro);
}
Algoritmia y programación
Universidad del Valle

Slide 34
EJEMPLO
public static void main(String args[])
{
int n;
n=Integer.parseInt(JOptionPane.showInputDialog(“Ingrese el número de hectáreas:”));
hallarCantidades(n);

Inicio
}
}

n: entero
leer(n)
hallarCantidades( n)

Fin
Algoritmia y programación
Universidad del Valle

Slide 35
ÁMBITO DE VARIABLES

El ámbito de una variable es el contexto (espacio)
dentro del programa en donde ella puede ser
utilizada y reconocida.

Algoritmia y programación
Universidad del Valle

Slide 36
VARIABLES GLOBALES Y LOCALES
Las variables se clasifican en 2 tipos:
 Variables Locales
 Variables Globales
Variables Locales: Son aquellas variables que se
crean dentro de un método. Estas variables
solamente son reconocidas dentro de ese método
donde fueron creadas, y su valor se pierde al
finalizar la ejecución del mismo.

Algoritmia y programación
Universidad del Valle

Slide 37
VARIABLES GLOBALES Y LOCALES

Variables Globales: Son aquellas variables que se
crean en el programa principal, por fuera de
cualquier método. Éstas son reconocidas en todo
lugar del programa.

Algoritmia y programación
Universidad del Valle

Slide 38
VARIABLES GLOBALES Y LOCALES
x,y : entero
c : entero
Ámbito de c

w,p : real
Ámbito de w,p
Ambito de x,y

Algoritmia y programación
Universidad del Valle

Slide 39
VARIABLES GLOBALES Y LOCALES
public static double calcularHipotenusa(int a, int b)
{
double h;
h= Math.sqrt((a*a)+(b*b));
return h;
}

Variable Local del
calcularHipotenusa

método

Algoritmia y programación
Universidad del Valle

Slide 40
EJEMPLO

Desarrollemos el ejemplo de la reforestación,
usando variables globales y métodos que no
reciben parámetros

Algoritmia y programación
Universidad del Valle

Slide 41
EJEMPLO
public class Reforestacion{

static int n;

n: Variable Global

public static void hallarCantidades(){
int cant_pino, cant_oyamel, cant_cedro;

final int hectarea=10000;
if ( (n*hectarea) > 1000000){
cant_pino= (((n* hectarea) *0.7)/10)*8;
cant_oyamel = (((n* hectarea) *0.2)/15)*15;

cant_cedro= (((n* hectarea) *0.1)/18)*10;
}
else{
cant_pino= (((n* hectarea) *0.5)/10)*8;

cant_oyamel = (((n* hectarea) *0.3)/15)*15;
cant_cedro= (((n* hectarea) *0.2)/18)*10;
}
JOptionPane.showMessageDialog(null, “cantidad de pinos”+ cant_pino+ “n cantidad de
pinos”+ cant_oyamel+“n cantidad de pinos”+ cant_cedro);

}

Algoritmia y programación
Universidad del Valle

Slide 42
EJEMPLO
public class Reforestacion{

static int n;

n: Variable Global

public static void hallarCantidades(){
int cant_pino, cant_oyamel, cant_cedro;

final int hectarea=10000;
if ( (n*hectarea) > 1000000){

Método hallarCantidades no
recibe parámetros

cant_pino= (((n* hectarea) *0.7)/10)*8;
cant_oyamel = (((n* hectarea) *0.2)/15)*15;
cant_cedro= (((n* hectarea) *0.1)/18)*10;
}
else{
cant_pino= (((n* hectarea) *0.5)/10)*8;

cant_oyamel = (((n* hectarea) *0.3)/15)*15;
cant_cedro= (((n* hectarea) *0.2)/18)*10;
}
JOptionPane.showMessageDialog(null, “cantidad de pinos”+ cant_pino+ “n cantidad de
pinos”+ cant_oyamel+“n cantidad de pinos”+ cant_cedro);

}
Algoritmia y programación
Universidad del Valle

Slide 43
EJEMPLO
public class Reforestacion{

static int n;

n: Variable Global

public static void hallarCantidades(){
int cant_pino, cant_oyamel, cant_cedro;

final int hectarea=10000;
if ( (n*hectarea) > 1000000){

Método hallarCantidades no
recibe parámetros

cant_pino= (((n* hectarea) *0.7)/10)*8;
cant_oyamel = (((n* hectarea) *0.2)/15)*15;
cant_cedro= (((n* hectarea) *0.1)/18)*10;
}
else{
cant_pino= (((n* hectarea) *0.5)/10)*8;

cant_oyamel = (((n* hectarea) *0.3)/15)*15;

Como
n
es
global
es
reconocida
dentro
del
método hallarCantidades sin
haber sido pasada como
parámetro

cant_cedro= (((n* hectarea) *0.2)/18)*10;
}
JOptionPane.showMessageDialog(null, “cantidad de pinos”+ cant_pino+ “n cantidad de
pinos”+ cant_oyamel+“n cantidad de pinos”+ cant_cedro);

}
Algoritmia y programación
Universidad del Valle

Slide 44
EJEMPLO
public static void main(String args[])
{
n=Integer.parseInt(JOptionPane.showInputDialog(“Ingrese el número de
hectáreas :”));
hallarCantidades();
}
}

Inicio
leer(n)

hallarCantidades()

Fin

Algoritmia y programación
Universidad del Valle

Slide 45
EJERCICIOS
 Usando métodos, desarrollar un programa que dado el peso, la altura
y el sexo de un estudiante. Determine la cantidad de vitaminas que debe
consumir, con base en los siguientes criterios:

Si es hombre, y su estatura es mayor a 1.60, y su peso es mayor o igual a 75 kilos,

su dosis, será: 20% de la estatura y 80% de su peso, si la estatura es menor o
igual a 1.60, la dosis será la siguiente: 30% de la estatura y 70% de su peso.
Si es mujer, y su estatura es mayor o igual a 1.55 y su peso es mayor o igual a
65 kilos, su dosis será: 25% de la estatura y 75% de su peso. Si el peso es menor

a 65 kilos, será: 35% de la estatura y 65% de su peso.

Algoritmia y programación
Universidad del Valle

Slide 46
EJERCICIOS
 Un comerciante se dedica a la venta de sillas. Vende tres tipos de sillas:
Tipo

Precio

1

$5.000

2

$7.000

3

$10.000

Por cada cinco sillas compradas se obtiene un descuento, de acuerdo a la tabla
Tipo

Descuento

1

3%

2

5%

3

10%

El resto de sillas se cobran a precio normal. Diseñe un programa que lea el tipo de
silla y la cantidad a comprar e imprima la cantidad, el precio unitario, el descuento
y el precio total, de lo que debe cancelar el cliente por la compra.
Nota: El almacén sólo vende UN tipo de silla a cada cliente.
Algoritmia y programación
Universidad del Valle

Slide 47
CLASE DECIMALFORMAT
import java.text.DecimalFormat;

Se debe importar la clase
DecimalFormat

DecimalFormat formateador = new DecimalFormat("####.####");
double numero= 3.43242383;

Se
debe
declarar
una
variable que contenga el
formato que se le quiera
aplicar al número

// Esto sale en pantalla con cuatro decimales, es decir, 3,4324
System.out.println (formateador.format (numero));
En el momento de imprimir,
se coloca la variable a la que
se le quiere dar el formato
dentro del método format
Algoritmia y programación
Universidad del Valle

Slide 48

Más contenido relacionado

La actualidad más candente

Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Edward Ropero
 
Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con Netbeans
Randy
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
innovalabcun
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
ElvisAR
 

La actualidad más candente (20)

Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivasLógica y Algoritmos 4. estructuras secuenciales y selectivas
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
 
Clases y objetos en Java
Clases y objetos en JavaClases y objetos en Java
Clases y objetos en Java
 
6 Curso de POO en Java - clases y objetos
6  Curso de POO en Java - clases y objetos6  Curso de POO en Java - clases y objetos
6 Curso de POO en Java - clases y objetos
 
Logica de la Programación Problemas y Soluciones
Logica de la  Programación  Problemas y SolucionesLogica de la  Programación  Problemas y Soluciones
Logica de la Programación Problemas y Soluciones
 
Programación 3: Clases y objetos en Java
Programación 3: Clases y objetos en JavaProgramación 3: Clases y objetos en Java
Programación 3: Clases y objetos en Java
 
Base de datos con Netbeans
Base de datos con NetbeansBase de datos con Netbeans
Base de datos con Netbeans
 
Clases y objetos de java
Clases y objetos de javaClases y objetos de java
Clases y objetos de java
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
7.1. procedimientos almacenados
7.1.  procedimientos almacenados7.1.  procedimientos almacenados
7.1. procedimientos almacenados
 
Windows forms c# visual basic .net ejercicios
Windows forms c# visual basic .net ejerciciosWindows forms c# visual basic .net ejercicios
Windows forms c# visual basic .net ejercicios
 
5 metodos y parametros
5 metodos y parametros5 metodos y parametros
5 metodos y parametros
 
Clasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de softwareClasificación de las metodologías de desarrollo de software
Clasificación de las metodologías de desarrollo de software
 
1. introducción a c#
1.  introducción a c#1.  introducción a c#
1. introducción a c#
 
Semana 3 Herencia en Java
Semana 3   Herencia en JavaSemana 3   Herencia en Java
Semana 3 Herencia en Java
 
12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos12 Curso de POO en java - entrada y salida de datos
12 Curso de POO en java - entrada y salida de datos
 
Arreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeansArreglos Unidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeans
 
Estructura de Lenguaje C++
Estructura de Lenguaje C++Estructura de Lenguaje C++
Estructura de Lenguaje C++
 
Presentacion Java
Presentacion JavaPresentacion Java
Presentacion Java
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Programación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodosProgramación Orientada a Objetos - atributos y métodos
Programación Orientada a Objetos - atributos y métodos
 

Similar a Métodos y Funciones - Java - Algoritmia

Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
neyvajms
 
Ejercicios propuestosc++
Ejercicios propuestosc++Ejercicios propuestosc++
Ejercicios propuestosc++
Mauricio Moya
 

Similar a Métodos y Funciones - Java - Algoritmia (20)

10 reportes de practicas
10 reportes de practicas10 reportes de practicas
10 reportes de practicas
 
10 reportes de practicas
10 reportes de practicas10 reportes de practicas
10 reportes de practicas
 
Concepto Básicos Algoritmia
Concepto Básicos Algoritmia Concepto Básicos Algoritmia
Concepto Básicos Algoritmia
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Problemasjava2
Problemasjava2Problemasjava2
Problemasjava2
 
Classpad 330
Classpad 330Classpad 330
Classpad 330
 
Classpad 330
Classpad 330Classpad 330
Classpad 330
 
Ejercicios propuestos
Ejercicios propuestosEjercicios propuestos
Ejercicios propuestos
 
Ejercicios propuestosc++
Ejercicios propuestosc++Ejercicios propuestosc++
Ejercicios propuestosc++
 
Metodología para la solución de un problema
Metodología para la solución de un problemaMetodología para la solución de un problema
Metodología para la solución de un problema
 
Ecuaciones Cuadraticas
Ecuaciones CuadraticasEcuaciones Cuadraticas
Ecuaciones Cuadraticas
 
Sesion 07 -
Sesion 07 -Sesion 07 -
Sesion 07 -
 
Sesion 07 -
Sesion 07 -Sesion 07 -
Sesion 07 -
 
Reporte de-practicas
Reporte de-practicasReporte de-practicas
Reporte de-practicas
 
Reporte de-practicas
Reporte de-practicasReporte de-practicas
Reporte de-practicas
 
Ejercicio 4
Ejercicio 4Ejercicio 4
Ejercicio 4
 
Reporte de practicas
Reporte de practicasReporte de practicas
Reporte de practicas
 
Reportes de programas
Reportes de programasReportes de programas
Reportes de programas
 
SOLUCIONAR PROBLEMAS POR MEDIO DE AGORITMOS
SOLUCIONAR PROBLEMAS POR MEDIO DE AGORITMOSSOLUCIONAR PROBLEMAS POR MEDIO DE AGORITMOS
SOLUCIONAR PROBLEMAS POR MEDIO DE AGORITMOS
 
SOLUCIONAR PROBLEMAS POR MEDIO DE ALGORITMOS
SOLUCIONAR PROBLEMAS POR MEDIO DE ALGORITMOSSOLUCIONAR PROBLEMAS POR MEDIO DE ALGORITMOS
SOLUCIONAR PROBLEMAS POR MEDIO DE ALGORITMOS
 

Más de Daniel Gómez

Distribuciones de Probabilidad (Variable Aleatoria Continua)
Distribuciones de Probabilidad (Variable Aleatoria Continua)Distribuciones de Probabilidad (Variable Aleatoria Continua)
Distribuciones de Probabilidad (Variable Aleatoria Continua)
Daniel Gómez
 
Distribución Probabilidad (Variable Aleatoria Discreta)
Distribución Probabilidad (Variable Aleatoria Discreta)Distribución Probabilidad (Variable Aleatoria Discreta)
Distribución Probabilidad (Variable Aleatoria Discreta)
Daniel Gómez
 
Intro. Lenguaje de Programación Java - Algoritmia
Intro. Lenguaje de Programación Java - AlgoritmiaIntro. Lenguaje de Programación Java - Algoritmia
Intro. Lenguaje de Programación Java - Algoritmia
Daniel Gómez
 

Más de Daniel Gómez (13)

Distribuciones de Probabilidad (Variable Aleatoria Continua)
Distribuciones de Probabilidad (Variable Aleatoria Continua)Distribuciones de Probabilidad (Variable Aleatoria Continua)
Distribuciones de Probabilidad (Variable Aleatoria Continua)
 
Distribución Probabilidad (Variable Aleatoria Discreta)
Distribución Probabilidad (Variable Aleatoria Discreta)Distribución Probabilidad (Variable Aleatoria Discreta)
Distribución Probabilidad (Variable Aleatoria Discreta)
 
Probabilidad
Probabilidad Probabilidad
Probabilidad
 
Arreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeansArreglos Bidimensionales - Java - NetBeans
Arreglos Bidimensionales - Java - NetBeans
 
Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)Librería String, Math de Java (NetBeans)
Librería String, Math de Java (NetBeans)
 
Ciclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - AlgoritmiaCiclos Java - NetsBeans - Algoritmia
Ciclos Java - NetsBeans - Algoritmia
 
Estructuras de Control - Algoritmia
Estructuras de Control - AlgoritmiaEstructuras de Control - Algoritmia
Estructuras de Control - Algoritmia
 
Intro. Lenguaje de Programación Java - Algoritmia
Intro. Lenguaje de Programación Java - AlgoritmiaIntro. Lenguaje de Programación Java - Algoritmia
Intro. Lenguaje de Programación Java - Algoritmia
 
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...
 
Coagulación - Floculación - Sedimentación Lixiviados
Coagulación - Floculación - Sedimentación LixiviadosCoagulación - Floculación - Sedimentación Lixiviados
Coagulación - Floculación - Sedimentación Lixiviados
 
Carbohidratos
CarbohidratosCarbohidratos
Carbohidratos
 
Carbo3
Carbo3Carbo3
Carbo3
 
Tratamiento Lixiviados por Coagulación-Floculación-Sedimentación
Tratamiento Lixiviados por Coagulación-Floculación-SedimentaciónTratamiento Lixiviados por Coagulación-Floculación-Sedimentación
Tratamiento Lixiviados por Coagulación-Floculación-Sedimentación
 

Último

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
Wilian24
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
amelia poma
 

Último (20)

6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria6°_GRADO_-_MAYO_06 para sexto grado de primaria
6°_GRADO_-_MAYO_06 para sexto grado de primaria
 
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...Louis Jean François Lagrenée.  Erotismo y sensualidad. El erotismo en la Hist...
Louis Jean François Lagrenée. Erotismo y sensualidad. El erotismo en la Hist...
 
Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024Tema 17. Biología de los microorganismos 2024
Tema 17. Biología de los microorganismos 2024
 
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
UNIDAD DE APRENDIZAJE DE PRIMER GRADO DEL MES DE MAYO PARA TRABAJAR CON ESTUD...
 
Educacion Basada en Evidencias SM5 Ccesa007.pdf
Educacion Basada en Evidencias  SM5  Ccesa007.pdfEducacion Basada en Evidencias  SM5  Ccesa007.pdf
Educacion Basada en Evidencias SM5 Ccesa007.pdf
 
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptxAEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
AEC2. Egipto Antiguo. Adivina, Adivinanza.pptx
 
Posición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptxPosición astronómica y geográfica de Europa.pptx
Posición astronómica y geográfica de Europa.pptx
 
Ensayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 PreuniversitarioEnsayo Paes competencia matematicas 2 Preuniversitario
Ensayo Paes competencia matematicas 2 Preuniversitario
 
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN  PARÍS. Por JAVIER SOL...
ACERTIJO LA RUTA DEL MARATÓN OLÍMPICO DEL NÚMERO PI EN PARÍS. Por JAVIER SOL...
 
Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024Tema 10. Dinámica y funciones de la Atmosfera 2024
Tema 10. Dinámica y funciones de la Atmosfera 2024
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 
Supuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docxSupuestos_prácticos_funciones.docx
Supuestos_prácticos_funciones.docx
 
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptxPLAN LECTOR 2024  integrado nivel inicial-miercoles 10.pptx
PLAN LECTOR 2024 integrado nivel inicial-miercoles 10.pptx
 
La Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración AmbientalLa Sostenibilidad Corporativa. Administración Ambiental
La Sostenibilidad Corporativa. Administración Ambiental
 
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIASISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
SISTEMA RESPIRATORIO PARA NIÑOS PRIMARIA
 
Los dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la VerdadLos dos testigos. Testifican de la Verdad
Los dos testigos. Testifican de la Verdad
 
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACIONRESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
RESOLUCIÓN VICEMINISTERIAL 00048 - 2024 EVALUACION
 
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdfFeliz Día de la Madre - 5 de Mayo, 2024.pdf
Feliz Día de la Madre - 5 de Mayo, 2024.pdf
 
prostitución en España: una mirada integral!
prostitución en España: una mirada integral!prostitución en España: una mirada integral!
prostitución en España: una mirada integral!
 
Los avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtualesLos avatares para el juego dramático en entornos virtuales
Los avatares para el juego dramático en entornos virtuales
 

Métodos y Funciones - Java - Algoritmia

  • 2. CONTENIDO  Funciones/métodos  Definición  Partes de una función  Ejemplos  Ámbito de variables Variables Locales Variables Globales Algoritmia y programación Universidad del Valle Slide 2
  • 3. DEFINICIÓN Una función ó método es una porción de código (sub-algoritmo) que forma parte de un algoritmo principal, el cual se encarga de resolver una tarea específica. Algoritmia y programación Universidad del Valle Slide 3
  • 4. DEFINICIÓN Una función ó método es una porción de código (sub-algoritmo) que forma parte de un algoritmo principal, el cual se encarga de resolver una tarea específica.  Divide y vencerás: Es una estrategia para resolver problemas grandes, dividiéndolo en problemas más pequeños Algoritmia y programación Universidad del Valle Slide 4
  • 5. DEFINICIÓN Los métodos reciben datos del programa principal, realizan operaciones y le devuelven los resultados. Es como una oficina: El programa principal es el jefe, que da instrucciones a sus subordinados (métodos), ellos realizan una tarea, y cuando terminan le devuelven el resultado y control al jefe. Algoritmia y programación Universidad del Valle Slide 5
  • 6. VENTAJAS DE USAR MÉTODOS  Los problemas pequeños son más fáciles de entender, de desarrollar y de mantener (localizar errores).  Se evita código innecesario, pues los métodos se escriben una sola vez, y pueden ser utilizados (llamados) desde diferentes partes del programa, las veces que sea necesario Algoritmia y programación Universidad del Valle Slide 6
  • 7. PROBLEMA  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa. Algoritmia y programación Universidad del Valle Slide 7
  • 8. PROBLEMA  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa. 1. Análisis del problema Entrada: a, b Algoritmia y programación Universidad del Valle Slide 8
  • 9. PROBLEMA  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa. 1. Análisis del problema Entrada: a, b Salidas : hipotenusa, mayor Proceso: ?? Algoritmia y programación Universidad del Valle Slide 9
  • 10. PROBLEMA  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa. 1. Análisis del problema Entrada: a, b Salidas : hipotenusa, mayor Proceso: determinar mayor de 2 números calcular hipotenusa Algoritmia y programación Universidad del Valle Slide 10
  • 11. PROBLEMA  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa. 1. Análisis del problema Entrada: a, b Salidas : hipotenusa, mayor Proceso: entero determinarMayor(a, b :entero) { a y b son datos necesarios para calcular el mayor de los dos números Algoritmia y programación Universidad del Valle Slide 11
  • 12. PROBLEMA  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa. 1. Análisis del problema Entrada: a, b Salidas : hipotenusa, mayor Proceso: entero determinarMayor(a, b :entero) { m: entero SI a>b m= a SINO m=b retornar m } Algoritmia y programación Universidad del Valle Slide 12
  • 13. PROBLEMA  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa. 1. Análisis del problema Entrada: a, b Salidas : hipotenusa, mayor Proceso: real calcularHipotenusa(a, b :entero) Algoritmia y programación Universidad del Valle Slide 13
  • 14. PROBLEMA  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa. 1. Análisis del problema Entrada: a, b Salidas : hipotenusa, mayor Proceso: real calcularHipotenusa(a, b :entero) a y b son datos necesarios para calcular la hipotenusa Algoritmia y programación Universidad del Valle Slide 14
  • 15. PROBLEMA  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa. 1. Análisis del problema Entrada: a, b Salidas : hipotenusa, mayor Proceso: real calcularHipotenusa(a, b :entero) { h: real h=√( a2+b2) retornar h } Algoritmia y programación Universidad del Valle Slide 15
  • 16. PROBLEMA  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa. 1. Análisis del problema Entrada: a, b Salidas : hipotenusa, mayor Proceso: real calcularHipotenusa(a, b :entero) { h: real h= √( a2+b2) retornar h ¿Cómo se escribe método en Java? un } Algoritmia y programación Universidad del Valle Slide 16
  • 17. PARTES DE UN MÉTODO Sintaxis global es: Modificador_de_acceso Tipo_de_retorno { declaración_variables_locales nombre(parámetros,…) cuerpo_del_método valor_de_retorno }      Tiene un nombre, Recibe unos parámetros o argumentos (opcionalmente), Contiene sentencias o instrucciones para realizar algo, y Devuelve un valor de algún Tipo de dato conocido (opcionalmente). Tiene un modificador de acceso Algoritmia y programación Universidad del Valle Slide 17
  • 18. PARTES DE UN MÉTODO public double calcularHipotenusa(int a, int b) { double h; h= Math.sqrt((a*a)+(b*b)); return h; } Algoritmia y programación Universidad del Valle Slide 18
  • 19. PARTES DE UN MÉTODO public double calcularHipotenusa(int a, int b) { double h; h= Math.sqrt((a*a+(b*b)); return h; } Modificador de acceso: public – cualquiera puede acceder usar e invocar al método private – Sólo puede acceder ó invocarse el método desde otro método de la clase. protected - proporciona acceso público para las clases derivadas y acceso privado (prohibido) para el resto de clases. Algoritmia y programación Universidad del Valle Slide 19
  • 20. PARTES DE UN MÉTODO public double calcularHipotenusa(int a, int b) { double h; h= Math.sqrt((a*a+(b*b)); return h; } Tipo de Retorno Corresponde al tipo de dato del valor que el método debe retornar, que puede ser: •int, float, double, char, String. etc •void – Indica que el método no retorna ningún valor Algoritmia y programación Universidad del Valle Slide 20
  • 21. PARTES DE UN MÉTODO public double calcularHipotenusa(int a, int b) { double h; h= Math.sqrt((a*a+(b*b)); return h; } Tipo de dato del valor que devuelve Valor que devuelve Algoritmia y programación Universidad del Valle Slide 21
  • 22. PARTES DE UN MÉTODO public double calcularHipotenusa(int a, int b) { double h; h= Math.sqrt((a*a+(b*b)); return h; } Nombre Es el nombre con el que se hará referencia al método dentro del programa. El cual debe estar relacionado con las operaciones que va a realizar Algoritmia y programación Universidad del Valle Slide 22
  • 23. PARTES DE UN MÉTODO public double calcularHipotenusa(int a, int b) { double h; h= Math.sqrt((a*a+(b*b)); return h; } Parámetros / argumentos Hay métodos que reciben algunos valores para poder hacer operaciones con ellos. Si son varios se separan con comas , Algoritmia y programación Universidad del Valle Slide 23
  • 24. PARTES DE UN MÉTODO public double calcularHipotenusa(int a, int b) { double h; h= Math.sqrt((a*a+(b*b)); return h; } Este método recibe 2 argumentos de tipo entero Algoritmia y programación Universidad del Valle Slide 24
  • 25. PARTES DE UN MÉTODO public double calcularHipotenusa(int a, int b) { double h; h= Math.sqrt((a*a+(b*b)); return h; } ¿Cómo llamar a un método desde el programa principal? Algoritmia y programación Universidad del Valle Slide 25
  • 26. LLAMADO DE MÉTODOS  Desarrolle un programa que lea los datos de 2 catetos (a,b) y determine cual de los 2 es mayor y muestre su hipotenusa 2. Diseñar el algoritmo y escribirlo en pseudocódigo Inicio a,b,mayor : entero hipotenusa : real La variable hipotenusa va a tomar el valor que le devuelva el método calcularHipotenusa(a,b) leer (a) leer (b) hipotenusa = calcularHipotenusa(a,b) mayor = determinarMayor(a,b) imprimir(hipotenusa, mayor) Fin Algoritmia y programación Universidad del Valle Slide 26
  • 27. LLAMADO DE MÉTODOS import javax.swing.JOptionPane; public class Hipotenusa{ public static double calcularHipotenusa(int a, int b){ double h; h= Math.sqrt((a*a)+(b*b)); return h; } public static int determinarMayor(int a,int b){ int m; if(a>b){ m=a;} else{ m=b;} return m; } Algoritmia y programación Universidad del Valle Slide 27
  • 28. LLAMADO DE MÉTODOS public static void main (String args[]){ Inicio a,b,mayor : entero hipotenusa : real leer (a) leer (b) int a, b, mayor; double hipotenusa; hipotenusa = calcularHipotenusa(a,b) mayor = determinarMayor(a,b) imprimir(hipotenusa, mayor) Fin a=Integer.parseInt(JOptionPane.showInputDialog( “Digite el valor de a: “)); b=Integer.parseInt(JOptionPane.showInputDialog( “Digite el valor de b: “)); hipotenusa = calcularHipotenusa(a,b); mayor= determinarMayor(a,b); JOptionPane.showMessageDialog(null,”Hipotenusa: ”+ hipotenusa + ”n Mayor: “+ mayor ); } } Algoritmia y programación Universidad del Valle Slide 28
  • 29. PROBLEMA Se desea reforestar un bosque que mide un número n de hectáreas. Si la superficie del terreno excede a 1’000.000m2, entonces se siembra así: % superficie Tipo de árbol 70% Pino 20% Oyamel 10% Cedro Si la superficie del terreno es menor o igual a 1’000.000m2 entonces se siembra así: % superficie Tipo de árbol 50% Pino 30% Oyamel 20% Cedro Se desea saber el número de pinos, oyameles y cedros que se deben sembrar, si se sabe que en 10m2 caben 8 pinos; en 15m2 caben 15 oyameles, y en 18m2 caben 10 cedros. Algoritmia y programación Universidad del Valle Slide 29
  • 30. EJEMPLO 1. Análisis del problema Entrada: n Salidas : cant_pinos, cant_oyamel, cant_cedro Proceso: hallarCantidades Algoritmia y programación Universidad del Valle Slide 30
  • 31. EJEMPLO 1. Diseñar el algoritmo y escribirlo en pseudocódigo Inicio n: entero leer(n) hallarCantidades( n) Fin Algoritmia y programación Universidad del Valle Slide 31
  • 32. EJEMPLO 1. Diseñar el algoritmo y escribirlo en pseudocódigo hallarCantidades(n: entero){ cant_pino,cant_oyamel,cant_cedro, hectarea=10000 : entero SI (n*hectarea) > 1000000 cant_pino= (((n*hectarea) *0.7)/10)*8 cant_oyamel = (((n*hectarea) *0.2)/15)*15 cant_cedro= (((n*hectarea) *0.1)/18)*10 SINO cant_pino= (((n*hectarea) *0.5)/10)*8 cant_oyamel = (((n*hectarea) *0.3)/15)*15 cant_cedro= (((n*hectarea) *0.2)/18)*10 Imprimir (cant_pino, cant_oyamel, cant_cedro); } Algoritmia y programación Universidad del Valle Slide 32
  • 33. EJEMPLO public class Reforestacion{ hallarCantidades(n: entero){ cant_pino,cant_oyamel,cant_cedro: entero public static void hallarCantidades(int n){ int cant_pino, cant_oyamel, cant_cedro; final int hectarea=10000; SI (n*hectarea) > 1000000 cant_pino= (((n*hectarea) *0.7)/10)*8 cant_oyamel = (((n*hectarea) *0.2)/15)*15 if ( (n*hectarea) > 1000000){ cant_cedro= (((n*hectarea) *0.1)/18)*10 cant_pino= (((n*hectarea) *0.7)/10)*8; SINO cant_oyamel = (((n*hectarea) *0.2)/15)*15; cant_pino= (((n*hectarea) *0.5)/10)*8 cant_cedro= (((n*hectarea) *0.1)/18)*10; cant_oyamel = (((n*hectarea) *0.3)/15)*15 } cant_cedro= (((n*hectarea) *0.2)/18)*10 else{ cant_pino= (((n*hectarea) *0.5)/10)*8; cant_oyamel = (((n*hectarea) *0.3)/15)*15; Imprimir (cant_pino, cant_oyamel, cant_cedro); } cant_cedro= (((n*hectarea) *0.2)/18)*10; } JOptionPane.showMessageDialog(null, “cantidad de pinos”+ cant_pino+ “n cantidad de pinos”+ cant_oyamel+“n cantidad de pinos”+ cant_cedro); } Algoritmia y programación Universidad del Valle Slide 33
  • 34. EJEMPLO public class Reforestacion{ public static void hallarCantidades(int n){ int cant_pino, cant_oyamel, cant_cedro; final int hectarea=10000; void especifica que el método no va a devolver ningún valor a quién lo llamó, sino que va a realizar alguna operación e imprimir su resultado dentro del mismo método. if ( (n*hectarea) > 1000000){ cant_pino= (((n*hectarea) *0.7)/10)*8; cant_oyamel = (((n*hectarea) *0.2)/15)*15; cant_cedro= (((n*hectarea) *0.1)/18)*10; } else{ cant_pino= (((n*hectarea) *0.5)/10)*8; cant_oyamel = (((n*hectarea) *0.3)/15)*15; cant_cedro= (((n*hectarea) *0.2)/18)*10; } JOptionPane.showMessageDialog(null, “cantidad de pinos”+ cant_pino+ “n cantidad de pinos”+ cant_oyamel+“n cantidad de pinos”+ cant_cedro); } Algoritmia y programación Universidad del Valle Slide 34
  • 35. EJEMPLO public static void main(String args[]) { int n; n=Integer.parseInt(JOptionPane.showInputDialog(“Ingrese el número de hectáreas:”)); hallarCantidades(n); Inicio } } n: entero leer(n) hallarCantidades( n) Fin Algoritmia y programación Universidad del Valle Slide 35
  • 36. ÁMBITO DE VARIABLES El ámbito de una variable es el contexto (espacio) dentro del programa en donde ella puede ser utilizada y reconocida. Algoritmia y programación Universidad del Valle Slide 36
  • 37. VARIABLES GLOBALES Y LOCALES Las variables se clasifican en 2 tipos:  Variables Locales  Variables Globales Variables Locales: Son aquellas variables que se crean dentro de un método. Estas variables solamente son reconocidas dentro de ese método donde fueron creadas, y su valor se pierde al finalizar la ejecución del mismo. Algoritmia y programación Universidad del Valle Slide 37
  • 38. VARIABLES GLOBALES Y LOCALES Variables Globales: Son aquellas variables que se crean en el programa principal, por fuera de cualquier método. Éstas son reconocidas en todo lugar del programa. Algoritmia y programación Universidad del Valle Slide 38
  • 39. VARIABLES GLOBALES Y LOCALES x,y : entero c : entero Ámbito de c w,p : real Ámbito de w,p Ambito de x,y Algoritmia y programación Universidad del Valle Slide 39
  • 40. VARIABLES GLOBALES Y LOCALES public static double calcularHipotenusa(int a, int b) { double h; h= Math.sqrt((a*a)+(b*b)); return h; } Variable Local del calcularHipotenusa método Algoritmia y programación Universidad del Valle Slide 40
  • 41. EJEMPLO Desarrollemos el ejemplo de la reforestación, usando variables globales y métodos que no reciben parámetros Algoritmia y programación Universidad del Valle Slide 41
  • 42. EJEMPLO public class Reforestacion{ static int n; n: Variable Global public static void hallarCantidades(){ int cant_pino, cant_oyamel, cant_cedro; final int hectarea=10000; if ( (n*hectarea) > 1000000){ cant_pino= (((n* hectarea) *0.7)/10)*8; cant_oyamel = (((n* hectarea) *0.2)/15)*15; cant_cedro= (((n* hectarea) *0.1)/18)*10; } else{ cant_pino= (((n* hectarea) *0.5)/10)*8; cant_oyamel = (((n* hectarea) *0.3)/15)*15; cant_cedro= (((n* hectarea) *0.2)/18)*10; } JOptionPane.showMessageDialog(null, “cantidad de pinos”+ cant_pino+ “n cantidad de pinos”+ cant_oyamel+“n cantidad de pinos”+ cant_cedro); } Algoritmia y programación Universidad del Valle Slide 42
  • 43. EJEMPLO public class Reforestacion{ static int n; n: Variable Global public static void hallarCantidades(){ int cant_pino, cant_oyamel, cant_cedro; final int hectarea=10000; if ( (n*hectarea) > 1000000){ Método hallarCantidades no recibe parámetros cant_pino= (((n* hectarea) *0.7)/10)*8; cant_oyamel = (((n* hectarea) *0.2)/15)*15; cant_cedro= (((n* hectarea) *0.1)/18)*10; } else{ cant_pino= (((n* hectarea) *0.5)/10)*8; cant_oyamel = (((n* hectarea) *0.3)/15)*15; cant_cedro= (((n* hectarea) *0.2)/18)*10; } JOptionPane.showMessageDialog(null, “cantidad de pinos”+ cant_pino+ “n cantidad de pinos”+ cant_oyamel+“n cantidad de pinos”+ cant_cedro); } Algoritmia y programación Universidad del Valle Slide 43
  • 44. EJEMPLO public class Reforestacion{ static int n; n: Variable Global public static void hallarCantidades(){ int cant_pino, cant_oyamel, cant_cedro; final int hectarea=10000; if ( (n*hectarea) > 1000000){ Método hallarCantidades no recibe parámetros cant_pino= (((n* hectarea) *0.7)/10)*8; cant_oyamel = (((n* hectarea) *0.2)/15)*15; cant_cedro= (((n* hectarea) *0.1)/18)*10; } else{ cant_pino= (((n* hectarea) *0.5)/10)*8; cant_oyamel = (((n* hectarea) *0.3)/15)*15; Como n es global es reconocida dentro del método hallarCantidades sin haber sido pasada como parámetro cant_cedro= (((n* hectarea) *0.2)/18)*10; } JOptionPane.showMessageDialog(null, “cantidad de pinos”+ cant_pino+ “n cantidad de pinos”+ cant_oyamel+“n cantidad de pinos”+ cant_cedro); } Algoritmia y programación Universidad del Valle Slide 44
  • 45. EJEMPLO public static void main(String args[]) { n=Integer.parseInt(JOptionPane.showInputDialog(“Ingrese el número de hectáreas :”)); hallarCantidades(); } } Inicio leer(n) hallarCantidades() Fin Algoritmia y programación Universidad del Valle Slide 45
  • 46. EJERCICIOS  Usando métodos, desarrollar un programa que dado el peso, la altura y el sexo de un estudiante. Determine la cantidad de vitaminas que debe consumir, con base en los siguientes criterios: Si es hombre, y su estatura es mayor a 1.60, y su peso es mayor o igual a 75 kilos, su dosis, será: 20% de la estatura y 80% de su peso, si la estatura es menor o igual a 1.60, la dosis será la siguiente: 30% de la estatura y 70% de su peso. Si es mujer, y su estatura es mayor o igual a 1.55 y su peso es mayor o igual a 65 kilos, su dosis será: 25% de la estatura y 75% de su peso. Si el peso es menor a 65 kilos, será: 35% de la estatura y 65% de su peso. Algoritmia y programación Universidad del Valle Slide 46
  • 47. EJERCICIOS  Un comerciante se dedica a la venta de sillas. Vende tres tipos de sillas: Tipo Precio 1 $5.000 2 $7.000 3 $10.000 Por cada cinco sillas compradas se obtiene un descuento, de acuerdo a la tabla Tipo Descuento 1 3% 2 5% 3 10% El resto de sillas se cobran a precio normal. Diseñe un programa que lea el tipo de silla y la cantidad a comprar e imprima la cantidad, el precio unitario, el descuento y el precio total, de lo que debe cancelar el cliente por la compra. Nota: El almacén sólo vende UN tipo de silla a cada cliente. Algoritmia y programación Universidad del Valle Slide 47
  • 48. CLASE DECIMALFORMAT import java.text.DecimalFormat; Se debe importar la clase DecimalFormat DecimalFormat formateador = new DecimalFormat("####.####"); double numero= 3.43242383; Se debe declarar una variable que contenga el formato que se le quiera aplicar al número // Esto sale en pantalla con cuatro decimales, es decir, 3,4324 System.out.println (formateador.format (numero)); En el momento de imprimir, se coloca la variable a la que se le quiere dar el formato dentro del método format Algoritmia y programación Universidad del Valle Slide 48