Está en la página 1de 29

Métodos de Tipo VOID

Sesión 7

Curso: Introducción a la Algoritmia


Equipo de Profesores del Curso
Logro de la Unidad de Aprendizaje

Diseña aplicaciones en Java que resuelvan


problemas planteados, utilizando descomposición
en módulos/métodos tipo VOID.
Programación Modular
Programación Modular
Reflexión
• ¿Qué actividades
o secuencias
realiza un
seudocódigo?
Declaración
Lectura
Procesos
ic
id
ip …
Impresión
Programación Modular
Permite construir un programa descomponiéndolo en pequeños
subprogramas o módulos ó métodos.
Se parte de un método principal y se descompone en varios
métodos que son invocados desde el método principal.
Si la tarea asignada a un método es demasiado compleja, éste
deberá descomponerse en otros métodos más pequeños hasta
lograr métodos que hagan tareas relativamente sencillas.

Técnica divide y
vencerás
Descomposición modular de un
programa
actionPerfor
med

procesar borrar

ingresarD calcularImport mostrarResul


atos ePagar tados
Un método tiene que ser llamado o invocado Las tareas asignadas a
por el método principal o por algún otro los métodos pueden ser
método que considere necesario su servicio de entrada, salida,
cálculos, invocación a
o tarea. otros métodos, etc.
Descomposición modular de un
programa
Cuando el subprograma termina su tarea, devuelve el control al
punto donde se hizo la llamada.
Un subprograma puede llamar a su vez a otros subprogramas.

En JAVA los módulos o subprogramas se


denominan métodos, mientras que en el
lenguaje algorítmico se denominan
subalgoritmos
Método

• Un método es un módulo de programa que realiza una tarea


específica. Para ello, el método puede recibir datos de entrada a
través de variables de entrada denominadas parámetros y retornar un
resultado.

Datos recibidos Valor enviado o


método retornado a otro
de otro método.
método.
Variables Locales y Globales
Variables Locales

Se declaran al interior de un método, o de una estructura, la cual


configura su ámbito.
Sólo pueden ser utilizadas dentro del ámbito donde fueron
declaradas.
Se crean al iniciar la ejecución del método y se destruyen al finalizar.
Una variable local se crea vacía, no recibe ninguna inicialización
automática.
Los métodos pueden usar sus propias
variables denominadas variables locales
o variables de uso compartido, comunes
a todos los métodos, denominadas
variables globales
Variables Locales y Globales
Variables Globales

Se declaran dentro del programa, pero en el exterior de todos los


métodos.
Su ámbito es el interior de todo el programa, pueden ser usadas
desde cualquier parte del programa.
Se crea al iniciar la ejecución del programa y se destruye al finalizar.
Una variable global se inicializa automáticamente.

Inicialización:
int, double  0
boolean  false
String  null
Métodos tipo VOID
Es un método que no retorna ningún resultado al punto donde es
invocado.
Se le conoce como método sin valor de retorno.
Pueden recibir datos a través de parámetros.
Tipos:

Métodos tipo VOID sin parámetros

Métodos tipo VOID con parámetros


Métodos tipo VOID sin
parámetros
Estos métodos NO pueden recibir datos de entrada ni retornar
ningún resultado al punto de su invocación.

Etapas al programar con métodos:


1. Definir el método: el método es creado y escrito en alguna parte
del programa.
2. Invocar el método: el método creado debe ser invocado en el
lugar donde se requiera que realice su acción.

método
Métodos tipo VOID sin
parámetros
Definición

Invocación
Métodos tipo VOID con
parámetros
Estos métodos reciben datos a través de parámetros; pero como en
el caso anterior NO pueden retornar ningún resultado al punto de su
invocación.

Datos recibidos
método
de otro método.

Donde p1, p2 y p3 son los parámetros del método


El número de parámetros es variable y depende de las necesidades
del método.
Métodos tipo VOID con
parámetros
Definición PARAMETROS

Invocación VALORES
Ejemplo

variables
globales
invocación

definición
// Declaración de variables globales
double base, altura, área, perimetro
Dados la base y la altura de un rectángulo,
void procesar() { diseñe un programa que determine su área y
ingresarDatos() su perímetro.
efectuarCalculos()  
mostrarResultados()
Considere todas las variables como globales
}
y use los siguientes métodos tipo void.
void ingresarDatos() {  
Leer base, altura ingresarDatos: Ingresa los datos del
} rectángulo

void efectuarCalculos(){ efectuarCalculos: Calcula el área y el


area = base * altura perímetro del rectángulo
perimetro = 2 * (base + altura)
area = 2 (base + altura)
}
perimetro = base * altura
void mostrarResultados(){
imprimir area, perímetro mostrarResultados: Muestra el área y el
} perímetro del rectángulo
void procesar() { void calculoSigno( int num ) {
// Declaración de variables locales if ( num > 0 )
int num Imprimir “Positivo”
else if ( num < 0 )
// Entrada de datos Imprimir “Negativo”
Leer num else
Imprimir “Cero”
// Llamada a métodos void }
calculoValorAbsoluto( num )
calculoSigno( num )
} Diseñe un programa que lea un número
entero y determine:
void calculoValorAbsoluto( int num ) { • El valor absoluto del número
if ( num >= 0) • El signo del número entre: positivo,
Imprimir num negativo o cero
else Declare todas las variables como locales y
Imprimir num * -1 use métodos tipo void diferentes para cada
} uno de los cálculos.
Una tienda vende tres tipos de productos a los precios dados en la siguiente tabla

Producto Precio
P1 S/. 15
P2 S/. 17.5
P3 S/. 20.0

Como oferta, si el cliente adquiere más de 10 unidades del producto, la tienda aplica
un descuento del 15% del importe compra; en caso contrario, sólo descuenta el 7% del
importe compra.
 
Dados el precio del producto y la cantidad de unidades adquiridas, diseñe un
programa que determine el importe de la compra, el importe del descuento y el
importe a pagar.
 
Considere todas las variables como globales y use métodos tipo void.
// Declaración de variables globales
int cantidad, producto
double ic, desc , ip

void procesar () {
// Entrada de datos void calculoDesc( ) {
leerProducto( )
leerCantidad( ) if ( cantidad > 10 )
// Llamada a métodos desc = 0.15 * ic
calculoIC( ) else
calculoDesc( ) desc = 0.07 * ic
calculoIP( )
}
salida()
}
void calculoIP( ){
void calculoIC() { ip = ic - desc
switch(producto) { }
case 0: ic = 15 * cantidad break
case 1: ic = 17.5 * cantidad break void leerProducto() {
default: ic = 20 * cantidad
leer producto
}
} }
void leerCantidad() {
void salida() { leer cantidad
Imprimir ic, desc, ip }
}
Un supermercado vende yogurt en botellas de un litro a los precios dados en la
siguiente tabla:
Marca Precio

Laive S/. 3.90


Gloria S/. 3.80
Pura Vida S/. 4.20
Como oferta, el supermercado ofrece un descuento igual a un porcentaje del importe
de la compra de acuerdo a la siguiente tabla:

Cantidad Adquirida Descuento

<5 10%

>= 5 12 %

Dadas la marca del yogurt y la cantidad de botellas adquiridas, diseñe un algoritmo


que determine el importe de la compra, el importe del descuento y el importe a pagar.
Considere todas las variables como globales y use métodos tipo void.
// Declaración de variables globales
int marca, cantidad
double ic, desc, ip

void procesar () { void calculoDesc( ) {


// Entrada de datos
leerCantidad( )
leerMarca( ) if ( cantidad >= 5)
// Llamada a métodos desc = 0.12 * ic
calculoImporteCompra( ) else
calculoDesc( ) desc = 0.10 * ic
calculoImportePagar( ) }
salida()
}
void calculoImportePagar( ){
void calculoImporteCompra() {
ip = ic - desc
switch(marca) { }
case 0: ic= 3.90 * cantidad break
case 1: ic= 3.80 * cantidad break void leerMarca() {
default: ic= 4.20 * cantidad marca = leer marca
} }
}
void leerCantidad() {
void salida(){
cantidad = leer cantidad
Imprimir ic, desc, ip }
}
El sueldo bruto de los empleados de una empresa se obtiene multiplicando la cantidad
de horas trabajadas por la tarifa horaria obtenida de la siguiente tabla:

Categoría del empleado Tarifa x


hora
E1 S/. 27.5
E2 S/. 25
E3 S/. 23.5
Por ley, todo empleado está sujeto a un porcentaje de descuento del sueldo bruto de
acuerdo a la siguiente tabla:

Sueldo Bruto Descuento

> 3500 15% del sueldo bruto

<=3500 11% del sueldo bruto

El sueldo neto se obtiene restando el sueldo bruto menos el descuento.


// Declaración de variables globales
int categoria
double horas, desc, sBruto, sNeto

void procesar () { void calculoDesc( ) {


// Entrada de datos
getCategoria( )
getHoras( ) if ( sBruto > 3500 )
// Llamada a métodos desc = 0.15 * sBruto
calculoSueldoBruto( ) else
calculoDesc( ) desc = 0.11 * sBruto
calculoSueldoNeto( ) }
salida()
}
void calculoSueldoNeto( ){
void calculoSueldoBruto() {
sNeto = sBruto - desc
switch(categoria) { }
case 0: sBruto = 27.5 * horas break
case 1: sBruto = 25 * horas break void getCategoria() {
default: sBruto = 23.5 * horas categoria = leer categoria
} }
}
void getHoras() {
void salida(){
horas = leer horas
Imprimir sBruto, desc, sNeto }
}
SE
ACABÓ!!!!!

También podría gustarte