UNIVERSIDAD NACIONAL INGENIERIA
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA Curso: MA713Q Programación Digital
EXAMEN PARCIAL Nombre Código Docente
Ing. Mauricio Galvez Legua
1. Desarrollar un programa que solicite un número entero mayor a cero y displaye en pantalla (4 puntos) todos los números primos existentes hasta dicho número. Solución: Para este problema, se debe tener en cuenta que el 1 no es considerado número primo. import java.util.Scanner; java.util.Scanner; public class P01{ public static void main(String[] args){ int numero, primo, i,j; Scanner tecla = new Scanner(System. Scanner(System. in); do{ System.out.print("Ingrese .print("Ingrese un número positivo mayor a cero: " ); numero = tecla.nextInt(); }while(numero<=0); if (numero==1) System.out.print("No .print("No hay números primos" ); else{ for(j=2;j<=numero; (j=2;j<=numero; j++){ i=2; primo=0; while (primo==0 && i
} }
1
Ing. Mauricio Galvez Legua
UNIVERSIDAD NACIONAL INGENIERIA
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA Curso: MA713Q Programación Digital
2. Elaborar un programa que calcule la longitud del arco de una cicloide. El programa debe solicitar el ingreso del valor de b (entero mayor a cero). Las ecuaciones paramétricas de dicha figura son: (5 puntos) x = b (t – sin(t)) y = b (1 – cos(t))
Con el fin de comprobar sus resultados, imprima junto al valor calculado por su programa, el valor teórico de dicha longitud que es igual a 8b.
2
Ing. Mauricio Galvez Legua
UNIVERSIDAD NACIONAL INGENIERIA
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA Curso: MA713Q Programación Digital
3. Elaborar un programa que calcule con 3 decimales de aproximación, el tamaño máximo de la varilla que puede pasar por la esquina, visto en forma bidimensional. Asumir que el grosor de la varilla es despreciable. El programa debe solicitar el ingreso por teclado de los valores de a y b (ambos deben ser números enteros mayor que cero). (6 puntos) El programa debe displayar: Longitud máxima de la varilla. Angulo al cual se produce los tres “toques” de la varilla con las paredes.
Solución: import java.util.Scanner; public class P01 { public static void main(String[] args) { Scanner tecla = new Scanner(System. in); int i, angulo=0; double a, b, rad, h1=0, h2=0, hmax; do{
System.out.print("Ingrese lado a, entero mayor a cero: " ); a = tecla.nextDouble(); }while(a<=0); do{
System.out.print("Ingrese lado b, entero mayor a cero: " ); b = tecla.nextDouble(); }while(b<=0); //Calculo del hmax rad = Math. toRadians(0.5); h1=b/Math.cos(rad);
3
Ing. Mauricio Galvez Legua
UNIVERSIDAD NACIONAL INGENIERIA
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA Curso: MA713Q Programación Digital
h2=a/Math.sin(rad); hmax=h1+h2; System.out.println("El valor asumido de hmax es: " + hmax); for(i=1;i<90;i++){ rad = Math. toRadians(i); h1=b/Math.cos(rad); h2=a/Math.sin(rad);
System.out.println((double)Math.round ((h1+h2)*1000)/1000 + "\t" + i); if ((h1+h2)
} System.out.println("La longitud máxima de la escalera es: " + (double)Math.round (hmax*1000)/1000 + " y se da en el ángulo " + angulo); } }
4
Ing. Mauricio Galvez Legua
UNIVERSIDAD NACIONAL INGENIERIA
FACULTAD DE INGENIERIA ELECTRICA Y ELECTRÓNICA Curso: MA713Q Programación Digital
4. Calcular el área de un astroide cuya ecuación es: 2⁄3 + 2⁄3 = 2⁄3 El programa debe solicitar los valores de a (entero mayor a cero) y el número de pasos (entero mayor a cero). Como una forma de verificar que su programa funciona bien, junto con el resultado calculado, displaye el área teórica del astroide. (5 puntos) 3
= ( )2 8
Solución: import java.util.Scanner; public class P02{ public static void main(String[] args){ Scanner sc = new Scanner(System. in); int i, a, pasos; double base, area=0, x, y, y1, y2; do{ System.out.print("Ingrese el valor de a (entero mayor a 0): " ); a = sc.nextInt(); }while(a<=0); do{ System.out.print("Ingrese el número de pasos (entero mayor a 0): " ); pasos = sc.nextInt(); }while(pasos<=0);
base=(double)(a)/pasos; System.out.println("La base es: " + base); x=0; for(i=1; i<=pasos; i=i+1){ y1=Math. pow (Math.cbrt(a),2); y2=Math. pow (Math.cbrt(x),2); y=Math. pow (Math.sqrt(y1-y2),3); area=y*base+area; x=x+base; } System.out.println("El area calculada es: " + 4*area); System.out.println("El area exacta es: " + (3*Math. PI*Math. pow (a,2)/8)); } }
5
Ing. Mauricio Galvez Legua