Professional Documents
Culture Documents
PROGRAMAS
Elabor:
Briones Salazar Diana Yadira
Garca Garay Jos de Jess
Martnez Mara de los Angeles
Puente Garca Raudel
Matehuala, S.L.P.
Junio 2011
Materia: Algoritmos y lenguajes de Programacin
Docente: Ing. Martn Luis Ledezma Hernndez
Carrera: Ingeniera Industrial
Grupo: Cuarto semestre A
Unidad 6: Estructuras de repeticin
Semestre: Enero-Junio 2011
PROBLEMA 1
Calcular el promedio de N nmeros enteros (X
1
+X
2
+X
3
+... X
n
)/n
Programa fuente
//Programa del promedio de una clase mediante la repeticion
//controlada por centinela.
import java.text.DecimalFormat; //clase para dar formato a los numeros
import javax.swing.JOptionPane;
public class Promedio
{
public static void main (String args[])
{
int total, contadorCalif, calificacion;
double promedio; //numero con punto decimal para el promedio
String cadenaCalif; //calificacion introducida por el usuario
// fase de inicializacion
total=0; contadorCalif=0;
//fase de procesamiento
// obtener la primera calificacion
cadenaCalif=JOptionPane.showInputDialog("Escriba calificacion como entero (0-100) -1
para salir:");
// convertir cadenaCalif en int
calificacion =Integer.parseInt(cadenaCalif);
// iterar hasta que el usuario introduzca el valor centinela
while (calificacion != -1)
{
total=total+calificacion;
contadorCalif=contadorCalif+1;
cadenaCalif=JOptionPane.showInputDialog("Escriba la calificacion como entero (0-100) -
1 para salir:");
//convertir cadena calif en int
calificacion=Integer.parseInt(cadenaCalif);
} // fin while
DecimalFormat dosDigitos=new DecimalFormat("0.00");
if (contadorCalif !=0)
{ // calcular el promedio de todas las calificaciones
promedio=(double) total/contadorCalif;
// mostrar el promedio
JOptionPane.showMessageDialog(null, "El promedio es " + dosDigitos.format(promedio),
"promedio de la clase", JOptionPane.INFORMATION_MESSAGE );
} //fin del if
else // si no se introducen calificaciones
JOptionPane.showMessageDialog(null, "No se introdujeron calificaciones",
"promedio de la clase", JOptionPane.INFORMATION_MESSAGE );
System.exit(0);
}
}
Resultados del programa
PROBLEMA 2
Calcular el factorial de un nmero N. (N!=1x2x3x4x5...x N)
Programa fuente
import javax.swing.JOptionPane;
public class factorial
{
public static void main(String args[])
{
String num;
int Fac,n,i,aux;
Fac=1;
n=0;
i=0;
num=JOptionPane.showInputDialog(" Escribir el nmero para calcularle el factorial: ");
n=Integer.parseInt(num);
if (n>=0)
{
if (n<2)
Fac = 1;
else
{
for(i=2; i<n+1; i++)
{
Fac=Fac*i;
}
}
JOptionPane.showMessageDialog (null, " El Factorial de "+ num +" es "+
Fac,"EJERCICIO 4.32", JOptionPane.PLAIN_MESSAGE);
System.exit(0);
}
else
JOptionPane.showMessageDialog (null, " No existe el factorial de nmeros negativos "+
Fac,"EJERCICIO 4.32", JOptionPane.PLAIN_MESSAGE);
}
}
Resultados del programa
PROBLEMA 3
Calcular los N nmeros de Fibonacci. ( 1,1,2,3,5,8,13,21,34...)
Programa fuente
import javax.swing.JOptionPane;
public class Fibonacci
{
public static void main(String[] args)
{
String entrada = JOptionPane.showInputDialog(" Escribe el nmero de ciclos mximo para
la sucesin de Fibonacci: ");
int limite = Integer.parseInt(entrada);
int n1 = 0;
int n2 = 1;
int n;
String resultado = " 1 ";
for(int x=0; x<=limite; x++)
{
n = n1 + n2;
resultado = resultado + n + " ";
n1 = n2;
n2 = n;
}
JOptionPane.showMessageDialog(null, resultado);
}
}
Resultados del programa
PROBLEMA 4
Identificar si un nmero N es un nmero primo (Nmeros primos = 2, 3, 5, 7, 11, 13, 17)
Programa fuente
import javax.swing.JOptionPane;
public class Primos
{
public static void main(String[] args)
{
String entrada = JOptionPane.showInputDialog(null, "Escribe un nmero: ");
int numero = Integer.parseInt(entrada);
for (int x=2; x<numero; x++)
{
if(numero % x == 0)
{
JOptionPane.showMessageDialog(null, "El nmero " + numero + " no es un nmero
primo");
System.exit(0);
}
}
JOptionPane.showMessageDialog(null, "El nmero " + numero + " es un nmero primo");
}
}
Resultados del programa
PROBLEMA DE EXAMEN
Calcular la suma de los nmeros impares comprendidos entre 1 y N. (Suma = 1+3+5++ N)
Programa fuente
import javax.swing.JOptionPane;
public class SumaImpares
{
public static void main(String[] args)
{
int n;
long sumatoria = 0;
String impares = JOptionPane.showInputDialog(null, "Introduzca un
nmero",JOptionPane.QUESTION_MESSAGE);
n = Integer.parseInt(impares);
for(int x=1; x<=n; x+=2)
{
sumatoria += x;
}
JOptionPane.showMessageDialog(null, "La suma de los impares comprendidos es: " +
sumatoria);
System.exit(0);
}
}
Resultados del programa