Download Practica0

Document related concepts
no text concepts found
Transcript
Facultad de Ciencias Exactas, Ingeniería y Agrimensura
Departamento de Sistemas e Informática
Escuela de Electrónica
Informática II
Práctica Nº 0 – Conceptos básicos lenguaje Java
Resumen:
Esta práctica está diseñada para que el estudiante comience a manipular las estructuras de
control, tipos básicos de datos y operadores que provee el lenguaje Java, editando,
compilando y ejecutando programas en lenguaje Java con el entorno Eclipse.
Problema 1:
Escriba código Java para calcular y mostrar por pantalla el (/los) valor (/es) de x (real),
solución de la siguiente ecuación cuadrática (polinomio de segundo grado):
ax2 + bx + c = 0,
donde, los coeficientes a, b y c se suponen enteros con valores en el rango de –100 a 100.
Recuerde que para resolver una ecuación cuadrática se deben usar las fórmulas:
 b 
raiz1
 b 
raiz 2 
b 2  4ac

2a
b 2  4ac

2a
Ejemplo:
x  1, b  2, c  8
raiz1  2.0 y raiz2  4.0
Hay ciertos casos a tener en cuenta:

Si a y b son ambos 0, no hay solución (caso degenerado).
Ejemplo:
a  0, b  0, c  8
No hay solución (caso degenerado)
 Si a es 0 y b distinto de 0, la ecuación es lineal, y tiene una única solución.
Ejemplo:
a  0, b  2, c  8
x  4, la ecuación es lineal
 Si el término b2 – 4ac (el discriminante) es negativo, entonces no tiene soluciones reales
Ejemplo:
a  1, b  2, c  8
discriminante negativo, no hay soluciones reales
 Si el discriminante es 0, entonces hay dos soluciones idénticas.
Ejemplo:
1/4
a  1, b  4, c  4
x  2, (discriminante cero, única solución)
Problema 2:
a) Escriba código Java para calcular el factorial de un número entero n, usando la sentencia
while:
n! = n.(n-1).(n-2). … .2.1
Tenga en cuenta que el factorial de un número entero cuyo valor puede sobrepasar el
rango de los enteros, si n es muy grande.
b) Escriba código Java para hallar la potencia n (entera) de 2 sin utilizar la función pow de
java.lang. Usar la sentencia for.
c) Escriba código Java para calcular el polinomio de orden n (entero) de Hermite, calculado
para un número real x dado.
Los primeros seis polinomios de Hermite son los siguientes:
H0(x)=1
H1(x)=2x
H2(x)=4x2-2
H3(x)=8x3-12x
H4(x)=16x4-48x2+12
H5(x)=32x5-160x3+120x
Todos los polinomios de Hermite de orden n>2 pueden expresarse en términos de los
dos primeros polinomios H0(x) y H1(x), de orden cero y uno respectivamente,
mediante la siguiente relación de recurrencia.
Problema 3: (*)
Dadas n mediciones,  x1, x2 ,
, xn  de una misma magnitud x, se define el promedio como:
 n ; decimos que el promedio es la mejor estimación de x. Por otro lado, se define
1


la desviación estándar como:  
 x  x  ; decimos que esta es una forma de

n



x
xi
_
x
2
i
caracterizar la confiabilidad de las mediciones.
a) Escriba código Java para calcular el valor promedio de mediciones contenidas en un
arreglo de variables tipo double.
b) Escriba código Java para calcular la desviación estándar de mediciones contenidas en
un arreglo de variables tipo double.
Problema 4:
Consideremos n pares de mediciones ( x1 , y1 ),( x2 , y 2 ), ,( xn , y n ) . Si suponemos que las
cantidades están relacionadas linealmente, es decir mediante una relación del tipo
2/4
y  mx  h , entonces puede demostrarse que la mejor estimación de la pendiente m y de
la ordenada al origen h, vienen dadas por las ecuaciones:
  
n
m
n
xi 2 
2
xi
 x .y    x  y
i
i
i
i

 x  y   x  x .y 
h
2
i
i
i
i
i

Escriba código Java tal que, dado dos arreglos de variables tipo double, calcule la
pendiente y la ordenada al origen.
Problema 5:
Escriba código Java para determinar si un String s es un palíndromo (es decir, se lee igual
en ambos sentidos). Por ejemplo: “abcba”, es palíndromo.
Problema 6:
a) Escriba código Java para ordenar un arreglo de enteros en orden ascendente, usando el
método de Selección. Dicho método consiste en encontrar el elemento más chico del
arreglo e intercambiarlo con el primer elemento; luego se encuentra el segundo más
chico y se lo intercambia con el segundo elemento; etc.
b) Escriba código Java para buscar un elemento en un arreglo de enteros.
c) Escriba código Java para buscar un elemento en un arreglo de enteros, a través de una
búsqueda lineal.
Problema 7:
a) Escribir código Java para calcular la traza de una matriz cuadrada de double. Se
denomina traza de una matriz cuadrada a la suma de los elementos de su diagonal
principal.
b) Escribir código Java para determinar la matriz transpuesta de otra (conteniendo números
de tipo double). Una matriz transpuesta de otra, es aquella que tiene los mismos
elementos pero dispuestos en forma distinta. Las columnas de la matriz original se
transforman en filas de la matriz transpuesta.
c) Escribir código Java para calcular el producto de dos matrices cuadradas de dimensión
n.
3/4
Solución del problema 3:
public class Problema3 {
public static void main(String[] args) {
//Código a ejecutar
//Problema 3
//Parte a) Media de una muestra, en este caso la muestra es arr
double[] arr={37.5, 12, -3.67, 4};
double promedio = 0;
int tamaño=arr.length;
for (int j=0; j<tamaño ; j++)
promedio += arr[j];
System.out.println("La media del vector arr es
"+promedio/tamaño);
}
}
4/4