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

PPTX
Desarrollo iterativo e incremental
PDF
6 Curso de POO en Java - clases y objetos
PPTX
Conceptos de POO (Programacion Orientada a Objetos)
PDF
Ensamblador y lenguaje c
PPTX
PAQUETES EN JAVA
PPT
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
PPTX
Constructores en Java
 
PPS
Estructura selectiva multiple
Desarrollo iterativo e incremental
6 Curso de POO en Java - clases y objetos
Conceptos de POO (Programacion Orientada a Objetos)
Ensamblador y lenguaje c
PAQUETES EN JAVA
Convertir Diagrama Entidad-Relacion a Modelo Relacional.
Constructores en Java
 
Estructura selectiva multiple

La actualidad más candente (20)

PDF
Ejercicios de programacion if - switch-case
PDF
Librería String, Math de Java (NetBeans)
PDF
9 Curso de POO en java - variables, constantes y objetos
PDF
Ejercicios resueltos con Python
PPT
Diccionario de datos
PDF
PDF
Prolog ejercicios resueltos
PPTX
Analisis y Diseños de Sistemas 2-Metodologia OOSE
PDF
8b Curso de POO en java - paso de diagrama clases a java 1
PPTX
Modelo entidad relacion
DOCX
control de concurrencia
PDF
11 Curso de POO en java - métodos constructores y toString()
PPTX
Tecnicas de ingenieria de software
PDF
Ejercicios resueltos diagramas de claseaula (1)
PPT
Rup disciplinas
PDF
2. Casos de uso y diagramas de casos de uso
PPTX
Recursividad directa e indirecta
PPT
Estructuras en c++
PPTX
Diagrama de clases
PPS
Estructura selectiva simple
Ejercicios de programacion if - switch-case
Librería String, Math de Java (NetBeans)
9 Curso de POO en java - variables, constantes y objetos
Ejercicios resueltos con Python
Diccionario de datos
Prolog ejercicios resueltos
Analisis y Diseños de Sistemas 2-Metodologia OOSE
8b Curso de POO en java - paso de diagrama clases a java 1
Modelo entidad relacion
control de concurrencia
11 Curso de POO en java - métodos constructores y toString()
Tecnicas de ingenieria de software
Ejercicios resueltos diagramas de claseaula (1)
Rup disciplinas
2. Casos de uso y diagramas de casos de uso
Recursividad directa e indirecta
Estructuras en c++
Diagrama de clases
Estructura selectiva simple
Publicidad

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

PPTX
Programacion
PPTX
Diagrama de flujo
PPT
Algoritmos computacionales y programación: 3
PPTX
Ejercicios algoritmo
PPTX
Programacion
PPTX
Diagrama de flujo Jose Narvaes
PPTX
Programacion algoritmo y diagramade flujo
PPTX
Andriana montaño. programacion
PPTX
Diagrama de flujo
PPT
Orlando gonzales
PDF
Programacion 1
PPTX
Programacion
PPTX
Ejemplos algoritmos (clase 1)
PDF
Diagramas de flujo - Ejemplos 1
PPT
Ejercicios Programacion Alexis Cayamo
PPTX
Diagrama de flujos
PPTX
Programacion
PPTX
Diagrama De Flujo
PPTX
Ber4
Programacion
Diagrama de flujo
Algoritmos computacionales y programación: 3
Ejercicios algoritmo
Programacion
Diagrama de flujo Jose Narvaes
Programacion algoritmo y diagramade flujo
Andriana montaño. programacion
Diagrama de flujo
Orlando gonzales
Programacion 1
Programacion
Ejemplos algoritmos (clase 1)
Diagramas de flujo - Ejemplos 1
Ejercicios Programacion Alexis Cayamo
Diagrama de flujos
Programacion
Diagrama De Flujo
Ber4
Publicidad

Más de Daniel Gómez (14)

PDF
Distribuciones de Probabilidad (Variable Aleatoria Continua)
PDF
Distribución Probabilidad (Variable Aleatoria Discreta)
PDF
Probabilidad
PDF
Arreglos Bidimensionales - Java - NetBeans
PDF
Arreglos Unidimensionales - Java - NetBeans
PDF
Ciclos Java - NetsBeans - Algoritmia
PDF
Estructuras de Control - Algoritmia
PDF
Concepto Básicos Algoritmia
PDF
Intro. Lenguaje de Programación Java - Algoritmia
PDF
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...
DOCX
Coagulación - Floculación - Sedimentación Lixiviados
PPT
Carbohidratos
PPT
PPTX
Tratamiento Lixiviados por Coagulación-Floculación-Sedimentación
Distribuciones de Probabilidad (Variable Aleatoria Continua)
Distribución Probabilidad (Variable Aleatoria Discreta)
Probabilidad
Arreglos Bidimensionales - Java - NetBeans
Arreglos Unidimensionales - Java - NetBeans
Ciclos Java - NetsBeans - Algoritmia
Estructuras de Control - Algoritmia
Concepto Básicos Algoritmia
Intro. Lenguaje de Programación Java - Algoritmia
Estudio Comparativo de dos Coagulantes para el Tratamiento de Lixiviados, en ...
Coagulación - Floculación - Sedimentación Lixiviados
Carbohidratos
Tratamiento Lixiviados por Coagulación-Floculación-Sedimentación

Último (20)

PPTX
contenidosypda-faase-3-230824191024-49ac7ac3.pptx
PDF
4. Guía para el Seguimiento y Evaluación de Proyectos Sociales.pdf
DOCX
Programa Analítico- Lenguajes-Ingles 3º (1).docx
PDF
FASE-4-Tercero-y-Cuarto_Vinculacion-entre-Contenidos-del-Programa-Sintetico-y...
PPTX
RCP avanzado_Luis Minaya_ Septiembre 25.pptx
PDF
Guía de Genética de aces descargado de manera libre
PDF
Manejo de Fauna.pdf silvestre ...........
PDF
200514 Colombia hacia una sociedad del conocimiento vol I_CC.pdf
PDF
Estudios sociales en cuarto grado de basica
PDF
Carta magna de la excelentísima República de México
PDF
Biografia del Genio Steve Jobs Ccesa007.pdf
PDF
Organizador curricular multigrado escuela
PDF
ACERTIJO CANTO Y TRABALENGUAS DEL GALLO PIRIPICHO. Por JAVIER SOLIS NOYOLA
PPTX
Programa analitico 2024-2025 Jardín de niños Ramón Gonzáles Villarreal. T.M. ...
PDF
UNIDAD 2 | Parte 2 | Informar con precisión y criterio
PDF
CUIDADOS DE PERIOPERATORIO I-ENFERMERIA I
PDF
4° Dosificación anual (2025-2026) - Profe Diaz.pdf
PDF
Temas a elegir para desarrollar oralmente 2do cuatri 2025.pdf
PDF
Unidad 1 | Política, Medios y Redes Sociales
PDF
CUADERNILLO_PROGRESIONES_HUMANIDADES_II.
contenidosypda-faase-3-230824191024-49ac7ac3.pptx
4. Guía para el Seguimiento y Evaluación de Proyectos Sociales.pdf
Programa Analítico- Lenguajes-Ingles 3º (1).docx
FASE-4-Tercero-y-Cuarto_Vinculacion-entre-Contenidos-del-Programa-Sintetico-y...
RCP avanzado_Luis Minaya_ Septiembre 25.pptx
Guía de Genética de aces descargado de manera libre
Manejo de Fauna.pdf silvestre ...........
200514 Colombia hacia una sociedad del conocimiento vol I_CC.pdf
Estudios sociales en cuarto grado de basica
Carta magna de la excelentísima República de México
Biografia del Genio Steve Jobs Ccesa007.pdf
Organizador curricular multigrado escuela
ACERTIJO CANTO Y TRABALENGUAS DEL GALLO PIRIPICHO. Por JAVIER SOLIS NOYOLA
Programa analitico 2024-2025 Jardín de niños Ramón Gonzáles Villarreal. T.M. ...
UNIDAD 2 | Parte 2 | Informar con precisión y criterio
CUIDADOS DE PERIOPERATORIO I-ENFERMERIA I
4° Dosificación anual (2025-2026) - Profe Diaz.pdf
Temas a elegir para desarrollar oralmente 2do cuatri 2025.pdf
Unidad 1 | Política, Medios y Redes Sociales
CUADERNILLO_PROGRESIONES_HUMANIDADES_II.

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