Algoritmia y Programacin
FUNCIONES O MTODOS
Slide 2
Algoritmia y programacinUniversidad del Valle
CONTENIDO Funciones/mtodos
Definicin
Partes de una funcin
Ejemplos
mbito de variables
Variables Locales
Variables Globales
Slide 3
Algoritmia y programacinUniversidad del Valle
DEFINICIN
Una funcin mtodo es una porcin de cdigo(subalgoritmo) que forma parte de un algoritmoprincipal y el cual se encarga de resolver una tareaespecfica.
Slide 4
Algoritmia y programacinUniversidad del Valle
DEFINICIN
Una funcin mtodo es una porcin de cdigo(subalgoritmo) que forma parte de un algoritmoprincipal y el cual se encarga de resolver una tareaespecfica.
Divide y vencers: Es una estrategia pararesolver problemas grandes, dividindolo enproblemas ms pequeos
Slide 5
Algoritmia y programacinUniversidad del Valle
Los mtodos reciben datos del programa principal,realizan operaciones y le devuelven los resultados.
Es como una oficina: El programa principal es eljefe, que da instrucciones a sus subordinados(mtodos), ellos realizan una tarea, y cuandoterminan le devuelven el resultado y control al jefe.
DEFINICIN
Slide 6
Algoritmia y programacinUniversidad del Valle
VENTAJAS DE USAR MTODOS
Los problemas pequeos son ms fciles de entender,de desarrollar y de mantener (localizar errores).
Se evita cdigo innecesario, pues los mtodos seescriben una sola vez, y pueden ser utilizados(llamados) desde diferentes partes del programa, lasveces que sea necesario
Slide 7
Algoritmia y programacinUniversidad del Valle
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.
Slide 8
Algoritmia y programacinUniversidad del Valle
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. Anlisis del problema
Entrada: a, b
Slide 9
Algoritmia y programacinUniversidad del Valle
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. Anlisis del problema
Entrada: a, b
Salidas : hipotenusa, mayor
Proceso: ??
Slide 10
Algoritmia y programacinUniversidad del Valle
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. Anlisis del problema
Entrada: a, b
Salidas : hipotenusa, mayor
Proceso: calcular hipotenusa
determinar mayor de 2 nmeros
Slide 11
Algoritmia y programacinUniversidad del Valle
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. Anlisis del problema
Entrada: a, b
Salidas : hipotenusa, mayor
Proceso: real calcularHipotenusa(a, b :entero)
Slide 12
Algoritmia y programacinUniversidad del Valle
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. Anlisis del problema
Entrada: a, b
Salidas : hipotenusa, mayor
Proceso: real calcularHipotenusa(a, b :entero)
a y b son datos necesariospara calcular la hipotenusa
Slide 13
Algoritmia y programacinUniversidad del Valle
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. Anlisis del problema
Entrada: a, b
Salidas : hipotenusa, mayor
Proceso: real calcularHipotenusa(a, b :entero) {
h: real
h=( a2+b2)
}
Slide 14
Algoritmia y programacinUniversidad del Valle
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. Anlisis del problema
Entrada: a, b
Salidas : hipotenusa, mayor
Proceso: entero determinarMayor(a, b :entero) {
m: entero
SI a>b
m= a
SINO
m=b
}
Slide 15
Algoritmia y programacinUniversidad del Valle
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. Anlisis del problema
Entrada: a, b
Salidas : hipotenusa, mayor
Proceso: real calcularHipotenusa(a, b :entero) {
h: real
h= ( a2+b2)
}
Cmo se escribe unmtodo en Java?
Slide 16
Algoritmia y programacinUniversidad del Valle
Tiene un nombre,
Recibe unos parmetros o argumentos (opcionalmente),
Contiene sentencias o instrucciones para realizar algo, y
Devuelve un valor de algn Tipo de dato conocido (opcionalmente).
Tiene un modificador de acceso
PARTES DE UN MTODO
Modificador_de_acceso Tipo_de_retorno nombre(parmetros,)
{
declaracin_variables_locales
cuerpo_del_mtodo
valor_de_retorno
}
Sintaxis global es:
Slide 17
Algoritmia y programacinUniversidad del Valle
public static double calcularHipotenusa(int a, int b)
{
double calculo;
calculo = Math.sqrt((a*a)+(b*b));
return calculo;
}
PARTES DE UN MTODO
Slide 18
Algoritmia y programacinUniversidad del Valle
public static double calcularHipotenusa(int a, int b)
{
double calculo;
calculo = Math.sqrt((a*a)+(b*b));
return calculo;
}
Modificador de acceso:
public cualquiera puede acceder usar e invocar almtodoprivate Slo puede acceder invocarse el mtododesde otro mtodo de la clase.protected - proporciona acceso pblico para las clasesderivadas y acceso privado (prohibido) para el resto declases.
PARTES DE UN MTODO
Slide 19
Algoritmia y programacinUniversidad del Valle
public static double calcularHipotenusa(int a, int b)
{
double calculo;
calculo = Math.sqrt((a*a)+(b*b));
return calculo;
}
Tipo de Retorno
Corresponde al tipo de dato del valor que el mtododebe retornar, que puede ser:int, float, double, char, String. etcvoid Indica que el mtodo no retorna ningnvalor
PARTES DE UN MTODO
Slide 20
Algoritmia y programacinUniversidad del Valle
public static double calcularHipotenusa(int a, int b)
{
double calculo;
calculo = Math.sqrt((a*a)+(b*b));
return calculo;
}
Tipo de dato del valor que devuelve
Valor que devuelve
PARTES DE UN MTODO
Slide 21
Algoritmia y programacinUniversidad del Valle
public static double calcularHipotenusa(int a, int b)
{
double calculo;
calculo = Math.sqrt((a*a)+(b*b));
return calculo;
}
Nombre
Es el nombre con el que se har referencia almtodo dentro del programa. El cual debe estarrelacionado con las operaciones que va a realizar
PARTES DE UN MTODO
sqrt es el nombre del mtodo queretorna el valor de la raz cuadrada.
Slide 22
Algoritmia y programacinUniversidad del Valle
public static double calcularHipotenusa(int a, int b)
{
double calculo;
calculo = Math.sqrt((a*a)+(b*b));
return calculo;
}
Parmetros / argumentos
Hay mtodos que reciben algunos valores para poderhacer operaciones con ellos. Si son varios se separancon comas ( , ).
PARTES DE UN MTODO
Parmetro del mtodo sqrt.
Slide 23
Algoritmia y programacinUniversidad del Valle
public static double calcularHipotenusa(int a, int b)
{
double calculo;
calculo = Math.sqrt((a*a)+(b*b));
return calculo;
}
PARTES DE UN MTODO
Este mtodo recibe 2 argumentos de tipo entero
Slide 24
Algoritmia y programacinUniversidad del Valle
public static double calcularHipotenusa(int a, int b)
{
double calculo;
calculo = Math.sqrt((a*a)+(b*b));
return calculo;
}
PARTES DE UN MTODO
Cmo llamar a un mtodo desde el programa principal?
Slide 25
Algoritmia y programacinUniversidad del Valle
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. Disear el algoritmo y escribirlo en pseudocdigo
Inicioa,b,mayor : enterohipotenusa : real
leer (a)leer (b)
hipotenusa = calcularHipotenusa(a,b)mayor = determinarMayor(a,b)
imprimir(hipotenusa, mayor)
Fin
La variable hipotenusa va a tomar el valor que le devuelva el mtodo calcularHipotenusa(a,b)
LLAMADO DE MTODOS
Slide 26
Algoritmia y programacinUniversidad del Valle
LLAMADO DE MTODOS
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;
}
Slide 27
Algoritmia y programacinUniversidad del Valle
LLAMADO DE MTODOS
public static void main (String args[]){
int a, b, mayor;
double hipotenusa;
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 );
}
}
Inicioa,b,mayor : enterohipotenusa : real
leer (a)leer (b)
hipotenusa = calcularHipotenusa(a,b)mayor = determinarMayor(a,b)
imprimir(hipotenusa, mayor)
Fin
Slide 28
Algoritmia y programacinUniversidad del Valle
Desarrollar una aplicacin en Java (usando mtodos), quereciba un entero correspondiente a una categora y el totalde ventas de un empleado y retorne la comisin que recibe.
Tome en cuenta la siguiente tabla.
categora Comisin
1 10%
2 20%
3 35%
4 45%
5 50%
6 60%
EJEMPLO
Slide 29
Algoritmia y programacinUniversidad del Valle
EJEMPLO1. Anlisis del problema
Entradas: categoria, ventas
Salidas: comision
Proceso: determinar Comisin
Slide 30
Algoritmia y programacinUniversidad del Valle
EJEMPLO2. Disear el algoritmo y escribirlo en pseudocdigo
real determinarComision(int cat, real ven){
com: real;
Segn sea cat
opcion 1: com = ven * 0.1
opcion 2: com = ven * 0.2
opcion 3: com= ven * 0.35
opcion 4: com= ven * 0.45
opcion 5: com = ven * 0.5
opcion 6: com = ven * 0.6
}
inicio
categoria: entero
ventas, comision: real
leer(categoria)
leer(ventas)
comision = determinarComision(categoria, ventas)
Imprimir (comision)
Fin
Slide 31
Algoritmia y programacinUniversidad del Valle
EJEMPLOpublic class ComisionEmpleado{
public static double determinarComision(int cat, double ven){
double com =0;
switch(cat) {
case 1: com = ven * 0.1; break;
case 2: com = ven * 0.2; break;
case 3: com = ven * 0.35; break;
case 4: com = ven * 0.45; break;
case 5: com= ven * 0.5; break;
case 6: comi= ven * 0.6; break;
}
return com;
}
real determinarComision(int cat, real ven)
{
com: real;
Segn sea cat
opcion 1: com = ven * 0.1
opcion 2: com = ven * 0.2
opcion 3: com= ven * 0.35
opcion 4: com= ven * 0.45
opcion 5: com = ven * 0.5
opcion 6: com = ven * 0.6
}
Slide 32
Algoritmia y programacinUniversidad del Valle
EJEMPLO
public static void main(String args[])
{
int categoria;
double ventas, comision;
categoria =Integer.parseInt(JOptionPane.showInputDialog(Ingrese categora:));
ventas =Double.parseDouble(JOptionPane.showInputDialog(Ingrese venta:));
comision= determinarComision(categoria, ventas);
JOptionPane.showMessageDialog(null,la comision es + comision);}
}
inicio
categoria: entero
ventas, comision: real
leer(categoria)
leer(ventas)
comision = determinarComision(categoria, ventas)
Imprimir (comision)
Fin
Slide 33
Algoritmia y programacinUniversidad del Valle
PROBLEMASe dese reforestar un bosque que mide un nmero n de hectreas. Si lasuperficie del terreno excede a 1000.000m2, entonces se siembra as:
Si la superficie del terreno es menor o igual a 1000.000m2 entonces sesiembra as:
Se desea saber el nmero de pinos, oyameles y cedros que se debensembrar, si se sabe que en 10m2 caben 8 pinos; en 15m2 caben 15oyameles, y en 18m2 caben 10 cedros.
% superficie Tipo de rbol
70% Pino
20% Oyamel
10% Cedro
% superficie Tipo de rbol
50% Pino
30% Oyamel
20% Cedro
Slide 34
Algoritmia y programacinUniversidad del Valle
1. Anlisis del problema
Entrada: n (nmero de hectreas)
Salidas : cantidad_pinos, cantidad_oyameles, cantidad_cedros
Proceso: hallarCantidades
EJEMPLO
Slide 35
Algoritmia y programacinUniversidad del Valle
1. Disear el algoritmo y escribirlo en pseudocdigo
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);
}
EJEMPLO
Slide 36
Algoritmia y programacinUniversidad del Valle
1. Disear el algoritmo y escribirlo en pseudocdigo
Inicio
n: entero
leer(n)
hallarCantidades( n)
Fin
EJEMPLO
Slide 37
Algoritmia y programacinUniversidad del Valle
EJEMPLOpublic class Reforestacion{
public static void hallarCantidades(int n){
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);
}
hallarCantidades(n: entero){
cant_pino,cant_oyamel,cant_cedro: 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);
}
Slide 38
Algoritmia y programacinUniversidad del Valle
EJEMPLOpublic class Reforestacion{
public static void hallarCantidades(int n){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);
}
void especifica que elmtodo no va a devolverningn valor a quin lollam, sino que va a realizaralguna operacin e imprimirsu resultado dentro delmismo mtodo.
Slide 39
Algoritmia y programacinUniversidad del Valle
EJEMPLO
public static void main(String args[])
{
int n;
n=Integer.parseInt(JOptionPane.showInputDialog(Ingrese el nmero de hectreas:));
hallarCantidades(n);
}
}
Inicio
n: entero
leer(n)
hallarCantidades( n)
Fin
Slide 40
Algoritmia y programacinUniversidad del Valle
MBITO DE VARIABLES
El mbito de una variable es el contexto (espacio)
dentro del programa en donde ella puede ser
utilizada y reconocida.
Slide 41
Algoritmia y programacinUniversidad del Valle
VARIABLES GLOBALES Y LOCALES
Las variables se clasifican en 2 tipos:
Variables Locales
Variables Globales
Variables Locales: Son aquellas variables que secrean dentro de un mtodo. Estas variablessolamente son reconocidas dentro de ese mtododonde fueron creadas, y su valor se pierde alfinalizar la ejecucin del mismo.
Slide 42
Algoritmia y programacinUniversidad del Valle
Variables Globales: Son aquellas variables que secrean en el programa principal, por fuera decualquier mtodo. stas son reconocidas en todolugar del programa.
VARIABLES GLOBALES Y LOCALES
Slide 43
Algoritmia y programacinUniversidad del Valle
VARIABLES GLOBALES Y LOCALES
x,y : entero
Ambito de x,y
c : entero
w,p : real
mbito de c
mbito de w,p
Slide 44
Algoritmia y programacinUniversidad del Valle
Variable Local del mtodocalcularHipotenusa
public static double calcularHipotenusa(int a, int b)
{
double calculo;
calculo = Math.sqrt((a*a)+(b*b));
return calculo;
}
VARIABLES GLOBALES Y LOCALES
Slide 45
Algoritmia y programacinUniversidad del Valle
EJEMPLO
Desarrollemos el ejemplo de la reforestacin,usando variables globales y mtodos que noreciben parmetros
Slide 46
Algoritmia y programacinUniversidad del Valle
EJEMPLOpublic class Reforestacion{
static int n;
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 depinos+ cant_oyamel+\n cantidad de pinos+ cant_cedro);
}
n: Variable Global
Slide 47
Algoritmia y programacinUniversidad del Valle
EJEMPLOpublic class Reforestacion{
static int n;
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 depinos+ cant_oyamel+\n cantidad de pinos+ cant_cedro);
}
n: Variable Global
Mtodo hallarCantidades norecibe parmetros
Slide 48
Algoritmia y programacinUniversidad del Valle
EJEMPLOpublic class Reforestacion{
static int n;
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 depinos+ cant_oyamel+\n cantidad de pinos+ cant_cedro);
}
n: Variable Global
Mtodo hallarCantidades norecibe parmetros
Como n es global esreconocida dentro delmtodo hallarCantidades sinhaber sido pasada comoparmetro
Slide 49
Algoritmia y programacinUniversidad del Valle
EJEMPLO
public static void main(String args[])
{
n=Integer.parseInt(JOptionPane.showInputDialog(Ingrese el nmero de hectreas:));
hallarCantidades();
}
}
Inicio
leer(n)
hallarCantidades()
Fin
Algoritmia y Programacin
APILENGUAJE DE PROGRAMACIN
Slide 51
Algoritmia y programacinUniversidad del Valle
API
Interfaz de programacin de aplicacin: Provee unacoleccin de clases que le permite al programador construirtodo tipo de programas de acuerdo a sus necesidades, sintener que iniciar de cero.
Existen varia APIs de acuerdo a las operaciones que sedeseen realizar, normalmente las ms utilizadas (y a usaren este curso) son las de Standar Edition (SE), sudocumentacin se puede encontrar en:
Ejemplo de la documentacin del API para JSE7
http://download.oracle.com/javase/7/docs/api/
Slide 52
Algoritmia y programacinUniversidad del Valle
API
Slide 53
Algoritmia y programacinUniversidad del Valle
CLASES DEL API
Clase String
Clase Math
Slide 54
Algoritmia y programacinUniversidad del Valle
CLASE STRING
Entre los tipos de datosprimitivos que opera el lenguajede programacin java seencuentra los tipo carcter(char).
En el mundo real existen datosconformado por un conjunto decaracteres, a este tipo de datosJava los considera una cadenade caracteres y los operamediante la clase String.
La clase String permite a travsde sus sus mtodos el manejode cadenas de caracteres deforma fcil.
Slide 55
Algoritmia y programacinUniversidad del Valle
CLASE STRING
Los datos de tipo String puede contener una combinacinde letras, nmeros y smbolos especiales.
Ejemplos:
Nombre de estudiante
Direccin Residencia
Nombre de Plan
Ciudad
Slide 56
Algoritmia y programacinUniversidad del Valle
CLASE STRING
Para declarar un dato de tipo String se hace as:
String nombre;
Se puede definir varias variables en una sola sentencia:
String mail, direccionResidencia, ciudad, telefono;
Una vez definida la variable, se puede asignar un valor:
nombre = Luis;
mail = [email protected]
ciudad = Cali;
telefono= 3345678
El dato debe estar encerrado en doble comilla.
Slide 57
Algoritmia y programacinUniversidad del Valle
CLASE STRING
Ejemplo 1:
Capturar los datos Cdigo, Nombres, Apellidos, E-mail, Ciudad yTelfono de un estudiante e imprimirlos (Estudiante.java)
Slide 58
Algoritmia y programacinUniversidad del Valle
CLASE STRING
Al momento de declarar la variable, tambin se le puedeasignar un valor:
String nombre=Luis, Ciudad = Cali;
El dato debe estar encerrado en doble comilla.
Slide 59
Algoritmia y programacinUniversidad del Valle
CLASE STRING
Para ciertas operaciones que se necesitan en los datos decadena de caracteres, la clase String ofrece un conjunto demtodos, stos se pueden consultar en la documentacindel lenguaje
http://download.oracle.com/javase/7/docs/api/:
Para trminos prcticos se abordar los mtodos ms utilizados:
charAt, toLowerCase, toUpperCase, trim,
valueOf, indexOf, lastIndexOf contains,
equals, equalsIgnoreCase, Length. substring
Slide 60
Algoritmia y programacinUniversidad del Valle
CLASE STRING
charAt(indice)
Devuelve el carcter de la posicin que se especifique. En un String cada carcter tiene una posicin, iniciando desde la posicin 0.
Ejemplo.
String palabra = Hola mundo;
palabra.charAt(3) retornar el carcter a.
Slide 61
Algoritmia y programacinUniversidad del Valle
CLASE STRING
toLowerCase()
Convierte a minsculas los caracteres de una cadena.
Ejemplo.
String palabra = Hola Mundo;
palabra. toLowerCase() retornar la cadena hola mundo.
Slide 62
Algoritmia y programacinUniversidad del Valle
CLASE STRING
toUpperCase()
Convierte a maysculas los caracteres de una cadena.
Ejemplo.
String palabra = Hola Mundo;
palabra. toUpperCase () retornar la cadena HOLA MUNDO.
Slide 63
Algoritmia y programacinUniversidad del Valle
CLASE STRING
trim()
Elimina los espacios a los extremos de la cadena.
Ejemplo.
String palabra = Hola Mundo ;
palabra. trim() retornar la cadena Hola Mundo.
Slide 64
Algoritmia y programacinUniversidad del Valle
CLASE STRING
valueOf()
Convierte el dato establecido en String.
Ejemplo.
int num1 = 10;
float num2 = 12.5f
String. valueOf(num1) retornar la cadena 10.
String. valueOf(num2) retornar la cadena 12.5.
Slide 65
Algoritmia y programacinUniversidad del Valle
CLASE STRING
indexOF()
Retorna la posicin de la primera ocurrencia de bsqueda encontrada de izquierda a derecha en la cadena.
Ejemplo.
String cadena = "Cali sucursal del cielo";
cadena. indexOf(el) ;
Retornar el valor 15, correspondiente a la posicin de la letra e de la palabra del en la cadena.
Slide 66
Algoritmia y programacinUniversidad del Valle
CLASE STRING
lastIndexOF()
Retorna la posicin de la primera ocurrencia de bsqueda encontrada de derecha a izquierda en la cadena.
Ejemplo.
String cadena = "Cali sucursal del cielo";
cadena. lastIndexOf(el) ;
Retornar el valor 20, correspondiente a la posicin de la letra e de la palabra cielo en la cadena.
Slide 67
Algoritmia y programacinUniversidad del Valle
CLASE STRING
contains()
Retorna falso (false) o verdadero (true) indicando si una cadena se encuentra o no dentro de la otra.
Ejemplo.
String cadena = "Cali sucursal del cielo";
cadena. contains(cielo) ;
Retornar el valor true, indicando que la palabra cielo se encuentra en el contenido de la variable cadena.
Slide 68
Algoritmia y programacinUniversidad del Valle
CLASE STRING
equals()
Retorna falso (false) o verdadero (true) indicando si una cadena es o no igual a la otra, diferencia de minscula y maysculas, por tanto a es diferente de A.
Ejemplo.
String cadena = "Cali";
cadena. equals (Cali) ;
Retornar el valor true, indicando que en contenido de la variable es
igual a la palabra Cali.
Slide 69
Algoritmia y programacinUniversidad del Valle
CLASE STRING
equalsIgnoreCase()
Retorna falso (false) o verdadero (true) indicando si una cadena es o no igual a la otra, no diferencia de minscula y maysculas, por tanto a es igual a A.
Ejemplo.
String cadena = "CALI";
cadena. equalsIgnoreCase(cali) ;
Retornar el valor true, indicando que en contenido de la variable es
igual a la palabra cali, a pesar que la una est en mayscula y la otra en minscula.
Slide 70
Algoritmia y programacinUniversidad del Valle
CLASE STRING
length()
Retorna un valor entero que indica la longitud (cantidad de caracteres) de la cadena
Ejemplo.
String cadena = Cali sucursal del cielo";
cadena. length() ;
Retornar el valor 23 indicando la cantidad de caracteres que tiene la
cadena.
Slide 71
Algoritmia y programacinUniversidad del Valle
CLASE STRING
substring()
Retorna una parte de una cadena, de acuerdo a las posiciones que se especifiquen. Si slo se especifica una sola posicin se obtendr la subcadena
desde esa posicin hasta el final. Al especificar 2 posiciones se obtendr la
subcadena que se encuentra en esas dos posiciones
Ejemplo.
String cadena = Cali sucursal del cielo";
cadena. substring(5) se obtendr la subcadena sucursal del cielo
cadena.substring(5,13) se obtendr la subcadena sucursal.
Slide 72
Algoritmia y programacinUniversidad del Valle
CLASE STRING
Ejemplo 2:
Manejo de cadenas (Cadenas.java)
Slide 73
Algoritmia y programacinUniversidad del Valle
CLASE STRING
Ejemplo 2:
El resultado ser (Cadenas.java)
Slide 74
Algoritmia y programacinUniversidad del Valle
CLASE MATH
La clase Math en el lenguaje deprogramacin contiene mtodosque permiten realizaroperaciones numricas talescomo: valor absoluto, rerdonde,nmeros aleatorios, razcuadrara, funcionestrigonomtricas, entre otras .
Para trminos prcticos seabordar los mtodos msutilizados
abs ceil cos exp floor log max minpow random round sin tan sqrt PI
Slide 75
Algoritmia y programacinUniversidad del Valle
CLASE MATH
abs()
Retorna el valor absoluto de un numero especificado
Ejemplo.
int num1 = -10;
Math.abs(num1) se obtendr el valor de 10
Slide 76
Algoritmia y programacinUniversidad del Valle
CLASE MATH
ceil()
Retorna el valor redondeado al siguiente entero de tipo doble del numero especificado.
Ejemplo.
float num1 = 12.54f;
Math.ceil(num1) se obtendr el valor de 13.0
Slide 77
Algoritmia y programacinUniversidad del Valle
CLASE MATH
floor()
Retorna el valor redondeado al anterior entero de tipo doble del numero especificado.
Ejemplo.
float num1 = 12.54f;
Math.floor(num1) se obtendr el valor de 12.0
Slide 78
Algoritmia y programacinUniversidad del Valle
CLASE MATH
round()
Retorna el valor redondeado del numero especificado, si el decimal es menor a.5 redondear al anterior entero, si es mayo o igual a .5 redondear al siguiente
entero .
Ejemplo.
float num1 = 12.54f;
float num2 = 12.34f;
float num3 = 12.5f;
Math.round(num1); devolver el valor de 13
Math.round(num2); devolver el valor de 12
Math.round(num3); devolver el valor de 13
Slide 79
Algoritmia y programacinUniversidad del Valle
CLASE MATH
radom()
Retorna un valor aleatorio entre 0.0 y 1.0.
Ejemplo.
double aleatorio;
Math.random(); devolver un valor entre 0.0 y 1.0
Slide 80
Algoritmia y programacinUniversidad del Valle
CLASE MATH
max()
Retorna el valor mayor entre dos nmeros.
Ejemplo.
float num3 = 12.54f;
float num4 = 12.34f;
Math.max(num3,num4); devolver el valor 12.54
Slide 81
Algoritmia y programacinUniversidad del Valle
CLASE MATH
min()
Retorna el valor menor entre dos nmeros.
Ejemplo.
float num3 = 12.54f;
float num4 = 12.34f;
Math.min(num3,num4); devolver el valor 12.54
Slide 82
Algoritmia y programacinUniversidad del Valle
CLASE MATH
pow(base,exponente)
Retorna el valor de la potencia de una valor base a un valor de exponente.
Ejemplo.
float num6 = 3.0f;
Math.pow(num6,4); devolver el valor 81.0
Slide 83
Algoritmia y programacinUniversidad del Valle
CLASE MATH
sqrt()
Retorna el valor de la raz cuadrada de un numero.
Ejemplo.
float num7 = 25.0f;
Math.sqrt(num7); devolver el valor 25.0
Slide 84
Algoritmia y programacinUniversidad del Valle
CLASE MATH
PI
Retorna el valor pi.
Ejemplo.
Math.PI; devolver el valor 3.141592653589793
Slide 85
Algoritmia y programacinUniversidad del Valle
CLASE MATH
sin()
Retorna el valor del seno trigonomtrico de un ngulo.
Ejemplo.
float angulo=90f;
Math.sin(angulo); devolver el valor 0.8939966636005579
Slide 86
Algoritmia y programacinUniversidad del Valle
CLASE MATH
cos()
Retorna el valor del coseno trigonomtrico de un ngulo.
Ejemplo.
float angulo=90f;
Math.cos(angulo); devolver el valor -0.4480736161291702
Slide 87
Algoritmia y programacinUniversidad del Valle
CLASE MATH
tan()
Retorna el valor de la tangente trigonomtrica de un ngulo.
Ejemplo.
float angulo=90f;
Math.tan(angulo); devolver el valor -1.995200412208242
Slide 88
Algoritmia y programacinUniversidad del Valle
CLASE MATH
tan()
Retorna el valor de la tangente trigonomtrica de un ngulo.
Ejemplo.
float angulo=90f;
Math.tan(angulo); devolver el valor -1.995200412208242
Slide 89
Algoritmia y programacinUniversidad del Valle
CLASE MATH Ejemplo 3:
El resultado ser (operacionesMatematicas.java)
Slide 90
Algoritmia y programacinUniversidad del Valle
CLASE MATH Ejemplo 4:
Se requiere disear un programa en Java que permita calcular lavelocidad con respecto a tierra real de un aeroplano y el ngulo entre la
ruta real del mismo y la direccin este.
Se conoce que el aeroplano vuela a una determinada velocidad (km/h)hacia el nordeste, en una direccin que forma un ngulo determinado
con la direccin este.
El viento est soplando a una determinada velocidad (km/h) en ladireccin noroeste, formando un determinado ngulo con la direccin
norte.
Slide 91
Algoritmia y programacinUniversidad del Valle
CLASE MATH Ejemplo 4:
Anlisis
Datos de Entrada
Velocidad de Aeroplano.
ngulo de Aeroplano.
Velocidad de Viento.
ngulo de Viento.
Datos de Salida
Velocidad con respecto de tierra real del aeroplano.
Angulo real del aeroplano y direccin este.
Slide 92
Algoritmia y programacinUniversidad del Valle
CLASE MATH Ejemplo 4:
Anlisis
Proceso
Vx = Velocidad Aeroplano * Coseno(Angulo Aeroplano)
Vy = Velocidad Aeroplano * Seno(Angulo Aeroplano)
Wx = -Velocidad Viento * Seno(Angulo Viento)
Wy = Velocidad Viento * Coseno(Angulo Viento)
Ux = Vx + Wx
Uy = Vy + Wy
VelocidadRealAerplano = Raiz Cuadrada (Ux2+ Uy2)
AnguloAeroplanoDireccion = arcoseno(Ux / VelocidadRealAerplano)
Slide 93
Algoritmia y programacinUniversidad del Valle
CLASE MATH(AeroPlano.java)
Slide 94
Algoritmia y programacinUniversidad del Valle
EJERCICIOS Usando mtodos, 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 de 1.60, la dosis ser la siguiente: 30% de la
estatura y 70% de su peso.
Si es mujer, y su estatura es mayor de 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 mayor a 65 kilos, ser: 35% de la estatura y 65% de su peso.
Slide 95
Algoritmia y programacinUniversidad del Valle
EJERCICIOS Un comerciante se dedica a la venta de sillas. Vende tres tipos desillas:
Por cada cinco sillas compradas se obtiene un descuento, de acuerdo ala tabla
El resto de sillas se cobran a precio normal. Disee un programa que leael tipo de silla y la cantidad a comprar e imprima la cantidad, el preciounitario, el descuento y el precio total, de lo que debe cancelar elcliente por la compra.
Tipo Precio
1 $5.000
2 $7.000
3 $10.000
Tipo Descuento
1 3%
2 5%
3 10%
GRACIAS