Vous êtes sur la page 1sur 96

FUNCIONES O MTODOS

Algoritmia y Programacin

CONTENIDO
Funciones/mtodos Definicin Partes de una funcin Ejemplos mbito de variables Variables Locales

Variables Globales

Algoritmia y programacin
Universidad del Valle Slide 2

DEFINICIN
Una funcin mtodo es una porcin de cdigo (subalgoritmo) que forma parte de un algoritmo principal y el cual se encarga de resolver una tarea especfica.

Algoritmia y programacin
Universidad del Valle Slide 3

DEFINICIN
Una funcin mtodo es una porcin de cdigo (subalgoritmo) que forma parte de un algoritmo principal y el cual se encarga de resolver una tarea especfica.
Divide y vencers: Es una estrategia para resolver problemas grandes, dividindolo en problemas ms pequeos

Algoritmia y programacin
Universidad del Valle Slide 4

DEFINICIN
Los mtodos 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 (mtodos), ellos realizan una tarea, y cuando terminan le devuelven el resultado y control al jefe.

Algoritmia y programacin
Universidad del Valle Slide 5

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 se escriben una sola vez, y pueden ser utilizados (llamados) desde diferentes partes del programa, las veces que sea necesario

Algoritmia y programacin
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 programacin
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. Anlisis del problema Entrada: a, b

Algoritmia y programacin
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. Anlisis del problema Entrada: Salidas : Proceso: a, b hipotenusa, mayor ??

Algoritmia y programacin
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. Anlisis del problema Entrada: Salidas : Proceso: a, b hipotenusa, mayor calcular hipotenusa determinar mayor de 2 nmeros

Algoritmia y programacin
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. Anlisis del problema Entrada: Salidas : Proceso: a, b hipotenusa, mayor real calcularHipotenusa(a, b :entero)

Algoritmia y programacin
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. Anlisis del problema Entrada: Salidas : Proceso: a, b hipotenusa, mayor real calcularHipotenusa(a, b :entero) a y b son datos necesarios para calcular la hipotenusa

Algoritmia y programacin
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. Anlisis del problema Entrada: Salidas : Proceso: a, b hipotenusa, mayor real calcularHipotenusa(a, b :entero) { h: real

h=( a2+b2)
}
Algoritmia y programacin
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. Anlisis del problema
Entrada: Salidas : Proceso: a, b hipotenusa, mayor entero determinarMayor(a, b :entero) { m: entero SI a>b m= a SINO m=b }
Algoritmia y programacin
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. Anlisis del problema Entrada: Salidas : a, b hipotenusa, mayor h: real

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

h= ( a2+b2)
}
Algoritmia y programacin
Universidad del Valle

Cmo se escribe mtodo en Java?

un

Slide 15

PARTES DE UN MTODO
Sintaxis global es:
Modificador_de_acceso Tipo_de_retorno { declaracin_variables_locales cuerpo_del_mtodo valor_de_retorno }

nombre(parmetros,)

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
Slide 16

Algoritmia y programacin
Universidad del Valle

PARTES DE UN MTODO
public static double calcularHipotenusa(int a, int b) {

double calculo;
calculo = Math.sqrt((a*a)+(b*b)); return calculo; }

Algoritmia y programacin
Universidad del Valle Slide 17

PARTES DE UN MTODO
public
{ double calculo; calculo = Math.sqrt((a*a)+(b*b)); static double calcularHipotenusa(int a, int b)

return calculo;
}

Modificador de acceso: public cualquiera puede acceder usar e invocar al mtodo private Slo puede acceder invocarse el mtodo desde otro mtodo de la clase. protected - proporciona acceso pblico para las clases derivadas y acceso privado (prohibido) para el resto de clases.
Algoritmia y programacin
Universidad del Valle Slide 18

PARTES DE UN MTODO
public static { double calculo; calculo = Math.sqrt((a*a)+(b*b));

double

calcularHipotenusa(int a, int b)

return calculo;
}

Tipo de Retorno

Corresponde al tipo de dato del valor que el mtodo debe retornar, que puede ser: int, float, double, char, String. etc void Indica que el mtodo no retorna ningn valor
Algoritmia y programacin
Universidad del Valle Slide 19

PARTES DE UN MTODO
public static { double calculo; calculo = Math.sqrt((a*a)+(b*b));

double

calcularHipotenusa(int a, int b)

return calculo;
}

Tipo de dato del valor que devuelve


Valor que devuelve

Algoritmia y programacin
Universidad del Valle Slide 20

PARTES DE UN MTODO
public static double { double calculo; calculo = Math.sqrt((a*a)+(b*b));

calcularHipotenusa(int

a, int b)

return calculo;
}

sqrt es el nombre del mtodo que retorna el valor de la raz cuadrada.

Nombre Es el nombre con el que se har referencia al mtodo dentro del programa. El cual debe estar relacionado con las operaciones que va a realizar
Algoritmia y programacin
Universidad del Valle Slide 21

PARTES DE UN MTODO
public static double calcularHipotenusa(int { double calculo; calculo = Math.sqrt((a*a)+(b*b));

a, int b)

return calculo;
}

Parmetro del mtodo sqrt.

Parmetros / argumentos Hay mtodos que reciben algunos valores para poder hacer operaciones con ellos. Si son varios se separan con comas ( , ).
Algoritmia y programacin
Universidad del Valle Slide 22

PARTES DE UN MTODO
public static double calcularHipotenusa(int { double calculo; calculo = Math.sqrt((a*a)+(b*b));

a, int b)

return calculo;
}

Este mtodo recibe 2 argumentos de tipo entero

Algoritmia y programacin
Universidad del Valle Slide 23

PARTES DE UN MTODO
public static double calcularHipotenusa(int { double calculo; calculo = Math.sqrt((a*a)+(b*b));

a, int b)

return calculo;
}

Cmo llamar a un mtodo desde el programa principal?

Algoritmia y programacin
Universidad del Valle Slide 24

LLAMADO DE MTODOS
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
Inicio a,b,mayor : entero hipotenusa : real leer (a) leer (b) hipotenusa = calcularHipotenusa(a,b) mayor = determinarMayor(a,b) imprimir(hipotenusa, mayor) Fin
Algoritmia y programacin
Universidad del Valle Slide 25

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

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; }

Algoritmia y programacin
Universidad del Valle Slide 26

LLAMADO DE MTODOS
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 programacin
Universidad del Valle Slide 27

EJEMPLO
Desarrollar una aplicacin en Java (usando mtodos), que reciba un entero correspondiente a una categora y el total de ventas de un empleado y retorne la comisin que recibe. Tome en cuenta la siguiente tabla.

categora 1 2 3 4 5 6
Algoritmia y programacin
Universidad del Valle

Comisin 10% 20% 35% 45% 50% 60%

Slide 28

EJEMPLO
1. Anlisis del problema

Entradas: categoria, ventas Salidas: comision Proceso: determinar Comisin

Algoritmia y programacin
Universidad del Valle Slide 29

EJEMPLO
2. 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
Algoritmia y programacin
Universidad del Valle Slide 30

EJEMPLO
public 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

Algoritmia y programacin
Universidad del Valle Slide 31

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
Algoritmia y programacin
Universidad del Valle Slide 32

PROBLEMA
Se dese reforestar un bosque que mide un nmero n de hectreas. Si la superficie del terreno excede a 1000.000m2, entonces se siembra as:
% superficie Tipo de rbol

70% 20% 10%

Pino Oyamel Cedro

Si la superficie del terreno es menor o igual a 1000.000m2 entonces se siembra as:


% superficie Tipo de rbol

50% 30% 20%

Pino Oyamel Cedro

Se desea saber el nmero 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 programacin
Universidad del Valle Slide 33

EJEMPLO
1. Anlisis del problema
Entrada:
Salidas :

n (nmero de hectreas)
cantidad_pinos, cantidad_oyameles, cantidad_cedros

Proceso: hallarCantidades

Algoritmia y programacin
Universidad del Valle Slide 34

EJEMPLO
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); }
Algoritmia y programacin
Universidad del Valle Slide 35

EJEMPLO
1. Disear el algoritmo y escribirlo en pseudocdigo

Inicio
n: entero leer(n) hallarCantidades( n)

Fin

Algoritmia y programacin
Universidad del Valle Slide 36

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

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_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

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;
}

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 programacin
Universidad del Valle Slide 37

EJEMPLO
public 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; }

void especifica que el mtodo no va a devolver ningn valor a quin lo llam, sino que va a realizar alguna operacin e imprimir su resultado dentro del mismo mtodo.

JOptionPane.showMessageDialog(null, cantidad de pinos+ cant_pino+ \n cantidad de pinos+ cant_oyamel+\n cantidad de pinos+ cant_cedro); }
Algoritmia y programacin
Universidad del Valle Slide 38

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
Algoritmia y programacin
Universidad del Valle Slide 39

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 programacin
Universidad del Valle Slide 40

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 mtodo. Estas variables solamente son reconocidas dentro de ese mtodo donde fueron creadas, y su valor se pierde al finalizar la ejecucin del mismo.

Algoritmia y programacin
Universidad del Valle Slide 41

VARIABLES GLOBALES Y LOCALES

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

Algoritmia y programacin
Universidad del Valle Slide 42

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 programacin
Universidad del Valle Slide 43

VARIABLES GLOBALES Y LOCALES


public static double calcularHipotenusa(int a, int b) {

double calculo;
calculo = Math.sqrt((a*a)+(b*b)); return calculo; }

Variable Local del calcularHipotenusa

mtodo

Algoritmia y programacin
Universidad del Valle Slide 44

EJEMPLO

Desarrollemos el ejemplo de la reforestacin, usando variables globales y mtodos que no reciben parmetros

Algoritmia y programacin
Universidad del Valle Slide 45

EJEMPLO
public class Reforestacion{

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

n: Variable Global

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 programacin
Universidad del Valle Slide 46

EJEMPLO
public class Reforestacion{

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

n: Variable Global

final int hectarea=10000;


if ( (n*hectarea) > 1000000){ cant_pino= (((n* hectarea) *0.7)/10)*8;

Mtodo hallarCantidades no recibe parmetros

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 programacin
Universidad del Valle Slide 47

EJEMPLO
public class Reforestacion{

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

n: Variable Global

final int hectarea=10000;


if ( (n*hectarea) > 1000000){ cant_pino= (((n* hectarea) *0.7)/10)*8;

Mtodo hallarCantidades no recibe parmetros

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 programacin
Universidad del Valle Slide 48

Como n es global es reconocida dentro del mtodo hallarCantidades sin haber sido pasada como parmetro

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
Universidad del Valle Slide 49

LENGUAJE

API DE PROGRAMACIN

Algoritmia y Programacin

API
Interfaz de programacin de aplicacin: Provee una coleccin de clases que le permite al programador construir todo tipo de programas de acuerdo a sus necesidades, sin tener que iniciar de cero.

Existen varia APIs de acuerdo a las operaciones que se deseen realizar, normalmente las ms utilizadas (y a usar en este curso) son las de Standar Edition (SE), su documentacin se puede encontrar en:
http://download.oracle.com/javase /7/docs/api/

Ejemplo de la documentacin del API para JSE7


Algoritmia y programacin
Universidad del Valle Slide 51

API

Algoritmia y programacin
Universidad del Valle Slide 52

CLASES

DEL

API

Clase String Clase Math

Algoritmia y programacin
Universidad del Valle Slide 53

CLASE STRING
Entre los tipos de datos primitivos que opera el lenguaje de programacin java se encuentra los tipo carcter (char). En el mundo real existen datos conformado por un conjunto de caracteres, a este tipo de datos Java los considera una cadena de caracteres y los opera mediante la clase String. La clase String permite a travs de sus sus mtodos el manejo de cadenas de caracteres de forma fcil.
Algoritmia y programacin
Universidad del Valle Slide 54

CLASE STRING
Los datos de tipo String puede contener una combinacin de letras, nmeros y smbolos especiales. Ejemplos:

Nombre de estudiante E-mail Direccin Residencia Nombre de Plan Ciudad

Algoritmia y programacin
Universidad del Valle Slide 55

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 = luis@univalle.edu.co ciudad = Cali; telefono= 3345678 El dato debe estar encerrado en doble comilla.

Algoritmia y programacin
Universidad del Valle Slide 56

CLASE STRING
Ejemplo 1:
Capturar los datos Cdigo, Nombres, Apellidos, E-mail, Ciudad y Telfono de un estudiante e imprimirlos (Estudiante.java)

Algoritmia y programacin
Universidad del Valle Slide 57

CLASE STRING
Al momento de declarar la variable, tambin se le puede asignar un valor:

String nombre=Luis, Ciudad = Cali;

El dato debe estar encerrado en doble comilla.

Algoritmia y programacin
Universidad del Valle Slide 58

CLASE STRING
Para ciertas operaciones que se necesitan en los datos de cadena de caracteres, la clase String ofrece un conjunto de mtodos, stos se pueden consultar en la documentacin del lenguaje http://download.oracle.com/javase/7/docs/api/:
Para trminos prcticos se abordar los mtodos ms utilizados:
charAt, valueOf, equals, toLowerCase, indexOf, equalsIgnoreCase, toUpperCase, lastIndexOf Length. trim, contains, substring

Algoritmia y programacin
Universidad del Valle Slide 59

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.

Algoritmia y programacin
Universidad del Valle Slide 60

CLASE STRING
toLowerCase() Convierte a minsculas los caracteres de una cadena.

Ejemplo. String palabra = Hola Mundo; palabra. toLowerCase() retornar la cadena hola mundo.

Algoritmia y programacin
Universidad del Valle Slide 61

CLASE STRING
toUpperCase() Convierte a maysculas los caracteres de una cadena.

Ejemplo. String palabra = Hola Mundo; palabra. toUpperCase () retornar la cadena HOLA MUNDO.

Algoritmia y programacin
Universidad del Valle Slide 62

CLASE STRING
trim() Elimina los espacios a los extremos de la cadena.

Ejemplo. String palabra = Hola Mundo ;

palabra. trim() retornar la cadena Hola Mundo.

Algoritmia y programacin
Universidad del Valle Slide 63

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.

Algoritmia y programacin
Universidad del Valle Slide 64

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.

Algoritmia y programacin
Universidad del Valle Slide 65

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.

Algoritmia y programacin
Universidad del Valle Slide 66

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.

Algoritmia y programacin
Universidad del Valle Slide 67

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.

Algoritmia y programacin
Universidad del Valle Slide 68

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.

Algoritmia y programacin
Universidad del Valle Slide 69

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.

Algoritmia y programacin
Universidad del Valle Slide 70

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.

Algoritmia y programacin
Universidad del Valle Slide 71

CLASE STRING
Ejemplo 2:
Manejo de cadenas (Cadenas.java)

Algoritmia y programacin
Universidad del Valle Slide 72

CLASE STRING
Ejemplo 2:
El resultado ser (Cadenas.java)

Algoritmia y programacin
Universidad del Valle Slide 73

CLASE MATH
La clase Math en el lenguaje de programacin contiene mtodos que permiten realizar operaciones numricas tales como: valor absoluto, rerdonde, nmeros aleatorios, raz cuadrara, funciones trigonomtricas, entre otras . Para trminos prcticos se abordar los mtodos ms utilizados

abs pow

ceil random

cos round

exp sin

floor tan

log sqrt

max PI

min

Algoritmia y programacin
Universidad del Valle Slide 74

CLASE MATH
abs() Retorna el valor absoluto de un numero especificado

Ejemplo.

int num1 = -10;


Math.abs(num1) se obtendr el valor de 10

Algoritmia y programacin
Universidad del Valle Slide 75

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

Algoritmia y programacin
Universidad del Valle Slide 76

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

Algoritmia y programacin
Universidad del Valle Slide 77

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
Algoritmia y programacin
Universidad del Valle Slide 78

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

Algoritmia y programacin
Universidad del Valle Slide 79

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

Algoritmia y programacin
Universidad del Valle Slide 80

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

Algoritmia y programacin
Universidad del Valle Slide 81

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

Algoritmia y programacin
Universidad del Valle Slide 82

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

Algoritmia y programacin
Universidad del Valle Slide 83

CLASE MATH
PI Retorna el valor pi.

Ejemplo.

Math.PI; devolver el valor 3.141592653589793

Algoritmia y programacin
Universidad del Valle Slide 84

CLASE MATH
sin() Retorna el valor del seno trigonomtrico de un ngulo.

Ejemplo.

float angulo=90f;
Math.sin(angulo); devolver el valor 0.8939966636005579

Algoritmia y programacin
Universidad del Valle Slide 85

CLASE MATH
cos() Retorna el valor del coseno trigonomtrico de un ngulo.

Ejemplo.

float angulo=90f;
Math.cos(angulo); devolver el valor -0.4480736161291702

Algoritmia y programacin
Universidad del Valle Slide 86

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

Algoritmia y programacin
Universidad del Valle Slide 87

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

Algoritmia y programacin
Universidad del Valle Slide 88

CLASE MATH
Ejemplo 3:
El resultado ser (operacionesMatematicas.java)

Algoritmia y programacin
Universidad del Valle Slide 89

CLASE MATH
Ejemplo 4:
Se requiere disear un programa en Java que permita calcular la velocidad 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 la direccin noroeste, formando un determinado ngulo con la direccin norte.

Algoritmia y programacin
Universidad del Valle Slide 90

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.

Algoritmia y programacin
Universidad del Valle Slide 91

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)

Algoritmia y programacin
Universidad del Valle Slide 92

CLASE MATH

(AeroPlano.java)

Algoritmia y programacin
Universidad del Valle Slide 93

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.

Algoritmia y programacin
Universidad del Valle Slide 94

EJERCICIOS
Un comerciante se dedica a la venta de sillas. Vende tres tipos de sillas:
Tipo 1 2 3 Precio $5.000 $7.000 $10.000

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


Tipo 1 2 3 Descuento 3% 5% 10%

El resto de sillas se cobran a precio normal. Disee 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.

Algoritmia y programacin
Universidad del Valle Slide 95

GRACIAS

Vous aimerez peut-être aussi