Escolar Documentos
Profissional Documentos
Cultura Documentos
EXAMEN PARCIAL
Nombre
Cdigo
Docente
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+", ");
}
}
}
}
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.
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);
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);
}
}
= (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));
}
}