1. Programa 2
a) Planteamiento del problema
Un número es un capicúa si su valor es el mismo tanto si es leído de
izquierda
a derecha como de derecha a izquierda. Por ejemplo: 35253 es un capicúa.
26547
no es un capicúa. Diseña un algoritmo que determine si un número
introducido es
un capicúa o no.
Ejemplo de números capicúas: 121, 333, 454, 676
Números no capicúas 345,678 ,234 ,890 ,256.
b) Análisis de datos (datos de: entrada / salida, condiciones y diccionario de
Datos).
Datos:
Número Introducido
Numero Invertido
Residuo
Condiciones:
Numero Introducido !=0
Residuo = Numero % 10
Numero = Numero /10
Numero Invertido = (Numero Invertido*10)+residuo
Numero Invertido= Numero Introducido
Diccionario de Datos:
Número Introducido = Número Introducido por el usuario
Numero Invertido = Sera el valor cuando se cumpla la condición de que el numero
introducido sea diferente de cero usando los algoritmos
Residuo = El Residuo del numero (introducido) entre 10, es necesario para poder
hacer los cálculos numero invertido.
2. c) Diseño de solución (Diagrama de flujo usando el programa DFD)
3. d) Prueba de escritorio.
Numero Introducido=525
Numero Introducido = Numero
Numero Introducido!=0 SI
Numero!=0 Mientras
Residuo = Numero%10: 5
Numero = Numero/10:52
Numero Invertido = Numero Invertido * 10 + Residuo:5
Residuo = Numero%10: 2
Numero = Numero/10:5
Numero Invertido = Numero Invertido * 10 + Residuo:52
Residuo = Numero%10: 5
Numero = Numero/10:0
Numero Invertido = Numero Invertido * 10 + Residuo:525
Número Invertido = Numero Introducido SI
525“Si es Capicua”
e) Programa fuente (codificación en java)
package capicua;
import javax.swing.*;
public class Capicua {
public static void main(String[] args) {
int numero, numeroInvertido=0, residuo, numeroIntroducido;
numeroIntroducido =
Integer.parseInt(JOptionPane.showInputDialog(null,"Escribe un valor"));
JOptionPane.showMessageDialog(null,"El numero que introduciste es
"+numeroIntroducido);
numero=numeroIntroducido;
while(numero!=0){
residuo=numero%10;
numero=numero/10;
numeroInvertido=numeroInvertido*10+residuo;
JOptionPane.showMessageDialog(null,numeroInvertido);
4. }
if (numeroInvertido==numeroIntroducido){
JOptionPane.showMessageDialog(null,numeroInvertido+"Si es capicua
");
}else {
JOptionPane.showMessageDialog(null,numeroIntroducido+" No es
capicua");
}
}
}
f) Depuración.- La forma de comprobar que su programa es funcional será
imprimiendo sus pantallas de salida, las cuales deberán estar previamente
diseñadas con presentación en su JOptionPane ver material de clases.
5. f) Conclusión de su práctica.
Utilizar el While
Identificar por medio de un algoritmo Matemático si un número es Capicúa o no
Construir un diagrama en el DFD
Crear un Progama con el Java Netbeans