Ensayo de el pensamiento logico aplicado a la programacion
Programa 8
1. INSTITUTO TECNOLÓGICO DE CANCÚN
INGENIERÍA MECATRÓNICA
MATERIA:
PROGRAMACIÓN BÁSICA
PROFESORA:
MARÍA JACINTA MARTÍNEZ CASTILLO
“PROGRAMA 8”
AUTORES:
ALEJANDRO FIGUEROA ANDRÉS ALFONSO
CUA MAY JOEL DE LA CRUZ
MARTINEZ SOLIS ITZEL
CANCÚN QUINTANA ROO A 20 DE ABRIL DEL 2012
2. PLANTEAMIENTO DEL PROBLEMA
Escribe un programa que lea tres números día, mes y año que representanuna
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
ANÁLISIS DEL PROBLEMA
Se necesitan 3 valores enteros para calcular los días,meses y años
Donde los valores son:
Si mes<=2 Si mes>=3
mes mes+10
anno-1
mes-2
aannomod 100 annomod 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)
1
4. PRUEBA DE ESCRITORIO
1. ° nos pide el día, mes y año en número
2°nos dice el día ordinario obtenido.
Código de fuente
Importjavax.swing.*;
public class ejer {
public static void main(String[] args) {
intdia=Integer.parseInt(JOptionPane.showInputDialog(null,"Dia en numero"));
intmes=Integer.parseInt(JOptionPane.showInputDialog(null,"Mes en numero"));
int año=Integer.parseInt(JOptionPane.showInputDialog(null,"Año en numero"));
if (mes<=2)
{
mes=mes+10;
año=año-1;
}
else
{
mes=mes-2;
}
int a=año%100;
int b=año/100;
intdiaordinal=(700+((26*mes-2)/10)+dia+a+a/4+b/4-2*b)%7;
JOptionPane.showMessageDialog(null, "Dia ordinal obtenido"+diaordinal);
}
3