INSTITUTO SUPERIOR KHIPU CARRERA PROFESIONAL DE COMPUTACION
Aplicaciones con Software Libre Guía de aplicación N° 5 Estructuras de control secuencial y Métodos Predefinidos I. FECHA : 18 de Julio del 2013 II. COMPETENCIAS A CONSEGUIR: • Conocer las estructura de control secuencial y utilizar métodos predefinidos en Java. • Identificar los tipos de datos en Java.
III. Fundamento Teórico: En cuanto a las funciones matemáticas en Java, las funciones disponibles vienen definidas en la clase Math. Hay muchas funciones disponibles. Destacar que las funciones matemáticas, al pertenecer a la clase Math, se invocan siempre de la siguiente manera: Math.funcion(argumentos). Las funciones relacionadas con ángulos (atan, cos, sin, tan, etc.) trabajan en radianes. Por tanto, para operar con grados, tendremos que realizar la conversión oportuna. La función random,permite generar números aleatorios en el rango ]0,1[. Por tanto el 0 y el 1 están excluidos. La función exponenciación neperiana o exponenciación de e, matemáticamente significa e x, que en Java sería Math.exp(x),donde x es un número real y la base es la constante neperiana e = 2.7172... La función logaritmo neperiano, matemáticamente significa Ln x, que en Java correspondería a la expresión Math.log(x). La función potencia, matemáticamente significa baseexponente, que en Java se convertiría en Math.pow(base,exponente),donde base y exponente son números reales, por lo tanto, si queremos obtener la raíz cubica de 2,la instrucción sería Math.pow(2,0.333). No hay una función directa para obtener la parte entera de un número real, pero para estos casos, se puede obtener de la siguiente manera:1 int x = (int)(8.7); --> x = 8; int x = (int)(-8.7); --> x = -8; Funciones predefinidas por medio de la Librería Math en Java . Funciones Matemáticas Significado
Ejemplo de uso
Resultado
abs
Valor absoluto
int x = Math.abs(2.3);
x = 2;
atan
Arcotangente
double x = Math.atan(1);
x = 0.78539816339744;
sin
Seno
double x = Math.sin(0.5);
x = 0.4794255386042;
cos
Coseno
double x = Math.cos(0.5);
x = 0.87758256189037;
tan
Tangente
double x = Math.tan(0.5);
x = 0.54630248984379;
exp
Exponenciación neperiana
double x = Math.exp(1);
x = 2.71828182845904;
1 http://www.aprenderaprogramar.com/index.php?option=com_attachments&task=download&id=183 Ing. Godofredo Poccori Umeres gpoccori@khipu.edu.pe 1/9
INSTITUTO SUPERIOR KHIPU CARRERA PROFESIONAL DE COMPUTACION
Aplicaciones con Software Libre log
Logaritmo neperiano
double x = Math.log(2.7172);
x = 0.99960193833500;
pow
Potencia
double x = Math.pow(2.3);
x = 8.0;
round
Redondeo
double x = Math.round(2.5);
x = 3;
random
Número aleatorio
double x = Math.ramdom();
x = 0.20614522323378;
Ejemplo para utilizar los métodos predefinidos: • int A = 2; • int B = 3; • int Resultado = Math.Pow(A,B); Resultado almacenará el valor de 8, porque dos elevado al cubo es 8. Ejercicios de Aplicación: Ejercicio N° 1.-Escribir el algoritmo y programa que me permita hallar el área de un triángulo, conocido el Angulo y los dos lados que forman este Angulo.
1.
ANALIZAR EL PROBLEMA 1.1. Entender el Problema. Si se conoce que:
Area=(a*b*senoC)/2 A=
Datos de entrada
Ing. Godofredo Poccori Umeres
Proceso
gpoccori@khipu.edu.pe
Resultado
2/9
INSTITUTO SUPERIOR KHIPU CARRERA PROFESIONAL DE COMPUTACION
Aplicaciones con Software Libre Variables Ejemplo1 Ejemplo2
a 5 15
b 6 25
Angulo 90 30
Área 15u2 37.5u2
6*5*seno(90°) 15*25*seno(30°)
1.2. Modelo Area=
a∗b∗Seno (30 ° ) 2
1.3. Especificación del algoritmo.
1.3.1. Diccionario de variables - Variables de entrada.a: representa el primer lado del triángulo que forma un ángulo del triángulo, tipo Entero b: representa el segundo lado del triángulo que forma un ángulo del triángulo, tipo Entero - Variables de proceso.ninguno - Variables de salida.Area: representa el área del triángulo en función a dos lados y un ángulo, tipo Real. 1.3.2. Pre Condición
{|
|}
1.3.3 Acción que realiza el algoritmo: {Determina el área del triángulo, conocido dos lados y el ángulo que forman estos.} 1.3.4. Post Condición {| Area=(a*b*senoC)/2| }
2.
DISEÑAR EL ALGORITMO.-
2.1. Descripción del Algoritmo: Inicio {Calcular el área del triángulo} {Declarar e inicializar variables} Declarar a, b, angulo tipo Entero Declara Area tipo Real
// INSTRUCCIÓN 1 // INSTRUCCIÓN 2
{Leer datos} Escribir “ingrese el lado a:” Leer (a) Escribir “ingrese el lado b:” Leer (b) Escribir “ingrese el angulo”
// INSTRUCCIÓN 3 // INSTRUCCIÓN 4 // INSTRUCCIÓN 5 // INSTRUCCIÓN 6 // INSTRUCCIÓN 7
Ing. Godofredo Poccori Umeres
gpoccori@khipu.edu.pe
3/9
INSTITUTO SUPERIOR KHIPU CARRERA PROFESIONAL DE COMPUTACION
Aplicaciones con Software Libre Leer (angulo)
// INSTRUCCIÓN 8
{Calcular la suma}
Area =(a*b*seno(angulo))/2
// INSTRUCCIÓN 9
{Mostrar el resultado} Escribir “El área del triángulo es: ” , Area
// INSTRUCCIÓN 10
Fin.
2.2. Verificación Manual del Algoritmo: N°
Instrucciones
1
Declarar
2
Escribir “ingrese el lado a:”
3
Leer (a)
4
Escribir “ingrese el lado b”
5
Leer (b)
6
Escribir “ingrese el angulo”
7
Leer (angulo)
8
Area
9
3.
a
b
angulo
Area
?
?
?
?
Resultado Consola Ingrese el lado a:
5 Ingrese el lado b: 6 90 15 El area es 15
=(a*b*seno(angulo))/2 Escribir “La área es: ” , Area
Traducir el algoritmo en el lenguaje de Programación Java.-
package appareas; import java.util.Scanner; /** * @author Ing. Godofredo Poccori Umeres */ public class AppAreaTriangulo { public static void main(String[] args) Ing. Godofredo Poccori Umeres
gpoccori@khipu.edu.pe
4/9
INSTITUTO SUPERIOR KHIPU CARRERA PROFESIONAL DE COMPUTACION
Aplicaciones con Software Libre
{
}
//Declarar variables int a,b,angulo; double Area; //Ingresar datos Scanner dato=new Scanner(System.in); System.out.print("Ingrese el lado a: "); a=dato.nextInt(); System.out.print("Ingrese el lado b: "); b=dato.nextInt(); System.out.print("Ingrese el angulo: "); angulo=dato.nextInt(); //Calcular Area Area=(a*b*(Math.sin(angulo)))/2; //Escribri resultados System.out.println("El area del triangulo en radianes es "+Area);
}
Ejercicio N° 2.-Escribir el algoritmo y programa que me permita hallar Las raíces de una ecuación de segundo grado usando la fórmula de BASKARA.
1.
ANALIZAR EL PROBLEMA
1.1. Entender el Problema.
Si se conoce que el método de Baskara tiene la siguiente expresión:
Ing. Godofredo Poccori Umeres
gpoccori@khipu.edu.pe
5/9
INSTITUTO SUPERIOR KHIPU CARRERA PROFESIONAL DE COMPUTACION
Aplicaciones con Software Libre
Las raíces de la ecuación son Datos de entrada Variables A B Ejemplo1 1 5
1.2.
X1 =
− B + B 2 − 4 AC 2A
X2 =
− B − B 2 − 4 AC 2A
Proceso C 6
D 5^2 – 4 *1*6
Resultado E 2*1
X1 X1 = -2
X2 X2 = -3
Modelo: DB^2 – 4 *A*C E 2*A X1 = (-b+ raiz2(D))/E X2 = (-b- raiz2(D))/E
1.3. Especificación del algoritmo.
1.3.1. Diccionario de variables - Variables de entrada.A: representa un coeficiente de la ecuación cuadrática, tipo Real B: representa un coeficiente de la ecuación cuadrática, tipo Real C: representa un coeficiente de la ecuación cuadrática, tipo Real - Variables de proceso.D: almacena el valor a B2 – 4 *A*C, tipo Real. E: almacena el valor de 2*A, tipo Real. - Variables de salida.X1: representa una raíz de la ecuación, tipo Real. X2: representa otra raíz de la ecuación, tipo Real. 1.3.2. Pre Condición.{| B^2 + 4*a*c >= 0|} 1.3.3 Acción que realiza el algoritmo: Resolver una ecuación de segundo grado.
2.
DISEÑAR EL ALGORITMO.-
2.1. Descripción del Algoritmo: Inicio {Calcular raíces de ecuación cuadrática} {declarar e inicializar variables} declarar A,B,C,D,E,X1,X2, {Leer datos}
Ing. Godofredo Poccori Umeres
gpoccori@khipu.edu.pe
// INSTRUCCIÓN 0
6/9
INSTITUTO SUPERIOR KHIPU CARRERA PROFESIONAL DE COMPUTACION
Aplicaciones con Software Libre Escribir “ingrese el valor del coeficiente A” Leer A Escribir “ingrese el valor del coeficiente B” Leer B Escribir “ingrese el valor del coeficiente C” Leer C {Calcular las raíces} DB^2 – 4 *A*C E 2*A X1 = (-b+ raiz2(D))/E X2 = (-b- raiz2(D))/E {Escribir la solución} Escribir X1, X2 Fin
3.
TRADUCIR EL ALGORITMO EN EL LENGUAJE DE PROGRAMACIÓN JAVA.-
Ejercicio Complementario.-Elaborar un algoritmo que permita determinar la altura de un edificio, sabiendo que la luz solar proyecta por la mañana una sombra formando un triángulo rectángulo de 45° con la superficie terrestre y 30° por la tarde, tal como se muestra en la figura.
IV.- Actividad propuesta en clase: 4.1 Elaborar un algoritmo que permita hallar el área, el perímetro y la diagonal de un rectángulo, donde
Ing. Godofredo Poccori Umeres
gpoccori@khipu.edu.pe
7/9
INSTITUTO SUPERIOR KHIPU CARRERA PROFESIONAL DE COMPUTACION
Aplicaciones con Software Libre a = largo, b = ancho.
Área = a * b Perímetro = 2a + 2b Diagonal =
V.- Actividades complementarias para la casa: 5.1.-Escribir el algoritmo y programa que me permita calcular la siguiente expresión E, ingresado los valores de a y b. b
E=
e log (a ) +√ a b a
5.2.-Escribir el algoritmo y programa que me permita hallar el valor absoluto de x/y representado en la expresión M.
∣ xy∣+ x
M=
5.3.- Elaborar un algoritmo que permita ingresar un número de cuatro cifras o dígitos y que sume sus cifras. 5.4.- Elaborar un algoritmo para leer las longitudes de los tres lados de un triángulo (L1, L2, L3) y calcular el área del mismo de acuerdo con la siguiente fórmula: area = SP(SP- L1)(SP - L2)(SP - L3) donde:
SP= L1 + L2+ L3 2 • ENTREGAR EL DESARROLLO DE ACTIVIDADES, PARA CADA ACTIVIDAD EL ANÁLISIS, DISEÑO EN HOJAS DE EXAMEN, A LAPICERO Y CODIFICACIÓN impreso mostrando la pantalla de ejecución. Linkografia:
http://aprenderaprogramar.com/index.php?option=com_content&view=category&id=58&Itemid=180
Ing. Godofredo Poccori Umeres
gpoccori@khipu.edu.pe
8/9
INSTITUTO SUPERIOR KHIPU CARRERA PROFESIONAL DE COMPUTACION
Aplicaciones con Software Libre Ficha de calificación GUIA DE APLICACIÓN Nº 5 Estructuras de control secuencial y métodos predefinidos Nombre: …………………………………………………………………………………Código: …………………………………. Criterio
Puntaje
Actitudinal
20
Procedimental Ejercicio 1 y 2 de la guía
5
Actividad en clase 4.1
5
Actividad 5.1
5
Actividad 5.2
5 Total
Calificación Obtenida por el estudiante
20
Firma de Profesor ………………………………………….
Ing. Godofredo Poccori Umeres
gpoccori@khipu.edu.pe
9/9