4
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.

Ejercicio 8

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: Ejercicio 8

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.

Page 2: Ejercicio 8

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"); } }

Page 3: Ejercicio 8

Pantallas de ejecución

Page 4: Ejercicio 8