SlideShare uma empresa Scribd logo
1 de 4
Baixar para ler offline
Ejercicio 8

Problema

8.- Escribe un programa que lea tres números día, mes y año que representan
una fecha (día, mes y año) y calcule el día de la semana correspondiente usando
la congruencia de Zeller:

diasem= (700 + (26mes - 2) DIV 10 + dia + a + a DIV 4 + b DIV 4 – 2b) MOD 7
Donde los valores son:
Si mes<=2 Si mes>=3
mes mes+10
anno-1
mes-2
a anno mod 100 anno mod 100
b anno div 100 anno div 100

El valor de la variable diaseman estará entre 0 y 6 (0 =domingo,1= lunes,
3=martes, 4=miércoles, 5=jueves, 6= viernes), imprima la fecha de entrada de
datos y sustituya el valor ordinal obtenido por el día en letras.

Análisis de datos

Se le pide al usuario que ingrese una fecha mediante un formato numérico, el
programa mediante la congruencia de Zeller arroja un valor numérico ordinal del
dia de la fecha otorgada.
Codificación

*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package dia.de.la.sem;
/**
 *
 * @author mike
 */
import javax.swing.*;
public class DiaDeLaSem {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here

      int dia=Integer.parseInt(JOptionPane.showInputDialog(null, "dia en numero"));
      int mes=Integer.parseInt(JOptionPane.showInputDialog(null, "mes en numero"));
      int anno=Integer.parseInt(JOptionPane.showInputDialog(null, "año en numero"));

      if (mes <= 2)
{
      mes = mes + 10;
      anno = anno - 1;
}
      else
{
      mes = mes - 2;
}
      int a= anno % 100;
      int b= anno / 100;
      int diaordinal =(700 +((26 * mes -2) / 10) + dia + a+ a/ 4 + b/ 4 - 2 * b) % 7;

      if(diaordinal==1)
         JOptionPane.showMessageDialog(null,"dia ordinal obtenido LUNES");
      if(diaordinal==2)
          JOptionPane.showMessageDialog(null,"dia ordinal obtenido MARTES");
      if(diaordinal==3)
          JOptionPane.showMessageDialog(null,"dia ordinal obtenido MIERCOLES");
      if(diaordinal==4)
      JOptionPane.showMessageDialog(null,"dia ordinal obtenido JUEVES");
      if(diaordinal==5)
          JOptionPane.showMessageDialog(null,"dia ordinal obtenido VIERNES");
      if(diaordinal==6)
          JOptionPane.showMessageDialog(null,"dia ordinal obtenido SABADO");
      if(diaordinal==7)
          JOptionPane.showMessageDialog(null,"dia ordinal obtenido Domingo");
}
}
Pantallas de ejecución
Calcula día de la semana con congruencia de Zeller

Mais conteúdo relacionado

Destaque

0.10 los números en ingles cardinales y ordinales
0.10   los números en ingles cardinales y ordinales0.10   los números en ingles cardinales y ordinales
0.10 los números en ingles cardinales y ordinalesAlberto Carranza Garcia
 
Learn Spanish with Fresh Spanish: Números cardinales del 0 al 99
Learn Spanish with Fresh Spanish: Números cardinales del 0 al 99Learn Spanish with Fresh Spanish: Números cardinales del 0 al 99
Learn Spanish with Fresh Spanish: Números cardinales del 0 al 99Fresh Spanish
 
Hoja de trabajo santillana observaciòn
Hoja de trabajo santillana observaciònHoja de trabajo santillana observaciòn
Hoja de trabajo santillana observaciònkeeeila__
 
Los numeros de ingles de 1 a 500
Los numeros de ingles de 1 a 500Los numeros de ingles de 1 a 500
Los numeros de ingles de 1 a 500Necropolis Hammer
 
1 en 1 a 200 en ingles
1 en 1 a 200 en ingles1 en 1 a 200 en ingles
1 en 1 a 200 en inglesJhon Luca
 
Numeros ingles-del-1-al-1000
Numeros ingles-del-1-al-1000Numeros ingles-del-1-al-1000
Numeros ingles-del-1-al-1000Oswaldo Chavaloc
 
Numeros romanos del 1 al 1000
Numeros romanos del 1 al 1000Numeros romanos del 1 al 1000
Numeros romanos del 1 al 1000mixlocon
 

Destaque (8)

0.10 los números en ingles cardinales y ordinales
0.10   los números en ingles cardinales y ordinales0.10   los números en ingles cardinales y ordinales
0.10 los números en ingles cardinales y ordinales
 
Learn Spanish with Fresh Spanish: Números cardinales del 0 al 99
Learn Spanish with Fresh Spanish: Números cardinales del 0 al 99Learn Spanish with Fresh Spanish: Números cardinales del 0 al 99
Learn Spanish with Fresh Spanish: Números cardinales del 0 al 99
 
Hoja de trabajo santillana observaciòn
Hoja de trabajo santillana observaciònHoja de trabajo santillana observaciòn
Hoja de trabajo santillana observaciòn
 
Los numeros de ingles de 1 a 500
Los numeros de ingles de 1 a 500Los numeros de ingles de 1 a 500
Los numeros de ingles de 1 a 500
 
Números en ingles del 1 al 100
Números en ingles del 1 al 100Números en ingles del 1 al 100
Números en ingles del 1 al 100
 
1 en 1 a 200 en ingles
1 en 1 a 200 en ingles1 en 1 a 200 en ingles
1 en 1 a 200 en ingles
 
Numeros ingles-del-1-al-1000
Numeros ingles-del-1-al-1000Numeros ingles-del-1-al-1000
Numeros ingles-del-1-al-1000
 
Numeros romanos del 1 al 1000
Numeros romanos del 1 al 1000Numeros romanos del 1 al 1000
Numeros romanos del 1 al 1000
 

Semelhante a Calcula día de la semana con congruencia de Zeller

Programa 8
Programa 8Programa 8
Programa 8Ansd
 
Propuesta de evaluación
Propuesta de evaluaciónPropuesta de evaluación
Propuesta de evaluaciónshaunps3
 
DiseñO De La Pagina Web 02
DiseñO De La Pagina Web 02DiseñO De La Pagina Web 02
DiseñO De La Pagina Web 02beto04
 
DiseñO De La Pagina Web 02
DiseñO De La Pagina Web 02DiseñO De La Pagina Web 02
DiseñO De La Pagina Web 02beto04
 
Desarrollo
DesarrolloDesarrollo
DesarrolloFRAY18
 

Semelhante a Calcula día de la semana con congruencia de Zeller (10)

Programa 8
Programa 8Programa 8
Programa 8
 
Algoritmos 222
Algoritmos 222Algoritmos 222
Algoritmos 222
 
Proyecto
ProyectoProyecto
Proyecto
 
Propuesta de evaluación
Propuesta de evaluaciónPropuesta de evaluación
Propuesta de evaluación
 
Ejercicios python
Ejercicios pythonEjercicios python
Ejercicios python
 
DiseñO De La Pagina Web 02
DiseñO De La Pagina Web 02DiseñO De La Pagina Web 02
DiseñO De La Pagina Web 02
 
DiseñO De La Pagina Web 02
DiseñO De La Pagina Web 02DiseñO De La Pagina Web 02
DiseñO De La Pagina Web 02
 
Matematicas CLEI III 1PARTE
Matematicas CLEI III 1PARTEMatematicas CLEI III 1PARTE
Matematicas CLEI III 1PARTE
 
Desarrollo
DesarrolloDesarrollo
Desarrollo
 
NUMEROS NATURALES OK.ppt
NUMEROS NATURALES OK.pptNUMEROS NATURALES OK.ppt
NUMEROS NATURALES OK.ppt
 

Mais de miguelcastromejia (12)

Ensayo aplicaciones apis
Ensayo aplicaciones apisEnsayo aplicaciones apis
Ensayo aplicaciones apis
 
Portadas
PortadasPortadas
Portadas
 
Casa
CasaCasa
Casa
 
Ejercicio 10
Ejercicio 10Ejercicio 10
Ejercicio 10
 
Ejercicio 6
Ejercicio 6Ejercicio 6
Ejercicio 6
 
Ejercicio 4
Ejercicio 4Ejercicio 4
Ejercicio 4
 
Ejercicio 5.
Ejercicio 5.Ejercicio 5.
Ejercicio 5.
 
Ejercicio 9
Ejercicio 9Ejercicio 9
Ejercicio 9
 
Ejercicio 5
Ejercicio 5Ejercicio 5
Ejercicio 5
 
Ejercicio 3
Ejercicio 3Ejercicio 3
Ejercicio 3
 
Ejercicio 1
Ejercicio 1Ejercicio 1
Ejercicio 1
 
Ejercicio 2
Ejercicio 2Ejercicio 2
Ejercicio 2
 

Calcula día de la semana con congruencia de Zeller

  • 1. Ejercicio 8 Problema 8.- Escribe un programa que lea tres números día, mes y año que representan una fecha (día, mes y año) y calcule el día de la semana correspondiente usando la congruencia de Zeller: diasem= (700 + (26mes - 2) DIV 10 + dia + a + a DIV 4 + b DIV 4 – 2b) MOD 7 Donde los valores son: Si mes<=2 Si mes>=3 mes mes+10 anno-1 mes-2 a anno mod 100 anno mod 100 b anno div 100 anno div 100 El valor de la variable diaseman estará entre 0 y 6 (0 =domingo,1= lunes, 3=martes, 4=miércoles, 5=jueves, 6= viernes), imprima la fecha de entrada de datos y sustituya el valor ordinal obtenido por el día en letras. Análisis de datos Se le pide al usuario que ingrese una fecha mediante un formato numérico, el programa mediante la congruencia de Zeller arroja un valor numérico ordinal del dia de la fecha otorgada.
  • 2. Codificación * * To change this template, choose Tools | Templates * and open the template in the editor. */ package dia.de.la.sem; /** * * @author mike */ import javax.swing.*; public class DiaDeLaSem { /** * @param args the command line arguments */ public static void main(String[] args) { // TODO code application logic here int dia=Integer.parseInt(JOptionPane.showInputDialog(null, "dia en numero")); int mes=Integer.parseInt(JOptionPane.showInputDialog(null, "mes en numero")); int anno=Integer.parseInt(JOptionPane.showInputDialog(null, "año en numero")); if (mes <= 2) { mes = mes + 10; anno = anno - 1; } else { mes = mes - 2; } int a= anno % 100; int b= anno / 100; int diaordinal =(700 +((26 * mes -2) / 10) + dia + a+ a/ 4 + b/ 4 - 2 * b) % 7; if(diaordinal==1) JOptionPane.showMessageDialog(null,"dia ordinal obtenido LUNES"); if(diaordinal==2) JOptionPane.showMessageDialog(null,"dia ordinal obtenido MARTES"); if(diaordinal==3) JOptionPane.showMessageDialog(null,"dia ordinal obtenido MIERCOLES"); if(diaordinal==4) JOptionPane.showMessageDialog(null,"dia ordinal obtenido JUEVES"); if(diaordinal==5) JOptionPane.showMessageDialog(null,"dia ordinal obtenido VIERNES"); if(diaordinal==6) JOptionPane.showMessageDialog(null,"dia ordinal obtenido SABADO"); if(diaordinal==7) JOptionPane.showMessageDialog(null,"dia ordinal obtenido Domingo"); } }