Você está na página 1de 5

UNIVERSIDAD NACIONAL INGENIERIA

FACULTAD DE INGENIERIA ELECTRICA Y ELECTRNICA


Curso: MA713Q Programacin Digital

EXAMEN PARCIAL
Nombre
Cdigo
Docente

Ing. Mauricio Galvez Legua

1. Desarrollar un programa que solicite un nmero entero mayor a cero y displaye en pantalla
todos los nmeros primos existentes hasta dicho nmero.
(4 puntos)
Solucin:
Para este problema, se debe tener en cuenta que el 1 no es considerado nmero primo.
import java.util.Scanner;
public class P01{
public static void main(String[] args){
int numero, primo, i,j;
Scanner tecla = new Scanner(System.in);
do{
System.out.print("Ingrese un nmero positivo mayor a cero: ");
numero = tecla.nextInt();
}while(numero<=0);
if (numero==1)
System.out.print("No hay nmeros primos");
else{
for(j=2;j<=numero; j++){
i=2;
primo=0;
while (primo==0 && i<j){
if (j%i==0)
primo=1;
i=i+1;
}
if (primo==0)
System.out.print(j+", ");
}
}
}
}

Ing. Mauricio Galvez Legua

UNIVERSIDAD NACIONAL INGENIERIA


FACULTAD DE INGENIERIA ELECTRICA Y ELECTRNICA
Curso: MA713Q Programacin 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 paramtricas 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 terico de dicha longitud que es igual a 8b.

Ing. Mauricio Galvez Legua

UNIVERSIDAD NACIONAL INGENIERIA


FACULTAD DE INGENIERIA ELECTRICA Y ELECTRNICA
Curso: MA713Q Programacin Digital

3. Elaborar un programa que calcule con 3 decimales de aproximacin, el tamao mximo 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 nmeros enteros mayor que cero).
(6 puntos)
El programa debe displayar:
Longitud mxima de la varilla.
Angulo al cual se produce los tres toques de la varilla con las paredes.

Solucin:
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);

Ing. Mauricio Galvez Legua

UNIVERSIDAD NACIONAL INGENIERIA


FACULTAD DE INGENIERIA ELECTRICA Y ELECTRNICA
Curso: MA713Q Programacin 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)<hmax){
hmax=h1+h2;
angulo=i;
}
}
System.out.println("La longitud mxima de la escalera es: " +
(double)Math.round(hmax*1000)/1000 + " y se da en el ngulo " + angulo);
}
}

Ing. Mauricio Galvez Legua

UNIVERSIDAD NACIONAL INGENIERIA


FACULTAD DE INGENIERIA ELECTRICA Y ELECTRNICA
Curso: MA713Q Programacin Digital

4. Calcular el rea de un astroide cuya ecuacin es: 23 +


23 = 23 El programa debe solicitar los valores de a
(entero mayor a cero) y el nmero de pasos (entero
mayor a cero).
Como una forma de verificar que su programa funciona
bien, junto con el resultado calculado, displaye el rea
terica del astroide.
(5 puntos)
3

= (8)2
Solucin:
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 nmero 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));
}
}

Ing. Mauricio Galvez Legua

Você também pode gostar