Introducción Programación Modular y a Métodos: Consideremos el

Anuncio
Introducción Programación Modular y a Métodos:
Consideremos el siguiente ejercicio:
Ejercicio: Escriba una aplicación que requiera un número real como entrada y que
muestre el producto del número y tres.
Algoritmo (usando pseudocódigo):
Entrada: Un número real cualquiera.
Propósito: Triplicar el número entrado.
Salida:
El triple del número entrado.
import java.util.*;
clase Triplica {//comienza la clase Triplica.
método void main (String[] args) {//módulo principal o conductor
mensajeInicial();//se invoca el método mensajeInicial sin argumentos
double numero ← entrada();//
numero ← triplica (numero);//se invoca el método triplica con un argumento
salida (numero);
}//termina método main
método void mensajeInicial(){//Método sin parámetros.
//Muestra un mensaje explicando el propósito de la aplicación.
System.out.println("Esta aplicacion solicita un numero real cualquiera,lo
multiplica por 3 y muestra el resultado.");
}//termina método mensajeInicial
método double entrada(){
//Solicita el número a ser triplicado.
Scanner teclado ← new Scanner(System.in);
System.out.print("Entre el numero a ser triplicado: ");
double numero ← teclado.nextDouble();
return numero;
}//termina método entrada
método double triplica(double numero){
//Triplica el número solicitado.
return 3*numero;
}//termina metodo triplica
método void salida(double numero){
System.out.println("El triple del numero entrado es: "+ numero);
}//termina el método salida
}//termina clase salida
Copyright © CARIMOBITS
1
Código correspondiente:
/*
Programa
resultado.
que solicita un número real cualquier, lo triplica y muestra el
Archivo: Triplica.java
*/
import java.util.*;
public class Triplica {//comienza la clase Triplica.
public static void main (String[] args) {//Módulo principal conductor.
mensajeInicial();
double numero = entrada();
numero = triplica(numero);
salida (numero);
}//termina método main
public static void mensajeInicial(){//Método sin parámetros.
//Muestra un mensaje explicando el propósito de la aplicación.
System.out.println("Esta aplicacion solicita un numero real cualquiera,lo
multiplica por 3 y muestra el resultado.");
System.out.println();
}//termina método mensajeInicial
public static double entrada(){
//Solicita el número a ser triplicado.
Scanner teclado;
teclado = new Scanner(System.in);
System.out.print("Entre el numero a ser triplicado: ");
double numero = teclado.nextDouble();
return numero;
}//termina método entrada
public static double triplica(double numero){//método con un parámetro
//Triplica el número solicitado.
return 3*numero;
}//termina metodo triplica
public static void salida(double numero){
System.out.println("El triple del numero entrado es: "+ numero);
}//termina el metodo salida
}//termina clase Triplica
Copyright © CARIMOBITS
2
Los métodos se pueden utilizar para dividir un programa complejo en partes
más pequeñas y manejables. En vez de codificar solamente un método que contenga
todas las instrucciones necesarias para resolver un problema, se puede dividir el
programa en varios métodos para que cada uno de ellos resuelva una parte específica
del problema. Luego, los métodos se ejecutarán en el orden correspondiente. Este tipo
de estrategia de programación se conoce como “divide y conquistarás” (“divide
and conquer”). En general, un método es una colección de instrucciones que llevan a
cabo tareas específicas en la solución de un problema.
Otra razón para utilizar métodos como parte de un programa es que simplifican
la programación en el caso de que una tarea particular se deba llevar a cabo en varias
partes del programa. En vez de repetir las mismas líneas de código una y otra vez cada
vez que se necesita llevar a cabo esa tarea, simplemente se invoca el método
correspondiente tantas veces como sea necesario.
Un método puede tener por nombre cualquier identificador válido distinto de los
ya utilizados en la clase en que está definido.
En esta parte del curso estudiaremos dos categorías generales de métodos:
métodos void y métodos que devuelve un valor. Un método void es uno que
solamente realiza una tarea y luego, termina. Un ejemplo de un método void es
System.out.println. En la instrucción
System.out.println("Programa para calcular y mostrar el perimetro y area de un
cuadrado.");
muestra una línea de salida en pantalla y luego termina.
Un método que devuelve un valor no solamente realiza una tarea; además
devuelve un valor al código que lo invoca. Un ejemplo de un método que devuelve un
valor es teclado.nextDouble(). En la instrucción
anchura = teclado.nextDouble();
devuelve un valor el cual se le asigna a la variable anchura.
En la declaración de un método que devuelve un valor se indica el tipo de valor
que devuelve y se incluye entre paréntesis, luego del nombre de método, de ser
necesario, una lista formal de parámetros de entrada separados por comas precedidos
por sus tipos correspondientes. La forma general de una declaración de método es:
tipo_del valor_vuelto nombre_del_método( lista-formal-de-parámetros ) {
cuerpo_del_método;
}
tipo_del valor_vuelto nombre_del_método( ) {//sin parámetros
cuerpo_del_método;
Copyright © CARIMOBITS
3
}
Por ejemplo el siguiente método devuelve el perímetro de un cuadrado de lado
con longitud a:
public static double perimetroCuadrado(double a) {
double perimetro = 4 * a;
return perimetro;
}
En el caso de que no se desee devolver ningún valor se deberá indicar como tipo
la palabra reservada void. Así mismo, si no se incluyen parámetros, la declaración del
método debería incluir un par de paréntesis vacíos:
public static void mensajeInicial() {
//Muestra el propósito de la aplicación.
System.out.println("Esta aplicación determina y muestra las soluciones
reales de una ecuación cuadrática con coeficientes
reales.");
}
Para crear un método primero se tiene que escribir su definición, la cual
consiste de dos partes: un encabezamiento y un cuerpo. El encabezamiento del
método, que es lo primero que aparece en la definción del método, lista varias cosas
importantes sobre el método, incluyendo su nombre. El cuerpo del método es un
conjunto de instrucciones que se correrán cuando se ejecute el método. Las
instrucciones se encierran entre llaves.
Partes de un método:
Consideremos el siguiente encabezamiento:
Indentificadores Tipo
Nombre Paréntesis
del
del
del
método
retorno método
public static void mensajeInicial ()
Explicación del las partes:
●
Identificadores del método: Las palabras reservadas public y static se
llaman modificadores. Las palabra public significa que el método está
disponible públicamente a código fuera de la clase. La palabra static significa
que el método pertenece a la clase y no a un objeto específico.
●
Tipo del retorno: Cuando la palabra void aparece en esa parte del
encabezamiento significa que el método no devuelve un valor. Si devuelve un
valor, entonces se debe indicar el tipo de datos del valor que el método devuelve.
Copyright © CARIMOBITS
4
●
Nombre del método: El nombre del método sigue las reglas de un
identificador en Java. El nombre del método sebe sugerir su uso o propósito;
esto es, debe estar autodocumentado.
●
Paréntesis: Los paréntesis son obligatorios y se puede incluir cero o varios
parámetros. Se deben incluir parámetros si el método va a recibir argumentos.
Ejercicios: Escriba cada uno de los siguientes algoritmos en pseudocódigo y usando
programación modular; luego, codifíquelos. Cada aplicación debe contener, entre otros,
un método para entrada de datos, otro para procesamiento de los datos y un método de
salida de resultados.
1. Algoritmo para convertir una temperatura entrada en la escala Celsio a la
equivalente en la escala Fahrenheit. Usa la fórmula F = (9/5)C + 32.
ENTRADA:
PROPÓSITO:
SALIDA:
Temperatura en grados Celsio.
Convertir la temperatura a grados
Fahrenheit.
Temperatura en grados Fahrenheit.
Pasos:
1. Entrar la temperatura en grados Celsio.
1.1 Celsio← cantidad de grados en la escala Celsio
2.
Convertir la temperatura en grados Fahrenheit.
2.1 Fahrenheit ← (9/5) x Celsio + 32
3.
Mostrar resultados
3.1 Temperatura en grados Fahrenheit.
2. Algoritmo para calcular el perímetro y área de un cuadrado, dado un lado
de él.
ENTRADA:
PROPÓSITO:
SALIDA:
La longitud del lado del cuadrado.
Calcular el perímetro y área del cuadrado.
El perímetro y área del cuadrado.
Pasos:
1. Entrar Longitud.
2. Calcular el perímetro y área del cuadrado.
2.1 Perímetro ← 4 x Longitud.
2.2 Área ← Longitud x Longitud
3. Mostrar resultados
3.1 Perímetro
3.2 Área
Copyright © CARIMOBITS
5
3. Algoritmo para calcular las soluciones reales de una ecuación de la forma
Ax2 + Bx + C = 0, donde A, B y C son
números reales, con A ≠ 0. Si la
ecuación no tiene soluciones reales, lo indica. Hace uso de la fórmula
cuadrática.
ENTRADA:
PROPÓSITO:
SALIDA:
Los valores de A, B y C.
Calcular las soluciones reales de una ecuación
cuadrática con coeficientes reales.
Las soluciones reales de una ecuación cuadrática.
Pasos:
1. Entrar los valores de A, B y C.
2. Calcular el valor de Discriminante.
2.1 Discriminante  B 2−4AC
3. Si
entonces,
−B Discriminante
3.1 Solución1 ←
2A
−B− Discriminante
3.2 Solución2 ←
2A
3.3 Mostrar Solución1
3.4 Mostrar Solución2
Discriminante ≥0
De otra forma,
3.5 Indicar que no hay soluciones reales.
4. Escriba un algoritmo para que determine y muestre el resultado de la
suma 1 + 2 + 3 + ... + 500.
ENTRADA:
PROPÓSITO:
SALIDA:
Los números enteros consecutivos del 1 al 500.
Determinar la suma de los números considerados.
La suma de los números considerados.
Pasos:
1. Iniciar Suma y Próximo.
1.1 Suma ← 0
1.2 Próximo ← 1
2. Mientras Próximo≤500
2.1 Suma ←Suma + Próximo
2.2 Próximo ← Próximo + 1
3. Mostrar resultados.
3.1 Suma
Copyright © CARIMOBITS
6
Descargar